完善组批次管理页面

This commit is contained in:
liuyp 2024-06-11 21:15:24 +08:00
parent fbadae298a
commit 8e6f7d2a7b
2 changed files with 196 additions and 43 deletions

View File

@ -109,9 +109,9 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
@ -190,9 +190,9 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
@ -303,11 +303,11 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('目的国家')" prop="destCountry">
<el-form-item :label="$t('目的国家')" prop="receiveCountry">
<span slot="label">
<span style="color: red">{{ $t('目的国家') }}</span>
</span>
<CountryPicker :placeholder="$t('选择国家')" v-model="coData.destCountry" ></CountryPicker>
<CountryPicker :placeholder="$t('选择国家')" v-model="coData.receiveCountry" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
@ -462,9 +462,9 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
@ -535,8 +535,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('目的国家')" prop="destCountry">
<CountryPicker :placeholder="$t('选择国家')" v-model="wayBillData.destCountry" ></CountryPicker>
<el-form-item :label="$t('目的国家')" prop="receiveCountry">
<CountryPicker :placeholder="$t('选择国家')" v-model="wayBillData.receiveCountry" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
@ -615,9 +615,9 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />

View File

@ -44,8 +44,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="目的国" prop="destCountry">
<CountryPicker :placeholder="$t('目的国')" v-model="queryParams.destCountry" ></CountryPicker>
<el-form-item label="目的国" prop="receiveCountry">
<CountryPicker :placeholder="$t('目的国')" v-model="queryParams.receiveCountry" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
@ -158,16 +158,16 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
<el-table-column :label="$t('产品类型')" align="center" prop="productTypeName" min-width="100" />
<el-table-column :label="$t('预计到达时间')" align="center" prop="estimateDate" min-width="170">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.estimateDate, '{y}-{m}-{d}') }}</span>
<span>{{ parseTime(scope.row.estimateDate || '', '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" align="center" prop="parcelQty" min-width="100" />
@ -235,16 +235,16 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
<el-table-column :label="$t('产品类型')" align="center" prop="productTypeName" min-width="100" />
<el-table-column :label="$t('预计到达时间')" align="center" prop="estimateDate" min-width="170">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.estimateDate, '{y}-{m}-{d}') }}</span>
<span>{{ parseTime(scope.row.estimateDate || "", '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" align="center" prop="parcelQty" min-width="100" />
@ -310,9 +310,9 @@
<span class="ellipsis">{{ scope.row.remark }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destCountryName" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destCountryName }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
@ -479,6 +479,49 @@
</el-form-item>
</el-col>
</el-col>
<el-col :span="24">
<el-table :data="tableData" border style="width: 100%">
<!-- 表头1 -->
<el-table-column label="柜头" colspan="2">
<template slot-scope="scope">
<el-row>
<el-col :span="12">
<el-input v-model="scope.row[1]"></el-input>
</el-col>
<el-col :span="12">
<el-input v-model="scope.row[2]"></el-input>
</el-col>
</el-row>
</template>
</el-table-column>
<!-- 表头2 -->
<el-table-column label="中间" colspan="2">
<template slot-scope="scope">
<el-row>
<el-col :span="12">
<el-input v-model="scope.row[3]"></el-input>
</el-col>
<el-col :span="12">
<el-input v-model="scope.row[4]"></el-input>
</el-col>
</el-row>
</template>
</el-table-column>
<!-- 表头3 -->
<el-table-column label="柜尾" colspan="2">
<template slot-scope="scope">
<el-row>
<el-col :span="12">
<el-input v-model="scope.row[5]"></el-input>
</el-col>
<el-col :span="12">
<el-input v-model="scope.row[6]"></el-input>
</el-col>
</el-row>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
@ -552,16 +595,16 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
<el-table-column :label="$t('产品类型')" align="center" prop="productTypeName" min-width="100" />
<el-table-column :label="$t('预计到达时间')" align="center" prop="estimateDate" min-width="170">
<template slot-scope="scope">
<span>{{ parseTime(estimateDate) }}</span>
<span>{{ parseTime(estimateDate || '') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" align="center" prop="parcelQty" min-width="100" />
@ -631,7 +674,7 @@
</el-col>
<el-col :span="8">
<el-form-item :label="$t('目的国家')" prop="destCountry">
<CountryPicker :placeholder="$t('选择国家')" v-model="wayBillData.destCountry" ></CountryPicker>
<CountryPicker :placeholder="$t('选择国家')" v-model="wayBillData.receiveCountry" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
@ -714,16 +757,16 @@
<span class="ellipsis">{{ scope.row.sendCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('目的国家')" align="center" prop="destinationCounty" min-width="100">
<el-table-column :label="$t('目的国家')" align="center" prop="receiveCountryName" min-width="100">
<template slot-scope="scope">
<span class="ellipsis">{{ scope.row.destinationCounty }}</span>
<span class="ellipsis">{{ scope.row.receiveCountryName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('线路')" align="center" prop="transLineTypeName" min-width="100" />
<el-table-column :label="$t('产品类型')" align="center" prop="productTypeName" min-width="100" />
<el-table-column :label="$t('预计到达时间')" align="center" prop="estimateDate" min-width="170">
<template slot-scope="scope">
<span>{{ parseTime(estimateDate) }}</span>
<span>{{ parseTime(estimateDate || "") }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" align="center" prop="parcelQty" min-width="100" />
@ -769,7 +812,7 @@
<script>
import { listEmisTmsSiteBatch, getTmsGroupBatchNo, getEmisTmsSiteBatch, delEmisTmsSiteBatch, addEmisTmsSiteBatch, updateEmisTmsSiteBatch } from "@/api/emis/emisTmsSiteBatch";
import { listEmisTmsSiteBatchDtl, delEmisTmsSiteBatchDtl, addEmisTmsSiteBatchDtl } from "@/api/emis/emisTmsSiteBatchDtl";
import { addEmisTmsSiteBatchLoading } from "@/api/emis/emisTmsSiteBatchLoading";
import { addEmisTmsSiteBatchLoading, listEmisTmsSiteBatchLoading, updateEmisTmsSiteBatchLoading } from "@/api/emis/emisTmsSiteBatchLoading";
import { listEmisWaybill } from "@/api/emis/emisWaybill";
// import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import emisTmsPackForm from '@/views/emis/emisTmsPack/emisTmsPackForm';
@ -864,6 +907,16 @@ export default {
daterangeCreateTime: [],
// 更新网点时间范围
daterangeUpdateTime: [],
tableData:[
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
],
tableDataId:[
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
],
// 查询参数
queryParams: {
pageNum: 1,
@ -965,6 +1018,8 @@ export default {
this.queryWaitParams.params.endCreateTime = dateToStr(new Date(this.dateTimeRange[1]));
}
this.queryWaitParams.packNo = this.queryParams.packNo;
this.queryWaitParams.receiveCountry = this.queryParams.receiveCountry;
this.queryWaitParams.sendCountry = this.queryParams.sendCountry;
this.loadingWait = true;
this.queryWaitParams.params.isNeedBatch = 1;
@ -991,6 +1046,8 @@ export default {
this.queryDoneParams.params.endCreateTime = dateToStr(new Date(this.dateTimeRange[1]));
}
this.queryDoneParams.packNo = this.queryParams.packNo;
this.queryDoneParams.receiveCountry = this.queryParams.receiveCountry;
this.queryDoneParams.sendCountry = this.queryParams.sendCountry;
let resList = await listEmisTmsSiteBatchDtl(this.queryDoneParams);
this.loadingDone = false;
if(!resList || resList.code != 200){
@ -1071,14 +1128,14 @@ export default {
startSiteName: this.coData.startSiteName || null,
nextSiteCode: this.coData.nextSiteCode || null,
airBilllNo: this.coData.airBilllNo || null,
airTime: this.coData.airTime || null,
// airTime: this.coData.airTime || null,
// etd: this.coData.etd || null,
// eta: this.coData.eta || null,
// packNum: this.coData.packNum || null,
carNo: this.coData.carNo || null,
carTime: this.coData.carTime || null,
// carTime: this.coData.carTime || null,
shipNo: this.coData.shipNo || null,
shipTime: this.coData.shipTime || null,
// shipTime: this.coData.shipTime || null,
clearanceResStatus: this.coData.clearanceResStatus || null,
declareResStatus: this.coData.declareResStatus || null,
destCountry: this.coData.destCountry || null,
@ -1105,6 +1162,16 @@ export default {
// // packStatus: this.coData.,
// opMan: this.$store.getters.empCode
}
if(this.coData.transType == 2){
coPackItem.etd = parseTime(this.coData.airTime, '{y}-{m}-{d} {h}:{i}:{s}');
this.coData.etd = parseTime(this.coData.airTime, '{y}-{m}-{d} {h}:{i}:{s}');
}else if(this.coData.transType == 4){
coPackItem.etd = parseTime(this.coData.shipTime, '{y}-{m}-{d} {h}:{i}:{s}');
this.coData.etd = parseTime(this.coData.shipTime, '{y}-{m}-{d} {h}:{i}:{s}');
}else{
coPackItem.etd = parseTime(this.coData.carTime, '{y}-{m}-{d} {h}:{i}:{s}');
this.coData.etd = parseTime(this.coData.carTime, '{y}-{m}-{d} {h}:{i}:{s}');
}
if(this.coPackType == "add"){// 新增
let resPack = await getTmsGroupBatchNo();
if(!resPack || resPack.code != 200){
@ -1154,6 +1221,27 @@ export default {
// }
this.waitPackList=[];
}
// 新增配载数据 tableData
for(let lr = 0; lr < 3; lr++){
for(let ll = 0; ll < 6; ll++){
let batchLoadingData = {
batchNo: resPack.data,
posNo:lr+":"+ll+":1",
row: lr,
col: ll,
layer: 1,
posDesc:this.tableData[lr][ll],
remark:"",
tenantId:"",
}
let resLD = await addEmisTmsSiteBatchLoading(batchLoadingData);
if(!resLD || resLD.code != 200){
this.$modal.msgError(resLD && resLD.msg || '组批次配载明细新增失败')
return;
}
}
}
}else if(this.coPackType == "edit"){// 修改
//第一步:处理组批次信息的更新;
if(this.tempCoPackInfo.batchName != this.coData.batchName
@ -1161,16 +1249,16 @@ export default {
|| this.tempCoPackInfo.startSiteCode != this.coData.startSiteCode
|| this.tempCoPackInfo.nextSiteCode != this.coData.nextSiteCode
|| this.tempCoPackInfo.airBilllNo != this.coData.airBilllNo
|| this.tempCoPackInfo.airTime != this.coData.airTime
|| this.tempCoPackInfo.etd != this.coData.etd
|| this.tempCoPackInfo.carNo != this.coData.carNo
|| this.tempCoPackInfo.carTime != this.coData.carTime
// || this.tempCoPackInfo.carTime != this.coData.carTime
|| this.tempCoPackInfo.shipNo != this.coData.shipNo
|| this.tempCoPackInfo.shipTime != this.coData.shipTime
// || this.tempCoPackInfo.shipTime != this.coData.shipTime
|| this.tempCoPackInfo.totalWaybillQty != this.coData.totalWaybillQty
|| this.tempCoPackInfo.totalParcelQty != this.coData.totalParcelQty
|| this.tempCoPackInfo.totalWeight != this.coData.totalWeight
|| this.tempCoPackInfo.totalVolume != this.coData.totalVolume
|| this.tempCoPackInfo.loadingFile != this.coData.loadingFile
// || this.tempCoPackInfo.loadingFile != this.coData.loadingFile
){
this.tempCoPackInfo.batchName = this.coData.batchName;
this.tempCoPackInfo.transType = this.coData.transType;
@ -1178,11 +1266,11 @@ export default {
this.tempCoPackInfo.startSiteName = this.coData.startSiteName || null;
this.tempCoPackInfo.nextSiteCode = this.coData.nextSiteCode;
this.tempCoPackInfo.airBilllNo = this.coData.airBilllNo;
this.tempCoPackInfo.airTime = this.coData.airTime;
this.tempCoPackInfo.etd = this.coData.etd;
this.tempCoPackInfo.carNo = this.coData.carNo;
this.tempCoPackInfo.carTime = this.coData.carTime;
// this.tempCoPackInfo.carTime = this.coData.carTime;
this.tempCoPackInfo.shipNo = this.coData.shipNo;
this.tempCoPackInfo.shipTime = this.coData.shipTime;
// this.tempCoPackInfo.shipTime = this.coData.shipTime;
this.tempCoPackInfo.totalWaybillQty = this.coData.totalWaybillQty;
this.tempCoPackInfo.totalParcelQty = this.coData.totalParcelQty;
this.tempCoPackInfo.totalWeight = this.coData.totalWeight;
@ -1254,6 +1342,29 @@ export default {
// })
}
// })
// 修改配载数据
for(let lr = 0; lr < 3; lr++){
for(let ll = 0; ll < 6; ll++){
if(this.tempCoPackInfo.tableData[lr][ll] != this.tableData[lr][ll]){
let batchLoadingData = {
id: this.tempCoPackInfo.tableDataId[lr][ll],
// batchNo: resPack.data,
posDesc:this.tableData[lr][ll],
// row: lr,
// col: ll,
// layer: 1,
// posDesc:"",
// remark:"",
// tenantId:"",
}
let resLD = await updateEmisTmsSiteBatchLoading(batchLoadingData);
if(!resLD || resLD.code != 200){
this.$modal.msgError(resLD && resLD.msg || '组批次配载明细新增失败')
return;
}
}
}
}
}
this.openForm= false;
this.titleForm = "";
@ -1395,6 +1506,17 @@ export default {
this.coData.nextSiteCode = null;
this.coData.nextStation = null;
this.blUnpack = "1";
this.tableData = [
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
];
this.tableDataId=[
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
];
this.coData.startSiteCode = this.$store.getters.ownerSiteCode;
this.coData.startSiteName=this.$store.getters.ownerSiteName;
@ -1435,14 +1557,14 @@ export default {
this.coData.startSiteName = resData.startSiteName || null;
this.coData.nextSiteCode = resData.nextSiteCode || null;
this.coData.airBilllNo = resData.airBilllNo || null;
this.coData.airTime = resData.airTime || null;
// this.coData.airTime = resData.airTime || null;
// this.coData.etd = resData.etd || null;
// this.coData.eta = resData.eta || null;
// this.coData.packNum = resData.packNum || null;
this.coData.carNo = resData.carNo || null;
this.coData.carTime = resData.carTime || null;
// this.coData.carTime = resData.carTime || null;
this.coData.shipNo = resData.shipNo || null;
this.coData.shipTime = resData.shipTime || null;
// this.coData.shipTime = resData.shipTime || null;
this.coData.clearanceResStatus = resData.clearanceResStatus || null;
this.coData.declareResStatus = resData.declareResStatus || null;
this.coData.destCountry = resData.destCountry || null;
@ -1452,6 +1574,13 @@ export default {
this.coData.totalVolume = resData.totalVolume || null;
this.coData.totalWeight = resData.totalWeight || null;
if(resData.transType == 2){
this.coData.airTime = resData.etd;
}else if(resData.transType == 4){
this.coData.shipTime = resData.etd;
}else{
this.coData.carTime = resData.etd;
}
this.emisCoPackDetail=[];
let resList = await listEmisTmsSiteBatchDtl({batchNo: resData.batchNo});
if(!resList || resList.code != 200){
@ -1465,6 +1594,30 @@ export default {
}
this.coData.packStatus = this.tempCoPackInfo.packStatus;
this.coData.scanDate = this.tempCoPackInfo.scanDate;
let resLoadingList = await listEmisTmsSiteBatchLoading({batchNo: resData.batchNo});
if(!resLoadingList || resLoadingList.code != 200){
this.$message.error(resLoadingList && resLoadingList.msg || "未知错误");
return;
}
this.tempCoPackInfo.tableData = [
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
];
this.tempCoPackInfo.tableDataId=[
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' },
{ 1: '', 2: '', 3: '', 4: '', 5: '', 6: '' }
];
for(let p = 0; p < resLoadingList.rows.length;p++){
this.tempCoPackInfo.tableDataId[resLoadingList.rows[p].row][resLoadingList.rows[p].col] = resLoadingList.rows[p].id;
this.tempCoPackInfo.tableData[resLoadingList.rows[p].row][resLoadingList.rows[p].col] = resLoadingList.rows[p].posDesc;
this.tableData[resLoadingList.rows[p].row][resLoadingList.rows[p].col] = resLoadingList.rows[p].posDesc;
// this.emisCoPackDetail.push(resLoadingList.rows[p].waybillDetail);
}
this.computeTotal();
this.currentId=null;
this.openForm= true;