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