| | |
| | | <template> |
| | | <div class="app-container" v-loading.fullscreen.lock="loading"> |
| | | <div class="top"> |
| | | <div class="project-title"> |
| | | <h2>项目名称:{{detailData.projectName}}</h2> |
| | | </div> |
| | | <div class="project-info"> |
| | | <div class="project-info-item"></div> |
| | | <div class="project-info-item">项目代码:{{detailData.projectCode}}</div> |
| | | <div class="project-info-item"> |
| | | <div style="color: black"> |
| | | <div>中预资金</div> |
| | | <div>市重点项目</div> |
| | | <div class="app-container"> |
| | | <div v-loading="loading"> |
| | | <div class="top"> |
| | | <div class="project-title"> |
| | | <h2>项目名称:{{detailData.projectName}}</h2> |
| | | </div> |
| | | <div class="project-info"> |
| | | <div class="project-info-item"></div> |
| | | <div class="project-info-item">项目代码:{{detailData.projectCode}}</div> |
| | | <div class="project-info-item"> |
| | | <div style="color: black"> |
| | | <div>中预资金</div> |
| | | <div>市重点项目</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="search-warp"> |
| | | <div @click="changeTab(1, 'all')" :class="{'item-warm': true, 'all-color': true, 'active': 1 === selectTabId}">全部事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.totalTaskNum}})</span></div> |
| | | <div @click="changeTab(2, 'todo')" :class="{'item-warm': true, 'all-color': true, 'active': 2 === selectTabId}">代办事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.todoTaskNum}})</span></div> |
| | | <div @click="changeTab(3, 'todo')" :class="{'item-warm': true, 'current-color': true, 'active': 3 === selectTabId}">当前环节</div> |
| | | <div @click="changeTab(4, 'remaining')" :class="{'item-warm': true, 'remaining-color': true, 'active': 4 === selectTabId}">剩余事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.remainingTaskNum}})</span></div> |
| | | <div @click="changeTab(5, 'timely')" :class="{'item-warm': true, 'timely-color': true, 'active': 5 === selectTabId}">按时完成(0)</div> |
| | | <div @click="changeTab(6, 'overtime')" :class="{'item-warm': true, 'overtime-color': true, 'active': 6 === selectTabId}">超时事项(0)</div> |
| | | <div @click="changeTab(7, 'willOvertime')" :class="{'item-warm': true, 'willOvertime-color': true, 'active': 7 === selectTabId}">临期事项(0)</div> |
| | | <div @click="changeTab(8, 'urge')" :class="{'item-warm': true, 'urge-color': true, 'active': 8 === selectTabId}">督办事项(0)</div> |
| | | </div> |
| | | <div style="display: flex;justify-content: center;align-items: center;margin-top: 20px"> |
| | | <el-form :inline="true" :model="queryParams" class="demo-form-inline"> |
| | | <el-form-item label="任务名称"> |
| | | <el-input v-model="queryParams.taskName" placeholder="任务名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="getList">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="table"> |
| | | <el-table |
| | | v-loading="tableLoading" |
| | | :data="taskList" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="taskName" |
| | | label="任务名称" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="processName" |
| | | label="流程名称" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="promoterName" |
| | | label="发起人" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="promoterUnitName" |
| | | label="发起单位" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="handlerUnitName" |
| | | label="处理单位" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="handlerName" |
| | | label="实际处理人" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taskStatus" |
| | | label="任务状态" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="scope.row.taskStatus !== '未开始'" @click="goToProcessDetail(scope.row)" type="text" size="small">查看</el-button> |
| | | <el-button v-if="showHandle(scope.row)" @click="goToDo(scope.row)" type="text" size="small">办理</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="table" style="margin-top: 15px"> |
| | | <el-pagination |
| | | v-if="total > queryParams.pageSize" |
| | | @size-change="getList" |
| | | @current-change="getList" |
| | | :current-page.sync="queryParams.currentPage" |
| | | :page-sizes="[5, 10, 20]" |
| | | :page-size="100" |
| | | layout="sizes, prev, pager, next" |
| | | :total="total"> |
| | | </el-pagination> |
| | | <div class="search-warp"> |
| | | <div @click="changeTab(1, 'all')" :class="{'item-warm': true, 'all-color': true, 'active': 1 === selectTabId}">全部事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.totalTaskNum}})</span></div> |
| | | <div @click="changeTab(2, 'todo')" :class="{'item-warm': true, 'all-color': true, 'active': 2 === selectTabId}">代办事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.todoTaskNum}})</span></div> |
| | | <div @click="changeTab(3, 'todo')" :class="{'item-warm': true, 'current-color': true, 'active': 3 === selectTabId}">当前环节</div> |
| | | <div @click="changeTab(4, 'remaining')" :class="{'item-warm': true, 'remaining-color': true, 'active': 4 === selectTabId}">剩余事项<span v-if="detailData && detailData.statistics">({{detailData.statistics.remainingTaskNum}})</span></div> |
| | | <div @click="changeTab(5, 'timely')" :class="{'item-warm': true, 'timely-color': true, 'active': 5 === selectTabId}">按时完成(0)</div> |
| | | <div @click="changeTab(6, 'overtime')" :class="{'item-warm': true, 'overtime-color': true, 'active': 6 === selectTabId}">超时事项(0)</div> |
| | | <div @click="changeTab(7, 'willOvertime')" :class="{'item-warm': true, 'willOvertime-color': true, 'active': 7 === selectTabId}">临期事项(0)</div> |
| | | <div @click="changeTab(8, 'urge')" :class="{'item-warm': true, 'urge-color': true, 'active': 8 === selectTabId}">督办事项(0)</div> |
| | | </div> |
| | | <div style="display: flex;justify-content: center;align-items: center;margin-top: 20px"> |
| | | <el-form :inline="true" :model="queryParams" class="demo-form-inline"> |
| | | <el-form-item label="任务名称"> |
| | | <el-input v-model="queryParams.taskName" placeholder="任务名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="search">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="table"> |
| | | <el-table |
| | | v-loading="tableLoading" |
| | | :data="taskList" |
| | | border |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="taskName" |
| | | label="任务名称" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="processName" |
| | | label="流程名称" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="promoterUnitName" |
| | | label="发起单位" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="promoterName" |
| | | label="发起人" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="handlerUnitName" |
| | | label="处理单位" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="handlerName" |
| | | label="实际处理人" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taskStatus" |
| | | label="任务状态" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-if="scope.row.taskStatus !== '未开始'" @click="goToProcessDetail(scope.row)" type="text" size="small">查看</el-button> |
| | | <el-button v-if="showHandle(scope.row)" @click="goToDo(scope.row)" type="text" size="small">办理</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="table" style="margin-top: 15px"> |
| | | <el-pagination |
| | | @size-change="sizeChange" |
| | | @current-change="pageChange" |
| | | :current-page.sync="queryParams.currentPage" |
| | | :page-sizes="[5, 10, 20]" |
| | | :page-size="100" |
| | | layout="sizes, prev, pager, next" |
| | | :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | if (row.handlerType === "USER") { |
| | | return this.$store.state.user.id === row.handlerId |
| | | } else if (row.handlerType === "DEPT") { |
| | | return this.$store.state.user.id === row.handlerId |
| | | console.log(this.$store.state.user.deptId, "部门id", row.handlerUnitId) |
| | | return this.$store.state.user.deptId === row.handlerUnitId |
| | | // return this.$store.state.user.name === '市发展改革委' || this.$store.state.user.name === '市住建局' |
| | | } else if (row.handlerType === "ROLE") { |
| | | return this.$auth.hasRole(row.handlerUnitName) |
| | | } |
| | |
| | | } |
| | | }, |
| | | goToDo(row) { |
| | | // TODO 这里的判断条件根据实际情况设置 |
| | | // let params = { |
| | | // processDefId: row.processDefId, |
| | | // taskId: row.taskId |
| | | // } |
| | | // getTaskIsAuditing(params).then(res => { |
| | | // |
| | | // }) |
| | | // if (this.showHandle(row)) { |
| | | console.log("zhe") |
| | | // 查询该任务是否配置了需要审批 |
| | | let params = { |
| | | processDefId: row.processDefId, |
| | | taskId: row.taskId |
| | | } |
| | | getTaskIsAuditing(params).then(res => { |
| | | this.$router.push({ |
| | | path: '/flowable/task/myProcess/send/index', |
| | | query: { |
| | | deployId: row.deployId, |
| | | procDefId: row.processDefId, |
| | | processName: row.taskName, |
| | | taskId: row.taskId |
| | | taskId: row.taskId, |
| | | showAuditing: res.data, |
| | | goBackParams: this.queryParams |
| | | } |
| | | }) |
| | | // } else { |
| | | // this.$router.push({ |
| | | // path: '/flowable/task/todo/detail/index', |
| | | // query: { |
| | | // taskName: row.taskName, |
| | | // startUser: row.promoterName, |
| | | // deployId: row.deployId, |
| | | // taskId: row.taskId, |
| | | // procInsId: row.processInsId, |
| | | // executionId: row.executionId |
| | | // } |
| | | // }) |
| | | // } |
| | | }) |
| | | }, |
| | | goToProcessDetail(row) { |
| | | this.$router.push({ path: '/flowable/task/myProcess/detail/index', |
| | | query: { |
| | | procInsId: row.processInsId, |
| | | deployId: row.deployId, |
| | | taskId: row.taskId |
| | | taskId: row.taskId, |
| | | goBackParams: this.queryParams |
| | | }}) |
| | | }, |
| | | search() { |
| | | this.queryParams.currentPage = 1; |
| | | this.getList() |
| | | }, |
| | | sizeChange(pageSize) { |
| | | this.queryParams.pageSize = pageSize; |
| | | this.getList() |
| | | }, |
| | | pageChange(pageNum) { |
| | | this.queryParams.currentPage = pageNum; |
| | | this.getList() |
| | | }, |
| | | getList() { |
| | | // 获取任务列表 |
| | | getProjectProcessDetailTaskList(this.queryParams).then(res => { |