Browse Source

促销活动添加特征码

xiaohaizhao 1 year ago
parent
commit
39fa732bf7

+ 1 - 0
packageA/activity/detail.js

@@ -200,6 +200,7 @@ Page({
 							"items": list.map(v => {
 								return {
 									"sa_orderitemsid": 0,
+									"sa_promotion_itemsid": v.sa_promotion_itemsid,
 									"itemid": v.itemid,
 									"qty": v.qty,
 									price: v.price

+ 179 - 179
packageA/activity/selectProduct/index.js

@@ -1,184 +1,184 @@
 import currency from "../../../utils/currency";
 const _Http = getApp().globalData.http,
-  file = require("../../../utils/FormatTheAttachment");
+	file = require("../../../utils/FormatTheAttachment");
 Page({
-  data: {
-    loading: true,
-    params: {}, //请求体
-    result: [], //返回结果
-    idname: "itemid", //idkey
-    showName: "itemname",
-    newPrice: "price",
-    oldPrice: "oldprice",
-  },
-  onLoad(options) {
-    if (options.params) {
-      let params = JSON.parse(options.params);
-      if (!params.content.pageNumber || !params.content.pageTotal) {
-        params.content.pageNumber = 1;
-        params.content.pageTotal = 1;
-      }
-      this.setData({
-        params,
-        butText: options.butText || '生成订单'
-      });
-    };
-    this.setData({
-      idname: options.idname || this.data.idname
-    });
-    this.getList()
-  },
-  getList(init = false) {
-    //init 用于初始化分页
-    if (init.detail != undefined) init = init.detail;
-    let params = this.data.params;
-    if (init) params.content.pageNumber = 1
-    if (params.content.pageNumber > params.content.pageTotal) return;
-    _Http.basic(params).then(res => {
-      console.log("选择产品列表", res)
-      this.selectComponent('#ListBox').RefreshToComplete();
-      if (res.msg != '成功') return wx.showToast({
-        title: res.msg,
-        icon: "none"
-      })
-      const CNY = num => currency(num, {
-        symbol: "¥",
-        precision: 2
-      }).format();
-      let newPrice = this.data.newPrice,
-        oldPrice = this.data.oldPrice;
-      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 : "";
-        }
-        if (value.islimit == 0) value.groupqty = 0;
-        if (newPrice) value.newPrice = CNY(value[newPrice] || 0);
-        if (oldPrice) value.oldPrice = CNY(value[oldPrice] || 0);
-        //value.orderminqty = value.packageqty || value.orderminqty; 起订量优先取包装数量
-        if (!value.saledqty) value.saledqty = 0;
-        value.maxQty = value.groupqty == 0 ? "" : value.groupqty - value.saledqty; //有限购 设置最高可订购数量
-        value.qty = value.orderminqty;
-        return value;
-      })
-      this.setData({
-        'params.content.pageNumber': res.pageNumber + 1,
-        'params.content.pageTotal': res.pageTotal,
-        'params.content.total': res.total,
-        list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
-        loading: false
-      })
-    })
-  },
-  /* 选中 */
-  changeResult(e) {
-    if (e.target.dataset.iscatch) return;
-    let {
-      id
-    } = e.currentTarget.dataset, result = this.data.result;
-    result.some(v => v == id) ? result = result.filter(v => v != id) : result.push(id)
-    this.setData({
-      result
-    });
-  },
-  /* 提交 */
-  submit() {
-    let result = this.data.result,
-      obj = {
-        result,
-        list: result.map(v => this.data.list.find(value => value[this.data.idname] == v)),
-        value: [result.map(v => {
-          let data = this.data.list.find(value => value[this.data.idname] == v);
-          return data ? data[this.data.showName] : ""
-        }), result]
-      }
-    getApp().globalData.handleSelect && getApp().globalData.handleSelect(obj)
-  },
-  /* 预览图片 */
-  viewImage(e) {
-    const {
-      file
-    } = e.currentTarget.dataset;
-    if (file.length) wx.previewMedia({
-      sources: file.filter(value => ['image', 'vadio'].includes(value.fileType)).map(v => {
-        return {
-          url: v.url,
-          type: v.fileType
-        }
-      }),
-      current: 0,
-      showmenu: true
-    })
-  },
-  /* 开始搜索 */
-  startSearch({
-    detail
-  }) {
-    let condition = this.data.content ? this.data.content.where.condition : this.data.params.content.where.condition;
-    if (detail == condition) return;
-    this.setData({
-      'content.where.condition': detail,
-      'params.content.where.condition': detail
-    });
-    this.getList(true);
-  },
-  /* 取消搜索 */
-  onClear() {
-    this.setData({
-      'content.where.condition': "",
-      'params.content.where.condition': ""
-    });
-    this.getList(true);
-  },
-  onReady() {
-    this.selectComponent("#ListBox").setHeight(".search", this);
-  },
-  /* 步进器输入框失去焦点 */
-  inputBlur(e) {
-    const {
-      index
-    } = e.currentTarget.dataset;
-    let item = this.data.list[index];
-    let qty = 0;
-    if (item.orderminqty > e.detail.value) {
-      wx.showToast({
-        title: '输入数量低于最低起订量!',
-        icon: "none"
-      })
-      qty = item.orderminqty;
-    } else if (item.orderminqty < e.detail.value) {
-      var currencyRounding = value => currency(value, {
-        increment: item.orderaddqty
-      });
-      qty = currency(currencyRounding(currency(e.detail.value).subtract(item.orderminqty)).format()).add(item.orderminqty).value;
+	data: {
+		loading: true,
+		params: {}, //请求体
+		result: [], //返回结果
+		idname: "sa_promotion_itemsid", //idkey
+		showName: "itemname",
+		newPrice: "price",
+		oldPrice: "oldprice",
+	},
+	onLoad(options) {
+		if (options.params) {
+			let params = JSON.parse(options.params);
+			if (!params.content.pageNumber || !params.content.pageTotal) {
+				params.content.pageNumber = 1;
+				params.content.pageTotal = 1;
+			}
+			this.setData({
+				params,
+				butText: options.butText || '生成订单'
+			});
+		};
+		this.setData({
+			idname: options.idname || this.data.idname
+		});
+		this.getList()
+	},
+	getList(init = false) {
+		//init 用于初始化分页
+		if (init.detail != undefined) init = init.detail;
+		let params = this.data.params;
+		if (init) params.content.pageNumber = 1
+		if (params.content.pageNumber > params.content.pageTotal) return;
+		_Http.basic(params).then(res => {
+			console.log("选择产品列表", res)
+			this.selectComponent('#ListBox').RefreshToComplete();
+			if (res.msg != '成功') return wx.showToast({
+				title: res.msg,
+				icon: "none"
+			})
+			const CNY = num => currency(num, {
+				symbol: "¥",
+				precision: 2
+			}).format();
+			let newPrice = this.data.newPrice,
+				oldPrice = this.data.oldPrice;
+			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 : "";
+				}
+				if (value.islimit == 0) value.groupqty = 0;
+				if (newPrice) value.newPrice = CNY(value[newPrice] || 0);
+				if (oldPrice) value.oldPrice = CNY(value[oldPrice] || 0);
+				//value.orderminqty = value.packageqty || value.orderminqty; 起订量优先取包装数量
+				if (!value.saledqty) value.saledqty = 0;
+				value.maxQty = value.groupqty == 0 ? "" : value.groupqty - value.saledqty; //有限购 设置最高可订购数量
+				value.qty = value.orderminqty;
+				return value;
+			})
+			this.setData({
+				'params.content.pageNumber': res.pageNumber + 1,
+				'params.content.pageTotal': res.pageTotal,
+				'params.content.total': res.total,
+				list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
+				loading: false
+			})
+		})
+	},
+	/* 选中 */
+	changeResult(e) {
+		if (e.target.dataset.iscatch) return;
+		let {
+			id
+		} = e.currentTarget.dataset, result = this.data.result;
+		result.some(v => v == id) ? result = result.filter(v => v != id) : result.push(id)
+		this.setData({
+			result
+		});
+	},
+	/* 提交 */
+	submit() {
+		let result = this.data.result,
+			obj = {
+				result,
+				list: result.map(v => this.data.list.find(value => value[this.data.idname] == v)),
+				value: [result.map(v => {
+					let data = this.data.list.find(value => value[this.data.idname] == v);
+					return data ? data[this.data.showName] : ""
+				}), result]
+			}
+		getApp().globalData.handleSelect && getApp().globalData.handleSelect(obj)
+	},
+	/* 预览图片 */
+	viewImage(e) {
+		const {
+			file
+		} = e.currentTarget.dataset;
+		if (file.length) wx.previewMedia({
+			sources: file.filter(value => ['image', 'vadio'].includes(value.fileType)).map(v => {
+				return {
+					url: v.url,
+					type: v.fileType
+				}
+			}),
+			current: 0,
+			showmenu: true
+		})
+	},
+	/* 开始搜索 */
+	startSearch({
+		detail
+	}) {
+		let condition = this.data.content ? this.data.content.where.condition : this.data.params.content.where.condition;
+		if (detail == condition) return;
+		this.setData({
+			'content.where.condition': detail,
+			'params.content.where.condition': detail
+		});
+		this.getList(true);
+	},
+	/* 取消搜索 */
+	onClear() {
+		this.setData({
+			'content.where.condition': "",
+			'params.content.where.condition': ""
+		});
+		this.getList(true);
+	},
+	onReady() {
+		this.selectComponent("#ListBox").setHeight(".search", this);
+	},
+	/* 步进器输入框失去焦点 */
+	inputBlur(e) {
+		const {
+			index
+		} = e.currentTarget.dataset;
+		let item = this.data.list[index];
+		let qty = 0;
+		if (item.orderminqty > e.detail.value) {
+			wx.showToast({
+				title: '输入数量低于最低起订量!',
+				icon: "none"
+			})
+			qty = item.orderminqty;
+		} else if (item.orderminqty < e.detail.value) {
+			var currencyRounding = value => currency(value, {
+				increment: item.orderaddqty
+			});
+			qty = currency(currencyRounding(currency(e.detail.value).subtract(item.orderminqty)).format()).add(item.orderminqty).value;
 
-    } else {
-      qty = e.detail.value;
-    }
-    this.setData({
-      [`list[${index}].qty`]: 0
-    });
-    this.setData({
-      [`list[${index}].qty`]: qty
-    });
-  },
-  stepperChange(e) {
-    const {
-      index
-    } = e.currentTarget.dataset;
-    let item = this.data.list[index];
-    if (e.type == 'plus') {
-      item.qty += (item.orderaddqty) - 0
-    } else {
-      item.qty -= item.orderaddqty
-    }
-    this.setData({
-      [`list[${index}]`]: item
-    })
-  },
-  onUnload() {
-    //回收数据
-    getApp().globalData.handleSelect = null;
-  }
+		} else {
+			qty = e.detail.value;
+		}
+		this.setData({
+			[`list[${index}].qty`]: 0
+		});
+		this.setData({
+			[`list[${index}].qty`]: qty
+		});
+	},
+	stepperChange(e) {
+		const {
+			index
+		} = e.currentTarget.dataset;
+		let item = this.data.list[index];
+		if (e.type == 'plus') {
+			item.qty += (item.orderaddqty) - 0
+		} else {
+			item.qty -= item.orderaddqty
+		}
+		this.setData({
+			[`list[${index}]`]: item
+		})
+	},
+	onUnload() {
+		//回收数据
+		getApp().globalData.handleSelect = null;
+	}
 })

