| | |
| | | <el-button @click="handleCancel">关闭</el-button> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-card shadow="hover"> |
| | | <el-card v-if="!isUserTask" shadow="hover"> |
| | | <div slot="header"> |
| | | <span>审批信息</span> |
| | | </div> |
| | |
| | | <avue-form ref="form" v-model="rejectModel" :option="rejectOption" @submit="handleDisagree"/> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-card> |
| | | |
| | | <el-card v-else shadow="hover"> |
| | | <div slot="header"> |
| | | <span>审批信息</span> |
| | | </div> |
| | | <avue-form :option="option" v-model="form"/> |
| | | |
| | | <el-tabs type="border-card" @tab-click="tabsClick"> |
| | | <el-tab-pane label="采纳建议" name="userAgree"> |
| | | <avue-form ref="form" v-model="userAgreeModel" :option="userAgreeOption" @submit="userHandleAgree"/> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="不采纳建议" name="userPolish"> |
| | | <avue-form ref="form" v-model="userPolishModel" :option="userPolishOption" @submit="userHandlePolish"/> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="撤销申请" name="userDisagree"> |
| | | <avue-form ref="form" v-model="userRejectModel" :option="userRejectOption" @submit="userHandleDisagree"/> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-card> |
| | | |
| | | <el-card shadow="hover"> |
| | |
| | | <el-card shadow="hover"> |
| | | <p>{{ flow.assigneeName }} 在 [{{ flow.createTime }}] 开始处理 [{{ flow.historyActivityName }}] 环节</p> |
| | | <p v-if="flow.historyActivityDurationTime!==''">任务历时 [{{ flow.historyActivityDurationTime }}]</p> |
| | | <p v-if="flow.comment!==''">批复意见: [{{ flow.comment }}]</p> |
| | | <p v-if="flow.comment!==''">反馈意见: [{{ flow.comment }}]</p> |
| | | <p v-if="flow.endTime!==''">结束时间: [{{ flow.endTime }}]</p> |
| | | </el-card> |
| | | </el-timeline-item> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {historyFlowList, leaveDetail} from "@/api/work/process"; |
| | | import {historyFlowList} from "@/api/work/process"; |
| | | import option from "@/const/application/application"; |
| | | import {applicationDetail,completeTask} from "@/api/application/application"; |
| | | import {applicationDetail, completeTask, userCompleteTask} from "@/api/application/application"; |
| | | import {deepClone} from "@/util/util"; |
| | | |
| | | export default { |
| | | name: "handle", |
| | |
| | | processInstanceId: '', |
| | | src: '', |
| | | flowList: [], |
| | | form: { |
| | | flow: { |
| | | assigneeName: '', |
| | | }, |
| | | startTime: '', |
| | | endTime: '', |
| | | reason: '', |
| | | comment: '', |
| | | }, |
| | | form: {}, |
| | | option: option, |
| | | //批复相关数据 |
| | | //审批人员相关字段 |
| | | agreeModel: {}, |
| | | agreeOption: { |
| | | emptyBtn: false, |
| | |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "批复意见", |
| | | label: "反馈意见", |
| | | prop: "comment", |
| | | span:24, |
| | | type:'textarea', |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入批复意见", |
| | | message: "请输入反馈意见", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | |
| | | }] |
| | | }, |
| | | { |
| | | label: "批复意见", |
| | | label: "反馈意见", |
| | | prop: "comment", |
| | | type:'textarea', |
| | | span:24, |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入批复意见", |
| | | message: "请输入反馈意见", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | |
| | | prop: "remark", |
| | | type: "textarea", |
| | | span: 24 |
| | | } |
| | | }, |
| | | { |
| | | label: "反馈意见", |
| | | prop: "comment", |
| | | type:'textarea', |
| | | span:24, |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入反馈意见", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | ] |
| | | } |
| | | }, |
| | | |
| | | //申请人员相关字段 |
| | | isUserTask:false, |
| | | userAgreeModel:{ |
| | | comment:'同意', |
| | | }, |
| | | userAgreeOption:{ |
| | | emptyBtn: false, |
| | | submitText: "提交", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "反馈意见", |
| | | prop: "comment", |
| | | span:24, |
| | | type:'textarea', |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入反馈意见", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | ] |
| | | }, |
| | | userPolishModel:{}, |
| | | userPolishOption:{ |
| | | emptyBtn: false, |
| | | submitText: "提交", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "反馈意见", |
| | | prop: "comment", |
| | | span:24, |
| | | type:'textarea', |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入反馈意见", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | ] |
| | | }, |
| | | userRejectModel:{ |
| | | comment:'撤销申请' |
| | | }, |
| | | userRejectOption:{ |
| | | emptyBtn: false, |
| | | submitText: "提交", |
| | | gutter: 30, |
| | | column: [ |
| | | { |
| | | label: "反馈意见", |
| | | prop: "comment", |
| | | type:'textarea', |
| | | span:24, |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入反馈意见", |
| | | trigger: "blur" |
| | | }] |
| | | }, |
| | | ] |
| | | }, |
| | | cloneForm:{}, |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | this.businessId = this.$route.params.businessId; |
| | | |
| | | this.controlOption('open') |
| | | |
| | | historyFlowList(this.processInstanceId).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.flowList = data.data; |
| | | if (this.flowList[this.flowList.length-1].historyActivityId == 'userTask'){ |
| | | this.controlOption('userTask') |
| | | this.isUserTask = true |
| | | } |
| | | } |
| | | }) |
| | | applicationDetail(this.businessId).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.form = data.data; |
| | | this.cloneForm = deepClone(this.form) |
| | | this.initForm() |
| | | } |
| | | }) |
| | | }, |
| | | //==============审批人员审核方法======================= |
| | | //同意 |
| | | handleAgree() { |
| | | if (!this.agreeModel.comment) { |
| | | this.$message.warning('请先填写批复意见'); |
| | | this.$message.warning('请先填写反馈意见'); |
| | | return; |
| | | } |
| | | const params = { |
| | |
| | | processInstanceId: this.processInstanceId, |
| | | flag: 'ok', |
| | | comment: this.agreeModel.comment, |
| | | isSuggestion:false, |
| | | }; |
| | | completeTask(params).then(res => { |
| | | const data = res.data; |
| | |
| | | }, |
| | | //驳回 |
| | | handleDisagree() { |
| | | if (!this.form.comment) { |
| | | this.$message.warning('请先填写批复意见'); |
| | | if (!this.rejectModel.comment) { |
| | | this.$message.warning('请先填写反馈意见'); |
| | | return; |
| | | } |
| | | const params = { |
| | | taskId: this.taskId, |
| | | processInstanceId: this.processInstanceId, |
| | | comment: this.form.comment, |
| | | comment: this.rejectModel.comment, |
| | | isSuggestion:false |
| | | }; |
| | | completeTask(params).then(res => { |
| | | const data = res.data; |
| | |
| | | }, |
| | | //完善 |
| | | handlePolish() { |
| | | if (!this.polishModel.comment) { |
| | | this.$message.warning('请先填写反馈意见'); |
| | | return; |
| | | } |
| | | const params = { |
| | | taskId: this.taskId, |
| | | processInstanceId: this.processInstanceId, |
| | | comment: this.polishModel.comment, |
| | | suggestion:this.polishModel.suggestion, |
| | | isSuggestion:true, |
| | | }; |
| | | completeTask(params).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.$message.success(data.msg); |
| | | this.$router.$avueRouter.closeTag(); |
| | | this.$router.push({path: `/work/start`}); |
| | | } else { |
| | | this.$message.error(data.msg || '提交失败'); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | //===============申请人员审核方法================ |
| | | //采纳意见 |
| | | userHandleAgree(){ |
| | | const params = { |
| | | ...this.form, |
| | | taskId: this.taskId, |
| | | processInstanceId: this.processInstanceId, |
| | | flag: 'ok', |
| | | comment: this.userAgreeModel.comment, |
| | | isSuggestion:true, |
| | | }; |
| | | userCompleteTask(params).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.$message.success(data.msg); |
| | | this.$router.$avueRouter.closeTag(); |
| | | this.$router.push({path: `/work/start`}); |
| | | } else { |
| | | this.$message.error(data.msg || '提交失败'); |
| | | } |
| | | }) |
| | | }, |
| | | //撤销申请 |
| | | userHandleDisagree(){ |
| | | if (!this.rejectModel.comment) { |
| | | this.$message.warning('请先填写反馈意见'); |
| | | return; |
| | | } |
| | | const params = { |
| | | taskId: this.taskId, |
| | | processInstanceId: this.processInstanceId, |
| | | comment: this.userRejectModel.comment, |
| | | }; |
| | | userCompleteTask(params).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.$message.success(data.msg); |
| | | this.$router.$avueRouter.closeTag(); |
| | | this.$router.push({path: `/work/start`}); |
| | | } else { |
| | | this.$message.error(data.msg || '提交失败'); |
| | | } |
| | | }) |
| | | }, |
| | | //不采纳意见 |
| | | userHandlePolish(){ |
| | | const params = { |
| | | taskId: this.taskId, |
| | | processInstanceId: this.processInstanceId, |
| | | flag: 'ok', |
| | | isSuggestion:false, |
| | | comment: this.polishModel.comment, |
| | | }; |
| | | userCompleteTask(params).then(res => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.$message.success(data.msg); |
| | | this.$router.$avueRouter.closeTag(); |
| | | this.$router.push({path: `/work/start`}); |
| | | } else { |
| | | this.$message.error(data.msg || '提交失败'); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | handleCancel() { |
| | | this.$router.$avueRouter.closeTag(); |
| | | this.$router.push({path: `/work/start`}); |
| | |
| | | this.option.submitBtn = true |
| | | this.option.emptyBtn = true |
| | | |
| | | } |
| | | }else if (arg == 'userTask'){ |
| | | //解除禁用状态 |
| | | this.option.group.forEach(group => { |
| | | group.column.forEach(item => { |
| | | item.disabled = false |
| | | }) |
| | | }) |
| | | |
| | | }else if (arg == 'noPolish'){ |
| | | //设置group内全为禁用状态 |
| | | this.option.group.forEach(group => { |
| | | group.column.forEach(item => { |
| | | item.disabled = true |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | tabsClick(tab){ |
| | | if (tab.name == 'userAgree'){ |
| | | this.controlOption('userTask') |
| | | }else { |
| | | this.controlOption('noPolish') |
| | | } |
| | | } |
| | | } |
| | | } |