From 7db3ee6e84714a868e0b57a61a033d050b1a61fc Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 18 九月 2023 21:06:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/modeling/original.vue |  486 +++++++++++++++++++++++++++--------------------------
 1 files changed, 249 insertions(+), 237 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue
index 9757875..349cb2f 100644
--- a/Source/UBCS-WEB/src/views/modeling/original.vue
+++ b/Source/UBCS-WEB/src/views/modeling/original.vue
@@ -1,102 +1,94 @@
-<template>
+  <template>
   <el-container>
     <el-main>
       <basic-container>
-        <avue-crud v-model="form" 
-          ref="crud" 
-          :option="option" 
-          :data="data" 
-          @on-load="onLoad" 
-          :page.sync="page"
-          @refresh-change="refreshChange" 
-          @row-click="rowClick">
-               <template slot="radio"
-                  slot-scope="{row}">
-                      <el-radio v-model="selectRow"
-                          :label="row.$index">&nbsp;
-                      </el-radio>
-                </template>
-          <template slot="menu">
-             <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave">缂栬緫</el-button>
-             <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave">鍒犻櫎</el-button>
+        <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page"
+          @refresh-change="refreshChange" @row-click="rowClick">
+          <template slot="radio" slot-scope="{row}">
+            <el-radio v-model="selectRow" :label="row.$index">&nbsp;
+            </el-radio>
           </template>
-         <template slot="menuLeft">
-            <el-button size="small"
-              type="primary"
-              icon="el-icon-plus"
-              @click="addSave">鏂�&nbsp;&nbsp;澧�
+          <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>
+          </template>
+            <template slot="menuLeft">
+            <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂�&nbsp;&nbsp;澧�
             </el-button>
-            <el-button size="small"
-                       plain
-                       type="primary"
-                       icon="el-icon-zoom-in"
-                       @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿
+            <el-button size="small" plain type="primary" icon="el-icon-zoom-in" @click="applyRangeOpen">鏌ョ湅浣跨敤鑼冨洿
             </el-button>
+            <el-input placeholder="鎸夊睘鎬х紪鍙锋煡璇�" v-model="searchId" clearable prefix-icon="el-icon-search" class="attrSearch"
+              size="small" @change="doSearch" type="text"></el-input>
+            <el-button size="small" plain type="primary" icon="el-icon-search" @click="doSearch">&nbsp;鎼滅储</el-button>
+          </template>
+          <template slot="typeValue" slot-scope="{row}">
+            <el-tag>{{ row.typeValue }}</el-tag>
           </template>
         </avue-crud>
-        <el-dialog :visible.sync="applyRange.display" append-to-body :title="applyRange.title" width="600px"
+        <!-- <el-dialog :visible.sync="applyRange.display" append-to-body :title="applyRange.title" width="600px"
         @close="applyRangeClose">
             <avue-crud v-model="applyRange.model" :option="applyRange.option" :data="applyRange.data" class="applyRangeTable"
             ></avue-crud>
-        </el-dialog>
+        </el-dialog> -->
+        <Versionpackage :rangeData="applyRangeData" ref="applyRange"></Versionpackage>
       </basic-container>
     </el-main>
     <el-aside>
       <basic-container class="itemForm">
