傅行帆 5 years ago
parent
commit
ad1593eee8
3 changed files with 96 additions and 2 deletions
  1. 2
    1
      package.json
  2. 34
    0
      src/components/Wangedit/Wangedit.jsx
  3. 60
    1
      src/pages/activity/editActivity.jsx

+ 2
- 1
package.json View File

@@ -60,7 +60,8 @@
60 60
     "umi": "^2.8.7",
61 61
     "umi-plugin-pro-block": "^1.3.2",
62 62
     "umi-plugin-react": "^1.9.5",
63
-    "umi-request": "^1.0.8"
63
+    "umi-request": "^1.0.8",
64
+    "wangeditor": "^3.1.1"
64 65
   },
65 66
   "devDependencies": {
66 67
     "@ant-design/colors": "^3.1.0",

+ 34
- 0
src/components/Wangedit/Wangedit.jsx View File

@@ -0,0 +1,34 @@
1
+import React from 'react';
2
+import E from 'wangeditor'
3
+
4
+/**
5
+ *
6
+ *
7
+ * @param {*} props
8
+ * @returns
9
+ */
10
+class Wangedit extends React.Component {
11
+  constructor(props, context) {
12
+    super(props, context);
13
+    this.state = {}
14
+  }
15
+
16
+  render () {
17
+    return (
18
+      <div ref="editorElem" style={{textAlign: 'left'}}>
19
+      </div>
20
+    );
21
+  }
22
+
23
+  componentDidMount () {
24
+    const elem = this.refs.editorElem
25
+    const editor = new E(elem)
26
+    // 使用 onchange 函数监听内容的变化
27
+    editor.customConfig.onchange = this.props.onChange
28
+    editor.create()
29
+    editor.txt.html(this.props.value)
30
+  }
31
+}
32
+
33
+export default Wangedit
34
+

+ 60
- 1
src/pages/activity/editActivity.jsx View File

@@ -2,6 +2,8 @@ import React, { useState } from 'react';
2 2
 import { Form, Input, Button, Icon, Select, Tabs, Radio } from 'antd';
3 3
 import { FormattedMessage } from 'umi-plugin-react/locale';
4 4
 import styles from '../style/GoodsList.less';
5
+import XForm, { FieldTypes } from '../../components/XForm';
6
+import Wangedit from '../../components/Wangedit/Wangedit'
5 7
 
6 8
 /**
7 9
  *
@@ -15,7 +17,64 @@ import styles from '../style/GoodsList.less';
15 17
   console.log(dynamicId)
16 18
 
17 19
   const Basic = (props) => {
18
-  return <div>Basic</div>
20
+    const fields = [
21
+      {
22
+        label: '所属项目',
23
+        name: 'org_id',
24
+        type: FieldTypes.Text
25
+      },
26
+      {
27
+        label: '主图',
28
+        name: 'city_id',
29
+        type: FieldTypes.ImageUploader,
30
+      },
31
+      {
32
+        label: '活动标题',
33
+        name: 'share_num',
34
+        type: FieldTypes.Text,
35
+        placeholder: '不填, 默认使用手机号'
36
+      },
37
+      {
38
+        label: '活动时间',
39
+        name: 'save_num',
40
+        type: FieldTypes.Text,
41
+        rules: [
42
+          {required: true, message: '请填写手机号'}
43
+        ]
44
+      },
45
+      {
46
+        label: '活动地点',
47
+        name: 'pv_num',
48
+        type: FieldTypes.ImageUploader,
49
+        extra: '建议图片大小 128 * 128'
50
+      },
51
+      {
52
+        label: '活动人数',
53
+        name: 'favor_num',
54
+        type: FieldTypes.DatePicker,
55
+      },
56
+      {
57
+        label: '活动详情',
58
+        name: 'expDate',
59
+        render: <Wangedit />,
60
+        value: "222222",
61
+      },
62
+      {
63
+        label: '是否需要报名',
64
+        name: 'volume_rate',
65
+        type: FieldTypes.DatePicker,
66
+      },
67
+      {
68
+        label: '报名时间',
69
+        name: 'parking_rate',
70
+        type: FieldTypes.DatePicker,
71
+      },
72
+    ]
73
+  
74
+    const handleSubmit = val => {
75
+      window.console.log('submit data --->', val)
76
+    }
77
+    return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
19 78
   }
20 79
   
21 80
   const Poster = (props) => {