| | |
| | | <el-card class="dialogwarp_tab_card"> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane label="业务数据信息" name="first"> |
| | | |
| | | <businesswork ref="businesswork" :ids="ids" :templateId="templateId" :taskId="taskId" :modelKey="modelKey" :codeClassifyOid="codeClassifyOid" :stageAttrs="stageAttrs"></businesswork> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="流程跟踪" name="second"> |
| | | <avue-crud :data="flowList" :option="option" ref="crud"> |
| | | </avue-crud> |
| | | <el-card shadow="hover"> |
| | | <div slot="header"> |
| | | <span>流程跟踪</span> |
| | | </div> |
| | | <el-row class="row-bg"> |
| | | <flow-design :is-display="true" :process-instance-id="processInstanceId"></flow-design> |
| | | </el-row> |
| | | </el-card> |
| | | <el-row class="row-bg" style="margin-top: 20px"> |
| | | <flow-design :is-display="true" :process-instance-id="processInstanceId"></flow-design> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-card> |
| | |
| | | <el-button v-if="!isRefuse" type="primary" size="mini" @click="handelAgree">同意</el-button> |
| | | <el-button v-if="!isAgree" type="primary" size="mini" @click="handelRefuse">不同意</el-button> --> |
| | | <el-button type="primary" size="mini" @click="handelExecute(item)" v-for="(item, index) in btnList" |
| | | :key="index">{{ item.toName === '同意' ? item.toName : `${item.toName}到${item.taskName}` }}</el-button> |
| | | :key="index">{{ item.toName }}</el-button> |
| | | <!-- <el-button v-if="isRefuse" type="primary" size="mini" @click="handelExecute">执行</el-button> --> |
| | | </div> |
| | | </el-card> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | ids:[], |
| | | templateId:'', |
| | | taskId: '', |
| | | modelKey:'', |
| | | codeClassifyOid:'', |
| | | businessId: '', |
| | | processInstanceId: '', |
| | | stageAttrs:[], |
| | | src: '', |
| | | flowList: [], |
| | | btnList: [], |
| | |
| | | indexLabelClassName: '序号', |
| | | column: [ |
| | | { label: '任务名称', prop: 'historyActivityName', minWidth: 120 }, |
| | | { label: '执行操作', prop: 'sex', minWidth: 80 }, |
| | | { label: '执行操作', prop: 'pass', minWidth: 80 ,formatter:this.formatterPass}, |
| | | { label: '任务开始时间', prop: 'createTime', minWidth: 140 }, |
| | | { label: '审批意见', prop: 'sex', minWidth: 220, overHidden: true }, |
| | | { label: '审批意见', prop: 'comment', minWidth: 220, overHidden: true }, |
| | | { label: '执行人', prop: 'assigneeName', minWidth: 80 }, |
| | | { label: '任务完成时间', prop: 'endTime', minWidth: 140 }, |
| | | { label: '已上传审批文件', prop: 'sex', minWidth: 220, overHidden: true }, |
| | |
| | | }) |
| | | this.apiGetBtnTask(this.processInstanceId) |
| | | }, |
| | | formatterPass(row, value, column) { |
| | | return value?'同意':'驳回' |
| | | }, |
| | | async apiGetBtnTask(id) { |
| | | const response = await getBtnTask({ processInstanceId: id }) |
| | | const res = response.data |
| | | this.ids=res.data.variables.ids; |
| | | this.templateId=res.data.variables.templateId; |
| | | this.modelKey=res.data.variables.modelKey; |
| | | this.codeClassifyOid=res.data.variables.codeClassifyOid; |
| | | this.title=res.data.variables.processName; |
| | | this.stageAttrs=res.data.stageAttrs; |
| | | //this.taskId=res.data.variables.taskId; |
| | | if (res.success) { |
| | | console.log(res) |
| | | this.btnList = res.data.toTasks |
| | | this.btnList = res.data.toTasks; |
| | | } |
| | | }, |
| | | async apiExamineTask(param) { |
| | |
| | | if (res.success) { |
| | | this.$message.success(res.msg); |
| | | this.$router.$avueRouter.closeTag(); |
| | | this.$router.push({ path: `/work/start` }); |
| | | this.$router.push({ path: `/work/todo` }); |
| | | } else { |
| | | this.$message.error(res.msg || '提交失败'); |
| | | } |
| | | }, |
| | | handelExecute(event) { |
| | | console.log(event) |
| | | if(this.$refs.businesswork.hasEditor){ |
| | | this.$refs.businesswork.HandlerSave() |
| | | } |
| | | const { toName, conditionKey, conditionValue } = event |
| | | let param = { |
| | | comment: this.opinionVal || '同意', |
| | |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | height: 70vh; |
| | | height: 85vh; |
| | | |
| | | &_tab { |
| | | width: 79%; |
| | |
| | | ::v-deep(.el-upload-dragger .el-icon-upload) { |
| | | margin: 15px 0 16px; |
| | | } |
| | | .el-tab-pane{ |
| | | height: 75vh; |
| | | overflow: auto; |
| | | } |
| | | .el-button{ |
| | | margin:0 10px 10px 0; |
| | | } |
| | | </style> |