This commit is contained in:
linfso 2024-05-31 08:36:52 +08:00
parent 0d1ba882ae
commit 1523f53e0f
12 changed files with 299 additions and 158 deletions

View File

@ -11,11 +11,11 @@ export function parseAddress(content) {
// 获取电子面单 // 获取电子面单
export function realMatchWaybill() { export function realMatchWaybill(useSiteCode,prefix) {
return request({ return request({
url: '/emis/common/realMatchWaybill', url: '/emis/common/realMatchWaybill',
method: 'post', method: 'post',
data: {} data: {sendSiteCode:useSiteCode,prefix:prefix}
}) })
} }

View File

@ -35,6 +35,8 @@ export function camelCase(str) {
return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase()) return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase())
} }
export function isNumberStr(str) { export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
} }

View File

@ -1,5 +1,5 @@
<template> <template>
<Form ref="refForm" :model="searchData" :label-width="labelWidth" :size="size" :inline="true" > <Form ref="searchForm" :model="model" :label-width="labelWidth" :size="size" :inline="true" >
<div :id="formId"> <div :id="formId">
<slot></slot> <slot></slot>
<FormItem> <FormItem>
@ -35,7 +35,7 @@ export default {
type: String, type: String,
default: 'small', default: 'small',
}, },
searchData: { model: {
type: Object, type: Object,
default: () => {} default: () => {}
} }
@ -89,13 +89,21 @@ export default {
this.$emit('search') this.$emit('search')
}, },
handleReset() { handleReset() {
this.resetFields(); // this.resetForm();
// this.$emit('reset') this.$emit('reset')
},
resetForm() {
console.log("hhhhhh1==>resetForm11");
if (this.$refs["searchForm"]) {
this.$refs["searchForm"].resetFields();
}
}, },
resetFields(){ resetFields(){
this.$nextTick(() => { console.log("hhhhhh1==>resetFields111");
this.$refs.refForm.resetFields() if (this.$refs["searchForm"]) {
}) console.log("hhhhhh1==>resetFields222");
this.$refs["searchForm"].resetFields();
}
} }
}, },

View File

@ -388,3 +388,13 @@ export function isNumberStr(str) {
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
} }
// 转换搜索条件为逗号隔开符号
export function formatSearchStr(str) {
if(str){
str=str.replace(/\r\n/g,",");
str=str.replace(/\n/g,",");
str = str.replace(/\s/g,"");
}
return str;
}

View File

