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