| | |
| | | ></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" |
| | |
| | | :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}" |
| | |
| | | </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 |
| | |
| | | :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> |
| | |
| | | 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"] }] |
| | |
| | | supplierOptions: [], //供应商 |
| | | clientOptions: [], //客户 |
| | | memberOptions: [{ id: 1, name: "管理员" }], |
| | | toLocationOptions: [], // 源位置 仓库位置 |
| | | formLocationOptions:[],// 源位置 |
| | | toLocationOptions: [], // 仓库位置 |
| | | showButton: true, |
| | | activeName: "first", |
| | | productTableList: {}, |
| | |
| | | } |
| | | 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(){ |
| | | }, |
| | |
| | | }) |
| | | } |
| | | }, |
| | | // 获取仓库位置列表 |
| | | // 获取源位置/仓库位置列表 |
| | | 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) => { |
| | |
| | | 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 |
| | | // }) |
| | | // } |
| | | // 产品列表解构 |
| | | if(this.editConfig.title === "编辑"){ |
| | | if(this.editConfig.title === "编辑"||this.editConfig.title === "查看"){ |
| | | let arr=[] |
| | | if(this.workType===1){ |
| | | params.details.map((item)=>{ |
| | |
| | | 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 |
| | |
| | | requestUrl({ |
| | | ...params |
| | | }).then((res) => { |
| | | console.log(res) |
| | | this.editConfig.visible = false |
| | | if (res.code === 200) { |
| | | if (this.editConfig.title === "新建") { |
| | |
| | | this.$message.success("编辑成功") |
| | | } |
| | | this.$parent.getData() |
| | | }else{ |
| | | this.$message.success(res.msg) |
| | | } |
| | | }) |
| | | } |
| | |
| | | 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 |
| | | }, |
| | |
| | | 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" } |
| | | ] |
| | |
| | | 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 |
| | | } |
| | | }) |
| | |
| | | // 源位置选择 |
| | | 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") |
| | | } |
| | | } |
| | | } |