From 4708131e4e9e97ce280b9befbd57b7d405931a66 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 17 四月 2024 09:48:47 +0800 Subject: [PATCH] 调拨模块 下面的产品显示 辅助单位和辅助数量 --- src/views/overview/OverviewListView.vue | 25 ++++++- src/api/data.js | 21 +++++++ src/views/productManage/product/AddProductDialog.vue | 102 +++++++++++++++++++++++++++++++++- 3 files changed, 140 insertions(+), 8 deletions(-) diff --git a/src/api/data.js b/src/api/data.js index 37e68c5..311de84 100644 --- a/src/api/data.js +++ b/src/api/data.js @@ -216,6 +216,25 @@ id: 3, }, ]; +// 鐗╂枡 姣涢噸锛屽噣閲嶇殑鍗曚綅 +const grossUnit=[ + { + name: "g", + id: 1, + }, + { + name: "kg", + id: 2, + }, + { + name: "鍚�", + id: 3, + }, + { + name: "鏂�", + id: 4, + }, +] export const getDataByType = (type) => { if (type == "purchaseStatus") { return purchaseStatus @@ -241,5 +260,7 @@ return baseOperationTypeTwo }else if(type=='purchaseType'){ return purchaseType; + }else if(type=='grossUnit'){ + return grossUnit; } } diff --git a/src/views/overview/OverviewListView.vue b/src/views/overview/OverviewListView.vue index cce7adf..49354f5 100644 --- a/src/views/overview/OverviewListView.vue +++ b/src/views/overview/OverviewListView.vue @@ -130,8 +130,8 @@ { label: "浜у搧鍨嬪彿", prop: "model" }, { label: "鏁伴噺", prop: "amount" }, { label: "璁¢噺鍗曚綅", prop: "unit" }, - { label: "杈呭姪鏁伴噺", prop: "unit" }, - { label: "杈呭姪鍗曚綅", prop: "amount" } + { label: "杈呭姪鏁伴噺", prop: "adjunctAmount" }, + { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" } ], allotProductColumn: [ { label: "浜у搧缂栧彿", prop: "id", default: true }, @@ -142,8 +142,8 @@ { label: "璋冨嚭浣嶇疆", prop: "location" }, { label: "璋冨叆浣嶇疆", prop: "toLocation" }, { label: "鏁伴噺", prop: "amount" }, - { label: "杈呭姪鏁伴噺", prop: "unit" }, - { label: "杈呭姪鍗曚綅", prop: "amount" } + { label: "杈呭姪鏁伴噺", prop: "adjunctAmount" }, + { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" } ] } }, @@ -350,12 +350,27 @@ // bottom浜у搧淇℃伅鏁版嵁澶勭悊 bottomProductData(arr) { const list = arr.details.map((item) => { + let adjunctUnit='' + let adjunctAmount='' + if(item.product.moreUnit&&item.product.moreUnitList){ + let moreUnitList=item.product.moreUnitList + if(moreUnitList.length>0){ + for(let j in moreUnitList){ + if(moreUnitList[j].floating){ + adjunctUnit=moreUnitList[j].unit + adjunctAmount=moreUnitList[j].amount + } + } + } + } return { ...item, productName: item.product.name, unit: item.product.unit, location: arr.location.name, - toLocation: arr.toLocation.name + toLocation: arr.toLocation.name, + adjunctUnit:adjunctUnit, + adjunctAmount:adjunctAmount } }) this.productTableList.tableInfomation = list diff --git a/src/views/productManage/product/AddProductDialog.vue b/src/views/productManage/product/AddProductDialog.vue index 4649572..6c74ea1 100644 --- a/src/views/productManage/product/AddProductDialog.vue +++ b/src/views/productManage/product/AddProductDialog.vue @@ -326,7 +326,7 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="閲嶉噺" prop="weight" label-width="80px"> + <!-- <el-form-item label="閲嶉噺" prop="weight" label-width="80px"> <el-input-number v-model="editConfig.infomation.weight" placeholder="璇疯緭鍏�" @@ -337,7 +337,63 @@ :disabled="!showFooter" ></el-input-number> <span> kg</span> - </el-form-item> + </el-form-item> --> + <el-form-item label="姣涢噸" prop="grossWeight"> + <el-col :span="15" + > + <el-input + v-model="editConfig.infomation.grossWeight" + placeholder="璇疯緭鍏�" + :disabled="!showFooter" + ></el-input> + </el-col> + <el-col :span="1"> </el-col> + <el-col :span="4"> + <el-select + v-model="editConfig.infomation.grossUnit" + placeholder="鍗曚綅" + filterable + :disabled="!showFooter" + style="width: 100%; float: right" + :popper-append-to-body="false" + > + <el-option + v-for="ele in grossUnitList" + :key="ele.id" + :label="ele.name" + :value="ele.name" + ></el-option> + </el-select> + </el-col> + </el-form-item> + <el-form-item label="鍑�閲�" prop="netWeight"> + <el-col :span="15" + > + <el-input + v-model="editConfig.infomation.netWeight" + :disabled="!showFooter" + placeholder="璇疯緭鍏�" + ></el-input> + </el-col> + <el-col :span="1"> </el-col> + <el-col :span="4"> + <el-select + v-model="editConfig.infomation.netUnit" + placeholder="鍗曚綅" + filterable + :disabled="!showFooter" + style="width: 100%; float: right" + :popper-append-to-body="false" + > + <el-option + v-for="ele in grossUnitList" + :key="ele.id" + :label="ele.name" + :value="ele.name" + ></el-option> + </el-select> + </el-col> + </el-form-item> <el-form-item label="浣撶Н" prop="volume" label-width="80px"> <el-input-number v-model="editConfig.infomation.volume" @@ -615,7 +671,29 @@ // salePrice: [{ required: true, message: "璇疯緭鍏ラ攢鍞环鏍�", trigger: "blur" }], unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: ["blur"] }], // 閲囪喘绫诲瀷 - purchaseTypeList: [{ required: true, message: "璇烽�夋嫨", trigger: "blur" }] + purchaseTypeList: [{ required: true, message: "璇烽�夋嫨", trigger: "blur" }], + netWeight: [ + { + required: false, + message: "璇峰~鍐�", + trigger: "change", + }, + { + validator: this.validatorNumFour, + trigger: "blur", + }, + ], + grossWeight: [ + { + required: false, + message: "璇峰~鍐�", + trigger: "change", + }, + { + validator: this.validatorNumFour, + trigger: "blur", + }, + ], }, memberOptions: [], productCategoryOptions: [], // 浜у搧绫诲埆 @@ -673,6 +751,7 @@ isView: false, fileFormdata: null, // 涓婁紶鍥剧墖鍏ュ弬 bomPurchaseTypeList: getDataByType("purchaseType"), + grossUnitList:getDataByType("grossUnit"), unitList: [], editRow:{ editDialogVisible:false, @@ -701,6 +780,23 @@ this.getUnitInfo() }, methods: { + validatorNumFour(rule, value, callback) { + if (value != "") { + if (value == undefined || value == null) { + callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�")); + } else { + let reg2 = + /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + if (!reg2.test(value) || value == 0) { + callback(new Error("璇峰~鍐欏ぇ浜庨浂鐨�2浣嶅皬鏁扮殑鏁板瓧")); + } else { + callback(); + } + } + } else { + callback(); + } + }, // 鍗曚綅 handleUnitShow() { this.editRow.editDialogVisible = true; -- Gitblit v1.8.0