From b8886034cbd7a43911d6b24e322f604f557c1e02 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 23 五月 2023 20:35:59 +0800
Subject: [PATCH] 增加referconfig的相关接口

---
 Source/UBCS-WEB/src/components/Tree/classifyTrees.vue                                                                |  299 ++++++-
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java                 |   65 -
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java              |    3 
 Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue                                                             |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java               |   24 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java            |    6 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java          |    1 
 Source/UBCS-WEB/src/api/template/templateAttr.js                                                                     |   11 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java             |    4 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java             |   39 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/BladeQueryObject.java    |  170 ++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java                 |   56 -
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml                               |  343 ---------
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue                                            |  441 +++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java            |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml                                  |    2 
 Source/UBCS-WEB/src/views/code/code.vue                                                                              |   55 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyProcessTempController.java |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java         |   46 
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue                                            |  434 +++--------
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/BladeTreeQueryObject.java         |   33 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java           |    7 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java                |   35 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java              |   14 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java                   |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java               |   21 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java      |   49 
 Source/UBCS-WEB/src/main.js                                                                                          |    8 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java                 |    1 
 Source/UBCS-WEB/src/components/Tree/TemplatePro.vue                                                                  |    7 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java                  |    4 
 31 files changed, 1,281 insertions(+), 910 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/template/templateAttr.js b/Source/UBCS-WEB/src/api/template/templateAttr.js
index 75e09e5..225cc20 100644
--- a/Source/UBCS-WEB/src/api/template/templateAttr.js
+++ b/Source/UBCS-WEB/src/api/template/templateAttr.js
@@ -76,7 +76,7 @@
     }
   })
 }
-
+//鏌ヨ
 export const  gridCodeClassifyFindTemplate = (params) =>{
   return request({
     url:'/api/ubcs-code/codeClassifyTemplateController/gridCodeClassifyTemplate',
@@ -128,6 +128,13 @@
     params:{
      ...params
     }
+  })}
+
+//鍏嬮殕妯℃澘copy
+export const  copy = (data) =>{
+  return request({
+    url:'/api/ubcs-code/codeClassifyTemplateController/copy',
+    method: 'post',
+    data:data
   })
 }
-
diff --git a/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue b/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue
index 8771a12..67047ed 100644
--- a/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue
+++ b/Source/UBCS-WEB/src/components/Tree/TemplatePro.vue
@@ -19,21 +19,14 @@
       type: {},
       Taboption: {
         column: [{
-          icon: 'el-icon-info',
           label: '妯℃澘灞炴��',
           prop: 'tab1',
         }, {
-          icon: 'el-icon-warning',
           label: '妯℃澘娴佺▼',
           prop: 'tab2',
         }, {
-          icon: 'el-icon-question',
           label: '妯℃澘闃舵',
           prop: 'tab3',
-        }, {
-          icon: 'el-icon-question',
-          label: '妯℃澘鎸夐挳娴佺▼',
-          prop: 'tab4',
         }]
       },
 
diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
index 90996f3..dadabd7 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue
@@ -15,6 +15,8 @@
         sex: "鐢�"
       },
       option: {
+        submitBtn:false,
+        emptyBtn:false,
         column: [
           {
             label: '涓婚搴�/鍒嗙被缂栧彿',
diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
index a867a7d..4039188 100644
--- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue
@@ -7,15 +7,12 @@
         <div>
           <div style="display: flex;justify-content: space-around">
             <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
-            <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
-            <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
-            <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button>
-          </div>
-          <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
-            <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
             <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>
             <el-button plain size="small" type="primary" @click="ImportExcel">瀵煎叆</el-button>
             <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button>
+          </div>
+          <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
+
           </div>
         </div>
         <!--        鏍戣妭鐐规坊鍔犲璇濇-->
@@ -62,7 +59,6 @@
                    @check-change="checkChange"
         >
         </avue-tree>
-
       </basic-container>
     </el-aside>
     <el-main>
@@ -70,7 +66,10 @@
         <!--        鍙充晶琛ㄦ牸-->
         <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs>
         <span v-if="type.prop==='tab1'">
-          <basic-container>
+           <classifyTreeform ref="childForm" :TreeNewForm="TreeList" :nodeList="nodeList"></classifyTreeform>
+        </span>
+        <span v-else-if="type.prop==='tab2'">
+            <basic-container>
                <avue-crud v-model="crudForm" v-loading="FormLoing" :data="this.Formlist" :option="this.crudTreeOption"
                           @row-save="CrudRowSave"
                           @row-del="CrudRowDel"
@@ -79,10 +78,15 @@
             <template slot="menuLeft">
               <el-button plain size="small" type="primary" @click="FindFormVisible = true;">鏌ヨ</el-button>
               <el-button plain size="small" type="primary" @click="TemRefresh">鍒锋柊</el-button>
-              <el-button plain size="small" type="primary">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
+                    <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
+            <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
+            <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>
                 <el-button size="small" type="primary" @click="AdvQueries">鏌ヨ</el-button>
@@ -91,7 +95,8 @@
              <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">
-                <el-select v-model="FindSelect[key]" placeholder="璇烽�夋嫨" style="width: 28%" @change="handleSelectChange(key)">
+                <el-select v-model="FindSelect[key]" placeholder="璇烽�夋嫨" style="width: 28%"
+                           @change="handleSelectChange(key)">
                   <el-option label="妯℃澘缂栧彿" value="0"></el-option>
                   <el-option label="妯℃澘鍚嶇О" value="1"></el-option>
                   <el-option label="妯℃澘鎻忚堪" value="2"></el-option>
@@ -104,17 +109,66 @@
                 </el-select>
               <el-input v-model="QueryArray[key]" style="width: 49%"></el-input>
           <span> <i class="el-icon-delete" style="font-size: 22px;margin-top:8px;margin-left: 10px"/></span>
-    </div>
-  </template>
-</div>
+             </div>
+          </template>
+        </div>
            </el-dialog>
+              <!--            妯℃澘鍏嬮殕  -->
+                <el-dialog :visible.sync="CloneVisible" append-to-body title="鍏嬮殕妯℃澘">
+                  <el-container>
+                    <el-aside width="300px">
+                      <div style="margin-bottom: 5px"><el-tag>涓婚搴撳垎绫�</el-tag></div>
+                        <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata"
+                                   :defaultExpandAll="false"
+                                   :option="Treeoption"
+                                   style="height: 50.5vh;margin-right: 10px"
+                                   @node-click=" nodeClick"
+                                   @check-change="checkChange"
+                        >
+                        </avue-tree>
+                    </el-aside>
+                     <el-container>
+                       <el-main>
+                         <div style="padding-left: 10px;height: 50.5vh">
+                           <div style="margin: 8px 0;display: flex">
+                             <el-select v-model="Clonevalue" size="small" style="width: 130px;">
+                               <el-option
+                                 v-for="item in this.CloneSelectOptions"
+                                 :key="item.value"
+                                 :label="item.label"
+                                 :value="item.value">
+                              </el-option>
+                             </el-select>
+                            <el-input v-model="CloneFind" size="small" style="width: 40%;margin-left: 15px" placeholder="杈撳叆鍊煎悗鎸夊洖杞﹁繘琛屾ā绯婃煡璇�"></el-input>
+                             <el-button size="small" type="primary" plain style="margin-left: 10px" @click="CloneEnterFind"  @keyup.enter.native="CloneEnterFind">鏌ヨ</el-button>
+                           </div>
+                            <avue-crud v-model="ClonecrudForm" v-loading="FormLoing" :data="this.CloneFormlist"
+                                       :option="this.ClonecrudTreeOption"
+                                       @selection-change="selectionChange"
+                            ></avue-crud>
+                         </div>
+                       </el-main>
+                     </el-container>
+                    </el-container >
+                   <div style="display: flex; justify-content: flex-end; align-items: center;margin-top: 10px" >
+                     <el-button size="small " type="primary" @click="Clonehandler">纭畾</el-button>
+                     <el-button size="small" @click="CloneVisible=false" >鍙栨秷</el-button>
+                   </div>
+                      <el-dialog
+                        width="30%"
+                        title="鍏嬮殕妯℃澘"
+                        :visible.sync="CloneinnerVisible"
+                        append-to-body>
+                        <div>
+                          <avue-form :option="CloneOption" @submit="Clonesubmit" v-model="CloneModel"></avue-form>
+                        </div>
+                    </el-dialog>
+                </el-dialog>
             </template>
           </avue-crud>
+
           </basic-container>
-    <templatePro :ProData="this.ProData"></templatePro>
-        </span>
-        <span v-else-if="type.prop==='tab2'">
-           <classifyTreeform ref="childForm" :TreeNewForm="TreeList" :nodeList="nodeList"></classifyTreeform>
+          <templatePro :ProData="this.ProData"></templatePro>
         </span>
       </basic-container>
     </el-main>
@@ -140,8 +194,10 @@
   gridCodeClassifyFindTemplate,
   addSave,
   deleteData,
-  editSave
+  editSave,
+  copy
 } from "@/api/template/templateAttr";
+import done from "@/views/work/done";
 
 export default {
   name: "classifyTrees.vue",
@@ -157,6 +213,9 @@
       FindText: "",
       //楂樼骇鏌ヨ瀵硅瘽妗�
       FindFormVisible: false,
+      //鍏嬮殕妯℃澘瀵硅瘽妗�
+      CloneVisible: false,
+      CloneinnerVisible:false,
       //楂樼骇鏌ヨ涓嬫媺妗�
       FindSelect: {
         id: "0",
@@ -215,19 +274,101 @@
         // //杩欎釜鏄閫�
         // multiple: true,
       },
+      //妯℃澘绠$悊form
       crudForm: "",
-      //鍔ㄦ�佸垏鎹㈠鐞嗚繃鐨勮〃鏍兼暟鎹�
+      //鍏嬮殕妯℃澘form
+      ClonecrudForm: "",
+      //鍔ㄦ�佸垏鎹㈠鐞嗚繃鐨勬ā鏉胯〃鏍兼暟鎹�
       Formlist: [],
+      //鍏嬮殕妯℃澘鏁版嵁
+      CloneFormlist: [],
+      //鍏嬮殕妯℃澘涓嬫媺妗唙alue
+      Clonevalue: "0",
+      //鍏嬮殕妯℃澘鎼滅储杈撳叆妗�
+      CloneFind:"",
+      //鍏嬮殕妯℃澘涓嬫媺妗嗘暟鎹�
+      CloneSelectOptions: [{
+        value: '0',
+        label: '妯℃澘缂栧彿'
+        },
+        {
+          value: '1',
+          label: '妯℃澘鍚嶇О'
+        },
+      ],
+      //鍏嬮殕妯℃澘纭琛ㄥ崟鏁版嵁
+      CloneOption:{
+        column:[
+          {
+            label:'妯℃澘缂栧彿',
+            prop:'id',
+            rules: [{
+              required: true,
+              message: "璇疯緭鍏ユā鏉跨紪鍙�",
+              trigger: "blur"
+            }]
+          }, {
+            label:'妯℃澘鍚嶇О',
+            prop:'name',
+            rules: [{
+              required: true,
+              message: "璇疯緭鍏ユā鏉垮悕绉�",
+              trigger: "blur"
+            }]
+          },
+          {
+            label:'鎻忚堪',
+            prop:'desc',
+            type:'textarea',
+            span:24
+          }
+        ]
+      },
+      //鍏嬮殕妯℃澘鍙屽悜缁戝畾鏁版嵁
+      CloneModel:[],
+      CloneSelect:[],
+      //鍏嬮殕妯℃澘option
+      ClonecrudTreeOption: {
+        index: true,
+        border: true,
+        menu: false,
+        addBtn: false,
+        selection: true,
+        header: false,
+        height: 430,
+        column: [
+          {
+            label: "妯℃澘缂栧彿",
+            prop: "id"
+          },
+          {
+            label: "妯℃澘鍚嶇О",
+            prop: "name"
+          },
+          {
+            label: "妯℃澘鎻忚堪",
+            prop: "description"
+          },
+          {
+            label: "鐗堟湰鍙�",
+            prop: "revisionSeq",
+            display: false
+          },
+          {
+            label: "鐘舵��",
+            prop: "lcStatusText",
+            display: false
+          }
+        ]
+      },
       //tab鐘舵��
       type: {},
       //Tab閰嶇疆椤�
       tabOption: {
         column: [{
-          icon: 'el-icon-info',
           label: '鍩烘湰淇℃伅',
           prop: 'tab1',
         }, {
-          icon: 'el-icon-warning',
           label: '妯℃澘绠$悊',
           prop: 'tab2',
         }]
@@ -247,7 +388,7 @@
       ],
       //浼犻�掔粰瀛愮粍浠跺姩鎬佹覆鏌撶殑鏁版嵁
       TreeList: {},
-      codeClassifyOid:""
+      codeClassifyOid: ""
     }
   },
   //tab鏍忛粯璁ゆ槸琛ㄦ牸
@@ -448,7 +589,7 @@
     async nodeClick(data) {
       //瀹氫箟涓�涓ā鏉垮睘鎬d锛屾暟鎹槸妯℃澘绠$悊琛ㄦ牸閲岄潰鐨刼id
       this.nodeClickList = data
-      //console.log(data.oid)
+      console.log(data.oid)
       try {
         await TreeObjcet(data.oid).then(res => {
           this.FlagObj = res.data.data
@@ -456,14 +597,22 @@
           this.$message.error(res)
         })
         //妯℃澘绠$悊琛ㄦ牸鏁版嵁
-        await gridCodeClassifyTemplate({'conditionMap[codeClassifyOid]':data.oid }).then(res => {
-          this.Formlist = res.data.data.filter(item => {
-            if (item.codeclassifyoid != "") {
-              this.codeClassifyOid=item.codeclassifyoid
-              return item.codeclassifyoid == this.nodeClickList.oid
-            }
-          })
-          console.log("formlist", this.Formlist)
+        await gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': data.oid}).then(res => {
+          if (this.CloneVisible != true) {
+            this.Formlist = res.data.data.filter(item => {
+              if (item.codeclassifyoid != "") {
+                this.codeClassifyOid = item.codeclassifyoid
+                return item.codeclassifyoid == this.nodeClickList.oid
+              }
+            })
+          } else {
+            this.CloneFormlist = res.data.data.filter(item => {
+              if (item.codeclassifyoid != "") {
+                this.codeClassifyOid = item.codeclassifyoid
+                return item.codeclassifyoid == this.nodeClickList.oid
+              }
+            })
+          }
           gridCodeClassifyTemplateAttr({'conditionMap[classifyTemplateOid]': this.Formlist[0].oid}).then(res => {
             this.ProData = res.data.data
             console.log(this.ProData)
@@ -548,25 +697,28 @@
       }
     },
     //妯℃澘绠$悊娓叉煋
-    CrudRend(){
-      gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]':this.nodeClickList.oid }).then(res=>{
+    CrudRend() {
+      gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': this.nodeClickList.oid}).then(res => {
         this.Formlist = res.data.data
       })
     },
     //妯℃澘绠$悊琛ㄦ牸娣诲姞
-    CrudRowSave(row){
-      if(this.nodeClickList.length <= 0){
+    CrudRowSave(row,done) {
+      debugger
+      console.log(nodeClickList.length)
+      if (this.nodeClickList.length <= 0) {
         this.$message({
           type: 'warning',
           message: '璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�!'
         });
-      }else {
+      } else {
         console.log(this.nodeClickList)
-        let codeClassifyOid=this.codeClassifyOid
-        this.$set(row,"codeclassifyoid",codeClassifyOid)
-        addSave(row).then(res=>{
+        let codeClassifyOid = this.codeClassifyOid
+        this.$set(row, "codeclassifyoid", codeClassifyOid)
+        addSave(row).then(res => {
           this.CrudRend()
-        }).catch(res=>{
+          done()
+        }).catch(res => {
           this.$message({
             type: 'info',
             message: res
@@ -575,10 +727,10 @@
       }
     },
     //妯℃澘绠$悊淇敼
-    CrudRowUpdata(row){
-      editSave(row).then(()=>{
+    CrudRowUpdata(row) {
+      editSave(row).then(() => {
         this.CrudRend()
-      }).catch(res=>{
+      }).catch(res => {
         this.$message({
           type: 'info',
           message: res
@@ -586,10 +738,10 @@
       })
     },
     //妯℃澘绠$悊鍒犻櫎
-    CrudRowDel(row){
-      deleteData(row).then(res=>{
+    CrudRowDel(row) {
+      deleteData(row).then(res => {
         this.CrudRend()
-      }).catch(res=>{
+      }).catch(res => {
         this.$message({
           type: 'info',
           message: res
@@ -611,11 +763,64 @@
         })
       }
     },
+    //鍏嬮殕妯℃澘鏌ヨ
+    CloneEnterFind(){
+      gridCodeClassifyTemplate().then(res => {
+        this.CloneFormlist = res.data.data.filter(item => {
+          if(this.Clonevalue == 0){
+            return item.id.includes(this.CloneFind)
+          }else if(this.Clonevalue == 1){
+            return item.name.includes(this.CloneFind)
+          }
+        })
+      })
+    },
+    //鍏嬮殕妯℃澘閫夋嫨纭畾
+    Clonehandler(){
+      if(this.CloneFormlist.length <= 0){
+        this.$message({
+          type: 'warning',
+          message: '璇烽�夋嫨瑕佸厠闅嗙殑妯℃澘!'
+        });
+      }else if(this.CloneSelect.length >1){
+        this.$message({
+          type: 'warning',
+          message: '鍙兘閫夋嫨涓�鏉℃暟鎹�!'
+        });
+      } else {
+        this.CloneinnerVisible=true
+      }
+    },
+    //鐐瑰嚮浠庡叾瀹冩ā鏉垮厠闅�
+    CloneBtn(){
+      if(this.nodeClickList.length <= 0){
+        this.$message({
+          type: 'warning',
+          message: '璇峰厛浠嶽涓婚搴撳垎绫汇�戞爲涓婇�夋嫨涓�鏉℃暟鎹�!'
+        });
+      }else {
+        this.CloneVisible=true;
+      }
+    },
+    //鍏嬮殕妯℃澘鍗曢�夋鏀瑰彉
+    selectionChange(row){
+      console.log(row)
+      this.CloneSelect=row
+      this.CloneModel.id=row[0].id;
+      this.CloneModel.name=row[0].name;
+    },
+    //鍏嬮殕琛ㄥ崟鎻愪氦
+    Clonesubmit(done){
+      copy(this.CloneSelect[0]).then(res=>{
+        console.log(res)
+        done()
+      })
+    },
     //鍒锋柊
     TemRefresh() {
       this.FormLoing = true
       if (this.nodeClickList.oid != "") {
-        gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]':this.nodeClickList.oid}).then(res => {
+        gridCodeClassifyTemplate({'conditionMap[codeclassifyoid]': this.nodeClickList.oid}).then(res => {
           this.Formlist = res.data.data.filter(item => {
             return item.codeclassifyoid == this.nodeClickList.oid
           })
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue
new file mode 100644
index 0000000..2ea5f05
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigCrudDialog.vue
@@ -0,0 +1,441 @@
+<template>
+    <el-dialog
+        title="閫夋嫨鍙傜収閰嶇疆"
+        append-to-body
+        :visible.sync="isShowReferConfigCrud"
+        width="94%"
+        id="refer-config-dialog"
+        style="height: 115vh; margin-top: -14vh; overflow-y: hidden">
+        <div style="width: 100%; overflow-y: auto; height: 70vh">
+            <el-row style="width: 100%; height:70%">
+                <el-col style="width: 70%; height: 100%;">
+                    <basic-container style="width: 100%; ">
+                        <avue-crud :option="referConfigCrudOption"
+                            class="refer-config-crud"
+                            :page.sync="referConfigParams.referConfigPage"
+                            :table-loading="referConfigParams.referConfigLoading"
+                            :data="referConfigParams.referConfigData"
+                            :ref= "referConfigParams.ref"
+                            @row-click="referConfigRowClick"
+                            @selection-change="referConfigDataChange"
+                            @search-change="referConfigSearchChange"
+                            @search-reset="referConfigSearchReset">
+                            <template #radio="{row}">
+                                <el-radio v-model="referConfigParams.referConfigSelectedRow"
+                                    :label="row.$index">
+                                    &nbsp;
+                                </el-radio>
+                            </template>
+                        </avue-crud>
+                    </basic-container>
+                </el-col>
+                <el-col v-show="true" style="width: 30%; height: 100%;">
+                    <basic-container style="width: 100%;">
+                        <avue-form ref="refereConfigForm" 
+                        style="height: 65vh;"
+                        :option="formOption" 
+                        class="refer-confg-form"
+                        ></avue-form>
+                    </basic-container>
+                </el-col>
+            </el-row>
+            <el-row style="width: 100%; height:30%; margin-top: 130px">
+                <basic-container style="width: 100%; height:100%;">
+                    <avue-crud :option="attrAndSrchCondOption"
+                        class="refer-attrorsrchcond-crud"
+                        :table-loading="attrAndSrchCondParams.attrAndSrchCondLoading"
+                        :data="attrAndSrchCondParams.attrAndSrchCondData"
+                        :ref= "attrAndSrchCondParams.ref"
+                        @row-click="attrAndSrchCondRowClick">
+                    </avue-crud>
+                </basic-container>
+            </el-row>
+        </div>
+        <div slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="selectedreferConfig('selectedSave')">閫夋嫨骞朵繚瀛�</el-button>
+            <el-button @click="selectedreferConfig('selectedEdit')">閫夋嫨骞朵慨鏀�</el-button>
+        </div>
+    </el-dialog>
+</template>
+
+<script>
+//import func from "@/util/func";
+export default {
+    name: "referConfigDialog",
+        props: {
+        },
+        data() {
+            return{
+                isShowReferConfigCrud:false,
+                referConfigCrudOption: {
+                    border: true,
+                    height: '56vh',
+                    tip: false,
+                    searchShow: true,
+                    searchMenuSpan: 6,
+                    index: true,
+                    selection: false,
+                    menu: false,
+                    addBtn: false,
+                    refreshBtn: false,
+                    searchShowBtn: false,
+                    columnBtn: false,
+                    dialogClickModal: false,
+                    highlightCurrentRow: true,
+                    align: 'center',
+                    menuAlign: 'center',
+                    column: [
+                        {
+                            label: '-',
+                            prop: 'radio',
+                            width: 60,
+                            hide: false
+                        },{
+                            label: '鍙傜収閰嶇疆缂栧彿',
+                            width: 120,
+                            search: true,
+                            searchSpan: 9,
+                            searchLabelWidth: 100,
+                            prop: 'id'
+                        },{
+                            label: '鍙傜収閰嶇疆鍚嶇О',
+                            search: true,
+                            searchSpan: 9,
+                            searchLabelWidth: 100,
+                            prop: 'name'
+                        },{
+                            label: '鍙傜収鐨勪笟鍔$被鍨�',
+                            search: false,
+                            prop: 'referType'
+                        },{
+                            label: '鏄剧ず鐨勫睘鎬�',
+                            search: false,
+                            prop: 'textField' 
+                        },{
+                            label: '瀛樺偍鍊肩殑灞炴��',
+                            search: false,
+                            prop: 'valueField' 
+                        },{
+                            label: '鍙傜収绐楀彛绫诲瀷',
+                            search: false,
+                            prop: 'typeText' 
+                        }
+                    ],
+                },
+                referConfigParams: {
+                    ref: "referConfigCrud",
+                    referConfigLoading: false,
+                    referConfigData: [],
+                    referConfigPage: {
+                        pageSize: 10,
+                        currentPage: 1,
+                        total: 0
+                    },
+                    referConfigQuery: {},
+                    referConfigSelectedRowData: '',
+                    // 褰撳墠閫変腑琛�
+                    referConfigSelectedRow: '',
+                },
+                formOption: {
+                    submitBtn: false,
+                    emptyBtn: false,
+                    labelWidth: '110', //榛樿鏍囩瀹藉害
+                    column: [{            
+                            label: '姣忛〉鏄剧ず鏉℃暟',
+                            prop: 'limit',
+                            span: 24,
+                            disabled: true,
+                            row: true,
+                            placeholder: ' ',
+                        },{
+                            label: '鎺掑簭瀛楁',
+                            prop: 'sortField',
+                            span: 24,
+                            disabled: true,
+                            row: true,
+                            placeholder: ' ',
+                        },{
+                            label: '鎺掑簭绫诲瀷',
+                            prop: 'sortType',
+                            span: 24,
+                            dicData: [{
+                                label: '鍗囧簭', value: 'asc'
+                            }, {
+                                label: '闄嶅簭', value: 'desc'
+                            }],
+                            type: 'select',
+                            disabled: true,
+                            row: true,
+                            placeholder: ' ',
+                        }
+                    ]
+                },
+                // 鎺掑簭绫诲瀷鐨勮〃鍗曢厤缃�
+                sortColumn:[{            
+                    label: '姣忛〉鏄剧ず鏉℃暟',
+                    prop: 'limit',
+                    span: 24,
+                    disabled: true,
+                    row: true,
+                    placeholder: ' ',
+                },{
+                    label: '鎺掑簭瀛楁',
+                    prop: 'sortField',
+                    span: 24,
+                    disabled: true,
+                    row: true,
+                    placeholder: ' ',
+                },{
+                    label: '鎺掑簭绫诲瀷',
+                    prop: 'sortType',
+                    span: 24,
+                    dicData: [{
+                        label: '鍗囧簭', value: 'asc'
+                    }, {
+                        label: '闄嶅簭', value: 'desc'
+                    }],
+                    type: 'select',
+                    disabled: true,
+                    row: true,
+                    placeholder: ' ',
+                }],
+                // 鏍戝舰绫诲瀷鐨勮〃鍗曢厤缃�
+                treeColumn:[{
+                    label: '鏍戝舰鐨勪笂绾у睘鎬�',
+                    prop: 'parentFieldName',
+                    span: 7,
+                    tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婁笅绾у叧绯绘煡鎵剧殑灞炴�с��',
+                    tipPlacement: 'right',
+                    rules: [{
+                        required: true,
+                        message: "(鏍戝舰鐨勪笂绾у睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                    }],
+                },{
+                    label: '涓婄骇灞炴�у�煎搴斿睘鎬�',
+                    prop: 'parentUsedField',
+                    span: 7,
+                    tip: '涓婄骇灞炴�у瓨鍌ㄧ殑鍊�,鏄笂绾ф暟鎹殑浠�涔堝睘鎬с�備竴鑸兘鏄痮id銆�',
+                    value: 'oid',
+                    tipPlacement: 'right',
+                },{
+                    label: '鏍硅妭鐐圭殑鍊�',
+                    prop: 'parentValue',
+                    span: 7,
+                    tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婄骇鐨勫�笺��',
+                    tipPlacement: 'right',
+                },{
+                    label: '鏍戝姞杞芥柟寮�',
+                    prop: 'loadType',
+                    span: 7,
+                    value: 'all',
+                    dicData: [{
+                        label: '鍏ㄩ儴', value: 'all'
+                    }, {
+                        label: '閫愮骇鍔犺浇', value: 'node'
+                    }],
+                    type: 'select',
+                },{
+                    label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣',
+                    prop: 'onlyLeaf',
+                    span: 7,
+                    value: false,
+                    type: 'switch',
+                },{
+                    label: '鎺掑簭瀛楁',
+                    prop: 'sortField',
+                    span: 7,
+                    //type: 'table',
+                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
+                    tipPlacement: 'right',
+                },{
+                    label: '鎺掑簭绫诲瀷',
+                    prop: 'sortType',
+                    span: 7,
+                    type: 'select',
+                    value: 'asc',
+                    dicData: [{
+                        label: '鍗囧簭', value: 'asc'
+                    }, {
+                        label: '闄嶅簭', value: 'desc'
+                    }],
+                },],
+                // 骞冲彴绫诲瀷鐨勮〃鍗曢厤缃�
+                standColumn:[{
+                    label: '鍙傝�冪殑UI涓婁笅鏂�',
+                    prop: 'referContent',
+                    span: 7,
+                    tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�',
+                    tipPlacement: 'right',
+                },
+                {
+                    label: '骞冲彴鐨勮〃鏍肩紪鍙�',
+                    prop: 'displayTable',
+                    span: 7,
+                    tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�',
+                    tipPlacement: 'right',
+                }],
+
+                // 鏄剧ず鐨勫睘鎬у拰鏌ヨ鏉′欢琛ㄦ牸鍖哄煙
+                attrAndSrchCondOption: {
+                    border: true,
+                    height: '40vh',
+                    tip: false,
+                    searchShow: false,
+                    searchMenuSpan: 6,
+                    index: true,
+                    selection: false,
+                    menu: false,
+                    addBtn: false,
+                    refreshBtn: false,
+                    searchShowBtn: false,
+                    columnBtn: false,
+                    dialogClickModal: false,
+                    highlightCurrentRow: true,
+                    align: 'center',
+                    menuAlign: 'center',
+                    column: [
+                        {
+                            label: '鏌ヨ鏉′欢',
+                            children: [
+                                {
+                                    label: '绛涢�夊瓧娈�',
+                                    prop: 'filterField',
+                                },{
+                                    label: '绛涢�夌被鍨�',
+                                    prop: 'filterType',
+                                },{
+                                    label: '绛涢�夌殑鍊�',
+                                    prop: 'filterValue',
+                                }
+                            ],
+                        },{
+                            label: '鏄剧ず鐨勫睘鎬�',
+                            children: [
+                                {
+                                    label: '鍒楀瓧娈�',
+                                    // width: 120,
+                                    prop: 'field',
+                                     //type: 'select',
+                                    // props: {
+                                    //     label: 'name',
+                                    //     value: 'code'
+                                    // },
+                                    // dicUrl: 'https://cli.avuejs.com/api/area/getProvince'
+                                },{
+                                    label: '鍒楀悕',
+                                    prop: 'title'
+                                },{
+                                    label: '瀛楁绫诲瀷',
+                                    prop: 'fieldType'
+                                },{
+                                    label: '鍒楄〃鍙帓搴�',
+                                    prop: 'sort' 
+                                },{
+                                    label: '鎺掑簭瀛楁',
+                                    prop: 'sortField' 
+                                },{
+                                    label: '瀛楁瀹藉害',
+                                    prop: 'width' 
+                                },{
+                                    label: '鍒楀浐瀹氫綅缃�',
+                                    prop: 'fixedText' 
+                                },{
+                                    label: 'js鏄剧ず浠g爜',
+                                    prop: 'templet' 
+                                }
+                            ]
+                        }, 
+                    ],
+                },
+                attrAndSrchCondParams: {
+                    ref: "attrOrSrchCondCrud",
+                    attrAndSrchCondLoading: false,
+                    attrAndSrchCondData: [],
+                },
+                
+            }
+        },
+        methods: {
+            // 涓嬩竴姝ヨ杩涜鐨勬搷浣滈�夋嫨骞朵繚瀛樻垨閫夋嫨骞朵慨鏀�
+            selectedreferConfig(condition) {
+                // 褰撳墠閫変腑鐨勫弬鐓ч厤缃
+                let currentSeletedRow = this.referConfigParams.referConfigSelectedRowData;
+                if(!currentSeletedRow){
+                    this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹紒");
+                    return;
+                }
+                if(condition == "selectedSave"){
+                    console.log(currentSeletedRow);
+                }else {
+                    console.log(currentSeletedRow);
+                }
+            },
+            referConfigOnload(page, params = {}){
+                this.referConfigParams.referConfigLoading = true;
+                this.referConfigParams.referConfigData = [
+                    {
+                        id: 'test',
+                        name: '娴嬭瘯',
+                        referType: 'test',
+                        textField: 'test',
+                        valueField: 'test',
+                        typeText:'榛樿閰嶇疆',
+                    },{
+                        id: 'test1',
+                        name: '娴嬭瘯1',
+                        referType: 'test1',
+                        textField: 'test1',
+                        valueField: 'test1',
+                        typeText:'骞冲彴閰嶇疆',
+                    }
+                ];
+                this.$nextTick(() => {
+                    this.$refs[this.referConfigParams.ref].doLayout()
+                })
+                this.referConfigParams.referConfigLoading = false;
+            },
+            referBtmTypeSizeChange(pageSize){
+                this.referConfigParams.referConfigPage.pageSize = pageSize;
+            },
+            referBtmTypeCurrentChange(currentPage){
+                this.referConfigParams.referConfigPage.currentPage = currentPage;
+            },
+            referConfigRowClick(row){
+                this.referConfigParams.referConfigSelectedRowData = row;
+                this.referConfigParams.referConfigSelectedRow = row.$index
+                this.attrAndSrchCondOnload(row);
+            },
+            referConfigDataChange(params, done){
+                this.referConfigParams.referConfigQuery = params;
+                this.referConfigParams.referConfigPage.currentPage = 1;
+                this.referConfigOnload(this.referConfigParams.referConfigPage, params);
+                done();
+            },
+            referConfigSearchReset(){
+                this.referConfigParams.referConfigQuery = {};
+                this.referConfigOnload(this.referConfigParams.referConfigPage);
+            },
+
+
+            // 鏄剧ず鐨勫睘鎬у拰鏌ヨ鏉′欢鐩稿叧鏂规硶
+            attrAndSrchCondOnload(row){
+                this.attrAndSrchCondParams.attrAndSrchCondLoading = true;
+                this.attrAndSrchCondParams.attrAndSrchCondParams = row.attrAndSrchCondParams
+                this.attrAndSrchCondParams.attrAndSrchCondLoading = false;
+            },
+
+        },
+}
+</script>
+
+<style>
+
+    .refer-config-crud > .el-card > .el-card__body > .avue-crud__menu {
+        display: none!important;
+    }
+    .refer-attrorsrchcond-crud > .el-card > .el-card__body > .avue-crud__menu {
+        display: none!important;
+    }
+
+</style>
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
similarity index 80%
rename from Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue
rename to Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
index 23f3bcc..40d4f9d 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -3,139 +3,117 @@
     <el-dialog
       title="鍙傜収閰嶇疆"
       append-to-body
-      :visible.sync="isShowReferConfig"
+      :visible.sync="isShowReferConfigForm"
       width="90%"
-      id="refer-config"
+      id="refer-config-form"
       @close="recoveryDataAndForm('initData')"
       style="height: 115vh; margin-top: -14vh; overflow-y: hidden">
-        <el-tabs v-model="activeName" @tab-click="handleClick">
-            <el-tab-pane label="鑷畾涔夊弬鐓ч厤缃�" name="first">
-                <div style="width: 100%; overflow-y: auto; height: 65vh">
-                    <el-row>
-                        <avue-form ref="form" :option="formOption" v-model="form" class="referTypeForm">
-                            <template #referTypeName="{disabled,size}">
-                                <el-input :disabled="disabled"
-                                    :size="size"
-                                    v-model="form.referTypeName"
-                                    ref="referTypeName" 
-                                    placeholder="璇烽�夋嫨 鍙傜収鐨勪笟鍔$被鍨�"
-                                    prefix-icon="el-icon-search"
-                                    readonly="true"
-                                    @focus="openSelectionTable('referType')">
-                                    <i v-show="!disabled" slot="suffix" class="el-icon-circle-close" @click="clearSelectionTable('referType')" style="margin-right: 5px;cursor: pointer;"></i>
-                                </el-input>
-                            </template>
-                            <template #sortField="{disabled,size}">
-                                <el-input :disabled="disabled"
-                                    :size="size"
-                                    v-model="form.sortField"
-                                    ref="sortField" 
-                                    placeholder="璇烽�夋嫨 鎺掑簭瀛楁"
-                                    prefix-icon="el-icon-search"
-                                    readonly="true"
-                                    @focus="openSelectionTable('sortField')">
-                                    <i slot="suffix" class="el-icon-circle-close" @click="clearSelectionTable('sortField')" style="margin-right: 5px;cursor: pointer;"></i>
-                                </el-input>
-                            </template>
-                        </avue-form>
-                    </el-row>
-                    <el-row v-show="form.type=='default' || form.type=='grid'">
-                        <avue-crud
-                            ref="crudAttr"
-                            class="crud-attr"
-                            :option="attrOption"
-                            @cell-click="clickAttrEdit"
-                            :data="attrData">
-                            <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
-                            <template slot="menu" slot-scope="scope">
-                                <el-button type="text"
-                                    size="small"
-                                    icon="el-icon-search"
-                                    plain
-                                    @click="scope.row.isquery=!scope.row.isquery">
-                                    {{scope.row.isquery ? "鍙栨秷蹇�熸煡璇�":"蹇�熸煡璇�"}}
-                                </el-button>
-                                <el-button type="text"
-                                    size="small"
-                                    icon="el-icon-minus"
-                                    plain
-                                    @click="removeCurrentRow(scope.row,'removeAttr')">绉婚櫎
-                                </el-button>
-                            </template>
-                            <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
-                            <template slot="menuLeft" slot-scope="scope">
-                                <el-button type="primary"
-                                    size="small"
-                                    icon="el-icon-plus"
-                                    @click="openSelectionTable('selectAttr')">閫夋嫨灞炴��
-                                </el-button>
-                                <div class="tag-group" style="display: inline">
-                                    <el-tag
-                                        v-for="item in attrData"
-                                        v-show="item.isquery && item.title!=''"
-                                        style="margin-left: 3px"
-                                        :key="item.title"
-                                        type="info"
-                                        size="small"
-                                        effect="dark">
-                                        {{ item.title }}
-                                    </el-tag>
-                                </div>
-                            </template>
-                        </avue-crud>
-                    </el-row>
-                    <el-row style="margin-top: 10px">
-                        <avue-crud
-                            ref="crudAddCondition"
-                            :option="addSearchCondtionOption" 
-                            @cell-click="clickAddSearchCondtionEdit"
-                            :data="addSearchCondtionData">
-                            <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
-                            <template slot="menu" slot-scope="scope">
-                                <el-button type="text"
-                                    size="small"
-                                    icon="el-icon-minus"
-                                    plain
-                                    @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">绉婚櫎
-                                </el-button>
-                            </template>
-                            <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
-                            <template slot="menuLeft" slot-scope="scope">
-                                <el-button type="primary"
-                                    size="small"
-                                    icon="el-icon-plus"
-                                    @click="openSelectionTable('addSearchCondition')">
-                                    娣诲姞鏌ヨ鏉′欢
-                                </el-button>
-                            </template>
-                        </avue-crud>
-                    </el-row>
-                </div>
-            </el-tab-pane>
-            <el-tab-pane label="鐩存帴閫夊彇鍙傜収閰嶇疆" name="second">
-                <div style="width: 100%; overflow-y: auto; height: 65vh">
-                    <avue-crud
-                        :option="selectReferConfigOption"
-                        :table-loading="selectReferConfigLoading"
-                        :data="selectReferConfigData"
-                        :page.sync="selectReferConfigPage"
-                        ref="selectReferConfigCrud"
-                        @row-click="codeRuleRowClick"
-                        @search-change="searchChange"
-                        @search-reset="searchReset"
-                        @selection-change="selectionChange"
-                        @current-change="currentChange"
-                        @size-change="sizeChange"
-                        @refresh-change="refreshChange"
-                        @on-load="onLoad">
-                    </avue-crud>
-                </div>
-            </el-tab-pane>
-        </el-tabs>
+        <div style="width: 100%; overflow-y: auto; height: 70vh">
+            <el-row>
+                <avue-form ref="form" :option="formOption" v-model="form" class="referTypeForm">
+                    <template #referTypeName="{disabled,size}">
+                        <el-input :disabled="disabled"
+                            :size="size"
+                            v-model="form.referTypeName"
+                            ref="referTypeName" 
+                            placeholder="璇烽�夋嫨 鍙傜収鐨勪笟鍔$被鍨�"
+                            prefix-icon="el-icon-search"
+                            readonly="true"
+                            @focus="openSelectionTable('referType')">
+                            <i v-show="!disabled" slot="suffix" class="el-icon-circle-close" @click="clearSelectionTable('referType')" style="margin-right: 5px;cursor: pointer;"></i>
+                        </el-input>
+                    </template>
+                    <template #sortField="{disabled,size}">
+                        <el-input :disabled="disabled"
+                            :size="size"
+                            v-model="form.sortField"
+                            ref="sortField" 
+                            placeholder="璇烽�夋嫨 鎺掑簭瀛楁"
+                            prefix-icon="el-icon-search"
+                            readonly="true"
+                            @focus="openSelectionTable('sortField')">
+                            <i slot="suffix" class="el-icon-circle-close" @click="clearSelectionTable('sortField')" style="margin-right: 5px;cursor: pointer;"></i>
+                        </el-input>
+                    </template>
+                </avue-form>
+            </el-row>
+            <el-row v-show="form.type=='default' || form.type=='grid'">
+                <avue-crud
+                    ref="crudAttr"
+                    class="crud-attr"
+                    :option="attrOption"
+                    @cell-click="clickAttrEdit"
+                    :data="attrData">
+                    <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
+                    <template slot="menu" slot-scope="scope">
+                        <el-button type="text"
+                            size="small"
+                            icon="el-icon-search"
+                            plain
+                            @click="scope.row.isquery=!scope.row.isquery">
+                            {{scope.row.isquery ? "鍙栨秷蹇�熸煡璇�":"蹇�熸煡璇�"}}
+                        </el-button>
+                        <el-button type="text"
+                            size="small"
+                            icon="el-icon-minus"
+                            plain
+                            @click="removeCurrentRow(scope.row,'removeAttr')">绉婚櫎
+                        </el-button>
+                    </template>
+                    <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
+                    <template slot="menuLeft" slot-scope="scope">
+                        <el-button type="primary"
+                            size="small"
+                            icon="el-icon-plus"
+                            @click="openSelectionTable('selectAttr')">閫夋嫨灞炴��
+                        </el-button>
+                        <div class="tag-group" style="display: inline">
+                            <el-tag
+                                v-for="item in attrData"
+                                v-show="item.isquery && item.title!=''"
+                                style="margin-left: 3px"
+                                :key="item.title"
+                                type="info"
+                                size="small"
+                                effect="dark">
+                                {{ item.title }}
+                            </el-tag>
+                        </div>
+                    </template>
+                </avue-crud>
+            </el-row>
+            <el-row style="margin-top: 10px">
+                <avue-crud
+                    ref="crudAddCondition"
+                    :option="addSearchCondtionOption" 
+                    @cell-click="clickAddSearchCondtionEdit"
+                    :data="addSearchCondtionData">
+                    <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
+                    <template slot="menu" slot-scope="scope">
+                        <el-button type="text"
+                            size="small"
+                            icon="el-icon-minus"
+                            plain
+                            @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">绉婚櫎
+                        </el-button>
+                    </template>
+                    <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
+                    <template slot="menuLeft" slot-scope="scope">
+                        <el-button type="primary"
+                            size="small"
+                            icon="el-icon-plus"
+                            @click="openSelectionTable('addSearchCondition')">
+                            娣诲姞鏌ヨ鏉′欢
+                        </el-button>
+                    </template>
+                </avue-crud>
+            </el-row>
+        </div>
+
         <div slot="footer" class="dialog-footer">
             <el-button type="primary" @click="selectedListReferConfig">纭� 瀹�</el-button>
             <el-button @click="recoveryDataAndForm('initForm')">娓呯┖鍐呭</el-button>
-            <el-button @click="isShowReferConfig = false">鍙� 娑�</el-button>
+            <el-button @click="isShowReferConfigForm = false">鍙� 娑�</el-button>
         </div>
 
         <el-dialog title="涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊�"
@@ -159,7 +137,7 @@
                 <template #radio="{row}">
                     <el-radio v-model="referBtmTypeSelectRow"
                         :label="row.$index">
-                        -
+                        &nbsp;
                     </el-radio>
                 </template>
             </avue-crud>
@@ -189,7 +167,7 @@
                 <template #radio="{row}">
                     <el-radio v-model="sortFieldSelectRow"
                         :label="row.$index">
-                        -
+                        &nbsp;
                     </el-radio>
                 </template>
             </avue-crud>
@@ -246,47 +224,18 @@
 </template>
     
 <script>
+    import func from "@/util/func";
     export default {
         name: "referConfigDialog",
         props: {
-            //鏈満鏅彉閲�
-            thisSceneTableData: {
-                type: Array,
-            },
         },
         data() {
             let element = '';
             return {
-                //娴嬭瘯琛ㄦ牸琛岀紪杈戞晥鏋�
-                // tableData:[{
-                //         field: 'id',
-                //         title: '缂栧彿',
-                //         fieldType: 'text',
-                //         fieldTypeText: '鏂囨湰妗�',
-                //         sort: true,
-                //         sortField: 'id',
-                //         width: '150',
-                //         isquery: true,
-                //         $cellEdit: false
-                // },{
-                //         field: 'name',
-                //         title: '鍚嶇О',
-                //         fieldType: 'text',
-                //         fieldTypeText: '鏂囨湰妗�',
-                //         sort: true,
-                //         sortField: 'name',
-                //         width: '180',
-                //         isquery: true,
-                //         $cellEdit: false
-                // }],
-                // tableOption:{
-                //     tableData:[], //琛ㄦ牸鏁版嵁
-                //     options:[] //琛ㄦ牸閰嶇疆椤逛俊鎭紙琛ㄥご锛宭abel瀹藉害绛夛級
-                // },
 
                 activeName: 'first', //褰撳墠娲诲姩鐨則abs
                 labelWidth: '150',   // 鏍囬瀹藉害
-                isShowReferConfig: false,  // 绗竴灞傚璇濇鏄剧ず闅愯棌鎺у埗
+                isShowReferConfigForm: false,  // 绗竴灞傚璇濇鏄剧ず闅愯棌鎺у埗
                 referTypeIsReadOnly: false,
                 // 琛ㄥ崟瀵硅薄
                 form: {
@@ -459,80 +408,6 @@
                         }
                     ]
                 },
-
-                selectReferConfigOption: {
-                    height:'auto',
-                    tip: false,
-                    addBtn: false,
-                    editBtn: false,
-                    //searchShow: false,
-                    searchMenuSpan: 6,
-                    border: false,
-                    index: true,
-                    viewBtn: false,
-                    delBtn: false,
-                    //selection: false,
-                    //disablePage: false,
-                    //refreshBtn: false,
-                    //columnBtn: false,
-                    dialogClickModal: false,
-                    highlightCurrentRow: true,
-                    column: [
-                        {
-                            label: "鍒楀瓧娈�(*)",
-                            prop: "field",
-                        },{
-                            label: "鍒楀悕(*)",
-                            prop: "title",
-                        },{
-                            label: "瀛楁绫诲瀷(*)",
-                            prop: "fieldTypeText",
-                        },{
-                            label: "鍒楄〃鍙帓搴�",
-                            prop: "sort",
-                        },{
-                            label: "鎺掑簭瀛楁",
-                            prop: "sortField",
-                        },{
-                            label: "瀛楁瀹藉害",
-                            prop: "width",
-                        },{
-                            label: "鍒楀浐瀹氫綅缃�",
-                            prop: "fixedText",
-                        },{
-                            label: "js鏄剧ず浠g爜",
-                            prop: "templet",
-                        },
-                    ]
-                },
-                selectReferConfigLoading: false,
-                selectReferConfigData: [
-                    {
-                        field: 'id',
-                        title: '缂栧彿',
-                        fieldType: 'text',
-                        fieldTypeText: '鏂囨湰妗�',
-                        sort: "true",
-                        sortField: 'id',
-                        width: '150',
-                        isquery: true,
-                    },{
-                        field: 'name',
-                        title: '鍚嶇О',
-                        fieldType: 'text',
-                        fieldTypeText: '鏂囨湰妗�',
-                        sort: "true",
-                        sortField: 'name',
-                        width: '180',
-                        isquery: true,
-                    }
-                ],
-                selectReferConfigPage: {
-                    pageSize: 10,
-                    currentPage: 1,
-                    total: 0
-                },
-                selectReferConfigQuery: {},
 
                 //涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇
                 selectionReferBtmTypeOption: {
@@ -1079,32 +954,6 @@
                                     //type: 'table',
                                     tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
                                     tipPlacement: 'right',
-                                    // children: {
-                                    //     border: true,
-                                    //     column: [{
-                                    //         label: '灞炴�ц嫳鏂囩紪鍙�',
-                                    //         width: 120,
-                                    //         search: true,
-                                    //         searchSpan: 8,
-                                    //         searchLabelWidth: 100,
-                                    //         prop: 'id'
-                                    //     },{
-                                    //         label: '灞炴�т腑鏂囧悕绉�',
-                                    //         search: true,
-                                    //         searchSpan: 8,
-                                    //         searchLabelWidth: 100,
-                                    //         prop: 'name'
-                                    //     },{
-                                    //         label: '灞炴�ч暱搴�',
-                                    //         search: false,
-                                    //         prop: 'attrLength'
-                                    //     },{
-                                    //         label: '灞炴�х被鍨�',
-                                    //         search: false,
-                                    //         prop: 'attrType'
-                                    //     }],
-                                    // },
-                                    // 杩欏効闇�瑕佹坊鍔犱笟鍔$被鍨嬫帴鍙h姹傚疄鐜板脊绐楃晫闈㈣〃鏍兼覆鏌�
                                 },{
                                     label: '鎺掑簭绫诲瀷',
                                     prop: 'sortType',
@@ -1122,11 +971,10 @@
                     ]
                 }
             },
-            
         },
         mounted() {
             // 楹荤殑杩欎釜鍦版柟璋冩鎴戜簡
-            this.element = document.getElementById('refer-config');
+            this.element = document.getElementById('refer-config-form');
             this.element.addEventListener("click", (e) => {
                 //<table cellspacing="0" cellpadding="0" border="0" class="el-table__body" style="width: 911px;">
                 //console.log(e.target);
@@ -1162,10 +1010,10 @@
                 this.preClickAttrRow = row;
             },
             // 灞炴�ц〃鏍艰缂栬緫澶卞幓鐒︾偣鏃朵繚瀛樻柟娉�
-            updateAttrBlur(value){
+            // updateAttrBlur(value){
                 //console.log(this.attrData[0]);
                 
-            },
+            // },
             // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈�
             clickAddSearchCondtionEdit(row, column, event){
                 if(this.preClickAddSearchConditionRow && this.preClickAddSearchConditionRow != row){
@@ -1177,21 +1025,20 @@
             },
             //涓婁竴涓〉闈㈠凡缁忛�変腑鍙傜収搴旂敤鐨勪笟鍔$被鍨嬬殑鎯呭喌锛屽拰涓婁竴娆″凡缁忛厤缃繃鍙傜収閰嶇疆鐨勬儏鍐典笅杩涜椤甸潰鍒濆鍖栨覆鏌�
             initPageData(val){
-                let value = JSON.parse(val);
-                if(value != null || value != 'undefined' ){
-                    this.form = value;
+                //console.log(val);
+                if(func.notEmpty(val.referConfig)){
+                    this.form = JSON.parse(val.referConfig);
                     //console.log(val);
                     this.referTypeIsReadOnly = true;
+                    return;
+                }
+                if(func.notEmpty(val.referType)){
+                    this.form.referTypeName = val.referTypeName;
+                    this.form.referType = val.referType;
+                    this.referTypeIsReadOnly = true;
+                    return;
                 }
                 //console.log(localStorage.getItem("userId"));
-            },
-            // 鍒囨崲褰撳墠娲诲姩鐨則abs
-            handleClick(tab, event) {
-                if(tab.index=='0'){
-                    this.onloadAttrData(); 
-                }else{
-                    //this.onloadSelectReferConfigData();
-                }
             },
             // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙�
             selectedListReferConfig(){
@@ -1202,7 +1049,7 @@
                         let submitForm = this.filterForm();
                         //console.log(submitForm);
                         this.$emit('echoReferConfig', submitForm) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠�
-                        this.isShowReferConfig = false;
+                        this.isShowReferConfigForm = false;
                         done()
                     } else {
                         for(let attr in msg) {
@@ -1214,17 +1061,9 @@
                     }
                 })
             },
-            //浠庣紦瀛樹腑閭orm琛ㄥ崟瀵硅薄
-            getLocalStoregeForm(){
-                localStorage.getItem("userId");
-
-            },
             /** 鍏跺疄閫夊彇灞炴�ц〃鏍肩殑榛樿鏁版嵁涓嶉渶瑕佸姞杞斤紝
              浣嗘槸寮圭獥鎵撳紑浼氭湁琛ㄦ牸閿欒闂鎵�浠ラ渶瑕佸湪杩欒皟鐢╠oLayout鏂规硶*/
             onloadAttrData(){
-                this.$nextTick(() => {
-                    this.$refs.crudAttr.doLayout()
-                })
                 this.attrData = [
                     {
                         field: 'id',
@@ -1248,6 +1087,9 @@
                         $cellEdit: false
                     }
                 ];
+                this.$nextTick(() => {
+                    this.$refs.crudAttr.doLayout()
+                })
             },
             // 灞炴�ч�夋嫨琛ㄦ牸涓殑绉婚櫎鎸夐挳鍔熻兘
             removeCurrentRow(row,condition){
@@ -1353,30 +1195,6 @@
              */
             checkArrayIsUndefined(val){
                 return typeof val === 'array' && (val.length === 0 ||val === null || typeof val === 'undefined');
-            },
-            onloadSelectReferConfigData(){
-                this.$nextTick(() => {
-                    this.$refs.selectReferConfigCrud.doLayout()
-                })
-                this.selectReferConfigData = [{
-                    field: 'id',
-                    title: '缂栧彿',
-                    fieldType: 'text',
-                    fieldTypeText: '鏂囨湰妗�',
-                    sort: "true",
-                    sortField: 'id',
-                    width: '150',
-                    isquery: true,
-                },{
-                    field: 'name',
-                    title: '鍚嶇О',
-                    fieldType: 'text',
-                    fieldTypeText: '鏂囨湰妗�',
-                    sort: "true",
-                    sortField: 'name',
-                    width: '180',
-                    isquery: true,
-                }];
             },
             // 鎵撳紑琛ㄦ牸閫夋嫨妗�
             openSelectionTable(condition){
diff --git a/Source/UBCS-WEB/src/main.js b/Source/UBCS-WEB/src/main.js
index 4c51e19..df2be16 100644
--- a/Source/UBCS-WEB/src/main.js
+++ b/Source/UBCS-WEB/src/main.js
@@ -37,9 +37,9 @@
 import TemplatePro from "@/components/Tree/TemplatePro"
 import attrCrud from "@/components/Tree/attrCrud"
 import formulaEditor from "@/components/code-dialog-page/formulaEditor"
-import referConfigDialog from "@/components/code-dialog-page/referConfigDialog"
+import referConfigCrudDialog from "@/components/code-dialog-page/referConfigCrudDialog"
+import referConfigFormDialog from "@/components/code-dialog-page/referConfigFormDialog"
 import businessAdd from "@/views/modeling/BusinessAdd"
-import tableEdit from "@/components/code-dialog-page/tableEdit"
 
 // 娉ㄥ唽鍏ㄥ眬crud椹卞姩
 window.$crudCommon = crudCommon;
@@ -74,10 +74,10 @@
 Vue.component('classifyTreeform',classifyTreeform)
 Vue.component('TemplatePro',TemplatePro)
 Vue.component('formulaEditor',formulaEditor)
-Vue.component('referConfigDialog',referConfigDialog)
+Vue.component('referConfigCrudDialog',referConfigCrudDialog)
+Vue.component('referConfigFormDialog',referConfigFormDialog)
 Vue.component('businessAdd',businessAdd)
 Vue.component('attrCrud',attrCrud)
-Vue.component('tableEdit',tableEdit)
 
 
 
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 059b848..723d656 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -757,11 +757,15 @@
         </div>
       </el-dialog>
 
-      <!-- 绗簩灞傚璇濇,鍙傜収閰嶇疆缁勪欢 -->
-      <refer-config-dialog
-        ref="referConfigDialog"
+      <!-- 绗簩灞傚璇濇,鑷畾涔夊弬鐓ч厤缃瓼orm缁勪欢 -->
+      <refer-config-form-dialog
+        ref="referConfigFormDialog"
         @echoReferConfig="echoReferConfig" >
-      </refer-config-dialog>
+      </refer-config-form-dialog>
+      <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆curd缁勪欢 -->
+      <refer-config-crud-dialog
+        ref="referConfigCrudDialog">
+      </refer-config-crud-dialog>
 
     </el-dialog>
 
@@ -1119,7 +1123,6 @@
         echoReferConfig(content){
           this.form.referBtmId = content.referType;
           this.form.referBtmName = content.referTypeName;
-          //console.log(content);
           //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
           let submitFormJson = JSON.stringify(content);
           this.form.referConfig = submitFormJson;
@@ -2385,14 +2388,46 @@
             this.isShowSelectReferBtmOption = true;
             this.refreshReferBtmDataChange();
           }else if(condition === 'referConfig'){
-            this.$refs.referConfigDialog.isShowReferConfig = true;
-            if(func.notEmpty(this.form.referConfig)){
-               this.$refs.referConfigDialog.initPageData(this.form.referConfig);
+            if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){
+              this.$refs.referConfigFormDialog.isShowReferConfig = true;
+              let value = {
+                referTypeName: this.form.referBtmName,
+                referType: this.form.referBtmId,
+                referConfig: this.form.referConfig,
+              }
+              this.$refs.referConfigFormDialog.initPageData(value);
+            }else{
+              this.openTipsChooseOrCust();
             }
-            //琛ㄦ牸閿欒鐨勯棶棰樻墍
-            this.$refs.referConfigDialog.onloadAttrData();
+             //this.$refs.referConfigFormDialog.onloadAttrData();
           }
         },
+        // 鎵撳紑鑷畾涔夊弬鐓ч厤缃垨鐩存帴閫夋嫨鍙傜収閰嶇疆鐣岄潰
+        openTipsChooseOrCust(){
+          this.$confirm('璇烽�夋嫨鍙傜収閰嶇疆鐨勫畾涔夋柟寮忥紵','鍙傜収閰嶇疆鐨勬柟寮�', {
+            distinguishCancelAndClose: true,
+            closeOnClickModal: false,
+            confirmButtonText: '鑷畾涔夊弬鐓ч厤缃�',
+            cancelButtonText: '鐩存帴閫夋嫨鍙傜収閰嶇疆'
+          })
+          .then(() => {
+            // 鎵撳紑鑷畾鍙傜収閰嶇疆瀵硅瘽妗�
+            this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
+            // 琛ㄦ牸閿欒鐨勯棶棰�
+            this.$refs.referConfigFormDialog.onloadAttrData();
+          })
+          .catch(action => {
+            if (action === "cancel") {
+              // 鎵撳紑鐩存帴閫夋嫨鍙傜収閰嶇疆瀵硅瘽妗�
+              this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true;
+              this.$refs.referConfigCrudDialog.referConfigOnload();
+            }
+            //console.log(action);
+          });
+          // 璁╁弬鐓ч厤缃緭鍏ユ澶卞幓鐒︾偣锛屽惁鍒欒鎻愮ず妗嗘棤娉曡鍏抽棴
+          this.$refs.referConfig.$el.querySelector('input').blur();
+        },
+
         // 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�
         clearAttrDataByIcon(condition){
           if(condition === 'attr'){
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
index 7c76ebe..c69d8c3 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeBasicSec.java
@@ -9,6 +9,8 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.sql.Clob;
+
 /**
  * 鍩虹鐮佹鐨勪俊鎭�
  * 鏂逛究鍦ㄥ悓涓�涓〉闈㈤噷鏄剧ず鎵�鏈夌殑鐮佹
@@ -181,7 +183,6 @@
 	 */
 	private String filterSql ;
 
-
 	/**
 	 * 娴佹按鍙疯捣濮嬪��
 	 */
@@ -191,7 +192,6 @@
 	 * 娴佹按鐨勬闀�
 	 */
 	private Integer serialStep;
-
 
 	/**
 	 * 缂栫爜琛ヤ綅鏂瑰紡
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
index e05cbd7..ce80f90 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeReferConfig.java
@@ -1,9 +1,17 @@
 package com.vci.ubcs.code.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.code.vo.CodeShowFieldConfigVO;
+import com.vci.ubcs.code.vo.CodeSrchCondConfigVO;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
+import org.apache.commons.math3.util.Precision;
+import org.aspectj.weaver.ast.Not;
+import org.ietf.jgss.Oid;
+
+import java.util.List;
 
 /**
  * 鐮佹鍩虹淇℃伅鏁版嵁鎿嶄綔灞�
@@ -20,6 +28,11 @@
 	 * 搴忓垪鍖�
 	 */
 	private static final long serialVersionUID = 957685333614390234L;
+
+	/**
+	 * 绉熸埛ID
+	 */
+	private String tenantId;
 
 	/**
 	 * 鍙傜収鐨勪笟鍔$被鍨�
@@ -131,5 +144,16 @@
 	 */
 	private Integer orderNum;
 
+	/**
+	 * 鏄剧ず鐨勫睘鎬�-鏄剧ず瀵硅薄
+	 */
+	@TableField(exist = false)
+	private List<CodeShowFieldConfig> codeShowFieldConfigs;
+
+	/**
+	 * 鏌ヨ鏉′欢鏄剧ず瀵硅薄
+	 */
+	@TableField(exist = false)
+	private List<CodeSrchCondConfig> codeSrchCondConfigs;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java
index cfc32c2..1c1faa5 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeShowFieldConfig.java
@@ -51,7 +51,7 @@
 	/**
 	 * 鍒楀浐瀹氫綅缃�
 	 */
-	private String fixedText;
+	private String fixedPosition;
 
 	/**
 	 * js鏄剧ず浠g爜
@@ -59,6 +59,11 @@
 	private String templet;
 
 	/**
+	 * 鍏宠仈鐨勫弬鐓ч厤缃富閿�
+	 */
+	private String referConfigOid;
+
+	/**
 	 * 鎺掑簭
 	 */
 	private Integer orderNum;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java
index 4b7f109..72855b5 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSrchCondConfig.java
@@ -35,9 +35,13 @@
 	private String filterValue;
 
 	/**
+	 * 鍏宠仈鐨勫弬鐓ч厤缃富閿�
+	 */
+	private String referConfigOid;
+
+	/**
 	 * 鎺掑簭
 	 */
 	private Integer orderNum;
-
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java
index 40f0b97..951cc9a 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeReferConfigVO.java
@@ -1,10 +1,16 @@
 package com.vci.ubcs.code.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.entity.CodeShowFieldConfig;
+import com.vci.ubcs.code.entity.CodeSrchCondConfig;
 import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
+
+import java.util.List;
 
 /**
  * 鐮佹鍩虹淇℃伅鏁版嵁鎿嶄綔灞�
@@ -13,7 +19,7 @@
  * @date 2023/5/19 17:24
  */
 @Data
-public class CodeReferConfigVO extends BaseModelVO {
+public class CodeReferConfigVO extends CodeReferConfig {
 
 	/**
 	 * 搴忓垪鍖�
@@ -21,59 +27,20 @@
 	private static final long serialVersionUID = 957685333614390234L;
 
 	/**
-	 * 鍙傜収鐨勪笟鍔$被鍨�
+	 * 鍙傜収鐨勪笟鍔$被鍨�-鏄剧ず鏂囨湰
 	 */
-	private String referType;
+	private String referTypeText;
 
 	/**
-	 * 鏄剧ず鐨勫睘鎬�
+	 * 鍙傜収绐楀彛绫诲瀷-鏄剧ず鏂囨湰
 	 */
-	private String textField;
-
-	/**
-	 * 瀛樺偍鍊肩殑灞炴��
-	 */
-	private String valueField;
-
-	/**
-	 * 鍙傜収绐楀彛绫诲瀷
-	 */
-	private String type;
-
-	/**
-	 * 鑷畾涔夌殑鍚庡彴璺緞
-	 */
-	private String url;
-
-	/**
-	 * 鏈嶅姟鐨勫湴鍧�
-	 */
-	private String backPath;
+	private String typeText;
 
 	/**
 	 * 璇锋眰鍚庡彴鐨勫崗璁柟寮�
 	 */
 	private String method;
 
-	/**
-	 * 绐楀彛鏄剧ず鐨勯珮搴�
-	 */
-	private Long height;
-
-	/**
-	 * 杩囨护灞炴�ц姹傚弬鏁�
-	 */
-	private String paramForFormKey;
-
-	/**
-	 * 鏄惁澶氶��
-	 */
-	private String isMuti;
-
-	/**
-	 * 鏄犲皠鍏朵粬灞炴��
-	 */
-	private String mapFields;
 
 	/**
 	 * 鍙傝�冪殑UI涓婁笅鏂�
@@ -125,5 +92,15 @@
 	 */
 	private String onlyLeaf;
 
+	/**
+	 * 鏄剧ず鐨勫睘鎬�-鏄剧ず瀵硅薄
+	 */
+	@TableField(exist = false)
+	private List<CodeShowFieldConfigVO> codeShowFieldConfigVOS;
 
+	/**
+	 * 鏌ヨ鏉′欢鏄剧ず瀵硅薄
+	 */
+	@TableField(exist = false)
+	private List<CodeSrchCondConfigVO> codeSrchCondConfigVOS;
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java
index 619953d..ea63cc9 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeShowFieldConfigVO.java
@@ -1,6 +1,7 @@
 package com.vci.ubcs.code.vo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.code.entity.CodeShowFieldConfig;
 import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
@@ -13,48 +14,24 @@
  * @date 2023/5/19 17:35
  */
 @Data
-public class CodeShowFieldConfigVO extends BaseModelVO {
+public class CodeShowFieldConfigVO extends CodeShowFieldConfig {
 
 	private static final long serialVersionUID = -71135592796848692L;
 
 	/**
-	 * 鍒楀瓧娈�
+	 * 鍏宠仈鐨勫弬鐓ч厤缃甶d
 	 */
-	private String field;
+	private String configOid;
 
 	/**
-	 * 鍒楀悕
+	 * 瀛楁绫诲瀷-鏄剧ず鏂囨湰
 	 */
-	private String title;
+	private String fieldTypeText;
 
 	/**
-	 * 瀛楁绫诲瀷
+	 * 鍒楀浐瀹氫綅缃�-鏄剧ず鏂囨湰
 	 */
-	private String fieldType;
+	private String fixedPositionText;
 
-	/**
-	 * 鍒楄〃鍙帓搴�
-	 */
-	private String sort;
-
-	/**
-	 * 鎺掑簭瀛楁
-	 */
-	private String sortField;
-
-	/**
-	 * 瀛楁瀹藉害
-	 */
-	private Long width;
-
-	/**
-	 * 鍒楀浐瀹氫綅缃�
-	 */
-	private String fixedText;
-
-	/**
-	 * js鏄剧ず浠g爜
-	 */
-	private String templet;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java
index a80d45b..6002bef 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSrchCondConfigVO.java
@@ -1,6 +1,7 @@
 package com.vci.ubcs.code.vo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.code.entity.CodeSrchCondConfig;
 import com.vci.ubcs.code.vo.pagemodel.BaseModelVO;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
@@ -14,23 +15,18 @@
  */
 
 @Data
-public class CodeSrchCondConfigVO extends BaseModelVO {
+public class CodeSrchCondConfigVO extends CodeSrchCondConfig {
 
 	private static final long serialVersionUID = -51655155561881523L;
 
 	/**
-	 * 绛涢�夊瓧娈�
+	 * 鍏宠仈鐨勫弬鐓ч厤缃甶d
 	 */
-	private String filterField;
+	private String configOid;
 
 	/**
 	 * 绛涢�夌被鍨�
 	 */
-	private String filterType;
-
-	/**
-	 * 绛涢�夌殑鍊�
-	 */
-	private String filterValue;
+	private String filterTypeText;
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
index 01bf78a..e2b3bc4 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IBtmTypeClient.java
@@ -20,8 +20,8 @@
  * @date 2023/4/24
  */
 @FeignClient(
-	value = AppConstant.APPLICATION_NAME_OMD,
-	fallback = IBtmTypeFallback.class
+	value = AppConstant.APPLICATION_NAME_OMD
+	//fallback = IBtmTypeFallback.class
 )
 public interface IBtmTypeClient {
 
@@ -76,7 +76,7 @@
 	 * @return 鏌ヨ缁撴灉
 	 */
 	@GetMapping(GET_REF)
-	R<List<BtmTypeVO>> getRef(@RequestParam("condition")Map<String,Object> condition, @RequestParam("domain") String domain);
+	R<List<BtmTypeVO>> getRef(@RequestParam("condition")Map<String,Object> condition,@RequestParam("domain") String domain);
 
 	/**
 	 * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
index a8e70e9..9252a9a 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java
@@ -22,6 +22,7 @@
 	@TableId(value = "OID",type = IdType.ASSIGN_UUID)
 	private String oid;
 
+	@TableField(value = "ID")
 	private String id;
 
 	private String name;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/BladeTreeQueryObject.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/BladeTreeQueryObject.java
new file mode 100644
index 0000000..3b0811d
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/BladeTreeQueryObject.java
@@ -0,0 +1,33 @@
+package com.vci.ubcs.starter.util;
+
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * 鍘熸湰鐨凾reeQueryObject涓璵ap瀵硅薄涓篠tring锛孲tring
+ * 鎵�浠ユ敼涓篠tring锛孫bject
+ * @author ludc
+ * @date 2023/5/23 15:25
+ */
+@Data
+public class BladeTreeQueryObject implements Serializable {
+
+	private static final long serialVersionUID = -7570704940199743059L;
+	private Map<String, Object> conditionMap;
+	private boolean multipleSelect;
+	private boolean showCheckBox;
+	private boolean queryAllLevel;
+	private String parentOid;
+	private String parentBtmName;
+	private String valueField = "oid";
+	private String textField = "name";
+	private String parentFieldName;
+	private Map<String, Object> extendParamsMap;
+	private boolean queryAllRev;
+	private String sort;
+	private String order;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/BladeQueryObject.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/BladeQueryObject.java
new file mode 100644
index 0000000..4c6dd5e
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/pagemodel/BladeQueryObject.java
@@ -0,0 +1,170 @@
+package com.vci.ubcs.starter.web.pagemodel;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import org.springblade.core.mp.support.Query;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 鍥犱负褰撳墠妗嗘灦浣跨敤鐨勬槸query鏉ュ仛鍒嗛〉锛�
+ * 鎵�浠ユ垜杩欒竟鍙傜収浠ュ墠鐨凚ladeQueryObject鏉ヤ慨鏀�
+ * 涓�涓綋鍓嶆鏋朵娇鐢ㄨ捣鏉ユ柟渚夸竴鐐圭殑瀵硅薄
+ * @author ludc
+ * @date 2023/5/23 13:00
+ */
+public class BladeQueryObject implements Serializable {
+
+	@JSONField(
+		serialize = false,
+		deserialize = false
+	)
+	private static final long serialVersionUID = 5608634730007623041L;
+	@JSONField
+	private Map<String, Object> conditionMap = new HashMap();
+	@JSONField
+	private int page = 1;
+	@JSONField
+	private String sort;
+	@JSONField
+	private String order;
+	@JSONField
+	private int limit = 25;
+
+	public BladeQueryObject() {
+	}
+
+	public BladeQueryObject(Map<String, Object> conditionMap) {
+		this.setConditionMap(conditionMap);
+	}
+
+	public BladeQueryObject(int limit) {
+		this.setLimit(limit);
+	}
+
+	public BladeQueryObject(Map<String, Object> conditionMap, int limit) {
+		this.setConditionMap(conditionMap);
+		this.setLimit(limit);
+	}
+
+	public Map<String, Object> getConditionMap() {
+		return this.conditionMap;
+	}
+
+	public Map<String, Object> getConditionMapByNick(String nick) {
+		if (this.conditionMap != null) {
+			Map<String, Object> conditionMapHasNick = new HashMap();
+			this.conditionMap.forEach((k, v) -> {
+				if (!k.contains(".")) {
+					conditionMapHasNick.put(nick + "." + k, v);
+				} else {
+					conditionMapHasNick.put(k, v);
+				}
+
+			});
+			return conditionMapHasNick;
+		} else {
+			return null;
+		}
+	}
+
+	public void setConditionMap(Map<String, Object> conditionMap) {
+		this.conditionMap = conditionMap;
+	}
+
+	public int getPage() {
+		return this.page;
+	}
+
+	public void setPage(int page) {
+		this.page = page;
+	}
+
+	public String getSort() {
+		return this.sort;
+	}
+
+	public void setSort(String sort) {
+		this.sort = sort;
+	}
+
+	public String getOrder() {
+		return this.order;
+	}
+
+	public void setOrder(String order) {
+		this.order = order;
+	}
+
+	public int getLimit() {
+		return this.limit;
+	}
+
+	public void setLimit(int limit) {
+		this.limit = limit;
+	}
+
+	@JSONField(
+		serialize = false,
+		deserialize = false
+	)
+	public Query getQuery() {
+		Query query = new Query();
+		query.setCurrent(this.getPage());
+		query.setSize(this.getLimit());
+		query.setAscs(this.getSort());
+		//query.setOrder(this.getOrder());
+		return query;
+	}
+
+	public BladeQueryObject addSort(String sort, String order) {
+		this.setSort(StringUtils.isBlank(this.getSort()) ? sort : this.getSort() + "," + sort);
+		this.setOrder(StringUtils.isBlank(this.getOrder()) ? order : this.getOrder() + "," + order);
+		return this;
+	}
+
+	public BladeQueryObject addCondition(String key, String value) {
+		if (this.getConditionMap() == null) {
+			this.conditionMap = new HashMap();
+		}
+
+		this.conditionMap.put(key, value);
+		return this;
+	}
+
+	public BladeQueryObject page(Query query) {
+		this.setSort(query.getDescs());
+		this.setSort(query.getAscs());
+		//this.setOrder(query.getOrder());
+		this.setPage(query.getCurrent());
+		this.setLimit(query.getSize());
+		return this;
+	}
+
+	@JSONField(
+		serialize = false,
+		deserialize = false
+	)
+	public Map<String, Object> getFeignRequestMap() {
+		Map<String, Object> feignRequestMap = new HashMap();
+		if (this.conditionMap != null) {
+			this.getConditionMap().forEach((k, v) -> {
+				feignRequestMap.put("conditionMap[\"" + k + "\"]", v);
+			});
+		}
+
+		feignRequestMap.put("page", this.getPage() + "");
+		feignRequestMap.put("limit", this.getLimit() + "");
+		feignRequestMap.put("sort", this.getSort());
+		feignRequestMap.put("order", this.getOrder());
+		return feignRequestMap;
+	}
+
+	@Override
+	public String toString() {
+		return "BladeQueryObject{conditionMap=" + this.conditionMap + ", page=" + this.page + ", sort='" + this.sort + '\'' + ", order='" + this.order + '\'' + ", limit=" + this.limit + '}';
+	}
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
index 5286367..9cdf420 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -26,6 +26,7 @@
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
+import com.vci.ubcs.starter.util.BladeTreeQueryObject;
 import com.vci.ubcs.starter.util.LocalFileUtil;
 import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
 import com.vci.ubcs.starter.web.pagemodel.DataGrid;
@@ -311,6 +312,7 @@
 	public DataGrid<CodeOsattributeVO> listClassifyLinkAttr(BaseQueryObject baseQueryObject){
 		return codeClassifyService.listClassifyLinkAttr(baseQueryObject);
 	}
+
 	/**
 	 * 涓婚敭鑾峰彇涓婚搴撳垎绫�
 	 * @param oid 涓婚敭
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyProcessTempController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyProcessTempController.java
index 10af550..6134e2c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyProcessTempController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyProcessTempController.java
@@ -16,6 +16,7 @@
 import lombok.AllArgsConstructor;
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cglib.beans.BeanMap;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -51,7 +52,7 @@
         if(baseQueryObject == null){
             baseQueryObject = new BaseQueryObject();
         }
-        return R.data(codeClassifyProcessTempService.gridCodeClassifyProcessTemp(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()));
+		return R.data(codeClassifyProcessTempService.gridCodeClassifyProcessTemp(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()));
     }
 
     /**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java
index d0d1fa1..fc02263 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeReferConfigController.java
@@ -1,7 +1,14 @@
 package com.vci.ubcs.code.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vci.ubcs.code.entity.CodeReferConfig;
 import com.vci.ubcs.code.service.CodeReferConfigService;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.http.ResponseEntity;
@@ -18,33 +25,32 @@
 @RestController
 @RequestMapping("codeReferConfig")
 public class CodeReferConfigController {
+
     /**
      * 鏈嶅姟瀵硅薄
      */
     @Resource
-    private CodeReferConfigService plCodeReferconfigService;
+    private CodeReferConfigService codeReferconfigService;
 
     /**
      * 鍒嗛〉鏌ヨ
-     *
-     * @param codeReferConfig 绛涢�夋潯浠�
-     * @param pageRequest      鍒嗛〉瀵硅薄
+     * @param bladeQueryObject 绛涢�夋潯浠�
      * @return 鏌ヨ缁撴灉
      */
-    @GetMapping
-    public ResponseEntity<Page<CodeReferConfig>> queryByPage(CodeReferConfig codeReferConfig, PageRequest pageRequest) {
-        return ResponseEntity.ok(this.plCodeReferconfigService.queryByPage(codeReferConfig, pageRequest));
+    @GetMapping("getReferConfigPage")
+    public R<IPage<CodeReferConfigVO>> queryByPage(BladeQueryObject bladeQueryObject) {
+        return R.data(this.codeReferconfigService.queryByPage(bladeQueryObject));
     }
 
     /**
      * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁
      *
-     * @param id 涓婚敭
+     * @param oid 涓婚敭
      * @return 鍗曟潯鏁版嵁
      */
-    @GetMapping("{id}")
-    public ResponseEntity<CodeReferConfig> queryById(@PathVariable("id") String id) {
-        return ResponseEntity.ok(this.plCodeReferconfigService.queryById(id));
+    @GetMapping("getByOid")
+    public R<CodeReferConfig> queryById(@RequestParam("oid") String oid) {
+        return R.data(this.codeReferconfigService.queryById(oid));
     }
 
     /**
@@ -53,9 +59,9 @@
      * @param codeReferConfig 瀹炰綋
      * @return 鏂板缁撴灉
      */
-    @PostMapping
-    public ResponseEntity<CodeReferConfig> add(CodeReferConfig codeReferConfig) {
-        return ResponseEntity.ok(this.plCodeReferconfigService.insert(codeReferConfig));
+    @PostMapping("/save")
+    public R<CodeReferConfig> add(CodeReferConfig codeReferConfig) {
+        return R.data(this.codeReferconfigService.insert(codeReferConfig));
     }
 
     /**
@@ -64,9 +70,9 @@
      * @param codeReferConfig 瀹炰綋
      * @return 缂栬緫缁撴灉
      */
-    @PutMapping
-    public ResponseEntity<CodeReferConfig> edit(CodeReferConfig codeReferConfig) {
-        return ResponseEntity.ok(this.plCodeReferconfigService.update(codeReferConfig));
+    @PutMapping("/edit")
+    public R<CodeReferConfig> edit(CodeReferConfig codeReferConfig) {
+        return R.data(this.codeReferconfigService.update(codeReferConfig));
     }
 
     /**
@@ -75,9 +81,9 @@
      * @param id 涓婚敭
      * @return 鍒犻櫎鏄惁鎴愬姛
      */
-    @DeleteMapping
-    public ResponseEntity<Boolean> deleteById(String id) {
-        return ResponseEntity.ok(this.plCodeReferconfigService.deleteById(id));
+    @DeleteMapping("/del")
+    public R<Boolean> deleteById(String id) {
+        return R.data(this.codeReferconfigService.deleteById(id));
     }
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java
index 18719b5..73ddf34 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeReferConfigMapper.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.code.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.vci.ubcs.code.entity.CodeReferConfig;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.domain.Pageable;
@@ -11,7 +12,7 @@
  * @author makejava
  * @since 2023-05-19 17:47:51
  */
-public interface CodeReferConfigMapper {
+public interface CodeReferConfigMapper extends BaseMapper<CodeReferConfig> {
 
     /**
      * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
@@ -24,60 +25,11 @@
     /**
      * 鏌ヨ鎸囧畾琛屾暟鎹�
      *
-     * @param plCodeReferconfig 鏌ヨ鏉′欢
+     * @param codeReferConfig 鏌ヨ鏉′欢
      * @param pageable         鍒嗛〉瀵硅薄
      * @return 瀵硅薄鍒楄〃
      */
-    List<CodeReferConfig> queryAllByLimit(CodeReferConfig plCodeReferconfig, @Param("pageable") Pageable pageable);
-
-    /**
-     * 缁熻鎬昏鏁�
-     *
-     * @param plCodeReferconfig 鏌ヨ鏉′欢
-     * @return 鎬昏鏁�
-     */
-    long count(CodeReferConfig plCodeReferconfig);
-
-    /**
-     * 鏂板鏁版嵁
-     *
-     * @param plCodeReferconfig 瀹炰緥瀵硅薄
-     * @return 褰卞搷琛屾暟
-     */
-    int insert(CodeReferConfig plCodeReferconfig);
-
-    /**
-     * 鎵归噺鏂板鏁版嵁锛圡yBatis鍘熺敓foreach鏂规硶锛�
-     *
-     * @param entities List<CodeReferConfig> 瀹炰緥瀵硅薄鍒楄〃
-     * @return 褰卞搷琛屾暟
-     */
-    int insertBatch(@Param("entities") List<CodeReferConfig> entities);
-
-    /**
-     * 鎵归噺鏂板鎴栨寜涓婚敭鏇存柊鏁版嵁锛圡yBatis鍘熺敓foreach鏂规硶锛�
-     *
-     * @param entities List<CodeReferConfig> 瀹炰緥瀵硅薄鍒楄〃
-     * @return 褰卞搷琛屾暟
-     * @throws org.springframework.jdbc.BadSqlGrammarException 鍏ュ弬鏄┖List鐨勬椂鍊欎細鎶汼QL璇彞閿欒鐨勫紓甯革紝璇疯嚜琛屾牎楠屽叆鍙�
-     */
-    int insertOrUpdateBatch(@Param("entities") List<CodeReferConfig> entities);
-
-    /**
-     * 淇敼鏁版嵁
-     *
-     * @param plCodeReferconfig 瀹炰緥瀵硅薄
-     * @return 褰卞搷琛屾暟
-     */
-    int update(CodeReferConfig plCodeReferconfig);
-
-    /**
-     * 閫氳繃涓婚敭鍒犻櫎鏁版嵁
-     *
-     * @param oid 涓婚敭
-     * @return 褰卞搷琛屾暟
-     */
-    int deleteById(String oid);
+    List<CodeReferConfig> queryAllByPage(CodeReferConfig codeReferConfig, @Param("pageable") Pageable pageable);
 
 }
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java
index 99795ce..2ebf621 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeShowFieldConfigMapper.java
@@ -1,6 +1,8 @@
 package com.vci.ubcs.code.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.vci.ubcs.code.entity.CodeShowFieldConfig;
+import com.vci.ubcs.code.entity.CodeSrchCondConfig;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.domain.Pageable;
 import java.util.List;
@@ -11,7 +13,7 @@
  * @author makejava
  * @since 2023-05-19 17:58:55
  */
-public interface CodeShowFieldConfigMapper {
+public interface CodeShowFieldConfigMapper extends BaseMapper<CodeShowFieldConfig> {
 
     /**
      * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java
index 723186d..59955ae 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSrchCondConfigMapper.java
@@ -1,5 +1,6 @@
 package com.vci.ubcs.code.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.vci.ubcs.code.entity.CodeSrchCondConfig;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.domain.Pageable;
@@ -11,7 +12,7 @@
  * @author makejava
  * @since 2023-05-19 17:58:56
  */
-public interface CodeSrchCondConfigMapper {
+public interface CodeSrchCondConfigMapper extends BaseMapper<CodeSrchCondConfig> {
 
     /**
      * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java
index 82cfd21..365747c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/CodeReferConfigService.java
@@ -1,6 +1,12 @@
 package com.vci.ubcs.code.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
+import org.springblade.core.mp.support.Query;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 
@@ -10,7 +16,7 @@
  * @author ludc
  * @since 2023-05-19 17:47:59
  */
-public interface CodeReferConfigService {
+public interface CodeReferConfigService extends IService<CodeReferConfig> {
 
     /**
      * 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
@@ -23,27 +29,26 @@
     /**
      * 鍒嗛〉鏌ヨ
      *
-     * @param plCodeReferconfig 绛涢�夋潯浠�
-     * @param pageRequest      鍒嗛〉瀵硅薄
+     * @param bladeQueryObject 绛涢�夋潯浠�
      * @return 鏌ヨ缁撴灉
      */
-    Page<CodeReferConfig> queryByPage(CodeReferConfig plCodeReferconfig, PageRequest pageRequest);
+	IPage<CodeReferConfigVO> queryByPage(BladeQueryObject bladeQueryObject);
 
     /**
      * 鏂板鏁版嵁
      *
-     * @param plCodeReferconfig 瀹炰緥瀵硅薄
+     * @param codeReferconfig 瀹炰緥瀵硅薄
      * @return 瀹炰緥瀵硅薄
      */
-    CodeReferConfig insert(CodeReferConfig plCodeReferconfig);
+    CodeReferConfig insert(CodeReferConfig codeReferconfig);
 
     /**
      * 淇敼鏁版嵁
      *
-     * @param plCodeReferconfig 瀹炰緥瀵硅薄
+     * @param codeReferconfig 瀹炰緥瀵硅薄
      * @return 瀹炰緥瀵硅薄
      */
-    CodeReferConfig update(CodeReferConfig plCodeReferconfig);
+    CodeReferConfig update(CodeReferConfig codeReferconfig);
 
     /**
      * 閫氳繃涓婚敭鍒犻櫎鏁版嵁
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
index 905d0fc..92e34d4 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyService.java
@@ -9,6 +9,7 @@
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
+import com.vci.ubcs.starter.util.BladeTreeQueryObject;
 import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
 import com.vci.ubcs.starter.web.pagemodel.DataGrid;
 import com.vci.ubcs.starter.web.pagemodel.Tree;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
index 4b33006..be55775 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
@@ -1,9 +1,22 @@
 package com.vci.ubcs.code.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.entity.CodeShowFieldConfig;
+import com.vci.ubcs.code.entity.CodeSrchCondConfig;
 import com.vci.ubcs.code.mapper.CodeReferConfigMapper;
 import com.vci.ubcs.code.service.CodeReferConfigService;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
+import com.vci.ubcs.code.wrapper.CodeReferConfigWraper;
+import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springframework.stereotype.Service;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
@@ -18,7 +31,7 @@
  * @since 2023-05-19 17:48:02
  */
 @Service("CodeReferconfigService")
-public class CodeReferConfigServiceImpl implements CodeReferConfigService {
+public class CodeReferConfigServiceImpl extends ServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
     @Resource
     private CodeReferConfigMapper codeReferconfigMapper;
 
@@ -36,38 +49,44 @@
     /**
      * 鍒嗛〉鏌ヨ
      *
-     * @param plCodeReferconfig 绛涢�夋潯浠�
-     * @param pageRequest      鍒嗛〉瀵硅薄
+     * @param bladeQueryObject 绛涢�夋潯浠�
      * @return 鏌ヨ缁撴灉
      */
     @Override
-    public Page<CodeReferConfig> queryByPage(CodeReferConfig plCodeReferconfig, PageRequest pageRequest) {
-        long total = this.codeReferconfigMapper.count(plCodeReferconfig);
-        return new PageImpl<>(this.codeReferconfigMapper.queryAllByLimit(plCodeReferconfig, pageRequest), pageRequest, total);
-    }
+    public IPage<CodeReferConfigVO> queryByPage(BladeQueryObject bladeQueryObject) {
+		MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
+			.selectAll(CodeReferConfig.class)
+			.selectCollection("PCS",CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs)
+			.selectCollection("PCSR",CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs)
+			.leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid)
+			.leftJoin(CodeSrchCondConfig.class, CodeSrchCondConfig::getReferConfigOid, CodeReferConfig::getOid)
+			.orderBy(true, true, CodeReferConfig::getCreateTime);
+		IPage<CodeReferConfig> codeReferConfigIPage = this.codeReferconfigMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery()), mpjLambdaWrapper);
+		return CodeReferConfigWraper.build().pageVO(codeReferConfigIPage);
+	}
 
     /**
      * 鏂板鏁版嵁
      *
-     * @param plCodeReferconfig 瀹炰緥瀵硅薄
+     * @param codeReferConfig 瀹炰緥瀵硅薄
      * @return 瀹炰緥瀵硅薄
      */
     @Override
-    public CodeReferConfig insert(CodeReferConfig plCodeReferconfig) {
-        this.codeReferconfigMapper.insert(plCodeReferconfig);
-        return plCodeReferconfig;
+    public CodeReferConfig insert(CodeReferConfig codeReferConfig) {
+        this.codeReferconfigMapper.insert(codeReferConfig);
+        return codeReferConfig;
     }
 
     /**
      * 淇敼鏁版嵁
      *
-     * @param plCodeReferconfig 瀹炰緥瀵硅薄
+     * @param codeReferConfig 瀹炰緥瀵硅薄
      * @return 瀹炰緥瀵硅薄
      */
     @Override
-    public CodeReferConfig update(CodeReferConfig plCodeReferconfig) {
-        this.codeReferconfigMapper.update(plCodeReferconfig);
-        return this.queryById(plCodeReferconfig.getOid());
+    public CodeReferConfig update(CodeReferConfig codeReferConfig) {
+        this.codeReferconfigMapper.updateById(codeReferConfig);
+        return this.queryById(codeReferConfig.getOid());
     }
 
     /**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java
new file mode 100644
index 0000000..6d26fdb
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeReferConfigWraper.java
@@ -0,0 +1,35 @@
+package com.vci.ubcs.code.wrapper;
+
+import com.vci.ubcs.code.entity.CodePhaseAttr;
+import com.vci.ubcs.code.entity.CodeReferConfig;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
+import com.vci.ubcs.code.vo.pagemodel.CodePhaseAttrVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.Objects;
+
+/**
+ * 鍙傜収閰嶇疆-鍖呰绫�,杩斿洖瑙嗗浘灞傛墍闇�鐨勫瓧娈�
+ *
+ * @author ludc
+ * @date 2023/5/23 10:51
+ */
+public class CodeReferConfigWraper extends BaseEntityWrapper<CodeReferConfig, CodeReferConfigVO> {
+
+
+	public static CodeReferConfigWraper build() {
+		return new CodeReferConfigWraper();
+	}
+
+	@Override
+	public CodeReferConfigVO entityVO(CodeReferConfig codeReferConfig) {
+		CodeReferConfigVO codeReferConfigVO = Objects.requireNonNull(BeanUtil.copy(codeReferConfig, CodeReferConfigVO.class));
+
+
+		return codeReferConfigVO;
+	}
+
+
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
index e375966..c11871c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeBasicSecMapper.xml
@@ -4,7 +4,7 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap type="com.vci.ubcs.code.entity.CodeBasicSec" id="CodeBasicsecMap">
-        <result property="oid" column="OID" jdbcType="VARCHAR"/>
+        <result property="oid" column="OID"/>
         <result property="revisionOid" column="REVISIONOID" jdbcType="VARCHAR"/>
         <result property="nameOid" column="NAMEOID" jdbcType="VARCHAR"/>
         <result property="btmname" column="BTMNAME" jdbcType="VARCHAR"/>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml
index 416ce41..f836418 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeReferConfigMapper.xml
@@ -57,7 +57,7 @@
     </select>
 
     <!--鏌ヨ鎸囧畾琛屾暟鎹�-->
-    <select id="queryAllByLimit" resultMap="CodeReferconfigMap">
+    <select id="queryAllByPage" resultMap="CodeReferconfigMap">
         select
           OID, REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, REFERTYPE, TEXTFIELD, VALUEFIELD, TYPE, URL, BACKPATH, METHOD, HEIGHT, PARAMFORFORMKEY, ISMUTI, MAPFIELDS, REFERCONTENT, DISPLAYTABLE, LIMIT, SORTFIELD, SORTTYPE, PARENTFIELDNAME, PARENTUSEDFIELD, PARENTVALUE, LOADTYPE, ONLYLEAF
         from PL_CODE_REFERCONFIG
@@ -194,347 +194,6 @@
         </where>
         limit #{pageable.offset}, #{pageable.pageSize}
     </select>
-
-    <!--缁熻鎬昏鏁�-->
-    <select id="count" resultType="java.lang.Long">
-        select count(1)
-        from PL_CODE_REFERCONFIG
-        <where>
-            <if test="oid != null and oid != ''">
-                and OID = #{oid}
-            </if>
-            <if test="revisionoid != null and revisionoid != ''">
-                and REVISIONOID = #{revisionoid}
-            </if>
-            <if test="nameoid != null and nameoid != ''">
-                and NAMEOID = #{nameoid}
-            </if>
-            <if test="btmname != null and btmname != ''">
-                and BTMNAME = #{btmname}
-            </if>
-            <if test="lastr != null and lastr != ''">
-                and LASTR = #{lastr}
-            </if>
-            <if test="firstr != null and firstr != ''">
-                and FIRSTR = #{firstr}
-            </if>
-            <if test="lastv != null and lastv != ''">
-                and LASTV = #{lastv}
-            </if>
-            <if test="firstv != null and firstv != ''">
-                and FIRSTV = #{firstv}
-            </if>
-            <if test="creator != null and creator != ''">
-                and CREATOR = #{creator}
-            </if>
-            <if test="createtime != null and createtime != ''">
-                and CREATETIME = #{createtime}
-            </if>
-            <if test="revisionseq != null">
-                and REVISIONSEQ = #{revisionseq}
-            </if>
-            <if test="revisionvalue != null and revisionvalue != ''">
-                and REVISIONVALUE = #{revisionvalue}
-            </if>
-            <if test="versionseq != null">
-                and VERSIONSEQ = #{versionseq}
-            </if>
-            <if test="versionvalue != null and versionvalue != ''">
-                and VERSIONVALUE = #{versionvalue}
-            </if>
-            <if test="lctid != null and lctid != ''">
-                and LCTID = #{lctid}
-            </if>
-            <if test="lcstatus != null and lcstatus != ''">
-                and LCSTATUS = #{lcstatus}
-            </if>
-            <if test="ts != null and ts != ''">
-                and TS = #{ts}
-            </if>
-            <if test="name != null and name != ''">
-                and NAME = #{name}
-            </if>
-            <if test="description != null and description != ''">
-                and DESCRIPTION = #{description}
-            </if>
-            <if test="owner != null and owner != ''">
-                and OWNER = #{owner}
-            </if>
-            <if test="copyfromversion != null and copyfromversion != ''">
-                and COPYFROMVERSION = #{copyfromversion}
-            </if>
-            <if test="ordernum != null">
-                and ORDERNUM = #{ordernum}
-            </if>
-            <if test="refertype != null and refertype != ''">
-                and REFERTYPE = #{refertype}
-            </if>
-            <if test="textfield != null and textfield != ''">
-                and TEXTFIELD = #{textfield}
-            </if>
-            <if test="valuefield != null and valuefield != ''">
-                and VALUEFIELD = #{valuefield}
-            </if>
-            <if test="type != null and type != ''">
-                and TYPE = #{type}
-            </if>
-            <if test="url != null and url != ''">
-                and URL = #{url}
-            </if>
-            <if test="backpath != null and backpath != ''">
-                and BACKPATH = #{backpath}
-            </if>
-            <if test="method != null and method != ''">
-                and METHOD = #{method}
-            </if>
-            <if test="height != null">
-                and HEIGHT = #{height}
-            </if>
-            <if test="paramforformkey != null and paramforformkey != ''">
-                and PARAMFORFORMKEY = #{paramforformkey}
-            </if>
-            <if test="ismuti != null and ismuti != ''">
-                and ISMUTI = #{ismuti}
-            </if>
-            <if test="mapfields != null and mapfields != ''">
-                and MAPFIELDS = #{mapfields}
-            </if>
-            <if test="refercontent != null and refercontent != ''">
-                and REFERCONTENT = #{refercontent}
-            </if>
-            <if test="displaytable != null and displaytable != ''">
-                and DISPLAYTABLE = #{displaytable}
-            </if>
-            <if test="limit != null and limit != ''">
-                and LIMIT = #{limit}
-            </if>
-            <if test="sortfield != null and sortfield != ''">
-                and SORTFIELD = #{sortfield}
-            </if>
-            <if test="sorttype != null and sorttype != ''">
-                and SORTTYPE = #{sorttype}
-            </if>
-            <if test="parentfieldname != null and parentfieldname != ''">
-                and PARENTFIELDNAME = #{parentfieldname}
-            </if>
-            <if test="parentusedfield != null and parentusedfield != ''">
-                and PARENTUSEDFIELD = #{parentusedfield}
-            </if>
-            <if test="parentvalue != null and parentvalue != ''">
-                and PARENTVALUE = #{parentvalue}
-            </if>
-            <if test="loadtype != null and loadtype != ''">
-                and LOADTYPE = #{loadtype}
-            </if>
-            <if test="onlyleaf != null and onlyleaf != ''">
-                and ONLYLEAF = #{onlyleaf}
-            </if>
-        </where>
-    </select>
-
-    <!--鏂板鎵�鏈夊垪-->
-    <insert id="insert" keyProperty="oid" useGeneratedKeys="true">
-        insert into PL_CODE_REFERCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, REFERTYPE, TEXTFIELD, VALUEFIELD, TYPE, URL, BACKPATH, METHOD, HEIGHT, PARAMFORFORMKEY, ISMUTI, MAPFIELDS, REFERCONTENT, DISPLAYTABLE, LIMIT, SORTFIELD, SORTTYPE, PARENTFIELDNAME, PARENTUSEDFIELD, PARENTVALUE, LOADTYPE, ONLYLEAF)
-        values (#{revisionoid}, #{nameoid}, #{btmname}, #{lastr}, #{firstr}, #{lastv}, #{firstv}, #{creator}, #{createtime}, #{revisionseq}, #{revisionvalue}, #{versionseq}, #{versionvalue}, #{lctid}, #{lcstatus}, #{ts}, #{name}, #{description}, #{owner}, #{copyfromversion}, #{ordernum}, #{refertype}, #{textfield}, #{valuefield}, #{type}, #{url}, #{backpath}, #{method}, #{height}, #{paramforformkey}, #{ismuti}, #{mapfields}, #{refercontent}, #{displaytable}, #{limit}, #{sortfield}, #{sorttype}, #{parentfieldname}, #{parentusedfield}, #{parentvalue}, #{loadtype}, #{onlyleaf})
-    </insert>
-
-    <insert id="insertBatch" keyProperty="oid" useGeneratedKeys="true">
-        insert into PL_CODE_REFERCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, REFERTYPE, TEXTFIELD, VALUEFIELD, TYPE, URL, BACKPATH, METHOD, HEIGHT, PARAMFORFORMKEY, ISMUTI, MAPFIELDS, REFERCONTENT, DISPLAYTABLE, LIMIT, SORTFIELD, SORTTYPE, PARENTFIELDNAME, PARENTUSEDFIELD, PARENTVALUE, LOADTYPE, ONLYLEAF)
-        values
-        <foreach collection="entities" item="entity" separator=",">
-        (#{entity.revisionoid}, #{entity.nameoid}, #{entity.btmname}, #{entity.lastr}, #{entity.firstr}, #{entity.lastv}, #{entity.firstv}, #{entity.creator}, #{entity.createtime}, #{entity.revisionseq}, #{entity.revisionvalue}, #{entity.versionseq}, #{entity.versionvalue}, #{entity.lctid}, #{entity.lcstatus}, #{entity.ts}, #{entity.name}, #{entity.description}, #{entity.owner}, #{entity.copyfromversion}, #{entity.ordernum}, #{entity.refertype}, #{entity.textfield}, #{entity.valuefield}, #{entity.type}, #{entity.url}, #{entity.backpath}, #{entity.method}, #{entity.height}, #{entity.paramforformkey}, #{entity.ismuti}, #{entity.mapfields}, #{entity.refercontent}, #{entity.displaytable}, #{entity.limit}, #{entity.sortfield}, #{entity.sorttype}, #{entity.parentfieldname}, #{entity.parentusedfield}, #{entity.parentvalue}, #{entity.loadtype}, #{entity.onlyleaf})
-        </foreach>
-    </insert>
-
-    <insert id="insertOrUpdateBatch" keyProperty="oid" useGeneratedKeys="true">
-        insert into PL_CODE_REFERCONFIG(REVISIONOID, NAMEOID, BTMNAME, LASTR, FIRSTR, LASTV, FIRSTV, CREATOR, CREATETIME, REVISIONSEQ, REVISIONVALUE, VERSIONSEQ, VERSIONVALUE, LCTID, LCSTATUS, TS, NAME, DESCRIPTION, OWNER, COPYFROMVERSION, ORDERNUM, REFERTYPE, TEXTFIELD, VALUEFIELD, TYPE, URL, BACKPATH, METHOD, HEIGHT, PARAMFORFORMKEY, ISMUTI, MAPFIELDS, REFERCONTENT, DISPLAYTABLE, LIMIT, SORTFIELD, SORTTYPE, PARENTFIELDNAME, PARENTUSEDFIELD, PARENTVALUE, LOADTYPE, ONLYLEAF)
-        values
-        <foreach collection="entities" item="entity" separator=",">
-            (#{entity.revisionoid}, #{entity.nameoid}, #{entity.btmname}, #{entity.lastr}, #{entity.firstr}, #{entity.lastv}, #{entity.firstv}, #{entity.creator}, #{entity.createtime}, #{entity.revisionseq}, #{entity.revisionvalue}, #{entity.versionseq}, #{entity.versionvalue}, #{entity.lctid}, #{entity.lcstatus}, #{entity.ts}, #{entity.name}, #{entity.description}, #{entity.owner}, #{entity.copyfromversion}, #{entity.ordernum}, #{entity.refertype}, #{entity.textfield}, #{entity.valuefield}, #{entity.type}, #{entity.url}, #{entity.backpath}, #{entity.method}, #{entity.height}, #{entity.paramforformkey}, #{entity.ismuti}, #{entity.mapfields}, #{entity.refercontent}, #{entity.displaytable}, #{entity.limit}, #{entity.sortfield}, #{entity.sorttype}, #{entity.parentfieldname}, #{entity.parentusedfield}, #{entity.parentvalue}, #{entity.loadtype}, #{entity.onlyleaf})
-        </foreach>
-        on duplicate key update
-        REVISIONOID = values(REVISIONOID),
-        NAMEOID = values(NAMEOID),
-        BTMNAME = values(BTMNAME),
-        LASTR = values(LASTR),
-        FIRSTR = values(FIRSTR),
-        LASTV = values(LASTV),
-        FIRSTV = values(FIRSTV),
-        CREATOR = values(CREATOR),
-        CREATETIME = values(CREATETIME),
-        REVISIONSEQ = values(REVISIONSEQ),
-        REVISIONVALUE = values(REVISIONVALUE),
-        VERSIONSEQ = values(VERSIONSEQ),
-        VERSIONVALUE = values(VERSIONVALUE),
-        LCTID = values(LCTID),
-        LCSTATUS = values(LCSTATUS),
-        TS = values(TS),
-        NAME = values(NAME),
-        DESCRIPTION = values(DESCRIPTION),
-        OWNER = values(OWNER),
-        COPYFROMVERSION = values(COPYFROMVERSION),
-        ORDERNUM = values(ORDERNUM),
-        REFERTYPE = values(REFERTYPE),
-        TEXTFIELD = values(TEXTFIELD),
-        VALUEFIELD = values(VALUEFIELD),
-        TYPE = values(TYPE),
-        URL = values(URL),
-        BACKPATH = values(BACKPATH),
-        METHOD = values(METHOD),
-        HEIGHT = values(HEIGHT),
-        PARAMFORFORMKEY = values(PARAMFORFORMKEY),
-        ISMUTI = values(ISMUTI),
-        MAPFIELDS = values(MAPFIELDS),
-        REFERCONTENT = values(REFERCONTENT),
-        DISPLAYTABLE = values(DISPLAYTABLE),
-        LIMIT = values(LIMIT),
-        SORTFIELD = values(SORTFIELD),
-        SORTTYPE = values(SORTTYPE),
-        PARENTFIELDNAME = values(PARENTFIELDNAME),
-        PARENTUSEDFIELD = values(PARENTUSEDFIELD),
-        PARENTVALUE = values(PARENTVALUE),
-        LOADTYPE = values(LOADTYPE),
-        ONLYLEAF = values(ONLYLEAF)
-    </insert>
-
-    <!--閫氳繃涓婚敭淇敼鏁版嵁-->
-    <update id="update">
-        update PL_CODE_REFERCONFIG
-        <set>
-            <if test="revisionoid != null and revisionoid != ''">
-                REVISIONOID = #{revisionoid},
-            </if>
-            <if test="nameoid != null and nameoid != ''">
-                NAMEOID = #{nameoid},
-            </if>
-            <if test="btmname != null and btmname != ''">
-                BTMNAME = #{btmname},
-            </if>
-            <if test="lastr != null and lastr != ''">
-                LASTR = #{lastr},
-            </if>
-            <if test="firstr != null and firstr != ''">
-                FIRSTR = #{firstr},
-            </if>
-            <if test="lastv != null and lastv != ''">
-                LASTV = #{lastv},
-            </if>
-            <if test="firstv != null and firstv != ''">
-                FIRSTV = #{firstv},
-            </if>
-            <if test="creator != null and creator != ''">
-                CREATOR = #{creator},
-            </if>
-            <if test="createtime != null and createtime != ''">
-                CREATETIME = #{createtime},
-            </if>
-            <if test="revisionseq != null">
-                REVISIONSEQ = #{revisionseq},
-            </if>
-            <if test="revisionvalue != null and revisionvalue != ''">
-                REVISIONVALUE = #{revisionvalue},
-            </if>
-            <if test="versionseq != null">
-                VERSIONSEQ = #{versionseq},
-            </if>
-            <if test="versionvalue != null and versionvalue != ''">
-                VERSIONVALUE = #{versionvalue},
-            </if>
-            <if test="lctid != null and lctid != ''">
-                LCTID = #{lctid},
-            </if>
-            <if test="lcstatus != null and lcstatus != ''">
-                LCSTATUS = #{lcstatus},
-            </if>
-            <if test="ts != null and ts != ''">
-                TS = #{ts},
-            </if>
-            <if test="name != null and name != ''">
-                NAME = #{name},
-            </if>
-            <if test="description != null and description != ''">
-                DESCRIPTION = #{description},
-            </if>
-            <if test="owner != null and owner != ''">
-                OWNER = #{owner},
-            </if>
-            <if test="copyfromversion != null and copyfromversion != ''">
-                COPYFROMVERSION = #{copyfromversion},
-            </if>
-            <if test="ordernum != null">
-                ORDERNUM = #{ordernum},
-            </if>
-            <if test="refertype != null and refertype != ''">
-                REFERTYPE = #{refertype},
-            </if>
-            <if test="textfield != null and textfield != ''">
-                TEXTFIELD = #{textfield},
-            </if>
-            <if test="valuefield != null and valuefield != ''">
-                VALUEFIELD = #{valuefield},
-            </if>
-            <if test="type != null and type != ''">
-                TYPE = #{type},
-            </if>
-            <if test="url != null and url != ''">
-                URL = #{url},
-            </if>
-            <if test="backpath != null and backpath != ''">
-                BACKPATH = #{backpath},
-            </if>
-            <if test="method != null and method != ''">
-                METHOD = #{method},
-            </if>
-            <if test="height != null">
-                HEIGHT = #{height},
-            </if>
-            <if test="paramforformkey != null and paramforformkey != ''">
-                PARAMFORFORMKEY = #{paramforformkey},
-            </if>
-            <if test="ismuti != null and ismuti != ''">
-                ISMUTI = #{ismuti},
-            </if>
-            <if test="mapfields != null and mapfields != ''">
-                MAPFIELDS = #{mapfields},
-            </if>
-            <if test="refercontent != null and refercontent != ''">
-                REFERCONTENT = #{refercontent},
-            </if>
-            <if test="displaytable != null and displaytable != ''">
-                DISPLAYTABLE = #{displaytable},
-            </if>
-            <if test="limit != null and limit != ''">
-                LIMIT = #{limit},
-            </if>
-            <if test="sortfield != null and sortfield != ''">
-                SORTFIELD = #{sortfield},
-            </if>
-            <if test="sorttype != null and sorttype != ''">
-                SORTTYPE = #{sorttype},
-            </if>
-            <if test="parentfieldname != null and parentfieldname != ''">
-                PARENTFIELDNAME = #{parentfieldname},
-            </if>
-            <if test="parentusedfield != null and parentusedfield != ''">
-                PARENTUSEDFIELD = #{parentusedfield},
-            </if>
-            <if test="parentvalue != null and parentvalue != ''">
-                PARENTVALUE = #{parentvalue},
-            </if>
-            <if test="loadtype != null and loadtype != ''">
-                LOADTYPE = #{loadtype},
-            </if>
-            <if test="onlyleaf != null and onlyleaf != ''">
-                ONLYLEAF = #{onlyleaf},
-            </if>
-        </set>
-        where OID = #{oid}
-    </update>
-
-    <!--閫氳繃涓婚敭鍒犻櫎-->
-    <delete id="deleteById">
-        delete from PL_CODE_REFERCONFIG where OID = #{oid}
-    </delete>
 
 </mapper>
 

--
Gitblit v1.9.3