Commit f52d1736 by 赵雅纹

Merge branch 'dev_7.1.0' into feature-zyw-sc

parents d65a0320 1b001430
......@@ -20,7 +20,6 @@ Component({
value: ''
}
},
/**
* 组件的初始数据
*/
......@@ -32,15 +31,14 @@ Component({
},
attached() {
this.getMiniCode()
// 获取小程序二维码 url
this.getMiniCode()
},
/**
* 组件的方法列表
*/
methods: {
//下载产品图片
getAvaterInfo: function () {
wx.showLoading({
......@@ -96,37 +94,42 @@ Component({
wxService.post(`/merchant/contentMobileTerminal/getAppletQrCode`, data).then(res => {
const { result, data } = res.data
if(result == 0){
this.setData({
// codeImg: data.codeUrl
codeImg: "https://hwimagecdn.ihotwind.cn/usr/201908/miniQrCode-f00c5051fef7479395efb193431762c4.jpg"
})
}
// if (result == 0) {
// const fsm = wx.getFileSystemManager();
// const FILE_BASE_NAME = 'tmp_base64src';
if (result == 0) {
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = 'tmp_base64src';
const base64src = function (data) {
return new Promise((resolve, reject) => {
// const base64src = function (data) {
// return new Promise((resolve, reject) => {
const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.png`;
const buffer = wx.base64ToArrayBuffer(data);
fsm.writeFile({
filePath,
data: buffer,
encoding: 'binary',
success() {
resolve(filePath);
},
fail() {
reject(new Error('ERROR_BASE64SRC_WRITE'));
},
});
});
};
base64src(data).then(res => {
console.log(res)
this.setData({
codeImg: res
})
})
// const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.png`;
// const buffer = wx.base64ToArrayBuffer(data);
// fsm.writeFile({
// filePath,
// data: buffer,
// encoding: 'binary',
// success() {
// resolve(filePath);
// },
// fail() {
// reject(new Error('ERROR_BASE64SRC_WRITE'));
// },
// });
// });
// };
// base64src(data).then(res => {
// console.log(res)
// this.setData({
// codeImg: res
// })
// })
}
// }
})
},
......@@ -185,7 +188,7 @@ Component({
ctx.setFillStyle('#fff');
ctx.fillRect(0, 0, rect.width, height);
//头像
// 图片
if (avaterSrc) {
if (imgInfo) {
var imgheght = parseFloat(imgInfo);
......@@ -196,21 +199,22 @@ Component({
ctx.setTextAlign('left');
}
//产品名称
// 品牌头像
if (that.data.userAvatar) {
console.log(imgheght)
ctx.drawImage(that.data.userAvatar, 12, 306, 25, 25);
// ctx.drawImage(that.data.userAvatar, 12, 306, 25, 25);
ctx.drawImage(that.data.userAvatar, 12, 290, 40, 40);
ctx.setFontSize(14);
ctx.setFillStyle('#d8d8d8');
ctx.setTextAlign('left');
// ctx.fillText(that.data.userAvatar, left - 15, imgheght + 110); //电话
}
// title
if (that.data.productDesc){
ctx.setFontSize(9);
ctx.setFontSize(12);
ctx.setFillStyle('#333333');
ctx.setTextAlign('left');
ctx.fillText(that.data.productDesc, 41, 312); //电话
ctx.fillText(that.data.productDesc, 61, 300);
}
......@@ -229,7 +233,7 @@ Component({
// 绘制二维码
if (codeSrc) {
ctx.drawImage(codeSrc, 170, 281, 50, 50)
ctx.drawImage(codeSrc, 190, 281, 61.5, 61.5)
ctx.setFontSize(10);
ctx.setFillStyle('#000');
// ctx.fillText("微信扫码或长按保存图片", left + 165, imgheght + 110);
......@@ -239,9 +243,6 @@ Component({
ctx.draw();
wx.hideLoading();
}, 1000)
},
textByteLength(text, num) { // text为传入的文本 num为单行显示的字节长度
......
......@@ -147,7 +147,7 @@
overflow: hidden;
}
.poste_content{
width: 410rpx;
width: 524rpx;
margin: auto;
overflow: hidden;
margin-top: 153rpx;
......
......@@ -25,8 +25,8 @@ wxService.page({
console.log('thtrolleySku2Bu', JSON.parse(trolleySku2Buy))
// 下单 && 计算优惠价
if(trolleySku2Buy.length){
this.getBill(trolleySku2Buy) // 下单
// this.calPreferentialPrice(trolleySku2Buy) // 计算优惠价
// this.getBill(trolleySku2Buy) // 下单
this.calPreferentialPrice(trolleySku2Buy) // 计算优惠价
}
},
// 下单
......
......@@ -3,6 +3,7 @@ const app = getApp()
const wxService = require('../../utils/wxService')
const utils = require('../../utils/util')
const envInfo = require('../../config/index').envInfo
import { Integer } from '../../utils/integerDigitalConvertion'
wxService.page({
/**
......@@ -50,6 +51,7 @@ wxService.page({
*/
onShow() {
this.getCategoryList()
console.log('--------',Integer.digit('611935532804608000',10,64) )
},
// 获取分类
......
......@@ -66,10 +66,10 @@
</scroll-view>
</view>
<view class="pro-number">
<text class="total-pro">共{{item.count}}件商品</text>
<text class="total-pro">共{{item.tradeVO.skuCount}}件商品</text>
<view class="total-price">
实付
<text class="price">¥{{item.amount}}</text>
<text class="price">¥{{item.tradeVO.payAmount}}</text>
</view>
</view>
</view>
......
// pages/refundDetail/refundDetail.js
Page({
const app = getApp()
const wxService = require('../../utils/wxService')
const utils = require('../../utils/util')
const envInfo = require('../../config/index').envInfo
wxService.page({
/**
* 页面的初始数据
*/
data: {
showApplyRefundModal:false,
id:''
id:'',
refundDetail: null
},
/**
......@@ -21,7 +27,6 @@ Page({
*/
onShow: function () {
const { id } = this.options
console.log('id', id)
if(id) {
this.setData({
id
......@@ -31,21 +36,21 @@ Page({
}
},
getRfDetail(id) {
// wx.showLoading({
// title: '加载中',
// mask: true
// })
// wxService.get(`/sale/trade/buyer/${id}`).then(res => {
// if (res) {
// const { result, data } = res.data
// if (result == 0) {
// wx.hideLoading()
// this.setData({
// detail: data
// })
// }
// }
// })
wx.showLoading({
title: '加载中',
mask: true
})
wxService.post(`/sale/refund/buyer/${id}`).then(res => {
if (res) {
const { result, data } = res.data
if (result == 0) {
wx.hideLoading()
this.setData({
refundDetail: data
})
}
}
})
},
copy(e){
wx.setClipboardData({
......
<!--pages/refundDetail/refundDetail.wxml-->
<view class="page-refund-detail">
<view class="header-wrap" style="background-image:url('/assets/imgs/7_1_0/rf_bgc.jpg')">
<!--<image class="header-bg" src="/assets/imgs/7_1_0/address-line.png"></image>-->
<view class="refund-status">
<view class="status">待审核</view>
<view class="desc">退款申请已经提交,等待商家处理哦~</view>
</view>
</view>
<view class="header-wrap" style="background-image:url('/assets/imgs/7_1_0/rf_bgc.jpg')">
<!--<image class="header-bg" src="/assets/imgs/7_1_0/address-line.png"></image>-->
<view class="refund-status">
<view class="status">待审核</view>
<view class="desc">退款申请已经提交,等待商家处理哦~</view>
</view>
</view>
<view class="logistics-wrap">
<view class="logistics-info">
<view class="logistics-item">
<text>物流公司</text>
<text class="company">xxxxxxx</text>
</view>
<view class="logistics-item">
<text>快递单号</text>
<text class="company">456575687686786</text>
</view>
<view class="write-logistics" bindtap="tapWriteLogis">
<button class="btn btn-primary btn-outline write-btn">填写物流信息</button>
</view>
</view>
</view>
<view class="logistics-wrap">
<view class="logistics-info">
<view class="logistics-item">
<text>物流公司</text>
<text class="company">xxxxxxx</text>
</view>
<view class="logistics-item">
<text>快递单号</text>
<text class="company">456575687686786</text>
</view>
<view class="write-logistics" bindtap="tapWriteLogis">
<button class="btn btn-primary btn-outline write-btn">填写物流信息</button>
</view>
</view>
</view>
<view class="pro-wrap">
<view class="pro-header">
<text class="choose-pro">选择商品</text>
<view class="pro-total-price">
退款总金额 <text class="total-price">¥306</text>
</view>
</view>
<view class="pro-list">
<image class="pro-img" src="/assets/imgs/7_1_0/address-line.png"></image>
<view class="pro-info">
<view class="pro-name">商品名称商品名称商品名称商品名称商品名称商品名称商品名称商品名称商品名称商品名</view>
<view class="pro-desc">
规格
</view>
<view class="pro-price">
<text class="price">¥258</text>
<text class="number">x 1</text>
</view>
</view>
</view>
<view class="pro-wrap">
<view class="pro-header">
<text class="choose-pro">选择商品</text>
<view class="pro-total-price">
退款总金额
<text class="total-price">¥{{refundDetail.amount}}</text>
</view>
</view>
<block wx:for="{{refundDetail.tradeVO.skuVOList}}" wx:for-item="item" wx:key="{{item}}">
<view class="pro-list">
<image class="pro-img" src="{{item.mainImgUrl}}" />
<view class="pro-info">
<view class="pro-name">{{item.productName}}</view>
<view class="pro-desc">
规格 {{item.skuSpec}}
</view>
<view class="pro-price">
<text class="price">¥{{item.price}}</text>
<text class="number">x {{item.count}}</text>
</view>
</view>
</view>
</block>
</view>
<view class="pro-list">
<image class="pro-img" src="/assets/imgs/7_1_0/address-line.png"></image>
<view class="pro-info">
<view class="pro-name">商品名称商品名称商品名称商品名称商品名称商品名称商品名称商品名称商品名称商品名</view>
<view class="pro-desc">
规格
</view>
<view class="pro-price">
<text class="price">¥258</text>
<text class="number">x 1</text>
</view>
</view>
</view>
</view>
<view class="refund-info">
<view class="refund-item">
<text class="refund-label">退款原因</text>
<text class="refund-desc">{{refundDetail.reason}}</text>
</view>
<view class="refund-item">
<text class="refund-label">退款时间</text>
<text class="refund-desc">{{refundDetail.createTime}}</text>
</view>
<view class="refund-item">
<text class="refund-label">退单编号</text>
<text class="refund-desc">{{refundDetail.tradeId}}</text>
</view>
<view class="refund-item">
<text class="refund-label">订单编号</text>
<text class="refund-desc">{{refundDetail.id}}</text>
</view>
<view class="refund-item">
<text class="refund-label">寄回信息</text>
<text class="refund-desc" selectable="true">物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因</text>
<view class="copy" bindtap="copy" data-content="物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因">复制</view>
</view>
<view class="refund-item">
<text class="refund-label">退货凭证</text>
<view class="refund-certificate">
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png" />
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png" />
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png" />
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png" />
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png" />
</view>
</view>
</view>
<view class="refund-info">
<view class="refund-item">
<text class="refund-label">退款原因</text>
<text class="refund-desc">物流原因</text>
</view>
<view class="refund-item">
<text class="refund-label">退款时间</text>
<text class="refund-desc">2019</text>
</view>
<view class="refund-item">
<text class="refund-label">退单编号</text>
<text class="refund-desc">物流原因</text>
</view>
<view class="refund-item">
<text class="refund-label">订单编号</text>
<text class="refund-desc">物流原因</text>
</view>
<view class="refund-item">
<text class="refund-label">寄回信息</text>
<text class="refund-desc" selectable="true">物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因</text>
<view class="copy" bindtap="copy" data-content="物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因物流原因">复制</view>
</view>
<view class="refund-item">
<text class="refund-label">退货凭证</text>
<view class="refund-certificate">
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png"></image>
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png"></image>
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png"></image>
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png"></image>
</view>
<view class="refund-img">
<image src="/assets/imgs/7_1_0/address-line.png"></image>
</view>
</view>
</view>
</view>
<view class="cancel">
<button class="btn btn-primary btn-lg">撤销退款</button>
</view>
</view>
<view class="cancel">
<button class="btn btn-primary btn-lg">撤销退款</button>
</view>
</view>
<apply-refund show="{{showApplyRefundModal}}"/>
<apply-refund show="{{showApplyRefundModal}}" />
......@@ -39,7 +39,7 @@
"list": []
},
"miniprogram": {
"current": 24,
"current": 23,
"list": [
{
"id": -1,
......@@ -189,10 +189,10 @@
"scene": null
},
{
"id": -1,
"id": 23,
"name": "退单详情",
"pathName": "pages/refundDetail/refundDetail",
"query": "",
"query": "id=614542180811411456",
"scene": null
},
{
......
// 10进制 64进制互转
var Integer = Integer || {};
(function () {
/**
* 进制字符串
*/
var scaleChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz()";
/**
* 向前补零 "1",5 -> "00001"
* @param {String} n 整数字符串
* @param {Number} len 长度
* @return {String} 返回补零后的字符串
*/
function fullZero(n, len) {
return new Array(len - n.length + 1).join("0") + n;
}
/**
* 清理整数前面无效的零 "000000001" -> "1"
* @param {String} n 整数字符串
* @return {String} 返回格式化后的整数字符串
*/
function format(n) {
return n.replace(/^0+(.+)$/, "$1");
}
/**
* 比较两个整数的大小 "1","0" -> +1
* @param {String} a
* @param {String} b
* @return {Number} a>b返回+1,a==b返回0,a<b返回-1
*/
function compare(a, b) {
var i = Math.max(a.length, b.length), ta, tb;
a = fullZero(a, i);
b = fullZero(b, i);
for (i = 0; i < a.length; i++) {
ta = scaleChars.indexOf(a.charAt(i));
tb = scaleChars.indexOf(b.charAt(i));
if (ta < tb) return -1;
if (ta > tb) return +1;
}
return 0;
}
//console.log(compare("01", "1"));
//console.log(compare("0a1", "ab1"));
/**
* 无限进制的加法
* @param {String} a 整数1
* @param {String} b 整数2
* @param {Number} scale 进制 2-64
* @return {String} 返回两个数的和
*/
function add(a, b, scale) {
if (scale < 2 || scale > 64) return;
a = format(a);
b = format(b);
var i = Math.max(a.length, b.length), t = 0, result = [];
a = fullZero(a, i);
b = fullZero(b, i);
while (i--) {
t += scaleChars.indexOf(a.charAt(i));
t += scaleChars.indexOf(b.charAt(i));
result.unshift(scaleChars.charAt(t % scale));
t = t / scale;
}
if (t) result.unshift(scaleChars.charAt(t % scale));
return format(result.join(""));
}
//console.log(add("19", "1234", 10));
/**
* 无限位数乘法函数,单个数乘无限进制整数
* @param {String} n 整数
* @param {Number} b 单个数
* @param {Number} scale 进制 2-64
* @return {String} 返回n和b的乘积
*/
function byteMult(n, b, scale) {
//if (scale < 2 || scale > 64) return;
var result = [], t = 0, i = n.length;
while (i--) {
t = scaleChars.indexOf(n.charAt(i)) * b + t;
result.unshift(scaleChars.charAt(t % scale));
t = t / scale;
}
if (t) result.unshift(scaleChars.charAt(t % scale));
return result.join("");
}
//console.log(byteMult("555", 12, 10));
//console.log(byteMult("25", 8, 10));
/**
* 无限整数乘法
* @param {String} a 整数1
* @param {String} b 整数2
* @param {Number} scale 进制 2-64
* @return {String} 返回两个数的乘积
*/
function mult(a, b, scale) {
if (scale < 2 || scale > 64) return;
a = format(a);
b = format(b);
var t = "", result = "", i = b.length;
while (i--) {
result = add(result, byteMult(a, scaleChars.indexOf(b.charAt(i)), scale) + t, scale);
t += "0";
}
return result;
}
//console.log(mult("555", "12", 10)); // 6660
//console.log(mult("25", "8", 10)); // 200
/**
* 无限整数的次方
* @param {String} base 指数
* @param {String} exponent 幂数
* @param {Number} scale 进制 2-64
* @return {String} 返回base的exponent次方
*/
function power(base, exponent, scale) {
if (scale < 2 || scale > 64 || exponent < 0) return;
base = format(base);
var result = "1", i = exponent;
while (i--) {
result = mult(result, base, scale);
}
return result;
}
//console.log(power("2", 10, 10)); // 1024
/**
* 将一个字符转换为指定进制
* @param {String} c 单个字符
* @param {Number} from 来源进制 2-64
* @param {Number} to 目标进制 2-64
* @return {String} 返回转换后的数字
*/
function charDigit(c, from, to) {
//if (from == to || from < 2 || from > 64 || to < 2 || to > 64 || c == "0") return c;
var result = "0", t = "0";
while (compare(t, c) < 0) {
result = add(result, "1", to);
t = add(t, "1", from);
}
return result;
}
//console.log(charDigit("7", 10, 2)); // 111
/**
* 进制间的转换
* @param {String} n 整数
* @param {Number} from 来源进制 2-64
* @param {Number} to 目标进制 2-64
* @return {String} 返回转换后的数字
*/
function digit(n, from, to) {
if (from == to || from < 2 || from > 64 || to < 2 || to > 64) return n;
n = format(n);
if (n == "0") return n;
var result = "", base = "1", t = "1", m = scaleChars.charAt(from - 1), l = n.length, i;
while (compare(t, m) <= 0) {
base = add(base, "1", to);
t = add(t, "1", from);
}
for (i = 0; i < l; i++) {
result = add(result, mult(
charDigit(
n.charAt(l - i - 1), from, to
), power(base, i, to), to),
to);
}
return result;
}
//console.log(digit("1024", 10, 2)); // 10000000000
//console.log(digit("7", 10, 2)); // 111
//console.log(digit("askdjfas91231as", 64, 7)); // 43425343430315560320062336416102
//console.log(digit(digit("askdjfas91231as", 64, 7), 7, 64)); // askdjfas91231as
// 公开接口
Integer.add = add;
Integer.mult = mult;
Integer.power = power;
Integer.digit = digit;
})();
// 使用方式
// Integer.digit('611935532804608000',10,64) // 返回结果 X(21)wGX00 10进制转64
//Integer.digit('X(21)wGX00',64,10)
// export default Integer;
module.exports = {
Integer
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment