Commit ec28962b8db457f05d080f31132e8cf041b58692

Authored by fengtao
1 parent b8846b3c

fix:修改通知管理-重复提交问题方式问题

@@ -119,7 +119,9 @@ @@ -119,7 +119,9 @@
119 openDrawerAdd(true, { 119 openDrawerAdd(true, {
120 isUpdate: false, 120 isUpdate: false,
121 }); 121 });
122 - NotifyManagerDrawerRef.value.setFieldsValue({ content: '' }); 122 + nextTick(() => {
  123 + NotifyManagerDrawerRef.value.setFieldsValue({ content: '' });
  124 + });
123 } 125 }
124 126
125 const handleView = (record: Recordable) => { 127 const handleView = (record: Recordable) => {
@@ -10,8 +10,8 @@ @@ -10,8 +10,8 @@
10 <BasicForm @register="registerForm" /> 10 <BasicForm @register="registerForm" />
11 <template #footer> 11 <template #footer>
12 <a-button @click="handleCancel">取消</a-button> 12 <a-button @click="handleCancel">取消</a-button>
13 - <a-button @click="handleSaveDraft">保存草稿</a-button>  
14 - <a-button type="primary" @click="handleSend">发布通知</a-button> 13 + <a-button :disabled="draftDisable" @click="handleSaveDraft">保存草稿</a-button>
  14 + <a-button :disabled="sendDisable" type="primary" @click="handleSend">发布通知</a-button>
15 </template> 15 </template>
16 </BasicDrawer> 16 </BasicDrawer>
17 </div> 17 </div>
@@ -31,6 +31,8 @@ @@ -31,6 +31,8 @@
31 components: { BasicDrawer, BasicForm }, 31 components: { BasicDrawer, BasicForm },
32 emits: ['success', 'register'], 32 emits: ['success', 'register'],
33 setup(_, { emit }) { 33 setup(_, { emit }) {
  34 + const draftDisable = ref(false);
  35 + const sendDisable = ref(false);
34 const { createMessage } = useMessage(); 36 const { createMessage } = useMessage();
35 const isUpdate = ref<Boolean>(); 37 const isUpdate = ref<Boolean>();
36 const getTitle = computed(() => (!unref(isUpdate) ? '新增通知' : '编辑通知')); 38 const getTitle = computed(() => (!unref(isUpdate) ? '新增通知' : '编辑通知'));
@@ -41,9 +43,9 @@ @@ -41,9 +43,9 @@
41 showActionButtonGroup: false, 43 showActionButtonGroup: false,
42 }); 44 });
43 const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => { 45 const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
44 - setDrawerProps({ confirmLoading: false });  
45 await resetFields(); 46 await resetFields();
46 - isUpdate.value = data.isUpdate; 47 + setDrawerProps({ confirmLoading: false });
  48 + isUpdate.value = !!data.isUpdate;
47 //编辑 49 //编辑
48 if (data.isUpdate) { 50 if (data.isUpdate) {
49 noticeId.value = data.record.id; 51 noticeId.value = data.record.id;
@@ -58,13 +60,13 @@ @@ -58,13 +60,13 @@
58 }); 60 });
59 // 发布通知 61 // 发布通知
60 const handleSend = async () => { 62 const handleSend = async () => {
  63 + sendDisable.value = true;
61 const valid = await validate(); 64 const valid = await validate();
62 if (!valid) return; 65 if (!valid) return;
63 const field = getFieldsValue(); 66 const field = getFieldsValue();
64 const pointId = field.receiverType === 1 ? field.organizationId + '' : null; 67 const pointId = field.receiverType === 1 ? field.organizationId + '' : null;
65 // 新增情况 68 // 新增情况
66 try { 69 try {
67 - setDrawerProps({ confirmLoading: true });  
68 const editNotice = { 70 const editNotice = {
69 ...field, 71 ...field,
70 pointId, 72 pointId,
@@ -74,15 +76,17 @@ @@ -74,15 +76,17 @@
74 emit('success'); 76 emit('success');
75 closeDrawer(); 77 closeDrawer();
76 createMessage.success('发布成功'); 78 createMessage.success('发布成功');
  79 + setTimeout(() => {
  80 + sendDisable.value = false;
  81 + }, 300);
77 } catch { 82 } catch {
78 } finally { 83 } finally {
79 - setDrawerProps({ confirmLoading: false });  
80 } 84 }
81 }; 85 };
82 // 保存草稿 86 // 保存草稿
83 const handleSaveDraft = async () => { 87 const handleSaveDraft = async () => {
  88 + draftDisable.value = true;
84 try { 89 try {
85 - setDrawerProps({ confirmLoading: true });  
86 await validate(); 90 await validate();
87 const field = getFieldsValue(); 91 const field = getFieldsValue();
88 const pointId = field.receiverType === 1 ? field.organizationId + '' : null; 92 const pointId = field.receiverType === 1 ? field.organizationId + '' : null;
@@ -103,9 +107,11 @@ @@ -103,9 +107,11 @@
103 emit('success'); 107 emit('success');
104 closeDrawer(); 108 closeDrawer();
105 createMessage.success('保存草稿成功'); 109 createMessage.success('保存草稿成功');
  110 + setTimeout(() => {
  111 + draftDisable.value = false;
  112 + }, 300);
106 } catch { 113 } catch {
107 } finally { 114 } finally {
108 - setDrawerProps({ confirmLoading: false });  
109 } 115 }
110 }; 116 };
111 const handleCancel = () => { 117 const handleCancel = () => {
@@ -113,6 +119,8 @@ @@ -113,6 +119,8 @@
113 closeDrawer(); 119 closeDrawer();
114 }; 120 };
115 return { 121 return {
  122 + draftDisable,
  123 + sendDisable,
116 getTitle, 124 getTitle,
117 handleSend, 125 handleSend,
118 handleCancel, 126 handleCancel,