Ver código fonte

修复价格的问题

xiaohaizhao 1 mês atrás
pai
commit
ec34f488bf

+ 25 - 13
packageA/fittings/modules/product/index.js

@@ -147,10 +147,9 @@ Component({
                 amount: detail.amount || 0,
                 cardno: detail.cardno || '',
                 custamount: detail.custamount || 0,
-                defaultprice: detail.defaultprice || 0,
                 delivery: detail.delivery || '',
                 itemid: detail.itemid || 0,
-                price: detail.price || 0,
+                price: detail.price,
                 qty: detail.qty || 0,
                 remarks: detail.remarks || '',
                 sa_orderitemsid: detail.sa_orderitemsid || 0,
@@ -425,7 +424,7 @@ Component({
                     title: '提示',
                     content: `是否确认添加${detail.result.length}件商品?`,
                     complete: (res) => {
-                        if (res.confirm) that.handleInsert(detail).bind(that)
+                        if (res.confirm) that.handleInsert(detail)
                     }
                 });
             }
@@ -433,21 +432,35 @@ Component({
         handleInsert({
             list
         }) {
+            console.log("list",list)
+            let items = list.map(v => {
+                return {
+                    amount: v.amount || 0,
+                    cardno: v.cardno || '',
+                    custamount: v.custamount || 0,
+                    delivery: this.data.delivery || this.data.deliverys[0].value,
+                    itemid: v.itemid || 0,
+                    price: v.price || 0,
+                    qty: v.qty || 0,
+                    remarks: v.remarks || '',
+                    sa_orderitemsid: v.sa_orderitemsid || 0,
+                    sa_workorderid: v.sa_workorderid || '',
+                    itemname:v.itemname
+                }
+            });
+            let item = items.find(v => !v.price)
+            if (item) return wx.showModal({
+                title: '提示',
+                content: `${item.itemname}产品价格异常,请检查`,
+                showCancel: false
+            })
             return new Promise((resolve) => {
                 _Http.basic({
                     "id": 2025121314111503,
                     content: {
                         sa_order_v: this.data.sa_order_v,
                         ...this.data.base,
-                        "items": list.map(v => {
-                            v.sa_orderitemsid = v.sa_orderitemsid || 0;
-                            v.sa_promotion_itemsid = v.sa_promotion_itemsid || 0;
-                            v.custamount = v.custamount || 0;
-                            v.price = v.price || 0;
-                            v.delivery = this.data.delivery || this.data.deliverys[0].value
-                            v.amount = v.amount || 0;
-                            return v
-                        })
+                        items
                     }
                 }).then(s => {
                     console.log('新增产品', s)
@@ -526,7 +539,6 @@ Component({
                                 amount: v.amount || 0,
                                 cardno: v.cardno || '',
                                 custamount: v.custamount || 0,
-                                defaultprice: v.defaultprice || 0,
                                 delivery: v.delivery || '',
                                 itemid: v.itemid || 0,
                                 price: v.price || 0,

+ 1 - 1
select/addPreciseSearch/index.js

@@ -55,7 +55,7 @@ Page({
     if (init) params.content.pageNumber = 1
     if (params.content.pageNumber > params.content.pageTotal) return;
     _Http.basic(params).then(res => {
-      console.log("选择产品列表", res)
+      console.log("选择保修卡列表", res)
       this.selectComponent('#ListBox').RefreshToComplete();
       if (res.msg != '成功') return wx.showToast({
         title: res.msg,

+ 20 - 12
select/product/index.js

@@ -11,7 +11,8 @@ Page({
 	data: {
 		loading: true,
 		params: {}, //请求体
-		result: [], //返回结果
+		result: [], //返回结果(选中的id列表)
+		selectedItems: [], //选中的完整产品对象列表
 		radio: false, //是否为单选
 		idname: "itemid", //idkey
 		showName: "itemname",
@@ -155,10 +156,14 @@ Page({
 				item.customText = getCustomText(item);
 				let index = this.data.list.findIndex(v => v[this.data.idname] == item[this.data.idname]);
 				if (index != -1) this.data.list[index] = item;
-				if (item.pitchOn) this.data.result.push(item[this.data.idname])
+				if (item.pitchOn) {
+					this.data.result.push(item[this.data.idname])
+					this.data.selectedItems.push(item)
+				}
 				this.setData({
 					list: this.data.list,
-					result: this.data.result
+					result: this.data.result,
+					selectedItems: this.data.selectedItems
 				})
 				resolve(true)
 			})
@@ -169,9 +174,10 @@ Page({
 		let {
 			id,
 			item
-		} = e.currentTarget.dataset, result = this.data.result;
+		} = e.currentTarget.dataset, result = this.data.result, selectedItems = this.data.selectedItems;
 		if (this.data.radio) {
 			result = [id];
+			selectedItems = [item];
 		} else {
 			let isAdd = result.some(v => v == id);
 			if (!isAdd) {
@@ -182,33 +188,35 @@ Page({
 						if (item) this.selectComponent("#Custom").onClick(item)
 					} else {
 						result.push(id)
+						selectedItems.push(item)
 					}
 				} else {
 					result.push(id)
+					selectedItems.push(item)
 				}
 			} else {
 				result = result.filter(v => v != id)
+				selectedItems = selectedItems.filter(v => v[this.data.idname] != id)
 			}
 		}
 		this.setData({
-			result
+			result,
+			selectedItems
 		});
 		if (this.data.radio) this.submit();
 	},
 	/* 提交 */
 	submit() {
 		let result = this.data.result,
+			selectedItems = this.data.selectedItems,
 			obj = this.data.radio ? {
 				id: result,
-				item: this.data.list.find(value => value[this.data.idname] == result),
-				value: [this.data.list.find(value => value[this.data.idname] == result)[this.data.showName], result]
+				item: selectedItems[0],
+				value: [selectedItems[0] ? selectedItems[0][this.data.showName] : "", result]
 			} : {
 				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]
+				list: selectedItems,
+				value: [selectedItems.map(v => v[this.data.showName]), result]
 			}
 		getApp().globalData.handleSelect && getApp().globalData.handleSelect(obj)
 	},