From 389379ad574a0b5d92476338c37389ee62c43eaf Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 31 七月 2023 17:22:54 +0800
Subject: [PATCH] 新增接口信息管理页面

---
 Source/UBCS-WEB/src/views/docking/info.vue                  |  396 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue |    4 
 2 files changed, 398 insertions(+), 2 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 2c79a93..d74fc46 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -157,13 +157,13 @@
         this.option.column = [{
           prop: 'id',
           label: '鑻辨枃鍚嶇О',
-          sort: true,
+          sortable: true,
           width: 150,
           search: true
         }, {
           prop: 'name',
           label: '涓枃鍚嶇О',
-          sort: true,
+          sortable: true,
           width: 150,
           search: true
         }, {
diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue
new file mode 100644
index 0000000..c299842
--- /dev/null
+++ b/Source/UBCS-WEB/src/views/docking/info.vue
@@ -0,0 +1,396 @@
+<template>
+  <el-container>
+    <el-main>
+      <basic-container>
+        <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page"
+                   @search-change="searchChange"
+                   @search-reset="searchReset"
+                   @selection-change="selectionChange"
+                   @current-change="currentChange"
+                   @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)">缂栬緫</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>
+            <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">鍋滅敤</el-button>
+          </template>
+          <template slot="menuLeft">
+            <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂�&nbsp;&nbsp;澧�
+            </el-button>
+            <el-button size="small" icon="el-icon-share" @click="PUSH">鍚�  姝�
+            </el-button>
+            <el-button size="small" icon="el-icon-search" @click="openAdvancedQuery">鏌�  璇�
+            </el-button>
+          </template>
+        </avue-crud>
+      </basic-container>
+    </el-main>
+    <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd>
+    <!-- 楂樼骇鏌ヨ瀵硅瘽妗� -->
+    <advanced-query
+      :ref="advancedQueryParam.ref"
+      :options="advancedQueryParam.options"
+      :visible.sync="advancedQueryParam.advancedQuerySettingBox"
+      @echoContion="echoSeniorContionMap">
+    </advanced-query>
+  </el-container>
+</template>
+
+<script>
+import {
+  getList,
+  remove,
+  add,
+  update, getPage, getApplyRange
+} from "@/api/omd/OmdAttribute";
+import {getDictionary} from "@/api/omd/enum";
+import {mapGetters} from "vuex";
+
+export default {
+  name: "info",
+  data() {
+    return {
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 100
+      },
+      selectRow: "",
+      data: [],
+      form: {},
+      attribute: {
+        nullable: true
+      },
+      editAttribute: {},
+      applyRangeData: [],
+      selectionList: [],
+      option: {
+        height: "auto",
+        calcHeight: 20,
+        tip: false,
+        headerAlign: "center",
+        border: true,
+        index: true,
+        selection: true,
+        searchShow: false,
+        searchMenuSpan: 6,
+        rowKey: "id",
+        tabs: true,
+        stripe: true,
+        indexFixed: false,
+        menuWidth: 300,
+        highlightCurrentRow: true,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        columnBtn: false,
+        column: [{
+          label: '鎺ㄩ�佺被鍨�',
+          field: 'pushTypeText',
+          sortable: true,
+          width: 150,
+          type: 'select',
+          dicData: this.pushType,
+          props: {
+            label: "value",
+            value: "key"
+          },
+        }, {
+          label: '绯荤粺鍚嶇О',
+          prop: 'sysbasename',
+          sortable: true,
+          search: true,
+          width: 150
+        }, {
+          label: '绯荤粺缂栧彿',
+          prop: 'sysbaseid',
+          sortable: true,
+          search: true,
+          width: 150
+        }, {
+          label: '鎺ュ彛鍑芥暟',
+          prop: 'interfaceFunction',
+          sortable: true,
+          width: 150
+        }, {
+          label: '鍛藉悕绌洪棿',
+          prop: 'namespace',
+          sortable: true,
+          width: 150
+        }, {
+          label: 'soapAction',
+          prop: 'soapaction',
+          sortable: true,
+          width: 150
+        }, {
+          label: '鍙傛暟鍚嶇О',
+          prop: 'targName',
+          sortable: true,
+          width: 150
+        }, {
+          label: '璋冪敤鏂瑰紡',
+          prop: 'cxfaxis',
+          sortable: true,
+          width: 150
+        }, {
+          label: '璇锋眰鍦板潃',
+          prop: 'requesturl',
+          sortable: true,
+          width: 150
+        }, {
+          label: '鍙傛暟绫诲瀷',
+          prop: 'paramtype',
+          sortable: true,
+          width: 150
+        }, {
+          label: '杩斿洖鍊肩被鍨�',
+          prop: 'returntype',
+          sortable: true,
+          width: 150
+        }]
+      },
+      itemForm: {
+        itemData: {},
+        activeName: "referTab",
+        enumInitFlag: false,
+        referInitFlag: false,
+        form: {}
+      },
+      pushType: [{key: '1', value: '鏁版嵁鎺ㄩ��'},
+        {key: '2', value: '鍒嗙被鎺ㄩ��'},
+        {key: '3', value: '缂栫爜鐢宠'},
+        {key: '4', value: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'},
+        {key: '5', value: '鍒嗙被鏌ヨ'},
+        {key: '6', value: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'},
+        {key: '7', value: '鏁版嵁鏌ヨ'}],
+      // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁�
+      advancedQueryParam: {
+        ref: 'advancedQuery',
+        advancedQuerySettingBox: false,
+        options: [],
+        currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸
+        //conditionMapParams: {},
+      }
+    };
+  },
+  created() {
+  },
+  computed: {
+    oids() {
+      let oids = [];
+      this.selectionList.forEach(ele => {
+        oids.push(ele.oid);
+      });
+      return oids.join(",");
+    }
+  },
+  methods: {
+    searchReset() {
+      this.query = {};
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      this.onLoad(this.page);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+      if(this.selectionList.length <= 0){
+        this.itemForm.itemData = null
+        this.selectRow = null
+        this.attribute = null
+      }
+      if (this.selectionList.length > 0) {
+        this.itemForm.itemData = this.selectionList[list.length-1];
+        this.selectRow = this.selectionList[list.length-1].$index;
+        this.attribute = this.selectionList[list.length-1];
+      }
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage;
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize;
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query);
+    },
+    addSave() {
+      this.$refs.originalAdd.showSubmitDialog = true;
+      const newAttr = {};
+      newAttr.nullable = true;
+      this.$refs.originalAdd.attribute = newAttr;
+    },
+    updateSave(row,index) {
+      this.selectRow = index;
+      var json = JSON.stringify(row);
+      this.editAttribute = JSON.parse(json);
+      this.editAttribute.nullable = row.nullable == 'true' ? true : false;
+      this.$refs.originalAdd.attribute = this.editAttribute;
+      this.$refs.originalAdd.showSubmitDialog = true;
+      this.checkUsingReferDict(row);
+      this.$refs.originalAdd.activeName = this.itemForm.activeName;
+      this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag;
+      this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag;
+      // this.refreshChange()
+    },
+    deleteSave(row,index) {
+      this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", {
+        iconClass: 'el-icon-question',
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        showClose: true,
+        type: "warning"
+      }).then(() => {
+        remove(row.oid).then(res => {
+          this.$message.success("鍒犻櫎鎴愬姛");
+          this.refreshChange();
+        });
+      });
+    },
+    PUSH(){
+      if (this.selectionList.length != 1) {
+        this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�')
+        return false;
+      }
+      this.$confirm("鏄惁瑕�"+ (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          return push(this.oids.split(','));
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "鎿嶄綔鎴愬姛!"
+          });
+          this.$refs.crud.toggleSelection();
+        });
+    },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        this.loading = false;
+        this.data = res.data.data.records;
+        this.itemData = this.data[0];
+      });
+    },
+    rowClick(row) {
+      this.itemForm.itemData = row;
+      this.selectRow = row.$index;
+      this.attribute = row;
+
+      this.$refs.crud.toggleSelection();
+      this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+      //this.checkUsingReferDict(row);
+    },
+    checkUsingReferDict(row){
+      if (row.referToId !== null && row.referToId !== ""){
+        this.itemForm.activeName = 'referTab';
+        this.itemForm.referInitFlag = true;
+        this.itemForm.enumInitFlag = false;
+      }else if (row.usingDict === 'true'){
+        this.itemForm.activeName = 'enumTab';
+        this.itemForm.referInitFlag = false;
+        this.itemForm.enumInitFlag = true;
+        getDictionary({code: row.dictCode}).then(res => {
+          this.editAttribute.dictValue = res.data.data[0].label;
+          this.itemForm.itemData.dictValue = this.editAttribute.dictValue;
+          this.$refs.originalAdd.dictEnums = res.data.data;
+        })
+      }else {
+        this.itemForm.activeName = 'referTab';
+        this.itemForm.referInitFlag = true;
+        this.itemForm.enumInitFlag = false;
+      }
+    },
+    selectBtmType() {
+      this.referType.display = true;
+      this.referType.title = "璇烽�夋嫨" + this.referType.value;
+    },
+    applyRangeOpen() {
+      if (!this.selectRow && this.selectRow != 0) {
+        this.$message({
+          type: "warning",
+          message: "璇峰厛閫夋嫨灞炴��"
+        });
+      }
+      var oid = this.data[this.selectRow].oid;
+      getApplyRange(oid).then(res => {
+        this.applyRangeData = res.data.data;
+        this.$refs.applyRange.rangeData = this.applyRangeData;
+        this.$refs.applyRange.showDialog = true;
+
+      });
+    },
+    /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
+    echoSeniorContionMap(conditionMaps){
+      if(JSON.stringify(conditionMaps)!='{}'){
+        this.query = conditionMaps;
+        this.onLoad(this.page);
+      }
+    },
+    openAdvancedQuery(){
+        this.advancedQueryParam.options = [
+          {
+            data: [],
+            title: '缂栧彿',
+            fieldType: 'text',
+            queryField: 'id',
+          },{
+            data: [],
+            title: '鍚嶇О',
+            fieldType: 'text',
+            queryField: 'name',
+          },{
+            data: [],
+            title: '鎻忚堪',
+            fieldType: 'text',
+            queryField: 'description',
+          },{
+            data: [
+              // {
+              //   key: '缂栬緫涓�',
+              //   value: 'Editing',
+              // },
+              // {
+              //   key: '宸插彂甯�',
+              //   value: 'Released',
+              // },
+              // {
+              //   key: '鍋滅敤',
+              //   value: 'Disabled',
+              // },
+            ],
+            title: '鐘舵��',
+            fieldType: 'combox',
+            queryField: 'lcStatus',
+            comboxKey: 'codeSearchLCStatus',
+          },
+        ]
+
+      this.advancedQueryParam.currentOpen = 'info';
+      this.advancedQueryParam.advancedQuerySettingBox = true;
+    },
+  }
+}
+</script>
+
+<style lang="scss">
+.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+  display: none !important;
+}
+</style>

--
Gitblit v1.9.3