This commit is contained in:
linfso 2024-06-22 01:54:53 +08:00
parent c1d5370560
commit 82763fa5f4
16 changed files with 386 additions and 182 deletions

View File

@ -52,6 +52,14 @@ export function listEmisTmsScanRecord(query) {
params: query
})
}
// 查询扫描的单号
export function queryScanWaybillList(query) {
return request({
url: '/emis/emisTmsScanRecord/queryScanWaybillList',
method: 'get',
params: query
})
}
// 查询TMS扫描记录详细
export function getEmisTmsScanRecord(id) {

View File

@ -79,10 +79,6 @@ export default {
type: Number,
default: 1
},
isInitA4:{
type: Boolean,
default: false
},
isLoadComplete:{
type: Boolean,
default: false
@ -97,7 +93,7 @@ export default {
// 单页模式
cacheFileList:this.pdfList,
isA4:this.isInitA4,
isA4:false,
page: 1,
currentPage: 1,
@ -141,11 +137,12 @@ export default {
this.doScale(20);
}
},
isInitA4(newVal){
this.isA4=this.isInitA4;
},
isLoadComplete(newVal,oldVal){
this.showA4Page(1);
if(this.isA4){
this.showA4Page(1);
}else{
this.showSinglePage(1);
}
}
},
mounted() {
@ -318,12 +315,21 @@ export default {
}
}else{
if(this.cacheFileList&&this.cacheFileList.length>0){
this.cacheFileList.forEach( item=>{
if(!item.pdfUrl){
item.pdfUrl = this.pdfUtils.getBlobUrl(item.pdfBase64);
}
this.downPdfFile(item.billCode,item.pdfUrl);
});
// this.cacheFileList.forEach( item=>{
// if(!item.pdfUrl){
// item.pdfUrl = this.pdfUtils.getBlobUrl(item.pdfBase64);
// }
// this.downPdfFile(item.billCode,item.pdfUrl);
// });
let needGenList=[];
for(let j=0;j<this.cacheFileList.length;j++){
needGenList.push(this.cacheFileList[j].pdfBase64)
}
let fileName=new Date().getTime()+".pdf";
this.pdfUtils.mergePdf3(needGenList,fileName,true);
}
}
},

View File

