From cb5e4fb0d120c7334fb25c93c4ac4d293a3cde3a Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 14 十二月 2023 15:26:40 +0800 Subject: [PATCH] 主数据排序bug --- Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 314 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 180 insertions(+), 134 deletions(-) diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index df6a0b6..82d1ebe 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -46,15 +46,15 @@ <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" - v-if=" lcstatusArray.length !== 0 && !item.hidden" - key="index" :show-overflow-tooltip="true" :sortable="item.sortable" - :width="item.width" align="center" label="鐢熷懡鍛ㄦ湡鍊�" - prop="lcstatus"> - <template slot-scope="scope"> - <span>{{ scope.row.lcstatus_text }}</span> - </template> - </el-table-column> + <!-- <el-table-column v-for="(item,index) in lcstatusArray"--> + <!-- v-if=" lcstatusArray.length >= 0 && !item.hidden"--> + <!-- key="index" :show-overflow-tooltip="true" :sortable="item.sortable"--> + <!-- :width="item.width" align="center" label="鐢熷懡鍛ㄦ湡鍊�"--> + <!-- prop="lcstatus">--> + <!-- <template slot-scope="scope">--> + <!-- <span>{{ scope.row.lcstatus_text }}</span>--> + <!-- </template>--> + <!-- </el-table-column>--> <!-- 缂栧彿--> <el-table-column v-for="(item, index) in CodeArray" v-if="CodeArray.length !== 0 && !item.hidden" key="index" :label="item.label" :prop="item.prop" @@ -67,25 +67,15 @@ </template> </el-table-column> <el-table-column v-for="item in this.tableHeadFindData" - v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus' && Object.keys(item.referConfig).length <= 0" + v-if="!item.hidden && item.prop !== 'id'" :key="item.id" :formatter="item.formatter" - :label="item.label" :prop="item.prop" + :label="item.label" + :prop="item.prop" :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width" align="center"> - </el-table-column> - <!-- 鍙傜収鏁版嵁--> - <el-table-column v-for="(item,index) in referArray" - v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden" - :key="index" - :label="item.title" :show-overflow-tooltip="true" - :sortable="item.sortable" :width="item.width" align="center" - prop="jiliangdw"> - <template slot-scope="scope"> - <span>{{ scope.row.jiliangdwname }}</span> - </template> </el-table-column> </el-table> </div> @@ -99,9 +89,9 @@ </FormTemplateDialog> <!-- 淇--> <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" - :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'" - :visible.sync="amendvisible" status="amend" - type="edit" @submit="amendSumbit"></FormTemplateDialog> + :disabledProp="disabledProp" :selectRow="selectRow" :templateOid="templateOid" + :title="'鏁版嵁淇'" :visible.sync="amendvisible" status="amend" + type="add" @submit="amendSumbit"></FormTemplateDialog> <!-- 鏂板--> <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid" @@ -111,9 +101,9 @@ </FormTemplateDialog> <!-- 淇敼--> <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" - :disabledProp="disabledProp" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'" + :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" + :title="'淇敼缂栫爜淇℃伅'" :visible.sync="editvisible" - rowOid="rowOid" type="edit" @submit="EditSumbit"></FormTemplateDialog> <!-- 鎵归噺缂栬緫--> <!-- <MasterEditBulk :visible.sync="bulkeditvisible" ></MasterEditBulk>--> @@ -187,7 +177,8 @@ upSaveCode, applyGroupCode, receiveEditApply, - applySaveCode + applySaveCode, + exportGroupCodeExcel } from "@/api/GetItem"; import {processTS, changeStatus} from "@/api/template/setPersonnel" import {listCodeAttributeByClassId} from "@/api/integration/integration.js"; @@ -354,15 +345,7 @@ }, // 涓绘暟鎹寜閽� masterVrBtnList: [], - fileOptions: { - ownbizOid: "0", - ownbizBtm: "0", - fileDocClassify: '!=processAuditSuggest', - fileDocClassifyName: '', - hasDownload: true, - hasUpload: true, - height: 110 - }, + fileOptions: {}, result: '', elapsedTime: '', }; @@ -392,6 +375,11 @@ this.doLayout() }, watch: { + isLoading: { + handler(newval) { + // console.log(newval) + } + }, tableHeadDataFateher: { handler(newval, oldval) { this.options = newval.tableDefineVO.seniorQueryColumns @@ -405,13 +393,24 @@ }, tableDataArray: { handler(newval, oldval) { + // console.log('tableData',newval) this.tableData = newval; this.searchResults = newval - this.doLayout() + this.doLayout(); + this.fileOptions = { + ownbizOid: "0", + ownbizBtm: "0", + fileDocClassify: '!=processAuditSuggest', + fileDocClassifyName: '', + hasDownload: true, + hasUpload: true, + height: 'auto' + } }, }, tableHeadFindData: { handler(newval, oldval) { + // console.log(newval) newval.forEach((record, _index) => { if (record.queryField == 'id' && validatenull(record.templet)) { //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇 @@ -432,33 +431,31 @@ } }) this.tableHeadFindDatas = newval; - // console.log('new',newval) - if (!this.isCodeArrayPushed) { + if (newval) { + this.CodeArray = []; if (newval.find(item => item.prop === 'id')) { this.CodeArray.push(newval.find(item => item.prop === 'id')); } else { - this.CodeArray.push([]); + this.CodeArray = []; } - // console.log('CodeArray', this.CodeArray); - this.isCodeArrayPushed = true; + } - if (!this.islcstatusPushed) { + if (newval) { + this.lcstatusArray = []; if (newval.find(item => item.prop === 'lcstatus')) { this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus')); } else { - this.lcstatusArray.push([]); + this.lcstatusArray = []; } - // console.log('lcstatusArray', this.lcstatusArray); - this.islcstatusPushed = true; } - if (!this.isReferPushed) { + if (newval) { + this.referArray = []; if (newval.find(item => Object.keys(item.referConfig).length > 0)) { this.referArray.push(newval.find(item => Object.keys(item.referConfig).length > 0)); } else { - this.referArray.push([]) + this.referArray = []; } } - this.isReferPushed = true; this.WupinFindValue = '' }, }, @@ -470,6 +467,7 @@ templateOid: { handler(newval, oldval) { this.fileOptions.ownbizOid = "0"; + this.statusSelect = 'all' }, deep: true, }, @@ -485,8 +483,7 @@ this.LinkObject = row; this.LinkVisible = true; this.LinkList = Object.keys(row).map(property => property) - // console.log(result); - // console.log(this.LinkObject) + }, //鐘舵�佹悳绱� cellSelectHandler(row) { @@ -497,6 +494,7 @@ } }, cellStatusFind(lcstatus) { + this.isLoading = true; TableData({ templateOid: this.templateOid, codeClassifyOid: this.codeClassifyOid, @@ -504,7 +502,10 @@ limit: this.page.pageSize, 'conditionMap[lcstatus]': lcstatus }).then(res => { - this.tableData = res.data.data + // console.log(res) + this.tableData = res.data.data; + this.page.total = res.data.total; + this.isLoading = false; }) }, //灞曞紑闄勪欢 @@ -554,6 +555,44 @@ if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler() //鎵归噺缂栬緫 if (uniqueFlag === 'bulkEdit') return this.bulkEditHandler("bulkEdit") + //闆嗗洟鐮佸鍑� + if (uniqueFlag === 'excelGroupCode') return this.excelGroupCode() + //闆嗗洟鐮佸鍏� + if (uniqueFlag === 'importGroupCode') return this.importGroupCode("groupCode") + }); + }, + importGroupCode(type) { + this.batchImportData.visible = true + this.batchImportData.type = type + this.batchImportData.codeClassifyOid = this.codeClassifyOid + }, + //闆嗗洟鐮佸鍑� + excelGroupCode() { + this.isLoading = true; + exportGroupCodeExcel({ + codeClassifyOid: this.codeClassifyOid, + }).then(res => { + // let reader = new FileReader(); + // reader.readAsText(res.data); + // reader.onload = () => { + // try { + // let resData = JSON.parse(reader.result); // 瑙f瀽瀵硅薄鎴愬姛 + // if (!resData.success) { + // this.$message.error(resData.msg); + // this.isLoading = false; + // } + // } catch (err) { + // // 瑙f瀽鎴愬璞″け璐ワ紝璇存槑鏄甯哥殑鏂囦欢娴� + // func.downloadFileByBlobHandler(res); + // this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�'); + // this.isLoading = false; + // } + // }; + func.downloadFileByBlobHandler(res); + this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�'); + this.isLoading = false; + }).catch(error => { + this.$message.error(error); }); }, //鏍囧噯鐢宠 @@ -589,45 +628,49 @@ //鏍囧噯淇 codeAMENDHandler() { let foundItem = false; - this.tableHeadFindData.forEach(item => { if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) { foundItem = true; } }); - if (foundItem) { - this.amendvisible = true; - this.rowOid = this.selectRow[0].oid; - } else { - if (this.selectRow.length !== 1) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); + if (this.selectRow.length >= 1) { + this.$confirm('宸叉湁鍙傜収鏄惁鍙栨秷鍕鹃�夌户缁墽琛岋紵', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.selectRow = []; + //鍙栨秷鍕鹃�夌姸鎬� + this.$refs.dataTable.clearSelection(); + this.amendvisible = true; + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝綋鍓嶆搷浣�' + }); + }); } else { this.amendvisible = true; - this.rowOid = this.selectRow[0].oid; + } + } else { + if (this.selectRow.length <= 0) { + this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�"); + } else { + this.amendvisible = true; + } } }, //鎵归噺缂栬緫 bulkEditHandler(type) { - // console.log(this.nodeClickList) if (this.nodeClickList.children.length >= 1) { this.$message.warning('褰撳墠閫夋嫨鐨勫垎绫讳笉鏄彾瀛愯妭鐐癸紝涓嶅厑璁告壒閲忕紪杈戯紒') return; } - if (this.selectRow.length <= 0) { - this.$message.warning('璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹紒') - return; - } - const Editing = this.selectRow.every(item => item.lcstatus === 'Editing'); - - if (Editing) { - this.batchImportData.visible = true - this.batchImportData.type = type - this.batchImportData.codeClassifyOid = this.codeClassifyOid - } else { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鏈夌紪鐮佺姸鎬佷笉鏄�滅紪杈戜腑鈥濓紝涓嶅彲缂栬緫锛�'); - } + this.batchImportData.visible = true + this.batchImportData.type = type + this.batchImportData.codeClassifyOid = this.codeClassifyOid }, addSaveHandler() { this.$nextTick(() => { @@ -639,10 +682,6 @@ if (this.selectRow.length <= 0) { this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒') } 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) { @@ -657,9 +696,6 @@ if (this.selectRow.length <= 0) { this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒') } 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) { @@ -892,40 +928,46 @@ }) }, // 鎺掑簭 - sortChange(val) { - // console.log(val) - this.isLoading = true; - let order = ""; - if (val.order == "ascending") { - order = "asc"; - } else { - order = "desc"; + async sortChange(val) { + try { + this.isLoading = true; + const order = val.order == 'ascending' ? 'asc' : 'desc'; + const {data} = await TableData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + order: order, + sort: val.prop, + page: this.page.currentPage, + limit: this.page.pageSize, + }); + this.data = data.data; + } finally { + this.isLoading = false; } - TableData({ - templateOid: this.templateOid, - codeClassifyOid: this.codeClassifyOid, - order: order, - sort: val.prop, - page: this.page.currentPage, - limit: this.page.pageSize, - }).then((res) => { - setTimeout(() => { - this.data = res.data.data; - this.isLoading = false; - }, 100); - }); }, //鍒嗛〉鍒锋柊 async onLoad(val) { - await TableData({ - templateOid: this.templateOid, - codeClassifyOid: this.codeClassifyOid, - page: this.page.currentPage, - limit: this.page.pageSize, - }).then((res) => { + this.isLoading = true; + + try { + let conditionMap = {}; + if (this.statusSelect !== 'all') { + conditionMap.lcstatus = this.statusSelect; + } + const res = await TableData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + page: this.page.currentPage, + limit: this.page.pageSize, + conditionMap + }); this.tableData = res.data.data; - this.doLayout() - }); + this.doLayout(); + } catch (error) { + this.$message.error(error) + } finally { + this.isLoading = false; + } }, //澶氶�� handleSelectionChange(list) { @@ -958,15 +1000,18 @@ this.findvisible = true; }, // 楂樼骇鏌ヨ - echoContion(val) { - FindData({ - templateOid: this.templateOid, - codeClassifyOid: this.codeClassifyOid, - ...val, - }).then((res) => { + async echoContion(val) { + try { + const res = await FindData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + ...val, + }); this.tableData = res.data.data; this.page.total = res.data.total - }); + } catch (error) { + + } }, //鐩镐技椤规煡璇� similarHandler() { @@ -1035,20 +1080,21 @@ }, //杈撳叆鍥炶溅鎼滅储 tableFindInp() { - /*if (this.WupinFindValue.trim() === '') { - this.$message.warning('杈撳叆鍊间笉鑳戒负绌�') - return; - }*/ - TableData({ - templateOid: this.templateOid, - codeClassifyOid: this.codeClassifyOid, - page: this.page.currentPage, - limit: this.page.pageSize, - ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*' - }).then(res => { - this.tableData = res.data.data; - // this.page.total = res.data.data.total; - }) + this.isLoading = true; + try { + TableData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + page: this.page.currentPage, + limit: this.page.pageSize, + ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*' + }).then(res => { + this.tableData = res.data.data; + this.page.total = res.data.total; + }) + } finally { + this.isLoading = false; + } } } @@ -1058,7 +1104,7 @@ <style lang="scss" scoped> //鍥哄畾鍒楅珮搴� /deep/ .el-table__fixed { - height: calc(100vh - 370px) !important; + height: calc(100vh - 365px) !important; } // 婊氬姩鏉℃牱寮忎慨鏀� @@ -1096,7 +1142,7 @@ .top { overflow-y: scroll; - min-height: 55%; + min-height: 40%; } .bottom { -- Gitblit v1.9.3