From 015a99675ad021a5b1f8d635da3e8887e0c28a97 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期四, 02 三月 2023 17:33:03 +0800
Subject: [PATCH] 资料馆添加附件上传,添加支持查看pdf,图片文件功能;字典管理,值域管理页面左侧目录树展示效果优化

---
 src/views/datamanage/domainManage.vue |  339 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 207 insertions(+), 132 deletions(-)

diff --git a/src/views/datamanage/domainManage.vue b/src/views/datamanage/domainManage.vue
index e99b85a..db8557e 100644
--- a/src/views/datamanage/domainManage.vue
+++ b/src/views/datamanage/domainManage.vue
@@ -1,15 +1,22 @@
 <template>
   <div class="domainBox">
-    <My-bread
-      :list="[
+    <My-bread :list="[
         `${$t('dataManage.dataManage')}`,
         `${$t('dataManage.rangeManage')}`,
-      ]"
-    ></My-bread>
+      ]"></My-bread>
     <el-divider />
     <div class="mainBox">
-      <div class="leftTree subpage_Div" style="border: 1px solid #dcdfe6;">
-        <el-input size="small" v-model="filterInput" style="width: 200px" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" suffix-icon="el-icon-search"></el-input>
+      <div
+        class="leftTree subpage_Div"
+        style="border: 1px solid #dcdfe6;"
+      >
+        <el-input
+          size="small"
+          v-model="filterInput"
+          style="width: 200px"
+          :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')"
+          suffix-icon="el-icon-search"
+        ></el-input>
         <div style="width: 450px">
           <el-tree
             :data="domainData"
@@ -23,14 +30,26 @@
       </div>
       <div class="right subpage_Div">
         <div class="inquire">
-          <el-form ref="queryForm" :model="queryForm" :inline="true">
-            <el-form-item :label="$t('dataManage.vmobj.keyword')" prop="name" >
-             <el-input
-                  size="small"
+          <el-form
+            ref="queryForm"
+            :model="queryForm"
+            :inline="true"
+          >
+            <el-form-item
+              :label="$t('dataManage.vmobj.keyword')"
+              prop="name"
+            >
+              <el-input
+                size="small"
                 v-model="queryForm.code"
                 :placeholder="$t('shuJuGuanLi.lable4')"
                 style="width: 200px"
-              ><i slot="suffix" class="el-icon-search"  @click="queryInfo('queryForm')" style="padding-right: 8px"></i></el-input>
+              ><i
+                  slot="suffix"
+                  class="el-icon-search"
+                  @click="queryInfo('queryForm')"
+                  style="padding-right: 8px"
+                ></i></el-input>
             </el-form-item>
             <el-form-item style="float: right">
               <el-button
@@ -39,17 +58,15 @@
                 icon="el-icon-plus"
                 size="small"
                 type="success"
-                >{{ $t("common.append") }}</el-button
-              >
+              >{{ $t("common.append") }}</el-button>
               <el-button
                 v-if="btnStatus.delete"
                 @click="deleteInfo"
                 type="danger"
                 size="small"
                 icon="el-icon-delete"
-                >{{ $t("common.delete") }}</el-button
-              >
-<!--              <el-button
+              >{{ $t("common.delete") }}</el-button>
+              <!--              <el-button
                 @click="queryInfo('queryForm')"
                 icon="el-icon-search"
                 size="small"
@@ -61,20 +78,25 @@
                 icon="el-icon-delete"
                 size="small"
                 type="info"
-                >{{ $t("common.empty") }}</el-button
-              >
+              >{{ $t("common.empty") }}</el-button>
             </el-form-item>
           </el-form>
         </div>
         <div class="dividing-line"></div>
-        <div class="table_box" style="height: calc(100% - 60px)">
+        <div
+          class="table_box"
+          style="height: calc(100% - 60px)"
+        >
           <el-table
             :data="tableData"
             @selection-change="handleSelectionChange"
             border
             height="calc(100% - 57px)"
           >
-            <el-table-column type="selection" width="50" />
+            <el-table-column
+              type="selection"
+              width="50"
+            />
             <el-table-column
               align="center"
               type="index"
@@ -122,27 +144,31 @@
               :label="$t('dataManage.domainManage.bak')"
             />
 
