This commit is contained in:
linfso 2025-02-14 15:57:04 +08:00
parent 2efa0b3ca0
commit 5cae18001f
5 changed files with 311 additions and 144 deletions

View File

@ -9,6 +9,15 @@ export function listEmisSupplier(query) {
})
}
// 查询公司供应商表列表 ,简化数据
export function listSimpleEmisSupplier(query) {
return request({
url: '/emis/emisSupplier/listSimple',
method: 'get',
params: query
})
}
// 查询公司供应商表详细
export function getEmisSupplier(id) {
return request({

View File

@ -246,9 +246,11 @@
<script>
import { listEmisTmsCostFee, getEmisTmsCostFee, delEmisTmsCostFee, addEmisTmsCostFee, updateEmisTmsCostFee } from "@/api/emis/emisTmsCostFee";
import {listEmisSettleSubBill} from "@/api/emis/emisSettleSubBill";
import EmisTmsSiteBatchPicker from '@/views/emis/EmisBaseTools/EmisTmsSiteBatchPicker';
import { listEmisTmsSiteBatchDtl} from "@/api/emis/emisTmsSiteBatchDtl";
import EmisTmsSiteBatchPicker from '@/views/emis/EmisBaseTools/EmisTmsSiteBatchPicker';
import EmisSupplierPicker from '@/views/emis/EmisBaseTools/EmisSupplierPicker';
export default {
name: "emisTmsCostFeeForm",
props:{
@ -256,7 +258,7 @@ export default {
type:Number
}
},
components: { EmisTmsSiteBatchPicker },
components: { EmisTmsSiteBatchPicker,EmisSupplierPicker },
dicts: ['emis_cost_fee_type','emis_supplier_name','emis_cost_split_type','emis_biz_shipping_method','emis_payment_type'],
data() {
return {

View File

@ -1,22 +1,53 @@
<template>
<div style="margin-bottom: 20px;">
<el-form ref="formCo" size="mini" :model="coData" :rules="coRules" :disabled="disabled" label-width="80px" class="overflowhidden" >
<el-form ref="form" size="mini" :model="form" :rules="rules" :disabled="disabled" label-width="80px" class="overflowhidden" >
<el-row :gutter="20" style="display: flex;flex-wrap: wrap;">
<el-col :span="16" style="border-right: 1px solid #e4e1e1;">
<el-col :span="19" style="border-right: 1px solid #e4e1e1;">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="6">
<el-form-item :label="$t('批次号')" prop="batchNo">
<el-input v-model="coData.batchNo" placeholder="自动生成" disabled />
<el-input v-model="form.batchNo" placeholder="自动生成" disabled />
<!-- <span>{{ form.batchNo }}</span> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('批次名称')" prop="batchName">
<el-input v-model="coData.batchName" clearable="" placeholder=""></el-input>
<el-col :span="10">
<el-form-item :label="$t('批次名称')" prop="batchName" label-width="110px">
<span slot="label">
<el-tooltip placement="top">
<div slot="content" class="tips-content text-tips-content">
<span>批次名称规则:</span><br>
<div class="rule-box">
1)快递(E):<br>
快递(E)-南京分拨中心(NJ)-供应商-昆明(KM)-250113-提单号<br>
ENJDHKM250113+提单号<br>
2)空运(A):<br>
空运(A)-南京分拨中心(NJ)-供应商-昆明(KM)-250113-提单号<br>
ANJNHKM250113+提单号<br>
3)陆运(L):<br>
陆运(L)-南京分拨中心(NJ)-供应商-昆明(KM)-250113-车牌<br>
LNJJTKM250113+车牌<br>
4)海运(S):<br>
海运(S)-上海-供应商-西港-250113-提单号<br>
SSHXG250113+提单号<br>
5)铁路(R):<br>
铁路(R)-上海-供应商-南宁-250113-集装箱号<br>
RSHNN250113+集装箱号<br>
6)国内进仓(D):<br>
同行(D)-上海-供应商-南京分拨中心-250113-运单号/订单号 (顺丰、跨越、百世、安能、中通、申通、货拉拉、运满满等)<br>
DSHNN250113+运单号/订单号<br>
</div>
</div>
<i class="el-icon-question" />
</el-tooltip>
<span >批次名称:</span>
</span>
<el-input v-model="form.batchName" clearable="" placeholder="" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item :label="$t('批次类型')" prop="batchType">
<el-select v-model="coData.batchType" placeholder="" style="width:100%">
<el-select v-model="form.batchType" placeholder="" style="width:100%">
<el-option key="1" label="一程批次" value="1"></el-option>
<el-option key="2" label="二程批次" value="2"></el-option>
<el-option key="4" label="三程批次" value="4"></el-option>
@ -27,29 +58,24 @@
<el-col :span="8">
<el-form-item :label="$t('起始网点')" prop="startSiteCode">
<EmisSiteSimplePicker :placeholder="$t('请选择')" @change="onSiteSelect" v-model="coData.startSiteCode" ></EmisSiteSimplePicker>
<EmisSiteSimplePicker :placeholder="$t('请选择')" @onChange="onSiteSelect" v-model="form.startSiteCode" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('下一网点')" prop="nextSiteCode">
<EmisSiteSimplePicker :placeholder="$t('请选择')" @change="onNextSiteSelect" v-model="coData.nextSiteCode" ></EmisSiteSimplePicker>
<EmisSiteSimplePicker :placeholder="$t('请选择')" @onChange="onNextSiteSelect" v-model="form.nextSiteCode" ></EmisSiteSimplePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('承运重量')" prop="transWeight">
<el-input v-model="coData.transWeight" clearable="" placeholder="" >
<span slot="suffix">(kg)</span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('包裹数')" prop="packNum">
<el-input v-model="coData.packNum" clearable="" placeholder="" ></el-input>
<el-form-item :label="$t('目的国')" prop="destCountry">
<CountryPicker :placeholder="$t('选择国')" v-model="form.destCountry" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="运输方式" prop="transType">
<el-select v-model="coData.transType" placeholder="运输方式" clearable filterable >
<el-select v-model="form.transType" placeholder="运输方式" clearable filterable style="width:100%" @change="calcBatchName" >
<el-option
v-for="dict in dict.type.emis_biz_shipping_method"
:key="dict.value"
@ -59,58 +85,77 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('供应商')" prop="supplierCode">
<EmisSupplierPicker :placeholder="$t('请选择')" @onChange="onSupplierSelect" v-model="form.supplierCode" ></EmisSupplierPicker>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item :label="$t('运输号')" prop="carNo">
<el-input v-model="coData.carNo" clearable="" placeholder="车牌号/船次号/提单号"></el-input>
<el-input v-model="form.carNo" clearable="" placeholder="车牌号/船次号/提单号" @change="calcBatchName"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('承运重量')" prop="transWeight">
<el-input v-model="form.transWeight" clearable="" placeholder="" >
<span slot="suffix">(kg)</span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('包裹数')" prop="packNum">
<el-input v-model="form.packNum" clearable="" placeholder="" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="发出时间" prop="etd">
<el-form-item label="发出时间" prop="etd" >
<el-date-picker clearable
v-model="coData.etd"
v-model="form.etd"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择发出时间"
style="width:100%"
@change="calcBatchName"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('目的国')" prop="destCountry">
<CountryPicker :placeholder="$t('选择国')" v-model="coData.destCountry" ></CountryPicker>
<el-col :span="24">
<el-form-item :label="$t('备注')" prop="remark">
<el-input v-model="form.remark" clearable="" type="textarea" placeholder="" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="8">
<el-col :span="5">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-col :span="24">
<el-form-item style="font-weight:600;" label-width="0px">
<span>{{$t('总票数') + ': ' + (coData.totalWaybillQty || 0)}}</span>
<span>{{$t('总票数') + ': ' + (form.totalWaybillQty || 0)}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item style="font-weight:600;" label-width="0px">
<span>{{$t('总件数') + ': ' + (coData.totalParcelQty || 0)}}</span>
<span>{{$t('总重量') + ': ' + (form.totalWeight || 0)}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item style="font-weight:600;" label-width="0px">
<span>{{$t('总重量') + ': ' + (coData.totalWeight || 0)}}</span>
<span>{{$t('总件数') + ': ' + (form.totalParcelQty || 0)}}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item style="font-weight:600;" label-width="0px">
<span>{{$t('总体积') + ': ' + (coData.totalVolume || 0)}}</span>
<span>{{$t('总体积') + ': ' + (form.totalVolume || 0)}}</span>
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="24" style="" v-if="['3','4','5'].indexOf(coData.transType) > -1">
<el-col :span="24" style="" v-if="['3','4','5'].indexOf(form.transType) > -1">
<div style="margin-top:20px;padding: 3px 5px;font-size: 14px;">
装柜示意图
</div>
@ -205,7 +250,7 @@
:disabled="coMultiple"
>移除运单</el-button>
</el-col>
<el-col :span="1.5" v-if="this.coData.id!=null">
<el-col :span="1.5" v-if="this.form.id!=null">
<el-button style="margin-right: 5px;"
type="warning"
plain
@ -305,9 +350,6 @@
<el-button @click="cancelBatch">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
@ -325,8 +367,10 @@ import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vu
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
import { parseTime, dateToStr } from "@/utils/custom";
import { formatSearchStr } from '@/utils/index'
import moment from 'moment'
import PackListView from '@/views/emis/emisTmsSiteBatch/packListView';
import EmisSupplierPicker from '@/views/emis/EmisBaseTools/EmisSupplierPicker';
export default {
name: "BigBatchEditForm",
@ -341,7 +385,7 @@ export default {
},
},
components: { EmisGetNextSitePicker, CountryPicker, EmisSiteSimplePicker, elDateAdvPicker, emisTmsPackForm, TransLinePicker, TransProductPicker, PackListView},
components: { EmisGetNextSitePicker, CountryPicker, EmisSiteSimplePicker, elDateAdvPicker, emisTmsPackForm, TransLinePicker, TransProductPicker, PackListView,EmisSupplierPicker},
dicts: ['emis_waybill_status', 'emis_payment_type', 'emis_biz_shipping_method', 'emis_qujian_fangshi', 'cebp_return_status','emis_declare_mode','emis_customs_clear'],
data() {
return {
@ -382,15 +426,18 @@ export default {
doneTotal:0,
waitPackList:[],//选择未组包的运单先保存起来,在后续新增组批次的弹框中使用
// 新增/修改弹窗数据
coData: {},
form: {},
coRules: {
rules: {
batchType: [
{ required: true, message: "批次类型不能为空", trigger: ["blur","change"] },
],
batchName: [
{ required: true, message: "批次名称不能为空", trigger: ["blur","change"] },
],
// supplierCode: [
// { required: true, message: "供应商不能为空", trigger: ["blur","change"] },
// ],
// destCountry: [
// { required: true, message: "目的国不能为空", trigger: ["blur","change"] },
// ],
@ -537,7 +584,76 @@ export default {
this.initData();
},
methods: {
// 批次名称计算
calcBatchName(){
/*
1、批次名称规则:
1)快递(E):
快递(E)-南京分拨中心(NJ)-东航(DH)-昆明(KM)-250113-提单号
ENJDHKM250113+提单号
2)空运(A):
空运(A)-南京分拨中心(NJ)-南航(NH)-昆明(KM)-250113-提单号
ANJNHKM250113+提单号
3)陆运(L):
陆运(L)-南京分拨中心(NJ)-九通(JT)-昆明(KM)-250113-车牌
LNJJTKM250113+车牌
4)海运(S):
海运(S)-上海-西港-250113-提单号
SSHXG250113+提单号
5)铁路(R):
铁路(R)-上海-南宁-250113-集装箱号
RSHNN250113+集装箱号
6)国内进仓(D):
上海-顺丰-南京分拨中心-250113-运单号/订单号 (顺丰、跨越、百世、安能、中通、申通、货拉拉、运满满等)
DSHNN250113+运单号/订单号
*/
if(this.form.transType==1){
if(this.form.etd&&this.form.transType&&this.form.supplierNameEn&&this.form.startSiteSizeCode3&&this.form.nextSiteSizeCode3&&this.form.carNo){
// 快递(E)-南京分拨中心(NJ)-东航(DH)-昆明(KM)-250113-提单号
let yymmdd = moment(this.form.etd).format('YYMMDD');
this.form.batchName = "E"+this.form.startSiteSizeCode3+""+this.form.supplierNameEn+""+yymmdd+this.form.nextSiteSizeCode3+this.form.carNo;
}
}
else if(this.form.transType==2){
if(this.form.etd&&this.form.transType&&this.form.supplierNameEn&&this.form.startSiteSizeCode3&&this.form.nextSiteSizeCode3&&this.form.carNo){
// 空运(A)-南京分拨中心(NJ)-南航(NH)-昆明(KM)-250113-提单号
let yymmdd = moment(this.form.etd).format('YYMMDD');
this.form.batchName = "A"+this.form.startSiteSizeCode3+""+this.form.supplierNameEn+""+yymmdd+this.form.nextSiteSizeCode3+this.form.carNo;
}
}
else if(this.form.transType==3){
if(this.form.etd&&this.form.transType&&this.form.supplierNameEn&&this.form.startSiteSizeCode3&&this.form.nextSiteSizeCode3&&this.form.carNo){
// 陆运(L)-南京分拨中心(NJ)-九通(JT)-昆明(KM)-250113-车牌
let yymmdd = moment(this.form.etd).format('YYMMDD');
this.form.batchName = "L"+this.form.startSiteSizeCode3+""+this.form.supplierNameEn+""+yymmdd+this.form.nextSiteSizeCode3+this.form.carNo;
}
}
else if(this.form.transType==4){
if(this.form.etd&&this.form.transType&&this.form.supplierNameEn&&this.form.startSiteSizeCode3&&this.form.nextSiteSizeCode3&&this.form.carNo){
// 海运(S)-上海-供应商-西港-250113-提单号
let yymmdd = moment(this.form.etd).format('YYMMDD');
this.form.batchName = "S"+this.form.startSiteSizeCode3+""+this.form.supplierNameEn+""+yymmdd+this.form.nextSiteSizeCode3+this.form.carNo;
}
}
else if(this.form.transType==5){
if(this.form.etd&&this.form.transType&&this.form.supplierNameEn&&this.form.startSiteSizeCode3&&this.form.nextSiteSizeCode3&&this.form.carNo){
// 铁路(R)-上海-南宁-250113-集装箱号
let yymmdd = moment(this.form.etd).format('YYMMDD');
this.form.batchName = "R"+this.form.startSiteSizeCode3+""+this.form.supplierNameEn+""+yymmdd+this.form.nextSiteSizeCode3+this.form.carNo;
}
}
else if(this.form.transType==6){
if(this.form.etd&&this.form.transType&&this.form.supplierNameEn&&this.form.startSiteSizeCode3&&this.form.nextSiteSizeCode3&&this.form.carNo){
// 国内进仓(D)-上海-供应商-南宁-250113-集装箱号
let yymmdd = moment(this.form.etd).format('YYMMDD');
this.form.batchName = "D"+this.form.startSiteSizeCode3+""+this.form.supplierNameEn+""+yymmdd+this.form.nextSiteSizeCode3+this.form.carNo;
}
}
console.log("====>batchName===>",this.form.batchName);
},
async initData() {
if(this.batchId !=null) {
@ -546,31 +662,36 @@ export default {
}else{
this.reset();
this.coData.startSiteCode=this.$store.getters.ownerSiteCode;
this.coData.batchType='1';
this.form.startSiteCode=this.$store.getters.ownerSiteCode;
this.form.batchType='1';
this.coPackType = "add";
let resPack = await getTmsGroupBatchNo();
this.coData.batchNo = resPack.data;
this.form.batchNo = resPack.data;
this.coData.batchDate=parseTime(new Date());
this.form.batchDate=parseTime(new Date());
}
},
// 表单重置
reset() {
this.coData = {
this.form = {
id: null,
batchNo: null,
batchName: null,
batchDate: null,
supplierCode: null,
supplierName: null,
supplierNameEn: null,
transLineType: null,
productType: null,
batchType: null,
transType: null,
startSiteCode: null,
startSiteSizeCode3:null,
sendCountry: null,
nextSiteCode: null,
nextSiteSizeCode3:null,
airBilllNo: null,
etd: null,
eta: null,
@ -589,9 +710,8 @@ export default {
opMan: null,
remark: null,
tenantId: null,
};
this.resetForm("formCo");
this.resetForm("form");
},
async showBatchInfo(batchId){
@ -604,24 +724,24 @@ export default {
// let resData = response.data;
// let time = {};
// time.carTime = resData.etd;
this.coData = {...response.data};
this.form = {...response.data};
this.emisCoPackDetail=[];
let resList = await listEmisTmsSiteBatchDtl({batchNo: this.coData.batchNo});
let resList = await listEmisTmsSiteBatchDtl({batchNo: this.form.batchNo});
if(!resList || resList.code != 200){
this.$modal.msgError(resList && resList.msg || "未知错误");
return;
}
this.tempExistCoPackWayBillList = resList.rows;
//临时存储,用于运单号校验
this.tempCoPackInfo = this.coData;
this.tempCoPackInfo = this.form;
for(let p = 0; p < resList.rows.length;p++){
this.emisCoPackDetail.push(resList.rows[p].waybillDetail);
}
this.coData.packStatus = this.tempCoPackInfo.packStatus;
this.coData.scanDate = this.tempCoPackInfo.scanDate;
this.form.packStatus = this.tempCoPackInfo.packStatus;
this.form.scanDate = this.tempCoPackInfo.scanDate;
let resLoadingList = await listEmisTmsSiteBatchLoading({batchNo: this.coData.batchNo});
let resLoadingList = await listEmisTmsSiteBatchLoading({batchNo: this.form.batchNo});
if(!resLoadingList || resLoadingList.code != 200){
this.$modal.msgError(resLoadingList && resLoadingList.msg || "未知错误");
return;
@ -690,7 +810,7 @@ export default {
this.loadingWait = true;
this.queryWaitParams.params.isNeedBatch = 1;
this.queryWaitParams.params.batchType = this.coData.batchType;
this.queryWaitParams.params.batchType = this.form.batchType;
listEmisWaybill(this.queryWaitParams).then(response => {
this.loadingWait = false;
@ -798,7 +918,7 @@ export default {
}
}
this.wayBillData.params.isNeedBatch = 1;
this.wayBillData.params.batchType = this.coData.batchType;
this.wayBillData.params.batchType = this.form.batchType;
listEmisWaybill(this.wayBillData).then(response => {
this.loading2 = false;
if(response.code != 200){
@ -811,23 +931,44 @@ export default {
this.wayBillotal = response.total;
})
},
onSupplierSelect(item){
console.log("==onSupplierSelect===>",item);
this.form.supplierCode=item.code;
this.form.supplierName=item.name;
this.form.supplierNameEn=item.nameEn;
// 计算批次名称
this.calcBatchName();
},
onSiteSelect(item){
console.log("==onSiteSelect===>",item);
if(!item){
this.coData.startSiteCode = null;
this.coData.startSiteName = null;
this.form.startSiteCode = null;
this.form.startSiteName = null;
this.form.startSiteSizeCode3 = null;
return;
}
this.coData.startSiteCode=item && item.siteCode;
this.coData.startSiteName=item && item.siteName;
this.form.startSiteCode=item && item.siteCode;
this.form.startSiteName=item && item.siteName;
this.form.startSiteSizeCode3 = item && item.sizeCode3;
// 计算批次名称
this.calcBatchName();
},
onNextSiteSelect(item){
if(!item){
this.coData.nextSiteCode = null;
this.coData.nextSiteName = null;
this.form.nextSiteCode = null;
this.form.nextSiteName = null;
this.form.nextSiteSizeCode3 = null;
return;
}
this.coData.nextSiteCode=item && item.siteCode;
this.coData.nextSiteName=item && item.siteName;
this.form.nextSiteCode=item && item.siteCode;
this.form.nextSiteName=item && item.siteName;
this.form.nextSiteSizeCode3 = item && item.sizeCode3;
// 计算批次名称
this.calcBatchName();
},
onDateSelect(value){
console.log("date picker---->", value)
@ -844,7 +985,7 @@ export default {
},
submitAddCoPackForm() {
this.$refs["formCo"].validate(valid => {
this.$refs["form"].validate(valid => {
if (valid) {
this.handleAddCoPack();
}
@ -858,13 +999,13 @@ export default {
return;
}
// this.coData.etd = parseTime(this.coData.carTime, '{y}-{m}-{d} {h}:{i}:{s}');
// this.form.etd = parseTime(this.form.carTime, '{y}-{m}-{d} {h}:{i}:{s}');
// 新增
if(this.coPackType == "add")
{
let response = await addEmisTmsSiteBatch(this.coData);
let response = await addEmisTmsSiteBatch(this.form);
if(!response || response.code != 200){
this.$modal.msgError(response && response.msg || '新增组批次失败')
return;
@ -872,7 +1013,7 @@ export default {
for(let i = 0; i< this.emisCoPackDetail.length;i++){
let packDetail = {
batchNo:this.coData.batchNo,
batchNo:this.form.batchNo,
billCode: this.emisCoPackDetail[i].billCode,
scanDate: this.emisCoPackDetail[i].scanDate,
scanStatus: this.emisCoPackDetail[i].scanStatus,
@ -893,7 +1034,7 @@ export default {
for(let lr = 0; lr < 3; lr++){
for(let ll = 0; ll < 6; ll++){
let batchLoadingData = {
batchNo: this.coData.batchNo,
batchNo: this.form.batchNo,
posNo:lr+":"+ll+":1",
row: lr,
col: ll,
@ -911,7 +1052,7 @@ export default {
}
}
else if(this.coPackType == "edit"){// 修改
let res = await updateEmisTmsSiteBatch(this.coData);
let res = await updateEmisTmsSiteBatch(this.form);
if(!res || res.code != 200){
this.$modal.msgError(res && res.msg || '未知错误')
return;
@ -940,7 +1081,7 @@ export default {
},
handleCancelCo(){
this.coData={};
this.form={};
this.blUnpack="1";
this.emisCoPackDetail=[];
this.$emit("on-cancel");
@ -965,7 +1106,7 @@ export default {
billCode:billcode,
params:{
isNeedBatch:1,
batchType:this.coData.batchType
batchType:this.form.batchType
}
}
);
@ -980,7 +1121,7 @@ export default {
this.emisCoPackDetail.push(item);
if(this.coPackType=="edit"){
let packDetail = {
batchNo: this.coData.batchNo,
batchNo: this.form.batchNo,
billCode: item.billCode,
scanDate: item.scanDate,
scanStatus: item.scanStatus,
@ -1013,7 +1154,7 @@ export default {
this.computeTotal();
// 更新主表
if(this.coPackType=="edit"){
let res = await updateEmisTmsSiteBatch(this.coData);
let res = await updateEmisTmsSiteBatch(this.form);
if(!res || res.code != 200){
this.$modal.msgError(res && res.msg || '未知错误')
return;
@ -1026,7 +1167,7 @@ export default {
this.emisCoPackDetail.push(item);
if(this.coPackType=="edit"){
let packDetail = {
batchNo: this.coData.batchNo,
batchNo: this.form.batchNo,
billCode: item.billCode,
scanDate: item.scanDate,
scanStatus: item.scanStatus,
@ -1058,7 +1199,7 @@ export default {
this.computeTotal();
// 更新主表
if(this.coPackType=="edit"){
let res = await updateEmisTmsSiteBatch(this.coData);
let res = await updateEmisTmsSiteBatch(this.form);
if(!res || res.code != 200){
this.$modal.msgError(res && res.msg || '未知错误')
return;
@ -1120,16 +1261,16 @@ export default {
this.computeTotal();
// 更新主表
this.tempCoPackInfo.destCountry = this.coData.destCountry;
// this.tempCoPackInfo.sendStiteCode = this.coData.sendStiteCode;
// this.tempCoPackInfo.sendStiteName = this.coData.sendStiteName || null;
this.tempCoPackInfo.nextSiteCode = this.coData.nextSiteCode;
this.tempCoPackInfo.nextSiteName = this.coData.nextSiteName;
this.tempCoPackInfo.destCountry = this.form.destCountry;
// this.tempCoPackInfo.sendStiteCode = this.form.sendStiteCode;
// this.tempCoPackInfo.sendStiteName = this.form.sendStiteName || null;
this.tempCoPackInfo.nextSiteCode = this.form.nextSiteCode;
this.tempCoPackInfo.nextSiteName = this.form.nextSiteName;
this.tempCoPackInfo.blUnpack = this.blUnpack;
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.totalWaybillQty = this.form.totalWaybillQty;
this.tempCoPackInfo.totalParcelQty = this.form.totalParcelQty;
this.tempCoPackInfo.totalWeight = this.form.totalWeight;
this.tempCoPackInfo.totalVolume = this.form.totalVolume;
let res = await updateEmisTmsSiteBatch(this.tempCoPackInfo);
if(!res || res.code != 200){
this.$modal.msgError(res && res.msg || '未知错误')
@ -1182,19 +1323,19 @@ export default {
totalParcelQty +=item.parcelQty;
totalWeight +=item.billWeight;
totalVolume +=item.totalVolume;
item.destCountry = this.coData.destCountry;
// item.sendSiteCode = this.coData.sendSiteCode;
item.startSiteCode = this.coData.startSiteCode;
item.startSiteName = this.coData.startSiteName;
// item.nextSiteCode = this.coData.nextSiteCode;
item.nextSiteCode = this.coData.nextSiteCode;
item.nextSiteName = this.coData.nextSiteName;
item.destCountry = this.form.destCountry;
// item.sendSiteCode = this.form.sendSiteCode;
item.startSiteCode = this.form.startSiteCode;
item.startSiteName = this.form.startSiteName;
// item.nextSiteCode = this.form.nextSiteCode;
item.nextSiteCode = this.form.nextSiteCode;
item.nextSiteName = this.form.nextSiteName;
item.blUnpack = this.blUnpack;
})
this.coData.totalWaybillQty=this.emisCoPackDetail.length;
this.coData.totalParcelQty=totalParcelQty;
this.coData.totalWeight=totalWeight.toFixed(2);
this.coData.totalVolume=totalVolume.toFixed(4);
this.form.totalWaybillQty=this.emisCoPackDetail.length;
this.form.totalParcelQty=totalParcelQty;
this.form.totalWeight=totalWeight.toFixed(2);
this.form.totalVolume=totalVolume.toFixed(4);
},
// 排序 查询字段是表格中字段名字 动态取值排序顺序
handleSortChange(column) {
@ -1221,7 +1362,7 @@ export default {
},
/** 修改按钮操作 */
async handleUpdate() {
// this.coData={};
// this.form={};
let id = this.ids[0]
this.coPackType="edit";
let response = await getEmisTmsSiteBatch(id);
@ -1233,7 +1374,7 @@ export default {
let time = {};
time.carTime = resData.etd;
this.coData = {...resData, ...{batchDate:resData.createTime}, ...time};
this.form = {...resData, ...{batchDate:resData.createTime}, ...time};
this.emisCoPackDetail=[];
let resList = await listEmisTmsSiteBatchDtl({batchNo: resData.batchNo});
@ -1246,8 +1387,8 @@ export default {
for(let p = 0; p < resList.rows.length;p++){
this.emisCoPackDetail.push(resList.rows[p].waybillDetail);
}
this.coData.packStatus = this.tempCoPackInfo.packStatus;
this.coData.scanDate = this.tempCoPackInfo.scanDate;
this.form.packStatus = this.tempCoPackInfo.packStatus;
this.form.scanDate = this.tempCoPackInfo.scanDate;
let resLoadingList = await listEmisTmsSiteBatchLoading({batchNo: resData.batchNo});
if(!resLoadingList || resLoadingList.code != 200){
@ -1310,7 +1451,7 @@ export default {
let qExportParam={
pageNum:1,
pageSize:20000,
batchNo: this.coData.batchNo
batchNo: this.form.batchNo
};
listEmisTmsSiteBatchDtl(qExportParam).then(response => {

View File

@ -57,6 +57,9 @@
<el-form-item label="目的国" prop="destCountry">
<CountryPicker :placeholder="$t('目的国')" v-model="queryParams.destCountry" ></CountryPicker>
</el-form-item>
<el-form-item label="供应商" prop="supplierCode">
<EmisSupplierPicker :placeholder="$t('请选择')" v-model="queryParams.supplierCode" ></EmisSupplierPicker>
</el-form-item>
</el-col>
</el-row>
</SearchForm>
@ -191,6 +194,7 @@
<el-table-column :label="$t('起始网点')" align="center" prop="startSiteName" min-width="150" />
<el-table-column :label="$t('下一网点')" align="center" prop="nextSiteName" min-width="150" />
<el-table-column :label="$t('目的国家')" align="center" prop="destCountryName" min-width="100"/>
<el-table-column :label="$t('供应商')" align="center" prop="supplierName" min-width="150"/>
<el-table-column :label="$t('总票数')" align="center" prop="totalWaybillQty" min-width="100" />
<el-table-column :label="$t('总件数')" align="center" prop="totalParcelQty" min-width="100" />
<el-table-column :label="$t('总重量(kg)')" align="center" prop="totalWeight" min-width="100" />
@ -216,10 +220,15 @@ import { formatSearchStr } from '@/utils/index'
import { listEmisTmsSiteBatchDtl} from "@/api/emis/emisTmsSiteBatchDtl";
import PackListView from '@/views/emis/emisTmsSiteBatch/packListView';
import EmisSupplierPicker from '@/views/emis/EmisBaseTools/EmisSupplierPicker';
export default {
name: "CenterGenBatchMgnt",
components: { EmisGetNextSitePicker, CountryPicker, EmisSiteSimplePicker, elDateAdvPicker, emisTmsPackForm, TransLinePicker, TransProductPicker, PackListView},
components: { EmisGetNextSitePicker, CountryPicker,
EmisSiteSimplePicker, elDateAdvPicker, emisTmsPackForm, TransLinePicker,
TransProductPicker, PackListView,
EmisSupplierPicker
},
dicts: [
'emis_waybill_status', 'emis_payment_type', 'emis_biz_shipping_method', 'emis_qujian_fangshi', 'cebp_return_status','emis_declare_mode','emis_customs_clear',
],
@ -328,6 +337,8 @@ export default {
nextSiteCode: null,
carNo: null,
destCountry: null,
supplierCode:null,
params:{
queryOrderType: '1',
billCode: null

View File

@ -1,15 +1,24 @@
<template>
<div class="app-container">
<el-form ref="form" size="mini" :model="form" label-width="80px">
<!-- <SearchForm :ref="form" :model="picUrl" ref="queryForm" size="small" :maxShow="8" label-width="100px" v-show="showSearch" @search="getList" @reset="resetQuery"> -->
<el-form ref="form" size="mini" :model="form" label-width="80px" @submit.native.prevent>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="上传图片" prop="xxx" label-width="80px">
<ImageUpload ref="imageUpload" :fileSize="1" :limit="50" v-model="form.picUrl" @input="handleInput" ></ImageUpload>
<el-col :span="24">
<el-form-item label="上传图片" prop="picUrl" label-width="80px">
<ImageUpload ref="imageUpload" :fileSize="5" :limit="10" v-model="form.picUrl" ></ImageUpload>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="运单号" prop="billCode" label-width="70px">
<span slot="label">
<span style="color: red">运单号</span>
</span>
<el-input v-model="form.billCode" clearable="" placeholder="单号输入后按回车" @keyup.enter.native="handleInput" >
<i slot="suffix" class="iconfont">&#xe656;</i>
</el-input>
</el-form-item>
</el-col>
</el-row >
<!-- </SearchForm> -->
</el-form>
<xd-table v-loading="loading"
@ -49,14 +58,18 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('运单编号')" align="center" prop="billCode" min-width="150" />
<el-table-column :label="$t('图片URL')" align="center" prop="fileUrl" min-width="100" />
<el-table-column :label="$t('图片URL')" align="center" prop="fileUrl" min-width="100" >
<template slot-scope="scope">
<ImagePreview height="50px" v-for="pic in (scope.row.fileUrl||'').split(',')" :key="pic" :src="pic" ></ImagePreview>
</template>
</el-table-column>
<el-table-column :label="$t('上传网点')" align="center" prop="createSite" min-width="100" />
<el-table-column :label="$t('上传人')" align="center" prop="createBy" min-width="100" />
<el-table-column :label="$t('大小')" align="center" prop="volumeWeight" min-width="100">
<!-- <el-table-column :label="$t('大小')" align="center" prop="volumeWeight" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.fileSiez + "KB" }}</span>
</template>
</el-table-column>/>
</el-table-column>/> -->
</xd-table>
</div>
</template>
@ -107,6 +120,7 @@ export default {
// 表单参数
form: {
billCode:null,
picUrl:null,
},
@ -123,23 +137,25 @@ export default {
getList(){
},
async handleInput(item, size){
if(item.trim() == ""){
// async handleInput(item, size){
async handleInput(){
if(this.form.billCode == ""||this.form.billCode ==null){
this.$modal.msgError("请先输入单号!");
return;
}
let scList = item.trim().split(/[;\;\,\,\n]/)||[];
this.form.picUrl =[];
for(let s = 0; s<scList.length; s++){
let billCode = this.extractSubstring(scList[s]);
if(this.dataMap[billCode]) return;
let response = await getWaybillDetail(billCode)
if(!response || response.code != 200){
let billCode=this.form.billCode+'';
let response = await getWaybillDetail(billCode)
if(!response || response.code != 200){
this.$modal.msgError(response && response.msg || "未知错误");
return;
}
let record = {};
}
// let scList = this.form.picUrl.split(',')||[];
// for(let s = 0; s<scList.length; s++){
// };
let record = {};
record.billCode=billCode;
record.fileUrl=scList[s];
record.fileUrl=this.form.picUrl+'';
record.createSiteCode=this.$store.getters.ownerSiteCode;
record.createSite=this.$store.getters.ownerSiteName;
record.createBy=this.$store.getters.empName;
@ -149,17 +165,13 @@ export default {
record.fileName="货物图片";
record.attachType="0";
record.dataFrom="pc";
for(let name in size){
if(name.indexOf(billCode) > -1){
record.fileSiez = parseFloat((size[name]/1024).toFixed(2));
break;
}
}
record.fileSiez=-1;
let indexBillCode=billCode;
this.dataMap[indexBillCode]=record;
this.emisTmsScanRecordList.push(record);
};
// this.form.picUrl =[];
this.form.picUrl =null;
this.form.billCode=null;
},
/** 上传按钮操作 */
handleScanUpload(){
@ -168,7 +180,6 @@ export default {
return;
}
var selData = this.selection;
selData.forEach(item=>{
addEmisWaybillAttachment(item).then(response => {
@ -207,13 +218,6 @@ export default {
},
/** 删除按钮操作 */
handleDelete(row) {
// const ids = row.id || this.ids;
// this.$modal.confirm('是否确认删除').then(function() {
// return delEmisWaybill(ids);
// }).then(() => {
// this.getList();
// this.$modal.msgSuccess("删除成功");
// }).catch(() => {});
let newList =[];
console.log(this.ids)
this.emisTmsScanRecordList.forEach(item=>{