| | |
| | | </el-form> |
| | | <div style="position: absolute; right: 0; top: 0"> |
| | | <el-button @click="openProcessImg" v-loading="imgLoading" type="primary">流程图</el-button> |
| | | <el-button @click="openRecord" type="info" v-loading="recordLoading">流转记录</el-button> |
| | | <el-button @click="openRecord" type="info" v-loading="recordLoading">流程日志</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | :title="`${this.queryParams.processName}:流转记录`" |
| | | <el-drawer |
| | | :title="`${this.queryParams.processName}:流程日志`" |
| | | :visible.sync="processRecordShow" |
| | | :fullscreen="true" |
| | | :close-on-click-modal="false" |
| | | :destroy-on-close="true" |
| | | > |
| | | <div> |
| | | <div class="block"> |
| | | <el-timeline> |
| | | <el-timeline-item |
| | | v-for="(item,index ) in flowRecordList" |
| | | :key="index" |
| | | :icon="setIcon(item.finishTime)" |
| | | :color="setColor(item.finishTime)" |
| | | > |
| | | <p style="font-weight: 700">{{item.taskName}} |
| | | <span v-if="item.comment && item.comment.type === '3'" style="color: red">(执行了驳回)</span> |
| | | <span v-if="item.overtime && item.overtime==='red'" style="color: red">(已超时)</span> |
| | | <span v-if="item.overtime && item.overtime==='yellow'" style="color: orange">(即将超时)</span> |
| | | </p> |
| | | <el-card :body-style="{ padding: '10px' }"> |
| | | <el-descriptions class="margin-top" :column="1" size="small" border> |
| | | <el-descriptions-item v-if="item.assigneeName" label-class-name="my-label"> |
| | | <template slot="label"><i class="el-icon-user"></i>办理人</template> |
| | | {{item.assigneeName}} |
| | | <el-tag type="info" size="mini">{{item.deptName}}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item v-if="item.candidate" label-class-name="my-label"> |
| | | <template slot="label"><i class="el-icon-user"></i>候选办理</template> |
| | | {{item.candidate}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label-class-name="my-label"> |
| | | <template slot="label"><i class="el-icon-date"></i>接收时间</template> |
| | | {{item.createTime}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item v-if="item.finishTime" label-class-name="my-label"> |
| | | <template slot="label"><i class="el-icon-date"></i>处理时间</template> |
| | | {{item.finishTime}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item v-if="item.duration" label-class-name="my-label"> |
| | | <template slot="label"><i class="el-icon-time"></i>耗时</template> |
| | | {{item.duration}} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item v-if="item.comment" label-class-name="my-label"> |
| | | <template slot="label"><i class="el-icon-tickets"></i>处理意见</template> |
| | | {{item.comment.comment}} |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </el-card> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | direction="ltr" |
| | | :modal="false" |
| | | size="800px" |
| | | > |
| | | <log-view style="padding: 10px 20px" :log-list="logList"/> |
| | | </el-drawer> |
| | | |
| | | <!-- <el-dialog--> |
| | | <!-- :title="`${this.queryParams.processName}:流转记录`"--> |
| | | <!-- :visible.sync="processRecordShow"--> |
| | | <!-- :fullscreen="true"--> |
| | | <!-- :close-on-click-modal="false"--> |
| | | <!-- :destroy-on-close="true"--> |
| | | <!-- >--> |
| | | <!-- <div>--> |
| | | <!-- <log-view :log-list="logList"/>--> |
| | | <!--<!– <div class="block">–>--> |
| | | <!--<!– <el-timeline>–>--> |
| | | <!--<!– <el-timeline-item–>--> |
| | | <!--<!– v-for="(item,index ) in flowRecordList"–>--> |
| | | <!--<!– :key="index"–>--> |
| | | <!--<!– :icon="setIcon(item.finishTime)"–>--> |
| | | <!--<!– :color="setColor(item.finishTime)"–>--> |
| | | <!--<!– >–>--> |
| | | <!--<!– <p style="font-weight: 700">{{item.taskName}}–>--> |
| | | <!--<!– <span v-if="item.comment && item.comment.type === '3'" style="color: red">(执行了驳回)</span>–>--> |
| | | <!--<!– <span v-if="item.overtime && item.overtime==='red'" style="color: red">(已超时)</span>–>--> |
| | | <!--<!– <span v-if="item.overtime && item.overtime==='yellow'" style="color: orange">(即将超时)</span>–>--> |
| | | <!--<!– </p>–>--> |
| | | <!--<!– <el-card :body-style="{ padding: '10px' }">–>--> |
| | | <!--<!– <el-descriptions class="margin-top" :column="1" size="small" border>–>--> |
| | | <!--<!– <el-descriptions-item v-if="item.assigneeName" label-class-name="my-label">–>--> |
| | | <!--<!– <template slot="label"><i class="el-icon-user"></i>办理人</template>–>--> |
| | | <!--<!– {{item.assigneeName}}–>--> |
| | | <!--<!– <el-tag type="info" size="mini">{{item.deptName}}</el-tag>–>--> |
| | | <!--<!– </el-descriptions-item>–>--> |
| | | <!--<!– <el-descriptions-item v-if="item.candidate" label-class-name="my-label">–>--> |
| | | <!--<!– <template slot="label"><i class="el-icon-user"></i>候选办理</template>–>--> |
| | | <!--<!– {{item.candidate}}–>--> |
| | | <!--<!– </el-descriptions-item>–>--> |
| | | <!--<!– <el-descriptions-item label-class-name="my-label">–>--> |
| | | <!--<!– <template slot="label"><i class="el-icon-date"></i>接收时间</template>–>--> |
| | | <!--<!– {{item.createTime}}–>--> |
| | | <!--<!– </el-descriptions-item>–>--> |
| | | <!--<!– <el-descriptions-item v-if="item.finishTime" label-class-name="my-label">–>--> |
| | | <!--<!– <template slot="label"><i class="el-icon-date"></i>处理时间</template>–>--> |
| | | <!--<!– {{item.finishTime}}–>--> |
| | | <!--<!– </el-descriptions-item>–>--> |
| | | <!--<!– <el-descriptions-item v-if="item.duration" label-class-name="my-label">–>--> |
| | | <!--<!– <template slot="label"><i class="el-icon-time"></i>耗时</template>–>--> |
| | | <!--<!– {{item.duration}}–>--> |
| | | <!--<!– </el-descriptions-item>–>--> |
| | | <!--<!– <el-descriptions-item v-if="item.comment" label-class-name="my-label">–>--> |
| | | <!--<!– <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>–>--> |
| | | <!--<!– {{item.comment.comment}}–>--> |
| | | <!--<!– </el-descriptions-item>–>--> |
| | | <!--<!– </el-descriptions>–>--> |
| | | <!--<!– </el-card>–>--> |
| | | <!--<!– </el-timeline-item>–>--> |
| | | <!--<!– </el-timeline>–>--> |
| | | <!--<!– </div>–>--> |
| | | <!-- </div>--> |
| | | <!-- </el-dialog>--> |
| | | <el-dialog :visible.sync="superviseShow" width="1000px" title="督办" append-to-body> |
| | | <el-form ref="superviseForm" :model="superviseForm" :rules="superviseRules" label-width="80px"> |
| | | <el-form-item label="督办内容" prop="content"> |
| | |
| | | } from "@/api/projectProcess/projectProcess"; |
| | | import {flowXmlAndNode} from "@/api/flowable/definition"; |
| | | import BpmnViewer from '@/components/Process/viewer'; |
| | | import LogView from "@/views/projectProcess/components/LogView"; |
| | | import {flowRecord} from "@/api/flowable/finished"; |
| | | import {editProject} from "@/api/projectEngineering/projectInfo"; |
| | | import {getProjectProcessLog} from "@/api/flowLog/flowLog"; |
| | | |
| | | export default { |
| | | name: "Detail", |
| | | components: { |
| | | BpmnViewer |
| | | BpmnViewer, |
| | | LogView |
| | | }, |
| | | data() { |
| | | return { |
| | | logList: [], // 流程日志 |
| | | processRecordShow: false, // 流转记录显示 |
| | | flowRecordList: [], // 流程流转数据 |
| | | recordLoading: false, // 流转记录加载 |
| | |
| | | } |
| | | }, |
| | | openRecord() { |
| | | this.getFlowRecordList(this.queryParams.processInsId); |
| | | this.getFlowLogList(this.queryParams.processInsId); |
| | | }, |
| | | openProcessImg() { |
| | | this.imgLoading = true |
| | |
| | | this.processRecordShow = true |
| | | }) |
| | | }, |
| | | getFlowLogList(procInsId) { |
| | | const params = {processInsId: procInsId, projectId: this.queryParams.projectId} |
| | | this.recordLoading = true |
| | | getProjectProcessLog(params).then(res => { |
| | | this.logList = res.data; |
| | | this.recordLoading = false |
| | | this.processRecordShow = true |
| | | }) |
| | | }, |
| | | unitFormatter(row) { |
| | | if (row.handlerType === 'USER') { |
| | | return null; |