md
This commit is contained in:
parent
b81d42aae5
commit
06a85a0e45
@ -20,11 +20,11 @@ class TanexPrinterSdk {
|
||||
|
||||
VERSION="1.0.0"
|
||||
MAX_SENT_RETRY_COUNT = 9;
|
||||
WS_URL = "ws://127.0.0.1:17080/ws";
|
||||
// WS_URL = "ws://192.168.88.100:17080";
|
||||
// WS_URL = "ws://192.168.88.100:17080/ws";
|
||||
// HTTP_GET_PDF = "http://192.168.88.100:17080/api/downPdfFile";
|
||||
HTTP_GET_PDF = "http://127.0.0.1:17080/api/downPdfFile";
|
||||
// WS_URL = "ws://127.0.0.1:17080/ws";
|
||||
// HTTP_GET_PDF = "http://127.0.0.1:17080/api/downPdfFile";
|
||||
|
||||
WS_URL = "ws://192.168.88.100:17080/ws";
|
||||
HTTP_GET_PDF = "http://192.168.88.100:17080/api/downPdfFile";
|
||||
|
||||
|
||||
AUTH_TOKEN=null;
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
@change="onChange"
|
||||
@focus="onFocus"
|
||||
@visible-change="reverseArrow"
|
||||
:disabled="disabled"
|
||||
>
|
||||
<el-option v-for="item in optionItems" :key="item.empName" :label="item.empName" :value="item.empName" ></el-option>
|
||||
</el-select>
|
||||
@ -31,6 +32,11 @@
|
||||
placeholder:{
|
||||
type: [String],
|
||||
required: false
|
||||
},
|
||||
disabled:{
|
||||
type: [Boolean],
|
||||
required: false,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
@change="onChange"
|
||||
@focus="onFocus"
|
||||
@visible-change="reverseArrow"
|
||||
:disabled="disabled"
|
||||
>
|
||||
<el-option v-for="item in optionItems" :key="item.empName" :label="item.empName" :value="item.empName" ></el-option>
|
||||
</el-select>
|
||||
@ -31,6 +32,11 @@
|
||||
placeholder:{
|
||||
type: [String],
|
||||
required: false
|
||||
},
|
||||
disabled:{
|
||||
type: [Boolean],
|
||||
required: false,
|
||||
default:false,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
||||
@ -30,9 +30,6 @@
|
||||
<el-col :span="10">
|
||||
</el-col>
|
||||
|
||||
|
||||
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="目的国" prop="reciever.country">
|
||||
<CountryPicker0 v-model="form.reciever.country"></CountryPicker0>
|
||||
@ -108,20 +105,30 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="寄件网点" prop="sendSiteName">
|
||||
<el-input v-model="form.sendSiteName" placeholder="" disabled />
|
||||
<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">
|
||||
<el-form-item label="打印选项:" prop="sendSiteName">
|
||||
<el-checkbox-group v-model="printTypeCheckList">
|
||||
<el-checkbox
|
||||
<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 style="font-size:13px" >{{dict.label}}</span>
|
||||
<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>
|
||||
@ -184,6 +191,11 @@
|
||||
<el-input v-model="form.sender.phone" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="寄件公司" prop="sender.company">
|
||||
<el-input v-model="form.sender.company" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="国家地区" prop="sender.province" >
|
||||
<div style="display:inline-flex">
|
||||
@ -199,11 +211,6 @@
|
||||
<el-input v-model="form.sender.address" rows="3" type="textarea" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="寄件公司" prop="sender.company">
|
||||
<el-input v-model="form.sender.company" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="blMessage">
|
||||
@ -246,6 +253,11 @@
|
||||
<el-input v-model="form.reciever.phone" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="收件公司" prop="reciever.company">
|
||||
<el-input v-model="form.reciever.company" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="国家地区" prop="reciever.province">
|
||||
<div style="display:inline-flex">
|
||||
@ -261,11 +273,7 @@
|
||||
<el-input v-model="form.reciever.address" type="textarea" rows="3" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="收件公司" prop="reciever.company">
|
||||
<el-input v-model="form.reciever.company" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="目的地" prop="destinationCode">
|
||||
<DestinationPicker v-model="form.destinationCode" :countryCode="form.reciever.country" :lineCode="form.transLine" @onChange="onDestinationChange"></DestinationPicker>
|
||||
@ -292,7 +300,7 @@
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="" name="3">
|
||||
<template slot="title">
|
||||
<div class="form-group-title"><span class="title">{{ $t('重量收费信息') }}</span>
|
||||
<div class="form-group-title"><span class="title">{{ $t('货物收费信息') }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
@ -300,10 +308,35 @@
|
||||
|
||||
<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">
|
||||
<el-form-item label="货物大类" prop="goodsType" label-width="70px">
|
||||
<GoodsMultiplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsMultiplePicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="货物名称" prop="goodsType" label-width="70px">
|
||||
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="总件数" prop="parcelQty" label-width="70px">
|
||||
<el-input v-model="form.parcelQty" style="text-align: right;" @blur="handleGenGoods" @keyup.enter.native="handleGenGoods" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="实际重量" prop="billWeight" label-width="70px">
|
||||
<el-input v-model="form.billWeight" @blur="reCalcSettlementWeight" style="text-align: right;min-width: 80px" placeholder="请输入实际重量" >
|
||||
<span slot="suffix">(kg)</span>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="goodsType" label-width="0px">
|
||||
<GoodsSimplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsSimplePicker>
|
||||
<el-table
|
||||
<!-- <GoodsSimplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsSimplePicker> -->
|
||||
<!-- <div style="width:50%">
|
||||
<GoodsMultiplePicker v-model="form.goodsType" @onChange="onGoodsChange" placeholder="选择货物信息"></GoodsMultiplePicker>
|
||||
</div> -->
|
||||
<el-table
|
||||
class="cargoList"
|
||||
:cell-style="{
|
||||
'padding': '0px!important',
|
||||
@ -322,13 +355,11 @@
|
||||
max-height="300px"
|
||||
>
|
||||
|
||||
|
||||
<el-table-column prop="goodsName" label="描述" align="center" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.goodsName" @input="(val)=>handleCalcQty(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
<el-table-column label="序号" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<span > {{scope.$index+1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="length" label="长(cm)" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.length" @input="(val)=>handleCalcVolume(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
@ -351,12 +382,18 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="cargoQty" label="件数" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.cargoQty" @input="(val)=>handleCalcQty(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<el-input v-model="scope.row.cargoQty" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- @input="(val)=>handleCalcQty(val,scope.row)" -->
|
||||
<!-- <el-table-column prop="goodsName" label="描述" align="center" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.goodsName" @input="(val)=>handleCalcQty(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
|
||||
<el-table-column label="操作" align="center" width="50">
|
||||
<el-table-column label="操作" align="left" min-width="50">
|
||||
<template slot-scope="scope">
|
||||
<span class="icon iconfont"
|
||||
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
|
||||
@ -366,17 +403,10 @@
|
||||
|
||||
</el-table>
|
||||
|
||||
<el-input v-model="form.goodsInfo" type="textarea" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="实际重量" prop="billWeight" label-width="70px">
|
||||
<el-input v-model="form.billWeight" @blur="reCalcSettlementWeight" style="text-align: right;min-width: 80px" placeholder="请输入实际重量" >
|
||||
<span slot="suffix">(kg)</span>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="总体积" prop="totalVolume" label-width="70px" >
|
||||
<div style="">
|
||||
@ -386,11 +416,7 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="总件数" prop="parcelQty" label-width="70px">
|
||||
<el-input v-model="form.parcelQty" style="text-align: right;" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="体积重量" prop="volumeWeight" label-width="70px">
|
||||
@ -479,6 +505,12 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-form-item label="特殊报价" prop="ext" label-width="70px">
|
||||
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" :true-label="1" :false-label="0">特殊报价</el-checkbox>
|
||||
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSensitive" :true-label="1" :false-label="0">敏感物</el-checkbox>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="goodsType" label-width="0px">
|
||||
<el-table
|
||||
@ -514,22 +546,27 @@
|
||||
|
||||
<el-table-column prop="initialWeightFee" label="首重费" align="center" width="60">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.initialWeightFee" @input="(val)=>handleCalcFeeItem(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<el-input v-if="form.blSpecialQuote==1" v-model="scope.row.initialWeightFee" @input="(val)=>handleCalcFeeItem(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<div v-else> {{scope.row.initialWeightFee}} </div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="addWeightPrice" label="续重单价" align="center" width="70">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.addWeightPrice" @input="(val)=>handleCalcFeeItem(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<el-input v-if="form.blSpecialQuote==1" v-model="scope.row.addWeightPrice" @input="(val)=>handleCalcFeeItem(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<div v-else> {{scope.row.addWeightPrice}} </div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="realFee" label="实收" align="center" width="50">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.realFee" @input="(val)=>handleCalcFeeItem(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<el-input v-if="form.blSpecialQuote==1" v-model="scope.row.realFee" @input="(val)=>handleCalcFeeItem(val,scope.row)" size="mini" placeholder=""></el-input>
|
||||
<div v-else> {{scope.row.realFee}} </div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="描述" align="center" min-width="50">
|
||||
<el-table-column prop="remark" label="描述" align="center" min-width="50">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.remark" size="mini" placeholder=""></el-input>
|
||||
<el-input v-if="form.blSpecialQuote==1" v-model="scope.row.remark" size="mini" placeholder=""></el-input>
|
||||
<div v-else> {{scope.row.remark}} </div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="50">
|
||||
@ -591,18 +628,21 @@
|
||||
</el-col>
|
||||
<el-col :span="24" v-show="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5">
|
||||
<el-form-item label="月结账号" prop="thirdCustomerCode" label-width="70px">
|
||||
<EmisMonthpayAccountPicker v-model="form.custNo"></EmisMonthpayAccountPicker>
|
||||
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="回款联系人" prop="payee" label-width="80px">
|
||||
<EmisUserSimplePicker2 :placeholder="$t('回款联系人')" v-model="form.payee" ></EmisUserSimplePicker2>
|
||||
<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="12">
|
||||
<el-form-item label="销售联系人" prop="salesmen" label-width="80px">
|
||||
<EmisUserSimplePicker3 :placeholder="$t('销售联系人')" v-model="form.salesmen" ></EmisUserSimplePicker3>
|
||||
<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>
|
||||
|
||||
@ -628,6 +668,17 @@
|
||||
<AddressSelectPicker0 :addressType="addressType" @onSelected="onAddressChangeSelect"></AddressSelectPicker0>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog class="previe_dialog" title="打印预览" :visible.sync="openPdfView" width="80%" :close-on-click-modal="false" v-dialogDrag append-to-body>
|
||||
<PdfViewer :pdfUrl="pdfUrl" width="100%" @onPrint="handleBatchPrint" ></PdfViewer>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 打印机状态 -->
|
||||
<div style="padding:5px 0px;text-align: right;position: fixed;top: 150px;right: 10px; z-index: 9999;">
|
||||
<el-tag type="danger" v-if="printerStatus==0">{{ printerStatusMessage }}</el-tag>
|
||||
<el-tag type="success" v-if="printerStatus==1">{{ printerStatusMessage }}</el-tag>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -643,6 +694,7 @@ import EmisUserSimplePicker0 from '@/views/emis/EmisBaseTools/EmisUserSimplePick
|
||||
import EmisUserSimplePicker1 from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
|
||||
import EmisUserSimplePicker2 from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
|
||||
import EmisUserSimplePicker3 from '@/views/emis/EmisBaseTools/EmisUserSimplePicker.vue';
|
||||
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
|
||||
|
||||
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
|
||||
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
|
||||
@ -666,6 +718,8 @@ import DistrictPicker2 from '@/views/emis/EmisBaseTools/DistrictPicker.vue';
|
||||
// import CustomerPicker2 from '@/views/emis/EmisBaseTools/CustomerPicker.vue';
|
||||
|
||||
import GoodsSimplePicker from '@/views/emis/EmisBaseTools/GoodsSimplePicker.vue';
|
||||
import GoodsMultiplePicker from '@/views/emis/EmisBaseTools/GoodsMultiplePicker.vue';
|
||||
|
||||
import CustomerAddressSimplePicker0 from '@/views/emis/EmisBaseTools/CustomerAddressSimplePicker.vue';
|
||||
import CustomerAddressSimplePicker1 from '@/views/emis/EmisBaseTools/CustomerAddressSimplePicker.vue';
|
||||
import AddressSelectPicker0 from '@/views/emis/EmisBaseTools/AddressSelectPicker.vue';
|
||||
@ -673,19 +727,27 @@ import AddressSelectPicker1 from '@/views/emis/EmisBaseTools/AddressSelectPicker
|
||||
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
|
||||
import WarehouseInNoPicker from '@/views/emis/EmisBaseTools/WarehouseInNoPicker.vue';
|
||||
|
||||
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
|
||||
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
|
||||
|
||||
import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue';
|
||||
import feeItemForm from './feeItemForm.vue';
|
||||
|
||||
import PdfViewer from '@/components/PdfViewer/index.vue';
|
||||
import PdfUtils from '@/utils/pdfUtils'
|
||||
|
||||
|
||||
export default {
|
||||
name: "WaybillModify",
|
||||
name: "WaybillEntry",
|
||||
// props:{
|
||||
// billCode:{
|
||||
// type:String
|
||||
// }
|
||||
// },
|
||||
components: {
|
||||
SalemanPicker,
|
||||
PayeePicker,
|
||||
PdfViewer,
|
||||
feeItemForm,
|
||||
TransProductCasPicker,
|
||||
WarehouseInNoPicker,
|
||||
@ -695,28 +757,24 @@ components: {
|
||||
CustomerAddressSimplePicker0,
|
||||
CustomerAddressSimplePicker1,
|
||||
GoodsSimplePicker,
|
||||
GoodsMultiplePicker,
|
||||
EmisUserSimplePicker0,
|
||||
EmisUserSimplePicker1,
|
||||
EmisUserSimplePicker2,
|
||||
EmisUserSimplePicker3,
|
||||
// CustomerPicker0,
|
||||
// CustomerPicker1,
|
||||
// CustomerPicker2,
|
||||
EmisSiteSimplePicker,
|
||||
DestinationPicker,
|
||||
TransLinePicker,
|
||||
TransProductPicker,
|
||||
// AreaPicker0,
|
||||
CountryPicker0,
|
||||
CountryPicker1,
|
||||
ProvincePicker1,
|
||||
CityPicker1,
|
||||
DistrictPicker1,
|
||||
// TownPicker1,
|
||||
CountryPicker2,
|
||||
ProvincePicker2,
|
||||
CityPicker2,
|
||||
DistrictPicker2,
|
||||
// TownPicker2,
|
||||
},
|
||||
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
|
||||
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
|
||||
@ -731,13 +789,25 @@ data() {
|
||||
loading: true,
|
||||
isNeedSave:false,
|
||||
triggerCount:0,
|
||||
printTypeCheckList:['1','2','5'],
|
||||
// 表单参数
|
||||
form: {},
|
||||
timer:null,
|
||||
isNeedCalc:false,
|
||||
titleSelectAddress:'',
|
||||
openSelectAddress:false,
|
||||
|
||||
tanexPrinter:null,
|
||||
printerDownUrl:null,
|
||||
printerStatus:0,
|
||||
printerStatusMessage:'打印组件未连接',
|
||||
printerList:[],
|
||||
printTplList:[],
|
||||
selTplName:null,
|
||||
selPrinterName:null,
|
||||
|
||||
openPdfView:false,
|
||||
pdfUrl:null,
|
||||
|
||||
// 表单校验
|
||||
rules: {
|
||||
billCode: [
|
||||
@ -911,6 +981,20 @@ data() {
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.billCode":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.blGenSubbill":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
|
||||
},
|
||||
activated(){
|
||||
@ -922,6 +1006,7 @@ updated(){
|
||||
created() {
|
||||
this.billCode=this.$route.query.billCode;
|
||||
this.initData();
|
||||
this.initTanexPrinterSdk();
|
||||
|
||||
},
|
||||
methods: {
|
||||
@ -933,6 +1018,104 @@ methods: {
|
||||
this.billCode=this.form.billCode;
|
||||
this.initData();
|
||||
},
|
||||
initTanexPrinterSdk(){
|
||||
this.tanexPrinter = this.$tanexPrinter;
|
||||
|
||||
this.getConfigKey("sys.printer.downurl").then(response => {
|
||||
this.printerDownUrl = response.msg;
|
||||
});
|
||||
this.tanexPrinter.init();
|
||||
this.tanexPrinter.setOnOpen(this.onPrinterOpen);
|
||||
this.tanexPrinter.setOnClose(this.onPrinterClose);
|
||||
this.tanexPrinter.setOnError(this.onPrinterError);
|
||||
// this.tanexPrinter.setOnGetPrinter(this.onGetPrinter);
|
||||
// this.tanexPrinter.setOnGetPrintTpl(this.onGetPrintTpl);
|
||||
},
|
||||
onPrinterOpen(evt){
|
||||
console.log("onPrinterOpen")
|
||||
this.printerStatus = 1;
|
||||
this.printerStatusMessage="打印组件已连接,可以打印.";
|
||||
|
||||
},
|
||||
onPrinterClose(evt){
|
||||
console.log("onPrinterClose")
|
||||
this.printerStatus = 0;
|
||||
this.printerStatusMessage="打印组件已断开!";
|
||||
},
|
||||
onPrinterError(evt){
|
||||
console.log("onPrinterError")
|
||||
this.printerStatus = 0;
|
||||
this.printerStatusMessage="打印组件已断开!";
|
||||
},
|
||||
handleBatchPrint(){
|
||||
|
||||
if(this.form.billCode){
|
||||
// 重要,设置为true才会把右上角X和取消区分开来
|
||||
this.$confirm("确定打印?", "提示", {
|
||||
cancelButtonText: "不打印",
|
||||
confirmButtonText: "确定打印",
|
||||
type: "warning",
|
||||
distinguishCancelAndClose: true,
|
||||
closeOnClickModal: false
|
||||
}).then(() => {
|
||||
// 打印主单,子单
|
||||
let orderList=[];
|
||||
// this.currentSelection.forEach(item=>{
|
||||
// orderList.push(item.billCode);
|
||||
// });
|
||||
// 打印主单
|
||||
orderList.push(this.form.billCode);
|
||||
let selPrinterName=this.tanexPrinter.getDefaultPrinter();
|
||||
let selTplName="探路速运-主单联(通用)";
|
||||
this.tanexPrinter.batchPrint(selTplName,selPrinterName,orderList)
|
||||
// 打印子单
|
||||
orderList=this.form.subBillCode.split(',');
|
||||
|
||||
selTplName="探路速运-子单联(通用)";
|
||||
this.tanexPrinter.batchPrint(selTplName,selPrinterName,orderList)
|
||||
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
||||
},
|
||||
async handlePrintPreview(){
|
||||
|
||||
if(this.form.billCode){
|
||||
let pdfUrlList=[];
|
||||
let selPrinterName=this.tanexPrinter.getDefaultPrinter();
|
||||
let selTplName="探路速运-主单联(通用)";
|
||||
let url=this.tanexPrinter.getPdfUrl(this.form.billCode,selTplName,selPrinterName);
|
||||
pdfUrlList.push(url)
|
||||
|
||||
// 子单url
|
||||
if(this.form.subBillCode){
|
||||
orderList=this.form.subBillCode.split(',');
|
||||
selTplName="探路速运-子单联(通用)";
|
||||
this.orderList.forEach(item=>{
|
||||
let url=this.tanexPrinter.getPdfUrl(item,selTplName,selPrinterName);
|
||||
pdfUrlList.push(url)
|
||||
});
|
||||
}
|
||||
let pdfUtils=new PdfUtils({});
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在生成预览...'
|
||||
})
|
||||
pdfUtils.mergePdf2(pdfUrlList, (new Date()).getTime()+".pdf" )
|
||||
.then(url=>{
|
||||
loadingInstance.close();
|
||||
this.pdfUrl=url;
|
||||
this.openPdfView = true;
|
||||
})
|
||||
.catch(error => {
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
onSelectMonthUser(item){
|
||||
console.log(item);
|
||||
this.form.payee=item.payee;
|
||||
this.form.salesmen=item.salesmen;
|
||||
},
|
||||
handleAddFee(){
|
||||
this.triggerCount++;
|
||||
},
|
||||
@ -943,7 +1126,6 @@ methods: {
|
||||
this.form.feeItems.push(newItem);
|
||||
this.handleCalcFeeItem();
|
||||
}
|
||||
|
||||
},
|
||||
deleteFeeItem(row){
|
||||
if(row.blAutoGen==1){
|
||||
@ -981,13 +1163,13 @@ methods: {
|
||||
},
|
||||
handleGenSubbill(value){
|
||||
if(this.form.blGenSubbill==1 && this.form.parcelQty > 0 && this.form.billCode){
|
||||
// let billSubCodeStr="";
|
||||
// for(let i=1;i<this.form.parcelQty;i++){
|
||||
// let subBillCode = this.form.billCode+""+this.lpadZero(i,3);
|
||||
// billSubCodeStr=billSubCodeStr+subBillCode+";"
|
||||
// console.log(billSubCodeStr);
|
||||
// }
|
||||
let billSubCodeStr = this.form.billCode+"["+this.lpadZero(1,3)+"-"+this.lpadZero(this.form.parcelQty,3)+"]";
|
||||
let billSubCodeStr="";
|
||||
for(let i=1;i<=this.form.parcelQty;i++){
|
||||
let subBillCode = this.form.billCode+""+this.lpadZero(i,4);
|
||||
billSubCodeStr=billSubCodeStr+subBillCode+","
|
||||
console.log(billSubCodeStr);
|
||||
}
|
||||
// let billSubCodeStr = this.form.billCode+"["+this.lpadZero(1,3)+"-"+this.lpadZero(this.form.parcelQty,3)+"]";
|
||||
console.log(billSubCodeStr);
|
||||
this.form.billCodeSub=billSubCodeStr;
|
||||
}else{
|
||||
@ -1000,7 +1182,7 @@ methods: {
|
||||
},
|
||||
initData() {
|
||||
this.reset();
|
||||
|
||||
this.form.sendDate = parseTime(new Date());
|
||||
this.form.sendSiteCode=this.$store.getters.ownerSiteCode;
|
||||
this.form.sendSiteName=this.$store.getters.ownerSiteName;
|
||||
console.log(this.form.sendSiteName)
|
||||
@ -1014,8 +1196,6 @@ methods: {
|
||||
|
||||
this.isNeedSave=true;
|
||||
|
||||
this.form.sendDate = parseTime(new Date());
|
||||
|
||||
});
|
||||
}else{
|
||||
// console.log(this.dict.type.emis_declare_mode[0]);
|
||||
@ -1023,19 +1203,22 @@ methods: {
|
||||
// this.form.customsEclaration = this.dict.type.emis_declare_mode[0].value;
|
||||
this.form.customsEclaration='1';
|
||||
this.form.customsClear='1';
|
||||
this.form.pickupMethod='2';
|
||||
// this.form.pickupMethod='2';
|
||||
this.form.dispatchMethod='1';
|
||||
// this.form.billWeight=1.0;
|
||||
// this.form.totalVolume=0.0;
|
||||
this.form.parcelQty=1;
|
||||
this.form.packType='2';
|
||||
this.form.blOverWeight='0';
|
||||
this.form.blGenSubbill=0;
|
||||
this.form.blGenSubbill=1;
|
||||
this.form.paymentType='1';
|
||||
this.form.calcFeeType='1';
|
||||
this.form.blMessage='1'
|
||||
|
||||
this.form.blAcceptMessage='1'
|
||||
this.isNeedSave=true;
|
||||
this.form.printTypeCheckList=[1,5],
|
||||
|
||||
this.handleGenGoods();
|
||||
}
|
||||
|
||||
|
||||
@ -1140,6 +1323,8 @@ methods: {
|
||||
meterType:null,
|
||||
blGenSubbill:null,
|
||||
billCodeSub:null,
|
||||
blSpecialQuote:null,
|
||||
blSensitive:null,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
@ -1147,13 +1332,26 @@ methods: {
|
||||
this.form.transLine=item[0];
|
||||
this.form.productType=item[1];
|
||||
},
|
||||
onSendSiteSelect(item){
|
||||
if(!item){
|
||||
this.form.sendSiteCode = null;
|
||||
this.form.sendSiteName = null;
|
||||
return;
|
||||
}
|
||||
this.form.sendSiteCode=item.siteCode;
|
||||
this.form.sendSiteName=item.siteName;
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
realSubmitOrder(this.form).then(response => {
|
||||
this.$modal.msgSuccess("下单成功");
|
||||
this.$emit("on-changed");
|
||||
|
||||
// 弹出打印预览界面
|
||||
this.handlePrintPreview();
|
||||
|
||||
// this.$emit("on-changed");
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -1249,12 +1447,28 @@ methods: {
|
||||
|
||||
});
|
||||
|
||||
this.form.goodsInfo = goodsInfo;
|
||||
|
||||
this.form.parcelQty = totalCargoQty;
|
||||
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
handleCalcFeeItem(val,row){
|
||||
|
||||
let childRealFee=0.0;
|
||||
if(row!=null){
|
||||
|
||||
if(row.calcExp){
|
||||
let expr=row.calcExp+"";
|
||||
expr=expr.replace("s",row.initialWeightFee);
|
||||
expr=expr.replace("d",row.addWeightPrice);
|
||||
expr=expr.replace("w",this.form.settlementWeight);
|
||||
console.log(expr);
|
||||
let childRealFee=parseFloat(eval(expr)).toFixed(2);
|
||||
row.realFee=childRealFee;
|
||||
console.log(childRealFee);
|
||||
}
|
||||
}
|
||||
|
||||
let totalFee=0;
|
||||
this.form.feeItems.forEach(item=>{
|
||||
totalFee=totalFee+parseInt(item.realFee);
|
||||
@ -1358,7 +1572,43 @@ methods: {
|
||||
this.form.dispatchUnderlingSite= item.siteName;
|
||||
this.form.dispatchSite= item.siteName;
|
||||
},
|
||||
onGoodsChange(goodsName){
|
||||
onGoodsChange(goodsList,selNameStr){
|
||||
this.form.goodsInfo = selNameStr;
|
||||
},
|
||||
|
||||
handleGenGoods(){
|
||||
if(this.form.parcelQty>0){
|
||||
// 新件数大于
|
||||
if(this.form.parcelQty>=this.form.cargoList.length){
|
||||
console.log()
|
||||
let len=this.form.parcelQty-this.form.cargoList.length;
|
||||
for(let i=0;i<len;i++){
|
||||
let cargo={
|
||||
"goodsCode": "",
|
||||
"goodsName": "",
|
||||
"cargoQty": 1,
|
||||
"length": 0,
|
||||
"width": 0,
|
||||
"height": 0,
|
||||
"volume": 0,
|
||||
}
|
||||
this.form.cargoList.push(cargo);
|
||||
}
|
||||
}
|
||||
else{
|
||||
let newList=[];
|
||||
for(let i=0;i<this.form.parcelQty;i++){
|
||||
newList.push(this.form.cargoList[i])
|
||||
}
|
||||
this.form.cargoList=newList;
|
||||
}
|
||||
}else{
|
||||
this.form.cargoList=[];
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
onGoodsChange_old(goodsName){
|
||||
if(goodsName&& goodsName!='') {
|
||||
// 旧map
|
||||
let nameOldMap = new Map();
|
||||
|
||||
@ -17,7 +17,12 @@
|
||||
<el-col :span="18">
|
||||
<el-form-item label="运单号" prop="billCode" >
|
||||
<div style="display:inline-flex">
|
||||
<div><el-input v-model="form.billCode" placeholder="运单号" style="font-weight:600;color:black" /></div>
|
||||
<div>
|
||||
<!-- <el-input v-model="form.billCode" placeholder="运单号" style="font-weight:600;color:black" /> -->
|
||||
<el-input v-model="form.billCode" placeholder="单号输入后按回车" @keyup.enter.native="handleScanInput" style="font-weight:600;color:black" >
|
||||
<i slot="suffix" class="iconfont"></i>
|
||||
</el-input>
|
||||
</div>
|
||||
<div style="padding-left:5px"> <el-checkbox style="font-size:400;margin-right:10px;font-size:10px" @change="checked=>handleBillCodeChange(checked)"><span style="font-size:10px">电子主单</span></el-checkbox></div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@ -621,20 +626,20 @@
|
||||
</el-col>
|
||||
<el-col :span="24" v-show="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5">
|
||||
<el-form-item label="月结账号" prop="thirdCustomerCode" label-width="70px">
|
||||
<EmisMonthpayAccountPicker v-model="form.custNo"></EmisMonthpayAccountPicker>
|
||||
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="回款联系人" prop="payee" label-width="80px">
|
||||
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" disabled ></PayeePicker>
|
||||
<PayeePicker :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
|
||||
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
|
||||
<PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="销售联系人" prop="salesmen" label-width="80px">
|
||||
<SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" disabled ></SalemanPicker>
|
||||
<SalemanPicker :placeholder="$t('销售联系人')" v-model="form.salesmen" ></SalemanPicker>
|
||||
<SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker>
|
||||
<SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" ></SalemanPicker>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -974,6 +979,20 @@ data() {
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.billCode":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
"form.blGenSubbill":{
|
||||
handler (newValue, oldValue) {
|
||||
this.handleGenSubbill();
|
||||
},
|
||||
immediate: false,
|
||||
deep: true
|
||||
},
|
||||
|
||||
},
|
||||
activated(){
|
||||
@ -989,6 +1008,14 @@ created() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
handleScanInput(){
|
||||
if(this.form.billCode==null || this.form.billCode==''){
|
||||
this.$message.error("输入单号后回车");
|
||||
return;
|
||||
}
|
||||
this.billCode=this.form.billCode;
|
||||
this.initData();
|
||||
},
|
||||
initTanexPrinterSdk(){
|
||||
this.tanexPrinter = this.$tanexPrinter;
|
||||
|
||||
@ -1019,43 +1046,84 @@ methods: {
|
||||
this.printerStatusMessage="打印组件已断开!";
|
||||
},
|
||||
handleBatchPrint(){
|
||||
// 重要,设置为true才会把右上角X和取消区分开来
|
||||
this.$confirm("确定打印?", "提示", {
|
||||
cancelButtonText: "不打印",
|
||||
confirmButtonText: "确定打印",
|
||||
type: "warning",
|
||||
distinguishCancelAndClose: true,
|
||||
closeOnClickModal: false
|
||||
}).then(() => {
|
||||
let orderList=[];
|
||||
this.currentSelection.forEach(item=>{
|
||||
orderList.push(item.billCode);
|
||||
});
|
||||
this.tanexPrinter.batchPrint(this.selTplName,this.selPrinterName,orderList)
|
||||
}).catch(() => {});
|
||||
|
||||
if(this.form.billCode){
|
||||
// 重要,设置为true才会把右上角X和取消区分开来
|
||||
this.$confirm("确定打印?", "提示", {
|
||||
cancelButtonText: "不打印",
|
||||
confirmButtonText: "确定打印",
|
||||
type: "warning",
|
||||
distinguishCancelAndClose: true,
|
||||
closeOnClickModal: false
|
||||
}).then(() => {
|
||||
// 打印主单,子单
|
||||
let orderList=[];
|
||||
// this.currentSelection.forEach(item=>{
|
||||
// orderList.push(item.billCode);
|
||||
// });
|
||||
// 打印主单
|
||||
orderList.push(this.form.billCode);
|
||||
let selPrinterName=this.tanexPrinter.getDefaultPrinter();
|
||||
let selTplName="探路速运-主单联(通用)";
|
||||
this.tanexPrinter.batchPrint(selTplName,selPrinterName,orderList)
|
||||
|
||||
|
||||
// 打印子单
|
||||
selTplName="探路速运-子单联(通用)";
|
||||
|
||||
let childOrderList=[]
|
||||
orderList=this.form.billCodeSub.split(',');
|
||||
orderList.forEach(item=>{
|
||||
if(item!=null && item!=''){
|
||||
childOrderList.push(item);
|
||||
}
|
||||
});
|
||||
this.tanexPrinter.batchPrint(selTplName,selPrinterName,childOrderList)
|
||||
|
||||
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
||||
},
|
||||
async handlePrintPreview(){
|
||||
let pdfUrlList=[];
|
||||
this.currentSelection.forEach(item=>{
|
||||
let url=this.tanexPrinter.getPdfUrl(item.billCode,this.selTplName,this.selPrinterName);
|
||||
pdfUrlList.push(url)
|
||||
});
|
||||
let pdfUtils=new PdfUtils({});
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在生成预览...'
|
||||
})
|
||||
pdfUtils.mergePdf2(pdfUrlList, (new Date()).getTime()+".pdf" )
|
||||
.then(url=>{
|
||||
loadingInstance.close();
|
||||
this.pdfUrl=url;
|
||||
this.openPdfView = true;
|
||||
})
|
||||
.catch(error => {
|
||||
});
|
||||
|
||||
if(this.form.billCode){
|
||||
let pdfUrlList=[];
|
||||
let selPrinterName=this.tanexPrinter.getDefaultPrinter();
|
||||
let selTplName="探路速运-主单联(通用)";
|
||||
let url=this.tanexPrinter.getPdfUrl(this.form.billCode,selTplName,selPrinterName);
|
||||
pdfUrlList.push(url)
|
||||
// 子单url
|
||||
if(this.form.billCodeSub){
|
||||
selTplName="探路速运-子单联(通用)";
|
||||
let orderList=this.form.billCodeSub.split(',');
|
||||
orderList.forEach(item=>{
|
||||
if(item!=null && item!=''){
|
||||
let url=this.tanexPrinter.getPdfUrl(item,selTplName,selPrinterName);
|
||||
pdfUrlList.push(url)
|
||||
}
|
||||
});
|
||||
}
|
||||
let pdfUtils=new PdfUtils({});
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在生成预览...'
|
||||
})
|
||||
pdfUtils.mergePdf2(pdfUrlList, (new Date()).getTime()+".pdf" )
|
||||
.then(url=>{
|
||||
loadingInstance.close();
|
||||
this.pdfUrl=url;
|
||||
this.openPdfView = true;
|
||||
})
|
||||
.catch(error => {
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
onSelectMonthUser(item){
|
||||
console.log(item);
|
||||
this.form.payee=item.payee;
|
||||
this.form.salesmen=item.salesmen;
|
||||
},
|
||||
handleAddFee(){
|
||||
this.triggerCount++;
|
||||
},
|
||||
@ -1104,9 +1172,9 @@ methods: {
|
||||
handleGenSubbill(value){
|
||||
if(this.form.blGenSubbill==1 && this.form.parcelQty > 0 && this.form.billCode){
|
||||
let billSubCodeStr="";
|
||||
for(let i=1;i<this.form.parcelQty;i++){
|
||||
for(let i=1;i<=this.form.parcelQty;i++){
|
||||
let subBillCode = this.form.billCode+""+this.lpadZero(i,4);
|
||||
billSubCodeStr=billSubCodeStr+subBillCode+";"
|
||||
billSubCodeStr=billSubCodeStr+subBillCode+","
|
||||
console.log(billSubCodeStr);
|
||||
}
|
||||
// let billSubCodeStr = this.form.billCode+"["+this.lpadZero(1,3)+"-"+this.lpadZero(this.form.parcelQty,3)+"]";
|
||||
@ -1287,7 +1355,11 @@ methods: {
|
||||
if (valid) {
|
||||
realSubmitOrder(this.form).then(response => {
|
||||
this.$modal.msgSuccess("下单成功");
|
||||
this.$emit("on-changed");
|
||||
|
||||
// 弹出打印预览界面
|
||||
this.handlePrintPreview();
|
||||
|
||||
// this.$emit("on-changed");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@ -73,26 +73,51 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
},
|
||||
configureWebpack: {
|
||||
name: name,
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve('src')
|
||||
}
|
||||
},
|
||||
output: { // 输出重构 打包编译后的 文件名称 【模块名称.版本号.时间戳】
|
||||
filename: `static/js/[name].${process.env.VUE_APP_VERSION}.${Timestamp}.js`,
|
||||
chunkFilename: `static/js/[name].${process.env.VUE_APP_VERSION}.${Timestamp}.js`
|
||||
},
|
||||
plugins: [
|
||||
new CompressionPlugin({
|
||||
test: /\.(js|css|html)?$/i, // 压缩文件格式
|
||||
filename: '[path].gz[query]', // 压缩后的文件名
|
||||
algorithm: 'gzip', // 使用gzip压缩
|
||||
minRatio: 0.8 // 压缩率小于1才会压缩
|
||||
}),
|
||||
],
|
||||
configureWebpack: config => {
|
||||
// 开发环境不配置
|
||||
if (process.env.NODE_ENV !== 'production') return
|
||||
// 生产环境才去配置
|
||||
return {
|
||||
name: name,
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve('src')
|
||||
}
|
||||
},
|
||||
output: { // 输出重构 打包编译后的 文件名称 【模块名称.版本号.时间戳】
|
||||
filename: `static/js/[name].${process.env.VUE_APP_VERSION}.${Timestamp}.js`,
|
||||
chunkFilename: `static/js/[name].${process.env.VUE_APP_VERSION}.${Timestamp}.js`
|
||||
},
|
||||
plugins: [
|
||||
new CompressionPlugin({
|
||||
test: /\.(js|css|html)?$/i, // 压缩文件格式
|
||||
filename: '[path].gz[query]', // 压缩后的文件名
|
||||
algorithm: 'gzip', // 使用gzip压缩
|
||||
minRatio: 0.8 // 压缩率小于1才会压缩
|
||||
}),
|
||||
]
|
||||
}
|
||||
},
|
||||
// configureWebpack: {
|
||||
// name: name,
|
||||
// resolve: {
|
||||
// alias: {
|
||||
// '@': resolve('src')
|
||||
// }
|
||||
// },
|
||||
// output: { // 输出重构 打包编译后的 文件名称 【模块名称.版本号.时间戳】
|
||||
// filename: `static/js/[name].${process.env.VUE_APP_VERSION}.${Timestamp}.js`,
|
||||
// chunkFilename: `static/js/[name].${process.env.VUE_APP_VERSION}.${Timestamp}.js`
|
||||
// },
|
||||
// plugins: [
|
||||
// new CompressionPlugin({
|
||||
// test: /\.(js|css|html)?$/i, // 压缩文件格式
|
||||
// filename: '[path].gz[query]', // 压缩后的文件名
|
||||
// algorithm: 'gzip', // 使用gzip压缩
|
||||
// minRatio: 0.8 // 压缩率小于1才会压缩
|
||||
// }),
|
||||
// ],
|
||||
// },
|
||||
chainWebpack(config) {
|
||||
config.plugins.delete('preload') // TODO: need test
|
||||
config.plugins.delete('prefetch') // TODO: need test
|
||||
|
||||
Loading…
Reference in New Issue
Block a user