Yansen 2 年前
父节点
当前提交
63a9325f5d

+ 1
- 1
src/app.config.js 查看文件

@@ -22,7 +22,7 @@ export default defineAppConfig({
22 22
     'pages/check/loc/list/index',
23 23
     'pages/check/edit/index',
24 24
     'pages/notice/index',
25
-    'pages/notice/edit/index',
25
+    'pages/notice/detail/index',
26 26
     'pages/my/index',
27 27
     'pages/my/edit/index',
28 28
   ],

+ 17
- 6
src/pages/home/index.jsx 查看文件

@@ -3,37 +3,48 @@ import { View, Text, Image } from '@tarojs/components'
3 3
 import Page from '@/layouts/index';
4 4
 import { useModel } from '@/store';
5 5
 import MenuIcon from '@/components/MenuIcon';
6
-import { ROLE_INSPECTOR, ROLE_MANAGER, ROLE_ORG_USER } from '@/utils/user';
6
+import { ROLE_INSPECTOR, ROLE_MANAGER, ROLE_ORG_USER, ROLE_QUERY_PERSON } from '@/utils/user';
7 7
 import Head from './components/Head';
8 8
 import BannerCard from './components/BannerCard';
9 9
 import './index.less';
10 10
 
11 11
 const menus = {
12
+  // 督察员
12 13
   [ROLE_INSPECTOR]: [
13 14
     { icon: 'icon9', text: '我的上报', link: '/pages/issue/list/index' },
14
-    { icon: 'icon11', text: '消息通知', link: '' },
15
+    { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
15 16
     { icon: 'icon10', text: '模拟测评', link: '/pages/check/list/index' },
16 17
   ],
17 18
 
19
+  // 平台管理员
18 20
   [ROLE_MANAGER]: [
19 21
     { icon: 'icon1', text: '待 交 办', link: '/pages/issue/list2/index?title=待交办&bizStatus=start' },
20 22
     { icon: 'icon2', text: '已 交 办', link: '/pages/issue/list2/index?title=已交办&bizStatus=assigned' },
21
-    { icon: 'icon3', text: '已 办 结', link: '/pages/issue/list2/index?title=已办结&bizStatus=end' },
23
+    { icon: 'icon3', text: '已 办 结', link: '/pages/issue/list2/index?title=已办结&bizStatus=end' },
22 24
     { icon: 'icon4', text: '消单申请', link: '/pages/apply/list/index?title=消单申请&applyType=end' },
23 25
     { icon: 'icon5', text: '逾期警告', link: '/pages/issue/list2/index?title=逾期警告&bizStatus=expired' },
24 26
     { icon: 'icon6', text: '延期申请', link: '/pages/apply/list/index?title=延期申请&applyType=delay' },
25 27
     { icon: 'icon7', text: '统计查询', link: '' },
26 28
     { icon: 'icon9', text: '我的上报', link: '/pages/issue/list2/index?title=我的上报&mine=true' },
27
-    { icon: 'icon11', text: '消息通知', link: '' },
29
+    { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
28 30
   ],
29 31
 
32
+  // 责任单位用户
30 33
   [ROLE_ORG_USER]: [
31 34
     { icon: 'icon2', text: '处 理 中', link: '/pages/org/issue/list/index?title=处理中&bizStatus=assigned' },
32
-    { icon: 'icon3', text: '已 办 结', link: '/pages/org/issue/list/index?title=已办结&bizStatus=end' },
35
+    { icon: 'icon3', text: '已 办 结', link: '/pages/org/issue/list/index?title=已办结&bizStatus=end' },
33 36
     { icon: 'icon5', text: '已 逾 期', link: '' },
34 37
     { icon: 'icon7', text: '统计查询', link: '' },
35 38
     { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
36
-  ]
39
+  ],
40
+
41
+  // 查询人员
42
+  [ROLE_QUERY_PERSON]: [
43
+    { icon: 'icon1', text: '未 处 理', link: '/pages/issue/list2/index?title=未处理&bizStatus=start' },
44
+    { icon: 'icon2', text: '处 理 中', link: '/pages/issue/list2/index?title=处理中&bizStatus=assigned' },
45
+    { icon: 'icon3', text: '已 办 结', link: '/pages/issue/list2/index?title=已办结&bizStatus=end' },
46
+    { icon: 'icon7', text: '统计查询', link: '' },
47
+  ],
37 48
 }
38 49
 
39 50
 export default (props) => {

+ 9
- 3
src/pages/notice/components/Card/index.jsx 查看文件

@@ -2,13 +2,18 @@ import React from 'react';
2 2
 import { Cell, CellGroup } from '@antmjs/vantui';
3 3
 import { View } from '@tarojs/components';
4 4
 import Taro from '@tarojs/taro';
5
+import { getDtStr } from '@/utils/date';
5 6
 import style from './style.module.less';
6 7
 
7 8
 export default (props) => {
8 9
 
10
+  const { dataset } = props;
11
+
12
+  const dateStr = React.useMemo(() => dataset?.createDate ? getDtStr(dataset.createDate) : '-', [dataset]);
13
+
9 14
   const onClick = () => {
10 15
     Taro.navigateTo({
11
-      url: `/pages/notice/edit/index`
16
+      url: `/pages/notice/detail/index?id=${dataset.noticeId}`
12 17
     })
13 18
   }
14 19
 
@@ -16,14 +21,15 @@ export default (props) => {
16 21
     <View className={style['notice-card-wrapper']}>
17 22
       <CellGroup>
18 23
         <Cell
19
-          title="关于2022年模拟测评报告"
24
+          title={dataset?.title}
20 25
           isLink size="large"
21 26
           style={{ color: 'var(--main-bg-color)' }}
22 27
           onClick={() => onClick()}
23 28
         />
24 29
         <Cell
25 30
           renderTitle={(<>
26
-            <View className={style['notice-card-title']}>日期: </View><View className={style['notice-card-title2']}>2022-12-06 12:00</View>
31
+            <View className={style['notice-card-title']}>日期: </View>
32
+            <View className={style['notice-card-title2']}>{dateStr}</View>
27 33
           </>
28 34
           )}
29 35
         />

+ 0
- 20
src/pages/notice/components/Details/index.jsx 查看文件

@@ -1,20 +0,0 @@
1
-import React from 'react';
2
-import { View } from '@tarojs/components';
3
-import style from './style.module.less';
4
-
5
-export default (props) => {
6
-  return (
7
-    <View className={style['notice-wrapper']} style={style}>
8
-      <View className={style['notice-hd']}>
9
-        【关于2022年模拟测评公告】
10
-        <View className={style['notice-hd2']}>2022-12-06 12:00</View>
11
-      </View>
12
-      <View className={style['notice-bd']}>
13
-
14
-      </View>
15
-      <View className={style['notice-ft']}>
16
-
17
-      </View>
18
-    </View>
19
-  )
20
-}

src/pages/notice/edit/index.config.js → src/pages/notice/detail/index.config.js 查看文件


+ 48
- 0
src/pages/notice/detail/index.jsx 查看文件

@@ -0,0 +1,48 @@
1
+import React from 'react';
2
+import Taro from '@tarojs/taro';
3
+import { View } from '@tarojs/components';
4
+import Page from '@/layouts/index';
5
+import { getTaNoticeById } from '@/services/tanotice';
6
+import { getDtStr } from '@/utils/date';
7
+import style from './style.module.less';
8
+
9
+export default (props) => {
10
+
11
+  const [loading, setLoading] = React.useState(false);
12
+  const [detail, setDetail] = React.useState();
13
+  const dateStr = React.useMemo(() => detail?.createDate ? getDtStr(detail.createDate) : '-', [detail]);
14
+
15
+  const router = Taro.useRouter();
16
+  const { id } = router.params;
17
+
18
+  React.useEffect(() => {
19
+    if (id) {
20
+      setLoading(true);
21
+      getTaNoticeById(id).then((res) => {
22
+        setDetail(res);
23
+        setLoading(false);
24
+      }).catch(er => {
25
+        console.error(er);
26
+        setLoading(false);
27
+      });
28
+    }
29
+  }, [id]);
30
+
31
+  
32
+  return (
33
+    <Page loading={loading}>
34
+      <View className={style['notice-wrapper']} style={style}>
35
+        <View className={style['notice-hd']}>
36
+          {detail?.title}
37
+          <View className={style['notice-hd2']}>{dateStr}</View>
38
+        </View>
39
+        <View className={style['notice-bd']}>
40
+
41
+        </View>
42
+        <View className={style['notice-ft']}>
43
+
44
+        </View>
45
+      </View>
46
+    </Page>
47
+  )
48
+}

src/pages/notice/components/Details/style.module.less → src/pages/notice/detail/style.module.less 查看文件

@@ -1,14 +1,15 @@
1 1
 .notice-wrapper {
2 2
   height: 100%;
3
-  display: flex;
4
-  flex-direction: column;
3
+  padding: var(--main-space);
5 4
 
6 5
   .notice-hd {
7
-    flex: none;
8
-    margin: var(--main-space);
9
-    font-weight: bold;
6
+    font-size: 36px;
7
+    line-height: 2em;
8
+    text-align: center;
9
+
10 10
     .notice-hd2 {
11
-      font-weight: 400;
11
+      text-align: right;
12
+      font-size: 24px;
12 13
       margin-left: var(--main-space);
13 14
     }
14 15
   }

+ 0
- 11
src/pages/notice/edit/index.jsx 查看文件

@@ -1,11 +0,0 @@
1
-import React from 'react';
2
-import Page from '@/layouts/index';
3
-import Details from '../components/Details/index';
4
-
5
-export default (props) => {
6
-  return (
7
-    <Page>
8
-      <Details />
9
-    </Page>
10
-  )
11
-}

+ 11
- 1
src/pages/notice/index.jsx 查看文件

@@ -1,12 +1,22 @@
1 1
 import React from 'react';
2 2
 import Page from '@/layouts/index';
3
+import PowerList from '@/components/PowerList';
4
+import { getTaNotice } from '@/services/tanotice';
3 5
 import Card from './components/Card/index';
4 6
 
5 7
 export default (props) => {
6 8
 
9
+  const [loading, setLoading] = React.useState(false);
10
+
7 11
   return (
8 12
     <Page tabBar="notice">
9
-      <Card />
13
+      <PowerList
14
+        request={getTaNotice}
15
+        params={{status: 1}}
16
+        renderItem={(item) => (
17
+          <Card key={item.noticeId} dataset={item} />
18
+        )}
19
+      />
10 20
     </Page>
11 21
   )
12 22
 }

+ 26
- 0
src/services/tanotice.js 查看文件

@@ -0,0 +1,26 @@
1
+import request from '@/utils/request';
2
+
3
+/*
4
+ * 分页查询
5
+ */
6
+export const getTaNotice = (params) => request('/api/taNotice', { params });
7
+
8
+/*
9
+ * 新增数据
10
+ */
11
+export const postTaNotice = (data) => request('/api/taNotice', { data, method: 'post' });
12
+
13
+/*
14
+ * 通过ID查询单条数据
15
+ */
16
+export const getTaNoticeById = (id) => request(`/api/taNotice/${id}`);
17
+
18
+/*
19
+ * 更新数据
20
+ */
21
+export const putTaNotice = (id, data) => request(`/api/taNotice/${id}`, { data, method: 'put' });
22
+
23
+/*
24
+ * 通过主键删除数据
25
+ */
26
+export const deleteTaNotice = (id) => request(`/api/taNotice/${id}`, { method: 'delete' });