Merge branch 'master' of http://git.xdadan.com/tanex/emis-frontend
This commit is contained in:
commit
851ce3cd72
@ -8,6 +8,7 @@ VUE_APP_VERSION = '20240516'
|
||||
# 开发环境
|
||||
#VUE_APP_BASE_API = '/dev-api'
|
||||
VUE_APP_PDOMAIN = 'tanex56'
|
||||
VUE_APP_DATA_FROM = 'pc'
|
||||
# VUE_APP_BASE_API = 'http://api.emis.tanex56.com/api/bizsvr'
|
||||
VUE_APP_BASE_API = 'http://47.102.220.189:58089/api/bizsvr'
|
||||
# VUE_APP_BASE_API = 'http://47.96.189.20:58089/api/bizsvr'
|
||||
|
||||
@ -8,6 +8,7 @@ VUE_APP_VERSION = '20240520'
|
||||
|
||||
# 管理系统/生产环境
|
||||
VUE_APP_PDOMAIN = 'tanex56'
|
||||
VUE_APP_DATA_FROM = 'pc'
|
||||
VUE_APP_BASE_API = 'https://api.emis.tanex56.com/api/bizsvr'
|
||||
|
||||
VUE_APP_PRINTER_HOST = '127.0.0.1:17080'
|
||||
|
||||
@ -11,6 +11,7 @@ VUE_APP_VERSION = '20240516'
|
||||
# 测试环境
|
||||
VUE_APP_BASE_API = '/stage-api'
|
||||
VUE_APP_PDOMAIN = 'tanex56'
|
||||
VUE_APP_DATA_FROM = 'pc'
|
||||
VUE_APP_BASE_API = 'http://api.emis.tanex56.com/api/bizsvr'
|
||||
|
||||
VUE_APP_PRINTER_HOST = '127.0.0.1:17080'
|
||||
|
||||
@ -227,10 +227,18 @@ export default {
|
||||
},
|
||||
// 下载
|
||||
downPDF() {
|
||||
var tempLink = document.createElement('a')
|
||||
// 下载所有预览的PDF文件
|
||||
if(this.cacheFileList&&this.cacheFileList.length>0){
|
||||
this.cacheFileList.forEach(item=>{
|
||||
this.downPdfFile(item.billCode,item.pdfUrl);
|
||||
});
|
||||
}
|
||||
},
|
||||
downPdfFile(fileName,pdfUrl){
|
||||
var tempLink = document.createElement('a')
|
||||
tempLink.style.display = 'none'
|
||||
tempLink.href = this.loadPdfUrl
|
||||
tempLink.setAttribute('download', (new Date()).getTime()+'.pdf')
|
||||
tempLink.href = pdfUrl
|
||||
tempLink.setAttribute('download', fileName+'.pdf')
|
||||
if (typeof tempLink.download === 'undefined') {
|
||||
tempLink.setAttribute('target', '_blank')
|
||||
}
|
||||
|
||||
@ -50,6 +50,53 @@ export default class PdfUtils {
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过模版生成A4纸面单
|
||||
* @param {*} templatePath
|
||||
* @param {*} outputPath
|
||||
* @param {*} data
|
||||
*/
|
||||
// const { PDFDocument, StandardFonts } = require('pdf-lib');
|
||||
// const fs = require('fs');
|
||||
// const fontkit = require('@pdf-lib/fontkit')
|
||||
// let pdfDoc
|
||||
// let font
|
||||
// 使用示例
|
||||
// const templatePath = 'template.pdf';
|
||||
// const outputPath = 'output.pdf';
|
||||
// const data = {
|
||||
// 'key': 'value支持中文参数',
|
||||
// };
|
||||
|
||||
// fillPdfForm(templatePath, outputPath, data)
|
||||
// .then(() => {
|
||||
// console.log('PDF生成成功');
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// console.log('PDF生成失败:', error);
|
||||
// });
|
||||
|
||||
async fillPdfForm(templatePath, outputPath, data) {
|
||||
const templateBytes = await fs.promises.readFile(templatePath);
|
||||
const fontBytes = await fs.promises.readFile('xxx.ttf');
|
||||
pdfDoc = await PDFDocument.load(templateBytes);
|
||||
pdfDoc.registerFontkit(fontkit);
|
||||
font = await pdfDoc.embedFont(fontBytes);
|
||||
const form = pdfDoc.getForm();
|
||||
|
||||
for (const fieldKey in data) {
|
||||
const field = form.getTextField(fieldKey);
|
||||
if (field) {
|
||||
field.setText(data[fieldKey]);
|
||||
field.updateAppearances(font)
|
||||
}
|
||||
}
|
||||
|
||||
const modifiedPdfBytes = await pdfDoc.save();
|
||||
|
||||
await fs.promises.writeFile(outputPath, modifiedPdfBytes);
|
||||
}
|
||||
|
||||
// 添加 Text 水印
|
||||
async addTextWatermark({ pdfDoc, text, docTitle }) {
|
||||
// console.log(StandardFonts, 'StandardFonts-->>') // 字体
|
||||
|
||||
@ -23,6 +23,10 @@ const service = axios.create({
|
||||
|
||||
// request拦截器
|
||||
service.interceptors.request.use(config => {
|
||||
|
||||
// 设置标识来源
|
||||
config.headers['dataFrom'] = process.env.VUE_APP_DATA_FROM
|
||||
|
||||
// 是否需要设置 token
|
||||
const isToken = (config.headers || {}).isToken === false
|
||||
// 是否需要防止数据重复提交
|
||||
@ -30,8 +34,8 @@ service.interceptors.request.use(config => {
|
||||
if (getToken() && !isToken) {
|
||||
// config.headers['X-O-Auth'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||
config.headers['X-Token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
|
||||
|
||||
}
|
||||
|
||||
// 获取语言
|
||||
let sLang = localStorage.getItem('locale') || navigator.language || 'zh-CN';
|
||||
config.headers['lang'] = sLang;
|
||||
|
||||
@ -57,7 +57,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog class="printPreDialog" title="预览" :visible.sync="openPdfView" width="95%" height="100%" :close-on-click-modal="false" :destroy-on-close="true" v-dialogDrag append-to-body>
|
||||
<el-dialog class="printPreDialog" title="预览" :visible.sync="openPdfView" width="95%" height="100%" :close-on-click-modal="false" :destroy-on-close="true" v-dialogDrag append-to-body @close="handleClose">
|
||||
<div style="height:100%;width:100%;overflow: auto;">
|
||||
<PdfViewer ref="pdfViewer" v-if="openPdfView" :pdfList="pdfList" @onPrint="onPdfViewPrint" ></PdfViewer>
|
||||
</div>
|
||||
@ -108,7 +108,7 @@
|
||||
return {
|
||||
svalue: this.value,
|
||||
subBillStart:1,
|
||||
subBillEnd:1,
|
||||
subBillEnd:null,
|
||||
openPdfView:false,
|
||||
|
||||
// 计数器
|
||||
@ -290,29 +290,6 @@
|
||||
|
||||
that.showCounter++;
|
||||
|
||||
// const pdfDataList=[...pdfList];
|
||||
// for(let i=0;i<pdfDataList.length;i++){
|
||||
// let url= await pdfUtils.getBlobUrl(item);
|
||||
// // that.pdfUrl=url;
|
||||
// let pdfInfo={
|
||||
// "billCode":"1"+new Date().getTime(),
|
||||
// "pdfUrl":url
|
||||
// }
|
||||
// console.log(pdfInfo);
|
||||
// that.pdfList.push(pdfInfo);
|
||||
// }
|
||||
// pdfUtils.mergePdf3(pdfDataList, (new Date()).getTime()+".pdf",false )
|
||||
// .then(url=>{
|
||||
// loadingInstance.close();
|
||||
// that.pdfUrl=url;
|
||||
// that.openPdfView = true;
|
||||
// })
|
||||
// .catch(error => {
|
||||
// // console.log(error)
|
||||
// that.$modal.msgError("打印出错:"+erroMsg);
|
||||
// });
|
||||
|
||||
|
||||
}
|
||||
else if(code == 800){
|
||||
// 全部获取完成
|
||||
@ -338,11 +315,21 @@
|
||||
if(this.selTplCode=="TAN-GC-130"){
|
||||
for(let i=0;i<this.orderList.length;i++){
|
||||
let billCode=this.orderList[i];
|
||||
let subBillStart=1;
|
||||
if(this.subBillStart&&this.subBillStart>0){
|
||||
subBillStart=this.subBillStart;
|
||||
}
|
||||
|
||||
let subBillEnd=50;
|
||||
if(this.subBillEnd){
|
||||
subBillEnd = this.subBillEnd;
|
||||
}
|
||||
// 循环子单范围
|
||||
for(let i=this.subBillStart;i<=this.subBillEnd;i++){
|
||||
for(let i=subBillStart;i<=subBillEnd;i++){
|
||||
let subBillCode = billCode+""+this.lpadZero(i,4);
|
||||
newOrderList.push(subBillCode);
|
||||
}
|
||||
|
||||
}
|
||||
}else{
|
||||
newOrderList=[...orderList];
|
||||
@ -375,28 +362,6 @@
|
||||
}
|
||||
that.showCounter++;
|
||||
|
||||
// const pdfDataList=[...pdfList];
|
||||
// for(let i=0;i<pdfDataList.length;i++){
|
||||
// let url= await pdfUtils.getBlobUrl(item);
|
||||
// // that.pdfUrl=url;
|
||||
// let pdfInfo={
|
||||
// "billCode":"1"+new Date().getTime(),
|
||||
// "pdfUrl":url
|
||||
// }
|
||||
// console.log(pdfInfo);
|
||||
// that.pdfList.push(pdfInfo);
|
||||
// }
|
||||
// pdfUtils.mergePdf3(pdfDataList, (new Date()).getTime()+".pdf",false )
|
||||
// .then(url=>{
|
||||
// loadingInstance.close();
|
||||
// that.pdfUrl=url;
|
||||
// that.openPdfView = true;
|
||||
// })
|
||||
// .catch(error => {
|
||||
// // console.log(error)
|
||||
// that.$modal.msgError("打印出错:"+erroMsg);
|
||||
// });
|
||||
|
||||
}
|
||||
else if(code == 800){
|
||||
// 全部获取完成
|
||||
@ -423,7 +388,17 @@
|
||||
for(let i=0;i<this.orderList.length;i++){
|
||||
let billCode=this.orderList[i];
|
||||
// 循环子单范围
|
||||
for(let i=this.subBillStart;i<=this.subBillEnd;i++){
|
||||
let subBillStart=1;
|
||||
if(this.subBillStart&&this.subBillStart>0){
|
||||
subBillStart=this.subBillStart;
|
||||
}
|
||||
|
||||
let subBillEnd=50;
|
||||
if(this.subBillEnd){
|
||||
subBillEnd = this.subBillEnd;
|
||||
}
|
||||
|
||||
for(let i=subBillStart;i<=subBillEnd;i++){
|
||||
let subBillCode = billCode+""+this.lpadZero(i,4);
|
||||
newOrderList.push(subBillCode);
|
||||
}
|
||||
@ -447,52 +422,21 @@
|
||||
loadingInstance.close();
|
||||
let pdfUtils=new PdfUtils({});
|
||||
pdfUtils.getBlobUrl(pdfData.file, pdfData.ydSn+".pdf",true )
|
||||
|
||||
|
||||
// const pdfDataList=[...pdfList];
|
||||
// for(let i=0;i<pdfDataList.length;i++){
|
||||
// let url= await pdfUtils.getBlobUrl(item);
|
||||
// // that.pdfUrl=url;
|
||||
// let pdfInfo={
|
||||
// "billCode":"1"+new Date().getTime(),
|
||||
// "pdfUrl":url
|
||||
// }
|
||||
// console.log(pdfInfo);
|
||||
// that.pdfList.push(pdfInfo);
|
||||
// }
|
||||
// pdfUtils.mergePdf3(pdfDataList, (new Date()).getTime()+".pdf",false )
|
||||
// .then(url=>{
|
||||
// loadingInstance.close();
|
||||
// that.pdfUrl=url;
|
||||
// that.openPdfView = true;
|
||||
// })
|
||||
// .catch(error => {
|
||||
// // console.log(error)
|
||||
// that.$modal.msgError("打印出错:"+erroMsg);
|
||||
// });
|
||||
|
||||
}
|
||||
else if(code == 800){
|
||||
// 全部获取完成
|
||||
// console.log("===全部获取完成====>");
|
||||
}
|
||||
|
||||
// if(success){
|
||||
// const pdfDataList=[...pdfList];
|
||||
// let pdfUtils=new PdfUtils({});
|
||||
// // for()
|
||||
// // pdfUtils.mergePdf3(pdfDataList, (new Date()).getTime()+".pdf",true )
|
||||
// pdfUtils.mergePdf3(pdfDataList, fileName+".pdf",true )
|
||||
|
||||
// }else{
|
||||
// that.$modal.msgError("下载出错:"+erroMsg);
|
||||
// }
|
||||
});
|
||||
},
|
||||
|
||||
// 响应PDF预览
|
||||
onPdfViewPrint(){
|
||||
this.$emit("onPrint");
|
||||
},
|
||||
handleClose(){
|
||||
this.$emit("onPrintComplete");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,28 +1,19 @@
|
||||
<template>
|
||||
<el-select
|
||||
:loading="loading"
|
||||
multiple
|
||||
filterable
|
||||
clearable
|
||||
ref="selectRef"
|
||||
default-first-option
|
||||
v-el-select-loadmore="loadmore"
|
||||
remote
|
||||
:remote-method="remoteMethod"
|
||||
:loading="loading"
|
||||
:no-data-text="noDataText"
|
||||
v-model="svalue"
|
||||
:placeholder="placeholder"
|
||||
style="width:100%"
|
||||
allow-create
|
||||
@change="onChange">
|
||||
<el-option v-for="item in filterData" :key="item.inNo" :label="item.inNo" :value="item.inNo">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- <el-checkbox-group v-model="svalue">
|
||||
<el-option v-for="item in filterData" :key="item.id" :label="item.goodsName" :value="item.id">
|
||||
<el-checkbox style="pointer-events: none" :label="item.goodsName"></el-checkbox>
|
||||
</el-option>
|
||||
</el-checkbox-group> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -46,7 +37,6 @@
|
||||
// 搜索后的数据
|
||||
filterData:[],
|
||||
filterMap:new Map(),
|
||||
noDataText: '无数据',
|
||||
loading: false,
|
||||
queryParams:{
|
||||
pageNum: 1,
|
||||
@ -56,41 +46,40 @@
|
||||
},
|
||||
watch: {
|
||||
value(newVal) {
|
||||
console.log(this.value)
|
||||
// if(newVal != null && newVal!='') {
|
||||
// this.svalue = this.value.spilt(',');
|
||||
// }
|
||||
this.svalue=this.value;
|
||||
if(this.value&&this.value!='') {
|
||||
this.svalue = this.value.split(',');
|
||||
}
|
||||
},
|
||||
svalue(newVal, oldVal) {
|
||||
}
|
||||
|
||||
},
|
||||
created() {
|
||||
if(this.value != null && this.value!='' && this.value!=undefined) {
|
||||
if(this.value&&this.value!='') {
|
||||
this.svalue = this.value.split(',');
|
||||
}
|
||||
this.queryData();
|
||||
},
|
||||
methods: {
|
||||
onChange(val) {
|
||||
let selData = [];
|
||||
|
||||
let selCodeStr = "";
|
||||
let selNameStr="";
|
||||
this.svalue.forEach(item=>{
|
||||
|
||||
let itemData=this.filterMap[item];
|
||||
|
||||
if(itemData!=null){
|
||||
selData.push(itemData)
|
||||
selCodeStr=selCodeStr+itemData.inNo+",";
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
selCodeStr = selCodeStr.substring(0,selCodeStr.length-1);
|
||||
console.log(selData);
|
||||
console.log(selCodeStr);
|
||||
console.log(selNameStr);
|
||||
this.$emit('input', selCodeStr)
|
||||
this.$emit('onChange', selData,selNameStr)
|
||||
if(selCodeStr){
|
||||
selCodeStr = selCodeStr.substring(0,selCodeStr.length-1);
|
||||
}
|
||||
|
||||
this.$emit('input', selCodeStr)
|
||||
this.$emit('onChange', selCodeStr)
|
||||
|
||||
this.$refs.selectRef.createdLabel = null
|
||||
},
|
||||
remoteMethod(queryVal) {
|
||||
this.queryParams.pageNum=1;
|
||||
|
||||
@ -17,7 +17,8 @@
|
||||
<el-col :span="24">
|
||||
<el-form-item label="产品类型" prop="productType">
|
||||
<!-- :transLineCode="form.transLineType" -->
|
||||
<TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLineType"></TransProductPicker>
|
||||
<TransProductMultiplePicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLineType"></TransProductMultiplePicker>
|
||||
<!-- <TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLineType"></TransProductPicker> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@ -95,6 +96,8 @@ import CountryPickerStart from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
import CountryPickerDest from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
|
||||
import XdSteps from '@/components/XdSteps'
|
||||
import TransProductMultiplePicker from '@/views/emis/EmisBaseTools/TransProductMultiplePicker.vue';
|
||||
|
||||
|
||||
export default {
|
||||
name: "emisTmsTransPlanForm",
|
||||
@ -109,7 +112,8 @@ export default {
|
||||
CountryPickerStart,
|
||||
CountryPickerDest,
|
||||
TransProductPicker,
|
||||
XdSteps
|
||||
XdSteps,
|
||||
TransProductMultiplePicker
|
||||
},
|
||||
dicts: ['emis_biz_shipping_method'
|
||||
],
|
||||
|
||||
@ -12,19 +12,10 @@
|
||||
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<!-- 运单录入 -->
|
||||
<!-- <el-col :span="4">
|
||||
<el-form-item label="寄件网点" prop="sendSiteCode">
|
||||
<EmisSiteSimplePicker v-if="$store.getters.ownerSiteCode== '88888'" v-model="form.sendSiteCode" @onChange="onSendSiteSelect" ></EmisSiteSimplePicker>
|
||||
<el-input v-else v-model="form.sendSiteName" placeholder="" disabled />
|
||||
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
|
||||
|
||||
<el-col :span="6" v-if="action=='add'">
|
||||
<el-form-item :label="$t('发货时间')" prop="sendDate">
|
||||
<el-input v-model="sendDate" placeholder="" disabled />
|
||||
<!-- <el-input v-model="form.sendDate" placeholder="" readonly="" disabled /> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@ -33,9 +24,6 @@
|
||||
<div style="display:inline-flex">
|
||||
<div>
|
||||
<el-input v-model="form.billCode" placeholder="运单号" style="font-weight:600;color:black" />
|
||||
<!-- <el-input v-model="form.billCode" placeholder="单号输入后按回车" @keyup.enter.native="handleScanInput" style="font-weight:600;color:black" >
|
||||
<i slot="suffix" class="iconfont"></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>
|
||||
@ -56,7 +44,6 @@
|
||||
</el-input>
|
||||
</el-form>
|
||||
</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>
|
||||
@ -70,7 +57,6 @@
|
||||
<el-col :span="10" v-if="action=='modify'">
|
||||
</el-col>
|
||||
|
||||
|
||||
<!-- 运单修改 end -->
|
||||
|
||||
|
||||
@ -84,7 +70,6 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品类型" prop="productType">
|
||||
<TransProductCasPicker v-model="form.productTypeSelArr" :countryCode="form.destinationCountry" @onChange="onProductChange" ></TransProductCasPicker>
|
||||
<!-- <trans-product-picker v-model="form.productType" :transLineCode="form.transLine"></trans-product-picker> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
@ -143,24 +128,15 @@
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>
|
||||
<!-- style="font-size:10px" -->
|
||||
<span >{{dict.label}}</span>
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- <el-col :xs="{span: 24}" :sm="{span: 12}" :md="{span: 12}" :lg="{span: 6}" :xl="{span: 6}">
|
||||
<el-form-item label="寄件客户" prop="customerCode">
|
||||
<customer-picker0 v-model="form.customerCode"></customer-picker0>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
|
||||
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 60px;z-index: 9999;">
|
||||
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 60px;z-index: 100;">
|
||||
<div v-if="totalAvailablePag.mainHasCnt>0" style="display:inline-flex;font-size: 15px;font-weight: 700;">
|
||||
|
||||
<div style="width:230px">
|
||||
@ -181,8 +157,7 @@
|
||||
<div @click="handleApplyPag" style="font-size: 15px;font-weight: 700;color:red;cursor: pointer;">主单余量:0,请立即【<span style="color:blue">申购</span>】</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- v-if="action=='add'" -->
|
||||
<div style="position: absolute;right: 80px;top: 260px;z-index: 1;">
|
||||
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 260px;z-index: 1;">
|
||||
<el-form-item label="打印选项:" prop="printTypeCheckList">
|
||||
<div style="display:inline-flex">
|
||||
<div>
|
||||
@ -196,7 +171,7 @@
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<div style="margin-left:10px">
|
||||
<TanexPrinterPanel ref="tanexPrinter" v-model="printerStatus" @onPrint="handleBatchPrint"></TanexPrinterPanel>
|
||||
<TanexPrinterPanel ref="tanexPrinter" v-model="printerStatus" @onPrint="handleBatchPrint" @onPrintComplete="onComplete"></TanexPrinterPanel>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@ -344,11 +319,6 @@
|
||||
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blAcceptMessage" :true-label="'1'" :false-label="'0'"><span style="font-size:10px">派件短信</span></el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="邮编" prop="receivePostcode">
|
||||
<el-input v-model="form.receivePostcode" placeholder="请输入邮编" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -362,14 +332,14 @@
|
||||
<el-col :span="12">
|
||||
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;padding: 0px 15px;">
|
||||
<el-col :span="24"><div style="font-weight:600">货物信息</div></el-col>
|
||||
<!-- <el-col :span="24"><div style="font-weight:600">货物信息</div></el-col> -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="货物大类" prop="goodsType" label-width="70px">
|
||||
<GoodsMultiplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsMultiplePicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="货物名称" prop="goodsType" label-width="70px">
|
||||
<el-form-item label="货物名称" prop="goodsInfo" label-width="70px">
|
||||
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -388,10 +358,7 @@
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="goodsType" label-width="0px">
|
||||
<!-- <GoodsSimplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsSimplePicker> -->
|
||||
<!-- <div style="width:50%">
|
||||
<GoodsMultiplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsMultiplePicker>
|
||||
</div> -->
|
||||
|
||||
<el-table
|
||||
class="cargoList"
|
||||
:cell-style="{
|
||||
@ -451,20 +418,6 @@
|
||||
|
||||
<el-table-column label="操作" align="left" min-width="50">
|
||||
<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"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@click="()=>deleteGoodsItem(scope.row,scope.$index)"></span>
|
||||
@ -490,7 +443,6 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- @blur="handleCalcVolumeWeight" -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="体积重量" prop="volumeWeight" label-width="70px">
|
||||
<el-input v-model="form.volumeWeight" placeholder="" disabled>
|
||||
@ -529,10 +481,10 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生成子单" prop="blGenSubbill" label-width="70px" v-if="this.form.billCode && this.form.parcelQty>0">
|
||||
<el-radio-group v-model="form.blGenSubbill" @change="handleGenSubbill">
|
||||
<el-radio :key="1" :label="1">是</el-radio>
|
||||
<el-radio :key="0" :label="0">否</el-radio>
|
||||
<el-form-item label="生成子单" prop="blGenSubbill" label-width="70px" >
|
||||
<el-radio-group v-model="form.blGenSubbill" @change="handleGenSubbill" >
|
||||
<el-radio :key="'1'" label="1">是</el-radio>
|
||||
<el-radio :key="'0'" label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
|
||||
</el-form-item>
|
||||
@ -600,7 +552,6 @@
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="计费方式" prop="calcFeeType" label-width="70px">
|
||||
<!-- <el-input v-model="form.calcFeeType" placeholder="请输入计费方式" /> -->
|
||||
<el-radio-group v-model="form.calcFeeType" @change="calcBillFee" >
|
||||
<el-radio
|
||||
v-for="dict in dict.type.emis_calc_fee_type"
|
||||
@ -729,11 +680,13 @@
|
||||
|
||||
</el-collapse>
|
||||
|
||||
<div style="text-align: center;margin-top: 10px;margin-bottom: 10px;">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="initData">重置</el-button>
|
||||
</div>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div style="text-align: center;margin-top: 10px;margin-bottom: 10px;">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="initData">重置</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog :title="titleSelectAddress" :visible.sync="openSelectAddress" width="60%" :destroy-on-close="true" v-dialogDrag append-to-body>
|
||||
<AddressSelectPicker0 :addressType="addressType" :useSiteCode="form.sendSiteCode" @onSelected="onAddressChangeSelect"></AddressSelectPicker0>
|
||||
@ -766,17 +719,12 @@ import CountryPicker1 from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
import ProvincePicker1 from '@/views/emis/EmisBaseTools/ProvincePicker.vue';
|
||||
import CityPicker1 from '@/views/emis/EmisBaseTools/CityPicker.vue';
|
||||
import DistrictPicker1 from '@/views/emis/EmisBaseTools/DistrictPicker.vue';
|
||||
// import TownPicker1 from '@/views/emis/EmisBaseTools/TownPicker.vue';
|
||||
|
||||
import CountryPicker2 from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
import ProvincePicker2 from '@/views/emis/EmisBaseTools/ProvincePicker.vue';
|
||||
import CityPicker2 from '@/views/emis/EmisBaseTools/CityPicker.vue';
|
||||
import DistrictPicker2 from '@/views/emis/EmisBaseTools/DistrictPicker.vue';
|
||||
// import TownPicker2 from '@/views/emis/EmisBaseTools/TownPicker.vue';
|
||||
|
||||
// import CustomerPicker0 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
// import CustomerPicker1 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
// import CustomerPicker2 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
|
||||
import GoodsSimplePicker from '@/views/emis/EmisBaseTools/GoodsSimplePicker.vue';
|
||||
import GoodsMultiplePicker from '@/views/emis/EmisBaseTools/GoodsMultiplePicker.vue';
|
||||
@ -796,15 +744,11 @@ import feeItemForm from './feeItemForm.vue';
|
||||
|
||||
import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
|
||||
import { doScan } from "@/api/emis/emisTmsScanRecord";
|
||||
import { deepClone } from '@/utils/index'
|
||||
|
||||
export default {
|
||||
// name: "WaybillRecord",
|
||||
name: "WaybillModify",
|
||||
// props:{
|
||||
// billCode:{
|
||||
// type:String
|
||||
// }
|
||||
// },
|
||||
components: {
|
||||
SalemanPicker,
|
||||
PayeePicker,
|
||||
@ -955,7 +899,7 @@ data() {
|
||||
{ required: true, message: "取件方式为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
goodsInfo: [
|
||||
{ required: true, message: "货物描述不能为空", trigger: ["blur",'change'] }
|
||||
{ required: true, message: "货物名称不能为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
totalVolume: [
|
||||
{ required: true, message: "总体积不能为空", trigger: "blur" }
|
||||
@ -966,12 +910,12 @@ data() {
|
||||
billWeight: [
|
||||
{ required: true, message: "实际重量不能为空", trigger: "blur" }
|
||||
],
|
||||
volumeWeight: [
|
||||
{ required: true, message: "体积重量不能为空", trigger: "blur" }
|
||||
],
|
||||
settlementWeight: [
|
||||
{ required: true, message: "结算重量不能为空", trigger: "blur" }
|
||||
],
|
||||
// volumeWeight: [
|
||||
// { required: true, message: "体积重量不能为空", trigger: "blur" }
|
||||
// ],
|
||||
// settlementWeight: [
|
||||
// { required: true, message: "结算重量不能为空", trigger: "blur" }
|
||||
// ],
|
||||
freight: [
|
||||
{ required: true, message: "运费不能为空", trigger: "blur" }
|
||||
],
|
||||
@ -1005,27 +949,27 @@ data() {
|
||||
computed: {
|
||||
},
|
||||
watch: {
|
||||
"form.parcelQty":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.billCode":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.blGenSubbill":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
// "form.parcelQty":{
|
||||
// handler (newValue, oldValue) {
|
||||
// this.handleGenSubbill();
|
||||
// },
|
||||
// immediate: false,
|
||||
// deep: true
|
||||
// },
|
||||
// "form.billCode":{
|
||||
// handler (newValue, oldValue) {
|
||||
// this.handleGenSubbill();
|
||||
// },
|
||||
// immediate: false,
|
||||
// deep: true
|
||||
// },
|
||||
// "form.blGenSubbill":{
|
||||
// handler (newValue, oldValue) {
|
||||
// this.handleGenSubbill();
|
||||
// },
|
||||
// immediate: false,
|
||||
// deep: true
|
||||
// },
|
||||
|
||||
},
|
||||
|
||||
@ -1052,10 +996,7 @@ methods: {
|
||||
this.totalAvailablePag.mainHasCnt=dataMap["1001"];
|
||||
this.totalAvailablePag.subHasCnt=dataMap["1002"];
|
||||
|
||||
console.log(this.totalAvailablePag.mainHasCnt);
|
||||
console.log(this.action);
|
||||
|
||||
if( this.totalAvailablePag.mainHasCnt <=0 && this.action=="add"){
|
||||
if( (this.totalAvailablePag.mainHasCnt <=0 || this.totalAvailablePag.subHasCnt<=0 ) && this.action=="add"){
|
||||
this.$confirm("电子面单数量不足,是否立即购买?", "提示", {
|
||||
cancelButtonText: "返回",
|
||||
confirmButtonText: "立即购买",
|
||||
@ -1157,7 +1098,6 @@ methods: {
|
||||
}
|
||||
printDataList.push(mainBillItem);
|
||||
|
||||
// console.log("bbbbbbbbbbb=====>");
|
||||
// 打印子单
|
||||
// tplCode="探路速运-子单联(通用)";
|
||||
// tplCode="TAN-GC-130";
|
||||
@ -1184,10 +1124,6 @@ methods: {
|
||||
printDataList.push(subBillItem);
|
||||
}
|
||||
|
||||
// console.log(printDataList);
|
||||
// console.log(billCount);
|
||||
|
||||
|
||||
// 预览主子单
|
||||
this.$refs.tanexPrinter.printPreviewAdv(printDataList,billCount)
|
||||
|
||||
@ -1208,6 +1144,19 @@ methods: {
|
||||
}
|
||||
|
||||
},
|
||||
onComplete(){
|
||||
this.$confirm("操作已完成是否【操作下一单】", "提示", {
|
||||
cancelButtonText: "返回",
|
||||
confirmButtonText: "操作下一单",
|
||||
type: "warning",
|
||||
distinguishCancelAndClose: true,
|
||||
closeOnClickModal: false
|
||||
}).then(() => {
|
||||
this.billCode=null;
|
||||
this.form.billCode=null;
|
||||
this.initData();
|
||||
});
|
||||
},
|
||||
onDestCountryChange(item){
|
||||
if(item){
|
||||
this.form.reciever.country=item.code;
|
||||
@ -1297,9 +1246,6 @@ methods: {
|
||||
this.form.packType=this.form.packType.split(",");
|
||||
}
|
||||
|
||||
// console.log("==================xxx==>");
|
||||
// console.log(this.form.lockFlag);
|
||||
|
||||
if(this.form.lockFlag=="T"){
|
||||
this.$confirm('已锁单,不允许修改!', '提示', {
|
||||
confirmButtonText: '确认',
|
||||
@ -1331,7 +1277,7 @@ methods: {
|
||||
this.form.parcelQty=1;
|
||||
this.form.packType=['2'];
|
||||
this.form.blOverWeight='0';
|
||||
this.form.blGenSubbill=1;
|
||||
this.form.blGenSubbill='1';
|
||||
this.form.paymentType='1';
|
||||
this.form.calcFeeType='1';
|
||||
this.form.blMessage='1'
|
||||
@ -1517,26 +1463,29 @@ methods: {
|
||||
},
|
||||
realSaveOrderInfo(){
|
||||
|
||||
// 不影响原表单提交,clone 一份数据
|
||||
let postForm=deepClone(this.form)
|
||||
// 调整包装类型为多选
|
||||
if(this.form.packType&&this.form.packType.length>0){
|
||||
this.form.packType=this.form.packType.join(",");
|
||||
postForm.packType=this.form.packType.join(",");
|
||||
}
|
||||
|
||||
|
||||
realSubmitOrder(this.form).then(response => {
|
||||
realSubmitOrder(postForm).then(response => {
|
||||
this.$modal.msgSuccess("下单成功");
|
||||
|
||||
// 弹出打印预览界面
|
||||
this.handlePrintPreview();
|
||||
// 新开单才需要打印
|
||||
if(this.action == "add"){
|
||||
// 做揽收扫描记录
|
||||
handDoGotScan();
|
||||
|
||||
this.handDoGotScan();
|
||||
|
||||
// 弹出打印预览界面
|
||||
this.handlePrintPreview();
|
||||
}
|
||||
else if(this.action == "modify"){
|
||||
// 弹出是否继续的窗口
|
||||
this.onComplete();
|
||||
}
|
||||
|
||||
// this.$emit("on-changed");
|
||||
});
|
||||
},
|
||||
handDoGotScan(){
|
||||
@ -1549,12 +1498,12 @@ methods: {
|
||||
}
|
||||
|
||||
// 揽收扫描
|
||||
let scanData={
|
||||
let scanData=[{
|
||||
billCode:this.form.billCode,
|
||||
scanWeight:null,
|
||||
scanDate:new Date(),
|
||||
dispatchOrSendManCode:opManCode
|
||||
}
|
||||
}];
|
||||
let scanInfo = {scanType:"10",opType:2,scanData:scanData}
|
||||
console.log(scanInfo)
|
||||
doScan(scanInfo);
|
||||
@ -1669,7 +1618,7 @@ methods: {
|
||||
if(row!=null){
|
||||
|
||||
if(row.calcExp){
|
||||
let expr="s+w*d";
|
||||
let expr=row.calcExp;
|
||||
expr=expr.replace("s",row.initialWeightFee);
|
||||
expr=expr.replace("d",row.addWeightPrice);
|
||||
expr=expr.replace("w",this.form.settlementWeight);
|
||||
@ -1930,6 +1879,7 @@ methods: {
|
||||
debounce(250, this.handleCargoQtyChange(row))
|
||||
},
|
||||
handleCargoQtyChange(row){
|
||||
this.handleGenSubbill();
|
||||
this.handleInitGenGoods();
|
||||
this.handleCalcVolume(row);
|
||||
},
|
||||
@ -1969,6 +1919,7 @@ methods: {
|
||||
realMatchWaybill(useSiteCode).then(response => {
|
||||
this.form.billCode=response.data;
|
||||
this.initGetTotalAvailablePag(this.form.sendSiteCode);
|
||||
this.handleGenSubbill();
|
||||
});
|
||||
}else{
|
||||
this.form.billCode=""
|
||||
@ -2051,10 +2002,5 @@ methods: {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
@ -12,19 +12,10 @@
|
||||
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<!-- 运单录入 -->
|
||||
<!-- <el-col :span="4">
|
||||
<el-form-item label="寄件网点" prop="sendSiteCode">
|
||||
<EmisSiteSimplePicker v-if="$store.getters.ownerSiteCode== '88888'" v-model="form.sendSiteCode" @onChange="onSendSiteSelect" ></EmisSiteSimplePicker>
|
||||
<el-input v-else v-model="form.sendSiteName" placeholder="" disabled />
|
||||
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
|
||||
|
||||
<el-col :span="6" v-if="action=='add'">
|
||||
<el-form-item :label="$t('发货时间')" prop="sendDate">
|
||||
<el-input v-model="sendDate" placeholder="" disabled />
|
||||
<!-- <el-input v-model="form.sendDate" placeholder="" readonly="" disabled /> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@ -33,9 +24,6 @@
|
||||
<div style="display:inline-flex">
|
||||
<div>
|
||||
<el-input v-model="form.billCode" placeholder="运单号" style="font-weight:600;color:black" />
|
||||
<!-- <el-input v-model="form.billCode" placeholder="单号输入后按回车" @keyup.enter.native="handleScanInput" style="font-weight:600;color:black" >
|
||||
<i slot="suffix" class="iconfont"></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>
|
||||
@ -56,7 +44,6 @@
|
||||
</el-input>
|
||||
</el-form>
|
||||
</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>
|
||||
@ -70,7 +57,6 @@
|
||||
<el-col :span="10" v-if="action=='modify'">
|
||||
</el-col>
|
||||
|
||||
|
||||
<!-- 运单修改 end -->
|
||||
|
||||
|
||||
@ -84,7 +70,6 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品类型" prop="productType">
|
||||
<TransProductCasPicker v-model="form.productTypeSelArr" :countryCode="form.destinationCountry" @onChange="onProductChange" ></TransProductCasPicker>
|
||||
<!-- <trans-product-picker v-model="form.productType" :transLineCode="form.transLine"></trans-product-picker> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
@ -143,24 +128,15 @@
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>
|
||||
<!-- style="font-size:10px" -->
|
||||
<span >{{dict.label}}</span>
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- <el-col :xs="{span: 24}" :sm="{span: 12}" :md="{span: 12}" :lg="{span: 6}" :xl="{span: 6}">
|
||||
<el-form-item label="寄件客户" prop="customerCode">
|
||||
<customer-picker0 v-model="form.customerCode"></customer-picker0>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
|
||||
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 60px;z-index: 9999;">
|
||||
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 60px;z-index: 100;">
|
||||
<div v-if="totalAvailablePag.mainHasCnt>0" style="display:inline-flex;font-size: 15px;font-weight: 700;">
|
||||
|
||||
<div style="width:230px">
|
||||
@ -181,8 +157,7 @@
|
||||
<div @click="handleApplyPag" style="font-size: 15px;font-weight: 700;color:red;cursor: pointer;">主单余量:0,请立即【<span style="color:blue">申购</span>】</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- v-if="action=='add'" -->
|
||||
<div style="position: absolute;right: 80px;top: 260px;z-index: 1;">
|
||||
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 260px;z-index: 1;">
|
||||
<el-form-item label="打印选项:" prop="printTypeCheckList">
|
||||
<div style="display:inline-flex">
|
||||
<div>
|
||||
@ -196,7 +171,7 @@
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<div style="margin-left:10px">
|
||||
<TanexPrinterPanel ref="tanexPrinter" v-model="printerStatus" @onPrint="handleBatchPrint"></TanexPrinterPanel>
|
||||
<TanexPrinterPanel ref="tanexPrinter" v-model="printerStatus" @onPrint="handleBatchPrint" @onPrintComplete="onComplete"></TanexPrinterPanel>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@ -344,11 +319,6 @@
|
||||
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blAcceptMessage" :true-label="'1'" :false-label="'0'"><span style="font-size:10px">派件短信</span></el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="邮编" prop="receivePostcode">
|
||||
<el-input v-model="form.receivePostcode" placeholder="请输入邮编" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -362,14 +332,14 @@
|
||||
<el-col :span="12">
|
||||
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;padding: 0px 15px;">
|
||||
<el-col :span="24"><div style="font-weight:600">货物信息</div></el-col>
|
||||
<!-- <el-col :span="24"><div style="font-weight:600">货物信息</div></el-col> -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="货物大类" prop="goodsType" label-width="70px">
|
||||
<GoodsMultiplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsMultiplePicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="货物名称" prop="goodsType" label-width="70px">
|
||||
<el-form-item label="货物名称" prop="goodsInfo" label-width="70px">
|
||||
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -388,10 +358,7 @@
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="goodsType" label-width="0px">
|
||||
<!-- <GoodsSimplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsSimplePicker> -->
|
||||
<!-- <div style="width:50%">
|
||||
<GoodsMultiplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsMultiplePicker>
|
||||
</div> -->
|
||||
|
||||
<el-table
|
||||
class="cargoList"
|
||||
:cell-style="{
|
||||
@ -451,20 +418,6 @@
|
||||
|
||||
<el-table-column label="操作" align="left" min-width="50">
|
||||
<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"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@click="()=>deleteGoodsItem(scope.row,scope.$index)"></span>
|
||||
@ -490,7 +443,6 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- @blur="handleCalcVolumeWeight" -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="体积重量" prop="volumeWeight" label-width="70px">
|
||||
<el-input v-model="form.volumeWeight" placeholder="" disabled>
|
||||
@ -529,10 +481,10 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生成子单" prop="blGenSubbill" label-width="70px" v-if="this.form.billCode && this.form.parcelQty>0">
|
||||
<el-radio-group v-model="form.blGenSubbill" @change="handleGenSubbill">
|
||||
<el-radio :key="1" :label="1">是</el-radio>
|
||||
<el-radio :key="0" :label="0">否</el-radio>
|
||||
<el-form-item label="生成子单" prop="blGenSubbill" label-width="70px" >
|
||||
<el-radio-group v-model="form.blGenSubbill" @change="handleGenSubbill" >
|
||||
<el-radio :key="'1'" label="1">是</el-radio>
|
||||
<el-radio :key="'0'" label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
|
||||
</el-form-item>
|
||||
@ -600,7 +552,6 @@
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="计费方式" prop="calcFeeType" label-width="70px">
|
||||
<!-- <el-input v-model="form.calcFeeType" placeholder="请输入计费方式" /> -->
|
||||
<el-radio-group v-model="form.calcFeeType" @change="calcBillFee" >
|
||||
<el-radio
|
||||
v-for="dict in dict.type.emis_calc_fee_type"
|
||||
@ -729,11 +680,13 @@
|
||||
|
||||
</el-collapse>
|
||||
|
||||
<div style="text-align: center;margin-top: 10px;margin-bottom: 10px;">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="initData">重置</el-button>
|
||||
</div>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div style="text-align: center;margin-top: 10px;margin-bottom: 10px;">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="initData">重置</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog :title="titleSelectAddress" :visible.sync="openSelectAddress" width="60%" :destroy-on-close="true" v-dialogDrag append-to-body>
|
||||
<AddressSelectPicker0 :addressType="addressType" :useSiteCode="form.sendSiteCode" @onSelected="onAddressChangeSelect"></AddressSelectPicker0>
|
||||
@ -766,17 +719,12 @@ import CountryPicker1 from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
import ProvincePicker1 from '@/views/emis/EmisBaseTools/ProvincePicker.vue';
|
||||
import CityPicker1 from '@/views/emis/EmisBaseTools/CityPicker.vue';
|
||||
import DistrictPicker1 from '@/views/emis/EmisBaseTools/DistrictPicker.vue';
|
||||
// import TownPicker1 from '@/views/emis/EmisBaseTools/TownPicker.vue';
|
||||
|
||||
import CountryPicker2 from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
import ProvincePicker2 from '@/views/emis/EmisBaseTools/ProvincePicker.vue';
|
||||
import CityPicker2 from '@/views/emis/EmisBaseTools/CityPicker.vue';
|
||||
import DistrictPicker2 from '@/views/emis/EmisBaseTools/DistrictPicker.vue';
|
||||
// import TownPicker2 from '@/views/emis/EmisBaseTools/TownPicker.vue';
|
||||
|
||||
// import CustomerPicker0 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
// import CustomerPicker1 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
// import CustomerPicker2 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
|
||||
import GoodsSimplePicker from '@/views/emis/EmisBaseTools/GoodsSimplePicker.vue';
|
||||
import GoodsMultiplePicker from '@/views/emis/EmisBaseTools/GoodsMultiplePicker.vue';
|
||||
@ -796,15 +744,11 @@ import feeItemForm from './feeItemForm.vue';
|
||||
|
||||
import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
|
||||
import { doScan } from "@/api/emis/emisTmsScanRecord";
|
||||
import { deepClone } from '@/utils/index'
|
||||
|
||||
export default {
|
||||
name: "WaybillRecord",
|
||||
// name: "WaybillModify",
|
||||
// props:{
|
||||
// billCode:{
|
||||
// type:String
|
||||
// }
|
||||
// },
|
||||
components: {
|
||||
SalemanPicker,
|
||||
PayeePicker,
|
||||
@ -955,7 +899,7 @@ data() {
|
||||
{ required: true, message: "取件方式为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
goodsInfo: [
|
||||
{ required: true, message: "货物描述不能为空", trigger: ["blur",'change'] }
|
||||
{ required: true, message: "货物名称不能为空", trigger: ["blur",'change'] }
|
||||
],
|
||||
totalVolume: [
|
||||
{ required: true, message: "总体积不能为空", trigger: "blur" }
|
||||
@ -966,12 +910,12 @@ data() {
|
||||
billWeight: [
|
||||
{ required: true, message: "实际重量不能为空", trigger: "blur" }
|
||||
],
|
||||
volumeWeight: [
|
||||
{ required: true, message: "体积重量不能为空", trigger: "blur" }
|
||||
],
|
||||
settlementWeight: [
|
||||
{ required: true, message: "结算重量不能为空", trigger: "blur" }
|
||||
],
|
||||
// volumeWeight: [
|
||||
// { required: true, message: "体积重量不能为空", trigger: "blur" }
|
||||
// ],
|
||||
// settlementWeight: [
|
||||
// { required: true, message: "结算重量不能为空", trigger: "blur" }
|
||||
// ],
|
||||
freight: [
|
||||
{ required: true, message: "运费不能为空", trigger: "blur" }
|
||||
],
|
||||
@ -1005,27 +949,27 @@ data() {
|
||||
computed: {
|
||||
},
|
||||
watch: {
|
||||
"form.parcelQty":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.billCode":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.blGenSubbill":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
// "form.parcelQty":{
|
||||
// handler (newValue, oldValue) {
|
||||
// this.handleGenSubbill();
|
||||
// },
|
||||
// immediate: false,
|
||||
// deep: true
|
||||
// },
|
||||
// "form.billCode":{
|
||||
// handler (newValue, oldValue) {
|
||||
// this.handleGenSubbill();
|
||||
// },
|
||||
// immediate: false,
|
||||
// deep: true
|
||||
// },
|
||||
// "form.blGenSubbill":{
|
||||
// handler (newValue, oldValue) {
|
||||
// this.handleGenSubbill();
|
||||
// },
|
||||
// immediate: false,
|
||||
// deep: true
|
||||
// },
|
||||
|
||||
},
|
||||
|
||||
@ -1052,10 +996,7 @@ methods: {
|
||||
this.totalAvailablePag.mainHasCnt=dataMap["1001"];
|
||||
this.totalAvailablePag.subHasCnt=dataMap["1002"];
|
||||
|
||||
console.log(this.totalAvailablePag.mainHasCnt);
|
||||
console.log(this.action);
|
||||
|
||||
if( this.totalAvailablePag.mainHasCnt <=0 && this.action=="add"){
|
||||
if( (this.totalAvailablePag.mainHasCnt <=0 || this.totalAvailablePag.subHasCnt<=0 ) && this.action=="add"){
|
||||
this.$confirm("电子面单数量不足,是否立即购买?", "提示", {
|
||||
cancelButtonText: "返回",
|
||||
confirmButtonText: "立即购买",
|
||||
@ -1157,7 +1098,6 @@ methods: {
|
||||
}
|
||||
printDataList.push(mainBillItem);
|
||||
|
||||
// console.log("bbbbbbbbbbb=====>");
|
||||
// 打印子单
|
||||
// tplCode="探路速运-子单联(通用)";
|
||||
// tplCode="TAN-GC-130";
|
||||
@ -1184,10 +1124,6 @@ methods: {
|
||||
printDataList.push(subBillItem);
|
||||
}
|
||||
|
||||
// console.log(printDataList);
|
||||
// console.log(billCount);
|
||||
|
||||
|
||||
// 预览主子单
|
||||
this.$refs.tanexPrinter.printPreviewAdv(printDataList,billCount)
|
||||
|
||||
@ -1208,6 +1144,19 @@ methods: {
|
||||
}
|
||||
|
||||
},
|
||||
onComplete(){
|
||||
this.$confirm("操作已完成是否【操作下一单】", "提示", {
|
||||
cancelButtonText: "返回",
|
||||
confirmButtonText: "操作下一单",
|
||||
type: "warning",
|
||||
distinguishCancelAndClose: true,
|
||||
closeOnClickModal: false
|
||||
}).then(() => {
|
||||
this.billCode=null;
|
||||
this.form.billCode=null;
|
||||
this.initData();
|
||||
});
|
||||
},
|
||||
onDestCountryChange(item){
|
||||
if(item){
|
||||
this.form.reciever.country=item.code;
|
||||
@ -1297,9 +1246,6 @@ methods: {
|
||||
this.form.packType=this.form.packType.split(",");
|
||||
}
|
||||
|
||||
// console.log("==================xxx==>");
|
||||
// console.log(this.form.lockFlag);
|
||||
|
||||
if(this.form.lockFlag=="T"){
|
||||
this.$confirm('已锁单,不允许修改!', '提示', {
|
||||
confirmButtonText: '确认',
|
||||
@ -1331,7 +1277,7 @@ methods: {
|
||||
this.form.parcelQty=1;
|
||||
this.form.packType=['2'];
|
||||
this.form.blOverWeight='0';
|
||||
this.form.blGenSubbill=1;
|
||||
this.form.blGenSubbill='1';
|
||||
this.form.paymentType='1';
|
||||
this.form.calcFeeType='1';
|
||||
this.form.blMessage='1'
|
||||
@ -1517,26 +1463,29 @@ methods: {
|
||||
},
|
||||
realSaveOrderInfo(){
|
||||
|
||||
// 不影响原表单提交,clone 一份数据
|
||||
let postForm=deepClone(this.form)
|
||||
// 调整包装类型为多选
|
||||
if(this.form.packType&&this.form.packType.length>0){
|
||||
this.form.packType=this.form.packType.join(",");
|
||||
postForm.packType=this.form.packType.join(",");
|
||||
}
|
||||
|
||||
|
||||
realSubmitOrder(this.form).then(response => {
|
||||
realSubmitOrder(postForm).then(response => {
|
||||
this.$modal.msgSuccess("下单成功");
|
||||
|
||||
// 弹出打印预览界面
|
||||
this.handlePrintPreview();
|
||||
// 新开单才需要打印
|
||||
if(this.action == "add"){
|
||||
// 做揽收扫描记录
|
||||
handDoGotScan();
|
||||
|
||||
this.handDoGotScan();
|
||||
|
||||
// 弹出打印预览界面
|
||||
this.handlePrintPreview();
|
||||
}
|
||||
else if(this.action == "modify"){
|
||||
// 弹出是否继续的窗口
|
||||
this.onComplete();
|
||||
}
|
||||
|
||||
// this.$emit("on-changed");
|
||||
});
|
||||
},
|
||||
handDoGotScan(){
|
||||
@ -1549,12 +1498,12 @@ methods: {
|
||||
}
|
||||
|
||||
// 揽收扫描
|
||||
let scanData={
|
||||
let scanData=[{
|
||||
billCode:this.form.billCode,
|
||||
scanWeight:null,
|
||||
scanDate:new Date(),
|
||||
dispatchOrSendManCode:opManCode
|
||||
}
|
||||
}];
|
||||
let scanInfo = {scanType:"10",opType:2,scanData:scanData}
|
||||
console.log(scanInfo)
|
||||
doScan(scanInfo);
|
||||
@ -1669,7 +1618,7 @@ methods: {
|
||||
if(row!=null){
|
||||
|
||||
if(row.calcExp){
|
||||
let expr="s+w*d";
|
||||
let expr=row.calcExp;
|
||||
expr=expr.replace("s",row.initialWeightFee);
|
||||
expr=expr.replace("d",row.addWeightPrice);
|
||||
expr=expr.replace("w",this.form.settlementWeight);
|
||||
@ -1930,6 +1879,7 @@ methods: {
|
||||
debounce(250, this.handleCargoQtyChange(row))
|
||||
},
|
||||
handleCargoQtyChange(row){
|
||||
this.handleGenSubbill();
|
||||
this.handleInitGenGoods();
|
||||
this.handleCalcVolume(row);
|
||||
},
|
||||
@ -1969,6 +1919,7 @@ methods: {
|
||||
realMatchWaybill(useSiteCode).then(response => {
|
||||
this.form.billCode=response.data;
|
||||
this.initGetTotalAvailablePag(this.form.sendSiteCode);
|
||||
this.handleGenSubbill();
|
||||
});
|
||||
}else{
|
||||
this.form.billCode=""
|
||||
@ -2051,10 +2002,5 @@ methods: {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user