xcx 4 лет назад
Родитель
Сommit
f4783ab2b2

+ 1
- 1
src/pages/WuYe/ShengHuoGuanJia/components/Card.jsx Просмотреть файл

@@ -35,7 +35,7 @@ export default props => {
35 35
           <LR title='综合评价'>
36 36
             {
37 37
               data.averageScore !== null &&
38
-              <Stars value={data.averageScore - 0} editable />
38
+              <Stars total={data.averageScore - 0} editable />
39 39
             }
40 40
             {
41 41
               data.averageScore === null &&

+ 14
- 4
src/pages/WuYe/ShengHuoGuanJia/components/Stars.jsx Просмотреть файл

@@ -1,15 +1,20 @@
1 1
 import React, { useEffect, useRef, useState } from 'react'
2 2
 import Star from './Star'
3 3
 
4
-const total = new Array(5).fill(0).map((_, inx) => inx + 1)
4
+// const total = new Array(5).fill(0).map((_, inx) => inx + 1)
5 5
 
6 6
 // 小数得分会被转为整数
7 7
 export default props => {
8 8
   const [score, setScore] = useState(0)
9 9
   const inited = useRef(false)
10
+  const { total = 1 } = props
11
+  let StarsArr = []
12
+  for (let n = 0; n < total; n++) {
13
+    StarsArr.push('')
14
+  }
10 15
 
11 16
   // 暂时只写了默认以及 size=large 的样式
12
-  const sizeClass = props.size ? `${gj-star}-${props.size}` : ''
17
+  const sizeClass = props.size ? `${gj - star}-${props.size}` : ''
13 18
 
14 19
   const handleClick = i => {
15 20
     if (props.editable) {
@@ -28,10 +33,15 @@ export default props => {
28 33
   }, [props.value])
29 34
 
30 35
   return (
31
-    <view className="gj-stars">
36
+    <view className='gj-stars'>
32 37
       {
33
-        total.map(i => <Star className={`gj-start ${sizeClass}`} activeClass="gj-star-active" key={i} active={score >= i} onClick={() => handleClick(i)} />)
38
+        StarsArr.map((item, index) => (
39
+          <Star className={`gj-start ${sizeClass}`} key={`stars-${index}`}></Star>
40
+        ))
34 41
       }
42
+      {/* {
43
+        total.map(i => <Star className={`gj-start ${sizeClass}`} activeClass="gj-star-active" key={i} active={score >= i} onClick={() => handleClick(i)} />)
44
+      } */}
35 45
     </view>
36 46
   )
37 47
 }

+ 30
- 33
src/pages/WuYe/ShengHuoGuanJia/index.jsx Просмотреть файл

@@ -65,44 +65,41 @@ export default () => {
65 65
 
66 66
   return (
67 67
     <Page>
68
-      <ScrollPageRefresh RefreshBg='#f8f8f8' IsEmpty={IsEmpty} ApiName={`getShengHuoGuanJiaList`} Refresh={Refresh} Push={Push}>
68
+      <view className='ScorePopup' style={{display: CurrentUser === null ? 'none' : 'block'}}>
69
+        <view className='centerLabel'>
70
+          <view>
71
+            <view className='Title'>
72
+              <text>每月有一次评选机会</text>
73
+              <text className='iconfont iconguanbi' onClick={() => { setCurrentUser(null) }}></text>
74
+            </view>
75
+            <view className='flex-h'>
76
+              <view className='Icon'>
77
+                <image mode='aspectFill' src={CurrentUser !== null ? CurrentUser.photo : null}></image>
78
+              </view>
79
+              <view className='flex-item'>
80
+                <text>{CurrentUser !== null ? CurrentUser.userName : null}</text>
81
+                <text>工号:{CurrentUser !== null ? CurrentUser.jobNumber : null}</text>
82
+              </view>
83
+            </view>
84
+            <view className='Star'>
85
+              {
86
+                ['', '', '', '', ''].map((item, index) => (
87
+                  <text className={index > StarIndex ? 'iconfont iconxingxing' : 'iconfont iconxingxing active'} key={`Star-${index}`} onClick={SelectStar(index)}></text>
88
+                ))
89
+              }
90
+            </view>
91
+            <view className='Submit'>
92
+              <text onClick={SubmitScore}>提交</text>
93
+            </view>
94
+          </view>
95
+        </view>
96
+      </view>
97
+      <ScrollPageRefresh RefreshBg='#f8f8f8' IsEmpty={IsEmpty} ApiName='getShengHuoGuanJiaList' Refresh={Refresh} Push={Push}>
69 98
         <view className='shgj'>
70 99
           {
71 100
             PageList.map(item => <Card key={item.userId} dataSource={item} PostScore={PostScore} />)
72 101
           }
73 102
         </view>
74
-        {
75
-          CurrentUser !== null &&
76
-          <view className='ScorePopup'>
77
-            <view className='centerLabel'>
78
-              <view>
79
-                <view className='Title'>
80
-                  <text>每月有一次评选机会</text>
81
-                  <text className='iconfont iconguanbi' onClick={() => { setCurrentUser(null) }}></text>
82
-                </view>
83
-                <view className='flex-h'>
84
-                  <view className='Icon'>
85
-                    <image mode='aspectFill' src={CurrentUser.photo}></image>
86
-                  </view>
87
-                  <view className='flex-item'>
88
-                    <text>{CurrentUser.userName}</text>
89
-                    <text>工号:{CurrentUser.jobNumber}</text>
90
-                  </view>
91
-                </view>
92
-                <view className='Star'>
93
-                  {
94
-                    ['', '', '', '', ''].map((item, index) => (
95
-                      <text className={index > StarIndex ? 'iconfont iconxingxing' : 'iconfont iconxingxing active'} key={`Star-${index}`} onClick={SelectStar(index)}></text>
96
-                    ))
97
-                  }
98
-                </view>
99
-                <view className='Submit'>
100
-                  <text onClick={SubmitScore}>提交</text>
101
-                </view>
102
-              </view>
103
-            </view>
104
-          </view>
105
-        }
106 103
       </ScrollPageRefresh>
107 104
     </Page>
108 105
   )