168 lines
4.2 KiB
JavaScript
168 lines
4.2 KiB
JavaScript
var app = getApp();
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
orders: '',
|
|
order_goods: [],
|
|
priceArr: [],
|
|
orderGoodsIdArr: [],
|
|
goodsTot: 0,
|
|
changePrice: 0
|
|
},
|
|
id: 0,
|
|
cansub: true,
|
|
handlerGobackClick(delta) {
|
|
const pages = getCurrentPages();
|
|
if (pages.length >= 2) {
|
|
wx.navigateBack({
|
|
delta: delta
|
|
});
|
|
} else {
|
|
wx.switchTab({
|
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
|
});
|
|
}
|
|
},
|
|
handlerGohomeClick(url) {
|
|
wx.switchTab({
|
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
|
});
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
let id = options.order_id || '';
|
|
if(!id) {
|
|
app.util.message('参数错误', '/eaterplanet_ecommerce/moduleB/supply/orderManage', 'error');
|
|
return;
|
|
}
|
|
this.id = id;
|
|
this.getData(id);
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
getData: function(order_id) {
|
|
wx.showLoading();
|
|
let token = wx.getStorageSync('token');
|
|
app.util.ProReq('order.order_change', {token, order_id, is_supply: 1}).then(res=>{
|
|
let orders = res.orders;
|
|
let order_goods = res.order_goods;
|
|
let priceArr = [];
|
|
let orderGoodsIdArr = [];
|
|
order_goods.forEach(item=>{
|
|
orderGoodsIdArr.push(item.order_goods_id);
|
|
priceArr.push(0);
|
|
})
|
|
this.calcGoodsPrice(priceArr, orders);
|
|
this.setData({
|
|
orders,
|
|
order_goods,
|
|
priceArr,
|
|
orderGoodsIdArr
|
|
})
|
|
}).catch(err=>{
|
|
app.util.message(err.msg, 'switchTo:/eaterplanet_ecommerce/pages/user/me', 'error');
|
|
})
|
|
},
|
|
|
|
reduceIpt: function(e) {
|
|
let type = e.currentTarget.dataset.type;
|
|
let idx = e.currentTarget.dataset.idx;
|
|
let { priceArr, order_goods } = this.data;
|
|
let goodItem = order_goods[idx];
|
|
let curPrice = priceArr[idx]*1;
|
|
let max = goodItem.max_total*1;
|
|
let min = -max;
|
|
if(type=='add') {
|
|
priceArr[idx] = (curPrice+1).toFixed(2);
|
|
} else {
|
|
if((curPrice-1)<min) {
|
|
wx.showToast({
|
|
title: "改价后的商品实付价格不能低于0.1元",
|
|
icon: "none"
|
|
})
|
|
priceArr[idx] = (min + 0.1).toFixed(2);
|
|
} else {
|
|
priceArr[idx] = (curPrice-1).toFixed(2);
|
|
}
|
|
}
|
|
this.calcGoodsPrice(priceArr);
|
|
this.setData({ priceArr })
|
|
},
|
|
|
|
changeNumber: function (e) {
|
|
let idx = e.currentTarget.dataset.idx;
|
|
let val = parseFloat(e.detail.value);
|
|
if(!val) val = 0;
|
|
let { priceArr, order_goods } = this.data;
|
|
let goodItem = order_goods[idx];
|
|
let max = goodItem.max_total*1;
|
|
let min = -max;
|
|
console.log(val)
|
|
if(val<min) {
|
|
wx.showToast({
|
|
title: "改价后的商品实付价格不能低于0.1元",
|
|
icon: "none"
|
|
})
|
|
priceArr[idx] = (min + 0.1).toFixed(2);
|
|
} else {
|
|
priceArr[idx] = val.toFixed(2);
|
|
}
|
|
this.calcGoodsPrice(priceArr);
|
|
this.setData({ priceArr })
|
|
},
|
|
|
|
calcGoodsPrice: function(priceArr, orders) {
|
|
if(!orders) orders = this.data.orders;
|
|
let old_price = orders.old_price*1;
|
|
let buyer_total = orders.buyer_total*1;
|
|
let changePrice = 0;
|
|
priceArr.forEach(item=>{
|
|
changePrice += item*1;
|
|
})
|
|
console.log(old_price)
|
|
buyer_total += changePrice;
|
|
changePrice += orders.changeprice*1;
|
|
this.setData({
|
|
goodsTot: (old_price+changePrice).toFixed(2),
|
|
changePrice: changePrice.toFixed(2),
|
|
buyer_total: buyer_total.toFixed(2)
|
|
})
|
|
},
|
|
|
|
subChange: function() {
|
|
if(!this.cansub) return;
|
|
this.cansub = false;
|
|
wx.showLoading();
|
|
let token = wx.getStorageSync('token');
|
|
let order_id = this.id;
|
|
let { priceArr, orderGoodsIdArr } = this.data;
|
|
let order_goods_id = orderGoodsIdArr.join(',');
|
|
let change_price = priceArr.join(',');
|
|
app.util.ProReq('order.order_changeprice', {token, order_id, is_supply: 1, order_goods_id,change_price}).then(res=>{
|
|
wx.showToast({
|
|
title: "改价成功",
|
|
icon: "none"
|
|
})
|
|
setTimeout(() => {
|
|
this.getData(order_id);
|
|
this.cansub = true;
|
|
}, 1500);
|
|
}).catch(err=>{
|
|
this.cansub = true;
|
|
app.util.message(err.msg, '', 'error');
|
|
})
|
|
}
|
|
})
|