From 5a8861736eb17fe27a4ac49cc8ebaa6f3ade2e71 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 07 七月 2023 17:08:35 +0800
Subject: [PATCH] 前端代码提交

---
 Source/UBCS-WEB/src/components/Tree/classifyTrees.vue |  351 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 319 insertions(+), 32 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
index 18e84bf..e9bffc4 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -19,26 +19,29 @@
         <!--        鏍戣妭鐐规坊鍔犲璇濇-->
         <el-dialog :title="this.TreeFlag ? '娣诲姞鍒嗙被' :'娣诲姞涓婚搴�'" :visible.sync="TreeAddFormVisible" append-to-body
                    style="width: 1700px;margin: auto">
-          <el-form :model="TreeAddform">
-            <el-form-item :label="this.TreeFlag ? '鍒嗙被缂栧彿锛�' :'涓婚搴撶紪鍙凤細'" label-width="150px" style="display: inline-block">
+          <el-form :model="TreeAddform" :rules="rules">
+            <el-form-item :label="this.TreeFlag ? '鍒嗙被缂栧彿锛�' :'涓婚搴撶紪鍙凤細'" label-width="150px" style="display: inline-block" prop="id">
               <el-input v-model="TreeAddform.id" autocomplete="off" style="width: 170px"></el-input>
             </el-form-item>
-            <el-form-item :label="this.TreeFlag ? '鍒嗙被鍚嶇О锛�' :'涓婚搴撳悕绉帮細'" label-width="100px" style="display: inline-block">
+            <el-form-item :label="this.TreeFlag ? '鍒嗙被鍚嶇О锛�' :'涓婚搴撳悕绉帮細'" label-width="110px" style="display: inline-block" prop="name">
               <el-input v-model="TreeAddform.name" autocomplete="off" style="width: 170px"></el-input>
             </el-form-item>
             <el-form-item label="鎻忚堪锛�" label-width="150px">
               <el-input v-model="TreeAddform.description" autocomplete="off" style="width: 585px"></el-input>
             </el-form-item>
             <el-form-item label="缂栫爜瑙勫垯锛�" label-width="150px">
-              <el-input v-model="TreeAddform.coderuleoidName" autocomplete="off" style="width: 585px"></el-input>
+              <el-input v-model="TreeAddform.coderuleoidName" readonly autocomplete="off" style="width: 585px" @focus="CodeFoucus"></el-input>
             </el-form-item>
             <el-form-item label="鍏抽敭灞炴�ф煡璇㈣鍒欙細" label-width="150px">
-              <el-input v-model="TreeAddform.codekeyattrrepeatoidName" autocomplete="off"
+              <el-input v-model="TreeAddform.codekeyattrrepeatoidName" readonly autocomplete="off" @focus="Keyfouce"
                         style="width: 585px"></el-input>
             </el-form-item>
             <el-form-item label="鐩镐技鏌ヨ瑙勫垯锛�" label-width="150px">
-              <el-input v-model="TreeAddform.codeResembleRuleOidName" autocomplete="off"
-                        style="width: 585px"></el-input>
+              <el-input v-model="TreeAddform.codeResembleRuleOidName"
+               autocomplete="off" 
+               readonly
+               @focus="simFouce"
+               style="width: 585px"></el-input>
             </el-form-item>
           </el-form>
           <div slot="footer" class="dialog-footer">
@@ -81,9 +84,6 @@
             <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button>
             <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
               <el-button plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
-              <div style="display: inline-block"> <el-input v-model="FindText" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�"
-                                                            size="small"
-                                                            @keyup.enter.native="EnterFind"></el-input></div>
               <!--              鏌ヨ瀵硅瘽妗�-->
            <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ">
               <div>
@@ -92,7 +92,7 @@
               </div>
              <div style="padding-left: 80px;margin-top: 15px;">
                <template v-for="(value, key) in FindSelect">
