From 101e8e9738e4bfe0ef7a5170d117b47bf901b8f6 Mon Sep 17 00:00:00 2001
From: ludc <pUXmgxCf6A>
Date: 星期一, 29 五月 2023 11:29:48 +0800
Subject: [PATCH] 集团主模型发布接口方法移植开发

---
 Source/UBCS-WEB/src/views/modeling/original.vue |  777 ++++++++++++++++++++++-------------------------------------
 1 files changed, 296 insertions(+), 481 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue
index 8a35740..9757875 100644
--- a/Source/UBCS-WEB/src/views/modeling/original.vue
+++ b/Source/UBCS-WEB/src/views/modeling/original.vue
@@ -1,549 +1,364 @@
 <template>
-  <basic-container>
-    <avue-crud v-model="form" :option="option" :data="data" ref="crud"   :before-open="beforeOpen" @on-load="onLoad" @row-save="rowSave" @row-update="rowUpdate" @row-del="rowDel" :page.sync="page">
-      <template slot-scope="{row,index,type}" slot="hideboxForm">
-        <avue-form :option="option.codomainoption"></avue-form>
-        <div v-if="tablefalge">
-          <el-input style="width: 140px;margin-left: 300px"></el-input>
-          <el-button style="margin-left: 15px" type="primary">鎼滅储</el-button>
-          <el-table
-            ref="multipleTable"
-            :data="tableData"
-            tooltip-effect="dark"
-            style="width: 100%"
-            max-height="510"
-            @selection-change="handleSelectionChange">
-            <el-table-column
-              type="selection"
-              width="55">
-            </el-table-column>
-
-            <el-table-column
-              prop="name"
-              label="涓氬姟绫诲瀷鍚�"
-            >
-            </el-table-column>
-            <el-table-column
-              prop="label"
-              label="鏍囩"
-              show-overflow-tooltip>
-            </el-table-column>
-            <el-table-column
-              prop="father"
-              label="鐖剁被"
-              show-overflow-tooltip>
-            </el-table-column>
-            <el-table-column
-              prop="rules"
-              label="鐗堟湰瑙勫垯"
-              show-overflow-tooltip>
-            </el-table-column>
-            <el-table-column
-              prop="cycle"
-              label="鐢熷懡鍛ㄦ湡"
-              show-overflow-tooltip>
-            </el-table-column>
-          </el-table>
-          <el-button style="margin-left: 320px;margin-top: 13px" type="primary">纭畾</el-button>
-          <el-button>鍙栨秷</el-button>
-        </div>
-        <div  v-if="!tablefalge">
-          <el-input style="width: 140px;margin-left: 300px"></el-input>
-          <el-button style="margin-left: 15px" type="primary">鎼滅储</el-button>
-          <el-table
-            :data="tableDatas"
-            stripe
-            style="width: 100%">
-            <el-table-column
-              type="selection"
-              width="55">
-            </el-table-column>
-            <el-table-column
-              prop="name"
-              label="閾炬帴绫诲瀷">
-            </el-table-column>
-          </el-table>
-          <el-button style="margin-left: 320px;margin-top: 13px" type="primary">纭畾</el-button>
-          <el-button>鍙栨秷</el-button>
-        </div>
-
-<!--        <div v-if="tablefalge">-->
-<!--          <el-button style="margin-left: 320px;margin-top: 13px" type="primary">纭畾</el-button>-->
-<!--          <el-button>鍙栨秷</el-button>-->
-<!--        </div>-->
-      </template>
-
-    </avue-crud>
-
-
-  </basic-container>
+  <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>
+          </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>
+          </template>
+        </avue-crud>
+        <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>
+      </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>
+        <el-tabs v-model="itemForm.activeName" @tab-click="handleClick" stretch="true" style="height:235px">
+        <el-tab-pane label="鍙傜収" name="referTab">
+            <el-descriptions class="margin-top" :column="1" size="medium" border>
+              <el-descriptions-item>
+                <template slot="label">
+                  浣跨敤鍙傜収
+                </template>
+                {{ itemForm.itemData.referTypeValue ? '鏄�' : '鍚�' }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  鍙傜収绫诲瀷
+                </template>
+                {{ itemForm.itemData.referTypeValue }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  鍙傜収鍚嶇О
+                </template>
+                {{ itemForm.itemData.referToName }}
+              </el-descriptions-item>
+            </el-descriptions>
+          </el-tab-pane>
+          <el-tab-pane label="鏋氫妇" name="enumTab">
+            <el-descriptions class="margin-top" :column="1" :size="small" border>
+              <el-descriptions-item>
+                <template slot="label">
+                  浣跨敤鏋氫妇
+                </template>
+                {{ itemForm.itemData.usingDict ? '鏄�' : '鍚�' }}
+              </el-descriptions-item>
+              <el-descriptions-item>
+                <template slot="label">
+                  鏋氫妇绫诲瀷
+                </template>
+                {{ itemForm.itemData.dictCode }}
+              </el-descriptions-item>
+            </el-descriptions>
+          </el-tab-pane>
+        </el-tabs>
+      </basic-container>
+    </el-aside>
+    <originalAdd ref="originalAdd" :attribute="attribute" @refreshTable="refreshChange"></originalAdd>
+  </el-container>
 </template>
 
 <script>
-export default {
-  name: "passwords.vue",
-  data() {
-    return {
-      tablefalge:false,
-      tableDatas: [ {
-        name: 'input',
-      }, {
-        name: 'checkbox',
-      }, {
-        name: 'switch',
-      }],
-      tableData: [{
-        name: 'abc',
-        label: '瀹㈡埛',
-        father:'瀹㈡埛',
-        rules:'瑙勫垯',
-        cycle:'cba'
-      },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },   {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },
+import {
+  getList,
+  remove,
+  add,
+  update, getPage, getApplyRange
+} from "@/api/omd/OmdAttribute";
 
-        {
-          name: 'abc',
-          label: '瀹㈡埛',
-          father:'瀹㈡埛',
-          rules:'瑙勫垯',
-          cycle:'cba'
-        },],
-      form:{},
+export default {
+  name: "original",
+  data() {
+    return {  
       page: {
         pageSize: 10,
         currentPage: 1,
         total: 100
       },
-      appflage:true,
-      data: [
-        {
-          name:"a",
-          prop:"VTstring",
-          admin:"榛樿",
-          desc:"娴嬭瘯A"
-        },
-        {
-          name:"b",
-          prop:"VTstring",
-          admin:"榛樿",
-          desc:"娴嬭瘯B"
-        },
-        {
-          name:"c",
-          prop:"VTstring",
-          admin:"榛樿",
-          desc:"娴嬭瘯C"
-        },
-        {
-          name:"d",
-          prop:"VTstring",
-          admin:"榛樿",
-          desc:"娴嬭瘯D"
-        }
-      ],
-      option:{
-        selection: true,
-        dialogType:'drawer',
+      selectRow: '',
+      data: [],
+      form:{},
+      attribute: {
+        nullable: true
+      },
+      option: {
+        height: "550px",
         headerAlign: 'center',
         border: true,
         index: true,
-        rowKey:'id',
+        rowKey: 'id',
         tabs: true,
-        codomainoption:{
-          submitBtn: false,
-          emptyBtn: false,
-          column: [
-            {
-              placeholder:"璇烽�夋嫨鍊煎煙",
-              span:24,
-              label: '鍊煎煙',
-              prop: 'select',
-              type:"select",
-              value:0,
-              change:this.selectChange,
-              dicData:[
-                {
-                  label:"涓氬姟绫诲瀷",
-                  value:0
-                },
-                {
-                  label:"閾炬帴绫诲瀷",
-                  value:1
-                },
-              ]},
-            {
-              label: "閫夋嫨鐗堟湰",
-              prop:"banben",
-              type:'select',
-              display:false,
-              dicData: [
-                {
-                  label: '褰撳墠鐗堟湰娆�',
-                  value:0
-                },
-                {
-                  label: '鏈�鏂扮増鏈',
-                  value:1
-                }
-              ]
-            }
-          ]
-        },
-        column:[
+        stripe:true,
+        indexFixed: false,
+        menuWidth: 150,
+        highlightCurrentRow: true,
+        addBtn:false,
+        editBtn:false,
+        delBtn:false,
+        column: [{
+            label: '閫夋嫨',
+            prop: 'radio',
+            width: 60,
+            hide: false,
+            display: false
+          },
           {
-            label: '灞炴�у悕',
+            label: '灞炴�х紪鍙�',
+            prop: 'id',
+            align: 'left',
+            display: false,
+            width: 200,
+            required: true
+          }, {
+            label: '灞炴�у悕绉�',
             prop: 'name',
             align: 'left',
-            display:false
+            display: false
           },
           {
             label: '鏍囩',
-            prop: 'tag',
-            hide:true,
+            prop: 'hashtag',
+            // hide: true,
             display: false
           },
           {
             label: '鏄惁浣跨敤鏋氫妇',
-            prop: 'isnot',
+            prop: 'usingDict',
             type: 'switch',
-            hide:true,
+            hide: true,
             labelWidth: 132,
             display: false,
-            dicData:[{
-              label:'鏄�',
-              value:0
-            },{
-              label:'鍚�',
-              value:1
+            dicData: [{
+              label: '鏄�',
+              value: 'true'
+            }, {
+              label: '鍚�',
+              value: 'false'
             }]
           },
           {
             label: '灞炴�х被鍨�',
-            prop: 'prop',
-            type:"select",
+            prop: 'typeValue',
             display: false,
-            dicData:[
-              {
-                label:"娴嬭瘯1",
-                value:0
-              },
-              {
-                label:"娴嬭瘯2",
-                value:1
-              },
-              {
-                label:"娴嬭瘯3",
-                value:2
-              }
-            ]
+            // hide: true
           },
           {
             label: '榛樿鍊�',
-            prop: 'admin',
+            prop: 'defaultValue',
             display: false
           },
           {
             label: '鍏佽涓虹┖',
-            prop: 'isDefault',
+            prop: 'nullable',
             type: 'switch',
             display: false,
-            hide:true,
+            hide: true,
             labelWidth: 132,
-            dicData:[{
-              label:'涓嶅厑璁�',
-              value:0
-            },{
-              label:'鍏佽',
-              value:1
+            dicData: [{
+              label: '鍚�',
+              value: 'false'
+            }, {
+              label: '鏄�',
+              value: 'true'
             }]
           },
           {
             label: "闀垮害",
-            prop: "length",
+            prop: "maxLength",
             hide: true,
             display: false
           },
           {
             label: '鎻忚堪',
-            prop: 'desc',
-            type:"textarea",
+            prop: 'description',
+            type: "textarea",
             display: false
           },
-        ],
-        group:[
-          {
-            label: '灞炴�ч」',
-            prop:"index",
-            column: [
-              {
-                label: '灞炴�у悕',
-                prop: 'name',
+        ]
+      },
+      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: 'tag',
-                hide:true
+                label: '涓氬姟绫诲瀷鍚嶇О',
+                prop: 'name',
+                align: 'left',
               },
-              {
-                label: '灞炴�х被鍨�',
-                prop: 'prop',
-                type:"select",
-                dicData:[
-                  {
-                    label:"娴嬭瘯1",
-                    value:0
-                  },
-                  {
-                    label:"娴嬭瘯2",
-                    value:1
-                  },
-                  {
-                    label:"娴嬭瘯3",
-                    value:2
-                  }
-                ]
-              },
-              {
-                label: '榛樿鍊�',
-                prop: 'admin',
-              },
-              {
-                label: '鍏佽涓虹┖',
-                prop: 'isDefault',
-                type: 'switch',
-                hide:true,
-                labelWidth: 132,
-                dicData:[{
-                  label:'涓嶅厑璁�',
-                  value:0
-                },{
-                  label:'鍏佽',
-                  value:1
-                }]
-              },
-              {
-                label: "闀垮害",
-                prop: "length",
-                hide: true
-              },
-              {
-                label: '鎻忚堪',
-                prop: 'desc',
-                type:"textarea"
-              },
-            ]
-          },
-          {
-            label: '鍊煎煙',
-            column:[
-              {
-                prop: 'hidebox',
-                formsolt:true,
-                hide: true,
-                span:24,
-              },
-            ]
-          },
-          {
-            label: '鏋氫妇',
-            column: [
-              {
-                label: '鏄惁浣跨敤鏋氫妇',
-                prop: 'isnot',
-                type: 'switch',
-                hide:true,
-                labelWidth: 132,
-                span:8,
-                dicData:[{
-                  label:'鏄�',
-                  value:0
-                },{
-                  label:'鍚�',
-                  value:1
-                }]
-              },
-              {
-                prop:'text',
-                type:'input',
-                placeholder:'璇疯緭鍏ュ唴瀹�',
-                hide:true,
-                display:false
-              },
-              {
-                prop: 'enumerationSelect',
-                type: 'select',
-                placeholder: '璇烽�夋嫨',
-                hide: true,
-                span:12,
-                dicData: [
-                  {
-                    label: 'a',
-                    value: 0
-                  },
-                  {
-                    label: 'b',
-                    value: 1
-                  },
-                  {
-                    label: 'c',
-                    value: 2
-                  }
-                ]
-              },
-              {
-                label: '鎻忚堪',
-                prop: 'endesc',
-                type:"textarea",
-                labelWidth: 132,
-              },
-            ]
-          }
-        ]
+          ]
+        },
+        data: [],
+        display: false,
       },
-
+      itemForm:{
+        itemData: {},
+        activeName: 'referTab',
+        form:{}
+      }
     }
   },
-
-
   created() {
+    
   },
-  methods:{
-    selectChange(val){
-      console.log(val)
-      this.tablefalge=!this.tablefalge
-      if(val.value == 0){
-        this.tablefalge=true
-        this.option.codomainoption.column[1].display=false
-      }else if(val.value == null || val.value == 1){
-        this.tablefalge=false;
-        this.option.codomainoption.column[1].display=true
-      }
+  methods: {
+    refreshChange() {
+      this.onLoad(this.pageParent, this.query);
     },
-    beforeOpen (done, type) {
-          if (['view', 'edit'].includes(type)) {
-            // 鏌ョ湅鍜岀紪杈戦�昏緫
-            console.log("缂栬緫")
-          } else {
-            //鏂板閫昏緫
-            this.tablefalge=false
-            console.log(this.tablefalge)
-            console.log("鏂板")
-          }
-          done();
-
-      }
-    // rowDel(row){
-    //   this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
-    //     confirmButtonText: "纭畾",
-    //     cancelButtonText: "鍙栨秷",
-    //     type: "warning"
-    //   })
-    //     .then(() => {
-    //       return getremove(row.id);
-    //     })
-    //     .then(() => {
-    //       this.$message({
-    //         type: "success",
-    //         message: "鎿嶄綔鎴愬姛!"
-    //       });
-    //       this.onLoad();
-    //     });
-    // },
-    // rowSave(row,done){
-    //   getadd(row).then(()=>{
-    //     this.$message({
-    //       type: "success",
-    //       message: "鎿嶄綔鎴愬姛!"
-    //     });
-    //     done(row)
-    //     this.onLoad()
-    //   }).catch((res)=>{
-    //     this.$message({
-    //       type: "success",
-    //       message:res
-    //     });
-    //   })
-    // },
-    // rowUpdate(row,index,done){
-    //   getupdata(row).then(()=>{
-    //     this.onLoad()
-    //     this.$message({
-    //       type: "success",
-    //       message: "淇敼鎴愬姛!"
-    //     });
-    //     done(row)
-    //   })
-    // },
-    // 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.selectionClear();
-    //   //   this.data=res.data.data.records
-    //   // })
-    // }
-  }
-
+    addSave(){
+      this.$refs.originalAdd.showSubmitDialog = true;
+      this.$refs.originalAdd.attribute = {};
+    },
+    updateSave(){
+      this.$refs.originalAdd.showSubmitDialog = true;
+      this.$refs.originalAdd.attribute = this.attribute;
+    },
+    deleteSave(){
+      remove(this.itemForm.itemData).then(res => {
+        this.$message.success("鍒犻櫎鎴愬姛");
+      })
+    },
+    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;
+    }
+    ,selectBtmType(){
+        this.referType.display = true;
+        this.referType.title = "璇烽�夋嫨" + this.referType.value
+    },
+    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;
+        })
+        this.applyRange.display = true;
+    },
+    applyRangeClose(){
+      this.applyRange.data = [];
+      this.applyRange.display = false;
+    }
+  },
 }
 </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