From c87a6f7310ca992d7f058a8f286b095c9a632c90 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期四, 21 九月 2023 16:51:58 +0800 Subject: [PATCH] 位置+产品类型的接口联调+业务类型的字段添加 --- src/views/warehouseManage/position/AddDialog.vue | 270 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 169 insertions(+), 101 deletions(-) diff --git a/src/views/warehouseManage/position/AddDialog.vue b/src/views/warehouseManage/position/AddDialog.vue index 8eb8bc8..2859b07 100644 --- a/src/views/warehouseManage/position/AddDialog.vue +++ b/src/views/warehouseManage/position/AddDialog.vue @@ -15,8 +15,7 @@ <span>鎵撳嵃</span> </span> <span class="btn" style="margin-left: 15px"> - <i class="el-icon-s-tools"></i> - <span>鍔ㄤ綔</span> + <el-button plain size="mini" style="margin-left: 15px" @click="deleteClick">鍒犻櫎</el-button> </span> <el-button v-if="showEdit" plain size="mini" style="margin-left: 15px" @click="editClick">缂栬緫</el-button> </div> @@ -40,21 +39,31 @@ <el-row> <el-col :span="24" class="line_height_30px"> - <el-form-item label="浣嶇疆鍚嶇О" prop="client_name"> + <el-form-item label="浣嶇疆鍚嶇О" prop="name"> <el-input - :disabled="showEdit" - v-model="editConfig.infomation.inspectionScale" + :disabled="!showFooter" + v-model="editConfig.infomation.name" placeholder="璇疯緭鍏�" ></el-input> </el-form-item> </el-col> <el-col :span="24"> - <el-form-item label="涓婄骇浣嶇疆" prop="client_name"> - <el-input - :disabled="showEdit" - v-model="editConfig.infomation.inspectionScale" - placeholder="璇疯緭鍏�" - ></el-input> + <el-form-item label="涓婄骇浣嶇疆" prop="parentId"> + <el-select + v-model="editConfig.infomation.parentId" + placeholder="璇烽�夋嫨" + size="mini" + style="width: 45%" + :disabled="!showFooter" + > + <el-option + v-for="item in positionList" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> </el-form-item> </el-col> </el-row> @@ -62,80 +71,96 @@ <div class="bottom"> <div class="left"> <div class="second-label">鍏朵粬淇℃伅</div> - <el-form-item label="浣嶇疆绫诲瀷" prop="desc"> + <el-form-item label="浣嶇疆绫诲瀷" prop="type"> <el-select - v-model="editConfig.value1" + v-model="editConfig.infomation.type" filterable - :disabled="showEdit" - clearable + :disabled="!showFooter" placeholder="璇烽�夋嫨" style="width: 100%" no-data-text="鏆傛棤鏁版嵁" > <el-option - v-for="item in wareList" + v-for="item in positionTypeList" :key="item.id" :label="item.name" :value="item.id" > </el-option> </el-select> - </el-form-item> - <el-form-item label="鏄竴涓姤搴熶綅缃�" prop="desc"> + </el-form-item> + <el-form-item label="鏄竴涓姤搴熶綅缃�" v-if="editConfig.infomation.type==3||editConfig.infomation.type==5" prop="isScrapLocation"> <el-checkbox - :disabled="showEdit" - v-model="editConfig.value2" + :disabled="!showFooter" + v-model="editConfig.infomation.isScrapLocation" > </el-checkbox> </el-form-item> - <el-form-item label="鏄竴涓��鍥炰綅缃�" prop="desc"> + <el-form-item label="鏄竴涓��鍥炰綅缃�" prop="isReturnLocation"> <el-checkbox - :disabled="showEdit" - v-model="editConfig.value2" + :disabled="!showFooter" + v-model="editConfig.infomation.isReturnLocation" > </el-checkbox> </el-form-item> - <el-form-item label="琛ュ厖浣嶇疆" prop="desc"> + <el-form-item label="琛ュ厖浣嶇疆" v-if="editConfig.infomation.type==3" prop="replenishLocation"> <el-checkbox - :disabled="showEdit" - v-model="editConfig.value2" + :disabled="!showFooter" + v-model="editConfig.infomation.replenishLocation" > </el-checkbox> </el-form-item> </div> - <div class="left"> + <div class="left" v-if="editConfig.infomation.type==3||editConfig.infomation.type==7"> <div class="second-label">寰幆璁℃暟</div> - <el-form-item label="鐩樼偣棰戠巼锛堝ぉ锛�" prop="desc"> + <el-form-item label="鐩樼偣棰戠巼锛堝ぉ锛�" prop="countFrequency"> <el-input - :disabled="showEdit" - v-model="editConfig.infomation.inspectionScale" + :disabled="!showFooter" + v-model="editConfig.infomation.countFrequency" placeholder="璇疯緭鍏�" ></el-input> </el-form-item> - <el-form-item label="鏈�杩戞湁鏁堢洏鐐�" prop="desc"> - <el-input - :disabled="showEdit" - v-model="editConfig.infomation.inspectionScale" - placeholder="璇疯緭鍏�" - ></el-input> + <el-form-item label="鏈�杩戞湁鏁堢洏鐐�" prop="recentlyCount"> + <el-date-picker + :disabled="!showFooter" + v-model="editConfig.infomation.recentlyCount" + type="date" + placeholder="閫夋嫨鏃ユ湡" + value-format="yyyy-MM-dd" + > + </el-date-picker> </el-form-item> - <el-form-item label="棰勮涓嬩竴娆$洏鐐�" prop="desc"> - <el-input - :disabled="showEdit" - v-model="editConfig.infomation.inspectionScale" - placeholder="璇疯緭鍏�" - ></el-input> + <el-form-item label="棰勮涓嬩竴娆$洏鐐�" prop="nextCount"> + <el-date-picker + :disabled="!showFooter" + v-model="editConfig.infomation.nextCount" + type="date" + placeholder="閫夋嫨鏃ユ湡" + value-format="yyyy-MM-dd" + > + </el-date-picker> </el-form-item> </div> </div> + <el-form-item label="" prop="notes" label-width="20px"> + <el-input + :disabled="!showFooter" + type="textarea" + placeholder="澶栭儴澶囨敞" + :autosize="{ minRows: 3, maxRows: 4 }" + maxlength="500" + clearable + v-model="editConfig.infomation.notes" + ></el-input> + </el-form-item> <div class="bottom"> - <div class="left"> - <div class="second-label">鐗╂祦</div> - <el-form-item label="涓嬭浇绛栫暐" prop="desc"> + <!-- <div class="left"> --> + <!-- <div class="second-label">鐗╂祦</div> --> + <!-- <el-form-item label="涓嬭浇绛栫暐" prop="desc"> <el-select v-model="editConfig.value1" filterable - :disabled="showEdit" + :disabled="!showFooter" clearable placeholder="璇烽�夋嫨" style="width: 100%" @@ -149,18 +174,8 @@ > </el-option> </el-select> - </el-form-item> - <el-form-item label="澶栭儴澶囨敞" prop="desc"> - <el-input - :disabled="showEdit" - type="textarea" - :autosize="{ minRows: 3, maxRows: 4 }" - maxlength="500" - clearable - v-model="editConfig.value1" - ></el-input> - </el-form-item> - </div> + </el-form-item> --> + <!-- </div> --> </div> </div> </el-form> @@ -174,6 +189,8 @@ </template> <script> +import { addLocation,updateLocation,deleteLocation } from "@/api/warehouseManage/warehouse" +import { getDataByType } from "@/api/data"; export default { name: "AddScrapDialog", props: { @@ -186,6 +203,9 @@ infomation: {} } } + }, + positionList:{ + type:[Array] } }, components: {}, @@ -195,57 +215,42 @@ dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - - number: [{ required: true, message: "璇疯緭鍏ラ��娆惧崟缂栧彿", trigger: "blur" }], - refundDate: [{ required: true, message: "璇烽�夋嫨閫�娆炬棩鏈�", trigger: "change" }], - memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }], - sale_return_nunber: [{ required: true, message: "璇烽�夋嫨閿�鍞��璐у崟", trigger: "change" }] + name: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }], + countFrequency: [{ + required: false, + message: "璇峰~鍐欎笉灏忎簬0鐨勬暟瀛�", + trigger: "change", + }, + { + validator: this.validatorNum, + trigger: "blur", + },], }, - memberOptions: [], - paymentTypeListOptions: [], showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳 showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨 - currentState: "todo", // 褰撳墠鐘舵�� - wareList:[ - { - name:'鐩存帴鎺ユ敹浜у搧锛�1姝ユ敹璐э級', - id:1, - disabled:false, - }, - { - name:'鎺ュ埌浜у搧鍒版敹鏂欏尯锛屽啀鍏ュ簱锛�2姝ユ敹璐э級', - id:2, - disabled:true, - }, - { - name:'鎺ユ敹浜у搧鍒版敹鏂欏尯锛屾楠岋紝鐒跺悗鍏ュ簱锛�3姝ユ敹璐э級', - id:3, - disabled:true, - } - ], - wareoutList:[ - { - name:'鐩存帴鍑哄簱锛�1姝ワ級', - id:1, - disabled:false, - }, - { - name:'閫佸埌寰呭嚭搴撳尯锛屽啀閫佽揣锛�2姝ュ彂璐э級', - id:2, - disabled:true, - }, - { - name:'鍖呰浜у搧锛屽彂閫佸埌寰呭嚭搴撳尯锛屽啀閫佽揣锛�3姝ュ彂璐э級', - id:3, - disabled:true, - } - ], + positionTypeList: getDataByType("positionType"), } }, created() { this.setBottonView() }, methods: { + validatorNum(rule, value, callback) { + if (value) { + if (value == undefined || value == null) { + callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�")); + } else { + var reg = /^\+?[0-9]\d*$/; + if (!reg.test(value)) { + callback(new Error("璇峰~鍐欎笉灏忎簬0鐨勬暟瀛�")); + } else { + callback(); + } + } + } else { + callback(); + } + }, // 璺嚎 productClick() { @@ -267,13 +272,76 @@ handleClose() { this.editConfig.visible = false }, + // 鍒櫎 + deleteClick() { + let data = JSON.parse(JSON.stringify(this.editConfig.infomation)); + deleteLocation({ id: data.id }).then((res) => { + if (res.code == 200) { + this.editConfig.visible = false; + this.$message.success("鍒櫎鎴愬姛!"); + this.$emit("refresh"); + } else { + this.$message.warning(res.msg?res.msg:"鍒犻櫎澶辫触!") + } + }); + }, // 缂栬緫 editClick() { this.showEdit = false this.showFooter = true }, + saveParams() { + let data =JSON.parse(JSON.stringify(this.editConfig.infomation)); + + let params = { + name:data.name, + parentId:data.parentId+'', + type:data.type, + isScrapLocation:data.isScrapLocation, + isReturnLocation:data.isReturnLocation, + replenishLocation:data.replenishLocation, + countFrequency:data.countFrequency?Number(data.countFrequency):0, + recentlyCount:data.recentlyCount, + nextCount:data.nextCount, + notes:data.notes, + } + if(data.id){ + params.id=data.id + } + return params; + }, // 淇濆瓨 - saveClick() {} + saveClick(formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + const params = this.saveParams(); + if (this.editConfig.title === "鏂板缓") { + addLocation(params).then((res) => { + if (res.code == 200) { + this.editConfig.visible = false; + this.$message.success("娣诲姞鎴愬姛!"); + this.$emit('refresh') + } else { + this.$message.warning(res.msg?res.msg:"娣诲姞澶辫触!") + } + }); + } else { + updateLocation(params).then((res) => { + if (res.code == 200) { + this.editConfig.visible = false; + this.$message.success("缂栬緫鎴愬姛!"); + this.$emit('refresh') + } else { + this.$message.warning(res.msg?res.msg:"缂栬緫澶辫触!") + } + }); + } + }else { + console.log("error submit"); + return false; + } + }); + } } } </script> -- Gitblit v1.8.0