| | |
| | | :expand-on-click-node="false" |
| | | :default-expanded-keys="expandData" |
| | | @node-click="handleNodeClick" |
| | | @node-contextmenu="openTreeMenu" |
| | | > |
| | | </el-tree> |
| | | <div |
| | | class="right_menu box_divm" |
| | | id="menu" |
| | | v-show="showRightMenu" |
| | | > |
| | | <ul> |
| | | <li @click="setMenuDataCopy">复制</li> |
| | | <li @click="setMenuDataPaste">粘贴</li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="cataLog_rightContent right subpage_Div"> |
| | |
| | | >{{ $t("common.preservation") }}</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <iframe |
| | | id="Iframe1" |
| | | src="" |
| | |
| | | |
| | | ], |
| | | currentData: null, |
| | | showRightMenu: false, |
| | | checksData: null, |
| | | checksCopyData: null, |
| | | }; |
| | | }, |
| | | methods: { |
| | | // 复制 |
| | | setMenuDataCopy() { |
| | | this.checksCopyData = this.checksData; |
| | | }, |
| | | //粘贴 |
| | | setMenuDataPaste() { |
| | | if (!this.checksCopyData) { |
| | | return this.$message('未选中要复制的节点'); |
| | | } |
| | | var val = this.$refs.tree.getNode(this.checksCopyData).data; |
| | | |
| | | var level = this.$refs.tree.getNode(this.checksData).data.level + 1; |
| | | this.setInsertCopyData([val], this.checksData, level); |
| | | }, |
| | | setInsertCopyData(val, pid, level) { |
| | | for (var i in val) { |
| | | var data = val[i]; |
| | | var pchildNodes = []; |
| | | |
| | | if (this.$refs.tree.getNode(pid) && this.$refs.tree.getNode(pid).childNodes) { |
| | | pchildNodes = this.$refs.tree.getNode(pid).childNodes |
| | | } |
| | | var orderNum = this.getMaxOrderNum(pchildNodes); |
| | | var obj = { |
| | | bak: data.bak, |
| | | level: level, |
| | | orderNum: orderNum + 1, |
| | | pid: pid, |
| | | checks: data.checks, |
| | | name: data.name, |
| | | descr: data.descr, |
| | | exts: data.exts, |
| | | } |
| | | insertDir(obj).then((res) => { |
| | | if (res.code == 200) { |
| | | this.getDirTree(); |
| | | if (data.children && data.children.length > 0) { |
| | | debugger |
| | | this.setInsertCopyData(data.children, res.result, level + 1) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | handleNodeClick(data, node) { |
| | | this.showRightMenu = false; |
| | | document.removeEventListener('click', this.closeRightMenu) |
| | | this.layerFormInline(data) |
| | | |
| | | }, |
| | | //右键菜单 |
| | | openTreeMenu(event, data, node, obj) { |
| | | this.showRightMenu = true; |
| | | let menu = document.getElementById('menu') |
| | | menu.style.left = event.clientX + 20 + 'px' |
| | | menu.style.top = event.clientY + 'px' |
| | | document.addEventListener('click', this.closeRightMenu) |
| | | this.checksData = data.id; |
| | | console.log(this.checksData) |
| | | }, |
| | | closeRightMenu() { |
| | | this.showRightMenu = false; |
| | | document.removeEventListener('click', this.closeRightMenu) |
| | | |
| | | }, |
| | | setTemplateDownload() { |
| | | var url = window.location.href; |
| | | var testurl = window.location.origin + "/"; |
| | |
| | | |
| | | this.tableData = arr; |
| | | this.setInsertData(this.tableData); |
| | | |
| | | |
| | | }, |
| | | getNameAndPname(res, result, flag) { |
| | | var chLevel = null; |
| | |
| | | } |
| | | }, |
| | | setInsertData(res) { |
| | | |
| | | var list = this.excelData(res); |
| | | |
| | | if (list.length != 0) { |
| | | if (list[0].pname != null) { |
| | | return this.$message.error("上传数据错误,第一条数据不为空"); |
| | | } |
| | | |
| | | this.getAllNodeId(res); |
| | | } |
| | | }, |
| | | async getAllNodeId(res) { |
| | | for (let i = 0; i < res.length; i++) { |
| | | var val = res[i]; |
| | | |
| | | if (val.pname == null) { |
| | | val.orderNum = this.dirList[this.dirList.length - 1].orderNum + 1; |
| | | val.pid = 0; |
| | | } else { |
| | | |
| | | this.tableData.filter((child) => { |
| | | if (child.tid == val.sid) { |
| | | val.pid = child.id; |
| | |
| | | var val = this.$refs.tree.getNode(data.id).data; |
| | | this.itemdetail = val; |
| | | this.currentData = JSON.stringify(data) |
| | | debugger |
| | | |
| | | var checks = []; |
| | | if (val.checks) { |
| | | if (val.checks.indexOf(',') > -1) { |
| | |
| | | } |
| | | }, |
| | | |
| | | handleNodeClick(data, node) { |
| | | this.layerFormInline(data) |
| | | // console.log(data); |
| | | |
| | | |
| | | }, |
| | | async updCata(formName) { |
| | | this.fullscreenLoading = true; |
| | | var val = JSON.parse(JSON.stringify(this.itemdetail)); |
| | |
| | | // var val = this.itemdetail |
| | | // var value = this.itemdetail.checks.toString() |
| | | // val.checks = value; |
| | | // debugger |
| | | // |
| | | // let res = JSON.parse(JSON.stringify(this.itemdetail)); |
| | | // this.itemdetail = res; |
| | | // |
| | |
| | | } |
| | | } |
| | | } |
| | | .right_menu { |
| | | position: fixed; |
| | | display: block; |
| | | z-index: 10000; |
| | | padding: 10px; |
| | | border: 1px solid #ebeef5; |
| | | border-radius: 4px; |
| | | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); |
| | | ul { |
| | | width: 100%; |
| | | height: 100%; |
| | | list-style: none; |
| | | margin: 0; |
| | | padding: 0; |
| | | border-radius: 2%; |
| | | li { |
| | | margin: 0 0 1px 0; |
| | | color: rgb(77, 77, 73); |
| | | text-align: center; |
| | | font-size: 14px; |
| | | padding: 4%; |
| | | width: 100%; |
| | | height: 9.7%; |
| | | float: left; |
| | | } |
| | | li:hover { |
| | | color: #409eff !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .btnBox { |
| | | position: absolute; |