+ 2 - 1
packageA/activity/selectProduct/index.wxml

@@ -11,11 +11,12 @@
 			<view class="content">
 				<view class="title">
 					<text class="line-1">{{item.itemname}}</text>
-					<van-checkbox wx:if="{{!(item.groupqty!=0 && item.maxQty<=0)}}" custom-class="iconfont" shape='square' icon-size='24rpx' value="{{ decide.checked(item.itemid,result) }}" />
+					<van-checkbox wx:if="{{!(item.groupqty!=0 && item.maxQty<=0)}}" custom-class="iconfont" shape='square' icon-size='24rpx' value="{{ decide.checked(item[idname],result) }}" />
 				</view>
 				<view class="exp">编号:{{item.itemno}}</view>
 				<view class="exp">规格:{{item.spec ||" --"}}</view>
 				<view class="exp">型号:{{item.model ||" --"}}</view>
+				<view class="exp">特征码:{{item.signaturecode ||" --"}}</view>
 				<view class="exp"><text style="font-size: 24rpx;font-weight: 600;color: #FF3B30;">{{item.newPrice}}</text><text style="font-size: 20rpx; text-decoration:line-through; margin-left: 6rpx;">¥{{item.oldprice}}</text></view>
 				<view class="exp">可购数量:{{item.groupqty==0?'不限购':(item.groupqty-item.saledqty)<=0?'已售罄':item.maxQty}}</view>
 				</view>

