From 0aef89f077d19eee94fc1d232af2999a37870952 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期四, 27 二月 2025 17:04:37 +0800 Subject: [PATCH] 调试接口 --- management/src/pages/message-notification/index.jsx | 84 +++++++++++++++++++++++++++-------------- 1 files changed, 55 insertions(+), 29 deletions(-) diff --git a/management/src/pages/message-notification/index.jsx b/management/src/pages/message-notification/index.jsx index 77e4ad4..8918e98 100644 --- a/management/src/pages/message-notification/index.jsx +++ b/management/src/pages/message-notification/index.jsx @@ -1,13 +1,14 @@ import { PageContainer, ProTable } from '@ant-design/pro-components'; import { buildProTableDataSource, sendRequest, showDelConfirm } from '@/utils/antdUtils'; -import { Button, message, Space, Select } from 'antd'; -import { useRef, useState } from 'react'; +import { Button, message, Space, Select, Cascader } from 'antd'; +import { useRef, useState, useEffect } from 'react'; import { Access, history, useAccess } from 'umi'; -import { getList, setStatus } from './service' +import { getList, setStatus, getUnitList } from './service' const Banner = () => { const actionRef = useRef(); const access = useAccess(); + const [items, setItems] = useState([]); const columns = [ { @@ -24,18 +25,17 @@ }, { title: '所在单位', - dataIndex: 'department', - renderFormItem: (_, { type, defaultRender, ...rest }, form) => { + dataIndex: 'departmentId', + renderFormItem: () => { return ( - <Select - key="searchSelect" - allowClear + <Cascader + options={items} + fieldNames={{ value: 'key', label: 'name' }} placeholder="请选择" - filterOption={false} - options={[{ label: '市级', value: '1' }, { label: '区县', value: '2' }, { label: '街道', value: '3' }, { label: '社区', value: '4' }, { label: '党员', value: '5' }]} - > - </Select > - ) + displayRender={(label) => label[label.length - 1]} + changeOnSelect={true} + /> + ); }, render: (_, record) => { return record.department @@ -90,26 +90,50 @@ render: (text, record) => { return ( <Space> - <Access accessible={access['/message_notification/mark_read']}> - <Button - type="link" - onClick={() => { - showDelConfirm(async () => { - let status = await sendRequest(setStatus, record.id) - if (status) { - actionRef.current.reload(); - } - }, '确认将所选信息标记为已读吗?'); - }} - > - 标记已读 - </Button> - </Access> + {record.readStatus == 0 && ( + <Access accessible={access['/message_notification/mark_read']}> + <Button + type="link" + onClick={() => { + showDelConfirm(async () => { + let status = await sendRequest(setStatus, record.id) + if (status) { + actionRef.current.reload(); + } + }, '确认将所选信息标记为已读吗?', '确定', '取消', '操作提示'); + }} + > + 标记已读 + </Button> + </Access> + )} + </Space > ); }, }, ] + useEffect(() => { + fetchUnit(); + }, []); + + const fetchUnit = () => { + getUnitList().then((res) => { + if (res.code == 200 && res.data) { + const traverseItems = (items) => { + return items.map((item) => { + item.key = item.id; + item.title = '1'; + if (item.child && item.child.length > 0) { + item.children = traverseItems(item.child); + } + return item; + }); + }; + setItems(traverseItems(res.data)); + } + }); + }; return <div> <PageContainer title='消息通知'> @@ -124,7 +148,9 @@ }} search={{ labelWidth: 140 }} request={(params) => { - params.bannerType = Number(params.bannerType) + if (params.departmentId) { + params.departmentId = params.departmentId[params.departmentId.length - 1]; + } return buildProTableDataSource(getList, params) }} toolBarRender={false} -- Gitblit v1.7.1