From a79582f0c67ddc681d2804669455ae13c64de8f9 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 26 十二月 2023 20:20:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/code/codeKeyAttrRepeat.vue                                                         |    6 
 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue                                                         |   61 ++
 Source/UBCS/ubcs-codeApply/pom.xml                                                                           |   12 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java        |   18 
 Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js                                                          |    9 
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue                                                  |   67 ++
 Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue                                             |   22 
 Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue                                         |  113 ++--
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue                                                  |  235 ++++++-----
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue                                                 |    1 
 Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue                                              |   17 
 Source/UBCS-WEB/src/components/template/Business.vue                                                         |    2 
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue                                                    |  321 ++++++++-------
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java  |    4 
 Source/UBCS-WEB/src/styles/tags.scss                                                                         |    4 
 Source/UBCS-WEB/src/views/statistic/statisticPage.vue                                                        |  141 +++++-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java    |    1 
 Source/UBCS-WEB/src/components/StatisticsComponent/mixCart.vue                                               |   17 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java |   23 +
 Source/UBCS-WEB/src/components/Master/MasterTree.vue                                                         |    5 
 Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue                                              |    2 
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue                                                     |  124 +++--
 22 files changed, 761 insertions(+), 444 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 73d8a17..e59f156 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -25,6 +25,7 @@
       <template v-for="item in slotColumnList" :slot="item.prop + ''">
         <vciWebRefer
           v-if="item.type == 'refer'" :key="item.dataKey"
+          referType="master"
           :data-key="item.dataKey"
           :disabled="item.disabled"
           :display="item.display"
diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
index d1ec150..12e2074 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -180,10 +180,11 @@
           List.forEach(item => {
             let columnItem = {
               label: item.title,
-              prop: item.queryField,
+              prop: item.field,
               // type: this.columnType[item.type],
               sortable: item.sort,
-              width: item.minWidth
+              width: item.minWidth,
+              query: item.queryField
             };
             this.tableHeadFindData.push(Object.assign(item, columnItem))
           })
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 6abed72..14f0d6b 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -15,14 +15,24 @@
                   item.name
                 }}
               </el-button>
-              <span v-if="tableHeadFindData.length > 0">
-              <el-select slot="prepend" v-model="keyWordFind" placeholder="璇烽�夋嫨" size="small">
+              <span v-if="tableHeadFindData.length > 0 ">
+              <el-select slot="prepend" v-model="keyWordFind" placeholder="璇烽�夋嫨" size="small" @change="searchChange">
                 <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
-                           :value="item.prop"></el-option>
+                           :value="item.query"></el-option>
               </el-select>
-              <el-input v-model="WupinFindValue" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�"
-                        size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
+              <el-input v-if="!isTimeStatus" v-model="WupinFindValue"
+                        placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
                         @keyup.enter.native="tableFindInp"></el-input>
+              </span>
+              <span v-if="tableHeadFindData.length > 0  && isTimeStatus" class="block">
+                <el-date-picker
+                  v-model="dateValue"
+                  placeholder="閫夋嫨鏃ユ湡"
+                  size="small"
+                  style="margin-left: 5px"
+                  type="date"
+                  @change="dateChange">
+                </el-date-picker>
               </span>
               <span v-if="tableHeadFindData.length > 0" style="margin-left: 10px">
                <p style="font-size: 13px;display: inline-block;"> 鐘舵�侊細</p>
@@ -191,6 +201,7 @@
 import fileInHtml from "@/components/file/inHtml.vue";
 import {getUserInfo} from "@/api/system/user";
 import func from "@/util/func";
+import moment from "moment/moment";
 
 export default {
   components: {
@@ -255,6 +266,9 @@
   },
   data() {
     return {
+      isTimeStatus: false,
+      isTimeName: '',
+      dateValue: "",
       //鎵归噺缂栬緫瀵硅瘽妗�
       bulkeditvisible: false,
       LinkVisible: false,
@@ -304,7 +318,6 @@
         key: "oid",
         label: "name",
       },
-      tableHeadFindDatas: [],
       applyvisible: false,
       amendvisible: false,
       addvisible: false,
@@ -427,8 +440,13 @@
           if (_index == 0) {
             this.keyWordFind = record.queryField;
           }
+          ;
+          // if(record.fieldType === "datetime"){
+          //       this.isTimeStatus = true;
+          //       console.log(this.isTimeStatus)
+          //       console.log(record)
+          // }
         })
-        this.tableHeadFindDatas = newval;
         if (newval) {
           this.CodeArray = [];
           if (newval.find(item => item.prop === 'id')) {
@@ -1011,7 +1029,7 @@
           templateOid: this.templateOid,
           codeClassifyOid: this.codeClassifyOid,
           ...val,
-          page: this.page.currentPage = 1,/** 姣忔鐐瑰嚮楂樼骇鏌ヨ閮藉簲璇ヤ粠绗竴椤靛紑濮�*/
+          page: this.page.currentPage = 1, /** 姣忔鐐瑰嚮楂樼骇鏌ヨ閮藉簲璇ヤ粠绗竴椤靛紑濮�*/
           limit: this.page.pageSize
         });
         this.tableData = res.data.data;
@@ -1090,12 +1108,45 @@
       this.batchImportData.type = type
       this.batchImportData.codeClassifyOid = this.codeClassifyOid
     },
