From ec3add985f600fe56a7232484bbe89a11b73c23b Mon Sep 17 00:00:00 2001
From: wanghong <309858992@qq.com>
Date: 星期四, 21 十二月 2023 12:25:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/api/statistic/chart.js                                                                   |    9 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/BaseModelDTO.java    |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java        |    2 
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue                                                  |   84 +++++-
 Source/UBCS-WEB/src/components/StatisticsComponent/lineChart.vue                                             |   22 +
 Source/UBCS-WEB/src/views/integration/systemInfo.vue                                                         |    8 
 Source/UBCS-WEB/src/components/StatisticsComponent/ColumnarChart.vue                                         |   17 +
 Source/UBCS-WEB/src/views/MasterData/items.vue                                                               |   10 
 Source/UBCS-WEB/src/components/StatisticsComponent/pieChart.vue                                              |   17 +
 Source/UBCS-WEB/src/views/integration/integrationIndex.vue                                                   |   45 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |    5 
 Source/UBCS-WEB/src/components/template/TableTransfer.vue                                                    |   74 ++--
 Source/UBCS-WEB/src/components/template/Business.vue                                                         |   56 ++--
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeAllCode.java           |    5 
 Source/UBCS-WEB/src/styles/tags.scss                                                                         |    4 
 Source/UBCS-WEB/src/page/login/userlogin.vue                                                                 |    4 
 Source/UBCS-WEB/src/views/statistic/statisticPage.vue                                                        |  213 ++++++++++----
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java    |    6 
 Source/UBCS-WEB/src/page/index/logo.vue                                                                      |   13 
 Source/UBCS-WEB/src/components/StatisticsComponent/mixCart.vue                                               |   17 +
 Source/UBCS-WEB/src/views/work/process/leave/handle.vue                                                      |   69 ++--
 Source/UBCS-WEB/src/components/Master/MasterTree.vue                                                         |   11 
 Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue                                              |  107 ++++---
 23 files changed, 524 insertions(+), 275 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/statistic/chart.js b/Source/UBCS-WEB/src/api/statistic/chart.js
index 87d23af..c793500 100644
--- a/Source/UBCS-WEB/src/api/statistic/chart.js
+++ b/Source/UBCS-WEB/src/api/statistic/chart.js
@@ -25,3 +25,12 @@
     method: 'get',
   })
 }
+
+//缁熻鍒嗘瀽鍒犻櫎
+export const deleteChartId = (params) => {
+  return request({
+    url: '/api/ubcs-system/statisticConfig/deleteChartId',
+    method: 'post',
+    params
+  })
+}
diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
index 7b39aea..d1ec150 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -57,10 +57,6 @@
         defaultExpandAll: false,
         menu: false,
         lazy: true,
-        // treeLoad:function (node,resolve){
-        //   console.log(node)
-        //   console.log(resolve)
-        // }
         treeLoad: (node, resolve) => {
           if (node.data != false) {
             const parentId = (node.level === 0) ? 0 : node.data.oid;
@@ -104,15 +100,13 @@
     getTreeLists() {
       const index = this.$route.query.id.indexOf('@');
       const result = this.$route.query.id.substring(0, index);
-      this.idData = result
-      // console.log(this.$route)
+      this.idData = result;
       getTreeList({'conditionMap[id]': this.idData}).then(res => {
         if (res) {
           if (res.data.length === 0) {
             this.$message.error("涓绘暟鎹垎绫绘煡璇负绌猴紒");
           } else {
             this.Treedata = res.data;
-
             const [firstProperty] = res.data;
             this.ModifyProperties(this.Treedata, 'text', 'label');
             this.referTreeId = firstProperty.attributes.btmTypeId;
@@ -126,11 +120,9 @@
             });
             this.$emit("coderuleoid", this.coderuleoid)
             this.$emit('Treedata', this.Treedata)
-            // console.log(this.Treedata)
           }
         }
       }).catch(res => {
-        // console.log(res)
         this.$message.error(res)
       });
     },
@@ -220,7 +212,6 @@
         this.$emit("codeClassifyOid", this.nodeClickList.oid)
         this.$emit("nodeClickList", this.nodeClickList)
       } catch (error) {
-        // 澶勭悊閿欒
         this.$message.error(error)
       }
     }
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 51e6949..0b05661 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -15,14 +15,23 @@
                   item.name
                 }}
               </el-button>
-              <span v-if="tableHeadFindData.length > 0">
-              <el-select slot="prepend" v-model="keyWordFind" placeholder="璇烽�夋嫨" size="small">
-                <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
-                           :value="item.prop"></el-option>
+              <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>
               </el-select>
               <el-input v-model="WupinFindValue" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�"
-                        size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
+                        size="small" style="width: 180px; margin-left: 5px; margin-top: 10px" v-if="!isTimeStatus"
                         @keyup.enter.native="tableFindInp"></el-input>
+              </span>
+              <span class="block"  v-if="tableHeadFindData.length > 0  && isTimeStatus">
+                <el-date-picker
+                  v-model="dateValue"
+                  size="small"
+                  type="date"
+                  style="margin-left: 5px"
+                  @change="dateChange"
+                  placeholder="閫夋嫨鏃ユ湡">
+                </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 +200,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 +265,9 @@
   },
   data() {
     return {
+      isTimeStatus:false,
+      isTimeName:'',
+      dateValue:"",
       //鎵归噺缂栬緫瀵硅瘽妗�
       bulkeditvisible: false,
       LinkVisible: false,
@@ -283,7 +296,6 @@
         btmtype: '',
         code: "",
         type: '',
-        // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC'
         processName: "",
         vars: {
           codeClassifyOid: "",
@@ -348,6 +360,7 @@
       fileOptions: {},
       result: '',
       elapsedTime: '',
+      conditionMap: [],
     };
   },
   computed: {
@@ -393,7 +406,6 @@
     },
     tableDataArray: {
       handler(newval, oldval) {
-        // console.log('tableData',newval)
         this.tableData = newval;
         this.searchResults = newval
         this.doLayout();
@@ -410,7 +422,6 @@
     },
     tableHeadFindData: {
       handler(newval, oldval) {
-        // console.log(newval)
         newval.forEach((record, _index) => {
           if (record.queryField == 'id' && validatenull(record.templet)) {
             //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇
@@ -428,8 +439,12 @@
 
           if (_index == 0) {
             this.keyWordFind = record.queryField;
-            console.log(record)
-          }
+          };
+          // if(record.fieldType === "datetime"){
+          //       this.isTimeStatus = true;
+          //       console.log(this.isTimeStatus)
+          //       console.log(record)
+          // }
         })
         this.tableHeadFindDatas = newval;
         if (newval) {
@@ -480,11 +495,15 @@
     },
   },
   methods: {
+    // 缃┖鏌ヨ鏉′欢
+    resetConditionMap() {
+      this.conditionMap = {};
+    },
+
     CodeLinkHandler(row) {
       this.LinkObject = row;
       this.LinkVisible = true;
       this.LinkList = Object.keys(row).map(property => property)
-
     },
     //鐘舵�佹悳绱�
     cellSelectHandler(row) {
@@ -496,6 +515,7 @@
     },
     cellStatusFind(lcstatus) {
       this.isLoading = true;
+      this.conditionMap["conditionMap[lcstatus]"] = lcstatus;
       TableData({
         templateOid: this.templateOid,
         codeClassifyOid: this.codeClassifyOid,
@@ -855,6 +875,7 @@
         codeClassifyOid: this.codeClassifyOid,
         page: this.page.currentPage,
         limit: this.page.pageSize,
+        ...this.conditionMap, /**甯︿笂鍒嗛〉鏌ヨ鏉′欢 */
       });
       const endTime = performance.now();
       this.elapsedTime = Math.floor(endTime - startTime) * 1;
@@ -916,7 +937,7 @@
         });
       });
     },
-    // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
+    //灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
     saveRow() {
       this.editingRow = null;
     },
@@ -940,6 +961,7 @@
           sort: val.prop,
           page: this.page.currentPage,
           limit: this.page.pageSize,
