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 | 182 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 152 insertions(+), 30 deletions(-) diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index 51e6949..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, @@ -348,6 +381,7 @@ fileOptions: {}, result: '', elapsedTime: '', + conditionMap: [], }; }, computed: { @@ -360,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 }) @@ -382,7 +414,9 @@ }, tableHeadDataFateher: { handler(newval, oldval) { - this.options = newval.tableDefineVO.seniorQueryColumns + if (Object.keys(newval).length > 0) { + this.options = newval.tableDefineVO.seniorQueryColumns; + } } }, codeClassifyOid: { @@ -393,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)) { //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇 @@ -428,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')) { @@ -480,11 +522,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 +542,7 @@ }, cellStatusFind(lcstatus) { this.isLoading = true; + this.conditionMap["conditionMap[lcstatus]"] = lcstatus; TableData({ templateOid: this.templateOid, codeClassifyOid: this.codeClassifyOid, @@ -560,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 @@ -855,6 +933,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 +995,7 @@ }); }); }, - // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬� + //灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬� saveRow() { this.editingRow = null; }, @@ -940,6 +1019,7 @@ sort: val.prop, page: this.page.currentPage, limit: this.page.pageSize, + ...this.conditionMap }); this.data = data.data; } finally { @@ -949,7 +1029,6 @@ //鍒嗛〉鍒锋柊 async onLoad(val) { this.isLoading = true; - try { let conditionMap = {}; if (this.statusSelect !== 'all') { @@ -1002,11 +1081,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 +1127,6 @@ }, //澧炲姞淇濆瓨 AddSumbit(val) { - // console.log('val',val) if (func.notEmpty(val.ts)) { val.ts = func.formattedDateTime(val.ts); //console.log(val.ts); @@ -1085,10 +1166,44 @@ 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({ templateOid: this.templateOid, codeClassifyOid: this.codeClassifyOid, @@ -1109,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; @@ -1143,7 +1265,7 @@ .main { display: flex; flex-direction: column; - height: calc(100vh - 150px); + height: calc(100vh - 145px); min-height: 400px; } -- Gitblit v1.9.3