From 5e5291e7c7978e4905b1249b7e562d689d89586d Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期二, 02 一月 2024 11:29:47 +0800 Subject: [PATCH] 出入库产品列表添加从..出库,到..位置 --- src/views/overview/AddOverviewDialog.vue | 65 ++++++++++++++++++++++++++------ src/views/overview/OverviewListView.vue | 10 ++++- src/common/untils/request.js | 2 src/components/makepager/CommonFormTableView.vue | 28 +++++++++++++- 4 files changed, 87 insertions(+), 18 deletions(-) diff --git a/src/common/untils/request.js b/src/common/untils/request.js index 305a6f6..6bef5a9 100644 --- a/src/common/untils/request.js +++ b/src/common/untils/request.js @@ -25,7 +25,7 @@ prod:`//${window.location.hostname}:9080`, test:`//192.168.20.119:9080`, // 鎯宠烦鍒版湰鍦板惎鍔ㄧ殑鐧诲綍椤电殑璇濋渶瑕佹妸dev鏀规垚浣犳湰鍦伴」鐩矾寰� - dev: `//192.168.20.158:8080` + dev: `//192.168.8.112:8080` } return loginPathMap[environmentType()] diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index fae8e86..26afa06 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -285,6 +285,25 @@ </template> </div> </el-form-item> + <!-- 浠� --> + <el-form-item v-else-if="item.formLocation" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> + <div class="custom-name"> + <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row.formLocation }}</span> + <el-autocomplete + v-else + style="width: 100%" + v-model="scope.row.productCategory" + @focus="productTypeFocus" + :fetch-suggestions=" + (queryString, callback) => { + querySearchAsync(queryString, callback, 'formLocation') + } + " + value-key="name" + @select="handleSelectClient('formLocation', $event)" + ></el-autocomplete> + </div> + </el-form-item> <!-- 浜у搧绫诲埆 --> <el-form-item v-else-if="item.productType" @@ -369,7 +388,7 @@ <slot name="tableButton" /> </el-table> </el-form> - <div v-if="!detailEnter && !isinventory && !islistingrules && !isReorder" style="margin: 10px"> + <div v-if="!detailEnter && !isinventory && !isReorder" style="margin: 10px"> <el-button size="small" type="primary" @click="add">娣诲姞鏄庣粏琛�</el-button> <!-- <el-button size="small" type="primary" @click="empty">娓呯┖</el-button> --> </div> @@ -458,7 +477,8 @@ locacionId: 0, productName: "", productId: "", - initialPosition: "" + initialPosition: "", + formLocationList:[], } }, created() { @@ -497,6 +517,7 @@ } }) }, + // 涓嬫媺鎼滅储 async handleSelectClient(value, item) { this.$emit("selProductClick", value, item) if (value === "product") { @@ -527,6 +548,8 @@ restaurants = this.productNameOptions } else if (value === "productType") { restaurants = this.productTypeNameOptions + }else if(value==="formLocation"){ + restaurants = this.selLocationOptions } var results = queryString ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants cb(results) @@ -573,6 +596,7 @@ } }) }, + // 浣嶇疆 async getLocationList() { this.locacionName = "" diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue index 9956ae6..e4cb86c 100644 --- a/src/views/overview/AddOverviewDialog.vue +++ b/src/views/overview/AddOverviewDialog.vue @@ -203,9 +203,10 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item v-if="workType !== 1" label="婧愪綅缃�" prop="fromLocationId"> + <el-form-item v-if="workType !== 1" label="婧愪綅缃�" prop="location"> <el-select - v-model="editConfig.infomation.fromLocationId" + @change="rootLocationChange" + v-model="editConfig.infomation.location" placeholder="璇烽�夋嫨" size="mini" style="width: 90%" @@ -215,7 +216,7 @@ v-for="item in toLocationOptions" :key="item.id" :label="item.jointName" - :value="item.id" + :value="{label:item.jointName,value:item.id}" > </el-option> </el-select> @@ -297,6 +298,8 @@ <!-- 鎿嶄綔 --> <div v-if="activeName === 'first'"> <CommonFormTableView + ref="tableView" + :islistingrules="true" :product-table-list="productTableList" :detail-enter="!showFooter" @inputContent="inputContent" @@ -486,7 +489,7 @@ sourceNumber: [{ required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" }], operationDate: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" }], toLocationId: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }], - fromLocationId: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }], + location: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }], operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }], number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }] }, @@ -747,8 +750,19 @@ if (this.isNoProduct) { this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖") } else { - let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation let params = this.saveParams() + if(this.workType===2){ + params.details.map((item)=>{ + item.fromLocationId=item.fromLocationId.value + }) + }else if(this.workType===3){ + params.details.map((item)=>{ + item.fromLocationId=item.fromLocationId.value + item.toLocationId=item.toLocationId.value + }) + } + let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation + // let params = this.saveParams() requestUrl({ ...params }).then((res) => { @@ -794,13 +808,13 @@ contacterID: contacterID, contacterName: contacterName, details: this.tableData, - fromLocationId: data.fromLocationId || 0, + locationId: data.location.value || 0, id: data.id, number: data.number || "", operationDate: data.operationDate || "", operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId, operationTypeName: this.receiptType, - sourceNumber: data.sourceNumber || "", + sourceNumber:data.sourceNumber || "" , status: 3, toLocationId: data.toLocationId || 0, waybillNumber: data.waybillNumber || "", @@ -843,16 +857,32 @@ this.tableData = [] } // this.tableData = this.editConfig.title !== "鏂板缓" ? list : [] - this.productTableList = { - tableData: this.tableData, - tableColumn: [ + let tableColumnArr=[] + if(this.workType===1){ + tableColumnArr= [ { label: "浜у搧", prop: "productName", productName: true, isRequird: true }, - // { label: "璇存槑", prop: "number", input: true }, - // { label: "鏃ユ湡", prop: "amount", date: true, isRequird: true }, - // { label: "鎴鏃ユ湡", prop: "price", date: true }, { label: "鏁伴噺", prop: "amount", inputFloat: true }, { label: "璁¢噺鍗曚綅", prop: "unit" } ] + }else if(this.workType===2){ + tableColumnArr = [ + { label: "浜у搧", prop: "productName", productName: true, isRequird: true }, + { label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true }, + { label: "鏁伴噺", prop: "amount", inputFloat: true }, + { label: "璁¢噺鍗曚綅", prop: "unit" } + ] + }else if(this.workType===3){ + tableColumnArr = [ + { label: "浜у搧", prop: "productName", productName: true, isRequird: true }, + { label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true }, + { label: "鑷�", prop: "toLocationId", toLocation: true }, + { label: "鏁伴噺", prop: "amount", inputFloat: true }, + { label: "璁¢噺鍗曚綅", prop: "unit" } + ] + } + this.productTableList = { + tableData: this.tableData, + tableColumn: tableColumnArr } }, // 鎿嶄綔杈撳叆 @@ -1029,6 +1059,15 @@ console.error(error) } } + }, + // 婧愪綅缃�夋嫨 + rootLocationChange(val){ + this.productTableList.tableData.map((item)=>{ + console.log(item,"item") + item.toLocationId={} + item.fromLocationId={} + }) + this.$refs.tableView.setLocationList(val.label) } } } diff --git a/src/views/overview/OverviewListView.vue b/src/views/overview/OverviewListView.vue index 777378c..19b3bd4 100644 --- a/src/views/overview/OverviewListView.vue +++ b/src/views/overview/OverviewListView.vue @@ -247,8 +247,8 @@ const list = res.data.map((item) => { return { ...item, - from: item.fromLocation.name, - to: item.toLocation.name + // from: item.fromLocation.name, + // to: item.toLocation.name } }) this.tableList.tableInfomation = list || [] @@ -268,6 +268,12 @@ this.editConfig.visible = true this.editConfig.title = val this.editConfig.operationTypeId = this.params.id + this.editConfig.code = this.params.code + row.details.map((item)=>{ + item.fromLocationId=item.fromLocation.jointName + item.toLocationId=item.toLocation.jointName + }) + row.locationID=row.location.jointName this.editConfig.infomation = { ...row } }, // 鏂板缓 -- Gitblit v1.8.0