From d68b036a3b3c67273b8effa3c9925ef3869a91ba Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 07 二月 2024 13:56:50 +0800 Subject: [PATCH] wms项目 wms系统参数设置的页面开发+路由+是否显示表头配置 --- src/views/productManage/product/AddProductDialog.vue | 208 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 192 insertions(+), 16 deletions(-) diff --git a/src/views/productManage/product/AddProductDialog.vue b/src/views/productManage/product/AddProductDialog.vue index 62f996c..a6ded80 100644 --- a/src/views/productManage/product/AddProductDialog.vue +++ b/src/views/productManage/product/AddProductDialog.vue @@ -66,6 +66,30 @@ style="width: 85%" ></el-input> </el-form-item> + <el-form-item label="浜у搧缂栫爜" prop="id"> + <el-input + style="width: 85%" + v-if=" + editConfig.title == '缂栬緫' || + (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled)) + " + :disabled="editConfig.title != '鏂板缓'" + v-model="editConfig.infomation.id" + placeholder="璇疯緭鍏ョ紪鐮�" + > + </el-input> + <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c; width: 85%" + >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span + > + </el-form-item> + <el-form-item label="浜у搧瑙勬牸" prop="specs"> + <el-input + style="width: 85%" + :disabled="!showFooter" + v-model="editConfig.infomation.specs" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> <el-form-item label="浜у搧绫诲瀷" prop="productType"> <el-select v-model="editConfig.infomation.productType" @@ -106,7 +130,7 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="鍗曚綅" prop="unit"> + <el-form-item label="鍗曚綅old" prop="unit"> <el-input v-model="editConfig.infomation.unit" placeholder="璇疯緭鍏�" @@ -114,6 +138,29 @@ :disabled="!showFooter" ></el-input> </el-form-item> + + <el-form-item label="鍗曚綅" prop="unit"> + <el-select + v-model="editConfig.infomation.unit" + placeholder="鍗曚綅" + filterable + @change="$forceUpdate()" + style="width: calc(100% - 30px)" + > + <el-option + v-for="ele in unitList" + :key="ele.id" + :label="ele.name" + :value="ele.name" + ></el-option> + </el-select> + <i + class="el-icon-setting margin_left_10px cursor_pointer" + style="font-size: 20px; color: gray" + @click="handleUnitShow" + ></i> + </el-form-item> + <el-form-item label="浜у搧鏍囩" prop="productTagName"> <el-input v-model="editConfig.infomation.productTagName" @@ -183,6 +230,21 @@ </el-option> </el-select> </el-form-item> + <el-form-item label="浜у搧鍨嬪彿" prop="type"> + <el-input + style="width: 85%" + :disabled="!showFooter" + v-model="editConfig.infomation.type" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + <el-form-item label="閲囪喘绫诲瀷" prop="purchaseType"> + <el-radio-group :disabled="!showFooter" v-model="editConfig.infomation.purchaseType"> + <el-radio v-for="item in purchaseTypeList" :key="item.id" :label="item.id">{{ + item.name + }}</el-radio> + </el-radio-group> + </el-form-item> <el-form-item label="鍐呴儴缂栫爜" prop="internalReference"> <el-input v-model.trim="editConfig.infomation.internalReference" @@ -205,9 +267,9 @@ </div> <div class="all"> <!-- <div class="second-label">澶囨敞</div> --> - <el-form-item label="澶囨敞" prop="internalNotes"> + <el-form-item label="澶囨敞" prop="note"> <el-input - v-model.trim="editConfig.infomation.internalNotes" + v-model.trim="editConfig.infomation.note" placeholder="璇疯緭鍏�" size="mini" type="textarea" @@ -243,9 +305,14 @@ placeholder="璇烽�夋嫨" size="mini" style="width: 85%" - :disabled="!showFooter" + disabled > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.name" :value="item.name"> + <el-option + v-for="(item, index) in memberOptions" + :key="index" + :label="item.userName" + :value="item.userName" + > </el-option> </el-select> </el-form-item> @@ -466,6 +533,13 @@ <el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button> </div> </el-dialog> + <BomDialog + ref="editDialog" + @sucessSet="handleGetBomKindDictList" + @handleConfirmSave="handleConfirmSave" + :workList="unitList" + title="璁¢噺鍗曚綅" + ></BomDialog> </div> </template> @@ -473,9 +547,15 @@ import IconCropper from "./IconCropper" import { getProductCategoryList } from "@/api/product/productCategory" import { getProductList, addProduct, updateProduct } from "@/api/product/product" -import { uploadFiles } from "@/api/common/other" +import { uploadFiles, getUserInfo } from "@/api/common/other" +import codeMixin from "@/components/mixin/codeMixin" +import { getDataByType } from "@/api/data" +import BomDialog from "./components/bomDialog"; +// import { postGetSaveSUnitDict } from "@/api/basic/standard"; + export default { + mixins: [codeMixin], name: "AddProductDialog", props: { editCommonConfig: { @@ -490,7 +570,10 @@ } } }, - components: { IconCropper }, + components: { + IconCropper, + BomDialog, + }, computed: { modalTitle() { if (this.editConfig.title === "缂栬緫" && this.editConfig.autoEdit) { @@ -508,11 +591,14 @@ editConfig: this.editCommonConfig, rules: { name: [{ required: true, message: "璇疯緭鍏ヤ骇鍝佸悕绉�", trigger: "blur" }], + id: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }], model: [{ required: true, message: "璇烽�夋嫨鐗╂枡绫诲瀷", trigger: "change" }], // salePrice: [{ required: true, message: "璇疯緭鍏ラ攢鍞环鏍�", trigger: "blur" }], - unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }] + unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: ["change", "blur"] }], + // 閲囪喘绫诲瀷 + purchaseType: [{ required: true, message: "璇烽�夋嫨", trigger: "blur" }] }, - memberOptions: [{ name: "绠$悊鍛�", id: 1 }], + memberOptions: [], productCategoryOptions: [], // 浜у搧绫诲埆 productTypeOptions: [ { name: "鑳芥秷鑰�", id: 1 }, @@ -549,10 +635,26 @@ { name: "鍏朵粬", id: "鍏朵粬" } ], statisticsMap: { - inLibrary: 0 // 鍦ㄥ簱 + amount: this.editCommonConfig.infomation.amount ? this.editCommonConfig.infomation.amount : 0, // 鍦ㄥ簱 + predictionAmount: this.editCommonConfig.infomation.predictionAmount + ? this.editCommonConfig.infomation.predictionAmount + : 0, //棰勬祴 + inputAmount: this.editCommonConfig.infomation.inputAmount ? this.editCommonConfig.infomation.inputAmount : 0, //杩� + outputAmount: this.editCommonConfig.infomation.outputAmount ? this.editCommonConfig.infomation.outputAmount : 0, //鍑� + reorderRuleNum: this.editCommonConfig.infomation.reorderRuleNum + ? this.editCommonConfig.infomation.reorderRuleNum + : 0, //閲嶈璐ц鍒欐暟閲� + minInventoryRule: this.editCommonConfig.infomation.minInventoryRule + ? this.editCommonConfig.infomation.minInventoryRule + : 0, //鏈�灏忛噸璁㈣揣 + maxInventoryRule: this.editCommonConfig.infomation.maxInventoryRule + ? this.editCommonConfig.infomation.maxInventoryRule + : 0 //鏈�澶ч噸璁㈣揣 }, isView: false, - fileFormdata: null // 涓婁紶鍥剧墖鍏ュ弬 + fileFormdata: null, // 涓婁紶鍥剧墖鍏ュ弬 + purchaseTypeList: getDataByType("purchaseType"), + unitList: [], } }, created() { @@ -564,12 +666,74 @@ this.setTableForm() this.setBottonView() this.statisticsMap.inLibrary = this.editConfig?.infomation?.amount ?? 0 + // 杩涘嚭鍙g殑浜у搧 鏁伴噺 杩樻病鏈� + this.statisticsMap.enter = this.editConfig?.infomation?.amount ?? 0 + this.statisticsMap.exit = this.editConfig?.infomation?.amount ?? 0 if (this.editConfig.autoEdit) { this.editClick() } this.setOptionalFieldsToEmpty() + this.formInfo() + this.getUserInfo() }, methods: { + // 鍗曚綅 + handleUnitShow() { + this.handleGetBomKindDictList(); + this.$refs.editDialog.editDialogVisible = true; + }, + // 鍗曚綅 + handleGetBomKindDictList(val) { + console.log(val) + // postGetUnitDictList().then((res) => { + // this.unitList = res.data; + // if (val) { + // for (let i in this.unitList) { + // if (this.unitList[i].isDefault) { + // this.form.unit = this.form.unit + // ? this.form.unit + // : this.unitList[i].name; + // // this.$set(this.form, "unit", this.form.unit); + // break; + // } + // } + // } + // }); + }, + handleConfirmSave(data) { + console.log(data) + // postGetSaveSUnitDict({ data: data }).then((res) => { + // if (res.code == 200) { + // this.$message({ + // message: "鎿嶄綔鎴愬姛锛�", + // type: "success", + // }); + // this.$refs.editDialog.editDialogVisible = false; + // this.handleGetBomKindDictList(); + // } + // }); + this.$refs.editDialog.editDialogVisible = false; + + }, + // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅 + getUserInfo() { + getUserInfo().then((res) => { + console.log(res) + if (res.code == 200) { + this.editConfig.infomation.principal = res.data.userName + this.memberOptions.push(res.data) + } + console.log(this.memberOptions) + }) + }, + formInfo() { + this.objCode.type = "鐗╂枡缂栫爜" + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandardID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandardID + } + this.getRCodeStandardList() + }, /** * 闈炲繀濉」鍚庣杩斿洖鐨勬槸鏁板瓧 0,琛ㄥ崟闇�瑕佺┖涓叉墠鑳借涓烘湭閫夋嫨鍥炴樉 */ @@ -644,6 +808,7 @@ this.showEdit = false this.showButton = false this.showFooter = true + this.isView = false this.setTableForm() }, // 淇濆瓨 @@ -679,14 +844,19 @@ saveEditRequest(attachmentIDs) { let requestUrl = this.editConfig.title === "鏂板缓" ? addProduct : updateProduct this.unsetFieldsToNumber() - requestUrl({ + let params = { ...this.editConfig.infomation, attachmentIDs - }).then((res) => { + } + if (this.editConfig.title == "鏂板缓") { + params.codeStandardID = this.autoCodeObj.codeStandardID + params.autoIncr = this.autoCodeObj.maxAutoIncr + } + requestUrl(params).then((res) => { console.log(res) this.editConfig.visible = false if (res.code === 200) { - this.$message.success("娣诲姞鎴愬姛") + this.$message.success(this.editConfig.title === "鏂板缓" ? "娣诲姞" : "缂栬緫" + "鎴愬姛!") this.$parent.getData() } }, console.error) @@ -755,11 +925,17 @@ // console.log(formdata, "鍥剧墖鏁版嵁") }, // 杩涘嚭鐐瑰嚮 - inOutBoundClick() { + inOutBoundClick(val) { if (this.editConfig.title !== "鏂板缓") { console.log(this.editConfig.infomation) + let url='' + if(val=='杩�'){ + url='inboundOutboundDetail' + }else{ + url='outboundDetail' + } this.$router.push({ - name: "inboundOutboundDetail", + name:url, params: { name: this.editConfig.infomation.name, id: this.editConfig.infomation.id -- Gitblit v1.8.0