-            <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч」">
-              <el-descriptions-item>
-                <template slot="label">
-                  灞炴�х紪鍙�
-                </template>
-                {{ itemForm.itemData.id }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  灞炴�у悕绉�
-                </template>
-                {{ itemForm.itemData.name }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  灞炴�х被鍨�
-                </template>
-                {{ itemForm.itemData.typeValue }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  鏍囩
-                </template>
-                {{ itemForm.itemData.hashtag }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  榛樿鍊�
-                </template>
-                {{ itemForm.itemData.defaultValue }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  鍏佽涓虹┖
-                </template>
-                {{ itemForm.itemData.nullable }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  闀垮害
-                </template>
-                {{ itemForm.itemData.maxLength }}
-              </el-descriptions-item>
-              <el-descriptions-item>
-                <template slot="label">
-                  鎻忚堪
-                </template>
-                {{ itemForm.itemData.description }}
-              </el-descriptions-item>
-            </el-descriptions>
-            <div style="height:15px"></div>
+        <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч」">
+          <el-descriptions-item>
+            <template slot="label">
+              灞炴�х紪鍙�
+            </template>
+            {{ itemForm.itemData.id }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              灞炴�у悕绉�
+            </template>
+            {{ itemForm.itemData.name }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              灞炴�х被鍨�
+            </template>
+            {{ itemForm.itemData.typeValue }}
+          </el-descriptions-item>
+<!--          <el-descriptions-item>
+            <template slot="label">
+              鏍囩
+            </template>
+            {{ itemForm.itemData.hashtag }}
+          </el-descriptions-item>-->
+          <el-descriptions-item>
+            <template slot="label">
+              榛樿鍊�
+            </template>
+            {{ itemForm.itemData.defaultValue }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              鍏佽涓虹┖
+            </template>
+            {{ 'true' == itemForm.itemData.nullable ? '鏄�' : '鍚�'}}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              闀垮害
+            </template>
+            {{ itemForm.itemData.maxLength }}
+          </el-descriptions-item>
+          <el-descriptions-item>
+            <template slot="label">
+              鎻忚堪
+            </template>
+            {{ itemForm.itemData.description }}
+          </el-descriptions-item>
+        </el-descriptions>
+        <div style="height:15px"></div>
         <el-descriptions class="margin-top" :column="1" size="medium" border title="灞炴�ч厤缃�"></el-descriptions>
         <el-tabs v-model="itemForm.activeName" @tab-click="handleClick" stretch="true" style="height:235px">
-        <el-tab-pane label="鍙傜収" name="referTab">
+          <el-tab-pane label="鍙傜収" name="referTab">
             <el-descriptions class="margin-top" :column="1" size="medium" border>
               <el-descriptions-item>
                 <template slot="label">
@@ -130,14 +122,14 @@
                 <template slot="label">
                   鏋氫妇绫诲瀷
                 </template>
-                {{ itemForm.itemData.dictCode }}
+                {{ itemForm.itemData.dictValue }}
               </el-descriptions-item>
             </el-descriptions>
           </el-tab-pane>
         </el-tabs>
       </basic-container>
     </el-aside>
-    <originalAdd ref="originalAdd" :attribute="attribute" @refreshTable="refreshChange"></originalAdd>
+    <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd>
   </el-container>
 </template>
 
@@ -148,173 +140,163 @@
   add,
   update, getPage, getApplyRange
 } from "@/api/omd/OmdAttribute";
+import Versionpackage from "./Versionpackage.vue";
+import {getDictionary} from "@/api/omd/enum";
 
 export default {
   name: "original",
   data() {
-    return {  
+    return {
       page: {
         pageSize: 10,
         currentPage: 1,
         total: 100
       },
-      selectRow: '',
+      selectRow: "",
       data: [],
-      form:{},
+      form: {},
       attribute: {
         nullable: true
       },
+      editAttribute: {},
+      applyRangeData: [],
       option: {
-        height: "550px",
-        headerAlign: 'center',
+        height: "auto",
+        calcHeight:20,
+        headerAlign: "center",
         border: true,
         index: true,
-        rowKey: 'id',
+        rowKey: "id",
         tabs: true,
-        stripe:true,
+        stripe: true,
         indexFixed: false,
         menuWidth: 150,
         highlightCurrentRow: true,
-        addBtn:false,
-        editBtn:false,
-        delBtn:false,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        columnBtn:false,
         column: [{
-            label: '閫夋嫨',
-            prop: 'radio',
-            width: 60,
-            hide: false,
-            display: false
-          },
-          {
-            label: '灞炴�х紪鍙�',
-            prop: 'id',
-            align: 'left',
-            display: false,
-            width: 200,
-            required: true
+          label: "閫夋嫨",
+          prop: "radio",
+          width: 60,
+          hide: false,
+          display: false
+        }, {
+          label: "灞炴�х紪鍙�",
+          prop: "id",
+          align: "left",
+          display: false,
+          width: 200,
+          required: true
+        }, {
+          label: "灞炴�у悕绉�",
+          prop: "name",
+          align: "left",
+          display: false
+        },/* {
+          label: "鏍囩",
+          prop: "hashtag",
+          // hide: true,
+          display: false
+        },*/ {
+          label: "鏄惁浣跨敤鏋氫妇",
+          prop: "usingDict",
+          type: "switch",
+          hide: true,
+          labelWidth: 132,
+          display: false,
+          dicData: [{
+            label: "鏄�",
+            value: "true"
           }, {
-            label: '灞炴�у悕绉�',
-            prop: 'name',
-            align: 'left',
-            display: false
-          },
-          {
-            label: '鏍囩',
-            prop: 'hashtag',
-            // hide: true,
-            display: false
-          },
-          {
-            label: '鏄惁浣跨敤鏋氫妇',
-            prop: 'usingDict',
-            type: 'switch',
-            hide: true,
-            labelWidth: 132,
-            display: false,
-            dicData: [{
-              label: '鏄�',
-              value: 'true'
-            }, {
-              label: '鍚�',
-              value: 'false'
-            }]
-          },
-          {
-            label: '灞炴�х被鍨�',
-            prop: 'typeValue',
-            display: false,
-            // hide: true
-          },
-          {
-            label: '榛樿鍊�',
-            prop: 'defaultValue',
-            display: false
-          },
-          {
-            label: '鍏佽涓虹┖',
-            prop: 'nullable',
-            type: 'switch',
-            display: false,
-            hide: true,
-            labelWidth: 132,
-            dicData: [{
-              label: '鍚�',
-              value: 'false'
-            }, {
-              label: '鏄�',
-              value: 'true'
-            }]
-          },
-          {
-            label: "闀垮害",
-            prop: "maxLength",
-            hide: true,
-            display: false
-          },
-          {
-            label: '鎻忚堪',
-            prop: 'description',
-            type: "textarea",
-            display: false
-          },
+            label: "鍚�",
+            value: "false"
+          }]
+        }, {
+          label: "灞炴�х被鍨�",
+          prop: "typeValue",
+          display: false,
+          // hide: true
+        }, {
+          label: "榛樿鍊�",
+          prop: "defaultValue",
+          display: false
+        }, {
+          label: "鍏佽涓虹┖",
+          prop: "nullable",
+          type: "switch",
+          display: false,
+          hide: true,
+          labelWidth: 132,
+          dicData: [{
+            label: "鍚�",
+            value: "false"
+          }, {
+            label: "鏄�",
+            value: "true"
+          }]
+        }, {
+          label: "闀垮害",
+          prop: "maxLength",
+          hide: true,
+          display: false
+        }, {
+          label: "鎻忚堪",
+          prop: "description",
+          type: "textarea",
+          display: false
+        },
         ]
       },
-      applyRange: {
-        model: "",
-        title: "搴旂敤鐨勪笟鍔$被鍨�",
-        option: {
-          height: 360,
-          addBtn: false,
-          refreshBtn: false,
-          columnBtn: false,
-          menu: false,
-          border: true,
-          reserveSelection: true,
-          searchMenuSpan:8,
-          searchShowBtn: false,
-          highlightCurrentRow: true,
-          column: [
-            {
-                label: '涓氬姟绫诲瀷缂栧彿',
-                prop: 'id',
-                align: 'left',
-              },
-              {
-                label: '涓氬姟绫诲瀷鍚嶇О',
-                prop: 'name',
-                align: 'left',
-              },
-          ]
-        },
-        data: [],
-        display: false,
-      },
-      itemForm:{
+      itemForm: {
         itemData: {},
-        activeName: 'referTab',
-        form:{}
-      }
-    }
+        activeName: "referTab",
+        enumInitFlag:false,
+        referInitFlag: false,
+        form: {}
+      },
+      searchId: '',
+    };
   },
   created() {
-    
   },
   methods: {
     refreshChange() {
       this.onLoad(this.pageParent, this.query);
     },
-    addSave(){
+    addSave() {
       this.$refs.originalAdd.showSubmitDialog = true;
-      this.$refs.originalAdd.attribute = {};
+      const newAttr = {};
+      newAttr.nullable = true;
+      this.$refs.originalAdd.attribute = newAttr;
     },
-    updateSave(){
+    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.$refs.originalAdd.attribute = this.attribute;
+      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(){
-      remove(this.itemForm.itemData).then(res => {
-        this.$message.success("鍒犻櫎鎴愬姛");
-      })
+    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();
+        });
+      });
     },
     onLoad(page, params = {}) {
       this.loading = true;
@@ -323,42 +305,72 @@
         this.page.total = data.total;
         this.data = data.records;
         this.loading = false;
-        this.data = res.data.data.records
+        this.data = res.data.data.records;
         this.itemData = this.data[0];
-      })
+      });
     },
     rowClick(row) {
       this.itemForm.itemData = row;
       this.selectRow = row.$index;
       this.attribute = row;
-    }
-    ,selectBtmType(){
-        this.referType.display = true;
-        this.referType.title = "璇烽�夋嫨" + this.referType.value
+      this.checkUsingReferDict(row);
     },
-    applyRangeOpen(){
-        if (!this.selectRow){
-          this.$message({
-            type:"warning",
-            message: "璇峰厛閫夋嫨灞炴��"
-          })
-        }
-        var oid = this.data[this.selectRow].oid;
-        getApplyRange(oid).then(res => {
-            this.applyRange.data = res.data.data;
+    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;
         })
-        this.applyRange.display = true;
+      }else {
+        this.itemForm.activeName = 'referTab';
+        this.itemForm.referInitFlag = true;
+        this.itemForm.enumInitFlag = false;
+      }
     },
-    applyRangeClose(){
-      this.applyRange.data = [];
-      this.applyRange.display = 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;
+
+      });
+    },
+    doSearch(){
+      var params = {"id_like":this.searchId};
+      this.onLoad(this.page,params);
     }
   },
+  components: { Versionpackage }
 }
 </script>
 
 <style lang="scss">
-.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{
-    display: none !important;
+.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+  display: none !important;
+}
+.attrSearch {
+  width:201px;
+}
+.attrSearch > .el-input__inner {
+  width: 200px;
 }
 </style>

--
Gitblit v1.9.3