-                <div style="display: flex;justify-content: space-around;width: 85%;margin-bottom: 15px">
+                <div style="display: flex; justify-content: space-around; width: 85%; margin-bottom: 15px">
                 <el-select v-model="FindSelect[key]" placeholder="璇烽�夋嫨" style="width: 28%"
                            @change="handleSelectChange(key)">
                   <el-option label="妯℃澘缂栧彿" value="0"></el-option>
@@ -168,6 +168,78 @@
           </basic-container>
           <templatePro :ProData="this.ProData" :crudOid="this.crudOid" :crudArray="this.crudArray" :Formlist="this.Formlist" :codeClassifyOid="this.codeClassifyOid"></templatePro>
         </span>
+        <!--     缂栫爜瑙勫垯-->
+        <el-dialog  :visible.sync="MasterdialogVisible"   title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" append-to-body>
+          <template>
+            <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+              <el-option
+                v-for="item in SelectOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                style="width: 150px">
+              </el-option>
+            </el-select>
+            <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+            <el-button size="small"  type="primary" plain @click="SelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+          </template>
+          <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></avue-crud>
+          <div style="height: 30px">
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.coderuleoidName ==''?'鏈缃��':this.TreeAddform.coderuleoidName}}]</div>
+            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+              <el-button type="primary" size="small" @click="MasterHandlerClick">纭畾</el-button>
+              <el-button  size="small" @click="MasterdialogVisible=false">鍙栨秷</el-button>
+            </div>
+          </div>
+        </el-dialog>
+        <!--      鍏抽敭灞炴�ф煡璇㈣鍒�-->
+        <el-dialog  :visible.sync="KeydialogVisible"   title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�" append-to-body>
+          <template>
+            <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+              <el-option
+                v-for="item in SelectOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                style="width: 150px">
+              </el-option>
+            </el-select>
+            <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+            <el-button size="small"  type="primary" plain @click="KeySelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+          </template>
+          <avue-crud :data="KeyData" :option="masterOption" @select="KeySelect"></avue-crud>
+          <div style="height: 30px">
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codekeyattrrepeatoidName ==''?'鏈缃��':this.TreeAddform.codekeyattrrepeatoidName}}]</div>
+            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+              <el-button type="primary" size="small" @click="KeyHandlerClick">纭畾</el-button>
+              <el-button  size="small" @click="KeydialogVisible=false">鍙栨秷</el-button>
+            </div>
+          </div>
+        </el-dialog>
+        <!--      鐩镐技椤规煡璇㈣鍒�-->
+        <el-dialog  :visible.sync="SimidialogVisible"   title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" append-to-body>
+          <template>
+            <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
+              <el-option
+                v-for="item in SelectOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                style="width: 150px">
+              </el-option>
+            </el-select>
+            <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
+            <el-button size="small"  type="primary" plain @click="SimSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
+          </template>
+          <avue-crud :data="simData" :option="masterOption" @select="simSelect"></avue-crud>
+          <div style="height: 30px">
+            <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codeResembleRuleOidName ==''?'鏈缃��':this.TreeAddform.codeResembleRuleOidName}}]</div>
+            <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
+              <el-button type="primary" size="small" @click="simHandlerClick">纭畾</el-button>
+              <el-button  size="small" @click="SimidialogVisible=false">鍙栨秷</el-button>
+            </div>
+          </div>
+        </el-dialog>
       </basic-container>
     </el-main>
   </el-container>
@@ -190,7 +262,7 @@
   editSave,
   copy
 } from "@/api/template/templateAttr";
