@@ -252,11 +266,7 @@
-
-
-
-
-
+
@@ -303,7 +313,7 @@
-
+
@@ -337,12 +347,12 @@
style="width: 100%"
max-height="300px"
>
-
-
- handleCalcQty(val,scope.row)" size="mini" placeholder="">
-
-
+
+
+ {{scope.$index+1}}
+
+
handleCalcVolume(val,scope.row)" size="mini" placeholder="">
@@ -365,10 +375,17 @@
- handleCalcQty(val,scope.row)" size="mini" placeholder="">
+
+
+
+
+
+ 特殊报价
+ 敏感物
+
+
+
- handleCalcFeeItem(val,scope.row)" size="mini" placeholder="">
+ handleCalcFeeItem(val,scope.row)" size="mini" placeholder="">
+ {{scope.row.initialWeightFee}}
- handleCalcFeeItem(val,scope.row)" size="mini" placeholder="">
+ handleCalcFeeItem(val,scope.row)" size="mini" placeholder="">
+ {{scope.row.addWeightPrice}}
+
- handleCalcFeeItem(val,scope.row)" size="mini" placeholder="">
+ handleCalcFeeItem(val,scope.row)" size="mini" placeholder="">
+ {{scope.row.realFee}}
-
+
-
+
+ {{scope.row.remark}}
@@ -598,13 +626,13 @@
-
+
-
+
@@ -630,6 +658,17 @@
+
+
+
+
+
+
+ {{ printerStatusMessage }}
+ {{ printerStatusMessage }}
+
+
+
@@ -678,9 +717,14 @@ 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 {
@@ -691,6 +735,9 @@ export default {
// }
// },
components: {
+ SalemanPicker,
+ PayeePicker,
+ PdfViewer,
feeItemForm,
TransProductCasPicker,
WarehouseInNoPicker,
@@ -706,24 +753,18 @@ components: {
EmisUserSimplePicker2,
EmisUserSimplePicker3,
EmisSiteSimplePicker,
- // CustomerPicker0,
- // CustomerPicker1,
- // CustomerPicker2,
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',
@@ -738,13 +779,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: [
@@ -929,9 +982,77 @@ updated(){
created() {
this.billCode=this.$route.query.billCode;
this.initData();
+ this.initTanexPrinterSdk();
},
methods: {
+ 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(){
+ // 重要,设置为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(() => {});
+
+ },
+ 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 => {
+ });
+
+ },
+
handleAddFee(){
this.triggerCount++;
},
@@ -942,7 +1063,6 @@ methods: {
this.form.feeItems.push(newItem);
this.handleCalcFeeItem();
}
-
},
deleteFeeItem(row){
if(row.blAutoGen==1){
@@ -980,13 +1100,13 @@ methods: {
},
handleGenSubbill(value){
if(this.form.blGenSubbill==1 && this.form.parcelQty > 0 && this.form.billCode){
- // let billSubCodeStr="";
- // for(let i=1;i