From cc9a74ebaac0136edc1ed5ad2118d6f964f9eb44 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 22 二月 2024 10:15:20 +0800
Subject: [PATCH] 接口基本信息管理关闭对话框取消当前校验

---
 Source/UBCS-WEB/src/views/docking/info.vue |  238 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 147 insertions(+), 91 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue
index 7535d25..c51db2b 100644
--- a/Source/UBCS-WEB/src/views/docking/info.vue
+++ b/Source/UBCS-WEB/src/views/docking/info.vue
@@ -2,28 +2,45 @@
   <el-container>
     <el-main>
       <basic-container>
-        <avue-crud ref="crud" v-model="form" :data="data" :option="option" :page.sync="page" @on-load="onLoad"
+        <avue-crud ref="crud" v-model="form" :cell-style="cellStyle" :data="data" :option="option" :page.sync="page"
+                   :permission="permissionList"
+                   @on-load="onLoad"
                    @search-change="searchChange"
                    @search-reset="searchReset"
                    @selection-change="selectionChange"
                    @current-change="currentChange"
-                   @size-change="sizeChange"
-                   @refresh-change="refreshChange" @row-click="rowClick" :cell-style="cellStyle">
+                   @size-change="sizeChange" @refresh-change="refreshChange" @row-click="rowClick">
           <template slot="menu" slot-scope="{row,index}">
-            <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)" :disabled="row.usedFlag === 'true' ? false :true">缂栬緫</el-button>
-            <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button>
-            <el-button v-if="row.usedflag=='false'" icon="el-icon-position" size="small" type="text"
-                       @click="ENABLE(row,index)">鍚敤
+            <el-button v-if="permissionList.edit" :disabled="row.usedFlag === 'true' ? false :true"
+                       icon="el-icon-edit" size="small"
+                       type="text"
+                       @click="updateSave(row,index)">缂栬緫
             </el-button>
-            <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">鍋滅敤
+            <el-button v-if="permissionList.delete" icon="el-icon-delete" size="small" type="text"
+                       @click="deleteSave(row,index)">鍒犻櫎
             </el-button>
+            <span v-if="permissionList.enable">
+
+                       <el-button v-if="row.usedFlag=='false' || row.usedFlag==''" icon="el-icon-position" size="small"
+                                  type="text" @click="ENABLE(row,index)">鍚敤
+                       </el-button>
+            </span>
+            <span v-if="permissionList.stop">
+                      <el-button v-if="row.usedFlag !== 'false' && row.usedFlag !== ''" icon="el-icon-finished"
+                                 size="small"
+                                 type="text" @click="DISABLE(row, index)">鍋滅敤
+                      </el-button>
+            </span>
           </template>
           <template slot="menuLeft">
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="addSave">鏂�&nbsp;&nbsp;澧�
+            <el-button v-if="permissionList.add" icon="el-icon-plus" size="small" type="primary"
+                       @click="addSave">
+              鏂�&nbsp;&nbsp;澧�
             </el-button>
-            <el-button icon="el-icon-share" size="small" @click="PUSH">鍚� 姝�
+            <el-button v-if="permissionList.sync" icon="el-icon-share" size="small" @click="PUSH">鍚� 姝�
             </el-button>
-            <el-button icon="el-icon-search" size="small" @click="openAdvancedQuery">鏌� 璇�
+            <el-button v-if="permissionList.query" icon="el-icon-search" size="small"
+                       @click="openAdvancedQuery">鏌� 璇�
             </el-button>
           </template>
         </avue-crud>
@@ -42,16 +59,20 @@
 
 <script>
 import {
-  getList, add, edit, del, push, updateStatus
+  getList, add, edit, del, push, updateStatus, HeaderRequest, ParmRequest
 } from "@/api/docking/info";
 import {getDictionary} from "@/api/omd/enum";
 import infoForm from "./infoForm.vue";