-
+import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master'
 export default {
   name: "classifyTrees.vue",
   //浣跨敤inject鎺ユ敹鍙傛暟
@@ -199,6 +271,66 @@
   inject: [, "crudTreeData"],
   data() {
     return {
+      //缂栫爜瑙勫垯
+      MasterdialogVisible:false,
+      masterData:[],
+      masterSelectList:[],
+      masterName:"",
+      masterOid:"",
+      //鍏抽敭灞炴��
+      KeydialogVisible:false,
+      KeyName:"",
+      KeyOid:"",
+      KeyData:[],
+      KeySelectLIst:[],
+      //鐩镐技椤�
+      simName:"",
+      simOid:"",
+      simData:[],
+      SimidialogVisible:false,
+      simSelectList:[],
+      masterOption:{
+        addBtn:false,
+        index:true,
+        border:true,
+        selection:true,
+        menu:false,
+        height:380,
+        column:[
+          {
+            label:'鑻辨枃鍚嶇О',
+            prop:'id'
+          },
+          {
+            label:'涓枃鍚嶇О',
+            prop:'name'
+          },
+          {
+            label:'鎻忚堪',
+            prop:'description'
+          }
+        ]
+      },
+      SelectOption:[
+        {
+          value: 'name',
+          label: '涓枃鍚嶇О'
+        },
+        {
+          value: 'id',
+          label: '鑻辨枃鍚嶇О'
+        }
+      ],
+      SelectValue:"",
+      SelectFInd:"",
+      rules: {
+        id: [
+          { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: 'blur' },
+        ],
+        name:[
+          { required: true, message: '璇疯緭鍏ョ紪鍙�', trigger: 'blur' },
+        ]
+      },
       addFlag:false,
       // 琛ㄦ牸褰撳墠琛宨d
       crudOid:"",
@@ -207,7 +339,11 @@
       //妯℃澘灞炴�у睍绀哄唴瀹�
       ProData: [],
       //鍥炶溅閿悳绱㈢粦瀹氬��
-      FindText: "",
+      searchTemplate: {
+        searchCondition: 'id',
+        findText: "",
+      },
+
       //楂樼骇鏌ヨ瀵硅瘽妗�
       FindFormVisible: false,
       //鍏嬮殕妯℃澘瀵硅瘽妗�
@@ -374,19 +510,6 @@
           prop: 'tab2',
         }]
       },
-      //妯℃嫙琛ㄥ崟鍋囨暟鎹�
-      Treeform: [
-        {
-          name: "娴嬭瘯1",
-          sex: "鐢�",
-          value: 0
-        },
-        {
-          name: "娴嬭瘯2",
-          sex: "濂�",
-          value: 1
-        }
-      ],
       //浼犻�掔粰瀛愮粍浠跺姩鎬佹覆鏌撶殑鏁版嵁
       TreeList: {},
       codeClassifyOid: ""