@ -113,7 +113,11 @@
},
queryData(val,key) {
this.optionItems=[];
this.queryParams.searchVal=val;
this.queryParams.carNo=val;
this.queryParams.searchValue=val;
console.log("====>==1",this.queryParams)
listSimpleEmisTmsCar(this.queryParams).then(response => {
this.optionItems=response.rows;

View File

@ -9,7 +9,7 @@
<el-tag type="danger" >{{ printerStatusMessage }}</el-tag>
</div>
<div v-if="printerStatus==1" style="display: inline-flex;">
<div v-if="isShowPinters==1" style="font-size: 12px; line-height: 28px;font-weight: 600;">模板:</div>
<div v-if="isShowTpl==1" style="font-size: 12px; line-height: 28px;font-weight: 600;">模板:</div>
<div v-if="isShowTpl==1" style="width: 150px;">
<el-select v-model="selTplCode" size="mini" placeholder="选择打印模板" clearable filterable>
<template slot="prefix">
@ -33,7 +33,7 @@
</span>
</div>
<div v-if="isShowPinters==1" style="font-size: 12px;line-height: 28px;font-weight: 600;">打印机:</div>
<div v-if="isShowPinters==1" style="font-size: 12px;line-height: 28px;font-weight: 600;">选择打印机:</div>
<div v-if="isShowPinters==1" style="width: 150px;">
<el-select v-model="selPrinterName" size="mini" placeholder="打印机" clearable filterable>
<el-option
@ -57,9 +57,13 @@
</div>
</div>
<el-dialog class="printPreDialog" title="预览" :visible.sync="openPdfView" width="95%" height="100%" :close-on-click-modal="false" :destroy-on-close="true" v-dialogFullScreen v-dialogDrag append-to-body @close="handleClose">
<el-dialog :key="resetRefreshId+'.dlg'" class="printPreDialog" title="预览" :visible.sync="openPdfView" width="95%" height="100%" :close-on-click-modal="false" :destroy-on-close="true" v-dialogFullScreen v-dialogDrag append-to-body @close="handleClose">
<div style="height:100%;width:100%;overflow: auto;">
<PdfViewer ref="pdfViewer" v-if="openPdfView" :pdfList="pdfList" :isLoadComplete="isLoadComplete" :isInitA4="isInitA4" @onPrint="onPdfViewPrint" ></PdfViewer>
<PdfViewer :key="resetRefreshId+'.pdf'" ref="pdfViewer" v-if="openPdfView&&!isInitA4" :pdfList="pdfList" :isLoadComplete="isLoadComplete" @onPrint="onPdfViewPrint" ></PdfViewer>
<A4Viewer :key="resetRefreshId+'.pdf'" ref="pdfViewer" v-if="openPdfView&&isInitA4" :pdfList="pdfList" :isLoadComplete="isLoadComplete" ></A4Viewer>
</div>
</el-dialog>
@ -70,13 +74,16 @@
<script>
import emitter from 'element-ui/src/mixins/emitter';
import PdfViewer from '@/components/PdfViewer/viewer.vue';
import A4Viewer from '@/components/PdfViewer/A4Viewer.vue';
import PdfUtils from '@/utils/pdfUtils'
import { deepClone } from '@/utils/index'
export default {
name: "TanexPrinterPanel",
components: {
PdfViewer,
PdfViewer,A4Viewer
},
mixins: [emitter],
props: {
@ -106,12 +113,14 @@
},
data() {
return {
resetRefreshId:null,
svalue: this.value,
subBillStart:1,
subBillEnd:null,
openPdfView:false,
isInitA4:false,
printManCode:this.$store.getters.empCode,
// 计数器
@ -155,7 +164,15 @@
// this.tanexPrinter.close();
},
methods: {
getUUID() {
return Math.random().toString(36).substring(3,10);
},
refreshKey(){
this.resetRefreshId="print-"+this.getUUID();
},
initTanexPrinterSdk(){
this.refreshKey();
this.tanexPrinter = this.$tanexPrinter;
this.getConfigKey("sys.printer.downurl").then(response => {
@ -263,8 +280,8 @@
this.selTplCode=tplCode
}
// 打印子单
if(this.selTplCode=="TAN-GC-130"){
// 打印子单
if(this.selTplCode=="TAN-GC-130"){
for(let i=0;i<this.orderList.length;i++){
let billCode=this.orderList[i];
let subBillStart=1;
@ -287,7 +304,8 @@
newOrderList=[...orderList];
}
// newOrderList=[...orderList];
console.log("tnprint===>",newOrderList);
console.log("tnprint===>",that.selTplCode);
that.tanexPrinter.batchPrint(that.selTplCode,that.selPrinterName,newOrderList,this.printManCode)
},
@ -341,13 +359,19 @@
});
},
printPreview(orderList,isA4){
printPreview(orderList,isA4,tplCode){
this.refreshKey();
if(this.printerStatus !=1){
this.$modal.msgError("打印机未连接");
return;
}
if(tplCode){
this.selTplCode=tplCode;
}
if(isA4){
this.isInitA4=isA4;
}
@ -407,7 +431,6 @@
that.pdfList.push(pdfInfo);
if(!that.openPdfView && that.showCounter==0){
that.openPdfView = true;
}
@ -421,13 +444,17 @@
}
});
},
downPDF(orderList,isA4){
downPDF(orderList,isA4,tplCode){
if(this.printerStatus !=1){
this.$modal.msgError("打印机未连接");
return;
}
if(tplCode){
this.selTplCode=tplCode;
}
if(isA4){
this.isInitA4=isA4;
}
@ -473,13 +500,8 @@
}
else if(code == 200){
if(!that.isInitA4){
const pdfData=deepClone(data);
loadingInstance.close();
that.pdfUtils.getBlobUrl(pdfData.file, pdfData.ydSn+".pdf",true )
}else{
const pdfData=deepClone(data);
const pdfData=deepClone(data);
let pdfInfo={
"billCode":pdfData.ydSn,
"pdfUrl":null,
@ -487,13 +509,31 @@
}
that.pdfList.push(pdfInfo);
}
// if(!that.isInitA4){
// const pdfData=deepClone(data);
// loadingInstance.close();
// that.pdfUtils.getBlobUrl(pdfData.file, pdfData.ydSn+".pdf",true )
// }else{
// const pdfData=deepClone(data);
// let pdfInfo={
// "billCode":pdfData.ydSn,
// "pdfUrl":null,
// "pdfBase64":pdfData.file
// }
// that.pdfList.push(pdfInfo);
// }
}
else if(code == 800){
// console.log("===全部获取完成====>");
// A4下载
if(that.isInitA4){
that.downA4PDF();
}else{
that.downSinglePDF();
}
}
@ -501,6 +541,16 @@
});
},
downSinglePDF(){
let needGenList=[];
for(let j=0;j<this.pdfList.length;j++){
needGenList.push(this.pdfList[j].pdfBase64)
}
let fileName=new Date().getTime()+".pdf";
this.pdfUtils.mergePdf3(needGenList,fileName,true);
},
downA4PDF(){
let cacheA4FileList=[];
const newList = Object.assign([], this.pdfList);

View File

@ -54,19 +54,14 @@
</div>
<el-tabs class="center-tabs" style="margin-top: 15px;">
<el-tab-pane label="扫描记录" >
<TraceRecordList :billCode="billDetail.billCode"></TraceRecordList>
<TraceRecordList :billCode="scanBillCode"></TraceRecordList>
</el-tab-pane>
<el-tab-pane label="运单信息" >
<WaybillDetailReadOnly :billCode="billDetail.billCode"></WaybillDetailReadOnly>
</el-tab-pane>
<el-tab-pane label="查看图片" >
<!-- <div v-for="item in billDetail.split(',')">
<ImagePreview height="50px" v-for="pic in (scope.row.picUrl||'').split(',')" :key="pic" :src="pic" ></ImagePreview>
</div>
</div> -->
<BillPicList :billCode="billDetail.billCode"></BillPicList>
</el-tab-pane>
<el-tab-pane label="日志记录" >
@ -92,6 +87,9 @@ export default {
props:{
billDetail: {
type: Object
},
scanBillCode:{
type: String
}
},
components: {

View File

@ -18,7 +18,13 @@
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="" prop="blSubBill">
<el-checkbox style="font-size:400;margin-right:10px;" v-model="queryParams.blSubBill" :true-label="'1'" :false-label="'0'">显示子单</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="18">
@ -35,7 +41,7 @@
<el-scrollbar style="height: 1000px">
<CardWithHeader v-for="(item,index) in emisWaybillList" :key="resetRefreshId+'.'+index" :header="'运单号:'+item.billCode" >
<template v-slot:body>
<TraceWaybillDetailView :billDetail="item" :key="resetRefreshId+'.d.'+index" ></TraceWaybillDetailView>
<TraceWaybillDetailView :scanBillCode="item.billCode" :billDetail="item.waybillDetail" :key="resetRefreshId+'.d.'+index" ></TraceWaybillDetailView>
</template>
</CardWithHeader>
</el-scrollbar>
@ -45,8 +51,9 @@
</template>
<script>
import 'element-ui/lib/theme-chalk/display.css';
import { listSimpleEmisWaybill,selectEmisWaybillByMutiBillCode} from "@/api/emis/emisWaybill";
// import 'element-ui/lib/theme-chalk/display.css';
import { queryScanWaybillList } from "@/api/emis/emisTmsScanRecord";
import { formatSearchStr,deepClone } from '@/utils/index'
import CardWithHeader from '@/components/CardWithHeader/index.vue';
@ -69,6 +76,7 @@ export default {
pageNum: 1,
pageSize: 20,
billCode: null,
blSubBill:0,
},
};
},
@ -91,21 +99,21 @@ export default {
if(this.queryParams.billCode){
// 处理子单号
let qBillCode=formatSearchStr(this.queryParams.billCode);
let billArr = qBillCode.split(",");
let newBillCodeStr="";
billArr.forEach(item=>{
if(item.startsWith("T")){
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
});
this.queryParams.billCode=newBillCodeStr;
// let qBillCode=formatSearchStr(this.queryParams.billCode);
// let billArr = qBillCode.split(",");
// let newBillCodeStr="";
// billArr.forEach(item=>{
// if(item.startsWith("T")){
// let mainBillCode=item.substr(0,14);
// newBillCodeStr=newBillCodeStr+mainBillCode+",";
// }else{
// newBillCodeStr=newBillCodeStr+item+",";
// }
// });
this.queryParams.billCode=formatSearchStr(this.queryParams.billCode);
}
selectEmisWaybillByMutiBillCode(this.queryParams).then(response => {
queryScanWaybillList(this.queryParams).then(response => {
this.emisWaybillList = response.rows;
this.loading = false;
});

View File

@ -33,6 +33,14 @@
<el-input v-model="form.tplData" placeholder="请输入模板内容-在线模版" />
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="启用状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="加密模版" prop="tplEncData">
<el-input v-model="form.tplEncData" type="textarea" rows="6" placeholder="" disabled />
@ -54,6 +62,7 @@
<el-input v-model="form.status" placeholder="请输入0-初始" />
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />

View File

@ -41,7 +41,7 @@
size="mini"
@click="handleAddPack"
v-hasPermi="['emis:emisTmsPack:add']"
>新增合包条码</el-button>
>新增条码</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -51,7 +51,7 @@
:disabled="multiple"
@click="handlePrintPreview"
v-hasPermi="['emis:emisTmsPack:edit']"
>预览合包条码</el-button>
>打印预览</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -59,9 +59,9 @@
plain
size="mini"
:disabled="multiple"
@click="handlePrintPreview"
@click="handleBatchPrint"
v-hasPermi="['emis:emisTmsPack:edit']"
>打印合包条码</el-button>
>打印</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -75,7 +75,7 @@
>删除</el-button>
</el-col>
<el-col :span="1.5">
<TanexPrinterPanel ref="tanexPrinter" :isShowPinters="false" :isShowTpl="false" :isShowSubBillRange="false" @onPrint="handleBatchPrint"></TanexPrinterPanel>
<TanexPrinterPanel ref="tanexPrinter" :isShowPinters="true" :isShowTpl="false" :isShowSubBillRange="false" @onPrint="handleBatchPrint"></TanexPrinterPanel>
</el-col>
</el-row>
</div>
@ -95,27 +95,47 @@
</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column :label="$t('条码')" align="center" prop="barcode" min-width="200" >
<template slot-scope="scope">
<div>
<barcode :value="scope.row.packNo" :options="{ height: 25,fontSize:12 }" tag="svg"></barcode>
</div>
</template>
</el-table-column>
<el-table-column :label="$t('创建者')" align="center" prop="createByName" min-width="100" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" min-width="100" />
<el-table-column :label="$t('创建网点')" align="center" prop="createSiteName" min-width="100" />
</XdTable>
<!-- <el-drawer
:destroy-on-close="true"
v-model="outerVisible"
title="打印预览内容(单张)"
>
<PrinPage id="printMe" :arrList="prinList" v-show="false" />
<div v-if="!prinList.length">暂无打印数据</div>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" icon="Printer" v-print="printObj"
>打印条码</el-button
>
</span>
</template>
</el-drawer> -->
</div>
</template>
<script>
import { listEmisTmsPack, getEmisTmsPack, delEmisTmsPack, addEmisTmsPack, updateEmisTmsPack } from "@/api/emis/emisTmsPack";
import { listEmisTmsPack, getPackNo, delEmisTmsPack, addEmisTmsPack } from "@/api/emis/emisTmsPack";
import Barcode from '@/components/Barcode/index';
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
export default {
name: "emisTmsPack",
components: { elDateSimplePicker,TanexPrinterPanel },
components: { elDateSimplePicker,TanexPrinterPanel,Barcode },
dicts: [
],
data() {
@ -136,6 +156,7 @@ export default {
total: 0,
// TMS合包表格数据
emisTmsPackList: [],
currentSelection:[],
currentId:null,
openForm: false,
@ -173,12 +194,45 @@ export default {
closeOnClickModal: false,
inputPattern: /[1-9][0-9]{0,1}/,
inputErrorMessage: "数量介于 1 和 99 之间"
}).then(({ value }) => {
console.log("===>",value)
// auditNoPass(ids,value).then(response => {
// this.$modal.msgSuccess("操作成功" );
// this.getList();
// });
}).then(async ({ value }) => {
if(!value){
this.$modal.msgSuccess("输入错误,数量介于 1 和 99 之间" );
return
}
if(value<1 || value>99){
this.$modal.msgSuccess("输入错误,数量介于 1 和 99 之间" );
return
}
this.loading = true;
for(let i=0;i<value;i++){
// console.log("===>",value)
let resPack = await getPackNo();
if(!resPack || resPack.code != 200){
this.$message.error(resPack && resPack.msg || "未知错误");
this.loading = false;
return;
}
let postData={
packNo: resPack.data,
packStatus: '0',
printStatus:'0'
}
let res=await addEmisTmsPack(postData);
if(!res || res.code != 200){
this.$message.error(res && res.msg || "未知错误");
this.loading = false;
return;
}
}
this.loading = false;
this.$modal.msgSuccess("增加成功");
this.getList();
}).catch(() => {});
},
@ -192,30 +246,32 @@ export default {
}).then(() => {
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
orderList.push(item.packNo);
});
this.$refs.tanexPrinter.batchPrint(orderList,null,true);
console.log("===>packe==>",orderList);
this.$refs.tanexPrinter.batchPrint(orderList,"THB");
// this.$refs.tanexPrinter.batchPrint(orderList,null,false);
}).catch(() => {});
},
handlePrintPreview(){
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
orderList.push(item.packNo);
});
this.$refs.tanexPrinter.printPreview(orderList,true);
this.$refs.tanexPrinter.printPreview(orderList,false,"THB");
},
handleDownPDF(){
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
orderList.push(item.packNo);
});
this.$refs.tanexPrinter.downPDF(orderList,true);
this.$refs.tanexPrinter.downPDF(orderList,false,"THB");
},
/** 查询TMS合包列表 */
getList() {
this.loading = true;
listEmisTmsPack(this.queryParams).then(response => {
this.emisTmsPackList = response.rows;
this.total = response.total;
@ -235,6 +291,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.currentSelection=selection;
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
@ -251,21 +308,6 @@ export default {
this.openForm= true;
this.titleForm = "新增";
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.currentId= row.id;
this.openForm = true;
this.titleForm = "修改";
},
handleView(row) {
this.id=row.id;
this.titleView="查看";
this.openView=true;
// this.router.push({ path: '/emis/emisTmsPack/viewDetail', query: { id: row.id }})
},
handleFormChanged(){
this.openForm = false;
this.getList();
@ -283,53 +325,7 @@ export default {
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('emis/emisTmsPack/export', {
// ...this.queryParams
// }, `emisTmsPack_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
qParam.pageNum=1;
qParam.pageSize=5000;
listEmisTmsPack(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['id','合包号','合包名称','合包时间','目的国家','目的国家名称','是否可拆','发出网点','下一网点','下一站','总件数','总运单数','总体积','总重量','合包状态','打印状态','打印次数','打印时间','扩展数据','操作员','ext1','ext2','ext3','ext4','备注','租户ID','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建网点','更新网点',];
const filterVal = ['id','packNo','packName','packDate','destCountry','destCountryName','blUnpack','sendStiteCode','nextSiteCode','nextStation','totalParcelQty','totalWaybillQty','totalVolume','totalWeight','packStatus','printStatus','printCount','printDate','extData','opMan','ext1','ext2','ext3','ext4','remark','tenantId','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite',];
const data = this.formatJson(filterVal, curList, response.rows)
excel.export_json_to_excel({
header: tHeader,
data,
filename: 'TMS合包',
autoWidth: true
})
loadingInstance.close()
})
}
});
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
}
return statusStr;
}
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
@ -343,6 +339,15 @@ export default {
</script>
<style scoped>
@media print {
@page {
size: auto; /* 重置页面大小,避免出现空白页 */
margin-top: 0; /* 取消页眉 */
margin-bottom: 0; /* 取消页脚 */
margin-left: 0; margin-right: 0; /* 取消默认左右页边距 */
}
}
.el-divider{
margin-top: 0px;
background: 0 0;
@ -353,3 +358,4 @@ export default {
cursor: pointer;
}
</style>

View File

@ -65,7 +65,7 @@
<el-row :gutter="0">
<el-col :span="8">
<el-form-item :label="$t('单号类型')" prop="isSubBill" label-width="100px">
<el-select v-model="queryParams.isSubBill" :placeholder="$t('请选择')" >
<el-select v-model="queryParams.isSubBill" clearable :placeholder="$t('请选择')" >
<el-option :label="$t('主单')" value="0"></el-option>
<el-option :label="$t('子单')" value="1"></el-option>
</el-select>
@ -705,7 +705,7 @@ export default {
}
let tHeader = [];// ['id','单号','单号类型','车牌号','扫描时间','扫描类型','扫描网点','上/下一网点','扫描员','录入时间','扫描重量'];
let filterVal = [];// ['id','billCode','orderType','carNo','scanDate','scanType','scanSite','preOrNextStation','scanMan','createTime','scanWeight'];
for(let sl = 0; sl < this.$refs.dataTable.storageList.length; sl++){
if(this.$refs.dataTable.storageList[sl].show){
tHeader.push(this.$refs.dataTable.storageList[sl].label);

View File

@ -88,7 +88,7 @@
<div slot="toolbar">
<el-row :gutter="10" class="mb8" style="display: flex;flex-wrap: wrap;">
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@ -97,7 +97,7 @@
:disabled="multiple"
@click="handleBatchPrint"
>打印</el-button>
</el-col>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button
type="success"
@ -522,14 +522,14 @@ export default {
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
});
this.$refs.tanexPrinter.printPreview(orderList,true);
this.$refs.tanexPrinter.printPreview(orderList,true,"A4-EP");
},
handleDownPDF(){
let orderList=[];
this.currentSelection.forEach(item=>{
orderList.push(item.billCode);
});
this.$refs.tanexPrinter.downPDF(orderList,true);
this.$refs.tanexPrinter.downPDF(orderList,true,"A4-EP");
},
/** 查询运单列表列表 */
getList() {

View File

@ -570,7 +570,7 @@
<el-dialog title="快件跟踪" :visible.sync="openTraceInfo" width="100%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<TraceWaybillDetailView :billDetail="currentTraceBillItem"></TraceWaybillDetailView>
<TraceWaybillDetailView :scanBillCode="currentTraceBillItem.billCode" :billDetail="currentTraceBillItem"></TraceWaybillDetailView>
</el-dialog>
</XdPageContainer>

View File

@ -569,7 +569,7 @@
</XdTable>
<el-dialog title="快件跟踪" :visible.sync="openTraceInfo" width="100%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<TraceWaybillDetailView :billDetail="currentTraceBillItem"></TraceWaybillDetailView>
<TraceWaybillDetailView :scanBillCode="currentTraceBillItem.billCode" :billDetail="currentTraceBillItem"></TraceWaybillDetailView>
</el-dialog>
</XdPageContainer>

View File

@ -607,7 +607,7 @@
<el-dialog title="快件跟踪" :visible.sync="openTraceInfo" width="100%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<TraceWaybillDetailView :billDetail="currentTraceBillItem"></TraceWaybillDetailView>
<TraceWaybillDetailView :scanBillCode="currentTraceBillItem.billCode" :billDetail="currentTraceBillItem"></TraceWaybillDetailView>
</el-dialog>
<!--
<el-dialog title="查看运单" :visible.sync="openView" width="100%" :destroy-on-close="true" :close-on-click-modal="false" v-dialogDrag append-to-body>

View File

@ -215,6 +215,7 @@ import EmisSiteSimplePicker2 from '@/views/emis/EmisBaseTools/EmisSiteSimplePick
import ProblemTypePicker from '@/views/emis/EmisBaseTools/ProblemTypePicker.vue';
import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
import { formatSearchStr,deepClone } from '@/utils/index'
export default {
@ -494,11 +495,12 @@ export default {
if(this.queryParams.billCode){
if(this.queryOrderType != "1"){
this.queryParams.orderSn=this.queryParams.billCode+"";
this.queryParams.billCode=null;
this.queryParams.orderSn=formatSearchStr(this.queryParams.billCode);
this.queryParams.billCode=null;
}else{
// 处理子单号
let billArr = this.queryParams.billCode.split(",");
let qBillCode=formatSearchStr(this.queryParams.billCode);
let billArr = qBillCode.split(",");
let newBillCodeStr="";
billArr.forEach(item=>{
if(item.startsWith("T")){
@ -512,15 +514,8 @@ export default {
}
}
if(this.dateTimeRange&&this.dateTimeRange.length==2){
let startDate = new Date(this.dateTimeRange[0]);
let endDate= new Date(this.dateTimeRange[1]);
startDate=dateToStr(startDate);
endDate=dateToStr(endDate)
this.queryParams.params["beginSendDate"] = startDate;
this.queryParams.params["endSendDate"] = endDate;
}
this.queryParams=this.addDateRange(this.queryParams, this.dateTimeRange,"sendDate");
listEmisWaybill(this.queryParams).then(response => {
this.emisWaybillList = response.rows;

View File

@ -139,6 +139,20 @@
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="回款联系人" prop="payee" label-width="85px">
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
<PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售联系人" prop="salesmen" label-width="85px">
<SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker>
<SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" ></SalemanPicker>
</el-form-item>
</el-col>
</el-row>
</el-col>
@ -165,11 +179,14 @@
<div @click="handleApplyPag" style="font-size: 15px;font-weight: 700;color:red;cursor: pointer;">主单余量:0,请立即【<span style="color:blue">申购</span>】</div>
</div>
</div>
<div v-if="action=='add'" 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>
<el-checkbox-group v-model="form.printTypeCheckList">
<el-checkbox :key="0" :label="0" >
<span >客户联</span>
</el-checkbox>
<el-checkbox :key="1" :label="1" >
<span >寄件网点存根联</span>
</el-checkbox>
@ -183,7 +200,7 @@
</div>
</div>
</el-form-item>
</div>
</div> -->
</div>
</el-collapse-item>
@ -679,6 +696,27 @@
</el-form-item>
</el-col>
<el-col :span="24" v-if="action=='add'">
<el-form-item label="打印选项" prop="printTypeCheckList">
<el-checkbox-group v-model="form.printTypeCheckList">
<el-checkbox :key="0" :label="0" >
<span >客户联</span>
</el-checkbox>
<el-checkbox :key="1" :label="1" >
<span >寄件网点存根联</span>
</el-checkbox>
<el-checkbox :key="5" :label="5" >
<span >子单</span>
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="action=='add'">
<el-form-item label="打印组件" prop="printTypeCheckList">
<TanexPrinterPanel ref="tanexPrinter" :isShowPinters="true" v-model="printerStatus" @onPrint="handleBatchPrint" :isInitA4="false" @onPrintComplete="onComplete"></TanexPrinterPanel>
</el-form-item>
</el-col>
</el-row>
@ -1051,6 +1089,15 @@ methods: {
// 打印主单,子单
let orderList=[];
orderList.push(this.form.billCode);
// 客户联
let customerItem ={
"tplCode":"TAN-CM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(customerItem);
// 主单
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
@ -1058,6 +1105,8 @@ methods: {
}
printDataList.push(mainBillItem);
// 打印子单
// tplCode="探路速运-子单联(通用)";
// tplCode="TAN-GC-130";
@ -1113,12 +1162,23 @@ methods: {
// 打印主单,子单
let orderList=[];
orderList.push(this.form.billCode);
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(mainBillItem);
// 客户联
let customerItem ={
"tplCode":"TAN-CM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(customerItem);
// 主单
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(mainBillItem);
// 打印子单
// tplCode="探路速运-子单联(通用)";
@ -1271,7 +1331,7 @@ methods: {
this.loading = false;
this.isNeedSave=true;
this.form.printTypeCheckList=[1,5]
this.form.printTypeCheckList=[0,1,5]
this.form.destinationCountry=this.form.reciever.country;
if(this.form.packType){
@ -1315,7 +1375,7 @@ methods: {
this.form.blMessage='1'
this.form.blAcceptMessage='1'
this.isNeedSave=true;
this.form.printTypeCheckList=[1,5],
this.form.printTypeCheckList=[0,1,5],
// 获取可用运单数
this.initGetTotalAvailablePag(this.form.sendSiteCode);

View File

@ -139,6 +139,20 @@
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="回款联系人" prop="payee" label-width="85px">
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
<PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售联系人" prop="salesmen" label-width="85px">
<SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker>
<SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" ></SalemanPicker>
</el-form-item>
</el-col>
</el-row>
</el-col>
@ -165,11 +179,14 @@
<div @click="handleApplyPag" style="font-size: 15px;font-weight: 700;color:red;cursor: pointer;">主单余量:0,请立即【<span style="color:blue">申购</span>】</div>
</div>
</div>
<div v-if="action=='add'" 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>
<el-checkbox-group v-model="form.printTypeCheckList">
<el-checkbox :key="0" :label="0" >
<span >客户联</span>
</el-checkbox>
<el-checkbox :key="1" :label="1" >
<span >寄件网点存根联</span>
</el-checkbox>
@ -183,7 +200,7 @@
</div>
</div>
</el-form-item>
</div>
</div> -->
</div>
</el-collapse-item>
@ -679,6 +696,27 @@
</el-form-item>
</el-col>
<el-col :span="24" v-if="action=='add'">
<el-form-item label="打印选项" prop="printTypeCheckList">
<el-checkbox-group v-model="form.printTypeCheckList">
<el-checkbox :key="0" :label="0" >
<span >客户联</span>
</el-checkbox>
<el-checkbox :key="1" :label="1" >
<span >寄件网点存根联</span>
</el-checkbox>
<el-checkbox :key="5" :label="5" >
<span >子单</span>
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="action=='add'">
<el-form-item label="打印组件" prop="printTypeCheckList">
<TanexPrinterPanel ref="tanexPrinter" :isShowPinters="true" v-model="printerStatus" @onPrint="handleBatchPrint" :isInitA4="false" @onPrintComplete="onComplete"></TanexPrinterPanel>
</el-form-item>
</el-col>
</el-row>
@ -1051,6 +1089,15 @@ methods: {
// 打印主单,子单
let orderList=[];
orderList.push(this.form.billCode);
// 客户联
let customerItem ={
"tplCode":"TAN-CM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(customerItem);
// 主单
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
@ -1058,6 +1105,8 @@ methods: {
}
printDataList.push(mainBillItem);
// 打印子单
// tplCode="探路速运-子单联(通用)";
// tplCode="TAN-GC-130";
@ -1113,12 +1162,23 @@ methods: {
// 打印主单,子单
let orderList=[];
orderList.push(this.form.billCode);
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(mainBillItem);
// 客户联
let customerItem ={
"tplCode":"TAN-CM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(customerItem);
// 主单
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(mainBillItem);
// 打印子单
// tplCode="探路速运-子单联(通用)";
@ -1271,7 +1331,7 @@ methods: {
this.loading = false;
this.isNeedSave=true;
this.form.printTypeCheckList=[1,5]
this.form.printTypeCheckList=[0,1,5]
this.form.destinationCountry=this.form.reciever.country;
if(this.form.packType){
@ -1315,7 +1375,7 @@ methods: {
this.form.blMessage='1'
this.form.blAcceptMessage='1'
this.isNeedSave=true;
this.form.printTypeCheckList=[1,5],
this.form.printTypeCheckList=[0,1,5],
// 获取可用运单数
this.initGetTotalAvailablePag(this.form.sendSiteCode);