许静 пре 5 година
родитељ
комит
abb8e4572b
3 измењених фајлова са 111 додато и 39 уклоњено
  1. BIN
      src/assets/bottom.png
  2. BIN
      src/assets/yinhao.png
  3. 111
    39
      src/pages/activity/editActivity.jsx

BIN
src/assets/bottom.png Прегледај датотеку


BIN
src/assets/yinhao.png Прегледај датотеку


+ 111
- 39
src/pages/activity/editActivity.jsx Прегледај датотеку

@@ -1,5 +1,5 @@
1 1
 import React, { useState, useEffect } from 'react';
2
-import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker,message } from 'antd';
2
+import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker, message } from 'antd';
3 3
 import { FormattedMessage } from 'umi-plugin-react/locale';
4 4
 import styles from '../style/GoodsList.less';
5 5
 import moment from 'moment';
@@ -8,37 +8,42 @@ import BuildSelect from '../../components/SelectButton/BuildSelect'
8 8
 import XForm, { FieldTypes } from '../../components/XForm';
9 9
 import Wangedit from '../../components/Wangedit/Wangedit'
10 10
 import request from '../../utils/request'
11
+import PosterBottom from '../../assets/bottom.png'
12
+import yinhao from '../../assets/yinhao.png'
13
+import ImageUploader from '../../components/XForm/ImageUpload';
14
+import logo from '../../assets/logo.png';
11 15
 
12 16
 const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
17
+
13 18
 /**
14 19
  *
15 20
  *
16 21
  * @param {*} props
17 22
  * @returns
18 23
  */
