From 2be0ef348c881796d66e112463f62be5ef374527 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 14 十一月 2023 11:46:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 312 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 204 insertions(+), 108 deletions(-) diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index dc1b16f..77ae0da 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -6,18 +6,19 @@ <div> </div> <el-row style="width: 100%;margin-bottom: 10px"> - <div> - <el-button v-for="(item, index) in masterVrBtnList" - v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)" - :key="index" plain size="small" - type="primary" - @click="handelBtnClick(item)">{{ - item.name - }} - </el-button> + <div style="margin-bottom: 10px" > + <el-button v-for="(item, index) in masterVrBtnList" + v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)" + :key="index" plain size="small" + type="primary" + @click="handleBtnClick(item)">{{ + 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" :label="item.label" :value="item.prop"></el-option> + <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" @@ -34,26 +35,50 @@ <el-option label="瀹℃牳涓�" value="Auditing"></el-option> </el-select></span> </div> - <el-table ref="dataTable" v-loading="isLoading" :data="tableData" - :height="tableHeight" - @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick" - @select-all="handleSelectionAll" @selection-change="handleSelectionChange" - @sort-change="sortChange"> - <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column> - <el-table-column v-if="tableData.length != 0" fixed label="搴忓彿" type="index" width="55"> - </el-table-column> - <el-table-column v-for="item in this.tableHeadFindData" :key="item.id" :formatter="item.formatter" - :label="item.label" - :prop="item.prop" :show-overflow-tooltip="true" - :sortable="item.sortable" - :width="item.width" - align="center"> - </el-table-column> - </el-table> + <div class="custom-table"> + <el-table class="cus-table" ref="dataTable" v-loading="isLoading" :data="tableData" + :height="tableHeight" border + @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick" + @select-all="handleSelectionAll" @selection-change="handleSelectionChange" + @sort-change="sortChange"> + <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column> + <el-table-column v-if="tableData.length != 0" fixed label="搴忓彿" type="index" width="55"> + </el-table-column> + <!-- 鐢熷懡鍛ㄦ湡--> + <el-table-column v-for="(item,index) in lcstatusArray" key="index" v-if=" lcstatusArray.length !== 0 && !item.hidden" label="鐢熷懡鍛ㄦ湡鍊�" prop="lcstatus" + :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width" + align="center"> + <template slot-scope="scope"> + <span>{{ scope.row.lcstatus_text }}</span> + </template> + </el-table-column> + <!-- 缂栧彿--> + <el-table-column v-for="(item, index) in CodeArray" key="index" v-if="CodeArray.length !== 0 && !item.hidden" :label="item.label" :prop="item.prop" + :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width" + align="center"> + <template slot-scope="scope"> + <el-link type="primary" @click="CodeLinkHandler(scope.row)"> + {{ scope.row[item.prop] }} + </el-link> + </template> + </el-table-column> + <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus'" + :key="item.id" + :formatter="item.formatter" + :label="item.label" :prop="item.prop" + :show-overflow-tooltip="true" + :sortable="item.sortable" + :width="item.width" + align="center"> + </el-table-column> + + </el-table> + </div> </el-row> <!-- 鏂板--> - <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" - :disabledProp="disabledProp" :templateOid="templateOid" :visible.sync="addvisible" + <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid" + :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid" + :visible.sync="addvisible" type="add" @submit="AddSumbit"> </FormTemplateDialog> @@ -62,6 +87,12 @@ :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'" :visible.sync="editvisible" type="edit" @submit="EditSumbit"></FormTemplateDialog> + <!-- 鏁版嵁璇︽儏--> + <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" + :rowOid="this.LinkObject.oid" :templateOid="templateOid" + :title="'鏁版嵁璇︽儏'" + :visible.sync="LinkVisible" + type="detail"></FormTemplateDialog> <!-- 宸插彂甯冩暟鎹慨鏀�--> <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" @@ -92,7 +123,7 @@ <ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid" :templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog> <div class="block" style="display: flex; justify-content: flex-end"> - <el-pagination :current-page="page.currentPage" :page-size="page.pageSizes" :page-sizes="page.pageSizes" + <el-pagination :current-page="page.currentPage" :page-size="page.pageSize" :page-sizes="page.pageSizes" :total="page.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" @current-change="handleCurrentChange"> @@ -116,7 +147,17 @@ </basic-container> </template> <script> -import {MasterTable, TableData, FindData, addSaveCode, editSaveCode, deleteCode, upSaveCode,applyGroupCode,receiveEditApply} from "@/api/GetItem"; +import { + MasterTable, + TableData, + FindData, + addSaveCode, + editSaveCode, + deleteCode, + upSaveCode, + applyGroupCode, + receiveEditApply +} from "@/api/GetItem"; import {processTS, changeStatus} from "@/api/template/setPersonnel" import {listCodeAttributeByClassId} from "@/api/integration/integration.js"; import integrationTransfer from "@/views/integration/integrationTransfer"; @@ -126,6 +167,7 @@ import {validatenull} from "@/util/validate"; import fileInHtml from "@/components/file/inHtml.vue"; import {getUserInfo} from "@/api/system/user"; +import func from "@/util/func"; export default { components: { @@ -154,6 +196,10 @@ tableDataArray: { type: Array, }, + TreeValue: { + type: String, + default: "", + }, total: { type: String, default: "", @@ -177,10 +223,18 @@ }, Treedata: { type: Array - } + }, + }, data() { return { + LinkVisible: false, + LinkObject: {}, // 缂栫爜鏁版嵁 + LinkList: [], + isCodeArrayPushed: false, // 缂栫爜鏁扮粍娣诲姞鏍囪瘑鍙橀噺 + CodeArray: [], + lcstatusArray:[], + islcstatusPushed:false, // 鐘舵�佹悳绱� statusSelect: "all", // 鍏抽敭瀛楁煡璇� @@ -265,7 +319,8 @@ hasUpload: true, height: 110 }, - result: '' + result: '', + elapsedTime:'', }; }, computed: { @@ -275,7 +330,7 @@ oids.push(ele.oid); }); return oids; - } + }, }, created() { // const index = this.$route.query.id.indexOf('@name=') + '@name='.length; @@ -314,7 +369,7 @@ tableHeadFindData: { handler(newval, oldval) { newval.forEach((record, _index) => { - if (record.field == 'id' && validatenull(record.templet)) { + if (record.queryField == 'id' && validatenull(record.templet)) { //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇 record.formatter = ''; } else { @@ -329,10 +384,30 @@ } if (_index == 0) { - this.keyWordFind = record.field + this.keyWordFind = record.queryField } }) this.tableHeadFindDatas = newval; + // console.log('new',newval) + if (!this.isCodeArrayPushed) { + if (newval.find(item => item.prop === 'id')) { + this.CodeArray.push(newval.find(item => item.prop === 'id')); + } else { + this.CodeArray.push([]); + } + // console.log('CodeArray', this.CodeArray); + this.isCodeArrayPushed = true; + } + if (!this.islcstatusPushed) { + if (newval.find(item => item.prop === 'lcstatus')) { + this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus')); + } else { + this.lcstatusArray.push([]); + } + // console.log('lcstatusArray', this.lcstatusArray); + this.islcstatusPushed = true; + } + // console.log('new',newval) this.WupinFindValue = '' }, }, @@ -349,14 +424,19 @@ }, tableHeadBtnData: { handler(newval) { - if (newval.length !== 0) { this.masterVrBtnList = newval - } }, deep: true }, }, methods: { + CodeLinkHandler(row) { + this.LinkObject = row; + this.LinkVisible = true; + this.LinkList = Object.keys(row).map(property => property) + // console.log(result); + // console.log(this.LinkObject) + }, //鐘舵�佹悳绱� cellSelectHandler(row) { if (row === 'all') { @@ -389,10 +469,10 @@ openVis(visible) { this[visible] = true }, - handelBtnClick(event) { + handleBtnClick(event) { const {uniqueFlag} = event this.$nextTick(() => { - if (uniqueFlag === 'CODEADD') return this.addvisible = true + if (uniqueFlag === 'CODEADD') return this.addSaveHandler() if (uniqueFlag === 'CODEEDIT') return this.editHandler() if (uniqueFlag === 'CODEBATCHADD') return this.openBatchImport('batchImportApply') if (uniqueFlag === 'CODEIMPORTHISTORY') return this.openBatchImport('historyImport') @@ -417,19 +497,36 @@ if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply() // 鐩镐技椤规煡璇� // if(uniqueFlag === 'CODEEDIT') return this.similarHandler() + // 鏍囧噯鐢宠 + if (uniqueFlag === 'CODEAPPLY') return this.codeApplyHandler() + // 鏍囧噯淇 + if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler() + }); + }, + //鏍囧噯鐢宠 + codeApplyHandler(){ + console.log('1') + }, + //鏍囧噯淇 + codeAMENDHandler(){ + console.log('2') + }, + addSaveHandler(){ + this.$nextTick(() => { + this.addvisible = true; }); }, //鐢宠闆嗗洟鐮佹暟鎹� - applyGroupCode(){ - if(this.selectRow.length <= 0){ + applyGroupCode() { + if (this.selectRow.length <= 0) { this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒') - }else { + } else { // const requestData = this.selectRow.forEach(item => { // return { oids: item.oid, btmName: item.btmname }; // }); const oids = this.selectRow.map(item => item.oid).join(','); - applyGroupCode({ oids, btmName: this.selectRow[0].btmname }).then(res=>{ - if(res.data.code==200){ + applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => { + if (res.data.code == 200) { this.$message.success('鐢宠鎴愬姛') } this.onLoad() @@ -437,16 +534,16 @@ } }, //鏇存柊闆嗗洟鐮佹暟鎹� - receiveEditApply(){ - if(this.selectRow.length <= 0){ + receiveEditApply() { + if (this.selectRow.length <= 0) { this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒') - }else { + } else { // const requestData = this.selectRow.forEach(item => { // return { oids: item.oid, btmName: item.btmname }; // }); const oids = this.selectRow.map(item => item.oid).join(','); - receiveEditApply({ oids, btmName: this.selectRow[0].btmname }).then(res => { - if(res.data.code==200){ + receiveEditApply({oids, btmName: this.selectRow[0].btmname}).then(res => { + if (res.data.code == 200) { this.$message.success('鏇存柊鎴愬姛') this.onLoad() } @@ -594,21 +691,36 @@ }); } }, - handleSizeChange(val) { - this.isLoading = true; - setTimeout(() => { - this.page.pageSize = val; - this.$emit("pageSize", val); - this.CrudRend(); - }, 3000); + async CrudRend() { + this.elapsedTime = 0; + const startTime = performance.now(); + const res = await TableData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + page: this.page.currentPage, + limit: this.page.pageSize, + }); + const endTime = performance.now(); + this.elapsedTime = Math.floor(endTime - startTime) * 1; + this.page.total = res.data.total; + this.data = res.data.data; + this.tableData = res.data.data; }, - handleCurrentChange(val) { + + async handleSizeChange(val) { + this.page.pageSize = val; + this.$emit("pageSize", val); this.isLoading = true; - setTimeout(() => { - this.page.currentPage = val; - this.$emit("currentPage", val); - this.CrudRend(); - }, 3000); + await this.CrudRend(); + this.isLoading = false; + }, + + async handleCurrentChange(val) { + this.page.currentPage = val; + this.$emit("currentPage", val); + this.isLoading = true; + await this.CrudRend(); + this.isLoading = false; }, // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮 handleCellClick(row, column) { @@ -660,45 +772,9 @@ } }) }, - //琛ㄦ牸澶存覆鏌� - CrudHeaderRend() { - if (this.codeClassifyOid != "") { - MasterTable({ - codeClassifyOid: this.codeClassifyOid - }).then((res) => { - this.options = res.data.tableDefineVO.seniorQueryColumns; - this.List = res.data.tableDefineVO.cols[0]; - this.List.forEach((item) => { - let columnItem = { - label: item.title, - prop: item.field, - type: this.columnType[item.type], - sortable: item.sort, - width: item.minWidth, - }; - this.option.column.push(columnItem); - this.option.column = this.tableHeadData; - this.templateOid = res.data.tableDefineVO.oid; - this.$emit("templateOid", this.templateOid); - }); - }); - } - }, - //琛ㄦ牸鏁版嵁 - CrudRend() { - TableData({ - templateOid: this.templateOid, - codeClassifyOid: this.codeClassifyOid, - page: this.page.currentPage, - limit: this.page.pageSize, - }).then((res) => { - this.page.total = res.data.total; - this.data = res.data.data; - this.tableData = res.data.data; - }); - }, // 鎺掑簭 sortChange(val) { + // console.log(val) this.isLoading = true; let order = ""; if (val.order == "ascending") { @@ -800,6 +876,11 @@ }, //澧炲姞淇濆瓨 AddSumbit(val) { + // console.log('val',val) + if(func.notEmpty(val.ts)) { + val.ts = func.formattedDateTime(val.ts); + //console.log(val.ts); + } addSaveCode(val).then(res => { this.$nextTick(() => { this.addvisible = false; @@ -848,7 +929,8 @@ limit: this.page.pageSize, ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*' }).then(res => { - this.tableData = res.data.data + this.tableData = res.data.data; + // this.page.total = res.data.data.total; }) } @@ -857,15 +939,26 @@ </script> <style lang="scss" scoped> -.testbox { - .el-table--scrollable-x .el-table__body-wrapper { - overflow: auto !important; - } - - .el-table__fixed-right-patch { - background-color: #f5f7fa !important; - } +//鍥哄畾鍒楅珮搴� +/deep/ .el-table__fixed { + height: calc(100vh - 370px)!important; } +// 婊氬姩鏉℃牱寮忎慨鏀� +// 婊氬姩鏉$殑瀹藉害 +/deep/ .el-table__body-wrapper::-webkit-scrollbar { + height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓 + background: white; + border: white; + width: 10px; + +} +// 婊氬姩鏉$殑婊戝潡 +/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #ececec; + border-radius: 20px; + border: #ececec; +} + .el-button { margin: 0 10px 10px 0; @@ -891,4 +984,7 @@ margin-top: 10px; } + .el-table__body-wrapper{ + height: calc(100% - 44px) !important; +} </style> -- Gitblit v1.9.3