From 0c85217c62eb0453b24997d4588b38e72ab0532b Mon Sep 17 00:00:00 2001 From: wuyize Date: Sat, 7 Jan 2023 12:45:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AF=B9=E6=8E=A5=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/Notice.ts | 19 +++++------ src/pages/MessageList.tsx | 68 +++++++++++++++++++++++++++++++++++---- 2 files changed, 71 insertions(+), 16 deletions(-) diff --git a/src/models/Notice.ts b/src/models/Notice.ts index 8c0481c..1acb1df 100644 --- a/src/models/Notice.ts +++ b/src/models/Notice.ts @@ -30,17 +30,18 @@ export interface Notice { export interface NoticeData { approvalOpinion?: string; + /* + const val SUCCESS = 0. toShort() + const val WAITING_ FOR_ DEPARTMENT _MANAGER_ APPROVAL = 1. toShort() + const val WAITING_ FOR_ FINANCIAL_ APPROVAL = 2. toShort() + const val WAITING_ FOR_ FINANCIAL_ MANAGER_ APPROVAL = 3. toShort() + const vaL WAITING_ FOR_ GENERAL_ MANAGER_ APPROVAL = 4. toShort( ) + const val REJECTED = 5. toShort() + const val TERMINATED = 6. toShort() + */ approvalResult?: number; approvalStaff?: Staff; - /* - const val SUCCESS = 0. toShort() - const val WAITING_ FOR_ DEPARTMENT _MANAGER_ APPROVAL = 1. toShort() - const val WAITING_ FOR_ FINANCIAL_ APPROVAL = 2. toShort() - const val WAITING_ FOR_ FINANCIAL_ MANAGER_ APPROVAL = 3. toShort() - const vaL WAITING_ FOR_ GENERAL_ MANAGER_ APPROVAL = 4. toShort( ) - const val REJECTED = 5. toShort() - const val TERMINATED = 6. toShort() - */ + noticeType: number; reimbursement?: Reimbursement; invoice?: Invoice; diff --git a/src/pages/MessageList.tsx b/src/pages/MessageList.tsx index 90b4773..19fee7d 100644 --- a/src/pages/MessageList.tsx +++ b/src/pages/MessageList.tsx @@ -1,11 +1,12 @@ import {Button, Card, List, Popover, Space, Typography, Divider, Badge, Dropdown, MenuProps} from "antd"; import {BellOutlined, CloseOutlined} from "@ant-design/icons"; import React, {useEffect, useState} from "react"; -import {Notice} from "../models/Notice"; +import {Notice, NoticeResponse} from "../models/Notice"; import dayjs from "dayjs"; import 'dayjs/locale/zh-cn' import axiosInstance from "../utils/axiosInstance"; -import {setToken} from "../models/store"; +import {setStaff, setToken} from "../models/store"; +import {Staff} from "../models/Staff"; const {Text, Title, Paragraph} = Typography const relativeTime = require('dayjs/plugin/relativeTime') @@ -31,9 +32,62 @@ function MessageList() { } } + const getApprovalStep = (approvalResult?: number) => { + switch (approvalResult) { + case 1: + return '部门主管' + break + case 2: + return '财务' + break + case 3: + return '财务主管' + break + case 4: + return '总经理' + break + } + return '' + } + + const getContent = (notice: Notice) => { + switch (notice.data.noticeType) { + case 0: + if (notice.data.approvalResult === 5) + return '报销单审批未通过' + else + return { + notice.data.reimbursement?.reimbursementId + '号报销单(' + notice.data.reimbursement?.reimbursementDepartureName + + (notice.data.reimbursement?.roundTrip ? " ⇌ " : " → ") + notice.data.reimbursement?.reimbursementDestinationName+')' + + getApprovalStep(notice.data.approvalResult)+'『'+notice.data.approvalStaff?.staffName+'』审批通过' + }
{'审批意见:'+notice.data.approvalOpinion}
+ + break + case 1: + return '发票被打回' + break + } + } + + const onMessageListOpen = () => { + axiosInstance({ + url: 'common/notice', + method: 'get', + params: { + pageNum: 0, + pageSize: 10 + } + }).then(response => { + console.log(response.data) + const data: NoticeResponse = response.data + setList(data.records) + }).catch(function (error) { + console.log(error) + }) + } useEffect(() => { - setList([ + /*setList([ { "noticeTargetId": "50", "noticeTime": "1981-10-04 06:37:59", @@ -100,7 +154,7 @@ function MessageList() { }, "noticeId": "40" } - ]) + ])*/ }, []); @@ -146,11 +200,11 @@ function MessageList() { { // @ts-ignore - dayjs().fromNow() + dayjs(item.noticeTime).fromNow() } - {'Ant Design, a design language for background applications, is refined by Ant UED Team'} + {getContent(item)}