perf: 流程按钮显示

saber
ssc 3 years ago
parent 8417c4dac7
commit 88e5879499
  1. 35
      src/views/plugin/workflow/process/components/button.vue

@ -5,58 +5,58 @@
:style="{width: isCollapse? 'calc(100% - 80px)': 'calc(100% - 260px)' }"
id="avue-view">
<template v-if="process.status == 'todo'">
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_pass')"
<el-button v-if="getButton('wf_pass')"
type="success"
size="medium"
v-loading="loading"
@click="$emit('examine', true)">
<span v-if="['recall', 'reject'].includes(process.processIsFinished)">重新提交</span>
<span v-else>通过</span>
<span v-else>{{getButton('wf_pass').name}}</span>
</el-button>
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_reject')"
<el-button v-if="getButton('wf_reject')"
type="danger"
size="medium"
v-loading="loading"
@click="$emit('examine', false)">
<span v-if="backNodes.length > 1">驳回</span>
<span v-if="backNodes.length > 1">{{getButton('wf_reject').name}}</span>
<span v-else>取消申请</span>
</el-button>
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_transfer')"
<el-button v-if="getButton('wf_transfer')"
type="primary"
size="medium"
v-loading="loading"
@click="$emit('user-select', {type: 'transfer', checkType: 'radio'})">转办</el-button>
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_delegate')"
@click="$emit('user-select', {type: 'transfer', checkType: 'radio'})">{{getButton('wf_transfer').name}}</el-button>
<el-button v-if="getButton('wf_delegate')"
type="warning"
size="medium"
v-loading="loading"
@click="$emit('user-select', {type: 'delegate', checkType: 'radio'})">委托</el-button>
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_rollback')"
@click="$emit('user-select', {type: 'delegate', checkType: 'radio'})">{{getButton('wf_delegate').name}}</el-button>
<el-button v-if="getButton('wf_rollback')"
type="success"
size="medium"
v-loading="loading"
@click="handleRollback">指定回退</el-button>
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_terminate')"
@click="handleRollback">{{getButton('wf_rollback').name}}</el-button>
<el-button v-if="getButton('wf_terminate')"
type="danger"
size="medium"
v-loading="loading"
@click="$emit('terminate')">终止</el-button>
<el-button v-if="process.isMultiInstance && buttonList.find(b => b.buttonKey == 'wf_add_instance')"
@click="$emit('terminate')">{{getButton('wf_terminate').name}}</el-button>
<el-button v-if="process.isMultiInstance && getButton('wf_add_instance')"
type="primary"
size="medium"
v-loading="loading"
@click="$emit('user-select', {type: 'addInstance', checkType: 'checkbox'})">加签</el-button>
@click="$emit('user-select', {type: 'addInstance', checkType: 'checkbox'})">{{getButton('wf_add_instance').name}}</el-button>
</template>
<el-button v-if="permission.wf_process_withdraw && process.isOwner && process.isReturnable && !['recall', 'reject'].includes(process.processIsFinished)"
type="warning"
size="medium"
v-loading="loading"
@click="$emit('withdraw')">撤销</el-button>
<el-button v-if="buttonList.find(b => b.buttonKey == 'wf_print')"
<el-button v-if="getButton('wf_print')"
type="info"
size="medium"
v-loading="loading"
@click="$emit('print')">打印</el-button>
@click="$emit('print')">{{getButton('wf_print').name}}</el-button>
</el-row>
<el-dialog :visible.sync="nodeVisible"
append-to-body
@ -139,6 +139,9 @@ export default {
const { nodeId } = this.nodeForm
this.$emit('rollback', nodeId)
},
getButton(key) {
return this.buttonList.find(b => b.buttonKey == key)
}
}
}
</script>

Loading…
Cancel
Save