From 6f07da9344da3c3a2c099c33c3e98fb9e247fdeb Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期三, 09 八月 2023 15:48:43 +0800 Subject: [PATCH] 项目管理修改批量上传功能 --- src/views/datamanage/catalogueManage.vue | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 162 insertions(+), 18 deletions(-) diff --git a/src/views/datamanage/catalogueManage.vue b/src/views/datamanage/catalogueManage.vue index b591f71..a6a4fe1 100644 --- a/src/views/datamanage/catalogueManage.vue +++ b/src/views/datamanage/catalogueManage.vue @@ -21,8 +21,19 @@ :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"> @@ -53,7 +64,7 @@ type="info" size="small" @click="setDirectoryDownload" - >{{ $t("shuJuGuanLi.butten.directoryDownload") }}</el-button> + >{{ $t("shuJuGuanLi.butten.folderDownload") }}</el-button> </el-form-item> <el-form-item> @@ -77,7 +88,7 @@ type="success" icon="el-icon-plus" size="small" - >{{ $t("shuJuGuanLi.butten.uploadFile") }}</el-button> + >{{ $t("shuJuGuanLi.butten.uploads") }}</el-button> </el-upload> </el-form-item> <el-form-item> @@ -399,11 +410,32 @@ >{{ $t("common.preservation") }}</el-button> </div> </el-dialog> + <iframe id="Iframe1" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0" ></iframe> + <div + class="loadBox" + v-if="loadDialogVisible" + > + <div style="widht:100%; margin:20px; color:white"> + <div style="margin-left:99%"> + <!-- <el-link + @click="setloadDialogVisible()" + style="color:white" + > X</el-link> --> + </div> + </div> + <div + v-loading="true" + element-loading-background="rgba(0, 0, 0, 0.0) " + element-loading-text="鐩綍涓婁紶涓�,璇风瓑寰�..." + style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); " + > + </div> + </div> </div> </template> @@ -525,9 +557,83 @@ ], currentData: null, + showRightMenu: false, + checksData: null, + checksCopyData: null, + loadDialogVisible: false }; }, 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) { + + 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 + "/"; @@ -594,9 +700,8 @@ } this.tableData = arr; + this.setInsertData(this.tableData); - - }, getNameAndPname(res, result, flag) { var chLevel = null; @@ -622,26 +727,22 @@ } }, 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) { + this.loadDialogVisible = true; 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; @@ -652,6 +753,9 @@ const data = await insertDir(val); if (data.code != 200) { + this.$message.error("鐩綍涓婁紶澶辫触" + data.msg); + this.loadDialogVisible = false; + break; } this.tableData.filter((child) => { @@ -661,12 +765,15 @@ } }); this.itemaName = data.result; - this.getDirTree(); + // this.getDirTree(); // if (res[i].children) { // this.getAllNodeId(res[i].children); // } } + this.getDirTree(); + this.loadDialogVisible = false; + }, excelData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 @@ -713,7 +820,7 @@ var rs = JSON.parse(this.currentData); cdata = this.$refs.tree.getNode(rs.id).data; } else { - cdata = this.dirList[0] + cdata = this.dirList[this.dirList.length - 1] } this.$nextTick(() => { this.expandData = [cdata.id]; @@ -1137,7 +1244,7 @@ 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) { @@ -1156,12 +1263,7 @@ } }, - handleNodeClick(data, node) { - this.layerFormInline(data) - // console.log(data); - - }, async updCata(formName) { this.fullscreenLoading = true; var val = JSON.parse(JSON.stringify(this.itemdetail)); @@ -1191,7 +1293,7 @@ // 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; // @@ -1341,6 +1443,48 @@ } } } + .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; + } + } + } +} +.loadBox { + z-index: 2002; + background: rgba(0, 0, 0, 0.2); + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + .el-loading-mask { + background: transparent !important; + } } .btnBox { position: absolute; -- Gitblit v1.9.3