+          ...this.conditionMap
         });
         this.data = data.data;
       } finally {
@@ -949,7 +971,6 @@
     //鍒嗛〉鍒锋柊
     async onLoad(val) {
       this.isLoading = true;
-
       try {
         let conditionMap = {};
         if (this.statusSelect !== 'all') {
@@ -1002,11 +1023,14 @@
     },
     // 楂樼骇鏌ヨ
     async echoContion(val) {
+      this.conditionMap = val;
       try {
         const res = await FindData({
           templateOid: this.templateOid,
           codeClassifyOid: this.codeClassifyOid,
           ...val,
+          page: this.page.currentPage = 1,/** 姣忔鐐瑰嚮楂樼骇鏌ヨ閮藉簲璇ヤ粠绗竴椤靛紑濮�*/
+          limit: this.page.pageSize
         });
         this.tableData = res.data.data;
         this.page.total = res.data.total
@@ -1045,7 +1069,6 @@
     },
     //澧炲姞淇濆瓨
     AddSumbit(val) {
-      // console.log('val',val)
       if (func.notEmpty(val.ts)) {
         val.ts = func.formattedDateTime(val.ts);
         //console.log(val.ts);
@@ -1085,10 +1108,43 @@
       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["conditionMap[" + this.keyWordFind + "]"] = '*' + this.WupinFindValue + '*';
         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..0b0a1bd 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="primary" plain @click="delHandler">鍒犻櫎</el-button>
+    </div>
   </basic-container>
 </template>
 
@@ -9,6 +12,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: "ColumnarChart",
@@ -20,6 +24,9 @@
     chartName:{
       type:String,
       default: ""
+    },
+    btmname :{
+      type: String
     }
   },
   watch:{
@@ -141,6 +148,16 @@
   },
   created() {
   },
+  methods:{
+    delHandler(){
+      deleteChartId({btmname:this.btmname,chartId:'2'}).then(res=>{
+        this.$message.success('鍒犻櫎鎴愬姛')
+        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..6f8bd7c 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="primary" 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.$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..11da013 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="primary" 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.$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..f3f2076 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="primary" 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.$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 fa4fa40..f928c61 100644
--- a/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
+++ b/Source/UBCS-WEB/src/components/advanced-query/advancedQuery.vue
@@ -104,6 +104,7 @@
 
 <script>
 import { getDictionary } from "@/api/omd/enum";
+import moment from 'moment';
 import vciWebRefer from '../refer/vciWebRefer.vue';
 export default {
   components: { vciWebRefer },
@@ -204,57 +205,55 @@
             const data = JSON.stringify(this.options);
             this.initOptions = JSON.parse(data);
             //console.log(this.initOptions);
-                if(this.initOptions.length > 0){
-                    let array = [];
-                    this.initOptions.forEach((item,index) => {
-                        if(item.fieldType==='combox') {
-                            let enumCach = item.data || JSON.parse(localStorage.getItem(item.comboxKey));
-                            if(enumCach != null && enumCach.length > 0) {
-                                item.data = enumCach;
-                            }else {
-                                getDictionary({code: item.comboxKey}).then(res=>{
-                                    item.data = res.data.data;
-                                    localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data));
-                                })
-                            }
-                        }else if(item.fieldType==='refer'){
-                            this.$set(item,"referConfigData",{
-                                title: item.title,
-                                showField: item.showField || item.field,
-                                field: item.field,
-                                placeholder: item.inputTip || '',
-                                options: Object.assign(item.referConfig,{width:"80%"}),
-                            })
-                            //console.log(item.referConfigData.options);
-                            //console.log(item);
-                        }
-                        // TODO: 杩欏効淇敼涓�涓嬪弬鐓х殑鏌ヨ鏉′欢
-                        let conditions = [];
-                        if(item.fieldType==='text'){
-                            conditions = this.searchConditions;
-                        }else if (item.fieldType==='combox'|| item.fieldType==='truefalse'){
-                          conditions = this.switchSearchConditions;
-                        }else if (item.fieldType==='datetime') {
-                          conditions = this.dateConditions;
+            if(this.initOptions.length > 0){
+                let array = [];
+                this.initOptions.forEach((item,index) => {
+                    if(item.fieldType==='combox') {
+                        let enumCach = item.data || JSON.parse(localStorage.getItem(item.comboxKey));
+                        if(enumCach != null && enumCach.length > 0) {
+                            item.data = enumCach;
                         }else {
-                            conditions = this.referSearchConditions;
+                            getDictionary({code: item.comboxKey}).then(res=>{
+                                item.data = res.data.data;
+                                localStorage.setItem(item.comboxKey,JSON.stringify(res.data.data));
+                            })
                         }
-                        // console.log(conditions);
-                        this.$set(item,"conditions",conditions)
+                    }else if(item.fieldType==='refer'){
+                        this.$set(item,"referConfigData",{
+                            title: item.title,
+                            showField: item.showField || item.field,
+                            field: item.field,
+                            placeholder: item.inputTip || '',
+                            options: Object.assign(item.referConfig,{width:"80%"}),
+                        })
+                        //console.log(item.referConfigData.options);
+                        //console.log(item);
+                    }
+                    let conditions = [];
+                    if(item.fieldType==='text'){
+                        conditions = this.searchConditions;
+                    }else if (item.fieldType==='combox'|| item.fieldType==='truefalse'){
+                        conditions = this.switchSearchConditions;
+                    }else if (item.fieldType==='datetime' || item.fieldType==='date') {
+                        conditions = this.dateConditions;
+                    }else {
+                        conditions = this.referSearchConditions;
+                    }
+                    // console.log(conditions);
+                    this.$set(item,"conditions",conditions)
 
-                        let add = {
-                            queryField: String(item.queryField),
-                            condition: item.fieldType==='text' ? String("_like"):String("_equal"),
-                            fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''),
-                        }
-                        array.push(add)
-                    });
-                    this.searchFormArrays = array;
+                    let add = {
+                        queryField: String(item.queryField),
+                        condition: item.fieldType==='text' ? String("_like"):String("_equal"),
+                        fieldValue: item.fieldType==='truefalse' ? Boolean(false):String(''),
+                    }
+                    array.push(add)
+                });
+                this.searchFormArrays = array;
             }
             //console.log(this.initOptions);
             //console.log(this.searchFormArrays);
         },
-
         /** 涓哄弬鐓х被鍨嬫椂鍊奸�夋嫨涔嬪悗鐨勫鐞� */
         setReferValue(data,index){
             if(data.field) {
@@ -313,15 +312,27 @@
                     // 瀛樺湪鐩稿悓鐨勬煡璇㈡潯浠�
                     if(condtionParam['conditionMap['+searchConditions[index].queryField+']']+'' != 'undefined' ) {
                         this.$message.warning("瀛樺湪閲嶅鏌ヨ鏉′欢锛岃浠旂粏鏍稿!");
-                        console.log(condtionParam['conditionMap['+searchConditions[index].queryField+']']);
+                        //console.log(condtionParam['conditionMap['+searchConditions[index].queryField+']']);
                         return false;
                     }
-                    //鎷兼帴鎴恗ap瀵硅薄锛屽皢鏌ヨ瀵硅薄鍜宑ondition鎷兼帴鍦ㄤ竴璧凤紝缁勬垚楂樼骇鏌ヨmap鐨刱ey
-                    condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = searchConditions[index].fieldValue;
+                    let fieldType = this.initOptions[index].fieldType;
+                    // 褰撳嚭鐜版煡璇㈡棩鏈熺殑鏍煎紡鏃�,闇�瑕佸鏃ユ湡鏍煎紡杩涜澶勭悊
+                    if(fieldType==='datetime' || fieldType==='date'){
+                        // 灏嗘椂闂磋浆鎹负鏈湴鏃堕棿
+                        let localTime = moment.utc(searchConditions[index].fieldValue).local();
+                        // 鏍煎紡鍖栨椂闂翠负鎮ㄦ兂瑕佺殑鏍煎紡
+                        let formattedTime = localTime.format('YYYY-MM-DD HH:mm:ss');
+                        condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = formattedTime;
+                        //console.log(formattedTime);
+                    }else{
+                        //鎷兼帴鎴恗ap瀵硅薄锛屽皢鏌ヨ瀵硅薄鍜宑ondition鎷兼帴鍦ㄤ竴璧凤紝缁勬垚楂樼骇鏌ヨmap鐨刱ey
+                        condtionParam['conditionMap['+searchConditions[index].queryField+searchConditions[index].condition+']'] = searchConditions[index].fieldValue;
+                    }
                 }
+                
             }
             // 鏌ヨ鏉′欢娌℃湁鍑虹幇閲嶅灞炴�э紝骞朵笖杩囨护鎺変簡绌哄�硷紝灏变紶閫掔粰鐖剁粍浠�
-            console.log(condtionParam);
+            //console.log(condtionParam);
             this.$emit('echoContion',condtionParam)
             this.isShowDialog = false;
         },
diff --git a/Source/UBCS-WEB/src/components/template/Business.vue b/Source/UBCS-WEB/src/components/template/Business.vue
index 0d3b098..60ff04a 100644
--- a/Source/UBCS-WEB/src/components/template/Business.vue
+++ b/Source/UBCS-WEB/src/components/template/Business.vue
@@ -166,40 +166,40 @@
 }
 </script>
 <style lang="scss" scoped>
-.dialogwarp {
-    display: -webkit-box;
-    display: -ms-flexbox;
-    display: flex;
-    justify-content: space-between;
-    height: 70vh;
+    .dialogwarp {
+        display: -webkit-box;
+        display: -ms-flexbox;
+        display: flex;
+        justify-content: space-between;
+        height: 70vh;
 
-    &_tab {
-        width: 79%;
+        &_tab {
+            width: 79%;
 
+
+            &_card {
+                width: 100%;
+                height: 100%;
+            }
+        }
 
         &_card {
-            width: 100%;
-            height: 100%;
+            // margin-left: 20px;
+            width: 20%;
         }
     }
 
-    &_card {
-        // margin-left: 20px;
-        width: 20%;
+    ::v-deep {
+        .el-upload {
+            width: 100%;
+            height: 120px;
+        }
+        .el-upload-dragger {
+            width: 100%;
+            height: 120px;
+        }
+        .el-upload-dragger .el-icon-upload {
+            margin: 15px 0 16px;
+        }
     }
-}
-
-::v-deep(.el-upload) {
-    width: 100%;
-    height: 120px;
-}
-
-::v-deep(.el-upload-dragger) {
-    width: 100%;
-    height: 120px;
-}
-
-::v-deep(.el-upload-dragger .el-icon-upload) {
-    margin: 15px 0 16px;
-}
 </style>
diff --git a/Source/UBCS-WEB/src/components/template/TableTransfer.vue b/Source/UBCS-WEB/src/components/template/TableTransfer.vue
index 83871ff..0875d44 100644
--- a/Source/UBCS-WEB/src/components/template/TableTransfer.vue
+++ b/Source/UBCS-WEB/src/components/template/TableTransfer.vue
@@ -285,40 +285,42 @@
 </script>
 
 <style lang="scss" scoped>
-::v-deep(.el-col>.el-card >.el-card__header) {
-    background: #fff
-}
-
-.box-card {
-    background: #fff;
-}
-
-.clearfix {
-    display: -webkit-box;
-    display: flex;
-    display: -ms-flexbox;
-    -webkit-box-pack: justify;
-    -ms-flex-pack: justify;
-    justify-content: space-between;
-    -webkit-box-align: center;
-    -ms-flex-align: center;
-    align-items: center;
-}
-
-.input {
-    float: right;
-    padding: 3px 0;
-    max-width: 400px;
-}
-
-.btns {
-    display: flex;
-    align-items: center;
-    flex-direction: column;
-    justify-content: center;
-
-    .btn {
-        margin: 20px 0;
+    ::v-deep {
+        .el-col>.el-card >.el-card__header {
+            background: #fff
+        }
+        
     }
-}
-</style>
+
+    .box-card {
+        background: #fff;
+    }
+    .clearfix {
+        display: -webkit-box;
+        display: flex;
+        display: -ms-flexbox;
+        -webkit-box-pack: justify;
+        -ms-flex-pack: justify;
+        justify-content: space-between;
+        -webkit-box-align: center;
+        -ms-flex-align: center;
+        align-items: center;
+    }
+
+    .input {
+        float: right;
+        padding: 3px 0;
+        max-width: 400px;
+    }
+
+    .btns {
+        display: flex;
+        align-items: center;
+        flex-direction: column;
+        justify-content: center;
+
+        .btn {
+            margin: 20px 0;
+        }
+    }
+</style>
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/page/index/logo.vue b/Source/UBCS-WEB/src/page/index/logo.vue
index c5226c7..059fb32 100644
--- a/Source/UBCS-WEB/src/page/index/logo.vue
+++ b/Source/UBCS-WEB/src/page/index/logo.vue
@@ -3,18 +3,18 @@
     <transition name="fade">
       <span v-if="keyCollapse"
             key="0">
-      <img src="favicon.png" class="logimg">
+      <img class="logimg" src="favicon.png">
       </span>
     </transition>
     <transition-group name="fade">
       <template v-if="!keyCollapse">
 <span>
-            <img class="imgSpan" :src=imgurl>
+            <img :src=imgurl class="imgSpan">
           </span>
-        <span class="avue-logo_title"
-              key="1">
+        <span key="1"
+              class="avue-logo_title">
           <span>
-            <img class="imgSpan" :src=imgurl>
+            <img :src=imgurl class="imgSpan">
           </span>
           <span style="font-size: 17px;margin-left: 27px">缂栫爜璧勬簮绠$悊绯荤粺</span>
          </span>
@@ -93,7 +93,8 @@
   top: 15px;
   left: 26px;
 }
-.logimg{
+
+.logimg {
   position: absolute;
   top: 20px;
   left: 12px;
diff --git a/Source/UBCS-WEB/src/page/login/userlogin.vue b/Source/UBCS-WEB/src/page/login/userlogin.vue
index e9bc45f..4655672 100644
--- a/Source/UBCS-WEB/src/page/login/userlogin.vue
+++ b/Source/UBCS-WEB/src/page/login/userlogin.vue
@@ -74,7 +74,7 @@
 import {mapGetters} from "vuex";
 import {info} from "@/api/system/tenant";
 import {getTopUrl} from "@/util/util";
-import { updatePassword} from "@/api/system/user.js"
+import {updatePassword} from "@/api/system/user.js"
 import {removeToken} from "@/util/auth";
 import md5 from "js-md5";
 
@@ -300,7 +300,7 @@
   methods: {
     //鍗曠偣鐧诲綍璺宠浆
     ChandleLogin() {
-      this.$router.push({ path: '/sso' });
+      this.$router.push({path: '/sso'});
     },
     closehandle() {
       removeToken()
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/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue
index 2ee09cf..fc9d781 100644
--- a/Source/UBCS-WEB/src/views/MasterData/items.vue
+++ b/Source/UBCS-WEB/src/views/MasterData/items.vue
@@ -40,6 +40,7 @@
         :nodeClickList="this.nodeClickList"
         @currentPage="currentPages"
         @pageSize="pageSizes"
+        ref="vciMasterCrud"
       >
       </VciMasterCrud>
     </el-main>
@@ -55,7 +56,7 @@
       page: {
         total: 0,
         currentPage: 1,
-        pageSize: 10,
+        pageSize: 100,
         pageSizes: [10, 30, 50, 100, 200],
       },
       pageSize: "100",
@@ -79,6 +80,12 @@
   methods: {
     nodeClickLists(val){
       this.nodeClickList=val;
+      // 鐐瑰嚮鏍戣妭鐐规椂閲嶇疆褰撳墠椤靛拰椤垫暟
+      this.page.pageSize = 100;
+      this.page.currentPage = 1;
+      // 閲嶇疆淇濆瓨鐨勯珮绾ф煡璇㈡煡璇㈡潯浠跺拰蹇�熸煡璇㈡潯浠�
+      const childComponent = this.$refs.vciMasterCrud;
+      childComponent.conditionMap = {}; // 淇敼瀛愮粍浠剁殑data涓殑灞炴��
     },
     TreeValueEmit(val) {
       this.TreeValue = val;
@@ -112,7 +119,6 @@
     },
     nodeClickTem(val) {
       this.templateOid = val;
-
     },
     tableHeadBttoms(val) {
       this.masterVrBtnList = val;
diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
index 2896931..b461465 100644
--- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
+++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -425,28 +425,27 @@
 }
 </script>
 <style lang="scss" scoped>
-.setstyle {
-  min-height: 200px;
-  padding: 0 !important;
-  margin: 0;
-  overflow: auto;
-  cursor: default !important;
-}
+  .setstyle {
+    min-height: 200px;
+    padding: 0 !important;
+    margin: 0;
+    overflow: auto;
+    cursor: default !important;
+  }
 
-::v-deep(.el-transfer-panel__list) {
-  width: 100%;
-  height: 370px;
-}
-
-::v-deep(.el-transfer-panel__body) {
-  height: 370px;
-}
-
-::v-deep(.el-input) {
-  width: auto;
-}
-
-::v-deep(.el-transfer-panel) {
-  width: 270px;
-}
+  ::v-deep{
+    .el-transfer-panel__list {
+      width: 100%;
+      height: 370px;
+    }
+    .el-transfer-panel__body {
+      height: 370px;
+    }
+    .el-input {
+      width: auto;
+    }
+    .el-transfer-panel {
+      width: 270px;
+    }
+  }
 </style>
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index d7707ef..743f91b 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -461,7 +461,9 @@
 }
 </script>
 <style lang="scss" scoped>
-::v-deep(.avue-crud .el-select) {
-  width: 100px !important;
-}
+  ::v-deep{
+      .avue-crud .el-select {
+      width: 100px !important;
+    }
+  }
 </style>
diff --git a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
index 87f13cb..cf657d2 100644
--- a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
+++ b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -1,38 +1,16 @@
 <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-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">
+    <!--鏂板瀵硅瘽妗�-->
+    <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-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">
           <template slot-scope="{ row }">
             <el-select v-model="row.codeType" :multiple="true" limit="4" placeholder="璇烽�夋嫨鍥捐〃绫诲瀷" style="width: 400px">
               <el-option v-for="(item) in selectList" :label="item.label" :value="item.value"></el-option>
@@ -45,16 +23,37 @@
     <el-button type="primary" @click="addSaveHandler">淇濆瓨</el-button>
   </span>
     </el-dialog>
-    <!--    echarts缁勪欢-->
+    <!--echarts缁勪欢-->
     <div style="margin-top: 15px;padding-bottom: 35px">
-      <lineChart v-for="(item,index) in lineList" :key="index" :chartName="item.menuName"
-                 :lineData="item.menuData"></lineChart>
-      <pieChart v-for="(item,index) in pieList" :key="index" :chartName="item.menuName"
-                :pieData="item.menuData"></pieChart>
-      <ColumnarChart v-for="(item,index) in columnarList" :key="index" :chartName="item.menuName"
-                     :columnarData="item.menuData"></ColumnarChart>
-      <mixCart v-for="(item,index) in mixList" :key="index" :chartName="item.menuName"
-               :mixData="item.menuData"></mixCart>
+      <lineChart
+        v-for="(item,index) in lineList"
+        :key="index"
+        :btmname="item.btmname"
+        :chartName="item.menuName"
+        :lineData="item.menuData"
+        @refresh="getEcharts">
+      </lineChart>
+      <pieChart
+        v-for="(item,index) in pieList"
+        :key="index"
+        :btmname="item.btmname"
+        :chartName="item.menuName"
+        :pieData="item.menuData"
+        @refresh="getEcharts"></pieChart>
+      <ColumnarChart
+        v-for="(item,index) in columnarList"
+        :key="index"
+        :btmname="item.btmname"
+        :chartName="item.menuName"
+        :columnarData="item.menuData"
+        @refresh="getEcharts"></ColumnarChart>
+      <mixCart
+        v-for="(item,index) in mixList"
+        :key="index"
+        :btmname="item.btmname"
+        :chartName="item.menuName"
+        :mixData="item.menuData"
+        @refresh="getEcharts"></mixCart>
     </div>
   </div>
 </template>
@@ -64,7 +63,7 @@
 import pieChart from "../../components/StatisticsComponent/pieChart"
 import ColumnarChart from "../../components/StatisticsComponent/ColumnarChart"
 import mixCart from "../../components/StatisticsComponent/mixCart"
-import {getStatisticAnalysis,getBtmAndChart,saveStatisticAnalysis} from "@/api/statistic/chart"
+import {getStatisticAnalysis, getBtmAndChart, saveStatisticAnalysis, deleteChartId} from "@/api/statistic/chart"
 import {getList} from "@/api/system/statistic";
 
 export default {
@@ -77,6 +76,7 @@
   name: "statisticPage",
   data() {
     return {
+      loading: false,
       selectValue: '',
       selectList: [
         {
@@ -105,43 +105,131 @@
       columnarList: [],
       mixList: [],
       selectData: [],
-      tableData: []
+      tableData: [],
+      ResponseData: {}
     }
   },
   created() {
+    this.loading = true;
+  },
+  mounted() {
+    this.getEcharts();
     this.getMasterList();
-    this.getEcharts()
   },
   methods: {
     getMasterList() {
       const userId = localStorage.getItem('userId');
       getList({userId: userId}).then(res => {
         this.tableData = res.data.data;
-      }).catch(error=>{
+      }).catch(error => {
         this.$message.error(error)
       })
     },
-    getEcharts(){
-      getBtmAndChart().then(res=>{
-        const btmNames = Object.keys(res.data.data).join(',');
-        console.log(btmNames);
-        if(btmNames){
-          getStatisticAnalysis({btmNames}).then(item=>{
-            console.log(item)
-          })
+    //鍒楄〃鏁版嵁
+    async getEcharts() {
+      try {
+        const firstResponse = await getBtmAndChart();
+        this.ResponseData = await getBtmAndChart();
+        this.loading = false;
+        const btmNames = Object.keys(firstResponse.data.data).join(',');
+        const btmValue = Object.values(firstResponse.data.data);
+        if (!btmNames) {
+          this.lineList = [];
+          this.pieList = [];
+          this.columnarList = [];
+          this.mixList = [];
+          return;
         }
-      })
+        for (const value of btmValue) {
+          if (value.includes('0')) {
+            await this.handleStatisticAnalysis('lineList', btmNames, firstResponse);
+          } else {
+            this.lineList = [];
+          }
+          if (value.includes('1')) {
+            await this.handleStatisticAnalysis('pieList', btmNames, firstResponse);
+          } else {
+            this.pieList = [];
+          }
+          if (value.includes('2')) {
+            await this.handleStatisticAnalysis('columnarList', btmNames, firstResponse);
+          } else {
+            this.columnarList = [];
+          }
+          if (value.includes('3')) {
+            await this.handleStatisticAnalysis('mixList', btmNames, firstResponse);
+          } else {
+            this.mixList = [];
+          }
+        }
+      } catch (error) {
+        this.loading = false;
+        console.error('Error:', error);
+      }
+    },
+    async handleStatisticAnalysis(type, btmNames, firstResponse) {
+      const secondResponse = await getStatisticAnalysis({btmNames});
+      const secondData = secondResponse.data.data;
+      const typeList = {
+        "0": "lineList",
+        "1": "pieList",
+        "2": "columnarList",
+        "3": "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[listType] = [];
+            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() {
       this.addVisible = false;
     },
     //淇濆瓨
-     async addSaveHandler() {
+    async addSaveHandler() {
       if (this.selectData.length <= 0) {
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒');
         return;
@@ -158,13 +246,14 @@
           chartIds: item.codeType.join(',')
         }
       })
-       saveStatisticAnalysis(newArray).then(res => {
-          this.menuList = res.data.data;
-          this.nextSave();
-          this.$message.success('淇濆瓨鎴愬姛')
-        }).catch(error=>{
-          this.$message.error(error)
-        });
+      saveStatisticAnalysis(newArray).then(res => {
+        // this.menuList = res.data.data;
+        this.getEcharts();
+        this.$message.success('淇濆瓨鎴愬姛')
+        this.addVisible = false;
+      }).catch(error => {
+        this.$message.error(error)
+      });
     },
     nextSave() {
       const typeList = {
@@ -181,8 +270,6 @@
         const dataKey = typeList[item.codeType];
         if (dataKey) {
           this[dataKey].push(item);
-          this[dataKey].forEach(res => {
-          })
           hasValidData = true;
         }
       });
@@ -194,10 +281,12 @@
     },
     //琛ㄦ牸澶氶��
     selectChange(selection) {
+      console.log('selection', selection)
       this.selectData = selection;
     },
   }
 }
+
 </script>
 
 <style lang="scss" scoped>
diff --git a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue
index 5e80c0d..ba5684a 100644
--- a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue
+++ b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue
@@ -191,47 +191,48 @@
 }
 </script>
 <style lang="scss" scoped>
-.dialogwarp {
-  display: -webkit-box;
-  display: -ms-flexbox;
-  display: flex;
-  justify-content: space-between;
-  height: 85vh;
+  .dialogwarp {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    justify-content: space-between;
+    height: 85vh;
 
-  &_tab {
-    width: 79%;
+    &_tab {
+      width: 79%;
 
+
+      &_card {
+        width: 100%;
+        height: 100%;
+      }
+    }
 
     &_card {
-      width: 100%;
-      height: 100%;
+      // margin-left: 20px;
+      width: 20%;
     }
   }
 
-  &_card {
-    // margin-left: 20px;
-    width: 20%;
+  ::v-deep {
+    .el-upload {
+      width: 100%;
+      height: 120px;
+    }
+    .el-upload-dragger {
+      width: 100%;
+      height: 120px;
+    }
+    .el-upload-dragger .el-icon-upload {
+      margin: 15px 0 16px;
+    }
   }
-}
 
-::v-deep(.el-upload) {
-  width: 100%;
-  height: 120px;
-}
-
-::v-deep(.el-upload-dragger) {
-  width: 100%;
-  height: 120px;
-}
-
-::v-deep(.el-upload-dragger .el-icon-upload) {
-  margin: 15px 0 16px;
-}
-.el-tab-pane{
-  height: 75vh;
-  overflow: auto;
-}
-.el-button{
-  margin:0 10px 10px 0;
-}
+  .el-tab-pane{
+    height: 75vh;
+    overflow: auto;
+  }
+  .el-button{
+    margin:0 10px 10px 0;
+  }
 </style>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/BaseModelDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/BaseModelDTO.java
index 5318bd6..495ea47 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/BaseModelDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/BaseModelDTO.java
@@ -19,6 +19,7 @@
 	 * 鏁版嵁
 	 */
 	private Map<String,String> data = new HashMap<>();
+
 	/**
 	 * 瀛愯〃鐨勪笟鍔$被鍨�
 	 */
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeAllCode.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeAllCode.java
index cc16788..0bcc308 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeAllCode.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeAllCode.java
@@ -41,6 +41,7 @@
 	 * 搴忓垪鍖�
 	 */
 	private static final long serialVersionUID = 5020487634341415429L;
+
 	/**
 	 * 鍒嗙被鐨勪富閿�
 	 */
@@ -92,5 +93,9 @@
 	 */
 	private String codeDelimit;
 
+	/**
+	 * 璁板綍宸插洖鏀剁殑涓氬姟鏁版嵁锛欽SON鏍煎紡鐨�
+	 */
+	private String businessData;
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 891948a..e021231 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -688,7 +688,10 @@
 		if(codeClassifies.isEmpty()){
 			return "";
 		}
-		String oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.joining(","));
+		String oids = codeClassifies.stream()
+			.map(CodeClassify::getOid)
+			.map(s -> "'" + s + "'")
+			.collect(Collectors.joining(","));;
 		return oids;
 	}
 
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 8e54c6b..8a1d0f9 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
@@ -456,8 +456,14 @@
 					throw new VciBaseException("鏇存柊鏁版嵁鍑洪敊锛岄噸璇曪紒"+r.getMsg());
 				}
 			}
+			// 鍒氬ソ椤哄簭鏄竴鑷寸殑锛屾墍浠ョ洿鎺ユ寜鐓odeallcode鐨勯『搴忔潵鎷夸笟鍔℃暟鎹�
+			int i = -1;
 			for (CodeAllCode codeCbo : codeCbos) {
 				codeCbo.setLcStatus(baseModelDTO.getLcStatus());
+				// 濡傛灉鏄洖鏀讹紝灏遍渶瑕佸皢涓氬姟鏁版嵁瀛樺偍鍒扮爜鍊艰〃涓�
+				if(baseModelDTO.getLcStatus().equals(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_TAKEBACK)){
+					codeCbo.setBusinessData(JSON.toJSONString(baseModels.get(++i)));
+				}
 			}
 			codeAllCodeService.updateBatchById(codeCbos);
 
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 93f901d..d06a186 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
@@ -4335,7 +4335,7 @@
 						} else {
 							Map<String, String> classifyDataMap = VciBaseUtil.objectToMapString(classifyVO);
 							String value = classifyDataMap.getOrDefault(attrVO.getClassifyInvokeAttr(), "");
-							log.error("================================褰撳墠鍒嗙被娉ㄥ叆鐨剉alue鍊间负锛�==========================",value);
+//							log.error("================================褰撳墠鍒嗙被娉ㄥ叆鐨剉alue鍊间负锛�==========================",value);
 							cbo.setAttributeValue(attrId, value);
 						}
 					} catch (Throwable e) {

--
Gitblit v1.9.3