diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 3ef3b953..e263f303 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -27,12 +27,11 @@ html, body { } .el-table th.el-table__cell { - user-select: initial; + user-select: text; + // user-select: initial; } - - label { font-weight: 700; } diff --git a/src/components/DictTag/index.vue b/src/components/DictTag/index.vue index 09a0c9c9..d937660a 100644 --- a/src/components/DictTag/index.vue +++ b/src/components/DictTag/index.vue @@ -37,7 +37,7 @@ export default { values() { if (this.value !== null && typeof this.value !== 'undefined') { // return Array.isArray(this.value) ? this.value : [String(this.value)]; - return Array.isArray(this.value) ? this.value : this.value.split(','); + return Array.isArray(this.value) ? this.value : this.value?this.value.split(','):[]; } else { return []; } diff --git a/src/components/XdTable/index.vue b/src/components/XdTable/index.vue index 1aab3cac..1ff12de9 100644 --- a/src/components/XdTable/index.vue +++ b/src/components/XdTable/index.vue @@ -70,6 +70,9 @@
+
+ 全选 +
-
- 全选 -
+
@@ -270,14 +271,13 @@ export default { var evt = window.event || arguments[0]; var flag = true; // 鼠标右键菜单 - // console.log("evt",evt); if(evt.button == 2){ flag=false; - showContextMenu(evt); - // vnode.context.clearEventBubble(evt); - const currentCellInfo=getCellPosition(evt.target); - vnode.context.currentCellInfo=currentCellInfo; - // console.log("currentCellInfo",currentCellInfo); + if(vnode.context.multipleSelection&&vnode.context.multipleSelection.length>0){ + showContextMenu(evt); + const currentCellInfo=getCellPosition(evt.target); + vnode.context.currentCellInfo=currentCellInfo; + } return; } // 只有鼠标左键按下时有效 @@ -310,6 +310,17 @@ export default { var startX = (evt.x || evt.clientX); var startY = (evt.y || evt.clientY); + //重置选中css + for (var i = 0; i < fileNodes.length; i++) { + if (fileNodes[i].className.indexOf("el-table__cell") != -1) { + // fileNodes[i].className = "el-table__cell"; + fileNodes[i].classList.remove("seled"); + selList.push(fileNodes[i]); + } + } + + setMouseCellSelect(evt.target); + var _x = null; var _y = null; @@ -327,16 +338,7 @@ export default { // } //为了确保只有一次的渲染每次框选都把默认选中为空 if(flag){ - //重置选中css - for (var i = 0; i < fileNodes.length; i++) { - if (fileNodes[i].className.indexOf("el-table__cell") != -1) { - // fileNodes[i].className = "el-table__cell"; - fileNodes[i].classList.remove("seled"); - selList.push(fileNodes[i]); - } - } - - flag = false; + flag = false; } if (vnode.context.mouseflag) { @@ -442,12 +444,18 @@ export default { while(cell.tagName !== 'TD'){ cell = cell.parentElement; } - cell.className = cell.className + " seled"; - - const cellInfo=getCellPosition(cell); - vnode.context.multipleSelection=[]; - vnode.context.multipleSelection.push(cellInfo); + // 选中和取消选中 + if(cell.className.indexOf("seled") != -1 ){ + cell.classList.remove("seled"); + vnode.context.multipleSelection=[]; + } + else{ + cell.className = cell.className + " seled"; + const cellInfo=getCellPosition(cell); + vnode.context.multipleSelection=[]; + vnode.context.multipleSelection.push(cellInfo); + } }catch(e){ } @@ -579,12 +587,6 @@ 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; @@ -608,49 +610,16 @@ export default { return Math.random().toString(36).substring(3,10); }, - // 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) { + initKeyDown(){ let that=this; - 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) + document.addEventListener('keydown', function(e) { + e = e||window.event; + if(e.ctrlKey&&e.code=="KeyC"){ + that.handleCopySelect(e); + return false; } - - // 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就是录入的内容 @@ -1070,7 +1039,14 @@ 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/emisWaybill/sendWaybillList.vue b/src/views/emis/emisWaybill/sendWaybillList.vue index 97d00cd5..4dd8c9f3 100644 --- a/src/views/emis/emisWaybill/sendWaybillList.vue +++ b/src/views/emis/emisWaybill/sendWaybillList.vue @@ -265,6 +265,8 @@ slot-scope="slotProps" :height="(slotProps.contentHeight)+'px'" + highlight-current-row + ref="refTable" row-key="id" @@ -279,6 +281,7 @@ @queryTable="getList" @selection-change="handleSelectionChange" @sort-change="handleSortChange" + @row-dblclick="handleShowTraceInfo" >
@@ -321,15 +324,16 @@ + - + +