From 1ae0722c4a8022961c48c34588823fdd23698e44 Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 20 九月 2023 19:17:26 +0800 Subject: [PATCH] 仓库管理 仓库+业务类型 接口列表 添加编辑 删除 联调 业务类型缺少字段 --- src/views/warehouseManage/bussinessType/AddBussinessType.vue | 185 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 139 insertions(+), 46 deletions(-) diff --git a/src/views/warehouseManage/bussinessType/AddBussinessType.vue b/src/views/warehouseManage/bussinessType/AddBussinessType.vue index 102d20b..4d907a1 100644 --- a/src/views/warehouseManage/bussinessType/AddBussinessType.vue +++ b/src/views/warehouseManage/bussinessType/AddBussinessType.vue @@ -49,17 +49,18 @@ </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-input v-model="editConfig.infomation.client_name" @@ -68,37 +69,41 @@ 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 +114,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="showOperations" > - <el-checkbox v-model="editConfig.infomation.showDetail"></el-checkbox> + <el-checkbox v-model="editConfig.infomation.showOperations"></el-checkbox> </el-form-item> </div> </div> @@ -158,29 +163,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 locationList" :key="item.id" :label="item.username" :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 locationList" :key="item.id" :label="item.username" :value="item.id"> </el-option> </el-select> </el-form-item> @@ -201,6 +204,8 @@ </template> <script> +import { addOperationType,updateOperationType,getWarehouseList,deleteOperationType} from "@/api/warehouseManage/warehouse" +import { getDataByType } from "@/api/data"; export default { name: "AddBussinessType", props: { @@ -222,25 +227,50 @@ 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" }] + // 鍏ュ簱绫诲瀷 + client_name: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }], + // 鍓嶇紑 + number: [{ 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" } }, created() { + this.getList() this.setBottonView() }, methods: { + // 浠撳簱 + async getWarehouse() { + 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 +286,77 @@ 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"); + } + }); + }, // 缂栬緫 editClick() { this.showEdit = false this.showButton = false this.showFooter = true }, + saveParams() { + let data =JSON.parse(JSON.stringify(this.editConfig.infomation)); + + let params = { + // 浣滀笟绫诲瀷 + baseOperationType:data.baseOperationType, + // 閫�璐х被鍨� + returnOperationTypeID:data.returnOperationTypeID, + // 鍒涘缓娆犲崟 + createBackorder:data.createBackorder, + // 浠撳簱 + warehouseId:data.warehouseId, + // 鏄剧ず浣滀笟璇︽儏 + showOperations:data.showOperations, + // 淇濈暀鏂瑰紡 + 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 { + updateOperationType(params).then((res) => { + if (res.code === 200) { + this.editConfig.visible = false; + this.$message.success("缂栬緫鎴愬姛"); + this.$emit('refresh') + } + }); + } + }else { + console.log("error submit"); + return false; + } + }); + }, // 鍒犻櫎 delClick() {}, // 浜у搧 -- Gitblit v1.8.0