-            <el-table-column min-width="150" :label="$t('common.operate')">
+            <el-table-column
+              min-width="150"
+              :label="$t('common.operate')"
+            >
               <template slot-scope="scope">
                 <el-button
                   @click="showDetail(scope.row)"
                   type="primary"
                   size="small"
                   plain
-                  >{{ $t("common.details") }}</el-button
-                >
+                >{{ $t("common.details") }}</el-button>
                 <el-button
                   v-if="btnStatus.update"
                   type="warning"
                   @click="handleEdit(scope.$index, scope.row)"
                   size="small"
                   plain
-                  >{{ $t("common.update") }}</el-button
-                >
+                >{{ $t("common.update") }}</el-button>
               </template>
             </el-table-column>
           </el-table>
-          <div class="pagination_box" style="margin-top: 15px">
+          <div
+            class="pagination_box"
+            style="margin-top: 15px"
+          >
             <el-pagination
               @size-change="handleSizeChange"
               @current-change="handleCurrentChange"
@@ -157,11 +183,20 @@
         </div>
       </div>
     </div>
-    <div class="infoBox_box" v-show="showinfoBox">
+    <div
+      class="infoBox_box"
+      v-show="showinfoBox"
+    >
       <div class="infoBox subpage_Div box_div">
-        <div slot="header" class="clearfix">
+        <div
+          slot="header"
+          class="clearfix"
+        >
           <span>{{ $t("common.details") }}</span>
-          <div style="float: right; cursor: pointer" @click="closeDetial">
+          <div
+            style="float: right; cursor: pointer"
+            @click="closeDetial"
+          >
             <i class="el-icon-close"></i>
           </div>
         </div>
@@ -217,75 +252,114 @@
       :visible.sync="dialogFormVisible"
       :before-close="handleClose"
     >
-    <div style="height: 500px; overflow: auto">
-      <el-form :model="editForm" ref="editForm" label-position="top">
-        <el-form-item
-          :label="$t('dataManage.domainManage.domName')"
-          :label-width="formLabelWidth"
+      <div style="height: 500px; overflow: auto">
+        <el-form
+          :model="editForm"
+          ref="editForm"
+          label-position="top"
         >
-          <el-select
-            :popper-append-to-body="false"
-            style="width:85%"
-            v-model="editForm.domName"
-            placeholder="璇烽�夋嫨"
+          <el-form-item
+            :label="$t('dataManage.domainManage.domName')"
+            :label-width="formLabelWidth"
           >
-            <el-option
-              v-for="item in domainOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+            <el-select
+              :popper-append-to-body="false"
+              style="width:85%"
+              v-model="editForm.domName"
+              placeholder="璇烽�夋嫨"
             >
-            </el-option>
-          </el-select>
-          <!-- <el-input v-model="editForm.domName" autocomplete="off"></el-input> -->
-        </el-form-item>
-        <el-form-item
-          :label="$t('dataManage.domainManage.domDesc')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.domDesc" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
+              <el-option
+                v-for="item in domainOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+            <!-- <el-input v-model="editForm.domName" autocomplete="off"></el-input> -->
+          </el-form-item>
+          <el-form-item
+            :label="$t('dataManage.domainManage.domDesc')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.domDesc"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
 
