| | |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <!-- <el-col :span="24"> |
| | | <el-form-item label="关联项目:" prop="projectId"> |
| | | <el-select |
| | | v-model="editConfig.infomation.projectId" |
| | | placeholder="请选择" |
| | | size="mini" |
| | | :disabled="true" |
| | | > |
| | | <el-option |
| | | v-for="item in projectList" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="24"> |
| | | </el-col> --> |
| | | <el-col :span="24"> |
| | | <el-form-item label="发货仓库" prop="addressee"> |
| | | <el-select v-model="value" placeholder="请选择"> |
| | | <el-select v-model="value" placeholder="请选择" @change="optionsChange"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | :key="item.warehouseId" |
| | | :label="item.warehouseName" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="product-view" v-if="isCommonShow"> |
| | |
| | | <script> |
| | | import CommonFormTableView from "@/components/makepager/CommonFormTableView" |
| | | import { getAllData } from "@/api/client/client" |
| | | import { getProjectList,getDeliveryPrepareInfo,confirmOutput } from "@/api/sales/salesDetails" |
| | | import { getProjectList,getDeliveryPrepareInfo,confirmOutput,getDeliveryPrepareInfoByWarehouse } from "@/api/sales/salesDetails" |
| | | import codeMixin from "@/components/makepager/mixin/codeMixin" |
| | | import { getSaleChanceList } from "@/api/sales/salesOpportunity" |
| | | import { getDataByType } from "@/api/data" |
| | |
| | | return time.getTime() > Date.now() |
| | | } |
| | | }, |
| | | options: [{ |
| | | value: '1', |
| | | label: '仓库1--库存不足的情况' |
| | | }, { |
| | | value: '2', |
| | | label: '仓库1--库存充足的情况' |
| | | }], |
| | | options: [], |
| | | value:"", |
| | | shipmentsList:[], |
| | | shipmentsMsg:"", |
| | | dissatisfy:false, // 一次发货-不足 |
| | | completely:false, // 多次发货,充足 |
| | | isCommonShow:true, |
| | | warehouseId:null, |
| | | } |
| | | }, |
| | | mounted(){ |
| | |
| | | this.getDeliveryPrepareInfo({ |
| | | saleDetailID: this.editCommonConfig.infomation.saleDetailID, |
| | | saleDetailNumber: this.editCommonConfig.infomation.saleDetailNumber |
| | | }) |
| | | this.getDeliveryPrepareInfoByWarehouse({ |
| | | groupByWarehouse: true, |
| | | saleDetailID: this.editCommonConfig.infomation.saleDetailID, |
| | | saleDetailNumber: this.editCommonConfig.infomation.saleDetailNumber |
| | | }) |
| | | }, |
| | | watch: { |
| | |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | const params = this.saveParams() |
| | | console.log(params,"参数") |
| | | let isShipments=false |
| | | let shipmentsNum=false |
| | | this.shipmentsList.map((item)=>{ |
| | |
| | | if(item.outputAmount>item.availableAmount||item.outputAmount>item.leftAmount){ |
| | | isShipments=true |
| | | }else if(item.outputAmount===0){ |
| | | shipmentsNum=true |
| | | }else if(!item.outputAmount){ |
| | | shipmentsNum=true |
| | | }else if(item.leftAmount<=0){ |
| | | isShipments=true |
| | |
| | | saveParams() { |
| | | let params = { |
| | | products:[], |
| | | saleDetailNumber:this.editCommonConfig.infomation.saleDetailNumber |
| | | saleDetailNumber:this.editCommonConfig.infomation.saleDetailNumber, |
| | | warehouseId:this.warehouseId |
| | | } |
| | | this.shipmentsList.map((item)=>{ |
| | | let obj={ |
| | |
| | | var restaurants = [] |
| | | if (value === "client") { |
| | | restaurants = this.clientList |
| | | console.log(restaurants, "客户单") |
| | | } else if (value === "chance") { |
| | | restaurants = this.saleChancelist |
| | | } else if (value === "subbill") { |
| | |
| | | pageSize: 100 |
| | | }).then((res) => { |
| | | this.projectList = res.data |
| | | // if(res&&res.data.length>0){ |
| | | // this.editConfig.infomation.projectId=res.data[0].projectId |
| | | // } |
| | | }) |
| | | }, |
| | | // 销售负责人自定义校验规则 |
| | |
| | | this.shipmentsList.push(item) |
| | | } |
| | | }) |
| | | console.log(portion,"portion2") |
| | | if(portion===0){// 没有产品满足发货条件 |
| | | this.completely=false |
| | | this.dissatisfy=true |
| | |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 按仓库进行发货 |
| | | async getDeliveryPrepareInfoByWarehouse(params){ |
| | | await getDeliveryPrepareInfoByWarehouse(params).then((res)=>{ |
| | | this.options=res.data |
| | | }) |
| | | }, |
| | | // 选择仓库 |
| | | optionsChange(val){ |
| | | this.warehouseId=val.warehouseId |
| | | this.productTableList.tableData=val.storeInfoList||[] |
| | | if(this.editConfig.infomation.deliverType===1){ |
| | | let portion=0 |
| | | this.productTableList.tableData.map((item)=>{ |
| | | item.availableAmount=Number(item.availableAmount) |
| | | item.leftAmount=Number(item.leftAmount) |
| | | item.finishAmount=Number(item.finishAmount) |
| | | item.orderAmount=Number(item.orderAmount) |
| | | if(item.availableAmount>=item.leftAmount&&item.availableAmount>0&&item.leftAmount>0){ |
| | | portion++ |
| | | this.shipmentsList.push(item) |
| | | } |
| | | }) |
| | | if(portion===0){// 没有产品满足发货条件 |
| | | this.completely=false |
| | | this.dissatisfy=true |
| | | this.shipmentsMsg="可用库存或未发货数量为0或当前可用库存不满足未发货数量,不能完成一次发货" |
| | | }else if(portion>0&&portion<this.productTableList.tableData.length){ |
| | | this.dissatisfy=false |
| | | this.completely=true |
| | | this.shipmentsMsg="只能满足部分发货需求,是否确认发货" |
| | | // 部分产品满足发货条件 |
| | | }else{ |
| | | this.dissatisfy=false |
| | | this.completely=true |
| | | this.shipmentsMsg="能满足发货需求,直接发货吧" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |