From 567040ab39d617dacbb79c381f0f143739f6e2c3 Mon Sep 17 00:00:00 2001
From: hyt <958868763@qq.com>
Date: Thu, 19 Sep 2024 16:42:54 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=AD=E5=BF=83=E6=B7=BB?=
 =?UTF-8?q?=E5=8A=A0=E5=91=A8=E4=B8=89=E5=BC=80=E5=8F=91=20=E5=91=A8?=
 =?UTF-8?q?=E5=9B=9B=E6=BC=94=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 package.json                                  |   1 +
 src/views/integrationApi/apiAdmin.vue         |   1 +
 src/views/integrationOptionV2/index.vue       | 248 ++++++++++--------
 .../masterDataOptions/displayInfo/index.vue   |   8 +-
 .../displayInfo/settingChunk.vue              |   5 +
 vue.config.js                                 |   6 +-
 6 files changed, 155 insertions(+), 114 deletions(-)

diff --git a/package.json b/package.json
index fa283ae..1e1c474 100644
--- a/package.json
+++ b/package.json
@@ -91,6 +91,7 @@
     "connect": "3.6.6",
     "eslint": "7.15.0",
     "eslint-plugin-vue": "7.2.0",
+    "html-webpack-plugin": "^5.6.0",
     "lint-staged": "10.5.3",
     "runjs": "4.4.2",
     "sass": "1.32.13",
diff --git a/src/views/integrationApi/apiAdmin.vue b/src/views/integrationApi/apiAdmin.vue
index 9dc2b12..8de7669 100644
--- a/src/views/integrationApi/apiAdmin.vue
+++ b/src/views/integrationApi/apiAdmin.vue
@@ -792,5 +792,6 @@ export default {
   // /deep/ .ace_editor {
   //   height: 90vh !important;
   // }
+
 }
 </style>
diff --git a/src/views/integrationOptionV2/index.vue b/src/views/integrationOptionV2/index.vue
index 0bcd484..b0c1f0c 100644
--- a/src/views/integrationOptionV2/index.vue
+++ b/src/views/integrationOptionV2/index.vue
@@ -2,38 +2,38 @@
   <div class="wrap">
     <div class="tree" v-if="$route.query.viewType === '1'" style="flex:0.18">
       <BaseMenuTree
-          :menuData="treeData"
-          :filterShow="false"
-          :Allshow="false"
-          :treeButton="false"
-          :filterButtonShow="false"
-          style="height: 100%"
-          :treeProps="treeProps"
-          @handleNodeClick="homeHandleNodeClick"
-          ref="menuTree"
+        :menuData="treeData"
+        :filterShow="false"
+        :Allshow="false"
+        :treeButton="false"
+        :filterButtonShow="false"
+        style="height: 100%"
+        :treeProps="treeProps"
+        @handleNodeClick="homeHandleNodeClick"
+        ref="menuTree"
       ></BaseMenuTree>
     </div>
     <div class="main" :style="{flex:$route.query.viewType === '1'?0.82:1}" v-loading="mainLoading">
       <div class="top">
         <div class="search">
           <BaseNewForm
-              v-loading="searchLoading"
-              refName="searchForm"
-              :formRow="searchFormRow"
-              :formRule="false"
-              :ruleForm="searchForm"
-              :newFlag="true"
-              :treeSelectInfo="treeSelectInfo"
-              :isFunBtn="false"
+            v-loading="searchLoading"
+            refName="searchForm"
+            :formRow="searchFormRow"
+            :formRule="false"
+            :ruleForm="searchForm"
+            :newFlag="true"
+            :treeSelectInfo="treeSelectInfo"
+            :isFunBtn="false"
           ></BaseNewForm>
         </div>
         <div class="btnList">
           <div class="btnItem" v-for="item in searchButton" :key="item.buttonType">
             <el-button
-                type="primary"
-                size="mini"
-                @click="buttonHandle(item)"
-                v-btnPermission="{ btnID: item.buttonType, routeId: $route.meta.id }"
+              type="primary"
+              size="mini"
+              @click="buttonHandle(item)"
+              v-btnPermission="{ btnID: item.buttonType, routeId: $route.meta.id }"
             >{{ item.buttonName }}
             </el-button>
           </div>