-        <el-form-item
-          :label="$t('dataManage.domainManage.domCode')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.domCode" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
-        <el-form-item
-          :label="$t('dataManage.domainManage.codeDesc')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.codeDesc" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
-        <el-form-item
-          :label="$t('dataManage.domainManage.bsm')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.bsm" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
-        <el-form-item
-          :label="$t('dataManage.domainManage.level')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.level" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
-        <el-form-item
-          :label="$t('dataManage.domainManage.orderid')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.orderid" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
-        <el-form-item
-          :label="$t('dataManage.domainManage.bak')"
-          :label-width="formLabelWidth"
-        >
-          <el-input v-model="editForm.bak" autocomplete="off" style="width:85%"></el-input>
-        </el-form-item>
-      </el-form>
-    </div>
-      <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer">
-        <el-button size="small" @click="cancelEdit()">{{
+          <el-form-item
+            :label="$t('dataManage.domainManage.domCode')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.domCode"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            :label="$t('dataManage.domainManage.codeDesc')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.codeDesc"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            :label="$t('dataManage.domainManage.bsm')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.bsm"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            :label="$t('dataManage.domainManage.level')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.level"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            :label="$t('dataManage.domainManage.orderid')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.orderid"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            :label="$t('dataManage.domainManage.bak')"
+            :label-width="formLabelWidth"
+          >
+            <el-input
+              v-model="editForm.bak"
+              autocomplete="off"
+              style="width:85%"
+            ></el-input>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div
+        v-if="behavior == '淇敼淇℃伅'"
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          size="small"
+          @click="cancelEdit()"
+        >{{
           $t("common.reset")
         }}</el-button>
         <el-button
@@ -294,11 +368,18 @@
           type="info"
           @click="sendEdit('editForm')"
           v-loading.fullscreen.lock="fullscreenLoading"
-          >{{ $t("common.confirm") }}</el-button
-        >
+        >{{ $t("common.confirm") }}</el-button>
       </div>
-      <div v-else slot="footer" class="dialog-footer">
-        <el-button type="info" size="small" @click="cancelAdd('editForm')">{{
+      <div
+        v-else
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          type="info"
+          size="small"
+          @click="cancelAdd('editForm')"
+        >{{
           $t("common.reset")
         }}</el-button>
         <el-button
@@ -306,8 +387,7 @@
           class="primary"
           @click="sendAdd('editForm')"
           v-loading.fullscreen.lock="fullscreenLoading"
-          >{{ $t("common.confirm") }}</el-button
-        >
+        >{{ $t("common.confirm") }}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -364,18 +444,7 @@
         update: false,
       },
       domainData: [
-        {
-          val: "鍩虹鏁版嵁",
-          children: [],
-        },
-        {
-          val: "涓氬姟鏁版嵁",
-          children: [],
-        },
-        {
-          val: "鍏冩暟鎹�",
-          children: [],
-        },
+
       ],
       defaultProps: {
         children: "children",
@@ -400,6 +469,9 @@
       return data.val.indexOf(value) !== -1;
     },
     async toggleTabs(data) {
+      if (data.children != null) {
+        return
+      }
       this.fullscreenLoading = true;
       this.listData.ns = data.ns;
       this.listData.tab = data.tab;
@@ -442,24 +514,27 @@
     },
     getAllTabelData() {
       getDomainTabs().then((res) => {
-        let bdres = res.result.filter((item) => item.ns == "bd");
-        let bsres = res.result.filter((item) => item.ns == "bs");
-        let mdres = res.result.filter((item) => item.ns == "md");
-        for (var i in bdres) {
-          // bdres[i].val = bdres[i].tabDesc + '(' + bdres[i].tab + ')';
-          bdres[i].val = bdres[i].tabDesc;
-        }
-        for (var i in bsres) {
-          // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')';
-          bsres[i].val = bsres[i].tabDesc;
-        }
-        for (var i in mdres) {
-          // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')';
-          mdres[i].val = mdres[i].tabDesc;
-        }
-        this.domainData[0].children = bdres;
-        this.domainData[1].children = bsres;
-        this.domainData[2].children = mdres;
+        var val = res.result;
+        var std = [];
+        val.filter((item) => {
+          if (std.indexOf(item.bak) == -1) {
+            std.push(item.bak);
+            this.domainData.push(
+              {
+                val: item.bak,
+                children: [],
+              }
+            )
+          }
+        });
+        this.domainData.filter((item) => {
+          val.filter((res) => {
+            if (item.val === res.bak) {
+              res.val = res.tabDesc
+              item.children.push(res)
+            }
+          })
+        })
       });
     },
     handleSelectionChange(val) {
@@ -588,7 +663,7 @@
           this.editForm = {};
           done();
         })
-        .catch((_) => {});
+        .catch((_) => { });
     },
     // 鏌ョ湅鐣岄潰
     showDetail(row) {
@@ -682,7 +757,7 @@
   watch: {
     pathId: {
       immediate: true,
-      handler(val) {},
+      handler(val) { },
     },
     filterInput(val) {
       this.$refs.tree.filter(val);

--
Gitblit v1.9.3