You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

249 lines
6.1 KiB

5 years ago
// pages/user/order/sceneOrderInfo/index.js
import commonApi from "../../../../utils/https/common"
import QRCode from '../../../../utils/weapp-qrcode.js'
import util from "../../../../utils/util"
let app = getApp(),timer;
Page({
/**
* 页面的初始数据
*/
data: {
info:null,
orderState:app.globalData.orderState,
5 years ago
productState:app.globalData.productState,
5 years ago
product_model:null,
isRefund:false,
feeInfoFlag:false,
codeIndex:0,
codeImgs:[],
minute:"",
second:"",
id:null,
pay_methods:app.globalData.pay_methods
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
id:options.id
})
},
close:function(){
let _this = this,info = _this.data.info;
wx.showModal({
title:'提示',
content:"确定取消吗",
success:function(res){
if(res.confirm){
commonApi.user_post("order/close",{
order_id:info.order_id
}).then(res=>{
if(res.code==1){
wx.showToast({
title: '取消成功',
icon:'success'
})
info.state = "CLOSED";
info.order_product_list.map(item=>{
item.state='CLOSED'
})
_this.setData({
info:info
})
}
})
}
}
})
},
copy:function(e){
wx.setClipboardData({
data: e.currentTarget.dataset.num,
success: function (res) {
wx.showToast({
title: '复制成功',
icon:'success'
})
}
})
},
getCodeImg:function(){
let code = "111";
let that = this,sys =wx.getSystemInfoSync(),radio = sys.screenWidth / 750,qrcode=this.data.info.order_product_list[0].qrcode,codeImgs=[];
qrcode.map((item,index)=>{
new QRCode('damocode'+index,{
text: item.use_code,
width: 300 * radio,
height: 300 * radio,
padding: 12, // 生成二维码四周自动留边宽度,不传入默认为0
correctLevel: QRCode.CorrectLevel.L, // 二维码可辨识度
callback: (res) => {
codeImgs.push(res.path);
if(codeImgs.length==qrcode.length){
that.setData({
codeImgs:codeImgs
})
}
console.log(res)
}
})
})
},
prevCodeImg:function(){
let qrcode=this.data.info.order_product_list[0].qrcode,codeIndex = this.data.codeIndex;
if(codeIndex==0){
this.setData({
codeIndex:qrcode.length-1
})
}
else {
this.setData({
codeIndex:codeIndex-1
})
}
},
nextCodeImg:function(){
let qrcode=this.data.info.order_product_list[0].qrcode,codeIndex = this.data.codeIndex;
codeIndex = codeIndex + 1;
if(codeIndex==qrcode.length){
codeIndex = 0;
}
this.setData({
codeIndex:codeIndex
})
},
showFeeInfo:function(){
this.setData({
feeInfoFlag:!this.data.feeInfoFlag
})
},
refund:function(){
let _this = this,info = _this.data.info;
wx.showModal({
title:'提示',
content:"确定退款吗",
success:function(res){
if(res.confirm){
commonApi.user_post("order/refund",{
order_id:info.order_id
}).then(res=>{
if(res.code==1){
wx.showToast({
title: '取消成功',
icon:'success'
})
info.state = "WAIT_REFUND";
info.order_product_list.map(item=>{
item.state='WAIT_REFUND'
})
_this.setData({
info:info
})
}
})
}
}
})
},
// 查看苏康码
gotoSku:function(){
commonApi.user_post("pbservice/Ztfw/sukangCode").then(res=>{
console.log(res)
app.globalData.weburl = res.data.url;
wx.navigateTo({
url: '/pages/pbService/web/index'
})
return;
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
daojishi:function(time){
let now = new Date().getTime();
if(now>time){
clearTimeout(timer);
timer = null;
util.back();
return;
}
let times = time - now,minute = Math.floor(times / (60 * 1000)),second = Math.round((times - minute * 60 * 1000) / 1000);
this.setData({
minute:util.formatNumber(minute),
second:util.formatNumber(second)
})
timer = setTimeout(()=>{
this.daojishi(time);
},1000)
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
commonApi.user_post("order/query",{
order_id:this.data.id
}).then(res=>{
console.log(res)
if(res.data.create_time && res.data.auto_close_time && res.data.state=='UNPAID'){
let time = (new Date(res.data.create_time.replace(/-/g,'/')).getTime() + Number(res.data.auto_close_time) * 1000);
this.daojishi(time);
}
let state = "";
res.data.stateNums = {}
res.data.order_product_list.map(order=>{
if(res.data.stateNums[order.state]){
res.data.stateNums[order.state]++;
}
else {
res.data.stateNums[order.state] = 1;
}
order.consignee_info = order.consignee_info?JSON.parse(order.consignee_info):null;
state = state + order.state;
order.contacts_info = order.contacts_info?JSON.parse(order.contacts_info):[]
})
this.setData({
isRefund:state.indexOf("REFUND")!=-1,
info:res.data,
product_model:res.data.order_product_list[0].product_model
})
this.getCodeImg()
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
clearTimeout(timer)
timer = null;
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
}
})