From 88af779cadae02b7288fc32cffbec0f92b3eb1d5 Mon Sep 17 00:00:00 2001 From: linfso Date: Thu, 18 Jul 2024 21:24:03 +0800 Subject: [PATCH] md --- src/components/XdTable/index.vue | 60 ++++++++++++++----- .../emis/EmisBaseTools/ExchangeRatePanel.vue | 2 +- src/views/emis/emisWaybill/waybillModify.vue | 48 ++++++++++----- src/views/emis/emisWaybill/waybillRecord.vue | 34 +++++++---- 4 files changed, 104 insertions(+), 40 deletions(-) diff --git a/src/components/XdTable/index.vue b/src/components/XdTable/index.vue index 7e3753ee..1aab3cac 100644 --- a/src/components/XdTable/index.vue +++ b/src/components/XdTable/index.vue @@ -579,6 +579,12 @@ export default { immediate: true }, }, + beforeMount() { + window.addEventListener('keydown', this.keyDown) + }, + beforeDestroy() { + window.removeEventListener('keydown', this.keyDown) + }, mounted() { if(this.saveStorageName&&this.saveStorageName!=undefined&&this.saveStorageName!=''){ this.isNeedDbSaveTpl=true; @@ -602,16 +608,49 @@ export default { return Math.random().toString(36).substring(3,10); }, - initKeyDown(){ + // initKeyDown(){ + // let that=this; + // document.addEventListener('keydown', function(e) { + // e = e||window.event; + // if(e.ctrlKey&&e.code=="KeyC"){ + // that.handleCopySelect(e); + // return false; + // } + // }); + // }, + keyDown(e) { let that=this; - document.addEventListener('keydown', function(e) { - e = e||window.event; - if(e.ctrlKey&&e.code=="KeyC"){ - that.handleCopySelect(e); - return false; + if (e || window.e) { + const { key, target } = e + const deleteKeyArr = ['Backspace', 'Delete'] + // 使用this.$el.querySelector('#efContainer')而不使用document.getElementById,是因为我们获取元素,尽量用this.$el去一级级获取,用document,单页面应用总会出些意外 + // js的contains方法用来查看dom元素的包含关系-用来限定键盘事件只局限于当前dom范围内 + const efContainerId = this.$el.querySelector('#'+this.tableId) + console.log("====>efContainerId==>",efContainerId); + if (e.ctrlKey&&e.code=="KeyC" && target.contains(efContainerId)) { + this.handleCopySelect(e) } - }); + + // const efContainerId = this.$el.querySelector('#'+this.tableId) + // console.log("====>efContainerId==>",efContainerId); + // console.log("====>efContainerId==>",efContainerId); + // if(e.ctrlKey&&e.code=="KeyC"){ + // that.handleCopySelect(e); + // return false; + // } + // if (deleteKeyArr.includes(key) && !this.delBtnDisabled && this.clickedBackSpace && target.contains(efContainerId)) { + // this.deleteElement() + // } + } }, + keyDownOld(e) { + if(e.ctrlKey && e.keyCode==13) { //用户点击了ctrl+enter触发 + + } + // this.textarea += '\n'; + // }else { //用户点击了enter触发 + // this.sendMessage(); + }, onTplSelectInputBlur(e) { if (e.target.value.trim()!== '') { //e.target.value就是录入的内容 @@ -1031,14 +1070,7 @@ export default { })) this.storageList = list }, - keyDown(e) { - if(e.ctrlKey && e.keyCode==13) { //用户点击了ctrl+enter触发 - } - // this.textarea += '\n'; - // }else { //用户点击了enter触发 - // this.sendMessage(); - }, // 根据缓存的数组进行渲染表格 updateTable() { // 特殊类型 diff --git a/src/views/emis/EmisBaseTools/ExchangeRatePanel.vue b/src/views/emis/EmisBaseTools/ExchangeRatePanel.vue index ea825b9d..ceef51c5 100644 --- a/src/views/emis/EmisBaseTools/ExchangeRatePanel.vue +++ b/src/views/emis/EmisBaseTools/ExchangeRatePanel.vue @@ -47,7 +47,7 @@ from:this.from, to:this.to }; - getValidExchangeRate(this.queryParams).then(response => { + getValidExchangeRate(queryParams).then(response => { this.value = response.data; }); }, diff --git a/src/views/emis/emisWaybill/waybillModify.vue b/src/views/emis/emisWaybill/waybillModify.vue index da60ad77..75277266 100644 --- a/src/views/emis/emisWaybill/waybillModify.vue +++ b/src/views/emis/emisWaybill/waybillModify.vue @@ -642,7 +642,6 @@ @@ -688,9 +687,16 @@ - - + + (CNY) + + + (CNY) + + @@ -746,6 +752,8 @@ import { checkWaybillIsExists,getWaybillDetail,realSubmitOrder,calcWaybillFee,ca import { parseTime } from "@/utils/custom"; import { debounce } from 'throttle-debounce' import { getDestSite } from "@/api/emis/emisDestination"; +import { getValidExchangeRate } from "@/api/emis/emisExchangeRate"; + import DestinationPicker from '@/views/emis/EmisBaseTools/DestinationPicker.vue'; @@ -783,6 +791,9 @@ import WarehouseInNoPicker from '@/views/emis/EmisBaseTools/WarehouseInNoPicker. import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue'; import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue'; +import ExchangeRatePanel from '@/views/emis/EmisBaseTools/ExchangeRatePanel.vue'; + + import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue'; @@ -829,6 +840,7 @@ components: { ProvincePicker2, CityPicker2, DistrictPicker2, + ExchangeRatePanel }, dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear', 'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type', @@ -836,6 +848,7 @@ dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear', data() { return { activeNames:['1','2','3','4'], + exchangeRate:null, billCode:null, emisWaybillOptions: [], addressType:null, @@ -1299,6 +1312,7 @@ methods: { }).then(() => { let newList = this.form.feeItems.filter(item => item.feeCode !== row.feeCode); this.form.feeItems=newList; + this.handleCalcFeeItem(); }).catch(() => { }) @@ -1735,31 +1749,37 @@ methods: { }, - handleCalcFeeItem(row){ + async handleCalcFeeItem(row){ - console.log("===>handleCalcFeeItem==>",row); 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("===>eval(expr):",eval(expr)); row.realFee=parseFloat(eval(expr)).toFixed(2); - - console.log("===>row.calcExp==>expr==>row.realFee:",row.calcExp,expr,row.realFee); } } + let feeRemark=""; let totalFee=0; if(this.form.feeItems&&this.form.feeItems.length>0){ - this.form.feeItems.forEach(item=>{ - - totalFee=parseFloat(totalFee)+parseFloat(item.realFee); - console.log("===>totalFee==>:",totalFee); - }); + let len=this.form.feeItems.length; + for(let i=0;i @@ -695,9 +694,9 @@ (CNY) - + @@ -753,6 +752,8 @@ import { checkWaybillIsExists,getWaybillDetail,realSubmitOrder,calcWaybillFee,ca import { parseTime } from "@/utils/custom"; import { debounce } from 'throttle-debounce' import { getDestSite } from "@/api/emis/emisDestination"; +import { getValidExchangeRate } from "@/api/emis/emisExchangeRate"; + import DestinationPicker from '@/views/emis/EmisBaseTools/DestinationPicker.vue'; @@ -847,6 +848,7 @@ dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear', data() { return { activeNames:['1','2','3','4'], + exchangeRate:null, billCode:null, emisWaybillOptions: [], addressType:null, @@ -1310,6 +1312,7 @@ methods: { }).then(() => { let newList = this.form.feeItems.filter(item => item.feeCode !== row.feeCode); this.form.feeItems=newList; + this.handleCalcFeeItem(); }).catch(() => { }) @@ -1746,7 +1749,7 @@ methods: { }, - handleCalcFeeItem(row){ + async handleCalcFeeItem(row){ if(row!=null){ if(row.calcExp){ @@ -1754,20 +1757,29 @@ methods: { expr=expr.replace("s",row.initialWeightFee); expr=expr.replace("d",row.addWeightPrice); expr=expr.replace("w",this.form.settlementWeight); - - // console.log("===>eval(expr):",eval(expr)); row.realFee=parseFloat(eval(expr)).toFixed(2); - - // console.log("===>row.calcExp==>expr==>row.realFee:",row.calcExp,expr,row.realFee); } } + let feeRemark=""; let totalFee=0; if(this.form.feeItems&&this.form.feeItems.length>0){ - this.form.feeItems.forEach(item=>{ - totalFee=parseFloat(totalFee)+parseFloat(item.realFee); - }); + let len=this.form.feeItems.length; + for(let i=0;i