| | |
| | | <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(transformHeight)" |
| | | 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> |
| | | <!-- </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' |
| | | |
| | | 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 |
| | | } |
| | | }, |
| | | transformHeight:{ |
| | | type:Boolean, |
| | | default:false |
| | | } |
| | | }, |
| | | watch: { |
| | | 'tableBottomOffset'(){ |
| | | console.log(this.tableBottomOffset,'tableBottomOffset') |
| | | } |
| | | }, |
| | | computed:{ |
| | | watch: { |
| | | '$route.params.projectId'() { |
| | | //this.dataForm.projectId = this.$route.params.projectId |
| | | // this.getIsExistConstructionInfo() |
| | | this.getQuery() |
| | | }, |
| | | '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) |
| | | }, |
| | | components: { |
| | | InfiniteLoading, |
| | | ItemCirculatOrder |
| | | }, |
| | | created() { |
| | | if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){ |
| | | this.transformHeight = true |
| | | }else{ |
| | | return Height-650 |
| | | this.transformHeight = false |
| | | } |
| | | }, |
| | | async reCall(row) { |
| | | if (await this.$tip.confirm('确定要进行撤回吗?')) { |
| | | this.$http.get(`/wf/reCallFlow`, {params: row}).then(a => { |
| | | }) |
| | | mounted() { |
| | | if (this.$route.params.projectId) { |
| | | this.dataForm.projectId = this.$route.params.projectId |
| | | } |
| | | this.dataForm.djxlSystem = Cookies.get('djxlSystem') |
| | | this.getQuery() |
| | | this.$EventBus.$on('newProject',()=>{ |
| | | this.getQuery() |
| | | }) |
| | | }, |
| | | getStayTask() { |
| | | this.$refs.tableObj.query() |
| | | }, |
| | | 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) |
| | | } |
| | | }, |
| | | 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) |
| | | } |
| | | 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) |
| | | 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(transformHeight){ |
| | | let Height=document.documentElement.clientHeight |
| | | if(transformHeight){ |
| | | return Height-(650-403) |
| | | }else{ |
| | | return Height-650 |
| | | } |
| | | }, |
| | | 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) |
| | | } else if (row.flowCode === 'aaa') { |
| | | //this.$refs.itemCirculatOrder.$refs.dialog.init(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> |