|
@@ -0,0 +1,134 @@
|
|
|
|
|
+<template>
|
|
|
|
|
+ <el-col :span="16" :offset="6">
|
|
|
|
|
+ <el-form label-width="100px" ref="formRef" :model="form">
|
|
|
|
|
+ <el-form-item label="审批意见" style="margin-bottom: 20px">
|
|
|
|
|
+ <ApprovalOpinion ref="approvalOpinion" v-model="form.reason" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div style="margin-left: 10%; margin-bottom: 20px; font-size: 14px">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ icon="el-icon-edit-outline"
|
|
|
|
|
+ type="success"
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ :loading="isLoading"
|
|
|
|
|
+ v-click-once
|
|
|
|
|
+ @click="$refs.approvalOpinion.validate(1) && handleAudit(1)"
|
|
|
|
|
+ >通过
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ icon="el-icon-circle-close"
|
|
|
|
|
+ type="danger"
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ :loading="isLoading"
|
|
|
|
|
+ v-click-once
|
|
|
|
|
+ @click="$refs.approvalOpinion.validate(0) && handleAudit(0)"
|
|
|
|
|
+ >驳回
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ <el-dropdown
|
|
|
|
|
+ @command="(command) => handleCommand(command)"
|
|
|
|
|
+ style="margin-left: 30px"
|
|
|
|
|
+ >
|
|
|
|
|
+ <span class="el-dropdown-link">
|
|
|
|
|
+ 更多<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
|
|
+ <el-dropdown-item command="cancel">作废</el-dropdown-item>
|
|
|
|
|
+ </el-dropdown-menu>
|
|
|
|
|
+ </el-dropdown>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+ import {
|
|
|
|
|
+ approveTaskWithVariables,
|
|
|
|
|
+ rejectTask,
|
|
|
|
|
+ cancelTask
|
|
|
|
|
+ } from '@/api/bpm/task';
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 生产性物资采购收货多人审批 - 审批操作
|
|
|
|
|
+ * 详情只读,不涉及入库,只做通过 / 驳回 / 作废
|
|
|
|
|
+ */
|
|
|
|
|
+ export default {
|
|
|
|
|
+ name: 'PurchaseReceiveMultiApprovalSubmit',
|
|
|
|
|
+ props: {
|
|
|
|
|
+ businessId: {
|
|
|
|
|
+ default: ''
|
|
|
|
|
+ },
|
|
|
|
|
+ taskId: {
|
|
|
|
|
+ default: ''
|
|
|
|
|
+ },
|
|
|
|
|
+ id: {
|
|
|
|
|
+ default: ''
|
|
|
|
|
+ },
|
|
|
|
|
+ taskDefinitionKey: {
|
|
|
|
|
+ default: ''
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ isLoading: false,
|
|
|
|
|
+ form: {
|
|
|
|
|
+ reason: '同意'
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ async handleAudit(status) {
|
|
|
|
|
+ if (!this.form.reason && !!status) {
|
|
|
|
|
+ this.$message.warning('请填写审批意见');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ await this._approveTaskWithVariables(status);
|
|
|
|
|
+ },
|
|
|
|
|
+ handleCommand(command) {
|
|
|
|
|
+ if (command === 'cancel') {
|
|
|
|
|
+ this.$confirm('是否确认作废?', {
|
|
|
|
|
+ type: 'warning',
|
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
|
+ confirmButtonText: '确定'
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ cancelTask({
|
|
|
|
|
+ id: this.id,
|
|
|
|
|
+ taskId: this.taskId,
|
|
|
|
|
+ reason: this.form.reason,
|
|
|
|
|
+ businessId: this.businessId
|
|
|
|
|
+ })
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ this.$emit('handleClose');
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {
|
|
|
|
|
+ this.$message.error('流程作废失败');
|
|
|
|
|
+ });
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {});
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ async _approveTaskWithVariables(status) {
|
|
|
|
|
+ const API = !!status ? approveTaskWithVariables : rejectTask;
|
|
|
|
|
+ try {
|
|
|
|
|
+ this.isLoading = true;
|
|
|
|
|
+ const res = await API({
|
|
|
|
|
+ id: this.taskId,
|
|
|
|
|
+ reason: this.form.reason,
|
|
|
|
|
+ variables: {
|
|
|
|
|
+ pass: !!status
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ if (res.data.code != '-1') {
|
|
|
|
|
+ this.$emit('handleAudit', {
|
|
|
|
|
+ status,
|
|
|
|
|
+ title: status === 0 ? '驳回' : ''
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ this.isLoading = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss"></style>
|