refactor(dms): 优化故障工单主管确认流程

- 使用 Element Plus 的 MessageBox 组件替换自带的 confirm 对话框
- 添加"退回"和"通过"两个选项供用户选择
- 优化用户交互逻辑,区分取消和关闭对话框的操作
- 调整相关代码格式和顺序,提高可读性
master
zangchenhao 3 weeks ago
parent f45939995c
commit 0090a925dd

@ -279,6 +279,7 @@
// //
import { ref, reactive, computed, onMounted, getCurrentInstance, toRefs, watch } from 'vue'; import { ref, reactive, computed, onMounted, getCurrentInstance, toRefs, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router'; import { useRoute, useRouter } from 'vue-router';
import { ElMessageBox } from 'element-plus';
import { getDmsBillsFaultInstance, approveWorkOrder, confirmRepairResult } from '@/api/dms/dmsBillsFaultInstance'; import { getDmsBillsFaultInstance, approveWorkOrder, confirmRepairResult } from '@/api/dms/dmsBillsFaultInstance';
import { addDmsFaultInstanceActivity } from '@/api/dms/dmsFaultInstanceActivity'; import { addDmsFaultInstanceActivity } from '@/api/dms/dmsFaultInstanceActivity';
import { pageByTaskWait } from '@/api/workflow/task'; import { pageByTaskWait } from '@/api/workflow/task';
@ -662,12 +663,21 @@ const submitCallback = async (approvalResult?: any) => {
// //
const handleConfirm = async () => { const handleConfirm = async () => {
try { try {
// // 使
await proxy?.$modal.confirm('是否确认维修结果通过?\n通过维修通过工单完成\n退回维修不通过返回维修环节重新维修'); const result = await ElMessageBox.confirm(
'请选择维修结果确认方式:\n• 通过:维修通过,工单完成\n• 退回:维修不通过,返回维修环节重新维修',
'主管确认',
{
confirmButtonText: '通过',
cancelButtonText: '退回',
type: 'warning',
distinguishCancelAndClose: true
}
);
buttonLoading.value = true; buttonLoading.value = true;
// //
form.repairConfirm = '1'; // 1 form.repairConfirm = '1'; // 1
// //
@ -675,25 +685,27 @@ const handleConfirm = async () => {
proxy?.$modal.msgSuccess('确认通过完成'); proxy?.$modal.msgSuccess('确认通过完成');
goBack(); goBack();
} catch (error: any) { } catch (action: any) {
if (error === 'cancel' || error === 'close') { if (action === 'cancel') {
// // 退
try { try {
buttonLoading.value = true; buttonLoading.value = true;
form.repairConfirm = '2'; // 2 form.repairConfirm = '2'; // 2
await confirmRepairResult(form.repairInstanceId, form.repairConfirm); await confirmRepairResult(form.repairInstanceId, form.repairConfirm);
proxy?.$modal.msgSuccess('确认不通过完成'); proxy?.$modal.msgSuccess('退回维修环节完成');
goBack(); goBack();
} catch (confirmError: any) { } catch (confirmError: any) {
console.error('确认不通过失败:', confirmError); console.error('退回操作失败:', confirmError);
proxy?.$modal.msgError('确认不通过失败:' + (confirmError.message || '未知错误')); proxy?.$modal.msgError('退回操作失败:' + (confirmError.message || '未知错误'));
} finally { } finally {
buttonLoading.value = false; buttonLoading.value = false;
} }
} else if (action === 'close') {
// ESC
console.log('用户取消了确认操作');
} else { } else {
console.error('确认失败:', error); console.error('确认失败:', action);
proxy?.$modal.msgError('确认失败:' + (error.message || '未知错误')); proxy?.$modal.msgError('确认失败:' + (action.message || '未知错误'));
buttonLoading.value = false;
} }
} finally { } finally {
if (form.repairConfirm === '1') { if (form.repairConfirm === '1') {

Loading…
Cancel
Save