From d8f97ebbbe27affff762f4f131f29f773e4c4738 Mon Sep 17 00:00:00 2001 From: he wei <858544502@qq.com> Date: 星期六, 21 十月 2023 08:55:43 +0800 Subject: [PATCH] UA 物料图纸历史 0809详情等修改 --- src/pages/resourceManage/product/details/details.vue | 183 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 182 insertions(+), 1 deletions(-) diff --git a/src/pages/resourceManage/product/details/details.vue b/src/pages/resourceManage/product/details/details.vue index 54aaaaf..e15184f 100644 --- a/src/pages/resourceManage/product/details/details.vue +++ b/src/pages/resourceManage/product/details/details.vue @@ -129,6 +129,19 @@ >璇︽儏</a > </template> + <template v-if="/^08|^09/.test(record.subCode)"> + <a-divider + v-if=" + record.softwares && + record.softwares.length && + canDownloadSoftware + " + type="vertical" + ></a-divider> + <a href="javascript:;" @click="toDetails08_09(record)" + >璇︽儏</a + > + </template> </template> </a-table> </a-spin> @@ -175,6 +188,12 @@ type="primary" @click="checkLock('OriginalZipDownload')" >涓嬭浇鍘熷鍖�</a-button + > + <a-button + v-if="isTester && originalZipUrl" + type="primary" + @click="viewRar" + >鏌ョ湅鍘熷鍖�</a-button > <a-button type="primary" @@ -348,7 +367,9 @@ <div> <span class="user">{{ item.owner }}</span> 鍦� <span class="time">{{ item.createTime }}</span> - {{ {"-1": "涓婁紶", "0": "婵�娲�", "1": "閿佸畾"}[item.lockFlag] }}浜嗙増鏈� + {{ + { "-1": "涓婁紶", "0": "婵�娲�", "1": "閿佸畾" }[item.lockFlag] + }}浜嗙増鏈� <span class="version">{{ item.versionTime }}</span> </div> <div>鎿嶄綔鍘熷洜: {{ item.reason ? item.reason : "鏃�" }}</div> @@ -368,6 +389,24 @@ :type="12" :oprate-info="oprateInfo" ></download-logs> + <a-modal + :visible="fileTreeVisible" + :footer="null" + :width="860" + title="鏂囦欢鍒楄〃" + :destroyOnClose="true" + @cancel="fileTreeVisible = false" + > + <div class="log-content"> + <a-tree + v-if="fileTree.length" + :show-line="true" + defaultExpandAll + :tree-data="fileTree" + /> + <a-empty v-else /> + </div> + </a-modal> </div> </template> @@ -391,6 +430,8 @@ getBomHistoryAndMaterial, compare, getOriginalZip, + checkExist, + getzipAndRarInfo, } from "./apis"; import { searchDefaultMailUser, @@ -410,6 +451,8 @@ mixins: [WSMixin], data() { return { + fileTreeVisible: false, + fileTree: [], userListAll: [], mailList: [], tester: [], @@ -1215,6 +1258,10 @@ if (/^0120/.test(record.subCode)) { classList.push("is-0120"); } + // 08 09 寮�澶寸殑鍗婃垚鍝� + if (/^08|^09/.test(record.subCode)) { + classList.push("is-08_09"); + } return classList; }, toDetails0120(record) { @@ -1227,6 +1274,137 @@ path: "/resource/product-details-0120", query: { parentCode, customCode: "", parentModel, parentName }, }); + }, + toDetails08_09(record) { + const { + subCode: parentCode, + subModel: parentModel, + subName: parentName, + } = record; + checkExist(parentCode, "") + .then((res) => { + let { code, data } = res.data; + if (code && data) { + this.$router.push({ + path: "/resource/product-details-0809", + query: { parentCode, customCode: "", parentModel, parentName }, + }); + // console.log(data); + } else { + this.$message.error("浜у搧鏈笂浼�"); + } + }) + .catch((err) => { + console.log(err); + }); + }, + getParent(obj, arr, i) { + let len = arr.length - 1; + if (i > len) { + return false; + } + // if (i == 0) { + // return obj; + // } + // if (i == 1) { + // return obj[arr[0]]; + // } + let res = obj; + let tmp = {}; + for (let m = 1; m <= i; m++) { + // tmp[arr[m]] = {}; + // tmp = tmp[arr[m]]; + tmp = arr[m - 1]; + res = res[tmp]; + } + + return res; + }, + format(list) { + let counter = this.counter(); + let obj = { + counter, + key: "root", + children: [], + }; + // let root = { + // counter, + // key: "root", + // children: [], + // }; + list.forEach((v) => { + let url = v.fileName; + let fileTime = v.fileTime; + let arr = url.split("/"); + let fileName = arr.pop(); + let tmp = obj; + + for (let i = 0, len = arr.length; i < len; i++) { + let parent = this.getParent(obj, arr, i); + if (!tmp[arr[i]]) { + tmp[arr[i]] = { + parent, + title: arr[i], + key: parent.key + "-" + parent.counter(), + children: [], + counter: this.counter(), + }; + // tmp[arr[i]].parent.children.push(tmp[arr[i]]); + parent.children.push(tmp[arr[i]]); + } + tmp = tmp[arr[i]]; + } + // console.log(tmp.children, 'children') + tmp.children.push({ + fileName, + fileTime, + key: tmp.key + "-" + tmp.counter(), + title: fileName + " " + fileTime, + isLeaf: true, + }); + // console.log(obj, '......') + // for (let i = 0, len = arr.length; i < len; i++) { + // // 鍒ゆ柇鏈夋病鏈夌埗绾� i涓�0娌℃湁 i涓哄ぇ浜�1灏辨湁 + // let parent = i > 0 ? tmp[arr[i - 1]] : root; + // if (!obj[item]) { + // obj[item] = { + // title: item, + // key: parent.key + "-" + parent.counter(), + // children: [], + // counter: this.counter(), + // }; + // } + // } + }); + return obj; + }, + counter() { + let count = 0; + return () => { + return count++; + }; + }, + viewRar() { + let loading = this.$layer.loading(); + // console.log(this.originalZipUrl); + getzipAndRarInfo(this.originalZipUrl) + .then((res) => { + let { code, data, data2 } = res.data; + let list = []; + if (code && data) { + console.log(data2); + list = this.format(data2); + } + this.$layer.close(loading); + this.fileTree = list.children; + this.fileTreeVisible = true; + // { title: 'Tree Node', key: '2', isLeaf: true }, + console.log(list, '===list'); + }) + .catch((err) => { + this.$layer.close(loading); + console.log(err); + }); }, }, mounted() { @@ -1377,9 +1555,12 @@ /deep/.ant-table-row-level-1.ant-table-row-level-1:hover > td { background: #ffbcc9; } + /deep/.is-08_09 > td, /deep/.is-0120 > td { background: #ffae00; } + /deep/.is-08_09.is-08_09.ant-table-row-hover > td, + /deep/.is-08_09.is-08_09:hover > td, /deep/.is-0120.is-0120.ant-table-row-hover > td, /deep/.is-0120.is-0120:hover > td { background: #f8c34f; -- Gitblit v1.9.1