Browse Source

编辑项目-项目类型

魏熙美 5 years ago
parent
commit
36cb5ebfd0

+ 15
- 2
src/components/SelectButton/BuildSelect.jsx View File

@@ -1,10 +1,18 @@
1
-import React, { useState, useEffect } from 'react';
1
+import React, { useState, useEffect, useRef } from 'react';
2 2
 import { Select } from 'antd';
3 3
 
4 4
 import request from '../../utils/request'
5 5
 
6 6
 const { Option } = Select;
7 7
 
8
+function usePrevious(props) {
9
+  const ref = useRef();
10
+  useEffect(() => {
11
+    ref.current = props;
12
+  });
13
+  return ref.current;
14
+}
15
+
8 16
 /**
9 17
  *
10 18
  *
@@ -13,7 +21,12 @@ const { Option } = Select;
13 21
  */
14 22
 const BuildingSelect = (props) => {
15 23
   const [ data, setData ] = useState([])
16
-  const [ value, setValue ] = useState(props.value)
24
+  const [ value, setValue ] = useState('')
25
+  const preProps = usePrevious(props)
26
+  
27
+  if ((!preProps || !preProps.value) && props.value && !value) {
28
+    setValue(props.value)
29
+  }
17 30
 
18 31
   useEffect(() => {
19 32
     getCityList();

+ 1
- 1
src/global.less View File

@@ -79,7 +79,7 @@ ol {
79 79
 .ant-menu-vertical-left .ant-menu-submenu-title,
80 80
 .ant-menu-vertical-right .ant-menu-submenu-title,
81 81
 .ant-menu-inline .ant-menu-submenu-title,
82
-.ant-input ,.ant-btn{
82
+.ant-input ,.ant-btn,.ant-select,.ant-table {
83 83
   font-size: 16px;
84 84
 }
85 85
 .ant-breadcrumb{

+ 1
- 1
src/models/login.js View File

@@ -50,7 +50,7 @@ const Model = {
50 50
     *logout(_, { put, call }) {
51 51
       const { redirect } = getPageQuery(); // redirect
52 52
 
53
-      yield call(signout, { logout: true });
53
+      yield call(signout);
54 54
 
55 55
       if (window.location.pathname !== '/user/login' && !redirect) {
56 56
         yield put(

+ 1
- 1
src/pages/building/list/add/components/base.jsx View File

@@ -105,7 +105,7 @@ function AddBuilding(props) {
105 105
           <Form.Item label="均价" hasFeedback>
106 106
             {getFieldDecorator('price')(<Input />)}
107 107
           </Form.Item>
108
-          <Form.Item label="开盘时间" hasFeedback>
108
+          <Form.Item label="开盘时间"  hasFeedback>
109 109
             {getFieldDecorator('openingDate')(<DatePicker format="YYYY/MM/DD" />)}
110 110
           </Form.Item>
111 111
           <Form.Item label="电话" hasFeedback>

+ 4
- 4
src/pages/building/type/index.jsx View File

@@ -20,7 +20,7 @@ function body() {
20 20
       title: '类型名称',
21 21
       dataIndex: 'buildingTypeName',
22 22
       key: 'buildingTypeName',
23
-      render: (_, record) => <Tag color="blue" onClick={() => toEdi(record.buildingTypeId)}>{ record.buildingTypeName }</Tag>,
23
+      render: (_, record) => <Tag color="blue" onClick={() => toEdi(record.buildingTypeId)}>{record.buildingTypeName}</Tag>,
24 24
     },
25 25
     {
26 26
       title: '创建时间',
@@ -35,9 +35,9 @@ function body() {
35 35
       render: (_, record) => (
36 36
         <span onClick={() => deleteType(record)}>
37 37
           <span style={{
38
-              color: '#FF4A4A', right: '0',
38
+            color: '#FF4A4A', right: '0',
39 39
           }} >
40
-              删除
40
+            删除
41 41
           <Icon type="rest" style={{ color: '#C0C4CC', marginLeft: '8px' }} />
42 42
           </span>
43 43
         </span>
@@ -97,7 +97,7 @@ function body() {
97 97
   return (
98 98
     <>
99 99
       <Button type="danger" onClick={() => toEdi()}>新增类型</Button>
100
-      <Table style={{marginTop:'30px'}} dataSource={data.records} columns={columns} pagination={false}/>
100
+      <Table style={{ marginTop: '30px' }} dataSource={data.records} columns={columns} pagination={false} />
101 101
       {/* 分页 */}
102 102
       <div style={{ display: 'flex', justifyContent: 'flex-end', marginTop: '30px' }}>
103 103
         <Pagination showQuickJumper defaultCurrent={1} total={data.total} onChange={onChange} />

+ 3
- 11
src/pages/staff/list/editStaff.jsx View File

@@ -26,8 +26,6 @@ const Edit = (props) => {
26 26
   const [userData, setUserData] = useState({})
27 27
   const [tagData, setTagData] = useState([])
28 28
 
29
-  console.log(userData,"user----》")
30
-
31 29
   const getTagList = () => {
32 30
     request({
33 31
       url: '/api/admin/taTags',
@@ -61,7 +59,6 @@ const Edit = (props) => {
61 59
   }
62 60
 
63 61
   const handleSubmit = val => {
64
-    window.console.log('submit data --->', val)
65 62
     if(userId){
66 63
       request({
67 64
         url: '/api/admin/taUser/' + userId,
@@ -148,10 +145,7 @@ const Edit = (props) => {
148 145
       label: '授权项目',
149 146
       name: 'buildingId',
150 147
       render: <BuildSelect />,
151
-      value: userData.buildingId,
152
-      rules: [
153
-        { required: true, message: '请选择所属项目' },
154
-      ],
148
+      value: userData.buildingId
155 149
     },
156 150
     {
157 151
       label: '图片',
@@ -180,11 +174,9 @@ const Edit = (props) => {
180 174
     },
181 175
   ]
182 176
 
183
-  return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
184
-
185
-
186
-
177
+  console.log('--------->', fields)
187 178
 
179
+  return <XForm onSubmit={handleSubmit} fields={fields}></XForm>
188 180
 }
189 181
 
190 182
 

+ 2
- 0
src/services/apis.js View File

@@ -19,10 +19,12 @@ export default {
19 19
     signin: {
20 20
       method: 'POST',
21 21
       url: `${prefix}/taUser/signin`,
22
+      login: true
22 23
     },
23 24
     signout: {
24 25
       method: 'POST',
25 26
       url: `${prefix}/taUser/signout`,
27
+      logout: true
26 28
     },
27 29
   },
28 30
   building: {

+ 1
- 1
src/utils/mixStr.js View File

@@ -12,7 +12,7 @@ const fill2Len = (str, len) => {
12 12
   return str.repeat(Math.floor(len / orginLen)) + str.substr(0, len % orginLen)
13 13
 }
14 14
 
15
-const mixChars = window.navigator.userAgent + (new Date).toUTCString().replace(/\d{2}:\d{2}:\d{2}/, '')
15
+const mixChars = window.navigator.userAgent // + (new Date).toUTCString().replace(/\d{2}:\d{2}:\d{2}/, '')
16 16
 
17 17
 const strXOR = (str, mix) => {
18 18
   if (!str) return str

+ 4
- 3
src/utils/request.js View File

@@ -33,15 +33,16 @@ const replaceURLParams = (url, params = {}) => {
33 33
 }
34 34
 
35 35
 request.interceptors.request.use((url, options) => {
36
-  const { urlData, headers = {}, logout = false, data, ...opts } = options
36
+  const { urlData, headers = {}, logout = false, login = false, data, ...opts } = options
37 37
   const apiURL = urlData ? replaceURLParams(url, urlData) : url
38 38
   const token = mixStr(window.localStorage.getItem('test-foobar'))
39
-  const authHeader = token ? { Authorization: `Bearer ${token}` } : {}
40 39
 
41
-  if (logout) {
40
+  if (login || logout) {
42 41
     window.localStorage.removeItem('test-foobar')
43 42
   }
44 43
 
44
+  const authHeader = !login ? { Authorization: `Bearer ${token}` } : {}
45
+
45 46
   return (
46 47
     {
47 48
       url: apiURL,