From ac1cf9f57ed1ef031ddd57fa8c6a9fee3f18e158 Mon Sep 17 00:00:00 2001 From: wente <329538422@qq.com> Date: 星期五, 12 一月 2024 10:23:21 +0800 Subject: [PATCH] 项目表 --- web/src/views/modules/sys/task/stay-task.vue | 487 ++++++++++++++++++++++++++++------------------------- 1 files changed, 256 insertions(+), 231 deletions(-) diff --git a/web/src/views/modules/sys/task/stay-task.vue b/web/src/views/modules/sys/task/stay-task.vue index 1197721..1dd29cd 100644 --- a/web/src/views/modules/sys/task/stay-task.vue +++ b/web/src/views/modules/sys/task/stay-task.vue @@ -1,258 +1,283 @@ <template> - <zt-table-wraper ref="tableObj" query-url="/task/taskCenter/page" :paging="false" :lazy="true" v-slot="{ table }" - paging-layout="total, prev, pager, next"> - <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> - <el-input type="text" v-model="dataForm.djxlSystem" v-if="false" /> - </el-form> - <el-table ref="table" - :height="getTransformHeight(transformHeight)" - v-loading="table.dataLoading" - :data="table.dataList" - style='margin-top:10px;transition: .5s;' - @selection-change="table.selectionChangeHandle" - border highlight-current-row> - <el-table-column prop="index" width="60" label="搴忓彿" align="center"> - <template slot-scope="scope"> - <span v-html="indexFormat(scope.$index)"></span> - </template> - </el-table-column> - <el-table-column align="left" prop="topic" label="宸ョ▼" width="150"/> -<!-- <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="180"/>--> - <el-table-column align="left" prop="remark" label="鎽樿" /> + <div> + <!-- <zt-table-wraper ref="tableObj" query-url="/newPlan/taskCenter/page" :paging="false" :lazy="true" v-slot="{ table }" + paging-layout="total, prev, pager, next">--> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="getQuery()"> + <el-input type="text" v-model="dataForm.djxlSystem" v-if="false"/> + </el-form> + <el-table ref="table" + :height="getTransformHeight()" + v-loading="dataLoading" + :data="dataList" + style='margin-top:10px;transition: .5s;' + class="alreadyTaskPushTable table-is__left-tz" + border highlight-current-row> + <el-table-column prop="index" width="60" label="搴忓彿" align="center"> + <template slot-scope="scope"> + <span v-html="indexFormat(scope.$index)"></span> + </template> + </el-table-column> + <el-table-column align="left" prop="topic" label="宸ョ▼" width="150"/> + <!-- <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="180"/>--> + <el-table-column align="left" prop="remark" label="鎽樿"/> - <el-table-column align="center" prop="stepName" label="褰撳墠鐜妭" width="150px"/> - <el-table-column align="center" prop="receiveTime" label="涓婁竴鐜妭鍔炵悊鏃堕棿" width="180px"/> - <el-table-column align="center" prop="senderName" label="涓婁竴鐜妭鍔炵悊浜�" width="160px"/> - <el-table-column align="center" prop="finishTime" label="璁″垝瀹屾垚鏃堕棿" width="160px"/> - <!-- <el-table-column align="center" prop="statusName" label="鐘舵��" width="100px"/>--> - <el-table-column align="center" prop="idleDays" label="鍋滅暀鏃堕棿锛堝ぉ锛�" width="150px"/> - <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false" width="120px"> - <template v-slot="{ row }"> - <zt-table-button v-if="row.stepMarker!='hxsy_czsp'&&row.stepMarker!='hxsy_bzsp'&&row.stepMarker!='xbsy_czsp'&&row.stepMarker!='xbsy_bzsp'" @click="createTask(row)">鍔炵悊</zt-table-button> - <zt-table-button v-if="row.stepMarker=='hxsy_czsp'||row.stepMarker=='hxsy_bzsp'||row.stepMarker=='xbsy_czsp'||row.stepMarker=='xbsy_bzsp'" @click="createTask(row)">鏌ラ槄</zt-table-button> - <zt-table-button @click="flowChart(row)">娴佺▼鍥�</zt-table-button> - <zt-table-button v-if="row.flowCode === 'yearPlan2'" @click="getFlowTrack (row)">娴佺▼杞ㄨ抗</zt-table-button> - </template> - </zt-table-column-handle> - </el-table> -<!-- <el-dialog title="椤圭洰杩涘害鍥�" top="10vh" width='85%' :visible.sync="dialogVisible">--> -<!-- <processTimeline ref="processTimeline"></processTimeline>--> -<!-- </el-dialog>--> - <!-- 寮圭獥, 鏂板 / 淇敼 --> - </zt-table-wraper> + <el-table-column align="center" prop="stepName" label="褰撳墠鐜妭" width="150px"/> + <el-table-column align="center" prop="receiveTime" label="涓婁竴鐜妭鍔炵悊鏃堕棿" width="180px"/> + <el-table-column align="center" prop="senderName" label="涓婁竴鐜妭鍔炵悊浜�" width="160px"/> + <el-table-column align="center" prop="finishTime" label="璁″垝瀹屾垚鏃堕棿" width="160px"/> + <!-- <el-table-column align="center" prop="statusName" label="鐘舵��" width="100px"/>--> + <el-table-column align="center" prop="idleDays" label="鍋滅暀鏃堕棿锛堝ぉ锛�" width="150px"/> + <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false" + width="120px"> + <template v-slot="{ row }"> + <zt-table-button + v-if="row.stepMarker!='hxsy_czsp'&&row.stepMarker!='hxsy_bzsp'&&row.stepMarker!='xbsy_czsp'&&row.stepMarker!='xbsy_bzsp'" + @click="createTask(row)">鍔炵悊 + </zt-table-button> + <zt-table-button + v-if="row.stepMarker=='hxsy_czsp'||row.stepMarker=='hxsy_bzsp'||row.stepMarker=='xbsy_czsp'||row.stepMarker=='xbsy_bzsp'" + @click="createTask(row)">鏌ラ槄 + </zt-table-button> + <zt-table-button @click="flowChart(row)">娴佺▼鍥�</zt-table-button> + <zt-table-button v-if="row.flowCode === 'yearPlan2'" @click="getFlowTrack (row)">娴佺▼杞ㄨ抗</zt-table-button> + </template> + </zt-table-column-handle> + <infinite-loading + spinner="bubbles" + distance="200" + slot="append" + identifier="infiniteId" + @infinite="infiniteHandler" + ref="infiniteLoading" + force-use-infinite-wrapper=".alreadyTaskPushTable .el-table__body-wrapper"> + <div slot="no-more" style="margin-top: 10px;margin-bottom: 10px;"><span v-if="dataListAll.length > pageSize">娌℃湁鏇村浜�</span> + </div> + </infinite-loading> + </el-table> + <!-- 寰呭姙浠诲姟寮圭獥寮圭獥, 鏂板 / 淇敼 --> + <ItemCirculatOrder ref="itemCirculatOrder" @refreshDataList="getQuery()"></ItemCirculatOrder> + <ConfigItemWarehouse ref="configItemWarehouse" @refreshDataList="getQuery()"></ConfigItemWarehouse> + <ConfigItemChange ref="configItemChange" @refreshDataList="getQuery()"></ConfigItemChange> + <ConfigItemOutbound ref="configItemOutbound" @refreshDataList="getQuery()"></ConfigItemOutbound> + <TestCheckOrder ref="testCheckOrder" @refreshDataList="getQuery()"></TestCheckOrder> + <BaselineRelease ref="baselineRelease" @refreshDataList="getQuery()"></BaselineRelease> + <QaAuditReport ref="qaAuditReport" @refreshDataList="getQuery()"></QaAuditReport> + <!-- </zt-table-wraper>--> + </div> </template> <script> -// import processTimeline from '../../../../map/processTimeline' -import Cookies from "js-cookie"; + import Cookies from "js-cookie"; + import InfiniteLoading from 'vue-infinite-loading' + import ItemCirculatOrder from '@/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate' + import ConfigItemWarehouse from '@/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate' + import TestCheckOrder from '@/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate' + import ConfigItemChange from '@/views/modules/configItemChange/ConfigItemChange-AddOrUpdate' + import ConfigItemOutbound from '@/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate' + import BaselineRelease from '@/views/modules/baselineRelease/BaselineRelease-AddOrUpdate' + import QaAuditReport from '@/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate' -export default { - data() { - return { - dataForm: { - djxlSystem:'' + export default { + data() { + return { + page: 1, + pageSize: 30, + dataLoading: false, + dataList: [], + dataListAll: [], + dataForm: { + djxlSystem: '' + }, + dialogVisible: false, + existConstructionInfo: false + } + }, + props: { + system: { + type: String }, - dialogVisible: false, - existConstructionInfo: false - } - }, - props:{ - system:{ - type:String - }, - transformHeight:{ - type:Boolean, - default:false - } - }, - watch: { - 'tableBottomOffset'(){ - console.log(this.tableBottomOffset,'tableBottomOffset') - } - }, - computed:{ - - }, - components: { - }, - created() { - if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){ - this.transformHeight = true - }else{ - this.transformHeight = false - } - }, - mounted() { - if (this.$route.params.projectId) { - this.dataForm.projectId = this.$route.params.projectId - } - this.dataForm.djxlSystem = Cookies.get('djxlSystem') - this.$refs.tableObj.query() - this.$EventBus.$on('newProject',()=>{ - this.$refs.tableObj.query() - }) - }, - methods: { - getTransformHeight(transformHeight){ - let Height=document.documentElement.clientHeight - if(transformHeight){ - return Height-(650-403) - }else{ - return Height-650 + transformHeight: { + type: Boolean, + default: false } }, - async reCall(row) { - if (await this.$tip.confirm('纭畾瑕佽繘琛屾挙鍥炲悧?')) { - this.$http.get(`/wf/reCallFlow`, {params: row}).then(a => { - }) + watch: { + '$route.params.projectId'() { + //this.dataForm.projectId = this.$route.params.projectId + // this.getIsExistConstructionInfo() + this.getQuery() + }, + 'tableBottomOffset'() { + console.log(this.tableBottomOffset, 'tableBottomOffset') } }, - getStayTask() { - this.$refs.tableObj.query() + computed: {}, + components: { + InfiniteLoading, + ItemCirculatOrder, + ConfigItemWarehouse, + TestCheckOrder, + ConfigItemChange, + ConfigItemOutbound, + BaselineRelease, + QaAuditReport }, - flowChart(row) { - // this.dialogVisible = true - // this.$nextTick(() => { - // this.$refs.processTimeline.init(row) - // }) - this.$emit('fatherMethod',row) - }, - async getFlowTrack(row){ - console.log(row,'getFlowTrack row') - if(row){ - let params={ - flowCode:row.flowCode, - bizId:row.bizId - } - this.$refs.processTrajectory.$refs.dialog.init(params) + created() { + if (this.$route.path.indexOf('taskCenter') > 0 || this.system == 'smj') { + this.transformHeight = true + } else { + this.transformHeight = false } }, - async createTask(row) { - console.log(row, "task row"); - /* if (row.stepMarker === 'sgmx_xf') { - let res = await this.$http.get(`/sy/maintain/constructionInfo/getListByProjectId?projectId=${row.bizId}`) - console.log(res.data,'this.existConstructionInfo') - if(res.data) { - this.existConstructionInfo = true - } - }*/ - if (row.stepMarker === 'jsfa_sc' || row.stepMarker === 'jsfa_sp') { - this.$refs.repairSkillScheme.$refs.dialog.init(row) - } else if (row.stepMarker=='tdjj_tysq'||row.stepMarker == 'tdjj_ywzsh' || row.stepMarker == 'tdjj_tzsp' || row.stepMarker == 'tdjj_zlsh' || row.stepMarker == 'tdjj_czsp' || row.stepMarker == 'tdjj_xtzjs') { - this.$refs.shipTeamConnectAddOrUpdate.$refs.dialog.init(row) - } else if (row.stepId === '80') { - this.$refs.annualRepairPlanAdd.$refs.dialog.init(row) - } else if (row.stepId === '90') { - this.$refs.annualRepairPlanAdd.$refs.dialog.init(row) - } else if (row.stepMarker=='smjkw_xg' || row.stepMarker=='smjkw_zlsh' || row.stepMarker=='smjkw_ztssh') { - this.$refs.lifeKwFlowSh.$refs.dialog.init(row,'smjkwFlow') - }else if (row.stepMarker === 'newProject_tz') { - this.$refs.newProject.$refs.dialog.init(row) + mounted() { + if (this.$route.params.projectId) { + this.dataForm.projectId = this.$route.params.projectId } - else if(row.stepMarker==='jgxy_sc'){ - this.$refs.contractSupervision.$refs.dialog.init(row) - } - else if(row.stepMarker==='zbdg_sc'){ - this.$refs.warrantyOutline.$refs.dialog.init(row) - } - else if(row.stepMarker==='gcky_jh'){ - this.$refs.engineeringSurveyKyjh.$refs.dialog.init(row) - } - else if (row.flowCode==='monthPlanFlow'){ - this.$refs.monthlyPlan.$refs.dialog.init('db', row) - } - else if (row.flowCode==='weekPlanFlow'){ - this.$refs.weeklyPlan.$refs.dialog.init('db', row) - } - else if (row.flowCode==='rjhFlow'){ - if (row.stepMarker==='rjh_cy') { - this.$refs.dailyPlanReadonly.$refs.dialog.init('db', row) + this.dataForm.djxlSystem = Cookies.get('djxlSystem') + this.getQuery() + this.$EventBus.$on('newProject', () => { + this.getQuery() + }) + }, + methods: { + async infiniteHandler($state) { + console.log('in infiniteHandler--------') + if ((this.page * this.pageSize) < this.dataListAll.length) { + this.page++ + // let begin = (this.page - 1) * this.pageSize + let end = this.page * this.pageSize + if (end > this.dataListAll.length) { + end = this.dataListAll.length + } + this.dataList = this.dataListAll.slice(0, end) + console.log(this.dataList.length, 'infiniteHandler:this.dataList.length') + console.log(this.page, 'infiniteHandler:this.page') + setTimeout(() => { + $state.loaded() + }, 100) } else { - this.$refs.dailyPlan.$refs.dialog.init('db', row) + $state.loaded() + console.log("$state.complete()", this.page) + this.page = 1; + $state.complete() + console.log(this.page, 'infiniteHandler:this.page') } - } - else if (row.flowCode==='wlt3Flow'){ - this.$refs.networkdiagram3.$refs.dialog.init('db', row) - } - else if (row.stepMarker==='zjgc_tzxf'){ - this.$refs.addProjectApplyDescription.$refs.dialog.init(row.bizId,'db') - } - else if (row.stepMarker==='cjjdbb_by'){ - this.$refs.partsInspectionByHandle.$refs.dialog.init(row,'db') - } - else if (row.flowCode==='cjjdrwFlow'){ - this.$refs.partsInspectionHandle.$refs.dialog.init(row,'db') - } - else if (row.stepMarker==='jyys_by' || row.stepMarker==='jjby_by'){ - this.$refs.inspectionCheckByHandle.$refs.dialog.init(row,'db') - } - else if (row.flowCode==='zjbyFlow' || row.flowCode==='jjbyFlow'){ - this.$refs.inspectionCheckHandle.$refs.dialog.init(row,'db') - } - else if (row.stepMarker==='jzjys_by'){ - this.$refs.inspectionCheckZcHandle.$refs.dialog.init(row,'db') - } - else if (row.stepMarker==='jzjys_hz'){ - this.$refs.inspectionCheckZcHandle.$refs.dialog.init(row,'db') - } - else if (row.stepMarker==='jjys_by'){ - this.$refs.inspectionCheckDbsHandle.$refs.dialog.init(row,'db') - } - else if (row.stepMarker==='jjys_dbs'){ - this.$refs.inspectionCheckDbsHandle.$refs.dialog.init(row,'db') - } - else if (row.flowCode==='cjjdFlow'){ - this.$refs.partsInspectionJdHandle.$refs.dialog.init(row,'db') - } - - else { - if (row.stepRouterId === null) { - this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id") - return; + }, + handleInfiniteLoadingBeforeGet() { + this.page = 1; + this.dataListAll = [] + this.dataList = [] + }, + handleInfiniteLoadingAfterGet(res) { + this.dataListAll = res.data + console.log(this.dataListAll.length, 'handleInfiniteLoadingAfterGet:this.dataListAll.length') + // let begin = (this.page - 1) * this.pageSize + let end = this.page * this.pageSize + if (end > this.dataListAll.length) { + end = this.dataListAll.length } - let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepRouterId)[0] - if (route === undefined) { - this.$tip.alert("娌℃湁閰嶇疆鑿滃崟鏉冮檺") - return; - } + this.dataList = this.dataListAll.slice(0, end) + console.log(this.dataList.length, 'handleInfiniteLoadingAfterGet:this.dataList.length') + console.log(this.page, 'handleInfiniteLoadingAfterGet:this.page') + this.$nextTick(() => { + this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset'); + }); + }, + async getQuery() { + this.handleInfiniteLoadingBeforeGet() + this.dataLoading = true let params = { - id: row.bizId, - projectId: row.bizGroupId, - pageCode: row.stepMarker, - pageRead: 'no', - productId: row.productId, - approveType: '' + djxlSystem: this.dataForm.djxlSystem, } - console.log(route.meta.params, 'route.meta.params') - - if (Object.keys(route.meta.params).length > 0) { - params = Object.assign(params, route.meta.params); - } - console.log(params, 'params') - this.$router.push({ - name: row.stepRouterId, + let res = await this.$http.get(`/task/taskCenter/page`, { params: params }) - } - }, - async getIsExistConstructionInfo(bizId) { - if (bizId) { - let res = await this.$http.get(`/sy/maintain/constructionInfo/getListByProjectId?projectId=${bizId}`) - console.log(res.data,'this.existConstructionInfo') - if(res.data) { - this.existConstructionInfo = true - alert('555') + if (res.success) { + this.dataLoading = false + this.handleInfiniteLoadingAfterGet(res) + console.log(this.dataList, 'getQuery:this.dataList') + } else { + this.dataLoading = true } - } + }, + getTransformHeight() { + let Height = document.documentElement.clientHeight + return Height - (650 - 403) + }, + async reCall(row) { + if (await this.$tip.confirm('纭畾瑕佽繘琛屾挙鍥炲悧?')) { + this.$http.get(`/wf/reCallFlow`, {params: row}).then(a => { + }) + } + }, + getStayTask() { + this.getQuery() + }, + flowChart(row) { + this.$emit('fatherMethod', row) + }, + async getFlowTrack(row) { + console.log(row, 'getFlowTrack row') + if (row) { + let params = { + flowCode: row.flowCode, + bizId: row.bizId + } + this.$refs.processTrajectory.$refs.dialog.init(params) + } + }, + async createTask(row) { + console.log(row, "task row"); + if (row.flowCode === 'wplz') { + this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId, row) + } else if (row.flowCode === 'pzxrk') { + this.$refs.configItemWarehouse.$refs.dialog.init(row.bizId, row) + }else if (row.flowCode === 'csjcd') { + this.$refs.testCheckOrder.$refs.dialog.init(row.bizId, row) + } else if (row.flowCode === 'pzxbg') { + this.$refs.configItemChange.$refs.dialog.init(row.bizId, row) + }else if (row.flowCode === 'pzxck') { + this.$refs.configItemOutbound.$refs.dialog.init(row.bizId, row) + }else if (row.flowCode === 'jxfb') { + this.$refs.baselineRelease.$refs.dialog.init(row.bizId, row) + }else if (row.flowCode === 'qashbg') { + this.$refs.qaAuditReport.$refs.dialog.init(row.bizId, row) + }else { + if (row.stepRouterId === null) { + this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id") + return; + } + let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepRouterId)[0] + if (route === undefined) { + this.$tip.alert("娌℃湁閰嶇疆鑿滃崟鏉冮檺") + return; + } + let params = { + id: row.bizId, + projectId: row.bizGroupId, + pageCode: row.stepMarker, + pageRead: 'no', + productId: row.productId, + approveType: '' + } + console.log(route.meta.params, 'route.meta.params') + + if (Object.keys(route.meta.params).length > 0) { + params = Object.assign(params, route.meta.params); + } + console.log(params, 'params') + this.$router.push({ + name: row.stepRouterId, + params: params + }) + } + }, + indexFormat(index) { + let indexs = index + 1 + return '<span>' + indexs + '</span>' + }, }, - indexFormat(index) { - let page = this.$refs.tableObj.page - let limit = this.$refs.tableObj.limit - let indexs = limit * (page - 1) + index + 1 - return '<span>' + indexs + '</span>' - }, - }, -} + } </script> <style scoped> -- Gitblit v1.9.1