소스 검색

Merge branch 'master' of http://git.ycjcjy.com/zhiyuxing/estateagents-admin-manager

魏熙美 5 년 전
부모
커밋
e236f64292
2개의 변경된 파일70개의 추가작업 그리고 84개의 파일을 삭제
  1. 69
    83
      src/pages/staff/list/addRole.jsx
  2. 1
    1
      src/pages/staff/list/editRole.jsx

+ 69
- 83
src/pages/staff/list/addRole.jsx 파일 보기

@@ -1,11 +1,10 @@
1 1
 import React, { useState, useEffect } from 'react';
2
-import { Checkbox, Input, Card } from 'antd';
2
+import { Checkbox, Input, Card, Form, Button } from 'antd';
3 3
 import { connect } from 'dva';
4 4
 import XForm, { FieldTypes } from '../../../components/XForm';
5 5
 import request from '../../../utils/request';
6 6
 import channels from './channelList.less';
7 7
 import { resolve } from 'path';
8
-
9 8
 const { TextArea } = Input;
10 9
 
11 10
 
@@ -15,18 +14,21 @@ const { TextArea } = Input;
15 14
  * @param {*} props
16 15
  * @returns
17 16
  */
18
-const add = props => {
19
-  const Poster = propses => {
17
+  const Poster = props => {
20 18
     console.log('props,props', props.user.currentUser)
21 19
     const userMenus = props.user.currentUser.menus;
22 20
     const userBtns = props.user.currentUser.buttons;
23
-    const [data, setData] = useState({ data: [] })
21
+
24 22
    // 获取当前所有菜单
23
+   const [data, setData] = useState({ data: [] })
24
+   const [buutonDate, setBuutonDate] = useState({ })
25 25
     useEffect(() => {
26 26
       localStorage.removeItem('value');
27 27
       menuList({ pageNum: 1, pageSize: 100 })
28
+      buttonList({ pageNum: 1, pageSize: 100 })
29
+      // buttonAndMenuList()
28 30
     }, [])
29
-  
31
+
30 32
     function menuList(params) {
31 33
       request({
32 34
         url: '/api/admin/menuList',
@@ -38,16 +40,38 @@ const add = props => {
38 40
         setData(data)
39 41
     })
40 42
     }
43
+    // 所有按钮
44
+    function buttonList(params) {
45
+      request({
46
+        url: '/api/admin/buttonList',
47
+        method: 'GET',
48
+        params: { ...params },
49
+    // eslint-disable-next-line no-shadow
50
+    }).then(data => {
51
+        console.log(data)
52
+        setBuutonDate(data)
53
+    })
54
+    }
41 55
 
56
+    // 根据角色id查询当前的菜单及其按钮
57
+    function buttonAndMenuList(params) {
58
+      request({
59
+        url: `/api/admin/taRole/details/${2}`,
60
+        method: 'GET',
61
+        params: { ...params },
62
+    // eslint-disable-next-line no-shadow
63
+    }).then(data => {
64
+        console.log(data)
65
+        setData(data)
66
+    })
67
+    }
42 68
 
43 69
     // const [menus, setMenus] = useState([]);
44
-// 判断menus是否有值
70
+    // 判断menus是否有值
45 71
     const [menus, setMenus] = useState([]);
46
-
47
-
48 72
     const addMenus = m => {
49
-      const newMenus = [...menus, m]
50
-      setMenus([...menus, m])
73
+    const newMenus = [...menus, m]
74
+          setMenus([...menus, m])
51 75
     };
52 76
     const delMenus = m => setMenus(menus.filter(x => x.menuId !== m.menuId));
53 77
     const handleMenuChange = m => e => {
@@ -58,7 +82,6 @@ const add = props => {
58 82
       } else {
59 83
         delMenus(m)
60 84
       }
61
-      console.log('menus1111', menus)
62 85
     }
63 86
 
64 87
     const [but, setBut] = useState([]);
@@ -72,32 +95,7 @@ const add = props => {
72 95
           } else {
73 96
             delBut(m)
74 97
           }
75
-          // console.log('menus', menus)
76
-
77
-          console.log('menus', menus)
78
-          console.log('but', but)
79 98
         }
80
-
81
-    const dataSource = [
82
-      {
83
-        name: '员工管理',
84
-        per: [
85
-          '111111',
86
-          '22222',
87
-          '33333',
88
-        ],
89
-      },
90
-      {
91
-        name: '角色管理',
92
-        per: [
93
-          '444',
94
-          '555',
95
-          '666',
96
-        ],
97
-      },
98
-    ];
99
-
100
-
101 99
     const gridStyle1 = {
102 100
       width: '20%',
103 101
       textAlign: 'left',
@@ -108,11 +106,31 @@ const add = props => {
108 106
       height: '69px',
109 107
     };
110 108
 
109
+    function handleSubmit (e) {
110
+      e.preventDefault();
111
+      props.form.validateFields((err, values) => {
112
+        request({
113
+          url: '/api/admin/updateAuthMenu',
114
+          method: 'PUT',
115
+          data: { sysMenu: menus },
116
+      // eslint-disable-next-line no-shadow
117
+      }).then(data => {
118
+          console.log(data)
119
+          setData(data)
120
+      })
121
+      });
122
+    }
123
+    const { getFieldDecorator } = props.form;
111 124
     return (
112 125
     <>
113 126
       <div >
114
-        {/* { console.log('userMenus', userMenus) }
115
-        { console.log('userBtns', userBtns) } */}
127
+        <Form labelCol={{ span: 7 }} wrapperCol={{ span: 12 }} onSubmit={handleSubmit}>
128
+        <Form.Item label="渠道名称">
129
+          {getFieldDecorator('channelName', {
130
+            rules: [{ required: true, message: '请输入渠道名称' }],
131
+          })(<Input className={channels.inpuit} />)}
132
+
133
+        </Form.Item>
116 134
         {userMenus.map(item => (
117 135
           (item.parentCode === '-1') &&
118 136
           <Card title={<Checkbox onChange={handleMenuChange(item)}>{item.name}</Checkbox>} bordered style={{ width: '100%', alignItems: 'center' }} >
@@ -125,7 +143,7 @@ const add = props => {
125 143
                           <Checkbox onChange={handleMenuChange(menu)}>{menu.name}</Checkbox>
126 144
                       </Card.Grid>
127 145
                       <Card.Grid style={gridStyle2}>
128
-                        {userBtns.map(btn => (
146
+                        {buutonDate.length > 0 && buutonDate.map(btn => (
129 147
                           <>
130 148
                             {
131 149
                               btn.menuId === menu.menuId &&
@@ -139,50 +157,18 @@ const add = props => {
139 157
               }
140 158
           </Card>
141 159
         ))}
160
+        <Form.Item wrapperCol={{ span: 15, offset: 7 }}>
161
+          <Button type="primary" htmlType="submit">
162
+            保存
163
+          </Button>
164
+          <Button className={channels.formButton} type="primary" htmlType="submit">
165
+            取消
166
+          </Button>
167
+        </Form.Item>
168
+      </Form>
142 169
       </div>
143 170
     </>
144 171
     )
145 172
   }
146
-  
147
-  const fields = [
148
-    {
149
-      label: '角色名称',
150
-      name: 'roleName',
151
-      type: FieldTypes.Text,
152
-      // placeholder: '名称',
153
-      value: ''
154
-    },
155
-    {
156
-      label: '简介',
157
-      name: 'roleIntroduction',
158
-      render: <TextArea className={channels.inpuitTxt} ></TextArea>,
159
-      value: ''
160
-
161
-    },
162
-
163
-    {
164
-      label: '菜单权限',
165
-      name: 'rolePermission',
166
-      render:
167
-        <>
168
-          <div>
169
-            <Poster/>
170
-          </div>
171
-        </>,
172
-    },
173
-
174
-  ]
175
-  const handleSubmit = val => {
176
-    window.console.log('submit data --->', val)
177
-    request({
178
-      url: '/api/admin/menuList',
179
-      method: 'POST',
180
-      params: { ...params },
181
-  // eslint-disable-next-line no-shadow
182
-  }).then(data => {
183
-      console.log(data)
184
-  })
185
-  }
186
-  return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
187
-}
188
-export default connect(({ user }) => ({ user }))(add);
173
+const WrappedNormalLoginForm = Form.create({ name: 'Poster' })(Poster);
174
+export default connect(({ user }) => ({ user }))(WrappedNormalLoginForm);

+ 1
- 1
src/pages/staff/list/editRole.jsx 파일 보기

@@ -179,7 +179,7 @@ const Edit = props => {
179 179
       render:
180 180
         <>
181 181
           <div>
182
-            <Poster value="111111" />
182
+            <Poster/>
183 183
           </div>
184 184
         </>,
185 185
     },