Yansen 2 yıl önce
ebeveyn
işleme
5c384a12b0

+ 1
- 1
project.config.json Dosyayı Görüntüle

@@ -2,7 +2,7 @@
2 2
   "miniprogramRoot": "./dist",
3 3
   "projectname": "civilized-miniapp",
4 4
   "description": "文明城市小程序",
5
-  "appid": "wxe44244d1a5ea3364",
5
+  "appid": "wx39d721c54a0a11c4",
6 6
   "setting": {
7 7
     "urlCheck": true,
8 8
     "es6": false,

+ 9
- 3
src/components/IssueCard/index.jsx Dosyayı Görüntüle

@@ -2,7 +2,7 @@ import React from 'react';
2 2
 import Taro from '@tarojs/taro';
3 3
 import dayjs from 'dayjs';
4 4
 import { View, ScrollView, RichText, Image, Text } from '@tarojs/components';
5
-import { getIssueStatus } from '@/utils/biz';
5
+import { APPLY_READY, getIssueStatus } from '@/utils/biz';
6 6
 import icon from '@/assets/icons/marker.png';
7 7
 import style from './style.module.less';
8 8
 
@@ -16,7 +16,8 @@ const colors = [
16 16
 
17 17
 export default (props) => {
18 18
 
19
-  const { detail, onClick, color, stText } = props;
19
+  const { issue, applyInfo, onClick, color, stText } = props;
20
+  const detail = issue || applyInfo;
20 21
 
21 22
   const [
22 23
     content,
@@ -26,7 +27,12 @@ export default (props) => {
26 27
   ] = React.useMemo(() => {
27 28
     if (!detail) return [];
28 29
 
29
-    const {value : bizStatus = 0, label : statusText} = getIssueStatus(detail);
30
+    // detail 有可能是申请信息
31
+    const {value : bizStatus = 0, label : statusText} = getIssueStatus({
32
+      ...detail || {},
33
+      processNode: detail?.processNode || detail?.applyType,
34
+      processStatus: detail?.processStatus || detail?.verifyStatus || APPLY_READY,
35
+    });
30 36
 
31 37
     return [
32 38
       (detail.issueContent || detail.content || '').replace('\r\n', '<br>').replace('\n', '<br>'),

+ 2
- 3
src/pages/apply/list/index.jsx Dosyayı Görüntüle

@@ -8,7 +8,6 @@ import Card from '@/components/IssueCard';
8 8
 import { getTaIssueApply } from '@/services/taissueapply';
9 9
 import { ROLE_MANAGER } from '@/utils/user';
10 10
 import { useModel } from '@/store';
11
-import { getIssueStatus } from '@/utils/biz';
12 11
 
13 12
 export default (props) => {
14 13
 
@@ -53,7 +52,7 @@ export default (props) => {
53 52
             request={getTaIssueApply}
54 53
             params={{applyType, sourceType: 'inspector'}}
55 54
             renderItem={(item) => (
56
-              <Card key={item.issueId} detail={item} stText={title} onClick={() => onClick(item)} />
55
+              <Card key={item.issueId} applyInfo={item} stText={title} onClick={() => onClick(item)} />
57 56
             )}
58 57
           />
59 58
         </Tab>
@@ -62,7 +61,7 @@ export default (props) => {
62 61
             request={getTaIssueApply}
63 62
             params={{applyType, sourceType: 'feedback'}}
64 63
             renderItem={(item) => (
65
-              <Card key={item.issueId} detail={item} stText={title} onClick={() => onClick(item)} />
64
+              <Card key={item.issueId} applyInfo={item} stText={title} onClick={() => onClick(item)} />
66 65
             )}
67 66
           />
68 67
         </Tab>

+ 1
- 1
src/pages/feedback/issuelist/index.jsx Dosyayı Görüntüle

@@ -32,7 +32,7 @@ export default (props) => {
32 32
         request={getTaFeedback}
33 33
         params={{bizStatus, isMine: true}}
34 34
         renderItem={(item) => (
35
-          <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
35
+          <Card key={item.issueId} issue={item} onClick={() => onClick(item)} />
36 36
         )}
37 37
       />
38 38
     </Page>

+ 1
- 1
src/pages/home/index.jsx Dosyayı Görüntüle

@@ -13,7 +13,7 @@ import './index.less';
13 13
 const menus = {
14 14
   // 督察员
15 15
   [ROLE_INSPECTOR]: [
16
-    { icon: 'icon9', text: '我的上报', link: '/pages/issue/list/index' },
16
+    { icon: 'icon9', text: '我的上报', link: '/pages/issue/list/index?mine=true' },
17 17
     { icon: 'icon11', text: '消息通知', link: '/pages/message/list/index' },
18 18
     { icon: 'icon10', text: '模拟测评', link: '/pages/check/list/index' },
19 19
   ],

+ 1
- 1
src/pages/issue/edit/components/Assigned.jsx Dosyayı Görüntüle

@@ -32,7 +32,7 @@ export default (props) => {
32 32
     // 先提交修改
33 33
     putTaIssue(issue.issueId, data).then(() => {      
34 34
       // 再提交交办
35
-      postIssueAssigned({data, nextOrg: data.orgId}).then(() => {
35
+      postIssueAssigned({ ... data, nextOrg: data.orgId}).then(() => {
36 36
         setLoading1(false);
37 37
         Taro.navigateBack({delta: 1});
38 38
       }).catch(() => {

+ 11
- 7
src/pages/issue/list/index.jsx Dosyayı Görüntüle

@@ -14,6 +14,9 @@ import { getIssueStatus, PROCESS_ASSIGNED, PROCESS_END, PROCESS_START } from '@/
14 14
 export default (props) => {
15 15
   // const { user } = useModel('user');
16 16
 
17
+  const router = Taro.useRouter();
18
+  const { mine = '' } = router.params;
19
+
17 20
   const onClick = (item) => {
18 21
     Taro.navigateTo({
19 22
       url: `/pages/issue/edit/index?id=${item.issueId}`
@@ -26,24 +29,25 @@ export default (props) => {
26 29
         <Tab title="全部">
27 30
           <PowerList
28 31
             request={getTaIssue}
32
+            params={{ mine }}
29 33
             renderItem={(item) => (
30
-              <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
34
+              <Card key={item.issueId} issue={item} onClick={() => onClick(item)} />
31 35
             )}
32 36
           />
33 37
         </Tab>
34 38
         <Tab title="未交办">
35 39
           <PowerList
36 40
             request={getTaIssue}
37
-            params={{bizStatus: PROCESS_START}}
41
+            params={{mine, bizStatus: PROCESS_START}}
38 42
             renderItem={(item) => (
39
-              <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
43
+              <Card key={item.issueId} issue={item} onClick={() => onClick(item)} />
40 44
             )}
41 45
           />
42 46
         </Tab>
43 47
         <Tab title="已交办">
44 48
           <PowerList
45 49
             request={getTaIssue}
46
-            params={{bizStatus: PROCESS_ASSIGNED}}
50
+            params={{mine, bizStatus: PROCESS_ASSIGNED}}
47 51
             renderItem={(item) => (
48 52
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
49 53
             )}
@@ -52,7 +56,7 @@ export default (props) => {
52 56
         <Tab title="已办结">
53 57
           <PowerList
54 58
             request={getTaIssue}
55
-            params={{bizStatus: PROCESS_END}}
59
+            params={{mine, bizStatus: PROCESS_END}}
56 60
             renderItem={(item) => (
57 61
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
58 62
             )}
@@ -61,7 +65,7 @@ export default (props) => {
61 65
         <Tab title="已逾期">
62 66
           <PowerList
63 67
             request={getTaIssue}
64
-            params={{bizStatus: 'expired'}}
68
+            params={{mine, bizStatus: 'expired'}}
65 69
             renderItem={(item) => (
66 70
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
67 71
             )}
@@ -70,7 +74,7 @@ export default (props) => {
70 74
         <Tab title="已打回">
71 75
           <PowerList
72 76
             request={getTaIssue}
73
-            params={{bizStatus: 'reject'}}
77
+            params={{mine, bizStatus: 'reject'}}
74 78
             renderItem={(item) => (
75 79
               <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
76 80
             )}

+ 2
- 2
src/pages/issue/list2/index.jsx Dosyayı Görüntüle

@@ -39,7 +39,7 @@ export default (props) => {
39 39
             request={getTaIssue}
40 40
             params={{bizStatus, mine, sourceType: 'inspector'}}
41 41
             renderItem={(item) => (
42
-              <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
42
+              <Card key={item.issueId} issue={item} onClick={() => onClick(item)} />
43 43
             )}
44 44
           />
45 45
         </Tab>
@@ -48,7 +48,7 @@ export default (props) => {
48 48
             request={getTaIssue}
49 49
             params={{bizStatus, mine, sourceType: 'feedback'}}
50 50
             renderItem={(item) => (
51
-              <Card key={item.issueId} detail={item} onClick={() => onClick(item)} />
51
+              <Card key={item.issueId} issue={item} onClick={() => onClick(item)} />
52 52
             )}
53 53
           />
54 54
         </Tab>

+ 15
- 3
src/pages/org/issue/detail/components/Apply.jsx Dosyayı Görüntüle

@@ -6,6 +6,12 @@ import DatePicker from '@/components/DatePicker';
6 6
 import { getDateStr } from '@/utils/date';
7 7
 import { postTaIssueApply } from '@/services/taissueapply';
8 8
 import { warn } from '@/utils/message';
9
+import {
10
+  PROCESS_APPLY_DELAY,
11
+  PROCESS_APPLY_END,
12
+  PROCESS_APPLY_REJECT,
13
+  PROCESS_APPLY_VERIFY
14
+} from '@/utils/biz';
9 15
 
10 16
 const today = new Date();
11 17
 export default (props) => {
@@ -37,7 +43,7 @@ export default (props) => {
37 43
   }
38 44
 
39 45
   const onClick = () => {
40
-    if (applyType == 'org-verify' || applyType == 'end') {
46
+    if (applyType == PROCESS_APPLY_VERIFY || applyType == PROCESS_APPLY_END) {
41 47
       onSubmit();
42 48
     } else {
43 49
       setShow(true);
@@ -47,11 +53,17 @@ export default (props) => {
47 53
   const onSubmit = () => {
48 54
     try {
49 55
       warn(!orgIssue || !orgIssue.issueId, '未找到问题单');
50
-      if (applyType === 'delay') {
56
+
57
+      if (applyType == PROCESS_APPLY_VERIFY || applyType == PROCESS_APPLY_END) {
58
+        warn(!orgIssue.attachList || !orgIssue.attachList.length, '请上传照片');
59
+        warn(!orgIssue.result, '请填写整改结果');
60
+      }
61
+
62
+      if (applyType === PROCESS_APPLY_DELAY) {
51 63
         warn(!formData.content, '请选择延期时间');
52 64
       }
53 65
 
54
-      if (applyType == 'delay' || applyType == 'reject') {
66
+      if (applyType == PROCESS_APPLY_DELAY || applyType == PROCESS_APPLY_REJECT) {
55 67
         warn(!formData.remark, '请填写理由说明');
56 68
       }
57 69
     } catch (e) {

+ 11
- 9
src/pages/org/issue/detail/index.jsx Dosyayı Görüntüle

@@ -6,7 +6,7 @@ import Page from '@/layouts/index';
6 6
 import Uploader from '@/components/Uploader/index';
7 7
 import { getTaIssueById } from '@/services/taissue';
8 8
 import { getTaOrgIssueByIssueId } from '@/services/taorgissue';
9
-import { PROCESS_START } from '@/utils/biz';
9
+import { PROCESS_APPLY_END, PROCESS_START, PROCESS_END, PROCESS_APPLY_VERIFY, PROCESS_APPLY_DELAY, PROCESS_APPLY_REJECT } from '@/utils/biz';
10 10
 
11 11
 import IssueInfo from '../../components/issue-info';
12 12
 import Apply from './components/Apply';
@@ -29,14 +29,16 @@ export default (props) => {
29 29
   const [
30 30
     readOnly,
31 31
     statusTxt,
32
-    showEditBtn,
32
+    showApplyVerify,
33
+    showApplyEnd,
33 34
   ] = React.useMemo(() => {
34 35
     if (!orgIssue.issueId) return [];
35 36
 
36 37
     return [
37 38
       issue?.applyId,
38 39
       status[issue.applyType],
39
-      orgIssue.processStatus == PROCESS_START && !issue?.applyId
40
+      orgIssue.processStatus == PROCESS_START,
41
+      orgIssue.processStatus != PROCESS_END && orgIssue.processStatus != PROCESS_APPLY_END ,
40 42
     ]
41 43
 
42 44
   }, [issue, orgIssue]);
@@ -98,15 +100,15 @@ export default (props) => {
98 100
           <View style={{marginTop: '20px', padding: 'var(--main-space)'}}>
99 101
             <View>
100 102
               {
101
-                showEditBtn &&
103
+                showApplyEnd &&
102 104
                   // <Button block type="primary">保存修改</Button> :
103
-                  <Apply block type="primary" applyType="end" orgIssue={orgIssue}>申请办结</Apply>
105
+                  <Apply block type="primary" applyType={PROCESS_APPLY_END} orgIssue={orgIssue}>申请办结</Apply>
104 106
               }
105 107
             </View>
106 108
             {
107
-              showEditBtn && (
109
+              showApplyVerify && (
108 110
                 <View style={{marginTop: '20px'}}>
109
-                  <Apply block type="primary" applyType="org-verify" orgIssue={orgIssue}>申请审核</Apply>
111
+                  <Apply block type="primary" applyType={PROCESS_APPLY_VERIFY} orgIssue={orgIssue}>申请审核</Apply>
110 112
                 </View>
111 113
               )
112 114
             }
@@ -116,7 +118,7 @@ export default (props) => {
116 118
                 plain
117 119
                 hairline
118 120
                 type="info"
119
-                applyType="delay"
121
+                applyType={PROCESS_APPLY_DELAY}
120 122
                 orgIssue={orgIssue}
121 123
               >申请延期</Apply>
122 124
               <Apply
@@ -124,7 +126,7 @@ export default (props) => {
124 126
                 plain
125 127
                 hairline
126 128
                 type="danger"
127
-                applyType="reject"
129
+                applyType={PROCESS_APPLY_REJECT}
128 130
                 orgIssue={orgIssue}
129 131
                 style={{marginLeft: 'var(--main-space)'}}
130 132
               >申请驳回</Apply>

+ 2
- 2
src/pages/org/issue/list/index.jsx Dosyayı Görüntüle

@@ -39,7 +39,7 @@ export default (props) => {
39 39
             request={getTaOrgIssue}
40 40
             params={{bizStatus, sourceType: 'inspector'}}
41 41
             renderItem={(item) => (
42
-              <Card key={item.issueId} detail={item} stText={title} color={color} onClick={() => onClick(item)} />
42
+              <Card key={item.issueId} issue={item} stText={title} color={color} onClick={() => onClick(item)} />
43 43
             )}
44 44
           />
45 45
         </Tab>
@@ -48,7 +48,7 @@ export default (props) => {
48 48
             request={getTaOrgIssue}
49 49
             params={{bizStatus, sourceType: 'feedback'}}
50 50
             renderItem={(item) => (
51
-              <Card key={item.issueId} detail={item} stText={title} color={color} onClick={() => onClick(item)} />
51
+              <Card key={item.issueId} issue={item} stText={title} color={color} onClick={() => onClick(item)} />
52 52
             )}
53 53
           />
54 54
         </Tab>

+ 1
- 0
src/utils/biz.js Dosyayı Görüntüle

@@ -30,6 +30,7 @@ export const APPLY_REJECT = "reject";
30 30
 
31 31
 
32 32
 export function getIssueStatus(taIssue) {
33
+  console.log('------taIssue-----', taIssue)
33 34
   if (taIssue.processStatus === APPLY_REJECT) {
34 35
     return {
35 36
       value: 4,