Yansen 2 years ago
parent
commit
35a783a099

+ 4
- 20
src/pages/apply/apply/index.jsx View File

8
 import { postTaIssueApply } from '@/services/taissueapply';
8
 import { postTaIssueApply } from '@/services/taissueapply';
9
 import { warn } from '@/utils/message';
9
 import { warn } from '@/utils/message';
10
 import Issue from '../components/Issue';
10
 import Issue from '../components/Issue';
11
+import useTitle from '../useTitle';
11
 
12
 
12
 const today = new Date();
13
 const today = new Date();
13
 export default (props) => {
14
 export default (props) => {
15
   const router = Taro.useRouter();
16
   const router = Taro.useRouter();
16
   const { issueId, applyType } = router.params;
17
   const { issueId, applyType } = router.params;
17
 
18
 
18
-  const [loading, setLoading] = React.useState(false);
19
-
20
-  React.useMemo(() => {
21
-    switch (applyType) {
22
-      case 'delay':
23
-        Taro.setNavigationBarTitle('申请延期');
24
-        break;
25
-      case 'reject':
26
-        Taro.setNavigationBarTitle('申请驳回');
27
-        break;
28
-      case 'verify':
29
-        Taro.setNavigationBarTitle('申请审核');
30
-        break;
31
-      case 'end':
32
-        Taro.setNavigationBarTitle('申请办结');
33
-        break;
34
-    }
35
-  }, [applyType]);
36
-
37
-  
19
+  const [loading, setLoading] = React.useState(false); 
38
   const [submitting, setSubmitting] = React.useState(false);
20
   const [submitting, setSubmitting] = React.useState(false);
39
   const [formData, setFormData] = React.useState({});
21
   const [formData, setFormData] = React.useState({});
40
   const [showDatePicker, setShowDatePicker] = React.useState(false);
22
   const [showDatePicker, setShowDatePicker] = React.useState(false);
23
+  
24
+  useTitle(applyType);
41
 
25
 
42
   const setFieldValue = (key, value) => {
26
   const setFieldValue = (key, value) => {
43
     setFormData({
27
     setFormData({

+ 1
- 1
src/pages/apply/components/Issue.jsx View File

34
       <CellGroup>
34
       <CellGroup>
35
         <Cell title="上报时间" value={getDtStr(issue?.createDate)} />
35
         <Cell title="上报时间" value={getDtStr(issue?.createDate)} />
36
         <Cell title="办结时间" value={issue?.expireDate} />
36
         <Cell title="办结时间" value={issue?.expireDate} />
37
-        <Cell title="交办次数" value={issue?.processNum || 1} />
37
+        <Cell title="交办次数" value={issue?.processNum || 0} />
38
       </CellGroup>
38
       </CellGroup>
39
       <CellGroup style={{marginTop: '20px'}}>
39
       <CellGroup style={{marginTop: '20px'}}>
40
         <Cell title="抽检位置" value={issue?.locName} />
40
         <Cell title="抽检位置" value={issue?.locName} />

+ 3
- 19
src/pages/apply/detail/index.jsx View File

6
 import { getTaIssueApplyById } from '@/services/taissueapply';
6
 import { getTaIssueApplyById } from '@/services/taissueapply';
7
 import { getDtStr } from '@/utils/date';
7
 import { getDtStr } from '@/utils/date';
8
 import Issue from '../components/Issue';
8
 import Issue from '../components/Issue';
9
+import useTitle from '../useTitle';
9
 
10
 
10
-// const today = new Date();
11
 export default (props) => {
11
 export default (props) => {
12
-
13
   const router = Taro.useRouter();
12
   const router = Taro.useRouter();
14
   const { id, applyType, issueId } = router.params;
13
   const { id, applyType, issueId } = router.params;
15
 
14
 
16
   const [loading, setLoading] = React.useState(false);
15
   const [loading, setLoading] = React.useState(false);
17
   const [applyInfo, setApplyInfo] = React.useState({});
16
   const [applyInfo, setApplyInfo] = React.useState({});
18
-
19
-  React.useMemo(() => {
20
-    switch (applyType) {
21
-      case 'delay':
22
-        Taro.setNavigationBarTitle('延期申请');
23
-        break;
24
-      case 'reject':
25
-        Taro.setNavigationBarTitle('驳回申请');
26
-        break;
27
-      case 'verify':
28
-        Taro.setNavigationBarTitle('审核申请');
29
-        break;
30
-      case 'end':
31
-        Taro.setNavigationBarTitle('办结申请');
32
-        break;
33
-    }
34
-  }, [applyType]);
17
+  
18
+  useTitle(applyType);
35
   
19
   
36
   React.useEffect(() => {
20
   React.useEffect(() => {
37
     if (id) {
21
     if (id) {

+ 22
- 0
src/pages/apply/useTitle.js View File

1
+import React from "react";
2
+import Taro from '@tarojs/taro';
3
+import { PROCESS_APPLY_DELAY, PROCESS_APPLY_END, PROCESS_APPLY_REJECT, PROCESS_APPLY_VERIFY } from '@/utils/biz';
4
+
5
+export default function useTitle(applyType) {
6
+  React.useMemo(() => {
7
+    switch (applyType) {
8
+      case PROCESS_APPLY_DELAY:
9
+        Taro.setNavigationBarTitle('申请延期');
10
+        break;
11
+      case PROCESS_APPLY_REJECT:
12
+        Taro.setNavigationBarTitle('申请驳回');
13
+        break;
14
+      case PROCESS_APPLY_VERIFY:
15
+        Taro.setNavigationBarTitle('申请审核');
16
+        break;
17
+      case PROCESS_APPLY_END:
18
+        Taro.setNavigationBarTitle('申请办结');
19
+        break;
20
+    }
21
+  }, [applyType]);
22
+}

+ 3
- 18
src/pages/apply/verify/index.jsx View File

6
 import { putTaIssueApply, getTaIssueApplyById } from '@/services/taissueapply';
6
 import { putTaIssueApply, getTaIssueApplyById } from '@/services/taissueapply';
7
 import { warn } from '@/utils/message';
7
 import { warn } from '@/utils/message';
8
 import Issue from '../components/Issue';
8
 import Issue from '../components/Issue';
9
+import useTitle from '../useTitle';
9
 
10
 
10
 // const today = new Date();
11
 // const today = new Date();
11
 export default (props) => {
12
 export default (props) => {
15
 
16
 
16
   const [loading, setLoading] = React.useState(false);
17
   const [loading, setLoading] = React.useState(false);
17
   const [applyInfo, setApplyInfo] = React.useState({});
18
   const [applyInfo, setApplyInfo] = React.useState({});
18
-
19
-  React.useMemo(() => {
20
-    switch (applyType) {
21
-      case 'delay':
22
-        Taro.setNavigationBarTitle('延期审批');
23
-        break;
24
-      case 'reject':
25
-        Taro.setNavigationBarTitle('驳回审批');
26
-        break;
27
-      case 'verify':
28
-        Taro.setNavigationBarTitle('审核审批');
29
-        break;
30
-      case 'end':
31
-        Taro.setNavigationBarTitle('办结审批');
32
-        break;
33
-    }
34
-  }, [applyType]);
35
-
36
   
19
   
37
   const [submitting, setSubmitting] = React.useState(false);
20
   const [submitting, setSubmitting] = React.useState(false);
38
   const [formData, setFormData] = React.useState({});
21
   const [formData, setFormData] = React.useState({});
22
+  
23
+  useTitle(applyType);
39
 
24
 
40
   const setFieldValue = (key, value) => {
25
   const setFieldValue = (key, value) => {
41
     setFormData({
26
     setFormData({

+ 16
- 16
src/pages/home/index.jsx View File

4
 import { useModel } from '@/store';
4
 import { useModel } from '@/store';
5
 import MenuIcon from '@/components/MenuIcon';
5
 import MenuIcon from '@/components/MenuIcon';
6
 import { ROLE_CITIZEN, ROLE_INSPECTOR, ROLE_MANAGER, ROLE_ORG_USER, ROLE_QUERY_PERSON } from '@/utils/user';
6
 import { ROLE_CITIZEN, ROLE_INSPECTOR, ROLE_MANAGER, ROLE_ORG_USER, ROLE_QUERY_PERSON } from '@/utils/user';
7
+import { PROCESS_APPLY_DELAY, PROCESS_APPLY_END, PROCESS_ASSIGNED, PROCESS_END, PROCESS_START } from '@/utils/biz';
7
 import Head from './components/Head';
8
 import Head from './components/Head';
8
 import Banner from './components/Banner';
9
 import Banner from './components/Banner';
9
 import StatCard from './components/StatCard';
10
 import StatCard from './components/StatCard';
19
 
20
 
20
   // 平台管理员
21
   // 平台管理员
21
   [ROLE_MANAGER]: [
22
   [ROLE_MANAGER]: [
22
-    { icon: 'icon1', text: '待 交 办', link: '/pages/issue/list2/index?title=待交办&bizStatus=start' },
23
-    { icon: 'icon2', text: '已 交 办', link: '/pages/issue/list2/index?title=已交办&bizStatus=assigned' },
24
-    { icon: 'icon3', text: '已 办 结', link: '/pages/issue/list2/index?title=已办结&bizStatus=end' },
25
-    { icon: 'icon4', text: '消单申请', link: '/pages/apply/list/index?title=消单申请&applyType=end' },
26
-    { icon: 'icon5', text: '逾期警告', link: '/pages/issue/list2/index?title=逾期警告&bizStatus=expired' },
27
-    { icon: 'icon6', text: '延期申请', link: '/pages/apply/list/index?title=延期申请&applyType=delay' },
28
-    { icon: 'icon7', text: '统计查询', link: '' },
23
+    { icon: 'icon1', text: '待 交 办', link: `/pages/issue/list2/index?title=待交办&bizStatus=${PROCESS_START}` },
24
+    { icon: 'icon2', text: '已 交 办', link: `/pages/issue/list2/index?title=已交办&bizStatus=${PROCESS_ASSIGNED}`, },
25
+    { icon: 'icon3', text: '已 办 结', link: `/pages/issue/list2/index?title=已办结&bizStatus=${PROCESS_END}` },
26
+    { icon: 'icon4', text: '消单申请', link: `/pages/apply/list/index?title=消单申请&applyType=${PROCESS_APPLY_END}` },
27
+    { icon: 'icon5', text: '逾期警告', link: `/pages/issue/list2/index?title=逾期警告&bizStatus=expired` },
28
+    { icon: 'icon6', text: '延期申请', link: `/pages/apply/list/index?title=延期申请&applyType=${PROCESS_APPLY_DELAY}` },
29
+    { icon: 'icon7', text: '统计查询', link: '/subpkg1/pages/statistics/index' },
29
     { icon: 'icon9', text: '我的上报', link: '/pages/issue/list2/index?title=我的上报&mine=true' },
30
     { icon: 'icon9', text: '我的上报', link: '/pages/issue/list2/index?title=我的上报&mine=true' },
30
     { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
31
     { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
31
   ],
32
   ],
32
 
33
 
33
   // 责任单位用户
34
   // 责任单位用户
34
   [ROLE_ORG_USER]: [
35
   [ROLE_ORG_USER]: [
35
-    { icon: 'icon2', text: '处 理 中', link: '/pages/org/issue/list/index?title=处理中&bizStatus=assigned' },
36
-    { icon: 'icon3', text: '已 办 结', link: '/pages/org/issue/list/index?title=已办结&bizStatus=end' },
36
+    { icon: 'icon2', text: '处 理 中', link: `/pages/org/issue/list/index?title=处理中&bizStatus=${PROCESS_ASSIGNED}` },
37
+    { icon: 'icon3', text: '已 办 结', link: `/pages/org/issue/list/index?title=已办结&bizStatus=${PROCESS_END}` },
37
     { icon: 'icon5', text: '已 逾 期', link: '' },
38
     { icon: 'icon5', text: '已 逾 期', link: '' },
38
-    { icon: 'icon7', text: '统计查询', link: '' },
39
     { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
39
     { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
40
   ],
40
   ],
41
 
41
 
42
   // 查询人员
42
   // 查询人员
43
   [ROLE_QUERY_PERSON]: [
43
   [ROLE_QUERY_PERSON]: [
44
-    { icon: 'icon1', text: '未 处 理', link: '/pages/issue/list2/index?title=未处理&bizStatus=start' },
45
-    { icon: 'icon2', text: '处 理 中', link: '/pages/issue/list2/index?title=处理中&bizStatus=assigned' },
46
-    { icon: 'icon3', text: '已 办 结', link: '/pages/issue/list2/index?title=已办结&bizStatus=end' },
44
+    { icon: 'icon1', text: '未 处 理', link: `/pages/issue/list2/index?title=未处理&bizStatus=${PROCESS_START}` },
45
+    { icon: 'icon2', text: '处 理 中', link: `/pages/issue/list2/index?title=处理中&bizStatus=${PROCESS_ASSIGNED}` },
46
+    { icon: 'icon3', text: '已 办 结', link: `/pages/issue/list2/index?title=已办结&bizStatus=${PROCESS_END}` },
47
     { icon: 'icon7', text: '统计查询', link: '/subpkg1/pages/statistics/index' },
47
     { icon: 'icon7', text: '统计查询', link: '/subpkg1/pages/statistics/index' },
48
   ],
48
   ],
49
   
49
   
50
   // 市民
50
   // 市民
51
   [ROLE_CITIZEN]: [
51
   [ROLE_CITIZEN]: [
52
-    { icon: 'icon1', text: '未处理', link: '/pages/feedback/issuelist/index?title=未处理&bizStatus=start' },
53
-    { icon: 'icon2', text: '已处理', link: '/pages/feedback/issuelist/index?title=已处理&bizStatus=assigned' },
54
-    { icon: 'icon12', text: '已打回', link: '/pages/feedback/issuelist/index?title=已打回&bizStatus=reject' },
52
+    { icon: 'icon1', text: '未处理', link: `/pages/feedback/issuelist/index?title=未处理&bizStatus=${PROCESS_START}` },
53
+    { icon: 'icon2', text: '已处理', link: `/pages/feedback/issuelist/index?title=已处理&bizStatus=${PROCESS_ASSIGNED}` },
54
+    { icon: 'icon12', text: '已打回', link: `/pages/feedback/issuelist/index?title=已打回&bizStatus=reject` },
55
   ],
55
   ],
56
 }
56
 }
57
 
57
 

+ 41
- 0
src/pages/issue/components/Issue/IssueStatus.jsx View File

1
+import React from 'react';
2
+import { Field, Cell } from '@antmjs/vantui';
3
+import { getIssueStatus } from '@/utils/biz';
4
+import { getIssueProcess } from '@/services/taissue';
5
+
6
+export default (props) => {
7
+
8
+  const { issue } = props;
9
+  const [bizStatus, setBizStatus] = React.useState();
10
+  const [issueProcess, setIssueProcess] = React.useState();
11
+
12
+  React.useEffect(() => {
13
+    if (issue) {
14
+      setBizStatus(getIssueStatus(issue));
15
+
16
+      // 取最新的流程日志记录
17
+      getIssueProcess({ pageSize: 1, issueId: issue.issueId }).then(res => {
18
+        setIssueProcess((res.records || [])[0]);
19
+      })
20
+    }
21
+  }, [issue]);
22
+
23
+  return (
24
+    <>
25
+      <Cell title="状态" value={bizStatus?.label}></Cell>
26
+      {
27
+        issueProcess?.verifyDesc && (
28
+          <>
29
+            <Cell title="驳回原因" />
30
+            <Field
31
+              readonly
32
+              type="textarea"
33
+              autosize={{ minHeight: '120px' }}
34
+              value={issueProcess.processResult}
35
+            />
36
+          </>
37
+        )
38
+      }
39
+    </>
40
+  )
41
+}

+ 14
- 38
src/pages/issue/components/Issue/index.jsx View File

1
 import React from 'react';
1
 import React from 'react';
2
 import Taro from '@tarojs/taro';
2
 import Taro from '@tarojs/taro';
3
 import { View } from '@tarojs/components';
3
 import { View } from '@tarojs/components';
4
-import { Button, Notify, Field, Cell, CellGroup } from '@antmjs/vantui';
4
+import { Field, Cell, CellGroup } from '@antmjs/vantui';
5
 import LocType from '@/components/LocType';
5
 import LocType from '@/components/LocType';
6
 import IssueType from '@/components/IssueType';
6
 import IssueType from '@/components/IssueType';
7
 import OrgPicker from '@/components/OrgPicker';
7
 import OrgPicker from '@/components/OrgPicker';
8
 import DatePicker from '@/components/DatePicker';
8
 import DatePicker from '@/components/DatePicker';
9
 import Map from '@/components/map';
9
 import Map from '@/components/map';
10
 import Uploader from '@/components/Uploader/index';
10
 import Uploader from '@/components/Uploader/index';
11
-import { getIssueStatus } from '@/utils/biz';
12
 import { getDateStr } from '@/utils/date';
11
 import { getDateStr } from '@/utils/date';
13
 import mapIcon from '@/assets/icons/marker.png';
12
 import mapIcon from '@/assets/icons/marker.png';
14
-import { getIssueProcess } from '@/services/taissue';
13
+import { PROCESS_END } from '@/utils/biz';
14
+
15
+import IssueStatus from './IssueStatus';
15
 
16
 
16
 const today = new Date();
17
 const today = new Date();
17
 
18
 
40
   const [showIssueType, setShowIssueType] = React.useState(false);
41
   const [showIssueType, setShowIssueType] = React.useState(false);
41
   const [showOrgPicker, setShowOrgPicker] = React.useState(false);
42
   const [showOrgPicker, setShowOrgPicker] = React.useState(false);
42
   const [showDatePicker, setShowDatePicker] = React.useState(false);
43
   const [showDatePicker, setShowDatePicker] = React.useState(false);
43
-  const [bizStatus, setBizStatus] = React.useState();
44
-  const [issueProcess, setIssueProcess] = React.useState([]);
45
 
44
 
46
-  const issueReject = React.useMemo(() => {
47
-    if (!issueProcess || !issueProcess.length) return {};
45
+  // 办结时间
46
+  const endDate = React.useMemo(() => {
47
+    if (!formData) return null;
48
 
48
 
49
-    return issueProcess.filter(x => x.processStatus === 'reject')[0] || {};
50
-  }, [issueProcess]);
49
+    // 如果单子办结了就是实际办结时间
50
+    // 否则就是预计办结时间
51
+    return formData.processNode == PROCESS_END ? formData.endDate : formData.expireDate;
52
+  }, [formData]);
51
 
53
 
52
   const onLocTypeChange = (_, it) => {
54
   const onLocTypeChange = (_, it) => {
53
     const data = {
55
     const data = {
106
     if (issue) {
108
     if (issue) {
107
       fmRef.current = issue;
109
       fmRef.current = issue;
108
       setFormData(issue);
110
       setFormData(issue);
109
-      setBizStatus(getIssueStatus(issue));
110
-
111
-      if (issue.processStatus == 'reject') {
112
-        getIssueProcess({ pageSize: 100, issueId: issue.issueId }).then(res => {
113
-          setIssueProcess(res.records || []);
114
-        })
115
-      }
116
     }
111
     }
117
   }, [issue]);
112
   }, [issue]);
118
 
113
 
119
-  console.log('--------formData-------', issue, formData)
120
-
121
   return (
114
   return (
122
     <View>
115
     <View>
123
       <LocType
116
       <LocType
172
       </CellGroup>
165
       </CellGroup>
173
 
166
 
174
       {
167
       {
175
-        readOnly && bizStatus && (
168
+        readOnly && (
176
           <CellGroup style={{ marginTop: '20px' }}>
169
           <CellGroup style={{ marginTop: '20px' }}>
177
-            <Cell
178
-              title="状态"
179
-              value={bizStatus.label}
180
-            />
181
-
182
-            {
183
-              issueReject.processId && (
184
-                <>
185
-                  <Cell title="驳回原因" />
186
-                  <Field
187
-                    readonly
188
-                    type="textarea"
189
-                    autosize={{ minHeight: '120px' }}
190
-                    value={issueReject.processResult}
191
-                  />
192
-                </>
193
-              )
194
-            }
170
+            <IssueStatus issue={issue} />
195
           </CellGroup>
171
           </CellGroup>
196
         )
172
         )
197
       }
173
       }
249
                 <Cell
225
                 <Cell
250
                   title="办结时间"
226
                   title="办结时间"
251
                   isLink={!readOnly}
227
                   isLink={!readOnly}
252
-                  value={formData.expireDate}
228
+                  value={endDate}
253
                   onClick={() => !readOnly && setShowDatePicker(true)}
229
                   onClick={() => !readOnly && setShowDatePicker(true)}
254
                 />
230
                 />
255
               )
231
               )

+ 2
- 5
src/pages/issue/edit/components/Assigned.jsx View File

28
     setLoading1(true)
28
     setLoading1(true)
29
 
29
 
30
     const data = { ...issue, ... formData };
30
     const data = { ...issue, ... formData };
31
-    console.log('-----data1----', JSON.stringify(data))
32
 
31
 
33
     // 先提交修改
32
     // 先提交修改
34
-    putTaIssue(issue.issueId, data).then(() => {
35
-      console.log('-----data2----', JSON.stringify(data))
36
-      
33
+    putTaIssue(issue.issueId, data).then(() => {      
37
       // 再提交交办
34
       // 再提交交办
38
-      postIssueAssigned(data).then(() => {
35
+      postIssueAssigned({data, nextOrg: data.orgId}).then(() => {
39
         setLoading1(false);
36
         setLoading1(false);
40
         Taro.navigateBack({delta: 1});
37
         Taro.navigateBack({delta: 1});
41
       }).catch(() => {
38
       }).catch(() => {

+ 1
- 1
src/pages/issue/edit/index.jsx View File

16
 export default (props) => {
16
 export default (props) => {
17
 
17
 
18
   const router = Taro.useRouter();
18
   const router = Taro.useRouter();
19
-  const { id, act } = router.params;
19
+  const { id } = router.params;
20
 
20
 
21
   const { user, duty } = useModel('user');
21
   const { user, duty } = useModel('user');
22
 
22
 

+ 4
- 4
src/pages/issue/list/index.jsx View File

8
 import { getTaIssue } from '@/services/taissue';
8
 import { getTaIssue } from '@/services/taissue';
9
 import { ROLE_INSPECTOR, ROLE_MANAGER } from '@/utils/user';
9
 import { ROLE_INSPECTOR, ROLE_MANAGER } from '@/utils/user';
10
 import { useModel } from '@/store';
10
 import { useModel } from '@/store';
11
-import { getIssueStatus } from '@/utils/biz';
11
+import { getIssueStatus, PROCESS_ASSIGNED, PROCESS_END, PROCESS_START } from '@/utils/biz';
12
 
12
 
13
 // 只有督察员能看到当前页面
13
 // 只有督察员能看到当前页面
14
 export default (props) => {
14
 export default (props) => {
34
         <Tab title="未交办">
34
         <Tab title="未交办">
35
           <PowerList
35
           <PowerList
36
             request={getTaIssue}
36
             request={getTaIssue}
37
-            params={{bizStatus: 'start'}}
37
+            params={{bizStatus: PROCESS_START}}
38
             renderItem={(item) => (
38
             renderItem={(item) => (
39
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
39
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
40
             )}
40
             )}
43
         <Tab title="已交办">
43
         <Tab title="已交办">
44
           <PowerList
44
           <PowerList
45
             request={getTaIssue}
45
             request={getTaIssue}
46
-            params={{bizStatus: 'assigned'}}
46
+            params={{bizStatus: PROCESS_ASSIGNED}}
47
             renderItem={(item) => (
47
             renderItem={(item) => (
48
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
48
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
49
             )}
49
             )}
52
         <Tab title="已办结">
52
         <Tab title="已办结">
53
           <PowerList
53
           <PowerList
54
             request={getTaIssue}
54
             request={getTaIssue}
55
-            params={{bizStatus: 'end'}}
55
+            params={{bizStatus: PROCESS_END}}
56
             renderItem={(item) => (
56
             renderItem={(item) => (
57
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
57
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
58
             )}
58
             )}

+ 1
- 15
src/pages/issue/list2/index.jsx View File

26
   const { user } = useModel('user');
26
   const { user } = useModel('user');
27
 
27
 
28
   const onClick = (item) => {
28
   const onClick = (item) => {
29
-
30
-    let act = '';
31
-    const status = getIssueStatus(item);
32
-
33
-    // 如果是管理员
34
-    if (user.dutyList.indexOf(ROLE_MANAGER) > -1) {
35
-      // 如果是待交办
36
-      if (status.value === 0) {
37
-        act = 'assigned';
38
-      }
39
-    } else {
40
-      
41
-    }
42
-
43
     Taro.navigateTo({
29
     Taro.navigateTo({
44
-      url: `/pages/issue/edit/index?id=${item.issueId}&act=${act}`
30
+      url: `/pages/issue/edit/index?id=${item.issueId}`
45
     })
31
     })
46
   }
32
   }
47
   
33
   

+ 104
- 6
src/utils/biz.js View File

1
 import dayjs from 'dayjs';
1
 import dayjs from 'dayjs';
2
 
2
 
3
+/**
4
+ * 流程节点
5
+ */
6
+// 待交办
7
+export const PROCESS_START = "01";
8
+// 交办
9
+export const PROCESS_ASSIGNED = "02";
10
+// 办结
11
+export const PROCESS_END = "03";
12
+// 驳回申请
13
+export const PROCESS_APPLY_REJECT = "0201";
14
+// 延期申请
15
+export const PROCESS_APPLY_DELAY = "0202";
16
+// 单位审核
17
+export const PROCESS_APPLY_VERIFY = "0203";
18
+// 办结申请
19
+export const PROCESS_APPLY_END = "0204";
20
+
21
+/**
22
+ * 审核结果
23
+ */
24
+// 未审核
25
+export const APPLY_READY = "ready";
26
+// 审核通过
27
+export const APPLY_PASS = "pass";
28
+// 审核驳回
29
+export const APPLY_REJECT = "reject";
30
+
31
+
3
 export function getIssueStatus(taIssue) {
32
 export function getIssueStatus(taIssue) {
4
-  if (taIssue.processStatus === 'reject') {
33
+  if (taIssue.processStatus === APPLY_REJECT) {
5
     return {
34
     return {
6
       value: 4,
35
       value: 4,
7
       label: '已打回',
36
       label: '已打回',
8
     };
37
     };
9
-  } else if (taIssue.processNode === 'start') {
38
+  } else if (taIssue.processNode === PROCESS_START) {
10
     return {
39
     return {
11
       value: 0,
40
       value: 0,
12
-      label: '未交办',
41
+      label: '交办',
13
     }
42
     }
14
-  } else if (taIssue.processNode === 'end') {
43
+  } else if (taIssue.processNode === PROCESS_END) {
15
     return {
44
     return {
16
       value: 2,
45
       value: 2,
17
       label: '已办结',
46
       label: '已办结',
18
     };
47
     };
19
-  } else if (taIssue.processNode !== 'end' && taIssue.expireDate <= dayjs().format('YYYY-MM-DD')) {
48
+  } else if (taIssue.processNode !== PROCESS_END && taIssue.expireDate <= dayjs().format('YYYY-MM-DD')) {
20
     return {
49
     return {
21
       value: 3,
50
       value: 3,
22
       label: '已逾期',
51
       label: '已逾期',
23
     };
52
     };
24
-  } else if (taIssue.processNode === 'assigned') {
53
+  } else if (taIssue.processNode.indexOf(PROCESS_ASSIGNED) === 0) {
54
+    if (taIssue.processStatus === APPLY_READY) {
55
+      if (taIssue.processNode === PROCESS_APPLY_REJECT) {
56
+        return {
57
+          value: 1,
58
+          label: '驳回申请',
59
+        };
60
+      } else if (taIssue.processNode === PROCESS_APPLY_DELAY) {
61
+        return {
62
+          value: 1,
63
+          label: '延期申请',
64
+        };
65
+      } else if (taIssue.processNode === PROCESS_APPLY_VERIFY) {
66
+        return {
67
+          value: 1,
68
+          label: '审核申请',
69
+        };
70
+      } else if (taIssue.processNode === PROCESS_APPLY_END) {
71
+        return {
72
+          value: 1,
73
+          label: '办结申请',
74
+        };
75
+      }
76
+    } else if (taIssue.processStatus === APPLY_PASS) {
77
+      if (taIssue.processNode === PROCESS_APPLY_REJECT) {
78
+        return {
79
+          value: 1,
80
+          label: '驳回申请通过',
81
+        };
82
+      } else if (taIssue.processNode === PROCESS_APPLY_DELAY) {
83
+        return {
84
+          value: 1,
85
+          label: '延期申请通过',
86
+        };
87
+      } else if (taIssue.processNode === PROCESS_APPLY_VERIFY) {
88
+        return {
89
+          value: 1,
90
+          label: '审核申请通过',
91
+        };
92
+      } else if (taIssue.processNode === PROCESS_APPLY_END) {
93
+        return {
94
+          value: 1,
95
+          label: '办结申请通过',
96
+        };
97
+      }
98
+    } else {
99
+      if (taIssue.processNode === PROCESS_APPLY_REJECT) {
100
+        return {
101
+          value: 1,
102
+          label: '驳回申请驳回',
103
+        };
104
+      } else if (taIssue.processNode === PROCESS_APPLY_DELAY) {
105
+        return {
106
+          value: 1,
107
+          label: '延期申请驳回',
108
+        };
109
+      } else if (taIssue.processNode === PROCESS_APPLY_VERIFY) {
110
+        return {
111
+          value: 1,
112
+          label: '审核申请驳回',
113
+        };
114
+      } else if (taIssue.processNode === PROCESS_APPLY_END) {
115
+        return {
116
+          value: 1,
117
+          label: '办结申请驳回',
118
+        };
119
+      }
120
+    }
121
+
25
     return {
122
     return {
26
       value: 1,
123
       value: 1,
27
       label: '已交办',
124
       label: '已交办',
30
 
127
 
31
   return {};
128
   return {};
32
 }
129
 }
130
+