@@ -433,8 +556,170 @@
     }
   },
   methods: {
+    //缂栫爜瑙勫垯澶辩劍
+    CodeFoucus(){
+      this.MasterdialogVisible=true;
+      this.MasterdefaultRend()
+    },
+    //缂栫爜澶氶��
+    masterSelect(row){
+    if(row.length>0){
+      this.masterSelectList=row;
+      this.masterName=row[0].name;
+      this.masterOid=row[0].oid;
+    }
+    },
+    //缂栫爜瑙勫垯鏌ヨ
+    SelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.MasterdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.MasterdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //缂栫爜瑙勫垯纭畾
+    MasterHandlerClick(){
+      if(this.masterSelectList.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.masterSelectList.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.MasterdialogVisible=false;
+        this.masterSelectList=[]
+        this.$set(this.TreeAddform,'coderuleoidName',this.masterName)
+        this.$set(this.TreeAddform,'coderuleOid',this.masterOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+        console.log(this.loneTreeNewForm)
+      }
+    },
+    //缂栫爜鎺ュ彛
+    MasterdefaultRend(){
+      defaultReferDataGrid({
+        referType:'coderule',
+        isMuti:'false',
+        'conditionMap["lcstatus"]':'Released'
+      }).then(res=>{
+        this.masterData=res.data.records;
+      })
+    },
+    Keyfouce(){
+      this.KeydialogVisible=true;
+      this.KeydefaultRend()
+    },
+    //鍏抽敭灞炴�х‘瀹�
+    KeyHandlerClick(){
+      if(this.KeySelectLIst.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.KeySelectLIst.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.KeydialogVisible=false;
+        this.KeySelectLIst=[]
+        this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName)
+        this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+      }
+    },
+    //鍏抽敭灞炴�ф煡璇�
+    KeySelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.KeydefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.KeydefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //鍏抽敭灞炴�ф帴鍙�
+    KeydefaultRend(){
+      defaultReferDataGrid({
+        referType:'codekeyattrrepeat',
+        isMuti:'false',
+        'conditionMap["lcstatus"]':'Enabled'
+      }).then(res=>{
+        this.KeyData=res.data.records;
+      })
+    },
+    // 鍏抽敭澶氶��
+    KeySelect(row){
+      this.KeySelectLIst=row;
+      this.KeyName=row[0].name;
+      this.KeyOid=row[0].oid;
+    },
+    //鍏抽敭澶辩劍
+    simFouce(){
+      this.SimidialogVisible=true;
+      this.simdefaultRend()
+    },
+    //鐩镐技椤圭‘瀹�
+    simHandlerClick(){
+      if(this.simSelectList.length>1){
+        this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�')
+      }else if(this.simSelectList.length<=0){
+        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+      }else {
+        this.SimidialogVisible=false;
+        this.simSelectList=[]
+        this.$set(this.TreeAddform,'codeResembleRuleOidName',this.simName)
+        this.$set(this.TreeAddform,'codeResembleRuleOid',this.simOid)
+        this.$emit('MasterHandler',this.loneTreeNewForm)
+      }
+    },
+    //鐩镐技椤规煡璇�
+    SimSelectFindeHandler(){
+      if(this.SelectValue == 'id'){
+        const masterParameter={
+          'conditionMap[id]':this.SelectFInd
+        }
+        this.simdefaultRend(masterParameter);
+        this.SelectValue=""
+        this.SelectFInd=""
+      }else if(this.SelectValue == 'name'){
+        const masterParameter={
+          'conditionMap[name]':this.SelectFInd
+        }
+        this.simdefaultRend(masterParameter)
+        this.SelectValue=""
+        this.SelectFInd=""
+      }
+    },
+    //  鐩镐技椤瑰閫�
+    simSelect(row){
+      this.simSelectList=row;
+      this.simName=row[0].name;
+      this.simOid=row[0].oid;
+      console.log('oid',this.oid)
+    },
+    //鐩镐技椤归」鎺ュ彛
+    simdefaultRend(){
+      defaultReferDataGrid({
+        referType:'coderesemblerule',
+        isMuti:'false',
+        'conditionMap["lcstatus"]':'Enabled'
+      }).then(res=>{
+        this.simData=res.data.records;
+      })
+    },
+    //瀛愪紶鐖�
     MasterHandler(val){
-      console.log('鐖朵翰',val)
       this.TreeList=val
     },
     //琛屽崟閫変簨浠�
@@ -487,6 +772,7 @@
     TreeAddHandler() {
       const data = this.TreeAddform
       this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid)
+      // console.log('data',data)
       TreeSave(data).then(() => {
         this.$message({
           type: 'success',
@@ -799,20 +1085,20 @@
         });
       })
     },
-    //妯℃澘绠$悊琛ㄦ牸鏌ヨ
-    EnterFind() {
-      if (this.FindText == "") {
+    //妯℃澘绠$悊琛ㄦ牸鏌ヨ,鍙湁涓�鏉℃暟鎹病蹇呰鍋氭悳绱�
+    /*nterFind() {
+      if (this.findText == "") {
         gridCodeClassifyTemplate().then(res => {
           this.Formlist = res.data.data
         })
       } else {
         gridCodeClassifyTemplate().then(res => {
           this.Formlist = res.data.data.filter(item => {
-            return item.name.includes(this.FindText)
+            return item.name.includes(this.findText)
           })
         })
       }
-    },
+    },*/
     //鍏嬮殕妯℃澘鏌ヨ
     CloneEnterFind(){
       gridCodeClassifyTemplate().then(res => {
@@ -924,4 +1210,5 @@
 .my-messageboxs {
   width: 500px;
 }
+
 </style>

--
Gitblit v1.9.3