@@ -41,18 +41,18 @@
       </div>
       <div class="table">
         <BaseTable
-            ref="mainTable"
-            :treeSelectInfo="treeSelectInfo"
-            :tableData="tableData"
-            :tableColumn="tableColumn"
-            :funData="mainFunData"
-            :funWidth="funWidth"
-            :showIndex="true"
-            :tabLoading="mainTabLoading"
-            @onFunc="tableButtonHandle"
-            @selectValueGeT="selectValueGeTHandle"
-            :tableHeight="'67vh'"
-            :border="false"
+          ref="mainTable"
+          :treeSelectInfo="treeSelectInfo"
+          :tableData="tableData"
+          :tableColumn="tableColumn"
+          :funData="mainFunData"
+          :funWidth="funWidth"
+          :showIndex="true"
+          :tabLoading="mainTabLoading"
+          @onFunc="tableButtonHandle"
+          @selectValueGeT="selectValueGeTHandle"
+          :tableHeight="'67vh'"
+          :border="false"
         >
           <template #data_status="{row}">
             {{ data_status_dist[row.data_status] }}
@@ -60,8 +60,8 @@
         </BaseTable>
         <div class="nextPage">
           <BasePage
-              :pageModel="pageModel"
-              @update:pageModel="currentChangeHandle"
+            :pageModel="pageModel"
+            @update:pageModel="currentChangeHandle"
           ></BasePage>
         </div>
       </div>
@@ -72,15 +72,15 @@
       </h1>
       <div class="dialogForm" v-if="dialogShow" style="padding: 0 20px">
         <BaseNewForm
-            :treeSelectInfo="treeSelectInfo"
-            :loading="dialogCommitLoading"
-            :formRow="formRow"
-            :ruleForm="ruleForm"
-            :lookFlag="lookFlag"
-            :newFlag="newFlag"
-            @onSubmit="onSubmitHandele"
-            :isFunBtn="false"
-            ref="dialogForm"
+          :treeSelectInfo="treeSelectInfo"
+          :loading="dialogCommitLoading"
+          :formRow="formRow"
+          :ruleForm="ruleForm"
+          :lookFlag="lookFlag"
+          :newFlag="newFlag"
+          @onSubmit="onSubmitHandele"
+          :isFunBtn="false"
+          ref="dialogForm"
         ></BaseNewForm>
       </div>
       <template v-for="(item, index) in dialogTabaleInfo">
@@ -89,17 +89,17 @@
             {{ item.title }}
           </h1>
           <BaseTableForm
-              :lookflag="lookFlag"
-              :showIndex="true"
-              :treeSelectInfo="treeSelectInfo"
-              :indexOperate="true"
-              :tableInfo="item"
-              @newRow="dialogTableAddHandle"
-              @onFunc="dialogTableDeleHandle"
-              :funData="dialogfunData"
-              :border="false"
-              :formIndex="index"
-              table-height="30vh"
+            :lookflag="lookFlag"
+            :showIndex="true"
+            :treeSelectInfo="treeSelectInfo"
+            :indexOperate="true"
+            :tableInfo="item"
+            @newRow="dialogTableAddHandle"
+            @onFunc="dialogTableDeleHandle"
+            :funData="dialogfunData"
+            :border="false"
+            :formIndex="index"
+            table-height="30vh"
           ></BaseTableForm>
         </div>
 
@@ -112,14 +112,14 @@
           <div class="title">分发</div>
           <div class="value" style="margin-left: 20px">
             <el-select
-                v-model="sendCheckboxList"
-                placeholder="请选择"
+              v-model="sendCheckboxList"
+              placeholder="请选择"
             >
               <el-option
-                  v-for="item in sendTableData"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
+                v-for="item in sendTableData"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
               >
               </el-option>
             </el-select>
@@ -129,14 +129,14 @@
           <div class="title">类型</div>
           <div class="value" style="margin-left: 20px">
             <el-select
-                v-model="sendCheckboxType"
-                placeholder="请选择"
+              v-model="sendCheckboxType"
+              placeholder="请选择"
             >
               <el-option
