| | |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="130px"> |
| | | <el-tabs v-model="activeName" type="card"> |
| | | <el-tab-pane label="基本信息" name="first"> |
| | | <!-- 第一块:单据号、日期、源单号、承运商、客户 --> |
| | | <!-- 第一块:单据号、日期、源单号、承运商、客户 --> |
| | | <div class="form-group"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | |
| | | <el-col :span="6"> |
| | | <el-form-item label="源单号" prop="HMainSourceBillNo"> |
| | | <el-input v-model="form.HMainSourceBillNo" placeholder="请输入源单号"> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog(12)"></el-button> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(12)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-col :span="6"></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | |
| | | <el-col :span="6"> |
| | | <el-form-item label="客户" prop="HCusName"> |
| | | <el-input v-model="form.HCusName" placeholder="请输入客户"> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog(7)"></el-button> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(7)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <!-- 第二块:承运合同、始发地、目的地、车型、车型最大容积、距离、运输时效、运输类型、结算方式、币别、汇率、运费、总体积、装载率、运输方式 --> |
| | | <div class="form-group"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="始发地" prop="HBeginAddrName"> |
| | | <el-input v-model="form.HBeginAddrName" placeholder="请输入始发地"> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog(3, areaType = 'b')"></el-button> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(3, areaType = 'b')"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="目的地" prop="HEndAddrName"> |
| | | <el-input v-model="form.HEndAddrName" placeholder="请输入目的地"> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog(3, areaType = 'e')"></el-button> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(3, areaType = 'e')"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="车型" prop="HCarTypeName"> |
| | | <el-input v-model="form.HCarTypeName" placeholder="请输入车型"> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog(13)"></el-button> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(13)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="承运合同" prop="HContractTransportBillNo"> |
| | | <el-input v-model="form.HContractTransportBillNo" placeholder="请输入承运合同" > |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog(16)"></el-button> |
| | | <el-input v-model="form.HContractTransportBillNo" placeholder="请输入承运合同"> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(16)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-input v-model="form.HTransportTyep" placeholder="请输入运输类型" readonly /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="距离(公里)" prop="HDistance"> |
| | | <el-input v-model="form.HDistance" placeholder="请输入距离" readonly /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | |
| | | <el-col :span="6"> |
| | | <el-form-item label="运输时效" prop="HTransportTimes"> |
| | | <el-input v-model="form.HTransportTimes" placeholder="请输入运输时效" readonly /> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="组织" prop="HOrgID"> |
| | | <el-select v-model="form.HOrgID" placeholder="请选择组织" @change="organizationChange" disabled> |
| | | <el-select v-model="form.HOrgID" placeholder="请选择组织" |
| | | @change="organizationChange" disabled> |
| | | <el-option v-for="(item, index) in organizationList" :key="index" |
| | | :label="item.Name" :value="item.ID"> |
| | | </el-option> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="form-group"> |
| | | <div class="form-group"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="车型最大容积" prop="HCarTypeMaxVolume"> |
| | |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="总体积(立方米)" prop="HTotalVolume"> |
| | | <el-input v-model="form.HTotalVolume" placeholder="请输入总体积" disabled/> |
| | | <el-input v-model="form.HTotalVolume" placeholder="请输入总体积" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="装载率" prop="HLoadingRate"> |
| | | <el-input v-model="form.HLoadingRate" placeholder="请输入装载率" disabled/> |
| | | <el-input v-model="form.HLoadingRate" placeholder="请输入装载率" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-col :span="6"> |
| | | <el-form-item label="结算方式" prop="HSSName"> |
| | | <el-input v-model="form.HSSName" placeholder="请输入结算方式"> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDataDialog('暂无')"></el-button> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog('暂无')"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="运费" prop="HMoney"> |
| | | <el-input v-model="form.HMoney" placeholder="请输入运费" /> |
| | | </el-form-item> |
| | |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="物流信息" name="forth"> |
| | | <div class="form-group"> |
| | | <div class="form-group"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="物流状态" prop="HCarryStatus"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="承运商确认日期" prop="HDate_CarrierSure"> |
| | | <el-date-picker v-model="form.HDate_CarrierSure" type="date" placeholder="选择承运商确认日期" |
| | | format="yyyy-MM-dd hh:mm:ss" disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-form-item label="承运商确认日期" prop="HDate_CarrierSure"> |
| | | <el-date-picker v-model="form.HDate_CarrierSure" type="date" |
| | | placeholder="选择承运商确认日期" format="yyyy-MM-dd hh:mm:ss" disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="分配司机日期" prop="HDate_AllocationDriver"> |
| | | <el-date-picker v-model="form.HDate_AllocationDriver" type="date" |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="到厂确认时间" prop="HDate_Arrive"> |
| | | <el-date-picker v-model="form.HDate_Arrive" type="date" format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="选择到厂确认时间" disabled> |
| | | <el-date-picker v-model="form.HDate_Arrive" type="date" |
| | | format="yyyy-MM-dd HH:mm:ss" placeholder="选择到厂确认时间" disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="提货确认时间" prop="HDate_Pick"> |
| | | <el-date-picker v-model="form.HDate_Pick" type="date" format="yyyy-MM-dd hh:mm:ss" |
| | | placeholder="选择提货确认时间" disabled> |
| | | <el-date-picker v-model="form.HDate_Pick" type="date" |
| | | format="yyyy-MM-dd hh:mm:ss" placeholder="选择提货确认时间" disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="出厂运输确认时间" prop="HDate_Trans"> |
| | | <el-date-picker v-model="form.HDate_Trans" type="date" format="yyyy-MM-dd hh:mm:ss" |
| | | placeholder="选择到出厂运输确认时间" disabled> |
| | | <el-date-picker v-model="form.HDate_Trans" type="date" |
| | | format="yyyy-MM-dd hh:mm:ss" placeholder="选择到出厂运输确认时间" disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="制单日期" prop="HMakeDate"> |
| | | <el-date-picker v-model="form.HMakeDate" type="date" placeholder="选择制单日期" disabled> |
| | | <el-date-picker v-model="form.HMakeDate" type="date" placeholder="选择制单日期" |
| | | disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="审核日期" prop="HCheckDate"> |
| | | <el-date-picker v-model="form.HCheckDate" type="date" placeholder="选择审核日期" disabled> |
| | | <el-date-picker v-model="form.HCheckDate" type="date" placeholder="选择审核日期" |
| | | disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="关闭日期" prop="HCloseDate"> |
| | | <el-date-picker v-model="form.HCloseDate" type="date" placeholder="选择关闭日期" disabled> |
| | | <el-date-picker v-model="form.HCloseDate" type="date" placeholder="选择关闭日期" |
| | | disabled> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <span>{{ scope.row.HStandardQtyForMouldInPack }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | |
| | | <el-table-column align="center" label="物料数量" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.HQty" :min="0" style="width: 120px;" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="托数" width="120"> |
| | | <template slot-scope="scope"> <!--HPackQTY=HMouldQty/HStandardQtyForMouldInPack --> |
| | | <template slot-scope="scope"> <!--HPackQTY=HMouldQty/HStandardQtyForMouldInPack --> |
| | | <el-input-number v-model="scope.row.HPackQTY" :min="0" style="width: 90px;" |
| | | controls-position="right" |
| | | @change="changeHPackQty(scope.row)"></el-input-number> |
| | | controls-position="right" @change="changeHPackQty(scope.row)"></el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="托单位体积" width="120"> |
| | |
| | | </el-table-column> |
| | | <el-table-column align="center" label="体积" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.HVolume" :min="0" style="width: 90px;" |
| | | controls-position="right" |
| | | @change="changeHVolume(scope.row)"></el-input-number> |
| | | <el-input-number v-model="scope.row.HVolume" :min="0" style="width: 90px;" |
| | | controls-position="right" @change="changeHVolume(scope.row)"></el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="零单占用体积" width="120"> |
| | |
| | | <GyCar @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyCarShow" /> |
| | | <GyDriver @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyDriverShow" /> |
| | | <ContractTransport @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" |
| | | v-if="ContractTransportShow" :propHBeginAddrName="form.HBeginAddr" :propHBeginHEndAddrName="form.HEndAddr" :propHCarTypeName="form.HCarTypeID"/> |
| | | v-if="ContractTransportShow" :propHBeginAddrName="form.HBeginAddr" |
| | | :propHBeginHEndAddrName="form.HEndAddr" :propHCarTypeName="form.HCarTypeID" /> |
| | | <GyMaterialPackingRelation @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" |
| | | :propHMaterID="editData[zbIndex].HMaterID" :propHOrgID="form.HOrgID" |
| | | v-if="gyMaterialPackingRelationShow" /> |
| | |
| | | this.form.HCurID = deptRow[0]["HCurID"] |
| | | this.form.HExRate = deptRow[0]["汇率"] |
| | | // 检查是否所有记录属于同一客户 |
| | | for (var i = 0; i < deptRow.length; i++) { |
| | | if (deptRow[i]["HCusID"] != this.form.HCusID) { |
| | | this.$modal.msgError("下推失败!已经选中的记录中存在不同客户,请确保选择的源单属于同一客户!"); |
| | | this.xsSeOutStockBillShow = false; |
| | | this.openData = false; |
| | | return; |
| | | } |
| | | } |
| | | //for (var i = 0; i < deptRow.length; i++) { |
| | | // if (deptRow[i]["HCusID"] != this.form.HCusID) { |
| | | // this.$modal.msgError("下推失败!已经选中的记录中存在不同客户,请确保选择的源单属于同一客户!"); |
| | | // this.xsSeOutStockBillShow = false; |
| | | // this.openData = false; |
| | | // return; |
| | | // } |
| | | //} |
| | | |
| | | // 检查新选择的源单是否已经在子表中存在 |
| | | var isDuplicate = this.checkDuplicateSource(deptRow); |
| | |
| | | materialMap[materialId] = []; |
| | | } |
| | | materialMap[materialId].push({ |
| | | HMaterID:dataArray[i].HMaterID, |
| | | HMaterID: dataArray[i].HMaterID, |
| | | hmainid: dataArray[i].hmainid, |
| | | hsubid: dataArray[i].hsubid, |
| | | 单据号: dataArray[i].单据号 |
| | |
| | | "ListMaterial": ListMaterial |
| | | }, |
| | | }); |
| | | |
| | | console.log(response) |
| | | let result = response.data; |
| | | if (result.count == 1) { |
| | | let res = result.data; |
| | | console.log(11,res) |
| | | var newRows = []; |
| | | // 为每个源单行创建对应的子表行 |
| | | for (var materialId in materialMap) { |
| | | var sourceInfos = materialMap[materialId]; |
| | | console.log("发货通知单数据",dataArray) |
| | | console.log("1发货通知单数据",dataArray[0]) |
| | | if(res.length===0) |
| | | { |
| | | console.log("发货通知单数据", dataArray) |
| | | console.log("1发货通知单数据", dataArray[0]) |
| | | if (res.length === 0) { |
| | | // 为每个源单行创建一条记录 |
| | | for (var j = 0; j < sourceInfos.length; j++) { |
| | | var sourceInfo = sourceInfos[j]; |
| | |
| | | var mouldQty = 0; |
| | | var HPackQTY = 0; |
| | | var rowVolume = 0; |
| | | // if |
| | | // console.log(dataArray[j].容器数量 / 托) |
| | | newRows.push({ |
| | | "HSourceInterID": sourceInfo.hmainid, |
| | | "HSourceEntryID": sourceInfo.hsubid, |
| | |
| | | "HMaterNumber": dataArray[j].物料代码, |
| | | "HMaterName": dataArray[j].物料名称, |
| | | "HUnitID": dataArray[j].HUnitID, |
| | | "HPackV": dataArray[j].托单位体积, |
| | | "HStandardQtyForMouldInPack": dataArray[j].容器数量/托, |
| | | |
| | | "HMouldID": 0, |
| | | "HMouldNumber": '', |
| | | "HMouldName": '', |
| | |
| | | HScatteredVolume: 0, |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | // 查找该物料ID对应的包装容器信息 |
| | | var materialInfo = null; |
| | | for (var i = 0; i < res.length; i++) { |
| | |
| | | } |
| | | } |
| | | if (materialInfo) { |
| | | // 为每个源单行创建一条记录 |
| | | for (var j = 0; j < sourceInfos.length; j++) { |
| | | var sourceInfo = sourceInfos[j]; |
| | | // 为每个源单行创建一条记录 |
| | | for (var j = 0; j < sourceInfos.length; j++) { |
| | | var sourceInfo = sourceInfos[j]; |
| | | |
| | | // 再次检查是否已存在(双重保险) |
| | | var isExist = false; |
| | | for (var k = 0; k < existingData.length; k++) { |
| | | if (existingData[k].HSourceInterID == sourceInfo.hmainid && |
| | | existingData[k].HSourceEntryID == sourceInfo.hsubid) { |
| | | isExist = true; |
| | | break; |
| | | // 再次检查是否已存在(双重保险) |
| | | var isExist = false; |
| | | for (var k = 0; k < existingData.length; k++) { |
| | | if (existingData[k].HSourceInterID == sourceInfo.hmainid && |
| | | existingData[k].HSourceEntryID == sourceInfo.hsubid) { |
| | | isExist = true; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (isExist) { |
| | | this.$modal.msgError(`源单${sourceInfo.单据号}已存在,跳过`); |
| | | continue; |
| | | } |
| | | if (isExist) { |
| | | this.$modal.msgError(`源单${sourceInfo.单据号}已存在,跳过`); |
| | | continue; |
| | | } |
| | | |
| | | // 计算相关数量 |
| | | var qty = orginHQTY || 0; |
| | | var snp = materialInfo.HSNP || 0; |
| | | var mouldQty = 0; |
| | | |
| | | if (snp > 0) { |
| | | mouldQty = Math.ceil(qty / snp); |
| | | } |
| | | |
| | | var HPackQTY = 0; |
| | | if (materialInfo.HStandardQtyForMouldInPack > 0 && mouldQty > 0) { |
| | | HPackQTY = Math.ceil(mouldQty / materialInfo.HStandardQtyForMouldInPack); |
| | | } |
| | | |
| | | var rowVolume = (HPackQTY * materialInfo.HPackV).toFixed(2); |
| | | newRows.push({ |
| | | "HSourceInterID": sourceInfo.hmainid, |
| | | "HSourceEntryID": sourceInfo.hsubid, |
| | | "HSourceBillNo": sourceInfo.单据号, |
| | | "HMaterID": materialInfo.HMaterID, |
| | | "HMaterNumber": materialInfo.物料代码, |
| | | "HMaterName": materialInfo.物料名称, |
| | | "HUnitID": materialInfo.HUnitID, |
| | | "HMouldID": materialInfo.HMouldID, |
| | | "HMouldNumber": materialInfo.HMouldNumber, |
| | | "HMouldName": materialInfo.HMouldName, |
| | | "HMouldLength": materialInfo.长度, |
| | | "HMouldWidth": materialInfo.宽度, |
| | | "HMouldHeight": materialInfo.高度, |
| | | "HMouldFoldHeight": materialInfo.折叠高度, |
| | | "HQty": orginHQTY, |
| | | "HQty_origin": orginHQTY, |
| | | "HMouldQty": mouldQty, |
| | | "HVolume": rowVolume, |
| | | "HSNP": materialInfo.HSNP, |
| | | HScatteredVolume: 0, |
| | | "HPackV": materialInfo.HPackV, |
| | | "HStandardQtyForMouldInPack": materialInfo.HStandardQtyForMouldInPack, |
| | | "HPackQTY": HPackQTY, |
| | | }); |
| | | this.form.HTotalVolume=this.form.HTotalVolume*1+rowVolume *1 |
| | | // 计算相关数量 |
| | | var qty = orginHQTY || 0; |
| | | var snp = materialInfo.HSNP || 0; |
| | | var mouldQty = 0; |
| | | |
| | | if (snp > 0) { |
| | | mouldQty = Math.ceil(qty / snp); |
| | | } |
| | | |
| | | var HPackQTY = 0; |
| | | if (materialInfo.HStandardQtyForMouldInPack > 0 && mouldQty > 0) { |
| | | HPackQTY = Math.ceil(mouldQty / materialInfo.HStandardQtyForMouldInPack); |
| | | } |
| | | |
| | | var rowVolume = (HPackQTY * materialInfo.HPackV).toFixed(2); |
| | | newRows.push({ |
| | | "HSourceInterID": sourceInfo.hmainid, |
| | | "HSourceEntryID": sourceInfo.hsubid, |
| | | "HSourceBillNo": sourceInfo.单据号, |
| | | "HMaterID": materialInfo.HMaterID, |
| | | "HMaterNumber": materialInfo.物料代码, |
| | | "HMaterName": materialInfo.物料名称, |
| | | "HUnitID": materialInfo.HUnitID, |
| | | "HMouldID": materialInfo.HMouldID, |
| | | "HPackV": dataArray[j].托单位体积, |
| | | "HStandardQtyForMouldInPack": dataArray[j].容器数量 / 托, |
| | | "HMouldNumber": materialInfo.HMouldNumber, |
| | | "HMouldName": materialInfo.HMouldName, |
| | | "HMouldLength": materialInfo.长度, |
| | | "HMouldWidth": materialInfo.宽度, |
| | | "HMouldHeight": materialInfo.高度, |
| | | "HMouldFoldHeight": materialInfo.折叠高度, |
| | | "HQty": orginHQTY, |
| | | "HQty_origin": orginHQTY, |
| | | "HMouldQty": mouldQty, |
| | | "HVolume": rowVolume, |
| | | "HSNP": materialInfo.HSNP, |
| | | HScatteredVolume: 0, |
| | | "HPackV": materialInfo.HPackV, |
| | | "HStandardQtyForMouldInPack": materialInfo.HStandardQtyForMouldInPack, |
| | | "HPackQTY": HPackQTY, |
| | | }); |
| | | this.form.HTotalVolume = this.form.HTotalVolume * 1 + rowVolume * 1 |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | this.$modal.msgError("请选择一行数据") |
| | | } else { |
| | | let copyRow = JSON.parse(JSON.stringify(this.zbSelForm)) |
| | | copyRow.HPackQTY=0, |
| | | copyRow.HMouldQty=0, |
| | | copyRow.HQty=0, |
| | | copyRow.HVolume=0 |
| | | copyRow.HScatteredVolume=0 |
| | | copyRow.HPackQTY = 0, |
| | | copyRow.HMouldQty = 0, |
| | | copyRow.HQty = 0, |
| | | copyRow.HVolume = 0 |
| | | copyRow.HScatteredVolume = 0 |
| | | this.editData.push(copyRow); |
| | | } |
| | | }, |
| | |
| | | let HPackQty = 0; |
| | | const standardQty = parseFloat(this.editData[row.index - 1].HStandardQtyForMouldInPack) || 0; |
| | | const mouldQty = parseFloat(row.HMouldQty) || 0; |
| | | |
| | | |
| | | if (standardQty > 0 && mouldQty > 0) { |
| | | HPackQty = Math.ceil(mouldQty / standardQty); |
| | | } else { |
| | |
| | | this.$message.warning('容器数量/托为0,托数将被设置为0'); |
| | | } |
| | | } |
| | | |
| | | |
| | | if (!HPackQty || HPackQty == 'Infinity') { |
| | | this.editData[row.index - 1].HPackQTY = 0; |
| | | } else { |
| | |
| | | const packQty = parseFloat(this.editData[this.zbIndex].HPackQTY) || 0; |
| | | const packV = parseFloat(this.editData[this.zbIndex].HPackV) || 0; |
| | | let Volume = ((packQty * packV).toFixed(2)) - 0; |
| | | |
| | | |
| | | if (!Volume) { |
| | | this.editData[this.zbIndex].HVolume = 0; |
| | | } else { |
| | | this.editData[this.zbIndex].HVolume = Volume; |
| | | } |
| | | |
| | | |
| | | this.form.HTotalVolume = 0; |
| | | this.editData.map(item => { |
| | | this.form.HTotalVolume = Number(item.HVolume) + this.form.HTotalVolume; |
| | |
| | | //#region 体积值变化处理 |
| | | changeHVolume(row) { |
| | | this.zbIndex = row.index - 1; |
| | | |
| | | |
| | | // 确保体积值有效 |
| | | const volume = parseFloat(row.HVolume) || 0; |
| | | this.editData[this.zbIndex].HVolume = volume; |
| | | |
| | | |
| | | // 更新表头总体积 |
| | | this.form.HTotalVolume = 0; |
| | | this.editData.map(item => { |
| | | this.form.HTotalVolume = Number(item.HVolume) + this.form.HTotalVolume; |
| | | }); |
| | | |
| | | |
| | | // 更新装载率 |
| | | this.calculateLoadingRate(parseFloat(this.form.HTotalVolume || 0)); |
| | | }, |
| | |
| | | } |
| | | }, |
| | | //#endregion |
| | | checkTotalQtyExceed(selRow) { |
| | | checkTotalQtyExceed(selRow) { |
| | | var tableData = this.editData |
| | | if (!tableData || tableData.length === 0) return; |
| | | var sourceQtyMap = {}; |
| | |
| | | const SNP = parseFloat(this.editData[selRow.index - 1].HSNP) || 0; |
| | | const HQty = parseFloat(selRow.HQty) || 0; |
| | | let warningMessages = []; |
| | | |
| | | |
| | | if (SNP > 0) { |
| | | let MouldQty = Math.ceil(HQty / SNP); |
| | | if (!MouldQty || MouldQty == 'Infinity') { |
| | |
| | | this.editData[selRow.index - 1].HMouldQty = 0; |
| | | warningMessages.push('标准包装数量为0,包装容器数量将被设置为0'); |
| | | } |
| | | |
| | | |
| | | const standardQtyForMouldInPack = parseFloat(this.editData[selRow.index - 1].HStandardQtyForMouldInPack) || 0; |
| | | const HMouldQty = parseFloat(this.editData[selRow.index - 1].HMouldQty) || 0; |
| | | |
| | | |
| | | if (standardQtyForMouldInPack > 0 && HMouldQty > 0) { |
| | | let HPackQTY = Math.ceil(HMouldQty / standardQtyForMouldInPack); |
| | | if (!HPackQTY || HPackQTY == 'Infinity') { |
| | |
| | | } |
| | | this.editData[selRow.index - 1].HPackQTY = 0; |
| | | } |
| | | |
| | | |
| | | if (warningMessages.length > 0) { |
| | | this.$message.warning(warningMessages.join(';')); |
| | | } |
| | | |
| | | |
| | | const HPackQTY = parseFloat(this.editData[selRow.index - 1].HPackQTY) || 0; |
| | | const HPackV = parseFloat(this.editData[selRow.index - 1].HPackV) || 0; |
| | | let HVolume = ((HPackQTY * HPackV).toFixed(2)) - 0; |
| | |
| | | } else { |
| | | this.editData[selRow.index - 1].HVolume = HVolume; |
| | | } |
| | | |
| | | |
| | | this.form.HTotalVolume = 0; |
| | | this.editData.map(item => { |
| | | this.form.HTotalVolume = Number(item.HVolume) + this.form.HTotalVolume; |
| | | }); |
| | | this.calculateLoadingRate(parseFloat(this.form.HTotalVolume || 0)); |
| | | |
| | | |
| | | return false; // 表示没有超出 |
| | | }, |
| | | //#region 附件上传相关方法 |
| | |
| | | .xsckdBox .el-date-editor.el-input { |
| | | width: 100%; |
| | | } |
| | | |
| | | .form-group { |
| | | border: 1px solid #ddd; /* 灰色边框 */ |
| | | padding: 15px; /* 内边距,让内容与边框有间距 */ |
| | | border-radius: 4px; /* 可选圆角 */ |
| | | margin-bottom: 20px; /* 保持原有的下边距 */ |
| | | border: 1px solid #ddd; |
| | | /* 灰色边框 */ |
| | | padding: 15px; |
| | | /* 内边距,让内容与边框有间距 */ |
| | | border-radius: 4px; |
| | | /* 可选圆角 */ |
| | | margin-bottom: 20px; |
| | | /* 保持原有的下边距 */ |
| | | } |
| | | </style> |