From 617b1344c9788eea6b4260d2251501b1e3e86f7c Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 26 十月 2023 17:17:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 666 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 386 insertions(+), 280 deletions(-) diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue index 430e090..f7a0b3d 100644 --- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue +++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue @@ -5,8 +5,8 @@ <div class="testbox" style=""> <div> </div> - <el-row style="width: 100%;margin-bottom: 20px"> - <div> + <el-row style="width: 100%;margin-bottom: 10px"> + <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" @@ -15,12 +15,19 @@ 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> + </el-select> <el-input v-model="WupinFindValue" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" size="small" style="width: 180px; margin-left: 5px; margin-top: 10px" - @keyup.enter.native="tableFindInp" v-if="tableData.length != 0"></el-input> - <span style="margin-left: 10px" v-if="tableData.length != 0"> + @keyup.enter.native="tableFindInp"></el-input> + </span> + <span v-if="tableHeadFindData.length > 0" style="margin-left: 10px"> <p style="font-size: 13px;display: inline-block;"> 鐘舵�侊細</p> - <el-select v-model="statusSelect" slot="prepend" placeholder="璇烽�夋嫨" size="small" @change="cellSelectHandler"> + <el-select slot="prepend" v-model="statusSelect" placeholder="璇烽�夋嫨" size="small" + @change="cellSelectHandler"> <el-option label="鍏ㄩ儴" value="all"></el-option> <el-option label="宸插彂甯�" value="Released"></el-option> <el-option label="缂栬緫涓�" value="Editing"></el-option> @@ -28,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 fixed type="selection" width="55" v-if="tableData.length != 0"></el-table-column> - <el-table-column fixed label="搴忓彿" type="index" width="55" v-if="tableData.length != 0"> - </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> @@ -56,32 +87,43 @@ :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" :title="'宸插彂甯冩暟鎹洿鏀�'" - :type="edit" - :visible.sync="DataVisible"></FormTemplateDialog> + :visible.sync="DataVisible" + type="edit" @submit="updataSumbit"></FormTemplateDialog> <!-- 鍙戝竷--> - <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleFlow" @onLoad="onLoad"></set-personnel> + <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleFlow" + @onLoad="onLoad"></set-personnel> <!-- 鍋滅敤--> - <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleDeactivate" @onLoad="onLoad"></set-personnel> + <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleDeactivate" + @onLoad="onLoad"></set-personnel> <!-- 鍚敤--> - <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleEnable" @onLoad="onLoad"></set-personnel> + <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleEnable" + @onLoad="onLoad"></set-personnel> <!-- 鍥炴敹--> - <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleRecovery" @onLoad="onLoad"></set-personnel> + <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleRecovery" + @onLoad="onLoad"></set-personnel> <!-- 楂樼骇鏌ヨ--> <advanced-query :options="this.options" :visible.sync="findvisible" @echoContion="echoContion"></advanced-query> <!-- 瀵煎嚭--> - <MasterTransfer :codeClassifyOid="codeClassifyOid" :limit="page.pageSize" :templateOid="templateOid" :selectRow="selectRow" - :tableData="tableData" :tableHeadData="tableHeadFindData" + <MasterTransfer :codeClassifyOid="codeClassifyOid" :limit="page.pageSize" :selectRow="selectRow" + :tableData="tableData" + :tableHeadData="tableHeadFindData" :templateOid="templateOid" :visible.sync="dialogPush"></MasterTransfer> <!-- 鐩镐技椤�--> <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"> @@ -90,7 +132,8 @@ </div> </div> <div> - <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :visible.sync="batchImportData.visible" :resetTable="CrudRend"> + <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend" + :visible.sync="batchImportData.visible"> </BatchImport> </div> <div class="bottom"> @@ -104,8 +147,18 @@ </basic-container> </template> <script> -import {MasterTable, TableData, FindData, addSaveCode, editSaveCode,deleteCode} from "@/api/GetItem"; -import {processTS,changeStatus} from "@/api/template/setPersonnel" +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"; import SetPersonnel from "@/components/template/SetPersonnel"; @@ -113,6 +166,7 @@ import BatchImport from '@/components/BatchImport' import {validatenull} from "@/util/validate"; import fileInHtml from "@/components/file/inHtml.vue"; +import {getUserInfo} from "@/api/system/user"; export default { components: { @@ -141,6 +195,10 @@ tableDataArray: { type: Array, }, + TreeValue: { + type: String, + default: "", + }, total: { type: String, default: "", @@ -162,22 +220,37 @@ tableHeadBtnData: { type: Array, }, + Treedata: { + type: Array + }, + }, data() { return { - statusSelect:"", + LinkVisible: false, + LinkObject: {}, // 缂栫爜鏁版嵁 + LinkList: [], + isCodeArrayPushed: false, // 缂栫爜鏁扮粍娣诲姞鏍囪瘑鍙橀噺 + CodeArray: [], + lcstatusArray:[], + islcstatusPushed:false, + // 鐘舵�佹悳绱� + statusSelect: "all", + // 鍏抽敭瀛楁煡璇� + keyWordFind: "", searchResults: [], //棣栭〉鍙充晶鎼滅储 WupinFindValue: "", //鐩镐技椤规煡璇� similarVisible: false, - //鍙戝竷 + //鍚姩娴佺▼ parameter: { ids: [], + btmtype: '', code: "", type: '', // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC' - template: "", + processName: "", vars: { codeClassifyOid: "", templateOid: "" @@ -222,7 +295,7 @@ datetime: "datetime", }, tableData: [], - tableHeight: 'calc(100vh - 330px)', + tableHeight: 'calc(100vh - 350px)', DataVisible: false, tableHeadData: [], items: {}, @@ -243,20 +316,31 @@ fileDocClassifyName: '', hasDownload: true, hasUpload: true, - height: 100 + height: 110 }, - result:'' + result: '' }; }, - computed: {}, + computed: { + oids() { + let oids = []; + this.selectRow.forEach(ele => { + oids.push(ele.oid); + }); + return oids; + } + }, created() { - const index = this.$route.query.id.indexOf('@'); - this.result = this.$route.query.id.substring(0, index); + // 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 + }) }, mounted() { }, activated() { - this.doLayout() + this.doLayout() }, updated() { this.doLayout() @@ -270,13 +354,11 @@ codeClassifyOid: { handler(newval, oldval) { this.codeClassifyOid = newval; - this.parameter.vars.codeClassifyOid = newval }, deep: true, }, tableDataArray: { handler(newval, oldval) { - this.statusSelect='' this.tableData = newval; this.searchResults = newval this.doLayout() @@ -285,7 +367,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 { @@ -298,8 +380,33 @@ } } } + + if (_index == 0) { + 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 = '' }, }, total: { @@ -309,9 +416,7 @@ }, templateOid: { handler(newval, oldval) { - this.parameter.code = newval; this.fileOptions.ownbizOid = "0"; - this.parameter.vars.templateOid = newval }, deep: true, }, @@ -322,12 +427,34 @@ } }, 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){ - console.log(row) + cellSelectHandler(row) { + if (row === 'all') { + this.cellStatusFind() + } else { + this.cellStatusFind(row) + } + }, + cellStatusFind(lcstatus) { + TableData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + page: this.page.currentPage, + limit: this.page.pageSize, + 'conditionMap[lcstatus]': lcstatus + }).then(res => { + this.tableData = res.data.data + }) }, //灞曞紑闄勪欢 handleCollapse(activeNames) { @@ -335,7 +462,7 @@ this.tableHeight = 'calc(100vh - 630px)'; this.$refs.dataTable.doLayout() } else { - this.tableHeight = 'calc(100vh - 330px)'; + this.tableHeight = 'calc(100vh - 350px)'; this.$refs.dataTable.doLayout() } }, @@ -364,9 +491,47 @@ if (uniqueFlag === 'CODERECYCLE') return this.Recovery() //鍒犻櫎 if (uniqueFlag === 'CODEDELETE') return this.enumDeleteRow() + //鐢宠闆嗗洟鐮佹暟鎹� + if (uniqueFlag === 'applyGroupCode') return this.applyGroupCode() + //鏇存柊闆嗗洟鐮佹暟鎹� + if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply() // 鐩镐技椤规煡璇� // if(uniqueFlag === 'CODEEDIT') return this.similarHandler() }); + }, + //鐢宠闆嗗洟鐮佹暟鎹� + applyGroupCode() { + 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) { + this.$message.success('鐢宠鎴愬姛') + } + this.onLoad() + }) + } + }, + //鏇存柊闆嗗洟鐮佹暟鎹� + receiveEditApply() { + 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) { + this.$message.success('鏇存柊鎴愬姛') + this.onLoad() + } + }); + } }, openD() { this.getListCodeByClassId(); @@ -382,220 +547,129 @@ this.transferData = data; } }, - handelTransferSave(val) { - console.log('鍙戝竷', val) - }, rend() { this.tableData = this.tableHeadData; }, // 鍙戝竷 setHandler() { - if (this.selectRow.length > 0) { - let hasEditing = this.selectRow.some(item => item.lcstatus !== 'Editing'); - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus !== "Editing" && showMessage) { - this.$message.warning('鍙湁鐘舵�佹槸銆愮紪杈戜腑銆戠殑鏁版嵁鎵嶅彲浠ュ彂璧锋祦绋�'); - showMessage = false; - } else if (hasEditing && showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愮紪杈戜腑銆戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } else if (showMessage) { - processTS({templateId: this.templateOid, buttonTypeKey: 'PUBLIC'}).then(res => { - if (res.data.data.records && res.data.data.records.length!=0) { - this.userName = localStorage.getItem("username"); - this.parameter.template = this.userName + '-鍙戝竷['+this.result+'-' + this.selectRow[0].name + ']'; - this.parameter.type = 'PUBLIC'; - this.parameter.code=this.templateOid - this.title = '娴佺▼瀹℃壒' - this.visibleFlow = true; - } else { - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({ oid: oid, btmname: this.result, lcStatus: 'Released' }).then(res => { - if(res.data.code == 200 ){ - this.$message.success('鍙戝竷鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }) - } - }) - } - }); - } else { - this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�') + var options = { + processUse: 'PUBLIC', + processUseText: '鐢宠', + allowStatus: 'Editing', + allowStatusText: '宸茬紪杈�', + startStatus: 'Auditing', + resetStatus: 'Editing', + batchTitle: '鎵归噺鎻愪氦缂栫爜鏁版嵁鍒版祦绋嬪鎵�', + title: '鎻愪氦缂栫爜鏁版嵁鍒版祦绋嬪鎵�' } + this.checkStatusAndSubmitProcess(options, 'Released'); }, //鍋滅敤 Deactivate() { - if (this.selectRow.length <= 0) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); - } else { - let hasEditing = this.selectRow.every(item => item.lcstatus == 'Released'); - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus === "Disabled" && showMessage) { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�'); - showMessage = false; - } else if (this.selectRow.length >=1 && !hasEditing && showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愬彂甯冪姸鎬併�戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } else if (this.selectRow.length > 1 && hasEditing && showMessage) { - processTS({ templateId: this.templateOid, buttonTypeKey: 'PUBLIC' }).then(res => { - if (res.data.records != [] && res.data.data.records.length!=0) { - this.userName = localStorage.getItem("username"); - this.parameter.template = this.userName + '-鍋滅敤['+this.result+'-' + this.selectRow[0].name + ']'; - this.parameter.type = 'DISABLE'; - this.parameter.code=this.templateOid - this.title = '鍋滅敤锛堝喕缁擄級缂栫爜鏁版嵁' - this.visibleDeactivate = true; - } else { - if (showMessage) { - showMessage = false; // 鏍囪宸叉墽琛岃繃鎿嶄綔 - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({ oid: oid, btmname: this.result, lcStatus: 'Disabled' }).then(res => { - if(res.data.code == 200 ){ - this.$message.success('鍋滅敤鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }); - } - } - }); - }else { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹负銆愬彂甯冪姸鎬併�戞墠鍙互鍙戣捣娴佺▼') - } - }); + var options = { + processUse: 'DISABLE', + processUseText: '鍋滅敤', + allowStatus: 'Released', + allowStatusText: '宸插彂甯�', + resetStatus: 'Released', + batchTitle: '鎵归噺鍋滅敤(鍐荤粨)鐨勭紪鐮佹暟鎹�', + title: '鍋滅敤(鍐荤粨)缂栫爜鏁版嵁', + confirmMsg: '鏄惁瑕佸仠鐢ㄨ繖浜涙暟鎹�' } + this.checkStatusAndSubmitProcess(options, 'Disabled'); }, //鍚敤 Enable() { - if (this.selectRow.length <= 0) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); - } else { - let hasEditing = this.selectRow.every(item => item.lcstatus == 'Disabled'); - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus !== "Disabled" && showMessage) { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�'); - showMessage = false; - } else if (this.selectRow.length >=1 && hasEditing && showMessage) { - processTS({ templateId: this.templateOid, buttonTypeKey: 'PUBLIC' }).then(res => { - if (res.data.data.records && res.data.data.records.length!=0) { - this.parameter=res.data.data.records[0] - this.userName = localStorage.getItem("username"); - this.parameter.template = this.userName + '-鍚敤['+this.result+'-' + this.selectRow[0].name + ']'; - this.parameter.type = 'Released'; - this.parameter.code=this.templateOid - this.title = '鍚敤缂栫爜鏁版嵁' - this.visibleDeactivate = true; - } else { - if (showMessage) { - showMessage = false; // 鏍囪宸叉墽琛岃繃鎿嶄綔 - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({ oid: oid, btmname: this.result, lcStatus: 'Released' }).then(res => { - if(res.data.code == 200 ){ - this.$message.success('鍚敤鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }); - } - } - }); - } else if (this.selectRow.length >1 && !hasEditing && showMessage) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愬仠鐢ㄧ姸鎬併�戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - } - }); + var options = { + processUse: 'ENABLE', + processUseText: '鍚敤', + allowStatus: 'Disabled', + allowStatusText: '宸插仠鐢�', + resetStatus: 'Disabled', + batchTitle: '鎵归噺鍚敤(瑙e喕)鐨勭紪鐮佹暟鎹�', + title: '鍚敤(瑙e喕)缂栫爜鏁版嵁', + confirmMsg: '鏄惁瑕佸惎鐢�(瑙e喕)杩欎簺鏁版嵁' } + this.checkStatusAndSubmitProcess(options, 'Released'); }, //鍥炴敹 Recovery() { + var options = { + processUse: 'ROLLBACK', + processUseText: '鍥炴敹', + allowStatus: 'Released,Disabled', + allowStatusText: '宸插彂甯�,宸插仠鐢�', + batchTitle: '鎵归噺鍥炴敹鐨勭紪鐮佹暟鎹�', + title: '鍥炴敹缂栫爜鏁版嵁', + confirmMsg: '鏄惁瑕佸洖鏀惰繖浜涙暟鎹�', + } + this.checkStatusAndSubmitProcess(options, 'TakeBack'); + }, + checkStatusAndSubmitProcess(options, targetLcstatus) { + // 缂栬緫涓�-鍙兘鍙戝竷锛屼笉鑳藉洖鏀� + // 瀹℃牳涓�-浠�涔堥兘涓嶈兘鍋� + // 宸插彂甯�-鍋滅敤銆佸洖鏀� + // 鍋滅敤-鍙兘鍚敤銆佸洖鏀� if (this.selectRow.length <= 0) { - this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�"); + this.$message.warning("璇烽�夋嫨鏁版嵁"); + } else if (this.selectRow.length > 1000) { + this.$message.warning("姣忔鎻愪氦鍒版祦绋嬬殑鏁伴噺璇蜂笉瑕佽秴杩�1000鏉�"); } else { - // 缂栬緫涓�-鍙兘鍙戝竷锛屼笉鑳藉洖鏀� - // 瀹℃牳涓�-浠�涔堥兘涓嶈兘鍋� - // 宸插彂甯�-鍋滅敤銆佸洖鏀� - // 鍋滅敤-鍙兘鍚敤銆佸洖鏀� - const disabledCount = this.selectRow.filter(item => item.lcstatus === 'Disabled').length; - const releasedCount = this.selectRow.filter(item => item.lcstatus === 'Released').length; - let showMessage = true; - this.selectRow.forEach(item => { - if (this.selectRow.length === 1 && item.lcstatus == "TakeBack" && showMessage) { - this.$message.warning('閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�'); - showMessage = false; - } else if (this.selectRow.length >=1 && (disabledCount === this.selectRow.length || releasedCount === this.selectRow.length) || (disabledCount > 0 && releasedCount > 0) && showMessage) { - //disabledCount 鍜� releasedCount 涓换鎰忎竴涓瓑浜� this.selectRow 鏁扮粍鐨勯暱搴﹀垯琛ㄧず鍏ㄩ儴鏄悓涓�绉嶇姸鎬侊紝杩斿洖 true 濡傛灉disabledCount 鍜� releasedCount 閮藉ぇ浜�0锛屽垯琛ㄧず鏃㈡湁Disabled涔熸湁Released杩斿洖 true - processTS({ templateId: this.templateOid, buttonTypeKey: 'PUBLIC' }).then(res => { - if (res.data.records != [] && res.data.data.records.length!=0) { - this.userName = localStorage.getItem("username"); - this.parameter.template = this.userName + '-鍥炴敹['+this.result+'-' + this.selectRow[0].name + ']'; - this.parameter.type = 'TakeBack'; - this.parameter.code=this.templateOid - this.title = '鍥炴敹缂栫爜鏁版嵁' - this.visibleDeactivate = true; - } else { - if (showMessage) { - showMessage = false; // 鏍囪宸叉墽琛岃繃鎿嶄綔 - this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning' - }).then(() => { - const oid = this.selectRow.map(obj => obj.oid).join(","); - changeStatus({ oid: oid, btmname: this.result, lcStatus: 'TakeBack' }).then(res => { - if(res.data.code == 200 ){ - this.$message.success('鍥炴敹鎴愬姛') - this.onLoad() - } - }); - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑�' - }); - }); + //瀹℃壒鐨勬暟鎹殑鐘舵�佸繀椤荤浉鍚� + var lcstatus = this.selectRow[0].lcstatus; + let hasDiff = this.selectRow.every(item => item.lcstatus == lcstatus); + if (!hasDiff) { + this.$message.warning("鎮ㄩ�夋嫨鐨勬暟鎹殑鐘舵�佷笉鐩稿悓"); + return false; + } + if (lcstatus == targetLcstatus) { + this.$message.warning("閫夋嫨鐨勬暟鎹腑鐘舵�佹棤闇�鍐嶆墽琛屽綋鍓嶆搷浣�"); + return false; + } + if (options.processUseText == '鐢宠' && !validatenull(this.selectRow[0].copyfromversion)) { + options.processUseText = '淇敼' + options.processUse = 'EDIT' + } + let checkStatus = this.selectRow.every(item => options.allowStatus.indexOf(item.lcstatus) != -1); + if (!checkStatus) { + this.$message.warning('鍙湁鐘舵�佹槸銆�' + options.allowStatusText + '銆戠殑鏁版嵁鎵嶅彲浠ュ彂璧锋祦绋�'); + return false; + } + processTS({templateId: this.templateOid, buttonTypeKey: options.processUse}).then(res => { + if (res.data.data.records && res.data.data.records.length != 0) { + this.parameter.ids = this.oids; + this.parameter.processName = this.result + '-' + options.processUseText + '[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; + this.parameter.type = options.processUse; + this.parameter.code = this.templateOid + this.parameter.btmtype = this.selectRow[0].btmname || this.selectRow[0].btmtype; + this.parameter.vars = { + codeClassifyOid: this.codeClassifyOid, + templateOid: this.templateOid + }; + this.title = this.selectRow.length > 1 ? options.batchTitle : options.title; + this.visibleDeactivate = true; + } else { + this.$confirm('褰撳墠鍒嗙被娌℃湁娣诲姞娴佺▼妯℃澘锛屾槸鍚︿笉鐢ㄦ祦绋嬪鎵圭洿鎺ユ墽琛�?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + changeStatus({ + oid: this.oids.join(','), + btmname: this.selectRow[0].btmname, + lcStatus: targetLcstatus + }).then(res => { + if (res.data.code == 200) { + this.$message.success(options.processUseText + '鎴愬姛') + this.onLoad() } - } + }); + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑�' + }); }); - } else if (showMessage && this.selectRow.length >1 && !(disabledCount === this.selectRow.length || releasedCount === this.selectRow.length) || (disabledCount > 0 && releasedCount > 0)) { - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹叏閮ㄤ负銆愬仠鐢ㄧ姸鎬佹垨鍙戝竷鐘舵�併�戞墠鍙互鍙戣捣娴佺▼'); - showMessage = false; - }else if(showMessage){ - this.$message.warning('鎮ㄩ�夋嫨鐨勬暟鎹负銆愬仠鐢ㄧ姸鎬佹垨鍙戝竷鐘舵�併�戞墠鍙互鍙戣捣娴佺▼') } }); } @@ -634,11 +708,12 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - const list=[]; - this.selectRow.forEach((item)=>{list.push(item.oid)}) - deleteCode({codeClassifyOid:this.codeClassifyOid,oidList:list}).then(res=>{ - console.log(res) - if(res.data.code === 200){ + const list = []; + this.selectRow.forEach((item) => { + list.push(item.oid) + }) + deleteCode({codeClassifyOid: this.codeClassifyOid, oidList: list}).then(res => { + if (res.data.code === 200) { this.$message({ type: 'success', message: '鍒犻櫎鎴愬姛!' @@ -676,7 +751,7 @@ this.List.forEach((item) => { let columnItem = { label: item.title, - prop: item.field, + prop: item.queryField, type: this.columnType[item.type], sortable: item.sort, width: item.minWidth, @@ -704,6 +779,7 @@ }, // 鎺掑簭 sortChange(val) { + // console.log(val) this.isLoading = true; let order = ""; if (val.order == "ascending") { @@ -740,10 +816,6 @@ //澶氶�� handleSelectionChange(list) { this.selectRow = list; - this.parameter.ids = []; - list.forEach((item) => { - this.parameter.ids.push(item.oid); - }); }, //閫夋嫨 handleSelection(list, row) { @@ -804,21 +876,39 @@ this.$message.warning("鍙湁鐘舵�佷负宸插彂甯冪殑鏁版嵁鎵嶈兘杩涜鏁版嵁鏇存敼"); } else { this.DataVisible = true; + this.rowOid = this.selectRow[0]['oid'] } }, //澧炲姞淇濆瓨 AddSumbit(val) { - this.addvisible = false; + console.log(val) + val.ts = val.ts.toISOString().replace("Z", ""); addSaveCode(val).then(res => { this.$nextTick(() => { + this.addvisible = false; + this.$message.success("淇濆瓨鎴愬姛"); this.onLoad() }) }) }, + //淇敼鍥炶皟 EditSumbit(val) { - this.editvisible = false; editSaveCode(val).then(res => { this.$nextTick(() => { + this.editvisible = false; + this.$message.success("淇濆瓨鎴愬姛"); + this.onLoad() + }) + }) + }, + //鏁版嵁鏇存敼鍥炶皟 + updataSumbit(val) { + val.copyFromVersion = this.rowOid; + val.oid = ''; + upSaveCode(val).then(res => { + this.$nextTick(() => { + this.DataVisible = false; + this.$message.success("淇濆瓨鎴愬姛"); this.onLoad() }) }) @@ -830,17 +920,19 @@ }, //杈撳叆鍥炶溅鎼滅储 tableFindInp() { - if (this.WupinFindValue.trim() === '') { + /*if (this.WupinFindValue.trim() === '') { this.$message.warning('杈撳叆鍊间笉鑳戒负绌�') return; - } - this.tableData = this.searchResults.filter(item => { - if (typeof item.name === 'string') { - return item.name.includes(this.WupinFindValue); - } else { - return false; // item.name涓嶆槸瀛楃涓茬被鍨嬶紝杩斿洖false - } - }); + }*/ + 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 + }) } } @@ -848,18 +940,33 @@ </script> <style lang="scss" scoped> -.testbox { - .el-table--scrollable-x .el-table__body-wrapper { - overflow: auto !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; - .el-table__fixed-right-patch { - background-color: #f5f7fa !important; - } +} +// 婊氬姩鏉$殑婊戝潡 +/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #ececec; + border-radius: 20px; + border: #ececec; } -/deep/ .el-button { + +.el-button { margin: 0 10px 10px 0; +} + +/deep/ .dialog-footer .el-button { + margin: 0 10px 0 0; } .main { @@ -875,11 +982,10 @@ } .bottom { - margin-top: 20px; - overflow-y: scroll; + margin-top: 10px; } -.el-collapse-item__content { - padding-bottom: 0; + .el-table__body-wrapper{ + height: calc(100% - 44px) !important; } </style> -- Gitblit v1.9.3