|
|
@@ -3,7 +3,6 @@
|
|
|
<el-form label-width="100px" ref="formRef" :model="form">
|
|
|
<el-form-item
|
|
|
label="审批建议"
|
|
|
-
|
|
|
style="margin-bottom: 20px"
|
|
|
:rules="{
|
|
|
required: true,
|
|
|
@@ -24,160 +23,144 @@
|
|
|
type="success"
|
|
|
size="mini"
|
|
|
@click="handleAudit(1)"
|
|
|
- >通过
|
|
|
+ >通过
|
|
|
</el-button>
|
|
|
-<!-- <el-button-->
|
|
|
-<!-- icon="el-icon-circle-close"-->
|
|
|
-<!-- type="danger"-->
|
|
|
-<!-- size="mini"-->
|
|
|
-<!-- @click="handleAudit(0)"-->
|
|
|
-<!-- v-if="!['starter'].includes(taskDefinitionKey)"-->
|
|
|
-<!-- >驳回-->
|
|
|
-<!-- </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>-->
|
|
|
-
|
|
|
- <!-- <el-button
|
|
|
- icon="el-icon-circle-close"
|
|
|
- type="danger"
|
|
|
- size="mini"
|
|
|
- @click="handleBackList"
|
|
|
- >退回
|
|
|
- </el-button> -->
|
|
|
- <!-- <el-button
|
|
|
+ <el-button
|
|
|
icon="el-icon-circle-close"
|
|
|
type="danger"
|
|
|
size="mini"
|
|
|
- @click="handleAudit(0)"
|
|
|
- v-if="taskDefinitionKey != 'productionSupervisorApprove1'"
|
|
|
- >不通过
|
|
|
+ @click="_approveTaskWithVariables(0)"
|
|
|
+ >驳回
|
|
|
</el-button>
|
|
|
- <el-button
|
|
|
- icon="el-icon-edit-outline"
|
|
|
- type="primary"
|
|
|
- size="mini"
|
|
|
- v-if="taskDefinitionKey != 'productionSupervisorApprove1'"
|
|
|
- @click="handleUpdateAssignee"
|
|
|
- >转办
|
|
|
- </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 {cancel} from "@/api/bpm/components/financialManage/invoiceManage";
|
|
|
-import {approveTaskWithVariables, rejectTask,cancelTask} from '@/api/bpm/task';
|
|
|
+ import {
|
|
|
+ approveTaskWithVariables,
|
|
|
+ rejectTask,
|
|
|
+ cancelTask
|
|
|
+ } from '@/api/bpm/task';
|
|
|
|
|
|
-// 流程实例的详情页,可用于审批
|
|
|
-export default {
|
|
|
- name: '',
|
|
|
- components: {
|
|
|
- // Parser
|
|
|
- },
|
|
|
- props: {
|
|
|
- businessId: {
|
|
|
- default: ''
|
|
|
- },
|
|
|
- taskId: {
|
|
|
- default: ''
|
|
|
+ // 流程实例的详情页,可用于审批
|
|
|
+ export default {
|
|
|
+ name: '',
|
|
|
+ components: {
|
|
|
+ // Parser
|
|
|
},
|
|
|
- id: {
|
|
|
- default: ''
|
|
|
- },
|
|
|
- taskDefinitionKey: {
|
|
|
- default: ''
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- form: {
|
|
|
- technicianId: '',
|
|
|
- reason: '',
|
|
|
-
|
|
|
+ props: {
|
|
|
+ businessId: {
|
|
|
+ default: ''
|
|
|
},
|
|
|
- tabOptions: [
|
|
|
- {key: 'starter', permissionType: 'update', name: '发起人申请'},
|
|
|
- {key: 'deptLeaderApprove', permissionType: 'view', name: '部门主管审批'},
|
|
|
- {key: 'financeApprove', permissionType: 'update', name: '财务审批'},
|
|
|
- ],
|
|
|
- };
|
|
|
- },
|
|
|
- created() {
|
|
|
- },
|
|
|
- methods: {
|
|
|
- /** 处理转办审批人 */
|
|
|
- handleUpdateAssignee() {
|
|
|
- this.$emit('handleUpdateAssignee');
|
|
|
- },
|
|
|
- /** 退回 */
|
|
|
- handleBackList() {
|
|
|
- this.$emit('handleBackList');
|
|
|
- },
|
|
|
-
|
|
|
- async handleAudit(status) {
|
|
|
- let permissionType = this.tabOptions.find(item => item.key == this.taskDefinitionKey)?.permissionType
|
|
|
- if (permissionType === 'update') {
|
|
|
- const id = await this.getTableValue();
|
|
|
- if (typeof id !== 'string') return
|
|
|
+ taskId: {
|
|
|
+ default: ''
|
|
|
+ },
|
|
|
+ id: {
|
|
|
+ default: ''
|
|
|
+ },
|
|
|
+ taskDefinitionKey: {
|
|
|
+ default: ''
|
|
|
}
|
|
|
- await this._approveTaskWithVariables(status);
|
|
|
},
|
|
|
- async _approveTaskWithVariables(status) {
|
|
|
- let variables = {
|
|
|
- pass: !!status
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ form: {
|
|
|
+ technicianId: '',
|
|
|
+ reason: ''
|
|
|
+ },
|
|
|
+ tabOptions: [
|
|
|
+ { key: 'starter', permissionType: 'update', name: '发起人申请' },
|
|
|
+ {
|
|
|
+ key: 'deptLeaderApprove',
|
|
|
+ permissionType: 'view',
|
|
|
+ name: '部门主管审批'
|
|
|
+ },
|
|
|
+ { key: 'financeApprove', permissionType: 'update', name: '财务审批' }
|
|
|
+ ]
|
|
|
};
|
|
|
- let API = !!status ? approveTaskWithVariables : rejectTask;
|
|
|
- API({
|
|
|
- id: this.taskId,
|
|
|
- reason: this.form.reason,
|
|
|
- variables
|
|
|
- }).then((res) => {
|
|
|
- if (res.data.code != '-1') {
|
|
|
- this.$emit('handleAudit', {
|
|
|
- status,
|
|
|
- title: status === 0 ? '驳回' : ''
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
},
|
|
|
+ created() {},
|
|
|
+ methods: {
|
|
|
+ /** 处理转办审批人 */
|
|
|
+ handleUpdateAssignee() {
|
|
|
+ this.$emit('handleUpdateAssignee');
|
|
|
+ },
|
|
|
+ /** 退回 */
|
|
|
+ handleBackList() {
|
|
|
+ this.$emit('handleBackList');
|
|
|
+ },
|
|
|
|
|
|
- getTableValue() {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- this.$emit('getTableValue', async (data) => {
|
|
|
- resolve(await data);
|
|
|
+ async handleAudit(status) {
|
|
|
+ let permissionType = this.tabOptions.find(
|
|
|
+ (item) => item.key == this.taskDefinitionKey
|
|
|
+ )?.permissionType;
|
|
|
+ if (permissionType === 'update') {
|
|
|
+ const id = await this.getTableValue();
|
|
|
+ if (typeof id !== 'string') return;
|
|
|
+ }
|
|
|
+ await this._approveTaskWithVariables(status);
|
|
|
+ },
|
|
|
+ async _approveTaskWithVariables(status) {
|
|
|
+ let variables = {
|
|
|
+ pass: !!status
|
|
|
+ };
|
|
|
+ let API = !!status ? approveTaskWithVariables : rejectTask;
|
|
|
+ API({
|
|
|
+ id: this.taskId,
|
|
|
+ reason: this.form.reason,
|
|
|
+ variables
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data.code != '-1') {
|
|
|
+ this.$emit('handleAudit', {
|
|
|
+ status,
|
|
|
+ title: status === 0 ? '驳回' : ''
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
- });
|
|
|
- },
|
|
|
+ },
|
|
|
|
|
|
- //更多
|
|
|
- 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("流程作废失败");
|
|
|
+ getTableValue() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.$emit('getTableValue', async (data) => {
|
|
|
+ resolve(await data);
|
|
|
});
|
|
|
- }).catch(() => {});
|
|
|
- }
|
|
|
- },
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- }
|
|
|
-};
|
|
|
+ //更多
|
|
|
+ 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(() => {});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss"></style>
|