const _Http = getApp().globalData.http, file = require("../../../../utils/FormatTheAttachment"); let queue = [], downCounter = null; Component({ properties: { disabled: Boolean, //禁用 }, data: { sa_orderid: 0, "content": { nocache: true, "pageNumber": 1, pageTotal: 1, total: null } }, lifetimes: { detached: function () { if (downCounter) { clearTimeout(downCounter); this.changeItem(queue) } }, }, methods: { /* 获取产品列表 */ getList(id, init) { let content = this.data.content; content.sa_orderid = id; if (init) content.pageNumber = 1; _Http.basic({ "id": "20221109093902", content }).then(res => { console.log("订货清单列表", res) if (res.msg != '成功') return wx.showToast({ title: res.msg, icon: "none" }) res.data = res.data.map(value => { if (value.attinfos.length != 0) { value.attinfos = file.fileList(value.attinfos) let image = value.attinfos.find(v => v.fileType == "image"); value.cover = image ? image.cover : ""; } return value; }) let page = getCurrentPages().find(v => v.__route__ == 'packageA/orderForm/detail').data.detail; let base = { sa_orderid: page.sa_orderid, sys_enterpriseid: page.sys_enterpriseid, sa_contractid: page.sa_contractid, type: page.type, }; this.setData({ list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data), "content.pageNumber": res.pageNumber + 1, "content.pageSize": res.pageSize, "content.pageTotal": res.pageTotal, "content.total": res.total, sa_orderid: id, base }) }) }, /* 统一交期 */ dateChange(e) { let that = this; wx.showModal({ title: '提示', content: `是否确定将当前产品列表交期统一设置为:${e.detail.value}`, complete: (res) => { if (res.confirm) _Http.basic({ "id": 20230104143802, "content": { "sa_orderid": that.data.sa_orderid, "needdate": e.detail.value } }).then(res => { console.log('统一设置交期', res) wx.showToast({ title: res.msg == '成功' ? '设置成功' : res.msg, icon: "none" }) if (res.msg == '成功') that.setData({ list: that.data.list.map(v => { v.needdate = e.detail.value; return v }) }) }) } }) }, /* 修改 */ changeProduct({ detail }) { let obj = detail, index = this.data.list.findIndex(v => v.itemid == detail.itemid), data = this.data.list[index], calculatePrice = data.qty != obj.qty; if (data.qty == obj.qty && data.remarks == obj.remarks && data.needdate == obj.needdate) return; _Http.basic({ "id": 20221109093602, "content": { ...this.data.base, "items": [detail] } }).then(res => { console.log("产品修改", res) if (res.msg != '成功') { wx.showToast({ title: res.msg, icon: "none" }); obj = data; }; data = { ...data, ...obj }; if (res.msg == '成功' && calculatePrice) { let page = getCurrentPages()[getCurrentPages().length - 1]; let amount = page.data.detail.amount - data.amount; data.amount = ((data.qty - 0) * (data.price - 0)).toFixed(2); amount = amount + (data.amount - 0); page.setData({ "detail.amount": amount }) } this.setData({ [`list[${index}]`]: data }) }) }, /* 删除 */ deleteItem({ detail }) { let that = this; wx.showModal({ title: '提示', content: `是否确认删除“${detail.itemname}”?`, complete: (res) => { if (res.confirm) _Http.basic({ "id": 20221108152102, "content": { "sa_orderids": [ detail.sa_orderid ], "deletereason": "" //删除原因,可选 }, "accesstoken": "bde1f111b04ad5fbd8a4b0803e0d6df6" }).then(s => { if (s.msg != '成功') return wx.showToast({ title: res.msg, icon: "none" }); that.setData({ list: that.data.list.filter(v => v.itemid != detail.itemid) }) }) } }) }, /* 去添加产品 */ addProduct() { wx.navigateTo({ url: `/select/product/index?params=${JSON.stringify({ "id": 20221109153502, "content": { nocache:true, "sa_orderid": this.data.sa_orderid, //订单ID "pageNumber": 1, "pageTotal": 1, "total": 0, "pageSize": 20, "where": { "condition": "" } } })}` }); getApp().globalData.handleSelect = this.handleSelect.bind(this); }, /* 处理新增产品 */ handleSelect(detail) { let that = this; wx.showModal({ title: '提示', content: `是否确认添加${detail.result.length}件商品?`, complete: (res) => { if (res.confirm) _Http.basic({ "id": 20221109093602, "content": { ...that.data.base, "items": detail.list.map(v => { return { sa_orderitemsid: 0, "itemid": v.itemid, //商品ID "qty": 1, //数量 } }) } }).then(s => { console.log('新增产品', s) wx.showToast({ title: s.msg == '成功' ? '添加成功' : s.msg, icon: "none" }); if (s.msg == '成功') setTimeout(() => { that.getList(that.data.sa_orderid, true); wx.navigateBack(); }, 300) }) } }); } } })