From 04489cc3864aa38fde8b539aee6c4c9eed6ab1d4 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期四, 28 九月 2023 14:35:35 +0800 Subject: [PATCH] 解决产品列表报错 --- src/views/warehouseManage/bussinessType/AddBussinessType.vue | 218 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 167 insertions(+), 51 deletions(-) diff --git a/src/views/warehouseManage/bussinessType/AddBussinessType.vue b/src/views/warehouseManage/bussinessType/AddBussinessType.vue index 102d20b..c3e8669 100644 --- a/src/views/warehouseManage/bussinessType/AddBussinessType.vue +++ b/src/views/warehouseManage/bussinessType/AddBussinessType.vue @@ -17,6 +17,7 @@ <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> @@ -37,10 +38,10 @@ <el-row> <el-col :span="24"> <div style="margin-left: 20px">鍏ュ簱绫诲瀷</div> - <el-form-item label="" prop="client_name" label-width="20px"> + <el-form-item label="" prop="name" label-width="20px"> <el-input - v-model="editConfig.infomation.client_name" - placeholder="" + v-model="editConfig.infomation.name" + placeholder="璇峰~鍐�" :disabled="!showFooter" style="width: 85%" ></el-input> @@ -49,56 +50,61 @@ </el-row> <div class="purchase-view"> <div class="left" style="margin-left: 20px"> - <el-form-item label="浣滀笟绫诲瀷" prop="operate_type" :label-width="labelWidth"> + <el-form-item label="浣滀笟绫诲瀷" prop="baseOperationType" :label-width="labelWidth"> <el-select - v-model="editConfig.infomation.operate_type" + v-model="editConfig.infomation.baseOperationType" placeholder="璇烽�夋嫨" size="mini" style="width: 85%" :disabled="!showFooter" > - <el-option v-for="item in operateTypeOptions" :key="item" :label="item" :value="item"> </el-option> + <el-option v-for="item in baseOperationTypeList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> - <el-form-item label="搴忓彿鍓嶇紑" prop="client_name" :label-width="labelWidth"> + + <el-form-item label="搴忓彿鍓嶇紑" prop="prefix" :label-width="labelWidth"> <el-input - v-model="editConfig.infomation.client_name" + v-model="editConfig.infomation.prefix" placeholder="" :disabled="!showFooter" style="width: 85%" ></el-input> </el-form-item> - <el-form-item label="浠撳簱" prop="client_name" :label-width="labelWidth"> + <el-form-item label="浠撳簱" prop="warehouseId" :label-width="labelWidth"> <el-select - v-model="editConfig.infomation.memberId" - multiple + v-model="editConfig.infomation.warehouseId" placeholder="璇烽�夋嫨" size="mini" style="width: 85%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item - v-if="editConfig.infomation.operate_type !== '鏀惰揣'" + v-if="editConfig.infomation.baseOperationType !== 1" label="淇濈暀鏂瑰紡" - prop="resource" + prop="reservationMethod" :label-width="labelWidth" > <el-radio-group - v-model="editConfig.infomation.resource" + v-model="editConfig.infomation.reservationMethod" @input="reserveMethodClick" :disabled="!showFooter" > - <div style="margin-top: 8px"><el-radio label="纭鏃�"></el-radio></div> - <div style="margin-top: 10px"><el-radio label="鎵嬪伐"></el-radio></div> - <div style="margin-top: 10px"><el-radio label="鍦ㄩ瀹氭棩鏈熶箣鍓�"></el-radio></div> + <div style="margin-top: 8px"> + <el-radio v-for="item in reservationMethodList" + :key="item.id" + :value="item.id" + :label="item.name" + > + </el-radio> + </div> </el-radio-group> </el-form-item> - <el-form-item - v-if="editConfig.infomation.operate_type !== '鏀惰揣'" + <!-- <el-form-item + v-if="editConfig.infomation.resource == '鍦ㄩ瀹氭棩鏈熶箣鍓�'" label="鍦ㄩ瀹氭棩鏈熷墠棰勫畾" prop="client_name" :label-width="labelWidth" @@ -109,44 +115,44 @@ :disabled="!showFooter" style="width: 85%" ></el-input> - </el-form-item> + </el-form-item> --> </div> <div class="right"> - <el-form-item label="閫�璐х被鍨�" prop="client_name"> + + <el-form-item label="閫�璐х被鍨�" prop="returnOperationTypeID"> <el-select - v-model="editConfig.infomation.memberId" - multiple + v-model="editConfig.infomation.returnOperationTypeID" + v-if="editConfig.infomation.baseOperationType" placeholder="璇烽�夋嫨" size="mini" style="width: 85%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option v-for="item in returnOperationTypeList" :key="item.id" :label="item.username" :value="item.id"> </el-option> </el-select> </el-form-item> - <el-form-item label="鍒涘缓娆犲崟" prop="client_name"> + <el-form-item label="鍒涘缓娆犲崟" prop="createBackorder"> <el-select - v-model="editConfig.infomation.memberId" - multiple + v-model="editConfig.infomation.createBackorder" placeholder="璇烽�夋嫨" size="mini" style="width: 85%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option v-for="item in createBackorderList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> - <el-form-item label="鏄剧ず浣滀笟璇︽儏" prop="showDetail"> - <el-checkbox v-model="editConfig.infomation.showDetail"></el-checkbox> + <el-form-item label="鏄剧ず浣滀笟璇︽儏" prop="showOperations"> + <el-checkbox v-model="editConfig.infomation.showOperations"></el-checkbox> </el-form-item> <el-form-item - v-if="editConfig.infomation.operate_type === '鏀惰揣'" + v-if="editConfig.infomation.baseOperationType === 1" label="棰勫~鍐欎綔涓氳鎯�" - prop="showDetail" + prop="earlyOperations" > - <el-checkbox v-model="editConfig.infomation.showDetail"></el-checkbox> + <el-checkbox v-model="editConfig.infomation.earlyOperations"></el-checkbox> </el-form-item> </div> </div> @@ -158,29 +164,27 @@ <div class="purchase-view"> <div class="left"> <div class="second-label">浣嶇疆</div> - <el-form-item label="榛樿婧愪綅缃�" prop="client_name" style="margin-left: 20px"> + <el-form-item label="榛樿婧愪綅缃�" prop="defaultLocationSrcId" style="margin-left: 20px"> <el-select - v-model="editConfig.infomation.memberId" - multiple + v-model="editConfig.infomation.defaultLocationSrcId" placeholder="璇烽�夋嫨" size="mini" style="width: 85%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option v-for="item in positionlist" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> - <el-form-item label="榛樿鐩殑浣嶇疆" prop="client_name" style="margin-left: 20px"> + <el-form-item label="榛樿鐩殑浣嶇疆" prop="defaultLocationDestId" style="margin-left: 20px"> <el-select - v-model="editConfig.infomation.memberId" - multiple + v-model="editConfig.infomation.defaultLocationDestId" placeholder="璇烽�夋嫨" size="mini" style="width: 85%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option v-for="item in positionlist" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -201,6 +205,8 @@ </template> <script> +import { addOperationType,updateOperationType,getWarehouseList,deleteOperationType,getLocationList} from "@/api/warehouseManage/warehouse" +import { getDataByType } from "@/api/data"; export default { name: "AddBussinessType", props: { @@ -222,25 +228,61 @@ dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }], - 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" }], + // 鍓嶇紑 + prefix: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }], + baseOperationType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], }, - memberOptions: [], - operateTypeOptions: ["鏀惰揣", "鍙戣揣", "鍐呴儴璋冩嫧"], // 鎿嶄綔绫诲瀷 + // 浣嶇疆 + locationList: [], + warehouseList:[], + // 閫�璐х被鍨� + returnOperationTypeList:[], + // 浣滀笟绫诲瀷 + baseOperationTypeList:getDataByType('baseOperationType'), + // 鍒涘缓娆犲崟 + createBackorderList:getDataByType('createBackorder'), + // 淇濈暀鏂瑰紡 + reservationMethodList:getDataByType('reservationMethod'), showButton: true, showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳 isDelClick: false, // 鍒犻櫎鎸夐挳鏄惁鍙偣鍑� showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨 - labelWidth: "80px" + labelWidth: "90px", + positionlist:[], } }, created() { + this.getList() this.setBottonView() }, methods: { + // 浠撳簱 + async getWarehouse() { + await getLocationList({ + keyword:'', + page: 0, + pageSize: 0 + }).then((res) => { + if (res.code === 200) { + this.positionlist = res.data?res.data:[] + this.$forceUpdate() + } + }) + await getWarehouseList({ + keyword: '', + page: 0, + pageSize: 0 + }).then((res) => { + if (res.data.code == 200) { + this.warehouseList = res.data.data?res.data.data:[] + } + }) + }, + getList(){ + this.getWarehouse() + }, // 璁剧疆鍒犻櫎/鎵撳嵃/缂栬緫鏄惁鏄剧ず setBottonView() { if (this.editConfig.title === "鏂板缓") { @@ -256,14 +298,88 @@ handleClose() { this.editConfig.visible = false }, + // 鍒櫎 + deleteClick() { + let data = JSON.parse(JSON.stringify(this.editConfig.infomation)); + deleteOperationType({ 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.showButton = false this.showFooter = true }, + saveParams() { + let data =JSON.parse(JSON.stringify(this.editConfig.infomation)); + + let params = { + // 鍏ュ簱绫诲瀷 + name:data.name, + // 鍓嶇紑 + prefix:data.prefix, + // 浣滀笟绫诲瀷 + baseOperationType:data.baseOperationType, + // 閫�璐х被鍨� + returnOperationTypeID:data.returnOperationTypeID, + // 鍒涘缓娆犲崟 + createBackorder:data.createBackorder, + // 浠撳簱 + warehouseId:data.warehouseId, + // 鏄剧ず浣滀笟璇︽儏 + showOperations:data.showOperations, + earlyOperations:data.earlyOperations, + // 淇濈暀鏂瑰紡 + reservationMethod:data.reservationMethod, + // 榛樿鍘熶綅缃� + defaultLocationSrcId:data.defaultLocationSrcId, + // 榛樿鐩爣浣嶇疆 + defaultLocationDestId:data.defaultLocationDestId, + } + 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 === "鏂板缓") { + addOperationType(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 { + updateOperationType(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; + } + }); + }, // 鍒犻櫎 delClick() {}, // 浜у搧 -- Gitblit v1.8.0