This commit is contained in:
linfso 2024-05-21 14:44:33 +08:00
parent f639e4a4ba
commit ea4d4dd574
2 changed files with 296 additions and 186 deletions

View File

@ -8,6 +8,8 @@
</template> </template>
<div> <div>
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;"> <el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="运单号" prop="billCode" > <el-form-item label="运单号" prop="billCode" >
<div style="display:inline-flex"> <div style="display:inline-flex">
@ -30,7 +32,6 @@
<el-col :span="10"> <el-col :span="10">
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="目的国" prop="reciever.country"> <el-form-item label="目的国" prop="reciever.country">
<CountryPicker0 v-model="form.reciever.country"></CountryPicker0> <CountryPicker0 v-model="form.reciever.country"></CountryPicker0>
@ -193,8 +194,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="寄件公司" prop="sender.company"> <el-form-item label="寄件公司" prop="sender.company"
<el-input v-model="form.sender.company" placeholder="" /> :rules="form.paymentType != 2 ? rules.sender.company : []"
>
<el-input
v-model="form.sender.company" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
@ -255,7 +259,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="收件公司" prop="reciever.company"> <el-form-item label="收件公司" prop="reciever.company"
:rules="form.paymentType != 4 ? rules.reciever.company : []"
>
<el-input v-model="form.reciever.company" placeholder="" /> <el-input v-model="form.reciever.company" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -321,7 +327,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="总件数" prop="parcelQty" label-width="70px"> <el-form-item label="总件数" prop="parcelQty" label-width="70px">
<el-input v-model="form.parcelQty" style="text-align: right;" @blur="handleGenGoods" @keyup.enter.native="handleGenGoods" placeholder="" /> <el-input v-model="form.parcelQty" style="text-align: right;" @blur="handleInitGenGoods" @keyup.enter.native="handleInitGenGoods" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -383,22 +389,39 @@
</el-table-column> </el-table-column>
<el-table-column prop="cargoQty" label="件数" align="center" width="60"> <el-table-column prop="cargoQty" label="件数" align="center" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.cargoQty" size="mini" placeholder=""></el-input> <el-input v-model="scope.row.cargoQty" @blur="(val)=>handleCargoQtyChange(val,scope.row)" @keyup.enter.native="(val)=>handleCargoQtyChange(val,scope.row)" size="mini" placeholder=""></el-input>
</template> </template>
</el-table-column> </el-table-column>
<!-- @input="(val)=>handleCalcQty(val,scope.row)" --> <!-- @input="(val)=>handleCalcQty(val,scope.row)" -->
<!-- <el-table-column prop="goodsName" label="描述" align="center" width="100"> <!-- <el-table-column prop="goodsName" label="描述" align="center" width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.goodsName" @input="(val)=>handleCalcQty(val,scope.row)" size="mini" placeholder=""></el-input> <el-input v-model="scope.row.goodsName" size="mini" placeholder=""></el-input>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="操作" align="left" min-width="50"> <el-table-column label="操作" align="left" min-width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <span style="cursor: pointer;font-size: 21px;color: #6e6e6e;" title="删除"
@click="()=>{deleteGoodsItem(scope.row);event.stopPropagation()}"
>
<i class="el-icon-delete" />
</span>
<span style="cursor: pointer;font-size: 21px;color: #6e6e6e;" title="复制"
@click="()=>{copyGoodsItem(scope.row);event.stopPropagation()}"
>
<i class="el-icon-copy-document" />
</span> -->
<span class="icon iconfont" <span class="icon iconfont"
style="cursor: pointer;font-size: 21px;color: #6e6e6e;" style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
@click="()=>deleteGoodsItem(scope.row)">&#xe7ae;</span> @click="()=>deleteGoodsItem(scope.row,scope.$index)">&#xe7ae;</span>
<span class="icon iconfont"
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
@click="()=>copyGoodsItem(scope.row,scope.$index)">&#xe620;</span>
</template> </template>
</el-table-column> </el-table-column>
@ -628,29 +651,25 @@
<el-col :span="12"> <el-col :span="12">
</el-col> </el-col>
<el-col :span="24" v-show="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5"> <el-col :span="24" v-show="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5">
<el-form-item label="月结账号" prop="thirdCustomerCode" label-width="70px"> <el-form-item label="月结账号" prop="custNo" label-width="70px">
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker> <EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="回款联系人" prop="payee" label-width="80px"> <el-form-item label="回款联系人" prop="payee" label-width="85px">
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker> <PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
<PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker> <PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="销售联系人" prop="salesmen" label-width="80px"> <el-form-item label="销售联系人" prop="salesmen" label-width="85px">
<SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker> <SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker>
<SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" ></SalemanPicker> <SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" ></SalemanPicker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-col> </el-col>
@ -827,6 +846,9 @@ data() {
province: [ province: [
{ required: true, message: "省不能为空", trigger: ["blur",'change'] } { required: true, message: "省不能为空", trigger: ["blur",'change'] }
], ],
company: [
{ required: true, message: "发件公司不能为空", trigger: ["blur",'change'] }
],
// city: [ // city: [
// { required: true, message: "市不能为空", trigger: "blur" } // { required: true, message: "市不能为空", trigger: "blur" }
// ], // ],
@ -850,6 +872,10 @@ data() {
province: [ province: [
{ required: true, message: "寄件省不能为空", trigger: ["blur",'change'] } { required: true, message: "寄件省不能为空", trigger: ["blur",'change'] }
], ],
company: [
{ required: true, message: "发件公司不能为空", trigger: ["blur",'change'] }
],
// city: [ // city: [
// { required: true, message: "寄件市不能为空", trigger: "blur" } // { required: true, message: "寄件市不能为空", trigger: "blur" }
// ], // ],
@ -917,12 +943,15 @@ data() {
dispatchUnderlingSiteCode: [ dispatchUnderlingSiteCode: [
{ required: true, message: "目的地网点代码不能为空", trigger: "blur" } { required: true, message: "目的地网点代码不能为空", trigger: "blur" }
], ],
// payee: [ custNo: [
// { required: true, message: "销售回款人不能为空", trigger: "blur" } { required: true, message: "月结卡号不能为空", trigger: "blur" }
// ], ],
// salesmen: [ payee: [
// { required: true, message: "销售联系人不能为空", trigger: "blur" } { required: true, message: "销售回款人不能为空", trigger: "blur" }
// ], ],
salesmen: [
{ required: true, message: "销售联系人不能为空", trigger: "blur" }
],
takePieceEmployeeCode: [ takePieceEmployeeCode: [
{ required: true, message: "取件员代码不能为空", trigger: ["blur",'change'] } { required: true, message: "取件员代码不能为空", trigger: ["blur",'change'] }
], ],
@ -1049,76 +1078,101 @@ methods: {
this.printerStatusMessage="打印组件已断开!"; this.printerStatusMessage="打印组件已断开!";
}, },
handleBatchPrint(){ handleBatchPrint(){
if(this.printerStatus == 1){
if(this.form.billCode){ if(this.form.billCode){
// 重要,设置为true才会把右上角X和取消区分开来 // 重要,设置为true才会把右上角X和取消区分开来
this.$confirm("确定打印?", "提示", { this.$confirm("确定打印?", "提示", {
cancelButtonText: "不打印", cancelButtonText: "不打印",
confirmButtonText: "确定打印", confirmButtonText: "确定打印",
type: "warning", type: "warning",
distinguishCancelAndClose: true, distinguishCancelAndClose: true,
closeOnClickModal: false closeOnClickModal: false
}).then(() => { }).then(() => {
// 打印主单,子单 // 打印主单,子单
let orderList=[]; let orderList=[];
// this.currentSelection.forEach(item=>{ // this.currentSelection.forEach(item=>{
// orderList.push(item.billCode); // orderList.push(item.billCode);
// }); // });
// 打印主单 // 打印主单
orderList.push(this.form.billCode); orderList.push(this.form.billCode);
let selPrinterName=this.tanexPrinter.getDefaultPrinter(); let selPrinterName=this.tanexPrinter.getDefaultPrinter();
let selTplName="探路速运-主单联(通用)"; let selTplName="探路速运-主单联(通用)";
this.tanexPrinter.batchPrint(selTplName,selPrinterName,orderList) this.tanexPrinter.batchPrint(selTplName,selPrinterName,orderList)
// 打印子单 // 打印子单
selTplName="探路速运-子单联(通用)"; selTplName="探路速运-子单联(通用)";
let childOrderList=[] let childOrderList=[]
orderList=this.form.billCodeSub.split(','); orderList=this.form.billCodeSub.split(',');
orderList.forEach(item=>{ orderList.forEach(item=>{
if(item!=null && item!=''){ if(item!=null && item!=''){
childOrderList.push(item); childOrderList.push(item);
} }
}); });
this.tanexPrinter.batchPrint(selTplName,selPrinterName,childOrderList) this.tanexPrinter.batchPrint(selTplName,selPrinterName,childOrderList)
}).catch(() => {}); }).catch(() => {});
}
}
else{
this.$confirm("打印组件未连接,可【返回操作】稍后打印,或【操作下一单】", "提示", {
cancelButtonText: "返回操作",
confirmButtonText: "操作下一单",
type: "warning",
distinguishCancelAndClose: true,
closeOnClickModal: false
}).then(() => {
this.reset();
});
} }
}, },
async handlePrintPreview(){ async handlePrintPreview(){
if(this.form.billCode){ if(this.printerStatus == 1){
let pdfUrlList=[]; if(this.form.billCode){
let selPrinterName=this.tanexPrinter.getDefaultPrinter(); let pdfUrlList=[];
let selTplName="探路速运-主单联(通用)"; let selPrinterName=this.tanexPrinter.getDefaultPrinter();
let url=this.tanexPrinter.getPdfUrl(this.form.billCode,selTplName,selPrinterName); let selTplName="探路速运-主单联(通用)";
pdfUrlList.push(url) let url=this.tanexPrinter.getPdfUrl(this.form.billCode,selTplName,selPrinterName);
// 子单url pdfUrlList.push(url)
if(this.form.billCodeSub){ // 子单url
selTplName="探路速运-子单联(通用)"; if(this.form.billCodeSub){
let orderList=this.form.billCodeSub.split(','); selTplName="探路速运-子单联(通用)";
orderList.forEach(item=>{ let orderList=this.form.billCodeSub.split(',');
if(item!=null && item!=''){ orderList.forEach(item=>{
let url=this.tanexPrinter.getPdfUrl(item,selTplName,selPrinterName); if(item!=null && item!=''){
pdfUrlList.push(url) let url=this.tanexPrinter.getPdfUrl(item,selTplName,selPrinterName);
} pdfUrlList.push(url)
}
});
}
let pdfUtils=new PdfUtils({});
const loadingInstance = this.$loading({
text: '正在生成预览...'
})
pdfUtils.mergePdf2(pdfUrlList, (new Date()).getTime()+".pdf" )
.then(url=>{
loadingInstance.close();
this.pdfUrl=url;
this.openPdfView = true;
})
.catch(error => {
});
}
}
else{
this.$confirm("打印组件未连接,可【返回操作】稍后打印,或【操作下一单】", "提示", {
cancelButtonText: "返回操作",
confirmButtonText: "操作下一单",
type: "warning",
distinguishCancelAndClose: true,
closeOnClickModal: false
}).then(() => {
this.reset();
}); });
}
let pdfUtils=new PdfUtils({});
const loadingInstance = this.$loading({
text: '正在生成预览...'
})
pdfUtils.mergePdf2(pdfUrlList, (new Date()).getTime()+".pdf" )
.then(url=>{
loadingInstance.close();
this.pdfUrl=url;
this.openPdfView = true;
})
.catch(error => {
});
} }
}, },
@ -1155,20 +1209,7 @@ methods: {
}) })
}, },
deleteGoodsItem(row){
this.$confirm('确定删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let newList = this.form.cargoList.filter(item => item.goodsName !== row.goodsName);
this.form.cargoList=newList;
this.handleCalcQty();
this.handleCalcVolume();
}).catch(() => {
})
},
lpadZero(val,len) { lpadZero(val,len) {
return (new Array(len + 1).join('0') + val).slice(-len); return (new Array(len + 1).join('0') + val).slice(-len);
}, },
@ -1178,10 +1219,10 @@ methods: {
for(let i=1;i<=this.form.parcelQty;i++){ for(let i=1;i<=this.form.parcelQty;i++){
let subBillCode = this.form.billCode+""+this.lpadZero(i,4); let subBillCode = this.form.billCode+""+this.lpadZero(i,4);
billSubCodeStr=billSubCodeStr+subBillCode+"," billSubCodeStr=billSubCodeStr+subBillCode+","
console.log(billSubCodeStr); // console.log(billSubCodeStr);
} }
// let billSubCodeStr = this.form.billCode+"["+this.lpadZero(1,3)+"-"+this.lpadZero(this.form.parcelQty,3)+"]"; // let billSubCodeStr = this.form.billCode+"["+this.lpadZero(1,3)+"-"+this.lpadZero(this.form.parcelQty,3)+"]";
console.log(billSubCodeStr); // console.log(billSubCodeStr);
this.form.billCodeSub=billSubCodeStr; this.form.billCodeSub=billSubCodeStr;
}else{ }else{
this.form.billCodeSub=null; this.form.billCodeSub=null;
@ -1193,10 +1234,6 @@ methods: {
}, },
initData() { initData() {
this.reset(); this.reset();
this.form.sendDate = parseTime(new Date());
this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
this.form.sendSiteName=this.$store.getters.ownerSiteName;
console.log(this.form.sendSiteName)
if(this.billCode !=null) { if(this.billCode !=null) {
this.loading = true; this.loading = true;
@ -1206,12 +1243,16 @@ methods: {
this.loading = false; this.loading = false;
this.isNeedSave=true; this.isNeedSave=true;
this.form.printTypeCheckList=[1,5]
}); });
}else{ }else{
// console.log(this.dict.type.emis_declare_mode[0]);
// this.form.customsEclaration = this.dict.type.emis_declare_mode[0].value; this.form.sendDate = parseTime(new Date());
this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
this.form.sendSiteName=this.$store.getters.ownerSiteName;
console.log(this.form.sendSiteName)
this.form.customsEclaration='1'; this.form.customsEclaration='1';
this.form.customsClear='1'; this.form.customsClear='1';
// this.form.pickupMethod='2'; // this.form.pickupMethod='2';
@ -1229,7 +1270,7 @@ methods: {
this.isNeedSave=true; this.isNeedSave=true;
this.form.printTypeCheckList=[1,5], this.form.printTypeCheckList=[1,5],
this.handleGenGoods(); this.handleInitGenGoods();
} }
@ -1439,7 +1480,7 @@ methods: {
let totalVolume=0.0; let totalVolume=0.0;
if(row!=null){ if(row!=null){
let volume=parseFloat(row.length)*parseFloat(row.width)*parseFloat(row.height); let volume=parseFloat(row.length)*parseFloat(row.width)*parseFloat(row.height);
row.volume=parseFloat((volume/1000000).toFixed(5)); row.volume=parseFloat((volume/1000000).toFixed(5))*parseFloat(row.cargoQty);
} }
this.form.cargoList.forEach(item=>{ this.form.cargoList.forEach(item=>{
@ -1448,35 +1489,17 @@ methods: {
this.form.totalVolume = parseFloat(totalVolume.toFixed(5)); this.form.totalVolume = parseFloat(totalVolume.toFixed(5));
}, },
handleCalcQty(val,row){
let totalCargoQty=0;
let goodsInfo='';
this.form.cargoList.forEach(item=>{
totalCargoQty=totalCargoQty+parseInt(item.cargoQty);
goodsInfo=goodsInfo+item.goodsName+"x"+item.cargoQty+",";
});
this.form.parcelQty = totalCargoQty;
this.handleGenSubbill();
},
handleCalcFeeItem(val,row){ handleCalcFeeItem(val,row){
let childRealFee=0.0;
if(row!=null){ if(row!=null){
if(row.calcExp){ if(row.calcExp){
let expr=row.calcExp+""; let expr="s+w*d";
expr=expr.replace("s",row.initialWeightFee); expr=expr.replace("s",row.initialWeightFee);
expr=expr.replace("d",row.addWeightPrice); expr=expr.replace("d",row.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight); expr=expr.replace("w",this.form.settlementWeight);
console.log(expr); row.realFee=parseFloat(eval(expr)).toFixed(2);
let childRealFee=parseFloat(eval(expr)).toFixed(2);
row.realFee=childRealFee;
console.log(childRealFee);
} }
} }
@ -1587,53 +1610,26 @@ methods: {
this.form.goodsInfo = selNameStr; this.form.goodsInfo = selNameStr;
}, },
handleGenGoods(){ handleInitGenGoods(){
if(this.form.parcelQty>0){ if(this.form.parcelQty>0){
let currentParcelQty = 0;
if(this.form.cargoList){
this.form.cargoList=[];
}
this.form.cargoList.forEach(item=>{
currentParcelQty = currentParcelQty+parseInt(item.cargoQty);
});
// 新件数大于 // 新件数大于
if(this.form.parcelQty>=this.form.cargoList.length){ if(this.form.parcelQty>currentParcelQty){
console.log() let len=this.form.parcelQty-currentParcelQty;
let len=this.form.parcelQty-this.form.cargoList.length; if(this.form.parcelQty>20){
for(let i=0;i<len;i++){
let cargo={ let cargo={
"goodsCode": "", "goodsCode": "",
"goodsName": "", "goodsName": "",
"cargoQty": 1, "cargoQty": len,
"length": 0,
"width": 0,
"height": 0,
"volume": 0,
}
this.form.cargoList.push(cargo);
}
}
else{
let newList=[];
for(let i=0;i<this.form.parcelQty;i++){
newList.push(this.form.cargoList[i])
}
this.form.cargoList=newList;
}
}else{
this.form.cargoList=[];
}
},
onGoodsChange_old(goodsName){
if(goodsName&& goodsName!='') {
// 旧map
let nameOldMap = new Map();
if(this.form.cargoList!=null&& this.form.cargoList.length>0){
this.form.cargoList.forEach(item=>{
nameOldMap[item.goodsName]=item;
});
}
if(!(goodsName in nameOldMap)){
let cargo={
"goodsCode": goodsName,
"goodsName": goodsName,
"cargoQty": 1,
"length": 0, "length": 0,
"width": 0, "width": 0,
"height": 0, "height": 0,
@ -1641,10 +1637,81 @@ methods: {
} }
this.form.cargoList.push(cargo); this.form.cargoList.push(cargo);
} }
else{
this.handleCalcQty(); for(let i=0;i<len;i++){
this.handleCalcVolume(); let cargo={
"goodsCode": "",
"goodsName": "",
"cargoQty": 1,
"length": 0,
"width": 0,
"height": 0,
"volume": 0,
}
this.form.cargoList.push(cargo);
}
}
} }
else{
let newList=[];
let incQty=0;
let zeroItem=null;
for(let i=0;i<this.form.cargoList.length;i++){
let item=this.form.cargoList[i];
// 忽略未填写体积的数据
if(item.length==0&&item.width==0&&item.height==0){
zeroItem=item;
zeroItem.cargoQty=1;
continue;
}
if((incQty+parseInt(item.cargoQty))<this.form.parcelQty){
incQty = incQty+parseInt(item.cargoQty);
newList.push(item)
}else{
item.cargoQty=this.form.parcelQty-incQty;
newList.push(item)
incQty = incQty+parseInt(item.cargoQty);
break;
}
}
// 补足数量
let bzLen=this.form.parcelQty-incQty;
for(let i=0;i<bzLen;i++){
let newItem=Object.assign({},zeroItem);
newList.push(newItem);
}
this.form.cargoList=newList;
}
}else{
this.form.cargoList=[];
}
},
handleCargoQtyChange(){
this.handleInitGenGoods();
this.handleCalcVolume();
},
deleteGoodsItem(row,index){
this.$confirm('确定删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// let newList = this.form.cargoList.filter(item => item.goodsName !== row.goodsName);
// this.form.cargoList=newList;
console.log(index);
this.form.cargoList.splice(index,1)
this.handleCalcVolume();
}).catch(() => {
})
},
copyGoodsItem(row,index){
let newItem = Object.assign({},row);
newItem.cargoQty=1;
this.form.cargoList.splice(index+1, 0, newItem);
// this.form.cargoList.push(newItem);
handleCargoQtyChange();
}, },
showLocalTime(){ showLocalTime(){

View File

@ -7,14 +7,19 @@
<div class="form-group-title"><span class="title">{{ $t('发货信息') }}</span></div> <div class="form-group-title"><span class="title">{{ $t('发货信息') }}</span></div>
</template> </template>
<div> <div>
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;"> <el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="6">
<!-- 运单录入 -->
<el-col :span="6" v-if="action=='add'">
<el-form-item :label="$t('发货时间')" prop="sendDate"> <el-form-item :label="$t('发货时间')" prop="sendDate">
<el-input v-model="form.sendDate" placeholder="" readonly="" disabled /> <el-input v-model="form.sendDate" placeholder="" readonly="" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18" v-if="action=='add'">
<el-form-item label="运单号" prop="billCode" > <el-form-item label="运单号" prop="billCode" >
<div style="display:inline-flex"> <div style="display:inline-flex">
<div> <div>
@ -27,6 +32,33 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 运单录入 end -->
<!-- 运单修改 -->
<el-col :span="8" v-if="action=='modify'">
<el-form-item label="运单号" prop="billCode" >
<div style="display:inline-flex">
<div>
<el-input v-model="form.billCode" placeholder="单号输入后按回车" @keyup.enter.native="handleScanInput" style="font-weight:600;color:black" >
<i slot="suffix" class="iconfont">&#xe656;</i>
</el-input>
</div>
<!-- <div style="padding-left:5px"> <el-checkbox style="font-size:400;margin-right:10px;font-size:10px" @change="checked=>handleBillCodeChange(checked)"><span style="font-size:10px">电子主单</span></el-checkbox></div> -->
</div>
</el-form-item>
</el-col>
<el-col :span="6" v-if="action=='modify'">
<el-form-item :label="$t('发货时间')" prop="sendDate">
<el-input v-model="form.sendDate" placeholder="" readonly="" disabled />
</el-form-item>
</el-col>
<el-col :span="10" v-if="action=='modify'">
</el-col>
<!-- 运单修改 end -->
<el-col :span="6"> <el-col :span="6">
<el-form-item label="目的国" prop="reciever.country"> <el-form-item label="目的国" prop="reciever.country">
@ -805,6 +837,7 @@ data() {
loading: true, loading: true,
isNeedSave:false, isNeedSave:false,
triggerCount:0, triggerCount:0,
action:null,
// 表单参数 // 表单参数
form: {}, form: {},
timer:null, timer:null,
@ -957,6 +990,8 @@ data() {
} }
}; };
}, },
computed:{
},
watch: { watch: {
"form.reciever.province":{ "form.reciever.province":{
handler (newValue, oldValue) { handler (newValue, oldValue) {
@ -972,13 +1007,13 @@ data() {
}, },
deep: true deep: true
}, },
"form.volumeWeight":{ // "form.volumeWeight":{
handler (newValue, oldValue) { // handler (newValue, oldValue) {
this.reCalcSettlementWeight(); // this.reCalcSettlementWeight();
}, // },
immediate: false, // immediate: false,
deep: true // deep: true
}, // },
"form.billWeight":{ "form.billWeight":{
handler (newValue, oldValue) { handler (newValue, oldValue) {
this.reCalcSettlementWeight(); this.reCalcSettlementWeight();
@ -1031,6 +1066,7 @@ updated(){
}, },
created() { created() {
this.billCode=this.$route.query.billCode; this.billCode=this.$route.query.billCode;
this.action=this.$route.query.action;
this.initData(); this.initData();
this.initTanexPrinterSdk(); this.initTanexPrinterSdk();
@ -1230,11 +1266,8 @@ methods: {
}, },
initData() { initData() {
this.reset(); this.reset();
this.form.sendDate = parseTime(new Date());
this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
this.form.sendSiteName=this.$store.getters.ownerSiteName;
console.log(this.form.sendSiteName)
// console.log(this.form.sendSiteName)
if(this.billCode !=null) { if(this.billCode !=null) {
this.loading = true; this.loading = true;
getWaybillDetail(this.billCode).then(response => { getWaybillDetail(this.billCode).then(response => {
@ -1243,12 +1276,15 @@ methods: {
this.loading = false; this.loading = false;
this.isNeedSave=true; this.isNeedSave=true;
this.form.printTypeCheckList=[1,5]
}); });
}else{ }else{
// console.log(this.dict.type.emis_declare_mode[0]);
// this.form.customsEclaration = this.dict.type.emis_declare_mode[0].value; this.form.sendDate = parseTime(new Date());
this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
this.form.sendSiteName=this.$store.getters.ownerSiteName;
this.form.customsEclaration='1'; this.form.customsEclaration='1';
this.form.customsClear='1'; this.form.customsClear='1';
// this.form.pickupMethod='2'; // this.form.pickupMethod='2';
@ -1553,6 +1589,8 @@ methods: {
}, },
calcBillFee(){ calcBillFee(){
console.log("11111=>"+this.isNeedSave)
// 初始化不计算 // 初始化不计算
if(!this.isNeedSave){ if(!this.isNeedSave){
return; return;
@ -1610,9 +1648,14 @@ methods: {
if(this.form.parcelQty>0){ if(this.form.parcelQty>0){
let currentParcelQty = 0; let currentParcelQty = 0;
if(this.form.cargoList){
this.form.cargoList=[];
}
this.form.cargoList.forEach(item=>{ this.form.cargoList.forEach(item=>{
currentParcelQty = currentParcelQty+parseInt(item.cargoQty); currentParcelQty = currentParcelQty+parseInt(item.cargoQty);
}); });
// 新件数大于 // 新件数大于
if(this.form.parcelQty>currentParcelQty){ if(this.form.parcelQty>currentParcelQty){
let len=this.form.parcelQty-currentParcelQty; let len=this.form.parcelQty-currentParcelQty;