From 95b3446e38cc84c66883e4ae0e0c9985d6e3e722 Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期一, 08 一月 2024 17:18:56 +0800
Subject: [PATCH] 库存调拨添加仓库位置,至..与仓库位置对应
---
src/views/operate/allot/index.vue | 2
src/views/overview/AddOverviewDialog.vue | 254 ++++++++++++++++++++++++++++-------------
src/views/overview/OverviewListView.vue | 8 +
src/components/makepager/CommonFormTableView.vue | 49 +++++--
4 files changed, 214 insertions(+), 99 deletions(-)
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 9437f52..2a8bd19 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -185,7 +185,7 @@
style="width: 80%"
@change="
(val) => {
- selLocationClick(val, item.prop)
+ selLocationClick(val, item.prop,scope.row)
}
"
>
@@ -479,6 +479,7 @@
productId: "",
initialPosition: "",
formLocationList:[],
+ toLocationList:[],
}
},
created() {
@@ -640,19 +641,39 @@
}
})
},
- // 璁剧疆瀛愪綅缃�
- async setLocationList(jointName) {
- await getLocationList({
- jointName: jointName,
- page: 1,
- pageSize: 100
- }).then((res) => {
- if (res.code === 200) {
- // const list = res.data ? res.data : []
- this.selSonLocationOptions = res.data
- console.log(this.selSonLocationOptions,"鐪嬬湅鍙樹簡娌�")
- }
- })
+ // 璁剧疆瀛愪綅缃�/婧愪綅缃�
+ async setLocationList(jointName,tag) {
+ if(tag==="fromLocation"){
+ await getLocationList({
+ jointName: jointName,
+ page: 1,
+ pageSize: 100
+ }).then((res) => {
+ if (res.code === 200) {
+ this.selSonLocationOptions = res.data
+ }
+ })
+ }else if(tag==="toLocation"){
+ await getLocationList({
+ jointName: jointName,
+ page: 1,
+ pageSize: 100
+ }).then((res) => {
+ if (res.code === 200) {
+ this.selToLocationOptions = res.data
+ }
+ })
+ }else{
+ await getLocationList({
+ jointName: jointName,
+ page: 1,
+ pageSize: 100
+ }).then((res) => {
+ if (res.code === 200) {
+ this.selSonLocationOptions = res.data
+ }
+ })
+ }
},
// 鑾峰彇鍏徃鍒楄〃
async getCompanyList() {
diff --git a/src/views/operate/allot/index.vue b/src/views/operate/allot/index.vue
index 45b3424..01b29bf 100644
--- a/src/views/operate/allot/index.vue
+++ b/src/views/operate/allot/index.vue
@@ -230,7 +230,7 @@
const list = res.data.map((item) => {
return {
...item,
- // from: item.fromLocation.name,
+ from: item.location.jointName,
// to: item.toLocation.name
}
})
diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue
index 24a2468..2f8b26c 100644
--- a/src/views/overview/AddOverviewDialog.vue
+++ b/src/views/overview/AddOverviewDialog.vue
@@ -202,7 +202,7 @@
></el-input>
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="12" >
<el-form-item :label="workType === 1?'浠撳簱浣嶇疆':'婧愪綅缃�'" prop="location">
<el-select
@change="rootLocationChange"
@@ -213,7 +213,7 @@
:disabled="!showFooter"
>
<el-option
- v-for="item in toLocationOptions"
+ v-for="item in formLocationOptions"
:key="item.id"
:label="item.jointName"
:value="{label:item.jointName,value:item.id}"
@@ -222,25 +222,6 @@
</el-select>
</el-form-item>
</el-col>
- <!-- <el-col :span="12">
- <el-form-item v-if="workType !== 2" label="浠撳簱浣嶇疆" prop="toLocationId">
- <el-select
- v-model="editConfig.infomation.toLocationId"
- placeholder="璇烽�夋嫨"
- size="mini"
- style="width: 90%"
- :disabled="!showFooter"
- >
- <el-option
- v-for="item in toLocationOptions"
- :key="item.id"
- :label="item.jointName"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-col> -->
<el-col :span="12">
<el-form-item label="璐熻矗浜�" prop="contacterName">
<el-select
@@ -256,6 +237,26 @@
:key="item.id"
:label="item.name"
:value="{ value: item.id, label: item.name }"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="workType === 3">
+ <el-form-item label="浠撳簱浣嶇疆" prop="toLocation">
+ <el-select
+ @change="toLocationChange"
+ v-model="editConfig.infomation.toLocation"
+ placeholder="璇烽�夋嫨"
+ size="mini"
+ style="width: 90%"
+ :disabled="!showFooter"
+ >
+ <el-option
+ v-for="item in toLocationOptions"
+ :key="item.id"
+ :label="item.jointName"
+ :value="{label:item.jointName,value:item.id}"
>
</el-option>
</el-select>
@@ -490,7 +491,7 @@
rules: {
sourceNumber: [{ required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" }],
operationDate: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" }],
- toLocationId: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }],
+ toLocation: [{ 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"] }]
@@ -509,7 +510,8 @@
supplierOptions: [], //渚涘簲鍟�
clientOptions: [], //瀹㈡埛
memberOptions: [{ id: 1, name: "绠$悊鍛�" }],
- toLocationOptions: [], // 婧愪綅缃� 浠撳簱浣嶇疆
+ formLocationOptions:[],// 婧愪綅缃�
+ toLocationOptions: [], // 浠撳簱浣嶇疆
showButton: true,
activeName: "first",
productTableList: {},
@@ -561,9 +563,11 @@
}
this.getLogisticCompanyList()
this.formInfo()
- setTimeout(() => {
- this.$refs.tableView.setLocationList(this.editConfig.infomation.location.label)
- }, 100);
+ if(this.editConfig.title==="鏌ョ湅"||this.editConfig.title==="缂栬緫"){
+ setTimeout(() => {
+ this.$refs.tableView.setLocationList(this.editConfig.infomation.location.label)
+ }, 100);
+ }
},
mounted(){
},
@@ -619,11 +623,22 @@
})
}
},
- // 鑾峰彇浠撳簱浣嶇疆鍒楄〃
+ // 鑾峰彇婧愪綅缃�/浠撳簱浣嶇疆鍒楄〃
async getLocationList() {
await getLocationList({
keyWord: "",
jointName: this.editConfig.code,
+ page: 0,
+ pageSize: 0
+ }).then((res) => {
+ console.log(res)
+ if (res.code === 200) {
+ this.formLocationOptions = res.data
+ }
+ })
+ await getLocationList({
+ keyWord: "",
+ // jointName: this.editConfig.code,
page: 0,
pageSize: 0
}).then((res) => {
@@ -758,18 +773,18 @@
this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖")
} else {
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
- })
- }
+ // 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
+ // })
+ // }
// 浜у搧鍒楄〃瑙f瀯
- if(this.editConfig.title === "缂栬緫"){
+ if(this.editConfig.title === "缂栬緫"||this.editConfig.title === "鏌ョ湅"){
let arr=[]
if(this.workType===1){
params.details.map((item)=>{
@@ -782,25 +797,63 @@
params.details=arr
}else if(this.workType===2){
params.details.map((item)=>{
- arr.push({
- operationId:item.operationId,
- amount:item.amount,
- fromLocationId:item.fromLocation.id,
- productId:item.productId,
- })
+ if(item.fromLocationId.value){
+ arr.push({
+ operationId:item.operationId,
+ amount:item.amount,
+ fromLocationId:item.fromLocationId.value,
+ productId:item.productId,
+ })
+ }else{
+ arr.push({
+ operationId:item.operationId,
+ amount:item.amount,
+ fromLocationId:item.fromLocation.id,
+ productId:item.productId,
+ })
+ }
})
params.details=arr
}else if(this.workType===3){
+ console.log(params.details,"鐪嬬湅")
params.details.map((item)=>{
arr.push({
- operationId:item.operationId,
- amount:item.amount,
- fromLocationId:item.fromLocation.id,
- toLocationId:item.toLocation.id,
- productId:item.productId,
- })
+ operationId:item.operationId,
+ amount:item.amount,
+ fromLocationId:item.fromLocationId.value?item.fromLocationId.value:item.fromLocation.id,
+ toLocationId:item.toLocationId.value?item.toLocationId.value:item.toLocation.id,
+ productId:item.productId,
+ })
+ // if(item.fromLocationId.value){
+ // arr.push({
+ // operationId:item.operationId,
+ // amount:item.amount,
+ // fromLocationId:item.fromLocationId.value,
+ // toLocationId:item.toLocation.id,
+ // productId:item.productId,
+ // })
+ // }else{
+ // arr.push({
+ // operationId:item.operationId,
+ // amount:item.amount,
+ // fromLocationId:item.fromLocation.id,
+ // toLocationId:item.toLocation.id,
+ // productId:item.productId,
+ // })
+ // }
})
params.details=arr
+ }
+ }else if(this.editConfig.title === "鏂板缓"){
+ 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
@@ -808,7 +861,6 @@
requestUrl({
...params
}).then((res) => {
- console.log(res)
this.editConfig.visible = false
if (res.code === 200) {
if (this.editConfig.title === "鏂板缓") {
@@ -817,6 +869,8 @@
this.$message.success("缂栬緫鎴愬姛")
}
this.$parent.getData()
+ }else{
+ this.$message.success(res.msg)
}
})
}
@@ -842,30 +896,59 @@
contacterID = Object.keys(this.contacterObj).length === 0 ? data.contacterID : this.contacterObj.value
contacterName = Object.keys(this.contacterObj).length === 0 ? data.contacterName : this.contacterObj.label
}
- let params = {
- baseOperationType: data.baseOperationType,
- comment: data.comment || "",
- companyID: companyID,
- companyName: companyName,
- contacterID: contacterID,
- contacterName: contacterName,
- details: this.tableData,
- 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 || "" ,
- status: 3,
- toLocationId: data.toLocationId || 0,
- waybillNumber: data.waybillNumber || "",
- weight: data.weight || 0,
- logisticWeight: data.logisticWeight || 0,
- logisticCompanyId: data.logisticCompanyId,
- receiverAddr: data.receiverAddr || "",
- receiverName: data.receiverName || "",
- receiverPhone: data.receiverPhone || ""
+ let params={}
+ if(this.workType===1||this.workType===2){
+ params = {
+ baseOperationType: data.baseOperationType,
+ comment: data.comment || "",
+ companyID: companyID,
+ companyName: companyName,
+ contacterID: contacterID,
+ contacterName: contacterName,
+ details: this.tableData,
+ 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 || "" ,
+ status: 3,
+ // toLocationId: data.toLocation.value||0,
+ waybillNumber: data.waybillNumber || "",
+ weight: data.weight || 0,
+ logisticWeight: data.logisticWeight || 0,
+ logisticCompanyId: data.logisticCompanyId,
+ receiverAddr: data.receiverAddr || "",
+ receiverName: data.receiverName || "",
+ receiverPhone: data.receiverPhone || ""
+ }
+ }else if(this.workType===3){
+ params = {
+ baseOperationType: data.baseOperationType,
+ comment: data.comment || "",
+ companyID: companyID,
+ companyName: companyName,
+ contacterID: contacterID,
+ contacterName: contacterName,
+ details: this.tableData,
+ 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 || "" ,
+ status: 3,
+ toLocationId: data.toLocation.value||0,
+ waybillNumber: data.waybillNumber || "",
+ weight: data.weight || 0,
+ logisticWeight: data.logisticWeight || 0,
+ logisticCompanyId: data.logisticCompanyId,
+ receiverAddr: data.receiverAddr || "",
+ receiverName: data.receiverName || "",
+ receiverPhone: data.receiverPhone || ""
+ }
}
return params
},
@@ -917,7 +1000,7 @@
tableColumnArr = [
{ label: "浜у搧", prop: "productName", productName: true, isRequird: true },
{ label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true },
- { label: "鑷�", prop: "toLocationId", toLocation: true },
+ { label: "鑷�", prop: "toLocationId", toLocation: true,isRequird: true },
{ label: "鏁伴噺", prop: "amount", inputFloat: true },
{ label: "璁¢噺鍗曚綅", prop: "unit" }
]
@@ -931,7 +1014,7 @@
inputContent(val, prop, row) {
this.countId = row.countId
this.tableData.map((item) => {
- if (item.countId === row.countId) {
+ if (item.id === row.id) {
item[prop] = val
}
})
@@ -1105,12 +1188,17 @@
// 婧愪綅缃�夋嫨
rootLocationChange(val){
this.editConfig.infomation.location=val
- this.productTableList.tableData.map((item)=>{
- console.log(item,"item")
- item.toLocationId={}
- item.fromLocationId={}
- })
- this.$refs.tableView.setLocationList(val.label)
+ // this.productTableList.tableData.map((item)=>{
+ // console.log(item,"item")
+ // // item.toLocationId={}
+ // // item.fromLocationId={}
+ // })
+ this.$refs.tableView.setLocationList(val.label,"fromLocation")
+ },
+ // 浠撳簱浣嶇疆閫夋嫨
+ toLocationChange(val){
+ this.editConfig.infomation.toLocation=val
+ this.$refs.tableView.setLocationList(val.label,"toLocation")
}
}
}
diff --git a/src/views/overview/OverviewListView.vue b/src/views/overview/OverviewListView.vue
index ed00252..974ba53 100644
--- a/src/views/overview/OverviewListView.vue
+++ b/src/views/overview/OverviewListView.vue
@@ -277,8 +277,14 @@
value:row.location.id||row.location.value,
label:row.location.jointName||row.location.label
}
+ row.toLocation={
+ value:row.toLocation.id||row.toLocation.value,
+ label:row.toLocation.jointName||row.toLocation.label
+ }
row.locationID=row.location.jointName
row.locationId=row.location.value
+
+ // row.tolocationId=row.tolocation.value
this.editConfig.infomation = { ...row }
},
// 鏂板缓
@@ -288,7 +294,7 @@
this.editConfig.operationTypeId = this.params.id
this.editConfig.code = this.params.code
this.editConfig.infomation = {
- location:{jointName:""}
+ // location:{jointName:""}
}
this.editConfig.visible = true
},
--
Gitblit v1.8.0