feat: 初步修改审批页面的样式,增加输入审批意见的对话框,修复打开草稿时tab页标题不对的bug

This commit is contained in:
gaoyunqi
2024-02-21 15:52:18 +08:00
parent 4e4ef58105
commit 5ce61fa5e5
6 changed files with 335 additions and 21 deletions

View File

@ -0,0 +1,67 @@
<template>
<a-modal :title="dialogTitle" :visible="isOpen" :width="500" centered class="geg" @cancel="onClickCancel" @ok="onClickOK">
<div class="dialog-wrap">
<a-form :label-col="{ span: 5 }" :model="formState" autocomplete="off">
<a-form-item label="下一节点" name="nextNodeName">
<span>{{ formState.nextNodeName }}</span>
</a-form-item>
<a-form-item label="审批意见" name="opinion">
<a-textarea v-model:value="formState.opinion" :maxlength="200" :rows="3" placeholder="请输入审批意见不超过200字" />
</a-form-item>
</a-form>
</div>
</a-modal>
</template>
<script setup>
import { reactive, ref } from 'vue';
const dialogTitle = ref('审批');
const isOpen = ref(false);
let _action = 'approve';
const titleMapping = {
approve: '同意',
deny: '拒绝',
eject: '退回',
cancel: '终止',
transfer: '转办'
};
let _callback = null;
const formState = reactive({
nextNodeName: '',
opinion: '',
opinionList: ['同意。', '请领导审批。']
});
function toggleDialog({ action, callback } = {}) {
isOpen.value = true;
_action = action;
_callback = callback;
formState.opinion = '';
dialogTitle.value = `审批 - ${titleMapping[action]}`;
}
function onClickOK() {
if (_callback && typeof _callback === 'function') {
_callback({
opinion: formState.opinion
});
}
isOpen.value = false;
}
function onClickCancel() {
isOpen.value = false;
}
defineExpose({
toggleDialog
});
</script>
<style lang="less" scoped>
.dialog-wrap {
padding-right: 15px;
}
</style>