+import {mapGetters} from "vuex";
 
 export default {
   name: "info",
   components: {infoForm},
+
   data() {
     return {
+      //涓嬫媺鎬荤被鍨�
+      DropDownTheTotalType: [],
       //鎺ュ彛绫诲瀷涓嬫媺
       interfaceTypeList: [{
         label: 'webService', value: 'webService'
@@ -93,51 +114,59 @@
       option: {
         height: "auto",
         calcHeight: 20,
+        columnBtn: false,
         tip: false,
         headerAlign: "center",
         border: true,
         index: true,
         selection: true,
+        indexFixed: false,
+        selectionFixed: false,
         searchShow: false,
+        refreshBtn: false,
         searchMenuSpan: 6,
         rowKey: "id",
         tabs: true,
         stripe: true,
-        indexFixed: false,
         menuWidth: 180,
         highlightCurrentRow: true,
         addBtn: false,
         editBtn: false,
         delBtn: false,
-        columnBtn: false,
-        column: [ {
+        column: [{
           label: '鏄惁鍚敤',
           prop: 'usedFlag',
           width: 150,
           formatter: res => res.usedFlag === "true" ? "鍚敤" : "鍋滅敤"
-        },{
+        }, {
           label: '闆嗘垚绯荤粺',
           prop: 'sysBaseName',
           sortable: true,
           width: 150
-        },{
+        }, {
+          label: '鍒嗙被閫夋嫨',
+          prop: 'classifyName',
+          align: 'center',
+          // sortable: true,
+          width: 150
+        }, {
           label: '缂栫爜绫诲瀷',
           prop: 'isGroupCodeFlag',
           sortable: true,
           width: 150,
           formatter: res => res.isGroupCodeFlag ? '闆嗗洟鐮�' : '浼佷笟缂栫爜'
-        },{
+        }, {
           label: '鎺ュ彛绫诲瀷',
-          prop:'dataFlowTypeText',
-          align:'center',
+          prop: 'dataFlowTypeText',
+          align: 'center',
           sortable: true,
-          width:150,
-        },{
+          width: 150,
+        }, {
           label: '鎺ㄩ�佺被鍨�',
           prop: 'pushTypeText',
           sortable: true,
-          overHidden:true,
-          align:'center',
+          overHidden: true,
+          align: 'center',
           width: 150,
           //pushTypeList浣滅敤鍩�
           // formatter: (d) => {
@@ -147,68 +176,59 @@
           label: '绯荤粺缂栧彿',
           prop: 'id',
           sortable: true,
-          hide:true,
+          hide: true,
           width: 150
         }, {
           label: '绯荤粺鍚嶇О',
           prop: 'name',
-          hide:true,
+          hide: true,
           sortable: true,
           width: 150
         }, {
-          label: '鎺ュ彛鍑芥暟',
-          prop: 'interfaceFunction',
-          sortable: true,
-          align:'center',
-          width: 150
-        }, {
-          label: '鍛藉悕绌洪棿',
-          prop: 'nameSpace',
-          sortable: true,
-          width: 150
-        },{
-          label: '鍒嗙被閫夋嫨',
-          prop: 'classifyName',
-          align:'center',
-          // sortable: true,
-          width: 150
-        },{
           label: '鎺ュ彛鏂瑰紡',
           prop: 'interfaceType',
           // sortable: true,
           width: 150
-        },{
+        }, {
           label: '绫昏矾寰�',
           prop: 'classPath',
           // sortable: true,
           width: 150
-        },{
+        }, {
           label: 'soapAction',
           prop: 'soapAction',
+          overHidden: true,
           sortable: true,
-          width: 150
-        },  {
+          width: 200
+        }, {
           label: '璋冪敤鏂瑰紡',
           prop: 'cxfaxis',
           sortable: true,
           width: 150
         }, {
-            label: '璇锋眰鏂瑰紡',
-            prop: 'requestMethod',
-            align:'center',
-            // sortable: true,
-            width: 150
-          }, {
+          label: '璇锋眰鏂瑰紡',
+          prop: 'requestMethod',
+          align: 'center',
+          // sortable: true,
+          width: 150
+        }, {
           label: '璇锋眰鍦板潃',
           prop: 'requestUrl',
           sortable: true,
+          overHidden: true,
+          width: 200
+        }, {
+          label: '鎺ュ彛鍑芥暟',
+          prop: 'interfaceFunction',
+          sortable: true,
+          align: 'center',
           width: 150
         }, {
-            label: '鍙傛暟鍚嶇О',
-            prop: 'targName',
-            sortable: true,
-            width: 150
-          },{
+          label: '鍙傛暟鍚嶇О',
+          prop: 'targetName',
+          sortable: true,
+          width: 150
+        }, {
           label: '鍙傛暟绫诲瀷',
           prop: 'paramType',
           sortable: true,
@@ -224,6 +244,11 @@
           formatter: (d) => {
             return this.returnTypeList[d.returnType]
           }
+        }, {
+          label: '鍛藉悕绌洪棿',
+          prop: 'nameSpace',
+          sortable: true,
+          width: 150
         }, {
           label: '绯荤粺鎻忚堪',
           prop: 'description',
@@ -243,6 +268,18 @@
   created() {
   },
   computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        sync: this.vaildData(this.permission.info.info_sync, false),
+        add: this.vaildData(this.permission.info.info_add, false),
+        query: this.vaildData(this.permission.info.info_query, false),
+        edit: this.vaildData(this.permission.info.info_edit, false),
+        delete: this.vaildData(this.permission.info.info_delete, false),
+        enable: this.vaildData(this.permission.info.info_enable, false),
+        stop: this.vaildData(this.permission.info.info_stop, false),
+      }
+    },
     oids() {
       let oids = [];
       this.selectionList.forEach(ele => {
@@ -251,12 +288,19 @@
       return oids.join(",");
     }
   },
+  watch: {
+    // editAttribute:{
+    //   immediate: true,
+    //   handler(newData) {
+    //     this.$refs.infoForm.formData  = Object.assign({}, newData);
+    //   }
+    // }
+  },
   methods: {
     //鍗曞厓鏍兼牱寮�
-    cellStyle(row,column,rowIndex,columnIndex){
-      if(row.columnIndex==2) {
-        console.log(row)
-        if(row.row.usedFlag == 'false'){
+    cellStyle(row, column, rowIndex, columnIndex) {
+      if (row.columnIndex == 2) {
+        if (row.row.usedFlag == '' || row.row.usedFlag == 'false') {
           return {
             color: 'red',
             fontWeight: 'bold',
@@ -300,11 +344,11 @@
     addSave() {
       this.$refs.infoForm.showSubmitDialog = true;
       this.$refs.infoForm.formData = {
-        dataFlowType: 'push',
-        pushType: '1',
-        sourceSystemName: '缂栫爜绯荤粺',
-        sourceSystemOid: 'code00000001',
-        sourceSystemId: 'CODE',
+        dataFlowType: '',
+        pushType: '',
+        sourceSystemName: '',
+        sourceSystemOid: '',
+        sourceSystemId: '',
         targetSystemName: '',
         targetSystemOid: '',
         targetSystemId: '',
@@ -317,9 +361,21 @@
       this.editAttribute = row;
       this.editAttribute.sysIntParamVOs = row.sysIntParamVOs || [];
       this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs || [];
+      this.editAttribute.type = 'edit';
       this.$refs.infoForm.formData = this.editAttribute;
       this.$refs.infoForm.showSubmitDialog = true;
+      //header瀵硅薄
+
+      HeaderRequest(1, -1, {'conditionMap[oid]': row.oid}).then(res => {
+        this.$refs.infoForm.formData.sysIntHeaderVOs = res.data.data.records;
+      })
+      //鍙傛暟瀵硅薄
+      ParmRequest(1, -1, {'conditionMap[oid]': row.oid}).then(res => {
+        this.$refs.infoForm.formData.sysIntParamVOs = res.data.data.records;
+      })
     },
+
+
     deleteSave(row, index) {
       this.$confirm("鍒犻櫎鏁版嵁灏嗘棤娉曡鎭㈠, 鏄惁缁х画?", "鎻愮ず", {
         iconClass: 'el-icon-question',
@@ -328,7 +384,7 @@
         showClose: true,
         type: "warning"
       }).then(() => {
-        del({oids:row.oid}).then(res => {
+        del({oids: row.oid}).then(res => {
           this.$message.success("鍒犻櫎鎴愬姛");
           this.refreshChange();
         });
@@ -390,30 +446,10 @@
     onLoad(page, params = {}) {
       this.loading = true;
       getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
-        console.log(res)
+        // console.log(res)
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
-        // const Props = {
-        //   paramType: '',
-        //   returnType: '',
-        //   dataFlowType: '',
-        //   pushType: '',
-        //   classifyName: '',
-        //   sourceSystemName: '',
-        //   targetSystemName: '',
-        //   classPath:'',
-        //   requestMethod:'',
-        //   requestUrl:'',
-        //   interfaceFunction:'',
-        //   nameSpace:'',
-        //   soapAction:'',
-        //   targName:'',
-        //   cxfaxis:''
-        // };
-        // this.pushTypeList.forEach(item => {
-        //   Object.assign(item, Props);
-        // });
         this.loading = false;
       });
     },
@@ -427,6 +463,9 @@
       if (JSON.stringify(conditionMaps) != '{}') {
         this.query = conditionMaps;
         this.onLoad(this.page);
+      } else {
+        this.query = {};
+        this.onLoad(this.page, this.query);
       }
     },
     openAdvancedQuery() {
@@ -458,7 +497,7 @@
         fieldType: 'text'
       }, {
         title: '鍙傛暟鍚嶇О',
-        queryField: 'targName',
+        queryField: 'targetName',
         fieldType: 'text'
       }, {
         title: '璋冪敤鏂瑰紡',
@@ -489,8 +528,25 @@
 }
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 .applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu {
   display: none !important;
 }
+
+// 婊氬姩鏉℃牱寮忎慨鏀�
+// 婊氬姩鏉$殑瀹藉害
+/deep/ .el-table__body-wrapper::-webkit-scrollbar {
+  height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓
+  background: white;
+  border: white;
+  width: 10px;
+
+}
+
+// 婊氬姩鏉$殑婊戝潡
+/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
+  background-color: #ececec;
+  border-radius: 20px;
+  border: #ececec;
+}
 </style>

--
Gitblit v1.9.3