From dedbadd96ab7e1533572b25511fd201678c64dad Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 17 十月 2024 09:56:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue |  166 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 138 insertions(+), 28 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 420cd25..04d6918 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -2,7 +2,7 @@
   <basic-container>
     <div class="main">
       <div class="top">
-        <div class="testbox" style="">
+        <div class="testbox">
           <div>
           </div>
           <el-row style="width: 100%;margin-bottom: 10px">
@@ -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>
@@ -154,6 +164,22 @@
                            @current-change="handleCurrentChange">
             </el-pagination>
           </div>
+          <el-dialog v-loading="syncLoading" :visible.sync="syncDialogBox" append-to-body title="鎵嬪姩鍚屾" top="200px"
+                     width="30%" @close="syncClose">
+            <p style="display: inline-block">鏈�鍚庢洿鏂版椂闂达細</p>
+            <el-date-picker
+              v-model="SyncValue"
+              format="yyyy 骞� MM 鏈� dd 鏃� HH 鏃� mm 鍒� ss 绉�"
+              placeholder="閫夋嫨鏃ユ湡"
+              style="width: 300px"
+              type="date"
+              value-format="yyyy-MM-dd HH:mm:ss">
+            </el-date-picker>
+            <div slot="footer" class="dialog-footer">
+              <el-button @click="syncClose">鍙� 娑�</el-button>
+              <el-button type="primary" @click="submitSync">纭� 瀹�</el-button>
+            </div>
+          </el-dialog>
         </div>
       </div>
       <div class="bottom">
@@ -178,7 +204,8 @@
   applyGroupCode,
   receiveEditApply,
   applySaveCode,
-  exportGroupCodeExcel
+  exportGroupCodeExcel,
+  syncSearch
 } from "@/api/GetItem";
 import {processTS, changeStatus} from "@/api/template/setPersonnel"
 import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
@@ -191,6 +218,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 +283,13 @@
   },
   data() {
     return {
+      //鎵嬪姩鍚屾model
+      SyncValue: '',
+      syncLoading: false,
+      syncDialogBox: false,
+      isTimeStatus: false,
+      isTimeName: '',
+      dateValue: "",
       //鎵归噺缂栬緫瀵硅瘽妗�
       bulkeditvisible: false,
       LinkVisible: false,
@@ -283,7 +318,6 @@
         btmtype: '',
         code: "",
         type: '',
-        // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC'
         processName: "",
         vars: {
           codeClassifyOid: "",
@@ -305,7 +339,6 @@
         key: "oid",
         label: "name",
       },
-      tableHeadFindDatas: [],
       applyvisible: false,
       amendvisible: false,
       addvisible: false,
@@ -361,8 +394,6 @@
     },
   },
   created() {
-    // const index = this.$route.query.id.indexOf('@name=') + '@name='.length;
-    // this.result = this.$route.query.id.substring(index);
     getUserInfo().then(res => {
       this.result = res.data.data.realName
     })
@@ -383,7 +414,9 @@
     },
     tableHeadDataFateher: {
       handler(newval, oldval) {
-        this.options = newval.tableDefineVO.seniorQueryColumns
+        if (Object.keys(newval).length > 0) {
+          this.options = newval.tableDefineVO.seniorQueryColumns;
+        }
       }
     },
     codeClassifyOid: {
@@ -394,24 +427,28 @@
     },
     tableDataArray: {
       handler(newval, oldval) {
-        // console.log('tableData',newval)
         this.tableData = newval;
-        this.searchResults = newval
+        this.searchResults = newval;
         this.doLayout();
-        this.fileOptions = {
-          ownbizOid: "0",
-          ownbizBtm: "0",
-          fileDocClassify: '!=processAuditSuggest',
-          fileDocClassifyName: '',
-          hasDownload: true,
-          hasUpload: true,
-          height: 'auto'
+        if (newval.length > 0) {
+          this.fileOptions = {
+            ownbizOid: "0",
+            ownbizBtm: "0",
+            fileDocClassify: '!=processAuditSuggest',
+            fileDocClassifyName: '',
+            hasDownload: true,
+            hasUpload: true,
+            hasEdit: true,
+            hasDel: true,
+            height: 'auto'
+          }
+        } else {
+          this.fileOptions = {};
         }
       },
     },
     tableHeadFindData: {
       handler(newval, oldval) {
-        // console.log(newval)
         newval.forEach((record, _index) => {
           if (record.queryField == 'id' && validatenull(record.templet)) {
             //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇
@@ -429,10 +466,14 @@
 
           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) {
           this.CodeArray = [];
           if (newval.find(item => item.prop === 'id')) {
@@ -566,8 +607,39 @@
         if (uniqueFlag === 'excelGroupCode') return this.excelGroupCode()
         //闆嗗洟鐮佸鍏�
         if (uniqueFlag === 'importGroupCode') return this.importGroupCode("groupCode")
+        //鎵嬪姩鍚屾
+        if (uniqueFlag === 'manualSyncing') return this.manualSyncing("groupCode")
       });
     },
+    //鎵嬪姩鍚屾
+    manualSyncing() {
+      this.syncDialogBox = true;
+    },
+    //鎵嬪姩鍚屾鍏抽棴
+    syncClose() {
+      this.syncDialogBox = false;
+    },
+    //鎵嬪姩鍚屾纭畾
+    async submitSync() {
+      if (this.SyncValue) {
+        this.syncLoading = true;
+        const response = await syncSearch({endDate: this.SyncValue})
+        console.log('response',response)
+        if (response.data.code === 200) {
+          this.$message.success('鍚屾鎴愬姛锛�')
+          this.syncLoading = false;
+          this.syncDialogBox = false;
+          this.SyncValue = "";
+        } else {
+          this.syncLoading = false;
+          this.syncDialogBox = false;
+          this.SyncValue = "";
+        }
+      } else {
+        this.$message.warning('璇烽�夋嫨鏈�鍚庢洿鏂版椂闂达紒')
+      }
+    },
+    //闆嗗洟鐮佸鍏�
     importGroupCode(type) {
       this.batchImportData.visible = true
       this.batchImportData.type = type
@@ -1015,7 +1087,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;
@@ -1055,7 +1127,6 @@
     },
     //澧炲姞淇濆瓨
     AddSumbit(val) {
-      // console.log('val',val)
       if (func.notEmpty(val.ts)) {
         val.ts = func.formattedDateTime(val.ts);
         //console.log(val.ts);
@@ -1095,10 +1166,42 @@
       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 + '*';
         TableData({
@@ -1121,6 +1224,13 @@
 </script>
 
 <style lang="scss" scoped>
+
+/deep/ .el-table__fixed-body-wrapper {
+  .el-table__body {
+    padding-bottom: 15px;
+  }
+}
+
 //鍥哄畾鍒楅珮搴�
 /deep/ .el-table__fixed {
   height: calc(100vh - 365px) !important;
@@ -1155,7 +1265,7 @@
 .main {
   display: flex;
   flex-direction: column;
-  height: calc(100vh - 150px);
+  height: calc(100vh - 145px);
   min-height: 400px;
 }
 

--
Gitblit v1.9.3