Browse Source

fix: 发送通知弹窗无法触发回调

lanjianrong 4 years ago
parent
commit
9bf21ba910

+ 2 - 2
src/pages/Hr/Notification/components/AddMessage.tsx

@@ -3,6 +3,7 @@ import { Button, Form, message } from 'antd'
 import { ModalForm, ProFormDependency, ProFormRadio, ProFormSelect, ProFormText } from '@ant-design/pro-form'
 import RighEditor from './RighEditor'
 import { Plus } from '@icon-park/react'
+import { isDevMode } from '@/utils/env'
 
 export const msgTypeEnum = {
   NotificationOne: 'notification',
@@ -13,8 +14,7 @@ export const mediaType = {
   HolidayNotice: 2
 }
 
-const AddMessage = props => {
-  const { onConfirm } = props
+const AddMessage = ({ onConfirm }) => {
   const formRef = useRef(null)
   const handleFormValues = values => {
     const newValues = { ...values }

+ 7 - 10
src/pages/Hr/Notification/index.tsx

@@ -1,10 +1,10 @@
 import { useState, useEffect } from 'react'
-import { List, Avatar, Tag, Skeleton, Divider, message, Typography } from 'antd'
+import { List, Avatar, Tag, Skeleton, Divider, Typography } from 'antd'
 import InfiniteScroll from 'react-infinite-scroll-component'
 import { queryMessageList, sendMessage } from '@/services/staff'
 import AddMessage from './components/AddMessage'
 import consts from '@/consts'
-import { useRequest, useIntl, useAccess } from '@umijs/max'
+import { useIntl, useAccess } from '@umijs/max'
 import ws, { CmdType } from '@/utils/ws'
 import { useModal } from '@/components/ModalStore'
 import MarkDown from 'react-markdown'
@@ -48,19 +48,16 @@ const Notification = () => {
     initData({ current: state.current + 1 })
   }
 
-  const { run: trySendMessage } = useRequest(sendMessage, {
-    manual: true,
-    onSuccess: result => {
+  const trySendMessage = async params => {
+    const { code = -1, data } = await sendMessage(params)
+    if (code === consts.RET_CODE.SUCCESS) {
       initData({ current: state.current })
       ws.sendMessage({
         cmd: CmdType.NoticeOrMessage,
-        ...result
+        ...data
       })
-    },
-    onError: e => {
-      message.error(e.message)
     }
-  })
+  }
 
   const hasPerm = useAccess()?.validatePermByType('notification_add')