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

Loading…
Cancel
Save