+ 227 - 221
packageA/orderForm/modules/product/index.js

@@ -1,162 +1,167 @@
 const _Http = getApp().globalData.http,
-    file = require("../../../../utils/FormatTheAttachment"),
-    currency = require("../../../../utils/currency");
+	file = require("../../../../utils/FormatTheAttachment"),
+	currency = require("../../../../utils/currency");
 let queue = [],
-    downCounter = null,
-    sa_orderid = 0,
-    CNY = num => currency(num, {
-        symbol: "¥",
-        precision: 2
-    }).format();
+	downCounter = null,
+	sa_orderid = 0,
+	CNY = num => currency(num, {
+		symbol: "¥",
+		precision: 2
+	}).format();
 
 Component({
-    properties: {
-        disabled: {
-            type: Boolean
-        }, //禁用
-    },
-    data: {
-        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;
-            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"
-                })
+	properties: {
+		disabled: {
+			type: Boolean
+		}, //禁用
+	},
+	data: {
+		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;
+			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(v => {
-                    if (v.attinfos.length != 0) {
-                        v.attinfos = file.fileList(v.attinfos)
-                        let image = v.attinfos.find(v => v.fileType == "image");
-                        v.cover = image ? image.cover : "";
-                    };
-                    v.price = CNY(v.price)
-                    v.marketprice = CNY(v.marketprice)
-                    v.amount = CNY(v.amount)
-                    return v;
-                })
-                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,
-                    base
-                })
-            })
-        },
-        /* 修改 */
-        changeProduct({
-            detail
-        }) {
-            let obj = detail,
-                index = this.data.list.findIndex(v => v.itemid == detail.itemid),
-                data = this.data.list[index];
-            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
-                };
-                data.amount = CNY(currency(data.price).multiply(data.qty).format());
-                this.setData({
-                    [`list[${index}]`]: data
-                })
-                this.updateThePrice();
-            })
-        },
-        /* 删除 */
-        deleteItem({
-            detail
-        }) {
-            let that = this;
-            wx.showModal({
-                title: '提示',
-                content: `是否确认删除“${detail.itemname}”?`,
-                complete: (res) => {
-                    if (res.confirm) _Http.basic({
-                        "id": 20221109093702,
-                        "content": {
-                            sa_orderid,
-                            "sa_orderitemsids": [
-                                detail.sa_orderitemsid
-                            ]
-                        }
-                    }).then(s => {
-                        if (s.msg != '成功') return wx.showToast({
-                            title: res.msg,
-                            icon: "none"
-                        });
-                        that.setData({
-                            list: that.data.list.filter(v => v.sa_orderitemsid != detail.sa_orderitemsid)
-                        });
-                        this.updateThePrice();
-                    })
-                }
-            })
-        },
-        /* 去添加产品 */
-        addProduct() {
-            let detail = getCurrentPages().find(v => v.__route__ == 'packageA/orderForm/detail').data.detail,
-                id = '';
-            switch (detail.type) {
-                case '促销订单':
-                    id = 20230107182302;
-                    break;
-                case '标准订单':
-                    id = 20221109153502;
-                    break;
-                case '特殊订单':
-                    id = 20221109153502;
-                    break;
-            }
-            wx.navigateTo({
-                url: `${detail.type=='促销订单'?'/packageA/activity/selectProduct/index':'/select/product/index'}?params=${JSON.stringify({
+				res.data = res.data.map(v => {
+					if (v.attinfos.length != 0) {
+						v.attinfos = file.fileList(v.attinfos)
+						let image = v.attinfos.find(v => v.fileType == "image");
+						v.cover = image ? image.cover : "";
+					};
+					v.price = CNY(v.price)
+					v.marketprice = CNY(v.marketprice)
+					v.amount = CNY(v.amount)
+					return v;
+				})
+				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,
+					base
+				})
+			})
+		},
+		/* 修改 */
+		changeProduct({
+			detail
+		}) {
+			let obj = detail,
+				index = -1;
+			if (obj.sa_promotion_itemsid) {
+				index = this.data.list.findIndex(v => v.sa_promotion_itemsid == obj.sa_promotion_itemsid);
+			} else {
+				index = this.data.list.findIndex(v => v.sa_orderitemsid == obj.sa_orderitemsid);
+			}
+			let data = this.data.list[index];
+			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
+				};
+				data.amount = CNY(currency(data.price).multiply(data.qty).format());
+				this.setData({
+					[`list[${index}]`]: data
+				})
+				this.updateThePrice();
+			})
+		},
+		/* 删除 */
+		deleteItem({
+			detail
+		}) {
+			let that = this;
+			wx.showModal({
+				title: '提示',
+				content: `是否确认删除“${detail.itemname}”?`,
+				complete: (res) => {
+					if (res.confirm) _Http.basic({
+						"id": 20221109093702,
+						"content": {
+							sa_orderid,
+							"sa_orderitemsids": [
+								detail.sa_orderitemsid
+							]
+						}
+					}).then(s => {
+						if (s.msg != '成功') return wx.showToast({
+							title: res.msg,
+							icon: "none"
+						});
+						that.setData({
+							list: that.data.list.filter(v => v.sa_orderitemsid != detail.sa_orderitemsid)
+						});
+						this.updateThePrice();
+					})
+				}
+			})
+		},
+		/* 去添加产品 */
+		addProduct() {
+			let detail = getCurrentPages().find(v => v.__route__ == 'packageA/orderForm/detail').data.detail,
+				id = '';
+			switch (detail.type) {
+				case '促销订单':
+					id = 20230107182302;
+					break;
+				case '标准订单':
+					id = 20221109153502;
+					break;
+				case '特殊订单':
+					id = 20221109153502;
+					break;
+			}
+			wx.navigateTo({
+				url: `${detail.type=='促销订单'?'/packageA/activity/selectProduct/index':'/select/product/index'}?params=${JSON.stringify({
 					"id":id,
 					"content": {
 						nocache:true,
@@ -167,71 +172,72 @@ Component({
 						}
 					}
 				})}&butText=添加产品`
-            });
-            this.setData({
-                type: detail.type
-            })
-            getApp().globalData.handleSelect = this.handleSelect.bind(this);
-        },
-        /* 处理新增产品 */
-        handleSelect(detail) {
-            console.log(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": v.qty, //数量
-                                    price: this.data.type == '工具订单' ? v.marketprice : v.contractprice
-                                }
-                            })
-                        }
-                    }).then(s => {
-                        console.log('新增产品', s)
-                        wx.showToast({
-                            title: s.msg == '成功' ? '添加成功' : s.msg,
-                            icon: "none"
-                        });
-                        if (s.msg == '成功') setTimeout(() => {
-                            that.getList(sa_orderid, true);
-                            wx.navigateBack();
-                            that.updateThePrice();
-                        }, 300)
-                    })
-                }
-            });
-        },
-        /* 使用接口更新总价 */
-        updateThePrice() {
-            // _Http.basic({
-            //     "id": 20230105101102,
-            //     "content": {
-            //         sa_orderid
-            //     },
-            // }).then(res => {
-            //     console.log("修改列表总价", res)
-            //     if (res.msg != '成功') return wx.showToast({
-            //         title: `产品总价更新失败`,
-            //         icon: "none"
-            //     });
-            //     let page = getCurrentPages()[getCurrentPages().length - 1];
-            //     if (page) {
-            //         this.setData({
-            //             "detail.amount": CNY(res.data.amount)
-            //         })
-            //         page.setLogisticsMsg();
-            //     }
-            // })
-            let page = getCurrentPages().find(v => v.__route__ == 'packageA/orderForm/detail');
-            page.getDetail();
-        }
-    }
+			});
+			this.setData({
+				type: detail.type
+			})
+			getApp().globalData.handleSelect = this.handleSelect.bind(this);
+		},
+		/* 处理新增产品 */
+		handleSelect(detail) {
+			console.log(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
+									"sa_promotion_itemsid": v.sa_promotion_itemsid || 0,
+									"qty": v.qty, //数量
+									price: this.data.type == '工具订单' ? v.marketprice : v.contractprice
+								}
+							})
+						}
+					}).then(s => {
+						console.log('新增产品', s)
+						wx.showToast({
+							title: s.msg == '成功' ? '添加成功' : s.msg,
+							icon: "none"
+						});
+						if (s.msg == '成功') setTimeout(() => {
+							that.getList(sa_orderid, true);
+							wx.navigateBack();
+							that.updateThePrice();
+						}, 300)
+					})
+				}
+			});
+		},
+		/* 使用接口更新总价 */
+		updateThePrice() {
+			// _Http.basic({
+			//     "id": 20230105101102,
+			//     "content": {
+			//         sa_orderid
+			//     },
+			// }).then(res => {
+			//     console.log("修改列表总价", res)
+			//     if (res.msg != '成功') return wx.showToast({
+			//         title: `产品总价更新失败`,
+			//         icon: "none"
+			//     });
+			//     let page = getCurrentPages()[getCurrentPages().length - 1];
+			//     if (page) {
+			//         this.setData({
+			//             "detail.amount": CNY(res.data.amount)
+			//         })
+			//         page.setLogisticsMsg();
+			//     }
+			// })
+			let page = getCurrentPages().find(v => v.__route__ == 'packageA/orderForm/detail');
+			page.getDetail();
+		}
+	}
 })

+ 7 - 1
packageA/orderForm/modules/product/list/index.js

@@ -42,7 +42,12 @@ Component({
 				} else {
 					data.qty = e.detail.value;
 				}
-				let i = this.data.list.findIndex(v => v.sa_orderitemsid == data.sa_orderitemsid);
+				let i = -1;
+				if (data.sa_promotion_itemsid) {
+					i = this.data.list.findIndex(v => v.sa_promotion_itemsid == data.sa_promotion_itemsid);
+				} else {
+					i = this.data.list.findIndex(v => v.sa_orderitemsid == data.sa_orderitemsid);
+				}
 				if (i != -1) this.setData({
 					[`list[${i}].qty`]: data.qty
 				})
@@ -50,6 +55,7 @@ Component({
 			this.triggerEvent("changeProduct", {
 				sa_orderitemsid: data.sa_orderitemsid,
 				itemid: data.itemid,
+				sa_promotion_itemsid: data.sa_promotion_itemsid || 0,
 				qty: data.qty,
 				remarks: name == 'remarks' ? e.detail.value : data.remarks,
 				needdate: data.needdate || "",

+ 4 - 0
packageA/orderForm/rows.js

@@ -44,6 +44,10 @@ Page({
       content
     }).then(res => {
       console.log("订单列表", res)
+      if (res.msg != '成功') return wx.showToast({
+        title: res.msg,
+        icon: "none"
+      })
       this.selectComponent('#ListBox').RefreshToComplete();
       content.pageNumber = res.pageNumber + 1
       content.pageTotal = res.pageTotal

+ 4 - 4
packageA/orderForm/rows.wxml

@@ -8,9 +8,9 @@
 <van-tabs active="{{ active }}" color='var(--assist)' title-active-color='var(--assist)' bind:change="tabsChange">
     <van-tab title="全部" name='' />
     <van-tab title="全部未发" name='' />
-    <van-tab title="一周未发" name='周' />
-    <van-tab title="一月未发" name='月' />
-    <van-tab title="一年未发" name='年' />
+    <van-tab title="7日未发" name='7' />
+    <van-tab title="30日未发" name='30' />
+    <van-tab title="90日未发" name='90' />
 </van-tabs>
 <view class="top" style="height: 5px;" />
 <Yl_ListBox id='ListBox' bind:getlist='getList'>
@@ -35,7 +35,7 @@
             数量:{{item.qty ||"0"}}({{item.unit}})
         </view>
         <view>
-            未发货数量:{{item.undeliqty||"0"}}({{item.unit}})
+            未发货数量:{{item.undeliqty+item.unsoldqty||"0"}}({{item.unit}})
         </view>
         <view>
             备注:{{item.remarks||" --"}}

+ 1 - 1
project.private.config.json

@@ -3,7 +3,7 @@
   "projectname": "楚楚E订单",
   "setting": {
     "compileHotReLoad": true,
-    "urlCheck": true
+    "urlCheck": false
   },
   "libVersion": "2.25.3",
   "condition": {

+ 1 - 0
utils/Http.js

@@ -1,6 +1,7 @@
 class HTTP {
     constructor() {
         this.baseUrl = "https://cucu.cnyunl.com:8079";
+        // this.baseUrl = "http://61.164.207.46:8200";
     }
     request({
         url,