From 03cfba0f636b42417070fc8caef44bcdd792a085 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期二, 07 五月 2024 17:34:37 +0800 Subject: [PATCH] 概述 出库模块 编辑的时候循环处理对应产品调用接口获取在库数量的逻辑处理 --- src/views/productManage/product/AddProductDialog.vue | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 168 insertions(+), 6 deletions(-) diff --git a/src/views/productManage/product/AddProductDialog.vue b/src/views/productManage/product/AddProductDialog.vue index 3be77ba..cc89823 100644 --- a/src/views/productManage/product/AddProductDialog.vue +++ b/src/views/productManage/product/AddProductDialog.vue @@ -86,6 +86,7 @@ <el-input style="width: 85%" :disabled="!showFooter" + clearable v-model="editConfig.infomation.specs" placeholder="璇疯緭鍏�" ></el-input> @@ -95,6 +96,7 @@ v-model="editConfig.infomation.productType" placeholder="璇烽�夋嫨" size="mini" + clearable style="width: 85%" :disabled="!showFooter" > @@ -146,7 +148,7 @@ placeholder="鍗曚綅" filterable @change="Gtechange" - style="width: 85%" + style="width: calc(85% - 120px)" > <el-option v-for="ele in unitList" @@ -160,6 +162,14 @@ style="font-size: 20px; color: gray" @click="handleUnitShow" ></i> + <el-checkbox + class="margin_left_10px" + :disabled="editConfig.infomation.unit&&showFooter?false:true" + v-model="editConfig.infomation.moreUnit" + @change="moreUnitChange" + >鍚敤澶氬崟浣�</el-checkbox + > + <!-- <span class="margin_left_10px cursor_pointer" @click="handleUnitMore">鍚敤澶氬崟浣�</span> --> </el-form-item> <el-form-item label="浜у搧鏍囩" prop="productTagName"> @@ -219,6 +229,8 @@ v-model="editConfig.infomation.categoryId" placeholder="璇烽�夋嫨" size="mini" + clearable + filterable style="width: 85%" :disabled="!showFooter" > @@ -235,6 +247,7 @@ <el-input style="width: 85%" :disabled="!showFooter" + filterable v-model="editConfig.infomation.type" placeholder="璇疯緭鍏�" ></el-input> @@ -306,7 +319,7 @@ v-model="editConfig.infomation.principal" placeholder="璇烽�夋嫨" size="mini" - style="width: 85%" + style="width: 88%" disabled > <el-option @@ -318,7 +331,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="璇疯緭鍏�" @@ -329,7 +342,63 @@ :disabled="!showFooter" ></el-input-number> <span> kg</span> - </el-form-item> + </el-form-item> --> + <el-form-item label="姣涢噸" prop="grossWeight" label-width="80px"> + <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="5"> + <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" label-width="80px"> + <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="5"> + <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" @@ -542,6 +611,15 @@ :workList="unitList" title="璁¢噺鍗曚綅" ></BomDialog> + <UnitMoreDialog + ref="unitMoreDialog" + @saveUnitMore="saveUnitMore" + @cancelUnitMore='cancelUnitMore' + :workList="unitList" + :unitRight='editConfig.infomation.unit' + :dataList="editConfig.infomation.moreUnitList" + title="鍚敤澶氬崟浣�" + ></UnitMoreDialog> </div> </template> @@ -555,7 +633,7 @@ import BomDialog from "./components/bomDialog"; import {getUnitInfo, } from "@/api/basic/standard"; // import { postGetSaveSUnitDict } from "@/api/basic/standard"; - +import UnitMoreDialog from "./components/UnitMoreDialog"; export default { mixins: [codeMixin], @@ -576,6 +654,7 @@ components: { IconCropper, BomDialog, + UnitMoreDialog, }, computed: { modalTitle() { @@ -599,7 +678,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: [], // 浜у搧绫诲埆 @@ -657,6 +758,7 @@ isView: false, fileFormdata: null, // 涓婁紶鍥剧墖鍏ュ弬 bomPurchaseTypeList: getDataByType("purchaseType"), + grossUnitList:getDataByType("grossUnit"), unitList: [], editRow:{ editDialogVisible:false, @@ -685,9 +787,64 @@ 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; + }, + // 鍚敤澶氬崟浣� + handleUnitMore(){ + if(this.editConfig.infomation.unit){ + this.$refs.unitMoreDialog.editDialogVisible = true; + }else{ + this.$message.error('璇峰厛閫夋嫨鍗曚綅锛�') + } + }, + saveUnitMore(list){ + this.editConfig.infomation.moreUnit=true + this.editConfig.infomation.moreUnitList=list + }, + cancelUnitMore(){ + this.editConfig.infomation.moreUnit=false + }, + // 鍚敤澶氬崟浣嶇殑寮�鍏� + moreUnitChange(){ + // let string=false; + if(this.editConfig.infomation.unit){ + // if(this.editConfig.infomation.moreUnitList&&this.editConfig.infomation.moreUnitList.length>0){ + // for(let i in this.editConfig.infomation.moreUnitList){ + // if(this.editConfig.infomation.moreUnitList[i].unit&&this.editConfig.infomation.moreUnitList[i].amount){ + // string=true; + // break; + // } + // } + // } + if(this.editConfig.infomation.moreUnit){ + // this.editConfig.infomation.moreUnit=false + // this.$message.error('璇峰厛閰嶇疆澶氬崟浣嶏紒') + this.$refs.unitMoreDialog.editDialogVisible = true; + } + }else{ + this.editConfig.infomation.moreUnit=false + this.$message.error('璇峰厛閫夋嫨鍗曚綅锛�') + } + }, handleConfirmSave(dataList) { saveUnitDict({ data: dataList }).then((res) => { @@ -839,6 +996,11 @@ params.codeStandardID = this.autoCodeObj.codeStandardID params.autoIncr = this.autoCodeObj.maxAutoIncr } + if(params.moreUnitList&¶ms.moreUnitList.length>0){ + for(let i in params.moreUnitList){ + params.moreUnitList[i].amount=Number(params.moreUnitList[i].amount) + } + } requestUrl(params).then((res) => { console.log(res) this.editConfig.visible = false -- Gitblit v1.8.0