-                  v-for="item in sendTableTypeOptions"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
+                v-for="item in sendTableTypeOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
               >
               </el-option>
             </el-select>
@@ -146,25 +146,21 @@
           <el-button type="primary" @click="sendRowHandle()">下发
           </el-button>
         </div>
-      </div>
-      <!--      <baseTable-->
-      <!--        :tableData="sendTableData"-->
-      <!--        :tableColumn="sendTableColumn"-->
-      <!--      >-->
-      <!--        <template v-slot:status="{row}">-->
-      <!--          {{ sendDist[row.status] }}-->
-      <!--        </template>-->
-      <!--        <template v-slot:fun="{row}">-->
-      <!--          <el-button v-if="row.status === '1'||row.status === '2'" type="danger" @click="sendRowHandle(row)">删除-->
-      <!--          </el-button>-->
-      <!--          <el-button v-if="row.status === '3'||row.status === '4'" type="primary" @click="sendRowHandle(row)">下发-->
-      <!--          </el-button>-->
-      <!--        </template>-->
-      <!--      </baseTable>-->
+      </div>`
+    </baseDialog>
+    <baseDialog width="30%" v-model="dataDistDialog" :footerShow="false" title="查看数据字典">
+        <vue-json-editor
+          class="editor"
+          v-model="authInfo"
+          :showBtns="false"
+          :mode="'code'"
+        />
+
     </baseDialog>
   </div>
 </template>
 <script>
+import vueJsonEditor from "vue-json-editor";
 import { deepClone } from '@/utils/index.js'
 import { getUserModuleApi } from '@/api/integrationOption/integrationOption.js'
 import BaseNewForm from './compoments/baseNewForm'
@@ -300,7 +296,9 @@ export default {
           name: '删除'
         }
       ],
-      rowId: ''
+      rowId: '',
+      dataDistDialog:false,
+      authInfo:{},
     }
   },
   methods: {
@@ -478,16 +476,32 @@ export default {
           cancelButtonText: '取消',
           type: 'warning'
         })
-            .then(() => {
-              this.deleRowHanlde(row.id)
+          .then(() => {
+            this.deleRowHanlde(row.id)
 
-            })
-            .catch((error) => {
-            })
+          })
+          .catch((error) => {
+          })
       } else if (item.type === 'send') {
         this.sendHandle(row.id)
+      } else if (item.type === 'viewData') {
+        this.getDataDist(row.id)
       }
     },
+    //查看数据字典方法
+    async getDataDist(id) {
+      const res = await getUserModuleApi({
+        tl: 'mdmService',
+        as: '',
+        dj: 'queryMdmShowDetailsDictionary'
+      }, {
+        mdmCode: this.$route.meta.mdmCode,
+        id: id
+      })
+      console.log(res, 'res')
+      this.dataDistDialog = true
+      this.authInfo = res.attribute
+    },
     // 分页器更新数据
     currentChangeHandle(pageModel) {
       this.pageModel = pageModel
@@ -552,15 +566,15 @@ export default {
           cancelButtonText: '取消',
           type: 'warning'
         })
-            .then(() => {
-              this.dialogTabaleInfo[index].tableData.splice(row.index, 1)
-              this.$message({
-                type: 'success',
-                message: '删除成功!'
-              })
-            })
-            .catch((error) => {
+          .then(() => {
+            this.dialogTabaleInfo[index].tableData.splice(row.index, 1)
+            this.$message({
+              type: 'success',
+              message: '删除成功!'
             })
+          })
+          .catch((error) => {
+          })
       }
     },
     //dialog表格提交
@@ -694,20 +708,20 @@ export default {
         showType: '4'
       })
       res.attribute.mainMdmModuleDb.sublistMdmModuleDbFileds.forEach(item => {
-            item.mdmModuleDbFiledsRules.forEach(ele => {
-              if (ele.ruleCode === 'required' || ele.ruleCode === 'disabled') {
-                if (!ele.ruleValue) {
-                  item[ele.ruleCode] = false
-                } else {
-                  item[ele.ruleCode] = JSON.parse(ele.ruleValue)
-                }
+          item.mdmModuleDbFiledsRules.forEach(ele => {
+            if (ele.ruleCode === 'required' || ele.ruleCode === 'disabled') {
+              if (!ele.ruleValue) {
+                item[ele.ruleCode] = false
               } else {
-                item[ele.ruleCode] = ele.ruleValue
+                item[ele.ruleCode] = JSON.parse(ele.ruleValue)
               }
+            } else {
+              item[ele.ruleCode] = ele.ruleValue
+            }
 
-              item['id'] = item.enName
-            })
-          }
+            item['id'] = item.enName
+          })
+        }
       )
       this.dialogFormName = res.attribute.mainMdmModuleDb.dbName
       this.formRow = []
@@ -744,7 +758,7 @@ export default {
       if (data.status === '200') {
         this.ruleForm = data.attribute[this.mainTableName]
         console.log(this.ruleForm,
-            '123'
+          '123'
         )
         console.log(this.ruleForm, this.mainTableName, data.attribute, '123')
         this.dialogTabaleInfo.forEach(table => {
@@ -939,12 +953,13 @@ export default {
     BasePage,
     BaseTable,
     BaseNewForm,
-    baseDialog
+    baseDialog,
+    vueJsonEditor
   }
   ,
   computed: {
     funWidth() {
-      return this.mainFunData.length * 70
+      return this.mainFunData.length * 90
     }
 
   }
@@ -1008,4 +1023,17 @@ export default {
   border-radius: 8px;
 }
 </style>
+<style lang="less" scoped>
+
+//.code-json-editor {
+/* jsoneditor右上角默认有一个链接,加css去掉 */
+/deep/ .jsoneditor-poweredBy {
+  display: none !important;
+}
+/deep/ .ace-jsoneditor {
+  height: 350px !important;
+}
+
+//}
+</style>
 
diff --git a/src/views/masterDataOptions/displayInfo/index.vue b/src/views/masterDataOptions/displayInfo/index.vue
index 69b771a..d86f186 100644
--- a/src/views/masterDataOptions/displayInfo/index.vue
+++ b/src/views/masterDataOptions/displayInfo/index.vue
@@ -266,10 +266,16 @@ export default {
           buttonName: '查看',
           buttonValue: 'view',
           buttonType: '6'
-        }, {
+        },
+        {
           buttonName: '下发',
           buttonValue: 'send',
           buttonType: '7'
+        },
+        {
+          buttonName: '查看数据字典',
+          buttonValue: 'viewData',
+          buttonType: '8'
         }
       ],//所有按钮
       dist: {
diff --git a/src/views/masterDataOptions/displayInfo/settingChunk.vue b/src/views/masterDataOptions/displayInfo/settingChunk.vue
index bc41bb3..3326689 100644
--- a/src/views/masterDataOptions/displayInfo/settingChunk.vue
+++ b/src/views/masterDataOptions/displayInfo/settingChunk.vue
@@ -93,6 +93,11 @@ export default {
           buttonName: '下发',
           buttonValue: 'send',
           buttonType: '7'
+        },
+        {
+          buttonName: '查看数据字典',
+          buttonValue: 'viewData',
+          buttonType: '8'
         }
       ],//所有按钮
       //key字段【'待选字段',‘选中字段’,viewType】
diff --git a/vue.config.js b/vue.config.js
index 6476c09..d04225f 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -40,15 +40,15 @@ module.exports = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://hzya.ufyct.com:9067/`,
-        //target: `http://ufidahz.com.cn:9067/`,
+        // target: `http://ufidahz.com.cn:9067/`,
         // target: `http://127.0.0.1:9081/`,
         // target: `http://192.168.2.78:9999`,
         // target: `http://192.168.2.85:9999`,
         // target: `http://192.168.2.78:8080`,
-        // target: `http://192.168.2.78:9999`,
+        target: `http://192.168.2.78:10086`,
         // target: `http://192.168.2.185:9999`,
         // target: `http://192.168.2.83:9999`,
-        target:'http://127.0.0.1:9999/',
+        // target:'http://127.0.0.1:9999/',
         changeOrigin: true,
         pathRewrite: {
           ["^" + process.env.VUE_APP_BASE_API]: "",