@ -50,10 +50,10 @@
watch: { watch: {
value(newVal,oldVal) { value(newVal,oldVal) {
// 逻辑 有初始值先查询初值 // 逻辑 有初始值先查询初值
if(this.value!=null){ // if(this.value!=null){
this.svalue=this.value; this.svalue=this.value;
this.queryData(null,this.svalue); this.queryData(null,this.svalue);
} // }
}, },
}, },
created() { created() {

View File

@ -1,4 +1,5 @@
<template> <template>
<!-- style="width:100%" -->
<el-select <el-select
style="width:100%" style="width:100%"
filterable filterable
@ -45,17 +46,17 @@
}, },
watch: { watch: {
value(newVal,oldVal) { value(newVal,oldVal) {
if(this.value!=null ){ // if(this.value!=null ){
this.svalue=this.value; this.svalue=this.value;
// 判断默认值中是否存在,若存在则不继续查询 // 判断默认值中是否存在,若存在则不继续查询
if(this.optionItems){ // if(this.optionItems){
let selItem = this.optionItems.find(item => item.regionCode == this.svalue); // let selItem = this.optionItems.find(item => item.regionCode == this.svalue);
if(selItem){ // if(selItem){
return; // return;
} // }
} // }
this.queryData(null,this.svalue); this.queryData(null,this.svalue);
} // }
}, },
countryCode(newVal, oldVal) { countryCode(newVal, oldVal) {
if(newVal!=oldVal){ if(newVal!=oldVal){

View File

@ -46,7 +46,8 @@
</div> </div>
</div> </div>
<div v-if="printerStatus==1" style="display: inline-flex;"> <div v-if="printerStatus==1" style="display: inline-flex;">
<span style="color: green;font-weight: 600;font-size:13px;">【Printer Online】</span> <!-- <span style="color: green;font-weight: 600;font-size:13px;">【Printer Online】</span> -->
<span style="color: #b12e29;font-size:23px;" class="icon iconfont icon-printer" title="Printer Online"></span>
</div> </div>
<div v-if="printerStatus==0" style="display: inline-flex;"> <div v-if="printerStatus==0" style="display: inline-flex;">
<a :href="printerDownUrl" style="color: blue;font-weight: 600;font-size:13px;text-decoration: underline">下载打印组件</a> <a :href="printerDownUrl" style="color: blue;font-weight: 600;font-size:13px;text-decoration: underline">下载打印组件</a>
@ -323,6 +324,8 @@
newOrderList=[...orderList]; newOrderList=[...orderList];
} }
let fileName = newOrderList.join("");
const loadingInstance = this.$loading({ const loadingInstance = this.$loading({
text: '正在下载...' text: '正在下载...'
}) })
@ -332,7 +335,9 @@
const pdfDataList=[...pdfList]; const pdfDataList=[...pdfList];
let pdfUtils=new PdfUtils({}); let pdfUtils=new PdfUtils({});
// for() // for()
pdfUtils.mergePdf3(pdfDataList, (new Date()).getTime()+".pdf",true ) // pdfUtils.mergePdf3(pdfDataList, (new Date()).getTime()+".pdf",true )
pdfUtils.mergePdf3(pdfDataList, fileName+".pdf",true )
}else{ }else{
that.$modal.msgError("下载出错:"+erroMsg); that.$modal.msgError("下载出错:"+erroMsg);
} }

View File

@ -13,6 +13,10 @@
@change="onChange" @change="onChange"
></el-cascader> ></el-cascader>
</template> </template>
<!-- @input.native="searchFilter" -->
<!-- filterable -->
<!-- :before-filter="beforeFilter"
@input.native="searchFilter" -->
<script> <script>
import { listSimpleEmisTransLine } from "@/api/emis/emisTransLine"; import { listSimpleEmisTransLine } from "@/api/emis/emisTransLine";
@ -41,6 +45,7 @@ export default {
isInit: true, isInit: true,
lineCode:null, lineCode:null,
prodCode:null, prodCode:null,
searchVal:null,
props: { props: {
// checkStrictly: true, // checkStrictly: true,
lazy: true, lazy: true,
@ -100,6 +105,13 @@ export default {
}, },
methods: { methods: {
beforeFilter (val) {
return false;
},
searchFilter(el){
let val = el.target.value;
this.searchVal = val;
},
onClear(){ onClear(){
this.svalue = null; this.svalue = null;
this.$emit("input", this.svalue); this.$emit("input", this.svalue);
@ -119,15 +131,17 @@ export default {
this.$emit("input", this.svalue); this.$emit("input", this.svalue);
this.$emit("onChange", this.svalue); this.$emit("onChange", this.svalue);
}, },
async queryData(level,parentCode) { async queryData(level,parentCode,val) {
// 第1级是线路 // 第1级是线路
if(level == 0){ if(level == 0){
let queryParams={ let queryParams={
pageNum:1, pageNum:1,
pageSize:30, pageSize:500,
country:this.countryCode, country:this.countryCode,
lineCode:this.lineCode, lineCode:this.lineCode,
lineName:this.searchVal
}; };
console.log(queryParams)
let res=await listSimpleEmisTransLine(queryParams); let res=await listSimpleEmisTransLine(queryParams);
return res; return res;
} }
@ -135,11 +149,12 @@ export default {
if(level == 1){ if(level == 1){
let queryParams={ let queryParams={
pageNum:1, pageNum:1,
pageSize:30, pageSize:500,
transLineCode:parentCode, transLineCode:parentCode,
prodCode:this.prodCode, prodCode:this.prodCode,
status:1 status:1
}; };
console.log(queryParams)
let res=await listSimpleEmisTransProduct(queryParams); let res=await listSimpleEmisTransProduct(queryParams);
return res; return res;
} }

View File

@ -8,12 +8,13 @@
<!-- <el-form-item label="" prop="lineCode"> <!-- <el-form-item label="" prop="lineCode">
<TransLinePicker :placeholder="$t('所属线路')" v-model="queryParams.lineCode" :countryCode="queryParams.country"></TransLinePicker> <TransLinePicker :placeholder="$t('所属线路')" v-model="queryParams.lineCode" :countryCode="queryParams.country"></TransLinePicker>
</el-form-item> --> </el-form-item> -->
<!-- @onChange="handleQuery" -->
<!-- @change="handleQuery" -->
<el-form-item label="产品类型" prop="prodCode"> <el-form-item label="产品类型" prop="prodCode">
<TransProductCasPicker placeholder="产品类型" v-model="queryParams.prodCodeSelArr" @onChange="handleQuery" ></TransProductCasPicker> <TransProductCasPicker placeholder="产品类型" v-model="queryParams.prodCodeSelArr" ></TransProductCasPicker>
</el-form-item> </el-form-item>
<el-form-item label="取重方式" prop="carryType"> <el-form-item label="取重方式" prop="carryType">
<el-select v-model="queryParams.carryType" :placeholder="$t('取重方式')" clearable @change="handleQuery"> <el-select v-model="queryParams.carryType" :placeholder="$t('取重方式')" clearable >
<el-option <el-option
v-for="dict in dict.type.emis_take_weight_method" v-for="dict in dict.type.emis_take_weight_method"
:key="dict.value" :key="dict.value"

View File

@ -596,6 +596,7 @@ import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAc
import {dateToStr} from '@/utils/custom' import {dateToStr} from '@/utils/custom'
import { formatSearchStr,deepClone } from '@/utils/index'
export default { export default {
name: "SendWaybillList", name: "SendWaybillList",
@ -864,17 +865,19 @@ export default {
/** 查询运单列表列表 */ /** 查询运单列表列表 */
getList() { getList() {
this.loading = true; this.loading = true;
this.queryParams.params = {};
let queryParams=deepClone(this.queryParams);
// this.queryOrderType="1"; // this.queryOrderType="1";
// this.queryOrderDateType="1"; // this.queryOrderDateType="1";
if(this.queryParams.billCode){ if(queryParams.billCode){
if(this.queryOrderType != "1"){ if(this.queryOrderType != "1"){
this.queryParams.orderSn=this.queryParams.billCode+""; queryParams.orderSn=formatSearchStr(queryParams.billCode);
this.queryParams.billCode=null; queryParams.billCode=null;
}else{ }else{
// 处理子单号 // 处理子单号
let billArr = this.queryParams.billCode.split(","); let qBillCode=formatSearchStr(queryParams.billCode);
let billArr = qBillCode.split(",");
let newBillCodeStr=""; let newBillCodeStr="";
billArr.forEach(item=>{ billArr.forEach(item=>{
if(item.startsWith("T")){ if(item.startsWith("T")){
@ -884,7 +887,7 @@ export default {
newBillCodeStr=newBillCodeStr+item+","; newBillCodeStr=newBillCodeStr+item+",";
} }
}); });
this.queryParams.billCode=newBillCodeStr; queryParams.billCode=newBillCodeStr;
} }
} }
@ -896,15 +899,17 @@ export default {
endDate=dateToStr(endDate) endDate=dateToStr(endDate)
if(this.queryOrderDateType != "1"){ if(this.queryOrderDateType != "1"){
this.queryParams.params["beginCreateTime"] = startDate; queryParams.params["beginCreateTime"] = startDate;
this.queryParams.params["endCreateTime"] = endDate; queryParams.params["endCreateTime"] = endDate;
}else{ }else{
this.queryParams.params["beginSendDate"] = startDate; queryParams.params["beginSendDate"] = startDate;
this.queryParams.params["endSendDate"] = endDate; queryParams.params["endSendDate"] = endDate;
} }
} }
listEmisWaybill(this.queryParams).then(response => { console.log(queryParams);
listEmisWaybill(queryParams).then(response => {
this.emisWaybillList = response.rows; this.emisWaybillList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;

View File

@ -4,22 +4,31 @@
<el-collapse v-model="activeNames"> <el-collapse v-model="activeNames">
<el-collapse-item title="" name="1"> <el-collapse-item title="" name="1">
<template slot="title"> <template slot="title">
<div class="form-group-title"><span class="title">{{ $t('发货信息') }}</span></div> <div style="display:inline-flex">
<div class="form-group-title"><span class="title">{{ $t('发货信息') }}</span></div>
</div>
</template> </template>
<div> <div>
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;"> <el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<!-- 运单录入 --> <!-- 运单录入 -->
<!-- <el-col :span="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="form.sendDate" placeholder="" readonly="" 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>
<el-col :span="12" v-if="action=='add'"> <el-col :span="18" v-if="action=='add'">
<el-form-item label="运单号" prop="billCode" > <el-form-item label="运单号" prop="billCode" >
<div style="display:inline-flex"> <div style="display:inline-flex">
<div> <div>
@ -33,19 +42,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6" v-if="action=='add'">
<div v-if="totalAvailablePag.mainHasCnt>0" style="display:inline-flex;font-size: 15px;font-weight: 700;">
<div>
主单剩余:<el-tag type="info">{{ totalAvailablePag.mainHasCnt }}</el-tag>
</div>
<div>
子单剩余:<el-tag type="info">{{ totalAvailablePag.subHasCnt }}</el-tag>
</div>
</div>
<div v-else >
<div @click="handleApplyPag" style="font-size: 15px;font-weight: 700;color:red;cursor: pointer;">主单余量:0,请立即【<span style="color:blue">申购</span>】</div>
</div>
</el-col>
<!-- 运单录入 end --> <!-- 运单录入 end -->
<!-- 运单修改 --> <!-- 运单修改 -->
@ -64,7 +61,7 @@
<el-col :span="6" v-if="action=='modify'"> <el-col :span="6" v-if="action=='modify'">
<el-form-item :label="$t('发货时间')" prop="sendDate"> <el-form-item :label="$t('发货时间')" prop="sendDate">
<el-input v-model="form.sendDate" placeholder="" readonly="" disabled /> <el-input v-model="form.sendDate" placeholder="" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -150,46 +147,9 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="寄件网点" prop="sendSiteCode">
<!-- <el-input v-model="form.sendSiteCode" placeholder="" /> -->
<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="18" v-if="action=='add'">
<el-form-item label="打印选项:" prop="printTypeCheckList">
<el-checkbox-group v-model="form.printTypeCheckList">
<!-- <el-checkbox
v-for="dict in dict.type.emis_print_type"
:key="dict.value"
:label="dict.label"
>
<span >{{dict.label}}</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>
<!-- <div style="display:flex;padding-left: 30px;">
<el-checkbox-group v-model="printTypeCheckList">
<el-checkbox
v-for="dict in dict.type.emis_print_type"
:key="dict.value"
:label="dict.label"
>
<span style="font-size:13px" >{{dict.label}}</span>
</el-checkbox>
</el-checkbox-group>
</div> -->
</el-col>
<!-- <el-col :xs="{span: 24}" :sm="{span: 12}" :md="{span: 12}" :lg="{span: 6}" :xl="{span: 6}"> <!-- <el-col :xs="{span: 24}" :sm="{span: 12}" :md="{span: 12}" :lg="{span: 6}" :xl="{span: 6}">
<el-form-item label="寄件客户" prop="customerCode"> <el-form-item label="寄件客户" prop="customerCode">
@ -198,6 +158,48 @@
</el-col> --> </el-col> -->
</el-row> </el-row>
<div v-if="action=='add'" style="position: absolute;right: 80px;top: 60px;z-index: 9999;">
<div v-if="totalAvailablePag.mainHasCnt>0" style="display:inline-flex;font-size: 15px;font-weight: 700;">
<div style="width:230px">
<el-form-item prop="sendSiteCode">
<span slot="label" style="color:gray">寄件网点:</span>
<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>
</div>
<div style="margin-left: 12px;">
主单剩余:<span>{{ totalAvailablePag.mainHasCnt }}</span>
</div>
<div>
子单剩余:<span>{{ totalAvailablePag.subHasCnt }}</span>
</div>
</div>
<div v-else >
<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;">
<el-form-item label="打印选项:" prop="printTypeCheckList">
<div style="display:inline-flex">
<div>
<el-checkbox-group v-model="form.printTypeCheckList">
<el-checkbox :key="1" :label="1" >
<span >寄件网点存根联</span>
</el-checkbox>
<el-checkbox :key="5" :label="5" >
<span >子单</span>
</el-checkbox>
</el-checkbox-group>
</div>
<div style="margin-left:10px">
<TanexPrinterPanel ref="tanexPrinter" v-model="printerStatus" @onPrint="handleBatchPrint"></TanexPrinterPanel>
</div>
</div>
</el-form-item>
</div>
</div> </div>
</el-collapse-item> </el-collapse-item>
<el-collapse-item title="" name="2"> <el-collapse-item title="" name="2">
@ -597,7 +599,7 @@
<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-input v-model="form.calcFeeType" placeholder="请输入计费方式" /> -->
<el-radio-group v-model="form.calcFeeType" > <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"
:key="dict.value" :key="dict.value"
@ -762,11 +764,17 @@ 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';
@ -784,8 +792,7 @@ import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue'; import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue';
import feeItemForm from './feeItemForm.vue'; import feeItemForm from './feeItemForm.vue';
import PdfViewer from '@/components/PdfViewer/index.vue'; import TanexPrinterPanel from '@/views/emis/EmisBaseTools/TanexPrinterPanel.vue';
import PdfUtils from '@/utils/pdfUtils'
export default { export default {
@ -799,7 +806,7 @@ export default {
components: { components: {
SalemanPicker, SalemanPicker,
PayeePicker, PayeePicker,
PdfViewer, TanexPrinterPanel,
feeItemForm, feeItemForm,
TransProductCasPicker, TransProductCasPicker,
WarehouseInNoPicker, WarehouseInNoPicker,
@ -842,12 +849,14 @@ data() {
isNeedSave:false, isNeedSave:false,
triggerCount:0, triggerCount:0,
action:null, action:null,
sendDate:null,
// 表单参数 // 表单参数
form: {}, form: {},
timer:null, timer:null,
isNeedCalc:false, isNeedCalc:false,
titleSelectAddress:'', titleSelectAddress:'',
openSelectAddress:false, openSelectAddress:false,
printerStatus:0,
// 可用面单数 // 可用面单数
totalAvailablePag:{ totalAvailablePag:{
@ -1019,9 +1028,10 @@ computed: {
}, },
created() { created() {
// this.billCode=this.$route.query.billCode+"";
this.action=this.$route.query.action; this.action=this.$route.query.action;
this.initData(); this.initData();
},
mounted() {
}, },
methods: { methods: {
@ -1034,8 +1044,8 @@ methods: {
this.initData(); this.initData();
}, },
// 初始化可用面单数量 // 初始化可用面单数量
initGetTotalAvailablePag(){ initGetTotalAvailablePag(useSiteCode){
getTotalAvailablePag().then(response => { getTotalAvailablePag(useSiteCode,"T7080").then(response => {
let dataMap=response.data; let dataMap=response.data;
this.totalAvailablePag.mainHasCnt=dataMap["1001"]; this.totalAvailablePag.mainHasCnt=dataMap["1001"];
this.totalAvailablePag.subHasCnt=dataMap["1002"]; this.totalAvailablePag.subHasCnt=dataMap["1002"];
@ -1057,7 +1067,6 @@ methods: {
}); });
}, },
handleApplyPag(){ handleApplyPag(){
this.$router.push("/d24/electronicFormManagement/ApplyList"); this.$router.push("/d24/electronicFormManagement/ApplyList");
}, },
@ -1073,29 +1082,41 @@ methods: {
distinguishCancelAndClose: true, distinguishCancelAndClose: true,
closeOnClickModal: false closeOnClickModal: false
}).then(() => { }).then(() => {
let printDataList=[]
// 打印主单,子单 // 打印主单,子单
let orderList=[]; let orderList=[];
// this.currentSelection.forEach(item=>{
// orderList.push(item.billCode);
// });
// 打印主单
orderList.push(this.form.billCode); orderList.push(this.form.billCode);
let selPrinterName=this.tanexPrinter.getDefaultPrinter(); let mainBillItem ={
let selTplName="探路速运-主单联(通用)"; "tplCode":"TAN-GM-130",
this.tanexPrinter.batchPrint(selTplName,selPrinterName,orderList) "printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(mainBillItem);
// 打印子单 // 打印子单
selTplName="探路速运-子单联(通用)"; // tplCode="探路速运-子单联(通用)";
// tplCode="TAN-GC-130";
let childOrderList=[] let childOrderList=[]
orderList=this.form.billCodeSub.split(','); let subBillArr=this.form.billCodeSub.split(',');
orderList.forEach(item=>{
for(let i=0;i<subBillArr.length&&i<50;i++){
let item=subBillArr[i];
if(item!=null && item!=''){ if(item!=null && item!=''){
childOrderList.push(item); childOrderList.push(item);
} }
}); }
this.tanexPrinter.batchPrint(selTplName,selPrinterName,childOrderList)
let subBillItem ={
"tplCode":"TAN-GC-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":childOrderList.toString()
}
printDataList.push(subBillItem);
// 直接打印主子单
this.$refs.tanexPrinter.batchPrintAdv(printDataList)
}).catch(() => {}); }).catch(() => {});
@ -1120,34 +1141,45 @@ methods: {
if(this.printerStatus == 1){ if(this.printerStatus == 1){
if(this.form.billCode){ if(this.form.billCode){
let pdfUrlList=[];
let selPrinterName=this.tanexPrinter.getDefaultPrinter(); let billCount=1;
let selTplName="探路速运-主单联(通用)";
let url=this.tanexPrinter.getPdfUrl(this.form.billCode,selTplName,selPrinterName); let printDataList=[]
pdfUrlList.push(url) // 打印主单,子单
// 子单url let orderList=[];
if(this.form.billCodeSub){ orderList.push(this.form.billCode);
selTplName="探路速运-子单联(通用)"; let mainBillItem ={
let orderList=this.form.billCodeSub.split(','); "tplCode":"TAN-GM-130",
orderList.forEach(item=>{ "printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
if(item!=null && item!=''){ "orderList":orderList.toString()
let url=this.tanexPrinter.getPdfUrl(item,selTplName,selPrinterName); }
pdfUrlList.push(url) printDataList.push(mainBillItem);
}
}); // 打印子单
// tplCode="探路速运-子单联(通用)";
// tplCode="TAN-GC-130";
let childOrderList=[]
let subBillArr=this.form.billCodeSub.split(',');
for(let i=0;i<subBillArr.length&&i<7;i++){
let item=subBillArr[i];
if(item!=null && item!=''){
childOrderList.push(item);
billCount=billCount+1;
} }
let pdfUtils=new PdfUtils({}); }
const loadingInstance = this.$loading({
text: '正在生成预览...' let subBillItem ={
}) "tplCode":"TAN-GC-130",
pdfUtils.mergePdf2(pdfUrlList, (new Date()).getTime()+".pdf" ) "printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
.then(url=>{ "orderList":childOrderList.toString()
loadingInstance.close(); }
this.pdfUrl=url; printDataList.push(subBillItem);
this.openPdfView = true;
}) // 预览主子单
.catch(error => { this.$refs.tanexPrinter.printPreviewAdv(printDataList,billCount)
});
} }
} }
else{ else{
@ -1239,9 +1271,6 @@ methods: {
initData() { initData() {
this.reset(); this.reset();
// 获取可用运单数
this.initGetTotalAvailablePag();
if(this.billCode && this.billCode!=undefined) { if(this.billCode && this.billCode!=undefined) {
this.loading = true; this.loading = true;
getWaybillDetail(this.billCode).then(response => { getWaybillDetail(this.billCode).then(response => {
@ -1259,7 +1288,9 @@ methods: {
}); });
}else{ }else{
this.form.sendDate = parseTime(new Date());
// this.startTimer();
// this.form.sendDate = parseTime(new Date());
this.form.sendSiteCode=this.$store.getters.ownerSiteCode; this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
this.form.sendSiteName=this.$store.getters.ownerSiteName; this.form.sendSiteName=this.$store.getters.ownerSiteName;
@ -1281,7 +1312,12 @@ methods: {
this.isNeedSave=true; this.isNeedSave=true;
this.form.printTypeCheckList=[1,5], this.form.printTypeCheckList=[1,5],
// 获取可用运单数
this.initGetTotalAvailablePag(this.form.sendSiteCode);
this.handleInitGenGoods(); this.handleInitGenGoods();
this.startTimer();
} }
@ -1407,9 +1443,15 @@ methods: {
} }
this.form.sendSiteCode=item.siteCode; this.form.sendSiteCode=item.siteCode;
this.form.sendSiteName=item.siteName; this.form.sendSiteName=item.siteName;
this.initGetTotalAvailablePag(this.form.sendSiteCode);
this.calcBillFee();
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.form.sendDate =this.sendDate;
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
@ -1435,11 +1477,21 @@ methods: {
} }
}); });
}, },
startTimer(){
if(this.action=='add'){
this.sendDate=parseTime(new Date());
this.timer = setTimeout(this.startTimer, 1000);
}
},
stopTimer(){
clearTimeout(this.timer);
this.timer=null;
},
realSaveOrderInfo(){ realSaveOrderInfo(){
// 调整包装类型为多选 // 调整包装类型为多选
if(this.form.packType){ if(this.form.packType&&this.form.packType.length>0){
this.form.packType=this.form.packType.join(","); this.form.packType=this.form.packType.join(",");
} }
@ -1663,6 +1715,18 @@ methods: {
customsEclaration:this.form.customsEclaration customsEclaration:this.form.customsEclaration
} }
// 提前重算费用
let custFeeList = [];
this.form.feeItems.forEach(item=>{
if(item.blAutoGen!='1'){
custFeeList.push(item);
}
});
this.form.feeItems = custFeeList;
this.handleCalcFeeItem();
// 通过服务器其计算,保留自定义费用
calcWaybillFee(postData).then(response => { calcWaybillFee(postData).then(response => {
let newFeeList=[]; let newFeeList=[];
let newFeeMap = new Map(); let newFeeMap = new Map();

View File

@ -23,7 +23,8 @@
<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="form.sendDate" placeholder="" readonly="" 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>
@ -60,7 +61,7 @@
<el-col :span="6" v-if="action=='modify'"> <el-col :span="6" v-if="action=='modify'">
<el-form-item :label="$t('发货时间')" prop="sendDate"> <el-form-item :label="$t('发货时间')" prop="sendDate">
<el-input v-model="form.sendDate" placeholder="" readonly="" disabled /> <el-input v-model="form.sendDate" placeholder="" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -598,7 +599,7 @@
<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-input v-model="form.calcFeeType" placeholder="请输入计费方式" /> -->
<el-radio-group v-model="form.calcFeeType" > <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"
:key="dict.value" :key="dict.value"
@ -848,6 +849,7 @@ data() {
isNeedSave:false, isNeedSave:false,
triggerCount:0, triggerCount:0,
action:null, action:null,
sendDate:null,
// 表单参数 // 表单参数
form: {}, form: {},
timer:null, timer:null,
@ -1028,6 +1030,9 @@ computed: {
created() { created() {
this.action=this.$route.query.action; this.action=this.$route.query.action;
this.initData(); this.initData();
},
mounted() {
}, },
methods: { methods: {
handleScanInput(){ handleScanInput(){
@ -1266,8 +1271,6 @@ methods: {
initData() { initData() {
this.reset(); this.reset();
if(this.billCode && this.billCode!=undefined) { if(this.billCode && this.billCode!=undefined) {
this.loading = true; this.loading = true;
getWaybillDetail(this.billCode).then(response => { getWaybillDetail(this.billCode).then(response => {
@ -1286,8 +1289,8 @@ methods: {
}else{ }else{
// this.startTimer();
this.form.sendDate = parseTime(new Date()); // this.form.sendDate = parseTime(new Date());
this.form.sendSiteCode=this.$store.getters.ownerSiteCode; this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
this.form.sendSiteName=this.$store.getters.ownerSiteName; this.form.sendSiteName=this.$store.getters.ownerSiteName;
@ -1310,9 +1313,11 @@ methods: {
this.form.printTypeCheckList=[1,5], this.form.printTypeCheckList=[1,5],
// 获取可用运单数 // 获取可用运单数
this.initGetTotalAvailablePag(this.form.sendSiteCode); this.initGetTotalAvailablePag(this.form.sendSiteCode);
this.handleInitGenGoods(); this.handleInitGenGoods();
this.startTimer();
} }
@ -1446,6 +1451,7 @@ methods: {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.form.sendDate =this.sendDate;
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
@ -1471,6 +1477,16 @@ methods: {
} }
}); });
}, },
startTimer(){
if(this.action=='add'){
this.sendDate=parseTime(new Date());
this.timer = setTimeout(this.startTimer, 1000);
}
},
stopTimer(){
clearTimeout(this.timer);
this.timer=null;
},
realSaveOrderInfo(){ realSaveOrderInfo(){
// 调整包装类型为多选 // 调整包装类型为多选
@ -1699,6 +1715,18 @@ methods: {
customsEclaration:this.form.customsEclaration customsEclaration:this.form.customsEclaration
} }
// 提前重算费用
let custFeeList = [];
this.form.feeItems.forEach(item=>{
if(item.blAutoGen!='1'){
custFeeList.push(item);
}
});
this.form.feeItems = custFeeList;
this.handleCalcFeeItem();
// 通过服务器其计算,保留自定义费用
calcWaybillFee(postData).then(response => { calcWaybillFee(postData).then(response => {
let newFeeList=[]; let newFeeList=[];
let newFeeMap = new Map(); let newFeeMap = new Map();
@ -1881,8 +1909,10 @@ methods: {
// 实时获取运单号 // 实时获取运单号
handleBillCodeChange(checked,item){ handleBillCodeChange(checked,item){
if(checked){ if(checked){
realMatchWaybill().then(response => { let useSiteCode=this.form.sendSiteCode;
realMatchWaybill(useSiteCode).then(response => {
this.form.billCode=response.data; this.form.billCode=response.data;
this.initGetTotalAvailablePag(this.form.sendSiteCode);
}); });
}else{ }else{
this.form.billCode="" this.form.billCode=""