From f95f6e8390c355bd601849de26b338bb64c97b90 Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期五, 07 六月 2024 21:38:17 +0800 Subject: [PATCH] update 优化审批按钮判断 --- src/views/workflow/leave/leaveEdit.vue | 71 ++++++++++++----------------------- 1 files changed, 24 insertions(+), 47 deletions(-) diff --git a/src/views/workflow/leave/leaveEdit.vue b/src/views/workflow/leave/leaveEdit.vue index a57614a..a4ed946 100644 --- a/src/views/workflow/leave/leaveEdit.vue +++ b/src/views/workflow/leave/leaveEdit.vue @@ -3,43 +3,10 @@ <el-card shadow="never"> <div style="display: flex; justify-content: space-between"> <div> - <el-button - v-if=" - routeParams.type === 'add' || - (routeParams.type === 'update' && - form.processInstanceVo && - form.processInstanceVo.businessStatus && - (form.processInstanceVo.businessStatus === 'draft' || - form.processInstanceVo.businessStatus === 'cancel' || - form.processInstanceVo.businessStatus === 'back')) - " - :loading="buttonLoading" - type="info" - @click="submitForm('draft')" - >鏆傚瓨</el-button - > - <el-button - v-if=" - routeParams.type === 'add' || - (routeParams.type === 'update' && - form.processInstanceVo && - (form.processInstanceVo.businessStatus === 'draft' || - form.processInstanceVo.businessStatus === 'cancel' || - form.processInstanceVo.businessStatus === 'back')) - " - :loading="buttonLoading" - type="primary" - @click="submitForm('submit')" - >鎻� 浜�</el-button - > - <el-button - v-if="routeParams.type === 'approval' && form.processInstanceVo && form.processInstanceVo.businessStatus === 'waiting'" - :loading="buttonLoading" - type="primary" - @click="approvalVerifyOpen" - >瀹℃壒</el-button - > - <el-button v-if="processInstanceId" type="primary" @click="handleApprovalRecord">娴佺▼杩涘害</el-button> + <el-button v-if="submitButtonShow" :loading="buttonLoading" type="info" @click="submitForm('draft')">鏆傚瓨</el-button> + <el-button v-if="submitButtonShow" :loading="buttonLoading" type="primary" @click="submitForm('submit')">鎻� 浜�</el-button> + <el-button v-if="approvalButtonShow" :loading="buttonLoading" type="primary" @click="approvalVerifyOpen">瀹℃壒</el-button> + <el-button v-if="form && form.id && form.status !== 'draft'" type="primary" @click="handleApprovalRecord">娴佺▼杩涘害</el-button> </div> <div> <el-button style="float: right" @click="goBack()">杩斿洖</el-button> @@ -91,8 +58,6 @@ const buttonLoading = ref(false); const loading = ref(true); const leaveTime = ref<Array<string>>([]); -//娴佺▼瀹炰緥id -const processInstanceId = ref(''); //璺敱鍙傛暟 const routeParams = ref<Record<string, any>>({}); const options = [ @@ -134,7 +99,7 @@ endDate: undefined, leaveDays: undefined, remark: undefined, - processInstanceVo: {} + status: undefined }; const data = reactive<PageData<LeaveForm, LeaveQuery>>({ form: { ...initFormData }, @@ -165,7 +130,7 @@ const startDate = new Date(leaveTime.value[0]).getTime(); const endDate = new Date(leaveTime.value[1]).getTime(); const diffInMilliseconds = endDate - startDate; - form.value.leaveDays = Math.floor(diffInMilliseconds / (1000 * 60 * 60 * 24)); + form.value.leaveDays = Math.floor(diffInMilliseconds / (1000 * 60 * 60 * 24)) + 1; }; /** 鑾峰彇璇︽儏 */ const getInfo = () => { @@ -177,9 +142,6 @@ leaveTime.value = []; leaveTime.value.push(form.value.startDate); leaveTime.value.push(form.value.endDate); - if (form.value.processInstanceVo) { - processInstanceId.value = form.value.processInstanceVo.id; - } loading.value = false; buttonLoading.value = false; }); @@ -228,8 +190,8 @@ taskVariables.value = { entity: data, leaveDays: data.leaveDays, - userList: [1, 2], - userList2: [1, 2] + userList: [1, 3], + userList2: [1, 3] }; submitFormData.value.variables = taskVariables.value; const resp = await startWorkFlow(submitFormData.value); @@ -243,7 +205,7 @@ }; //瀹℃壒璁板綍 const handleApprovalRecord = () => { - approvalRecordRef.value.init(processInstanceId.value); + approvalRecordRef.value.init(form.value.id); }; //鎻愪氦鍥炶皟 const submitCallback = async () => { @@ -260,6 +222,21 @@ const approvalVerifyOpen = async () => { submitVerifyRef.value.openDialog(routeParams.value.taskId); }; +//鏍¢獙鎻愪氦鎸夐挳鏄惁鏄剧ず +const submitButtonShow = computed(() => { + return ( + routeParams.value.type === 'add' || + (routeParams.value.type === 'update' && + form.value.status && + (form.value.status === 'draft' || form.value.status === 'cancel' || form.value.status === 'back')) + ); +}); + +//鏍¢獙瀹℃壒鎸夐挳鏄惁鏄剧ず +const approvalButtonShow = computed(() => { + return routeParams.value.type === 'approval' && form.value.status && form.value.status === 'waiting'; +}); + onMounted(() => { nextTick(async () => { routeParams.value = proxy.$route.query; -- Gitblit v1.9.3