19
- const Edit = (props) => {
20
-  const [ tab, changeTab ] = useState('basic')
24
+const Edit = (props) => {
25
+  const [tab, changeTab] = useState('basic')
21 26
   const dynamicId = props.location.query.dynamicId
22
-  const [ dynamicData, setDynamicData ] = useState({})
23
-  if(dynamicId){
27
+  const [dynamicData, setDynamicData] = useState({})
28
+  if (dynamicId) {
24 29
     useEffect(() => {
25 30
       getDynamicData(dynamicId);
26
-    },[])
31
+    }, [])
27 32
 
28
-  // 查询列表
29
-  const getDynamicData = (dynamicId) => {
30
-    request({
33
+    // 查询列表
34
+    const getDynamicData = (dynamicId) => {
35
+      request({
31 36
         url: '/api/admin/buildingDynamic/Details',
32 37
         method: 'GET',
33 38
         params: { dynamicId },
34
-    }).then((data) => {
39
+      }).then((data) => {
35 40
         console.log(data)
36 41
         setDynamicData(data)
37
-    })
38
-  }
42
+      })
43
+    }
39 44
   }
40 45
 
41
-  const cancelPage = () =>{
46
+  const cancelPage = () => {
42 47
     router.push({
43 48
       pathname: '/activity/ActivityList',
44 49
     });
@@ -52,7 +57,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
52 57
         render: <BuildSelect />,
53 58
         value: dynamicData.buildingId,
54 59
         rules: [
55
-          {required: true, message: '请选择所属项目'},
60
+          { required: true, message: '请选择所属项目' },
56 61
         ]
57 62
       },
58 63
       {
@@ -67,16 +72,16 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
67 72
         type: FieldTypes.Text,
68 73
         value: dynamicData.title,
69 74
         rules: [
70
-          {required: true, message: '请输入活动标题'},
75
+          { required: true, message: '请输入活动标题' },
71 76
         ]
72 77
       },
73 78
       {
74 79
         label: '活动时间',
75 80
         name: 'activityTime',
76 81
         type: FieldTypes.RangePicker,
77
-        value: dynamicData.startDate != null ?  [moment(dynamicData.startDate,'YYYY-MM-DD'),moment(dynamicData.endDate,'YYYY-MM-DD')] : null,
82
+        value: dynamicData.startDate != null ? [moment(dynamicData.startDate, 'YYYY-MM-DD'), moment(dynamicData.endDate, 'YYYY-MM-DD')] : null,
78 83
         rules: [
79
-          {required: true, message: '请选择活动时间'},
84
+          { required: true, message: '请选择活动时间' },
80 85
         ]
81 86
       },
82 87
       {
@@ -85,7 +90,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
85 90
         type: FieldTypes.Text,
86 91
         value: dynamicData.address,
87 92
         rules: [
88
-          {required: true, message: '请输入活动地点'},
93
+          { required: true, message: '请输入活动地点' },
89 94
         ]
90 95
       },
91 96
       {
@@ -94,7 +99,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
94 99
         type: FieldTypes.Text,
95 100
         value: dynamicData.enlistNum,
96 101
         rules: [
97
-          {required: true, message: '请输入活动人数'},
102
+          { required: true, message: '请输入活动人数' },
98 103
         ]
99 104
       },
100 105
       {
@@ -107,24 +112,24 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
107 112
         label: '是否需要报名',
108 113
         name: 'isEnlist',
109 114
         render: <Radio.Group name="radiogroup">
110
-                  <Radio value={1}>是</Radio>
111
-                  <Radio value={0}>否</Radio>
112
-                </Radio.Group>,
113
-        value: dynamicData.isEnlist != null ? dynamicData.isEnlist-0 : 1,
115
+          <Radio value={1}>是</Radio>
116
+          <Radio value={0}>否</Radio>
117
+        </Radio.Group>,
118
+        value: dynamicData.isEnlist != null ? dynamicData.isEnlist - 0 : 1,
114 119
       },
115 120
       {
116 121
         label: '报名时间',
117 122
         name: 'signupTime',
118 123
         type: FieldTypes.RangePicker,
119
-        value: dynamicData.enlistStart != null ?  [moment(dynamicData.enlistStart,'YYYY-MM-DD'),moment(dynamicData.enlistEnd,'YYYY-MM-DD')] : null,
124
+        value: dynamicData.enlistStart != null ? [moment(dynamicData.enlistStart, 'YYYY-MM-DD'), moment(dynamicData.enlistEnd, 'YYYY-MM-DD')] : null,
120 125
         rules: [
121
-          {required: true, message: '请选择报名时间'},
126
+          { required: true, message: '请选择报名时间' },
122 127
         ]
123 128
       },
124 129
     ]
125
-  
126
-    const handleSubmit = val => { 
127
-      let {activityTime,signupTime, ...submitValue} = val
130
+
131
+    const handleSubmit = val => {
132
+      let { activityTime, signupTime, ...submitValue } = val
128 133
       const [startDate, endDate] = activityTime
129 134
       submitValue.startDate = moment(startDate).format('YYYY-MM-DD');
130 135
       submitValue.endDate = moment(endDate).format('YYYY-MM-DD');
@@ -132,7 +137,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
132 137
       submitValue.enlistStart = moment(enlistStart).format('YYYY-MM-DD');
133 138
       submitValue.enlistEnd = moment(enlistEnd).format('YYYY-MM-DD');
134 139
       console.log('submit data --->', submitValue)
135
-      if(dynamicId){
140
+      if (dynamicId) {
136 141
         submitValue.dynamicId = dynamicId
137 142
         request({
138 143
           url: '/api/admin/buildingDynamic/update',
@@ -143,7 +148,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
143 148
         }).catch((err) => {
144 149
           message.info(err.msg || err.message)
145 150
         })
146
-      }else{
151
+      } else {
147 152
         request({
148 153
           url: '/api/admin/buildingDynamic/add',
149 154
           method: 'POST',
@@ -155,16 +160,83 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
155 160
         })
156 161
       }
157 162
     }
158
-    
163
+
159 164
     return <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
160 165
   }
161
-  
166
+
162 167
   const Poster = (props) => {
163
-   return <div>Poster</div>
168
+
169
+    return <div style={{ display: 'flex' }}>
170
+      <div style={{ width: '420px', height: '900px', display: 'inline-block', marginTop: '30px' }}>
171
+        <div style={{ width: '375px', height: '785px', backgroundColor: '#fff', boxShadow: '0px 0px 16px 6px rgba(0,0,0,0.15)', position: 'relative', margin: '0 auto' }}>
172
+
173
+          <img style={{ width: '100%', height: '300px' }} src="http://img0.imgtn.bdimg.com/it/u=4246326797,2657995307&fm=26&gp=0.jpg" alt="" />
174
+
175
+          <div style={{ display: 'flex', alignItems: 'center', marginTop: '-24px' }}>
176
+            <img style={{ width: '70px', height: '70px', border: '4px solid #fff', borderRadius: '35px', marginLeft: '16px' }} src="http://img0.imgtn.bdimg.com/it/u=3463541938,2540701974&fm=26&gp=0.jpg" alt="" />
177
+            <span style={{ color: '#222', fontWeight: '600', margin: '24px 10px 0 14px', fontSize: '17px' }}>喵喵</span>
178
+            <span style={{ color: '#999', marginTop: '25px', fontSize: '17px' }}>邀您阅读</span>
179
+            <span style={{ color: '#999', margin: '25px 0 0 60px', fontSize: '17px' }}>2019.09.21</span>
180
+          </div>
181
+          <p style={{
182
+            margin: '10px 20px', fontSize: '20px', color: '#222', fontWeight: '600',
183
+            display: '-webkit-box', lineClamp: '3', height: '60px',
184
+            WebkitLineClamp: '2',
185
+            WebkitBoxOrient: 'vertical',
186
+            overflow: 'hidden',
187
+            textOverflow: 'ellipsis'
188
+          }}>破晓·内容生态下半场的版权到企业高峰论坛会议破晓·内容生态下半场的版权到企业高峰论坛活动</p>
189
+
190
+          <img src={yinhao} style={{ width: '30px', marginLeft: '10px' }} alt="" />
191
+          <p style={{
192
+            margin: '16px 20px 28px 20px', fontSize: '17px', color: '#999',
193
+            display: '-webkit-box', lineClamp: '3', height: '76px',
194
+            WebkitLineClamp: '3',
195
+            WebkitBoxOrient: 'vertical',
196
+            overflow: 'hidden',
197
+            textOverflow: 'ellipsis'
198
+          }}>活动描述:破晓·内容生态下半场的版权到企业高峰论坛活动破晓·内容生态下半场的版权到企业高峰论坛活动破晓·内容生态下半场的版权到企业高峰论坛活动</p>
199
+          <img src={PosterBottom} style={{ width: '100%' }} alt="" />
200
+        </div>
201
+        <p style={{ textAlign: 'center', fontSize: '19px', color: '#666', marginTop: '30px' }}>海报模板</p>
202
+      </div>
203
+      <div></div>
204
+    </div>
164 205
   }
165
- 
206
+
166 207
   const Share = (props) => {
167
-    return <div>Share</div>
208
+    const fields = [
209
+      {
210
+        label: '分享模板',
211
+        name: 'buildingId',
212
+        render: () => <div style={{ margin: ' 10px 20px' }}>
213
+          <p style={{ display: 'flex', alignItems: 'center', fontSize: '14px', color: '#999', margin: '0', lineHeight: '0' }}><img src={logo} style={{ width: '22px', marginRight: '10px' }} />知与行互动</p>
214
+          <p style={{ fontSize: '16px', color: '#222', fontWeight: '600', margin: '0' }}>置业V客厅 精准获客平台</p>
215
+          <img style={{ width: '200px', height: '140px' }} src="http://house.china.com.cn/nanjing/UserFiles/20171124/11070256.jpg" alt="" />
216
+        </div>,
217
+      },
218
+      {
219
+        label: '海报标题',
220
+        name: 'newsTypeName',
221
+        type: FieldTypes.Text,
222
+        value: '',
223
+        rules: [
224
+          { required: true, message: '请输入咨询名称' },
225
+        ]
226
+      },
227
+      {
228
+        label: '类型图',
229
+        name: 'newsTypeImg',
230
+        type: FieldTypes.ImageUploader,
231
+        value: 'newsTypeImg',
232
+      },
233
+    ]
234
+    const handleSubmit = (values) => {
235
+
236
+    }
237
+    return <div>
238
+      <XForm onSubmit={handleSubmit} onCancel={cancelPage} fields={fields}></XForm>
239
+    </div>
168 240
   }
169 241
 
170 242
   return (
@@ -177,13 +249,13 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
177 249
         </Radio.Group>
178 250
       </div>
179 251
       <div>
180
-        { tab === 'basic' && <Basic /> }
181
-        { tab === 'poster' && <Poster /> }
182
-        { tab === 'share' && <Share /> }
252
+        {tab === 'basic' && <Basic />}
253
+        {tab === 'poster' && <Poster />}
254
+        {tab === 'share' && <Share />}
183 255
       </div>
184 256
     </div>
185 257
   );
186
- }
258
+}
187 259
 
188 260
 
189 261