+    searchChange(val) {
+      this.isTimeName = val;
+      this.isTimeStatus = this.tableHeadFindData.some(item => {
+        if (item.fieldType === "datetime" && item.prop === val) {
+          return true;
+        }
+        return false;
+      });
+      // console.log(this.isTimeStatus)
+    },
+    dateChange(val) {
+      if (val) {
+        const momentDate = moment(this.dateValue);
+        const dateString = momentDate.format("yyyy-MM-DD");
+        this.isLoading = true;
+        try {
+          TableData({
+            templateOid: this.templateOid,
+            codeClassifyOid: this.codeClassifyOid,
+            page: this.page.currentPage,
+            limit: this.page.pageSize,
+            ['conditionMap[' + this.keyWordFind + ']']: dateString
+          }).then(res => {
+            this.tableData = res.data.data;
+            this.page.total = res.data.total;
+          })
+        } finally {
+          this.isLoading = false;
+        }
+      }
+    },
     //杈撳叆鍥炶溅鎼滅储
     tableFindInp() {
       this.isLoading = true;
       try {
+        this.conditionMap = {};
         // 瀛樺偍鏌ヨ鏉′欢锛屼富瑕佹槸涓轰簡鐐瑰嚮椤电爜鏃跺甫涓婅繖涓潯浠�
         this.conditionMap["conditionMap[" + this.keyWordFind + "]"] = '*' + this.WupinFindValue + '*';
+        console.log(this.conditionMap)
         TableData({
           templateOid: this.templateOid,
           codeClassifyOid: this.codeClassifyOid,
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue
index 3824b23..bf10bb2 100644
--- a/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue
@@ -1,6 +1,9 @@
 <template>
   <basic-container>
     <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart>
+    <div style="display: inline-block;float: right;margin-bottom: 10px;margin-right: 60px">
+      <el-button size="small" type="danger" plain @click="delHandler">鍒犻櫎</el-button>
+    </div>
   </basic-container>
 </template>
 
@@ -9,90 +12,66 @@
 import 'echarts/lib/component/tooltip'
 import 'echarts/lib/component/title'
 import 'echarts/lib/component/legend'
+import { deleteChartId } from "@/api/statistic/chart"
 
 export default {
   name: "ColumnarChart",
-  props:{
-    columnarData:{
-      type:Array,
-      default:[]
+  props: {
+    columnarData: {
+      type: Array,
+      default: []
     },
-    chartName:{
-      type:String,
+    chartName: {
+      type: String,
       default: ""
+    },
+    btmname: {
+      type: String
     }
   },
-  watch:{
-    columnarData:{
-      immediate:true,
-      handler(newval,oldval){
-        if(newval && newval.length > 0){
-          const minValues = newval[0].map(function (_, i) {
-            return Math.min.apply(
-              null,
-              newval.map(function (item) {
-                return item[i];
-              })
-            );
-          });
-
-          let colors = ['#84C9E5', '#F68686'];
-
-          const seriesData = [];
-          for (let i = 0; i < newval.length; i++) {
-            let curSeriesData = [];
-            for (let j = 0; j < newval[i].length; j++) {
-              let borderRadius = [0, 0, 0, 0];
-              if (newval[i][j] === minValues[j]) {
-                borderRadius = [50, 50, 0, 0];
-              }
-              curSeriesData.push({
-                value: newval[i][j],
-                itemStyle: {
-                  normal: {
-                    // barBorderRadius: borderRadius,  // 璁剧疆鍦嗚
-                    color: colors[i],
-                  }
-                },
-              });
-            }
-            let seriesName = (i === 0 ? "鎬婚噺" : "鏂板")
-            seriesData.push({
-              name: seriesName,
-              type: "bar",
-              stack: "鎬婚噺",
-              barWidth: 60,
-              data: curSeriesData,
+  watch: {
+    columnarData: {
+      immediate: true,
+      handler(newval, oldval) {
+        if (newval && newval.length > 0) {
+          let seriesData = newval.map((data, index) => {
+            let name = index === 0 ? "鎬婚噺" : "鏂板";
+            return {
+              name: name,
+              type: 'bar',
+              data: data,
+              barWidth: '40%',
               label: {
                 show: true,
                 position: 'top',
-                formatter: function (params) {
-                  return params.value === 0 ? '' : params.value; // 鍊间负 0 涓嶆樉绀猴紝鍏朵粬鎯呭喌鏄剧ず
-                }
+                // formatter: function (params) {
+                //   if (params.value !== 0) {
+                //     return params.value;
+                //   } else {
+                //     return '';
+                //   }
+                // }
               },
-              emphasis: {
-                focus: "series",
-              },
-            });
-            this.chartOptions.series=seriesData
-          }
+            };
+          });
+          this.chartOptions.series = seriesData;
         }
       }
     },
-    chartName:{
-      handler(newval,oldval){
-        if(newval){
+    chartName: {
+      handler(newval, oldval) {
+        if (newval) {
           this.chartOptions.title.text = newval + "鏁版嵁缁熻"
         }
       },
-      immediate:true,
-      deep:true
+      immediate: true,
+      deep: true
     }
   },
   data() {
     return {
       chartOptions: {
-        color:['#84C9E5', '#F68686'],
+        color: ['#84C9E5', '#F68686'],
         title: {
           text: "",
         },
@@ -141,6 +120,16 @@
   },
   created() {
   },
+  methods: {
+    delHandler() {
+      deleteChartId({ btmname: this.btmname, chartId: '2' }).then(res => {
+        this.$message.success(this.chartName+'鏌辩姸鍥撅紝鍒犻櫎鎴愬姛锛�')
+        this.$emit('refresh');
+      }).catch(error => {
+        this.$message.error(error)
+      })
+    }
+  }
 };
 </script>
 
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
index f37802e..083b0ac 100644
--- a/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue
@@ -1,7 +1,10 @@
 <template>
-  <div id="main">
+  <div id="main" style="height: 460px;margin-bottom: 15px">
     <basic-container>
       <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart>
+      <div style="display: inline-block;float: right;margin-bottom: 10px;margin-right: 60px">
+        <el-button size="small" type="danger" plain @click="delHandler">鍒犻櫎</el-button>
+      </div>
     </basic-container>
   </div>
 </template>
@@ -12,6 +15,7 @@
 import 'echarts/lib/component/tooltip'
 import 'echarts/lib/component/title'
 import 'echarts/lib/component/legend'
+import {deleteChartId} from "@/api/statistic/chart"
 
 export default {
   name: "lineChart",
@@ -23,6 +27,9 @@
     chartName: {
       type: String,
       default: ""
+    },
+    btmname :{
+      type: String
     }
   },
   watch: {
@@ -56,7 +63,7 @@
       },
       immediate: true,
       deep: true
-    }
+    },
   },
   data() {
     return {
@@ -86,7 +93,15 @@
       }
     };
   },
-  created() {
+  methods:{
+    delHandler(){
+      deleteChartId({btmname:this.btmname,chartId:'0'}).then(res=>{
+        this.$message.success(this.chartName+'鎶樼嚎鍥撅紝鍒犻櫎鎴愬姛锛�')
+        this.$emit('refresh');
+      }).catch(error=>{
+        this.$message.error(error)
+      })
+    }
   }
 };
 </script>
@@ -96,4 +111,5 @@
   width: 100%;
   height: 400px;
 }
+
 </style>
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/mixCart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/mixCart.vue
index 222f97a..981a190 100644
--- a/Source/UBCS-WEB/src/components/StatisticsComponent/mixCart.vue
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/mixCart.vue
@@ -1,6 +1,9 @@
 <template>
   <basic-container>
     <v-chart id="chart" :auto-resize="true" :options="chartOptions"></v-chart>
+    <div style="display: inline-block;float: right;margin-bottom: 10px;margin-right: 60px">
+      <el-button size="small" type="danger" plain @click="delHandler">鍒犻櫎</el-button>
+    </div>
   </basic-container>
 </template>
 
@@ -10,6 +13,7 @@
 import 'echarts/lib/component/tooltip'
 import 'echarts/lib/component/title'
 import 'echarts/lib/component/legend'
+import {deleteChartId} from "@/api/statistic/chart"
 
 export default {
   name: "stackedAreaChart",
@@ -21,6 +25,9 @@
     chartName: {
       type: String,
       default: ""
+    },
+    btmname :{
+      type: String
     }
   },
   data() {
@@ -109,6 +116,16 @@
       immediate: true,
       deep: true
     }
+  },
+  methods:{
+    delHandler(){
+      deleteChartId({btmname:this.btmname,chartId:'3'}).then(res=>{
+        this.$message.success(this.chartName+'鍫嗗彔鎶樼嚎鍥撅紝鍒犻櫎鎴愬姛锛�')
+        this.$emit('refresh');
+      }).catch(error=>{
+        this.$message.error(error)
+      })
+    }
   }
 };
 </script>
diff --git a/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue b/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue
index d81c227..7bf5749 100644
--- a/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue
+++ b/Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue
@@ -1,6 +1,9 @@
 <template>
   <basic-container style="width: 100%">
     <v-chart :options="chartOptions" :auto-resize="true" id="chart"></v-chart>
+    <div style="display: inline-block;float: right;margin-bottom: 10px;margin-right: 60px">
+      <el-button size="small" type="danger" plain @click="delHandler">鍒犻櫎</el-button>
+    </div>
   </basic-container>
 </template>
 
@@ -9,6 +12,7 @@
 import 'echarts/lib/chart/bar' // 瀵煎叆鏌辩姸鍥剧粍浠�
 import 'echarts/lib/component/tooltip'
 import 'echarts/lib/component/legend'
+import {deleteChartId} from "@/api/statistic/chart"
 export default {
   name: "polarBarChart",
   props:{
@@ -23,6 +27,9 @@
     monthData:{
       type:Array,
       default: () => ['涓�鏈�', '浜屾湀', '涓夋湀', '鍥涙湀', '浜旀湀', '鍏湀', '涓冩湀', '鍏湀', '涔濇湀', '鍗佹湀', '鍗佷竴鏈�', '鍗佷簩鏈�']
+    },
+    btmname :{
+      type: String
     }
   },
   watch:{
@@ -95,6 +102,16 @@
   },
   created(){
     this.chartOptions.color = ['#5470c6', '#91cc75', '#fac858', '#ca8622', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4'];
+  },
+  methods:{
+    delHandler(){
+      deleteChartId({btmname:this.btmname,chartId:'1'}).then(res=>{
+        this.$message.success(this.chartName+'楗肩姸鍥撅紝鍒犻櫎鎴愬姛锛�')
+        this.$emit('refresh');
+      }).catch(error=>{
+        this.$message.error(error)
+      })
+    }
   }
 }
 </script>
diff --git a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
index f928c61..b6cc3f3 100644
--- a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
+++ b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
@@ -329,7 +329,7 @@
                         condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = searchConditions[index].fieldValue;
                     }
                 }
-                
+
             }
             // 鏌ヨ鏉′欢娌℃湁鍑虹幇閲嶅灞炴�э紝骞朵笖杩囨护鎺変簡绌哄�硷紝灏变紶閫掔粰鐖剁粍浠�
             //console.log(condtionParam);
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
index 046f761..66eebd6 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -1,8 +1,40 @@
 <template>
   <div v-if="display">
-    <vciWebReferTree :key="key" :data-key="key" ref="vciWebReferTree" v-if="refertype=='tree'" @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferTree>
-    <vciWebReferTable :key="key" :data-key="key" v-else-if="refertype=='table'" @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferTable>
-    <vciWebReferDefalut :key="key" :data-key="key" v-else  @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferDefalut>
+    <vciWebReferTree
+      v-if="refertype=='tree'"
+      :key="key" ref="vciWebReferTree"
+      :data-key="key"
+      :disabled="disabled"
+      :referConfig="referConfig"
+      :text="text"
+      :title="title"
+      :value="value"
+      @setValue="setValue">
+    </vciWebReferTree>
+
+    <vciWebReferTable
+      v-else-if="refertype=='table'"
+      :key="key" :data-key="key"
+      :disabled="disabled"
+      :referConfig="referConfig"
+      :referType="referType"
+      :text="text"
+      :title="title"
+      :value="value"
+      @setValue="setValue">
+    </vciWebReferTable>
+
+    <vciWebReferDefalut
+      v-else
+      :key="key"
+      :data-key="key"
+      :disabled="disabled"
+      :referConfig="referConfig"
+      :referType="referType"
+      :text="text" :title="title"
+      :value="value"
+      @setValue="setValue">
+    </vciWebReferDefalut>
 
   </div>
 </template>
@@ -11,22 +43,23 @@
 import vciWebReferTree from "./vciWebReferTree.vue";
 import vciWebReferTable from "./vciWebReferTable.vue";
 import vciWebReferDefalut from "./vciWebReferDefalut.vue";
+
 export default {
   name: "vciWebRefer",
-  props: ["referConfig","value","text","disabled","display",'key'],
+  props: ["referConfig", "value", "text", "disabled", "display", 'key', 'referType'],
   components: {vciWebReferTree, vciWebReferTable, vciWebReferDefalut},
   data() {
     return {
-      reterTypeLeavl:'213',
+      reterTypeLeavl: '213',
       refertype: this.referConfig.options.type,
-      emitData:{},
-      title:'',
-      display:this.display || true,
-      disabled:this.disabled || false
+      emitData: {},
+      title: '',
+      display: this.display || true,
+      disabled: this.disabled || false
     };
   },
   created() {
-    if (!this.referConfig.options && this.referConfig.options.isMuti==undefined) {
+    if (!this.referConfig.options && this.referConfig.options.isMuti == undefined) {
       this.referConfig.options = {
         isMuti: this.referConfig.options.muti || false
       }
@@ -36,21 +69,21 @@
     var title = this.referConfig.title || '';
     title = title.replace(":", "");
     title = title ? ('涓恒��' + title + '銆戦�夊彇鍊�') : ('涓恒��' + this.referConfig.showField + '銆戦�夊彇鍊�');
-    this.title=title;
+    this.title = title;
   },
   methods: {
     setValue(value) {
       this.emitData = value;
     }
   },
-  watch:{
+  watch: {
     // 淇敼鍙嶉鍒扮埗缁勪欢
     emitData: {
       deep: true,
       immediate: true,
       handler(newV) {
-        this.text=newV.text;
-        this.value=newV.value;
+        this.text = newV.text;
+        this.value = newV.value;
         this.$emit("setReferValue", newV);
       }
     },
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 19776b2..f46541a 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -1,18 +1,19 @@
 <template>
   <div>
-    <el-dialog :title="title"
-               v-dialogDrag append-to-body="true"
+    <el-dialog v-dialogDrag
+               :height="options.height|| 'auto'" :title="title"
                :visible.sync="visible"
-               top="0"
-               class="avue-dialog avue-dialog--top"
                :width="options.width|| '80%'"
-               :height="options.height|| 'auto'">
-      <avue-crud :option="option"
-                 :table-loading="loading"
-                 :data="data"
-                 :page.sync="page"
+               append-to-body="true"
+               class="avue-dialog avue-dialog--top"
+               top="0"
+               @close="dialogClose">
+      <avue-crud ref="referDefalutCrud"
                  v-model="value"
-                 ref="referDefalutCrud"
+                 :data="data"
+                 :option="option"
+                 :page.sync="page"
+                 :table-loading="loading"
                  @search-change="searchChange"
                  @search-reset="searchReset"
                  @selection-change="selectionChange"
@@ -24,25 +25,27 @@
       </avue-crud>
       <div class="avue-dialog__footer">
         <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }}</div>
-        <el-button @click="visible=false">鍙� 娑�</el-button>
-        <el-button @click="setValue" type="primary">纭� 瀹�</el-button>
+        <el-button @click="escHandler">鍙� 娑�</el-button>
+        <el-button type="primary" @click="setValue">纭� 瀹�</el-button>
       </div>
     </el-dialog>
 
-    <avue-input v-model="text" :disabled="disabled" :readonly="true" :placeholder="title" @click="!disabled && (visible=true)" ></avue-input>
+    <avue-input v-model="text" :disabled="disabled" :placeholder="title" :readonly="true"
+                @click="!disabled && (visible=true)"></avue-input>
   </div>
 </template>
 
 <script>
-import { validatenull } from "@/util/validate";
-import {getList,getLazyList,getTableDefinedUrl} from "@/api/refer/table";
+import {validatenull} from "@/util/validate";
+import {getList, getLazyList, getTableDefinedUrl} from "@/api/refer/table";
+
 export default {
   name: "vciWebReferDefalut",
-  props:["referConfig","value","text","title","disabled"],
+  props: ["referConfig", "value", "text", "title", "disabled", "referType"],
   data() {
     return {
       visible: false,
-      options: this.referConfig.options||{},
+      options: this.referConfig.options || {},
       isMuti: ("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
       props: {
         value: this.referConfig.valueField || this.referConfig.options.valueField || 'oid',
@@ -50,31 +53,32 @@
       },
       url: this.referConfig.options.url || '/api/ubcs-code/mdmEngineController/defaultReferDataGrid',
       method: this.referConfig.options.method || 'GET',
-      tableDefinedUrl:'',//骞冲彴琛ㄦ牸鍦板潃
-      copyParam: ['referBo', 'textField', 'valueField', 'displayTable', 'whereSql',  'queryScheme'],
+      tableDefinedUrl: '',//骞冲彴琛ㄦ牸鍦板潃
+      copyParam: ['referBo', 'textField', 'valueField', 'displayTable', 'whereSql', 'queryScheme'],
       query: {},
       loading: false,
       page: {
+        layout: this.referType === "master" ? "total,pager,prev, next,jumper" : "total,pager,prev, next,jumper,sizes",
         pageSize: 10,
         currentPage: 1,
-        total: this.referConfig.options.data?this.referConfig.options.data.length :0
+        total: this.referConfig.options.data ? this.referConfig.options.data.length : 0
       },
-      data:this.referConfig.options.data || [],
+      data: this.referConfig.options.data || [],
       selectionList: [],
       option: {
         addBtn: false,
-        columnBtn:false,
+        columnBtn: false,
         //height: this.referConfig.options.height ? this.referConfig.options.height : 475,
         calcHeight: 30,
         tip: false,
-        menu:false,
+        menu: false,
         searchShow: true,
         searchMenuSpan: 6,
         searchLabelWidth: 90,
         border: true,
         index: true,
         selection: true,
-        reserveSelection:true,
+        reserveSelection: true,
         dialogClickModal: false,
         highlightCurrentRow: true,
         column: []
@@ -85,22 +89,30 @@
     this.getParams();
   },
   mounted() {
-    if(this.referConfig.options.tableConfig.page){
-      this.page.pageSize=this.referConfig.options.tableConfig.page.limit || this.referConfig.options.tableConfig.page.pageSize;
-      this.page.currentPage=this.referConfig.options.tableConfig.page.page || this.referConfig.options.tableConfig.page.currentPage;
-    }else if(!validatenull(this.referConfig.options.limit)){
-      this.page.pageSize=this.referConfig.options.limit
-    }else if(!validatenull(this.referConfig.options.tableConfig.limit)){
-      this.page.pageSize=this.referConfig.options.tableConfig.limit
+    if (this.referConfig.options.tableConfig && this.referConfig.options.tableConfig.page) {
+      this.page.pageSize = this.referConfig.options.tableConfig.page.limit || this.referConfig.options.tableConfig.page.pageSize;
+      this.page.currentPage = this.referConfig.options.tableConfig.page.page || this.referConfig.options.tableConfig.page.currentPage;
+    } else if (!validatenull(this.referConfig.options.limit)) {
+      this.page.pageSize = this.referConfig.options.limit;
+    } else if (this.referConfig.options.tableConfig && !validatenull(this.referConfig.options.tableConfig.limit)) {
+      this.page.pageSize = this.referConfig.options.tableConfig.limit;
     }
   },
-  computed:{
-    valueInfo:function (){
-      return this.text ? ("宸茶缃殑鍊间负[" + this.text + "]"): '鏈缃��'
+  computed: {
+    valueInfo: function () {
+      return this.text ? ("宸茶缃殑鍊间负[" + this.text + "]") : '鏈缃��'
     }
   },
   methods: {
-    getParams:function () {
+    escHandler() {
+      this.visible = false;
+      this.$refs.referDefalutCrud.refreshTable()
+    },
+    dialogClose() {
+      this.visible = false;
+      this.$refs.referDefalutCrud.refreshTable()
+    },
+    getParams: function () {
       var queryParams = {};
       if (this.options.extraParams) {
         queryParams = this.options.extraParams;
@@ -127,10 +139,10 @@
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
       }
-      if(this.options.sortField){
+      if (this.options.sortField) {
         queryParams['sort'] = this.options.sortField;//瀛楁
       }
-      if(this.options.sortType){
+      if (this.options.sortType) {
         queryParams['order'] = this.options.sortType;//鏂规硶
       }
       if (this.options.conditionParams) {
@@ -168,7 +180,7 @@
           sortable: true,
           width: 150,
           search: true,
-          formatter:function (d){
+          formatter: function (d) {
             return d.id || d.data.id
           }
         }, {
@@ -177,14 +189,14 @@
           sortable: true,
           width: 150,
           search: true,
-          formatter:function (d){
+          formatter: function (d) {
             return d.name || d.data.name
           }
         }, {
           prop: 'description',
           label: '鎻忚堪',
           width: 250,
-          formatter:function (d){
+          formatter: function (d) {
             return d.description || d.data.description
           }
         }, {
@@ -193,23 +205,23 @@
           width: 60,
           hidden: (!this.controllerSecret),
           hide: (!this.controllerSecret),
-          formatter:function (d){
+          formatter: function (d) {
             return d.secretGradeText || d.data.secretGradeText
           }
         }];
       } else {
         this.option.column = this.options.tableConfig.cols.map(item => {
           if (item.field != 'LAY_TABLE_INDEX' && item.field != 'LAY_CHECKED') {
-            let formatter=item.template || item.templet;
-            if(typeof formatter == "string" && formatter !=''){
-              formatter=eval("(" + formatter + ")")
-            }else{
-              formatter=function (d){
-                if(d[item.field]!=undefined){
+            let formatter = item.template || item.templet;
+            if (typeof formatter == "string" && formatter != '') {
+              formatter = eval("(" + formatter + ")")
+            } else {
+              formatter = function (d) {
+                if (d[item.field] != undefined) {
                   return d[item.field]
-                }else if(d.data[item.field] !=undefined){
+                } else if (d.data[item.field] != undefined) {
                   return d.data[item.field]
-                }else {
+                } else {
                   return ''
                 }
               }
@@ -218,11 +230,11 @@
               ...item,
               label: item.title,
               prop: item.field,
-              formatter:formatter,
-              sortable:item.sort,
-              hide:item.hidden,
-              search:this.options.tableConfig.queryColumns.some(qItem=>{
-                return qItem.field==item.field
+              formatter: formatter,
+              sortable: item.sort,
+              hide: item.hidden,
+              search: this.options.tableConfig.queryColumns.some(qItem => {
+                return qItem.field == item.field
               })
             }
           }
@@ -239,67 +251,74 @@
       }
       this.params = paramsData;
     },
-    setValue(){
-      if(this.selectionList.length==0){
-        this.$message.warning( '娌℃湁閫夋嫨鏁版嵁');
+    setValue() {
+      if (this.selectionList.length == 0) {
+        this.$message.warning('娌℃湁閫夋嫨鏁版嵁');
         return false;
-      }else if(this.selectionList.length>1 && !this.isMuti){
-        this.$message.warning( '姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�');
+      } else if (this.selectionList.length > 1 && !this.isMuti) {
+        this.$message.warning('姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�');
         return false;
       }
 
       var value = [];
       var text = [];
-      var isMutiValue = (this.props.value.indexOf(",")>-1);
-      var isMutiRaw = (this.props.label.indexOf(",")>-1);
-      var _that=this
-      this.selectionList.forEach((item,_index) =>{
-        if(isMutiValue){
+      var isMutiValue = (this.props.value.indexOf(",") > -1);
+      var isMutiRaw = (this.props.label.indexOf(",") > -1);
+      var _that = this
+      this.selectionList.forEach((item, _index) => {
+        if (isMutiValue) {
           var valueFieldArray = _that.props.value.split(",");
-          valueFieldArray.forEach((_itemField,_indexField)=>{
-            let itemValue=item[_itemField];
-            if(itemValue==undefined || itemValue == null){
-              itemValue=item['data'][_itemField]
+          valueFieldArray.forEach((_itemField, _indexField) => {
+            let itemValue = item[_itemField];
+            if (itemValue == undefined || itemValue == null) {
+              itemValue = item['data'][_itemField]
             }
-            value.push( itemValue + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
+            value.push(itemValue + (_that.referConfig.valueSep ? _that.referConfig.valueSep : ' '));
           })
-        }else {
-          let itemValue=item[_that.props.value];
-          if(itemValue==undefined || itemValue == null){
-            itemValue=item['data'][_that.props.value]
+        } else {
+          let itemValue = item[_that.props.value];
+          if (itemValue == undefined || itemValue == null) {
+            itemValue = item['data'][_that.props.value]
           }
           value.push(itemValue);
         }
-        if(isMutiRaw) {
+        if (isMutiRaw) {
           var rawFieldArray = _that.props.label.split(",");
-          rawFieldArray.forEach((_itemField,_indexField)=>{
-            let itemText=item[_itemField];
-            if(itemText==undefined || itemText == null){
-              itemText=item['data'][_itemField]
+          rawFieldArray.forEach((_itemField, _indexField) => {
+            let itemText = item[_itemField];
+            if (itemText == undefined || itemText == null) {
+              itemText = item['data'][_itemField]
             }
-            text.push(itemText + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
+            text.push(itemText + (_that.referConfig.textSep ? _that.referConfig.textSep : ' '));
           })
-        }else{
-          let itemText=item[_that.props.label];
-          if(itemText==undefined || itemText == null){
-            itemText=item['data'][_that.props.label]
+        } else {
+          let itemText = item[_that.props.label];
+          if (itemText == undefined || itemText == null) {
+            itemText = item['data'][_that.props.label]
           }
           text.push(itemText);
         }
       })
 
-      let mapFields =this.referConfig.fieldMap || {};
+      let mapFields = this.referConfig.fieldMap || {};
       try {
-        if(!validatenull(this.options.mapFields)){
-          mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+        if (!validatenull(this.options.mapFields)) {
+          mapFields = Object.assign(this.referConfig.fieldMap, JSON.parse(this.options.mapFields));
         }
-      }catch (e) {
+      } catch (e) {
 
       }
-      this.value=value.join(',');
-      this.text=text.join(',')
-      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:mapFields});
-      this.visible=false;
+      this.value = value.join(',');
+      this.text = text.join(',')
+      this.$emit("setValue", {
+        field: this.referConfig.field,
+        showField: this.referConfig.showField,
+        value: this.value,
+        text: this.text,
+        rawData: this.selectionList,
+        fieldMap: mapFields
+      });
+      this.visible = false;
     },
     searchReset() {
       this.query = {};
@@ -311,16 +330,16 @@
       this.onLoad(this.page);
       done();
     },
-    currentChange(currentPage){
+    currentChange(currentPage) {
       this.page.currentPage = currentPage;
     },
-    sizeChange(pageSize){
+    sizeChange(pageSize) {
       this.page.pageSize = pageSize;
     },
-    rowClick (row) {
+    rowClick(row) {
       this.$refs.referDefalutCrud.toggleSelection();
       this.$refs.referDefalutCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-      this.selectionList=[row]
+      this.selectionList = [row]
     },
     selectionChange(list) {
       if (!this.isMuti && list.length > 1) {
@@ -336,33 +355,33 @@
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
-    onLoad(page, params={}) {
-      if(this.url){
+    onLoad(page, params = {}) {
+      if (this.url) {
         this.loading = true;
-        var query={}
+        var query = {}
         if (this.query) {
           for (var key in this.query) {
             query['conditionMap["' + key + '"]'] = this.query[key];
           }
         }
-        getList(Object.assign(params,this.params,this.query, query),page.currentPage, page.pageSize, this.url, this.method).then(res => {
-          let data=[]
-          if(res.data.records){
+        getList(Object.assign(params, this.params, this.query, query), page.currentPage, page.pageSize, this.url, this.method).then(res => {
+          let data = []
+          if (res.data.records) {
             data = res.data.records
-            this.page.total=res.data.total ;
-          }else{
+            this.page.total = res.data.total;
+          } else {
             data = res.data.data.records;
-            this.page.total=res.data.data.total;
+            this.page.total = res.data.data.total;
           }
-          this.data=data.map(item => {
-            item.data=item.data || {}
+          this.data = data.map(item => {
+            item.data = item.data || {}
             return {
               ...item
             }
           })
           this.loading = false;
           this.selectionClear();
-        }).catch(error=>{
+        }).catch(error => {
           this.$message.error(error);
           this.loading = false;
         });
@@ -374,7 +393,7 @@
 </script>
 
 <style scoped>
-.valueInfo{
+.valueInfo {
   float: left;
   border: 1px solid #E9E7E7;
   display: inline-block;
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index 7f49775..bbf5e3b 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -1,18 +1,19 @@
 <template>
   <div>
-    <el-dialog :title="title"
-               v-dialogDrag append-to-body="true"
+    <el-dialog v-dialogDrag
+               :height="options.height|| 'auto'" :title="title"
                :visible.sync="visible"
-               top="0"
-               class="avue-dialog avue-dialog--top"
                :width="options.width|| '80%'"
-               :height="options.height|| 'auto'">
-      <avue-crud :option="option"
-                 :table-loading="loading"
-                 :data="data"
-                 :page.sync="page"
+               append-to-body="true"
+               class="avue-dialog avue-dialog--top"
+               top="0"
+               @close="dialogClose">
+      <avue-crud ref="referCrud"
                  v-model="value"
-                 ref="referCrud"
+                 :data="data"
+                 :option="option"
+                 :page.sync="page"
+                 :table-loading="loading"
                  @search-change="searchChange"
                  @search-reset="searchReset"
                  @selection-change="selectionChange"
@@ -26,22 +27,24 @@
         </template>
       </avue-crud>
       <div class="avue-dialog__footer">
-        <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }} </div>
-        <el-button @click="visible=false">鍙� 娑�</el-button>
-        <el-button @click="setValue" type="primary">纭� 瀹�</el-button>
+        <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }}</div>
+        <el-button @click="escHandler">鍙� 娑�</el-button>
+        <el-button type="primary" @click="setValue">纭� 瀹�</el-button>
       </div>
     </el-dialog>
 
-    <avue-input v-model="text" :disabled="disabled" :readonly="true" :placeholder="title" @click="!disabled && (visible=true)"></avue-input>
+    <avue-input v-model="text" :disabled="disabled" :placeholder="title" :readonly="true"
+                @click="!disabled && (visible=true)"></avue-input>
   </div>
 </template>
 
 <script>
-import { validatenull } from "@/util/validate";
-import {getList,getLazyList,getTableDefinedUrl} from "@/api/refer/table";
+import {validatenull} from "@/util/validate";
+import {getList, getLazyList, getTableDefinedUrl} from "@/api/refer/table";
+
 export default {
   name: "vciWebReferTable",
-  props:["referConfig","value","text","title","disabled"],
+  props: ["referConfig", "value", "text", "title", "disabled", "referType"],
   data() {
     return {
       visible: false,
@@ -52,35 +55,36 @@
         label: this.referConfig.textField || this.referConfig.options.textField || "name"
       },
       url: this.referConfig.options.url || '/api/ubcs-code/mdmEngineController/defaultReferDataGrid',
-      tableDefinedUrl:'',//骞冲彴琛ㄦ牸鍦板潃
-      copyParam: ['referBo', 'textField', 'valueField', 'displayTable', 'whereSql',  'queryScheme'],
+      tableDefinedUrl: '',//骞冲彴琛ㄦ牸鍦板潃
+      copyParam: ['referBo', 'textField', 'valueField', 'displayTable', 'whereSql', 'queryScheme'],
       query: {},
       loading: false,
       page: {
+        layout: this.referType === "master" ? "total,pager,prev, next,jumper" : "total,pager,prev, next,jumper,sizes",
         pageSize: 10,
         currentPage: 1,
-        total: this.referConfig.options.data?this.referConfig.options.data.length :0
+        total: this.referConfig.options.data ? this.referConfig.options.data.length : 0
       },
-      data:this.referConfig.options.data || [],
+      data: this.referConfig.options.data || [],
       selectionList: [],
       option: {
         addBtn: false,
-        columnBtn:false,
+        columnBtn: false,
         height: this.referConfig.options.height ? this.referConfig.options.height : 475,
         calcHeight: 30,
         tip: false,
-        menu:false,
+        menu: false,
         searchShow: true,
         searchMenuSpan: 6,
         searchLabelWidth: 90,
         border: true,
         index: true,
         selection: true,
-        reserveSelection:true,
+        reserveSelection: true,
         dialogClickModal: false,
         highlightCurrentRow: true,
-        rowKey:'oid',
-        rowParentKey:'parentSaleProduct',
+        rowKey: 'oid',
+        rowParentKey: 'parentSaleProduct',
         column: []
       }
     };
@@ -89,56 +93,64 @@
     this.getParams();
   },
   mounted() {
-    if(this.referConfig.options.page){
-      this.page.pageSize=this.referConfig.options.tableConfig.page.limit || this.referConfig.options.tableConfig.page.pageSize;
-      this.page.currentPage=this.referConfig.options.tableConfig.page.page || this.referConfig.options.tableConfig.page.currentPage;
-    }else if(!validatenull(this.referConfig.options.limit)){
-      this.page.pageSize=this.referConfig.options.limit
-    }else if(!validatenull(this.referConfig.options.tableConfig.limit)){
-      this.page.pageSize=this.referConfig.options.tableConfig.limit
+    if (this.referConfig.options.tableConfig && this.referConfig.options.tableConfig.page) {
+      this.page.pageSize = this.referConfig.options.tableConfig.page.limit || this.referConfig.options.tableConfig.page.pageSize;
+      this.page.currentPage = this.referConfig.options.tableConfig.page.page || this.referConfig.options.tableConfig.page.currentPage;
+    } else if (!validatenull(this.referConfig.options.limit)) {
+      this.page.pageSize = this.referConfig.options.limit;
+    } else if (this.referConfig.options.tableConfig && !validatenull(this.referConfig.options.tableConfig.limit)) {
+      this.page.pageSize = this.referConfig.options.tableConfig.limit;
     }
     this.$nextTick(() => {
       this.$refs.referCrud.doLayout()
     })
   },
 
-  computed:{
-    valueInfo:function (){
-      return this.text ? ("宸茶缃殑鍊间负[" + this.text + "]"): '鏈缃��'
+  computed: {
+    valueInfo: function () {
+      return this.text ? ("宸茶缃殑鍊间负[" + this.text + "]") : '鏈缃��'
     }
   },
   methods: {
-    getParams:function (){
+    escHandler() {
+      this.visible = false;
+      this.$refs.referDefalutCrud.refreshTable()
+    },
+    dialogClose() {
+      this.visible = false;
+      this.$refs.referDefalutCrud.refreshTable()
+    },
+    getParams: function () {
       var queryParams = {};
-      if(this.options.extraParams){
+      if (this.options.extraParams) {
         queryParams = this.options.extraParams;
       }
-      if(this.options.useFormKey && this.options.formValues){
+      if (this.options.useFormKey && this.options.formValues) {
         //浣跨敤琛ㄥ崟涓婄殑瀛楁鏉ヨ繃婊�
-        queryParams['conditionMap["' + (this.options.paramForFormKey?this.options.paramForFormKey:this.options.useFormKey)  + '"]'] = this.options.formValues[this.options.useFormKey];
+        queryParams['conditionMap["' + (this.options.paramForFormKey ? this.options.paramForFormKey : this.options.useFormKey) + '"]'] = this.options.formValues[this.options.useFormKey];
       }
-      if(this.options.where ) {
+      if (this.options.where) {
         for (var key in this.options.where) {
           queryParams['conditionMap["' + key + '"]'] = this.options.where[key];//鏂�
         }
       }
-      for(var i= 0 ; i < this.copyParam.length ; i ++){
+      for (var i = 0; i < this.copyParam.length; i++) {
         queryParams[this.copyParam[i]] = this.options[this.copyParam[i]];
       }
-      queryParams["isMuti"]=this.isMuti;
-      queryParams.muti =this.isMuti;
-      if(!queryParams['referBo']){
+      queryParams["isMuti"] = this.isMuti;
+      queryParams.muti = this.isMuti;
+      if (!queryParams['referBo']) {
         queryParams['referBo'] = this.options['referBo'] || this.options['referType'];
       }
-      queryParams['referType']= queryParams['referBo']
+      queryParams['referType'] = queryParams['referBo']
       if (this.options.initSort) {
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
       }
-      if(this.options.sortField){
+      if (this.options.sortField) {
         queryParams['sort'] = this.options.sortField;//瀛楁
       }
-      if(this.options.sortType){
+      if (this.options.sortType) {
         queryParams['order'] = this.options.sortType;//鏂规硶
       }
       if (this.options.conditionParams) {
@@ -163,36 +175,40 @@
       }
       var paramsData = {};
       //涓轰簡澶勭悊鍗曞紩鍙峰拰鍙屽紩鍙风殑
-      if(queryParams){
-        for (var key in queryParams){
+      if (queryParams) {
+        for (var key in queryParams) {
           paramsData[key.replace(/"/g, "'")] = queryParams[key];
         }
       }
 
-      if(this.options.displayTable){
+      if (this.options.displayTable) {
         //璇存槑鏄娇鐢ㄥ钩鍙扮殑琛ㄦ牸
-        getTableDefinedUrl({btmType:(this.options.referBo||this.options.referType),code:this.options.displayTable,isMuti:this.isMuti},this.tableDefinedUrl).then(result => {
-          console.log('result',result)
-          if(result.success){
+        getTableDefinedUrl({
+          btmType: (this.options.referBo || this.options.referType),
+          code: this.options.displayTable,
+          isMuti: this.isMuti
+        }, this.tableDefinedUrl).then(result => {
+          console.log('result', result)
+          if (result.success) {
             var queryScheme = result.querySchema;
-            if(!validatenull(queryScheme) && validatenull(this.options.queryScheme)){
+            if (!validatenull(queryScheme) && validatenull(this.options.queryScheme)) {
               this.options.queryScheme = queryScheme;
             }
             paramsData['queryScheme'] = this.options.queryScheme;
-            if(result.showIndex){
+            if (result.showIndex) {
               this.option.index = true;
             }
-            if(result.showCheckbox){
+            if (result.showCheckbox) {
               this.option.selection = true
             }
             var referColumn = "";
-            if(result.columns){
-              this.option.column= result.columns.map(item => {
-                if(item.field.indexOf(".")>-1){
+            if (result.columns) {
+              this.option.column = result.columns.map(item => {
+                if (item.field.indexOf(".") > -1) {
                   referColumn += item.field + ",";
-                  item.field = item.field.replace(".","_");
+                  item.field = item.field.replace(".", "_");
                 }
-                if(!validatenull(item.enumCode)) {
+                if (!validatenull(item.enumCode)) {
                   //鏄灇涓剧殑鍐呭
                   item.type = 'select';
                   item.dicUrl = "/api/ubcs-omd/enum/dictionary?code=" + item.enumCode;
@@ -209,12 +225,12 @@
                     trigger: "blur"
                   }];
                 }
-                item.formatter=function(d){
-                  if(d[item.field]!=undefined){
+                item.formatter = function (d) {
+                  if (d[item.field] != undefined) {
                     return d[item.field]
-                  }else if(d.data[item.field] !=undefined){
+                  } else if (d.data[item.field] != undefined) {
                     return d.data[item.field]
-                  }else {
+                  } else {
                     return ''
                   }
                 };
@@ -227,48 +243,48 @@
               })
             }
             paramsData['referColumn'] = referColumn;
-            if(result.limit>0){
+            if (result.limit > 0) {
               this.page.pageSize = result.limit;
-              this.page.currentPage=1
+              this.page.currentPage = 1
             }
-            if(this.options.isTreeGrid){
+            if (this.options.isTreeGrid) {
               //琛ㄦ牸鏍戝姞涓婇厤缃�
             }
-            this.params=paramsData;
-          }else{
+            this.params = paramsData;
+          } else {
             this.$message.error(result.msg);
           }
 
         });
-      }else{
+      } else {
         //璇存槑鏄嚜瀹氫箟鐨勮〃鏍�
         var tableConfig = this.options.tableConfig;
-        if(!tableConfig){
-          this.$message.error( '娌℃湁瀹氫箟鍙傜収鐨勮〃鏍奸厤缃�');
+        if (!tableConfig) {
+          this.$message.error('娌℃湁瀹氫箟鍙傜収鐨勮〃鏍奸厤缃�');
         }
-        if(!paramsData){
+        if (!paramsData) {
           paramsData = {
-            currentUserReferModelKey:this.options.currentUserReferModelKey,
-            currentUserReferMethodKey:this.options.currentUserReferMethodKey
+            currentUserReferModelKey: this.options.currentUserReferModelKey,
+            currentUserReferMethodKey: this.options.currentUserReferMethodKey
           };
-        }else{
+        } else {
           paramsData['currentUserReferModelKey'] = this.options.currentUserReferModelKey;
           paramsData['currentUserReferMethodKey'] = this.options.currentUserReferMethodKey;
         }
-        if(this.options.tableConfig && this.options.tableConfig.cols && this.options.tableConfig.cols.length>0) {
+        if (this.options.tableConfig && this.options.tableConfig.cols && this.options.tableConfig.cols.length > 0) {
           //璇存槑浼犻�掍簡鐨�
-          this.option.column= this.options.tableConfig.cols.map(item => {
+          this.option.column = this.options.tableConfig.cols.map(item => {
             if (item.field != 'LAY_TABLE_INDEX' && item.field != 'LAY_CHECKED') {
-              let formatter=item.template || item.templet;
-              if(typeof formatter == "string" && formatter !=''){
-                formatter=eval("(" + formatter + ")")
-              }else{
-                formatter=function (d){
-                  if(d[item.field]!=undefined){
+              let formatter = item.template || item.templet;
+              if (typeof formatter == "string" && formatter != '') {
+                formatter = eval("(" + formatter + ")")
+              } else {
+                formatter = function (d) {
+                  if (d[item.field] != undefined) {
                     return d[item.field]
-                  }else if(d.data[item.field] !=undefined){
+                  } else if (d.data[item.field] != undefined) {
                     return d.data[item.field]
-                  }else {
+                  } else {
                     return ''
                   }
                 }
@@ -277,82 +293,89 @@
                 ...item,
                 label: item.title,
                 prop: item.field,
-                formatter:formatter,
-                sortable:item.sort,
-                hide:item.hidden,
-                search: this.options.tableConfig.queryColumns.some(qItem=>{
-                  return qItem.field==item.field
+                formatter: formatter,
+                sortable: item.sort,
+                hide: item.hidden,
+                search: this.options.tableConfig.queryColumns.some(qItem => {
+                  return qItem.field == item.field
                 })
               }
             }
           })
         }
-        if(this.options.isTreeGrid){
+        if (this.options.isTreeGrid) {
           //琛ㄦ牸鏍戝姞涓婇厤缃�
         }
       }
-      this.params=paramsData;
+      this.params = paramsData;
     },
-    setValue(){
-      if(this.selectionList.length==0){
-        this.$message.warning( '娌℃湁閫夋嫨鏁版嵁');
+    setValue() {
+      if (this.selectionList.length == 0) {
+        this.$message.warning('娌℃湁閫夋嫨鏁版嵁');
         return false;
-      }else if(this.selectionList.length>1 && !this.isMuti){
-        this.$message.warning( '姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�');
+      } else if (this.selectionList.length > 1 && !this.isMuti) {
+        this.$message.warning('姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�');
         return false;
       }
 
       var value = [];
       var text = [];
-      var isMutiValue = (this.props.value.indexOf(",")>-1);
-      var isMutiRaw = (this.props.label.indexOf(",")>-1);
-      var _that=this
-      this.selectionList.forEach((item,_index) =>{
-        if(isMutiValue){
+      var isMutiValue = (this.props.value.indexOf(",") > -1);
+      var isMutiRaw = (this.props.label.indexOf(",") > -1);
+      var _that = this
+      this.selectionList.forEach((item, _index) => {
+        if (isMutiValue) {
           var valueFieldArray = _that.props.value.split(",");
-          valueFieldArray.forEach((_itemField,_indexField)=>{
-            let itemValue=item[_itemField];
-            if(itemValue==undefined || itemValue == null){
-              itemValue=item['data'][_itemField]
+          valueFieldArray.forEach((_itemField, _indexField) => {
+            let itemValue = item[_itemField];
+            if (itemValue == undefined || itemValue == null) {
+              itemValue = item['data'][_itemField]
             }
-            value.push( itemValue + (_that.referConfig.valueSep?_that.referConfig.valueSep:' '));
+            value.push(itemValue + (_that.referConfig.valueSep ? _that.referConfig.valueSep : ' '));
           })
-        }else {
-          let itemValue=item[_that.props.value];
-          if(itemValue==undefined || itemValue == null){
-            itemValue=item['data'][_that.props.value]
+        } else {
+          let itemValue = item[_that.props.value];
+          if (itemValue == undefined || itemValue == null) {
+            itemValue = item['data'][_that.props.value]
           }
           value.push(itemValue);
         }
-        if(isMutiRaw) {
+        if (isMutiRaw) {
           var rawFieldArray = _that.props.label.split(",");
-          rawFieldArray.forEach((_itemField,_indexField)=>{
-            let itemText=item[_itemField];
-            if(itemText==undefined || itemText == null){
-              itemText=item['data'][_itemField]
+          rawFieldArray.forEach((_itemField, _indexField) => {
+            let itemText = item[_itemField];
+            if (itemText == undefined || itemText == null) {
+              itemText = item['data'][_itemField]
             }
-            text.push(itemText + (_that.referConfig.textSep?_that.referConfig.textSep:' ')) ;
+            text.push(itemText + (_that.referConfig.textSep ? _that.referConfig.textSep : ' '));
           })
-        }else{
-          let itemText=item[_that.props.label];
-          if(itemText==undefined || itemText == null){
-            itemText=item['data'][_that.props.label]
+        } else {
+          let itemText = item[_that.props.label];
+          if (itemText == undefined || itemText == null) {
+            itemText = item['data'][_that.props.label]
           }
           text.push(itemText);
         }
       })
-      let mapFields =this.referConfig.fieldMap || {};
+      let mapFields = this.referConfig.fieldMap || {};
       try {
-        if(!validatenull(this.options.mapFields)){
-          mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+        if (!validatenull(this.options.mapFields)) {
+          mapFields = Object.assign(this.referConfig.fieldMap, JSON.parse(this.options.mapFields));
         }
-      }catch (e) {
+      } catch (e) {
 
       }
-      this.value=value.join(',');
-      this.text=text.join(',')
-      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:mapFields});
-      this.visible=false;
+      this.value = value.join(',');
+      this.text = text.join(',')
+      this.$emit("setValue", {
+        field: this.referConfig.field,
+        showField: this.referConfig.showField,
+        value: this.value,
+        text: this.text,
+        rawData: this.selectionList,
+        fieldMap: mapFields
+      });
+      this.visible = false;
     },
     searchReset() {
       this.query = {};
@@ -364,16 +387,16 @@
       this.onLoad(this.page);
       done();
     },
-    currentChange(currentPage){
+    currentChange(currentPage) {
       this.page.currentPage = currentPage;
     },
-    sizeChange(pageSize){
+    sizeChange(pageSize) {
       this.page.pageSize = pageSize;
     },
-    rowClick (row) {
+    rowClick(row) {
       this.$refs.referCrud.toggleSelection();
       this.$refs.referCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-      this.selectionList=[row]
+      this.selectionList = [row]
     },
     selectionChange(list) {
       if (!this.isMuti && list.length > 1) {
@@ -389,33 +412,33 @@
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
-    onLoad(page, params={}) {
-      if(this.url){
+    onLoad(page, params = {}) {
+      if (this.url) {
         this.loading = true;
-        var query={}
+        var query = {}
         if (this.query) {
           for (var key in this.query) {
             query['conditionMap["' + key + '"]'] = this.query[key];
           }
         }
-        getList(Object.assign(params,this.params,this.query, query),page.currentPage, page.pageSize, this.url).then(res => {
-          let data=[]
-          if(res.data.records){
+        getList(Object.assign(params, this.params, this.query, query), page.currentPage, page.pageSize, this.url).then(res => {
+          let data = []
+          if (res.data.records) {
             data = res.data.records
-            this.page.total=res.data.total ;
-          }else{
+            this.page.total = res.data.total;
+          } else {
             data = res.data.data.records;
-            this.page.total=res.data.data.total;
+            this.page.total = res.data.data.total;
           }
-          this.data=data.map(item => {
-            item.data=item.data || {}
+          this.data = data.map(item => {
+            item.data = item.data || {}
             return {
               ...item
             }
           })
           this.loading = false;
           this.selectionClear();
-        }).catch(error=>{
+        }).catch(error => {
           this.$message.error(error);
           this.loading = false;
         });
@@ -427,7 +450,7 @@
 </script>
 
 <style scoped>
-.valueInfo{
+.valueInfo {
   float: left;
   border: 1px solid #E9E7E7;
   display: inline-block;
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index f1a8c0d..6e1cbeb 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -1,34 +1,44 @@
 <template>
-  <avue-input-tree ref="referTree" :props="props" :disabled="disabled" :lazy="lazy" :tree-load="treeLoad" :node-click="nodeClick" :checked="checked"
-                   :leaf-only="referConfig.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="title" :dic="treeData"></avue-input-tree>
+  <avue-input-tree ref="referTree"
+                   v-model="value"
+                   :checked="checked"
+                   :dic="treeData"
+                   :disabled="disabled"
+                   :lazy="lazy"
+                   :leaf-only="referConfig.onlyLeaf"
+                   :multiple="isMuti"
+                   :node-click="nodeClick"
+                   :placeholder="title"
+                   :props="props"
+                   :tree-load="treeLoad"></avue-input-tree>
 </template>
 
 <script>
-import {getTree,getLazyTree} from "@/api/refer/tree";
+import {getTree, getLazyTree} from "@/api/refer/tree";
 import {validatenull} from "@/util/validate";
 
 export default {
   name: "vciWebReferTree",
-  props:["referConfig","value","text","title","disabled"],
+  props: ["referConfig", "value", "text", "title", "disabled"],
   data() {
     return {
       visible: false,
       options: this.referConfig.options,
       lazy: this.referConfig.options.loadType == 'node',
-      isMuti:("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
+      isMuti: ("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
       props: {
         value: 'oid',
         label: "name"
       },
-      config:{
+      config: {
         valueField: this.referConfig.valueField || this.referConfig.options.valueField || 'oid',
-        textField:this.referConfig.textField || this.referConfig.options.textField || "name",
-        textSep:this.referConfig.textSep || ' '
+        textField: this.referConfig.textField || this.referConfig.options.textField || "name",
+        textSep: this.referConfig.textSep || ' '
       },
       treeUrl: this.referConfig.options.url || '/api/ubcs-code/mdmEngineController/defaultReferTree',
       treeData: [],
-      checkedData:[],
-      currentNode:{},
+      checkedData: [],
+      currentNode: {},
       params: {},
       loadType: {'all': 'all', 'node': 'node'},
       copyParam: ['btmType', 'lnType', 'toBtmType', 'textField', 'valueField', 'parentFieldName', 'parentValue', 'sort', 'order', 'isDirection', 'whereSql', 'isMuti', 'queryScheme', 'isQueryAllColumn', 'queryColumn', 'split', 'loadType', 'onlyLeaf', 'onlyLeafText', 'parentUsedField']
@@ -38,44 +48,44 @@
     this.getParams();
   },
   mounted() {
-    if(!this.lazy){
-      if(this.options.data){//濡傛灉鏄浐瀹氭暟鎹殑鎯呭喌涓�
-        this.treeData=this.options.data
-      }else{
+    if (!this.lazy) {
+      if (this.options.data) {//濡傛灉鏄浐瀹氭暟鎹殑鎯呭喌涓�
+        this.treeData = this.options.data
+      } else {
         this.getTree()
       }
     }
   },
-  computed:{},
+  computed: {},
   methods: {
-    getParams:function (){
+    getParams: function () {
       var queryParams = {};
-      if(this.options.extraParams){
+      if (this.options.extraParams) {
         queryParams = this.options.extraParams;
       }
-      for(var i= 0 ; i < this.copyParam.length ; i ++){
-        if(this.copyParam[i] == "btmType") {
+      for (var i = 0; i < this.copyParam.length; i++) {
+        if (this.copyParam[i] == "btmType") {
           queryParams[this.copyParam[i]] = this.options['referBo'] || this.options['referType'];
-        }else if(this.copyParam[i] in this.options){
+        } else if (this.copyParam[i] in this.options) {
           queryParams[this.copyParam[i]] = this.options[this.copyParam[i]];
         }
       }
       queryParams['referBo'] = this.options['referBo'] || this.options['referType'];
-      queryParams['referType']= queryParams['referBo']
-      queryParams['selectAllLevel'] = (this.options.loadType == this.loadType.all?true:false);//true鏃跺悗鍙颁細鎶ラ敊
+      queryParams['referType'] = queryParams['referBo']
+      queryParams['selectAllLevel'] = (this.options.loadType == this.loadType.all ? true : false);//true鏃跺悗鍙颁細鎶ラ敊
 
-      queryParams.muti =this.isMuti;
-      if(queryParams.isQueryAllColumn =="true"){
+      queryParams.muti = this.isMuti;
+      if (queryParams.isQueryAllColumn == "true") {
         queryParams.isQueryAllColumn = true;
       }
-      if(this.options.useFormKey && this.options.formValues){
+      if (this.options.useFormKey && this.options.formValues) {
         //浣跨敤琛ㄥ崟涓婄殑瀛楁鏉ヨ繃婊�
-        queryParams['conditionMap["' + (this.options.paramForFormKey?this.options.paramForFormKey:this.options.useFormKey)  + '"]'] = this.options.formValues[this.options.useFormKey];
+        queryParams['conditionMap["' + (this.options.paramForFormKey ? this.options.paramForFormKey : this.options.useFormKey) + '"]'] = this.options.formValues[this.options.useFormKey];
       }
       if (!this.options.loadType) {
         this.options.loadType = this.loadType.node;
       }
-      queryParams['queryAllLevel'] = this.options.loadType == this.loadType.node? false : true;//榛樿閫愮骇灞曞紑
+      queryParams['queryAllLevel'] = this.options.loadType == this.loadType.node ? false : true;//榛樿閫愮骇灞曞紑
       queryParams['loadType'] = this.options.loadType;
       queryParams['multipleSelect'] = this.isMuti;
       queryParams['isMuti'] = queryParams['multipleSelect'];
@@ -83,10 +93,10 @@
         queryParams['order'] = this.options.initSort.type;//鏂规硶
         queryParams['sort'] = this.options.initSort.field;//瀛楁
       }
-      if(this.options.sortField){
+      if (this.options.sortField) {
         queryParams['sort'] = this.options.sortField;//瀛楁
       }
-      if(this.options.sortType){
+      if (this.options.sortType) {
         queryParams['order'] = this.options.sortType;//鏂规硶
       }
       if (this.options.rootParams) {
@@ -100,7 +110,7 @@
           queryParams['conditionMap["' + key + '"]'] = this.options.conditionParams[key];//鏂扮殑鏂瑰紡
         }
       }
-      if(this.options.where ) {
+      if (this.options.where) {
         for (var key in this.options.where) {
           queryParams['conditionMap["' + key + '"]'] = this.options.where[key];//鏂�
         }
@@ -125,7 +135,7 @@
           queryParams['replaceMap["' + key + '"]'] = this.options.replaceParams[key];//鏂扮殑鏂瑰紡
         }
       }
-      this.params=queryParams;
+      this.params = queryParams;
 
     },
     getTree() {
@@ -150,24 +160,24 @@
     treeLoad: function (treeNode, resolve) {
       //閫愮骇鍔犺浇
       const parentOid = (treeNode.level === 0) ? 0 : treeNode.data.oid;
-      this.params.parentOid=parentOid.indexOf('@vcitreesep@') > -1 ? parentOid.split('@vcitreesep@')[1] : parentOid;
-      this.params.parentValue=this.params.parentOid;
-      this.params.parentBtmName=treeNode.data.attributes.btmName || treeNode.data.attributes.btmname;
-      this.params.parentBtmType=this.params.parentBtmName;
+      this.params.parentOid = parentOid.indexOf('@vcitreesep@') > -1 ? parentOid.split('@vcitreesep@')[1] : parentOid;
+      this.params.parentValue = this.params.parentOid;
+      this.params.parentBtmName = treeNode.data.attributes.btmName || treeNode.data.attributes.btmname;
+      this.params.parentBtmType = this.params.parentBtmName;
 
       if (this.options.rootParams && treeNode.level !== 0) {
         for (var key in this.options.rootParams) {
           delete this.params[key]
         }
       }
-      getLazyTree(this.params,this.treeUrl).then(res => {
+      getLazyTree(this.params, this.treeUrl).then(res => {
         resolve(res.data.data.map(item => {
-          if(!item.attributes){
-            item.attributes={
-              data:{}
+          if (!item.attributes) {
+            item.attributes = {
+              data: {}
             }
-          }else{
-            item.attributes.data=item.attributes.data || {}
+          } else {
+            item.attributes.data = item.attributes.data || {}
           }
           return {
             ...item,
@@ -176,39 +186,39 @@
         }))
       });
     },
-    nodeClick(data, node, nodeComp){
-      if(!this.isMuti) {
-        this.setValue({checkedNodes:[data]})
+    nodeClick(data, node, nodeComp) {
+      if (!this.isMuti) {
+        this.setValue({checkedNodes: [data]})
       }
     },
     checked(checkedNode, checkedData) {
       this.setValue(checkedData)
     },
-    setValue:function (checkedData){
-      this.checkedData=checkedData
+    setValue: function (checkedData) {
+      this.checkedData = checkedData
       var value = [];
       var text = [];
-      const textSep =this.config.textSep;
-      for(var j =0;j<checkedData.checkedNodes.length;j++){
-        const item=checkedData.checkedNodes[j];
-        var v=this.config.valueField.indexOf("attribute.")>=0?(item.attributes[this.config.valueField.replace("attribute.","")] || item.attributes.data[this.config.valueField.replace("attribute.","")]):(item.attributes[this.config.valueField] || item[this.config.valueField] || item.attributes.data[this.config.valueField])
+      const textSep = this.config.textSep;
+      for (var j = 0; j < checkedData.checkedNodes.length; j++) {
+        const item = checkedData.checkedNodes[j];
+        var v = this.config.valueField.indexOf("attribute.") >= 0 ? (item.attributes[this.config.valueField.replace("attribute.", "")] || item.attributes.data[this.config.valueField.replace("attribute.", "")]) : (item.attributes[this.config.valueField] || item[this.config.valueField] || item.attributes.data[this.config.valueField])
         value.push(v);
         var tempRaw = [];
         var textFieldArray = this.config.textField.split(",");
         for (var i = 0; i < textFieldArray.length; i++) {//鏄剧ず鐨勫瓧娈靛彲鑳芥湁澶氫釜
           if (!validatenull(textFieldArray[i])) {
-            var t=textFieldArray[i].indexOf("attribute.")>=0?(item.attributes[textFieldArray[i].replace("attribute.","")] ||item.attributes.data[textFieldArray[i].replace("attribute.","")]):(item.attributes[textFieldArray[i]] || item[textFieldArray[i]] || item.attributes.data[textFieldArray[i]])
+            var t = textFieldArray[i].indexOf("attribute.") >= 0 ? (item.attributes[textFieldArray[i].replace("attribute.", "")] || item.attributes.data[textFieldArray[i].replace("attribute.", "")]) : (item.attributes[textFieldArray[i]] || item[textFieldArray[i]] || item.attributes.data[textFieldArray[i]])
             tempRaw.push(t);
           }
         }
         text.push(tempRaw.join(textSep));
       }
-      let mapFields =this.referConfig.fieldMap || {};
+      let mapFields = this.referConfig.fieldMap || {};
       try {
-        if(!validatenull(this.options.mapFields)){
-          mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+        if (!validatenull(this.options.mapFields)) {
+          mapFields = Object.assign(this.referConfig.fieldMap, JSON.parse(this.options.mapFields));
         }
-      }catch (e) {
+      } catch (e) {
 
       }
       this.value = value.join(',');
@@ -218,9 +228,9 @@
         showField: this.referConfig.showField,
         value: this.value,
         text: this.text || '',
-        isTreeMuti:this.isMuti,
+        isTreeMuti: this.isMuti,
         rawData: checkedData.checkedNodes,
-        fieldMap:mapFields
+        fieldMap: mapFields
       });
     }
   }
diff --git a/Source/UBCS-WEB/src/components/template/Business.vue b/Source/UBCS-WEB/src/components/template/Business.vue
index d5dacde..60ff04a 100644
--- a/Source/UBCS-WEB/src/components/template/Business.vue
+++ b/Source/UBCS-WEB/src/components/template/Business.vue
@@ -202,4 +202,4 @@
             margin: 15px 0 16px;
         }
     }
-</style>
\ No newline at end of file
+</style>
diff --git a/Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js b/Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js
index 4aba109..693c4bb 100644
--- a/Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js
+++ b/Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js
@@ -329,5 +329,14 @@
         trigger: "blur"
       }],
     },
+    {
+      required: true,
+      label: '娣锋穯瀛楃杞崲',
+      prop:'confound',
+      labelWidth : 110,
+      search: false,
+      formslot:true,
+      display:true
+    }
   ]
 }
diff --git a/Source/UBCS-WEB/src/styles/tags.scss b/Source/UBCS-WEB/src/styles/tags.scss
index 283be5e..5b61199 100644
--- a/Source/UBCS-WEB/src/styles/tags.scss
+++ b/Source/UBCS-WEB/src/styles/tags.scss
@@ -1,7 +1,7 @@
 
 
 .avue-tags {
-    user-select: none; 
+    user-select: none;
     position: relative;
     padding: 0 10px;
     margin-bottom: 10px;
@@ -89,4 +89,4 @@
         padding: 1px 0 0 15px;
         box-sizing: border-box;
     }
-}
\ No newline at end of file
+}
diff --git a/Source/UBCS-WEB/src/views/code/codeKeyAttrRepeat.vue b/Source/UBCS-WEB/src/views/code/codeKeyAttrRepeat.vue
index 490300f..922fd88 100644
--- a/Source/UBCS-WEB/src/views/code/codeKeyAttrRepeat.vue
+++ b/Source/UBCS-WEB/src/views/code/codeKeyAttrRepeat.vue
@@ -27,6 +27,9 @@
                    @click="handleDelete">鍒� 闄�
         </el-button>
       </template>
+      <template slot-scope="scope" slot="confoundForm">
+        <el-input placeholder="璇疯緭鍏ユ贩娣嗗瓧绗︿互閫楀彿闅斿紑" v-model="confoundValue"></el-input>
+      </template>
     </avue-crud>
   </basic-container>
 </template>
@@ -49,7 +52,8 @@
         },
         selectionList: [],
         option: option,
-        data: []
+        data: [],
+        confoundValue:''
       };
     },
     computed: {
diff --git a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
index 0369f5c..64dbfa1 100644
--- a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
+++ b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -1,13 +1,13 @@
 <template>
   <!--  鏂板鍙充晶鎸夐挳-->
-  <div>
+  <div v-loading="loading">
     <div style=" display: flex; justify-content: flex-end;">
       <el-button plain type="primary" @click="addHandler">閰嶇疆</el-button>
     </div>
     <!--鏂板瀵硅瘽妗�-->
     <el-dialog :visible.sync="addVisible" append-to-body class="avue-dialog avue-dialog--top" title="閰嶇疆鏁版嵁缁熻鍒嗘瀽"
                top="-50px">
-      <el-table ref="table" :data="tableData" border style="width: 100%" @selection-change="selectChange">
+      <el-table ref="table" :data="tableData" border style="width: 100%" @selection-change="selectChange" @row-click="rowHandlerClick">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column align="center" label="涓绘暟鎹簱鍚�" prop="menuName" width="300"></el-table-column>
         <el-table-column align="center" label="绫诲瀷" prop="codeType">
@@ -28,23 +28,32 @@
       <lineChart
         v-for="(item,index) in lineList"
         :key="index"
+        :btmname="item.btmname"
         :chartName="item.menuName"
-        :lineData="item.menuData"></lineChart>
+        :lineData="item.menuData"
+        @refresh="getEcharts">
+      </lineChart>
       <pieChart
         v-for="(item,index) in pieList"
         :key="index"
+        :btmname="item.btmname"
         :chartName="item.menuName"
-        :pieData="item.menuData"></pieChart>
+        :pieData="item.menuData"
+        @refresh="getEcharts"></pieChart>
       <ColumnarChart
         v-for="(item,index) in columnarList"
         :key="index"
+        :btmname="item.btmname"
         :chartName="item.menuName"
-        :columnarData="item.menuData"></ColumnarChart>
+        :columnarData="item.menuData"
+        @refresh="getEcharts"></ColumnarChart>
       <mixCart
         v-for="(item,index) in mixList"
         :key="index"
+        :btmname="item.btmname"
         :chartName="item.menuName"
-        :mixData="item.menuData"></mixCart>
+        :mixData="item.menuData"
+        @refresh="getEcharts"></mixCart>
     </div>
   </div>
 </template>
@@ -67,6 +76,7 @@
   name: "statisticPage",
   data() {
     return {
+      loading: false,
       selectValue: '',
       selectList: [
         {
@@ -95,15 +105,16 @@
       columnarList: [],
       mixList: [],
       selectData: [],
-      tableData: []
+      tableData: [],
+      ResponseData: {}
     }
   },
   created() {
-    this.getMasterList();
+    this.loading = true;
+  },
+  mounted() {
     this.getEcharts();
-    // deleteChartId({btmname:'zxssaac',chartId:'3'}).then(res=>{
-    //   console.log('res',res)
-    // })
+    this.getMasterList();
   },
   methods: {
     getMasterList() {
@@ -114,25 +125,92 @@
         this.$message.error(error)
       })
     },
-    getEcharts() {
-      getBtmAndChart().then(firstResponse => {
-        console.log('btm', firstResponse)
+    //鍒楄〃鏁版嵁
+    async getEcharts() {
+      try {
+        const firstResponse = await getBtmAndChart();
         const btmNames = Object.keys(firstResponse.data.data).join(',');
-        const firstData = firstResponse.data.data;
-        Object.keys(firstData).forEach((item,index) => {
-          let firstIndex = firstData[item].split(',');
-          console.log('firstIndex',firstIndex);
-        });
-        if (btmNames) {
-          getStatisticAnalysis({btmNames}).then(secondResponse => {
-            console.log('getStatisticAnalysis', secondResponse)
-          })
+        const btmValue = Object.values(firstResponse.data.data);
+        if (!btmNames) {
+          this.lineList = [];
+          this.pieList = [];
+          this.columnarList = [];
+          this.mixList = [];
+          this.loading = false;
+          return;
         }
-      })
+        const typeList = {
+          '0': 'lineList',
+          '1': 'pieList',
+          '2': 'columnarList',
+          '3': 'mixList'
+        };
+        await this.handleStatisticAnalysis(btmNames, firstResponse);
+        this.loading = false;
+      } catch (error) {
+        this.loading = false;
+        console.error('Error:', error);
+      }
+    },
+    async handleStatisticAnalysis(btmNames, firstResponse) {
+      const secondResponse = await getStatisticAnalysis({btmNames});
+      const secondData = secondResponse.data.data;
+      const typeList = {
+        "0": "lineList",
+        "1": "pieList",
+        "2": "columnarList",
+        "3": "mixList"
+      };
+      this.lineList = [];
+      this.pieList = [];
+      this.columnarList = [];
+      this.mixList = [];
+      const firstData = firstResponse.data.data;
+      //Object.keys瀵艰嚧瀵硅薄椤哄簭涓嶄竴鑷达紝浣跨敤sort鎺掑簭涓庡悗绔繑鍥炴牸寮忎竴鑷�
+      Object.keys(firstData).sort().forEach((key, index) => {
+        if (firstData[key]) {
+          const indexes = firstData[key].split(',');
+          for (const indexSec of indexes) {
+            const listType = typeList[indexSec];
+            const list = secondData.map(record => {
+              return {
+                menuData: record.menuData,
+                menuName: record.menuName,
+                btmname: key
+              };
+            });
+            this.$nextTick(() => {
+              list.forEach((i, j) => {
+                if (index === j) {
+                  this[listType].push(i);
+                }
+              });
+            });
+          }
+        }
+      });
     },
     //鏂板
     addHandler() {
       this.addVisible = true;
+      // let checkedrow = []
+      // this.tableData.forEach(item => {
+      //   // item.codeType = [];
+      //   Object.keys(this.ResponseData.data.data).forEach(k => {
+      //     if (item.code === k) {
+      //       Object.values(this.ResponseData.data.data).forEach(v => {
+      //         // item.codeType.push(v);
+      //         checkedrow.push(item)
+      //       })
+      //     }
+      //   })
+      // })
+      // this.$nextTick(() => {
+      //   checkedrow.forEach(row => {
+      //     // console.log(row)
+      //     this.$refs.table.toggleRowSelection(row, true) // 鍥炴樉
+      //   })
+      // })
     },
     //鍙栨秷
     escHandler() {
@@ -144,12 +222,12 @@
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒');
         return;
       }
-      let codeStatus = this.selectData.every(key => key.codeType)
+      let codeStatus = this.selectData.every(key => key.codeType.length > 0);
+
       if (!codeStatus) {
         this.$message.warning("璇锋鏌ュ凡鍕鹃�夋暟鎹被鍨嬫槸鍚︿负绌猴紒");
         return;
       }
-
       const newArray = this.selectData.map(item => {
         return {
           btmname: item.code,
@@ -157,9 +235,10 @@
         }
       })
       saveStatisticAnalysis(newArray).then(res => {
-        this.menuList = res.data.data;
-        this.nextSave();
+        // this.menuList = res.data.data;
+        this.getEcharts();
         this.$message.success('淇濆瓨鎴愬姛')
+        this.addVisible = false;
       }).catch(error => {
         this.$message.error(error)
       });
@@ -179,8 +258,6 @@
         const dataKey = typeList[item.codeType];
         if (dataKey) {
           this[dataKey].push(item);
-          this[dataKey].forEach(res => {
-          })
           hasValidData = true;
         }
       });
@@ -194,6 +271,10 @@
     selectChange(selection) {
       this.selectData = selection;
     },
+    rowHandlerClick(row){
+      this.selectData = row;
+      this.$refs.table.toggleRowSelection(row);
+    }
   }
 }
 
diff --git a/Source/UBCS/ubcs-codeApply/pom.xml b/Source/UBCS/ubcs-codeApply/pom.xml
index 2a2063c..d59e021 100644
--- a/Source/UBCS/ubcs-codeApply/pom.xml
+++ b/Source/UBCS/ubcs-codeApply/pom.xml
@@ -8,6 +8,18 @@
         <version>3.0.1.RELEASE</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>8</source>
+                    <target>8</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
     <properties>
         <vciplt.version>2022.RELEASE</vciplt.version>
         <old.spring.version>3.2.0.RELEASE</old.spring.version>
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java
index 187dfa6..24d9de9 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/TestIntegrateFrame.java
@@ -4,13 +4,32 @@
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 public class TestIntegrateFrame {
 	public static JButton apply = new JButton();
 	public static JTextField text = new JTextField();
 	public static void main(String[] args) {
+
+		List<Integer> list=new ArrayList<>();
+		list.add(1);
+		list.add(5);
+		list.add(6);
+		list.add(3);
+		list.add(2);
+		list.add(4);
+		List<Integer> classifyVOS =list.stream().sorted(((o1, o2) -> o2.compareTo(o1))).collect(Collectors.toList());
+		int level=1;
+		int tt=1;
+		if (classifyVOS.size() >= level && level > 0) {
+			tt = classifyVOS.get(level - 1);
+		}
+
+
 		final JFrame j = new JFrame();
 		j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 		JPanel p = new JPanel();
@@ -26,6 +45,10 @@
 		apply.addActionListener(new ActionListener() {
 
 			public void actionPerformed(ActionEvent e) {
+
+
+
+
 				Map<String, String> map = new HashMap<String, String>();
 //				map.put("鍘熸潗鏂欐浛鎹欢", "YUANCAILIAOTIHUANJIAN");
 //				map.put("鍘熸潗鏂欓儴浠�", "1");
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 8a1d0f9..9ea8b4d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1191,6 +1191,7 @@
 				if(i>nowmonth){
 					monthCount.add(0);
 					month.add(0);
+					continue;
 				}
 				//褰撳墠鏈堜唤涔嬪墠涔嬪拰
 				Integer count = 0;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index d06a186..6f47399 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2740,7 +2740,7 @@
 		//cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")");
 		String tableName ="";
 		try {
-			R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
+			R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(codeClassifyVO.getBtmTypeId());
 			if(!r.isSuccess()) {
 				throw new Throwable(r.getMsg());
 			}
@@ -2838,7 +2838,17 @@
 				cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription())?"":orderDTO.getDescription());
 				cbo.setName(orderDTO.getName());
 				try {
-					cbo.setAttributeValueWithNoCheck("description", orderDTO.getDescription());
+					//涓昏澶勭悊澶у皬鍐欓棶棰橈紝灏哾ata閲岄潰鐨勬暟鎹殑key閮借浆涓哄皬鍐�
+					HashMap<String,String> lowerData = new HashMap<>();
+					Iterator<Map.Entry<String, String>> iterator = cbo.getData().entrySet().iterator();
+					while (iterator.hasNext()){
+						Map.Entry<String, String> next = iterator.next();
+						lowerData.put(next.getKey().toLowerCase(Locale.ROOT),next.getValue());
+					}
+					cbo.getData().clear();
+					cbo.getData().putAll(lowerData);
+					cbo.setAttributeValueWithNoCheck("description", (StringUtil.isNotBlank(orderDTO.getData()
+						.get("description")) ? orderDTO.getData().get("description") : orderDTO.getDescription() ));
 				//	cbo.setAttributeValue("name", orderDTO.getName());
 					//  if(finalIsProcess){//鍦ㄦ祦绋嬩腑涓嶅厑璁告洿鏀�
 					//     errorMap.put(code,errorMap.getOrDefault(code, errorMap.getOrDefault(code,"")+";鏁版嵁"+code+"鍦ㄦ祦绋嬩腑锛屼笉鍏佽鏇存敼!"));
@@ -2901,7 +2911,7 @@
 
 					List<CodeAllCode>newCodeAllCodeList= codeAllCodeService.selectByWrapper(Wrappers.<CodeAllCode>query().lambda().eq(CodeAllCode::getCreateCodeOid, cbo.getOid()));
 					if (!CollectionUtils.isEmpty(newCodeAllCodeList)) {
-						CodeAllCode codeCbo = codeAllCodeList.get(0);
+						CodeAllCode codeCbo = newCodeAllCodeList.get(0);
 						log.info("codeCbos code:" + codeCbo.getId());
 						codeCbo.setLcStatus(status);
 						codeAllCodeList.add(codeCbo);
@@ -2939,7 +2949,7 @@
 				engineService.updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmTypeId(),updateList);
 				codeAllCodeService.saveOrUpdateBatch(codeAllCodeList);
 				if(deleteList.size()>0) {
-					commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.array2String(deleteList.toArray(new String[]{})));
+					commonsMapper.deleteByTaleAndOid(tableName, VciBaseUtil.toInSql(deleteList.toArray(new String[]{})));
 				}
 				//鏄惁璋冪敤闆嗗洟鎺ュ彛鐢宠鎺ュ彛
 				if(isCodeOrGroupCode){
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 8cb5f04..c0545a5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -368,7 +368,7 @@
 							xmlResultDataObjectDetailDO.setCode("");
 							xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
 							xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
-							xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
+							xmlResultDataObjectDetailDO.setMsg("缂栫爜缁存姢澶辫触:" + e.getMessage());
 							resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
 						});
 					}else{
@@ -377,7 +377,7 @@
 						xmlResultDataObjectDetailDO.setCode("");
 						xmlResultDataObjectDetailDO.setId("");
 						xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
-						xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
+						xmlResultDataObjectDetailDO.setMsg("缂栫爜缁存姢澶辫触:" + e.getMessage());
 						resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
 					}
 					e.printStackTrace();

--
Gitblit v1.9.3