Browse Source

项目,客户 查询修复

魏熙美 5 years ago
parent
commit
0a7983d854

+ 2
- 0
.gitignore View File

@@ -38,3 +38,5 @@ screenshot
38 38
 .eslintcache
39 39
 
40 40
 build
41
+
42
+config/proxy.js

+ 348
- 0
config/routes.js View File

@@ -0,0 +1,348 @@
1
+export default [
2
+  {
3
+    path: '/user',
4
+    component: '../layouts/UserLayout',
5
+    routes: [
6
+      {
7
+        name: 'login',
8
+        path: '/user/login',
9
+        component: './user/login',
10
+      },
11
+    ],
12
+  },
13
+  {
14
+    path: '/',
15
+    component: '../layouts/SecurityLayout',
16
+    routes: [
17
+      {
18
+        path: '/',
19
+        component: '../layouts/BasicLayout',
20
+        authority: ['admin', 'user'],
21
+        routes: [
22
+          {
23
+            path: '/',
24
+            redirect: '/welcome',
25
+          },
26
+          {
27
+            path: '/welcome',
28
+            name: '首页',
29
+            component: './Welcome',
30
+          },
31
+          {
32
+            path: '/building',
33
+            name: '项目管理',
34
+            component: '../layouts/BlankLayout',
35
+            routes: [
36
+              {
37
+                path: '/building/list',
38
+                name: '项目列表',
39
+                component: './building/list/index',
40
+              },
41
+              {
42
+                path: '/building/list/add',
43
+                name: '项目添加', // 项目添加
44
+                hideInMenu: true,
45
+                component: './building/list/add/index',
46
+              },
47
+              {
48
+                path: '/building/type',
49
+                name: '项目类型',
50
+                component: './building/type/index',
51
+              },
52
+              {
53
+                path: '/building/type/edi',
54
+                name: '项目类型编辑',
55
+                hideInMenu: true,
56
+                component: './building/type/edi',
57
+              },
58
+            ],
59
+          },
60
+          {
61
+            path: '/customer',
62
+            name: '客户管理',
63
+            component: '../layouts/BlankLayout',
64
+            routes: [
65
+              {
66
+                path: '/customer/customerlist/list',
67
+                name: '客户列表',
68
+                component: './customer/customerlist/index',
69
+              },
70
+              {
71
+                path: '/customer/customerlist/customerDetail',
72
+                name: '客户编辑',
73
+                hideInMenu: true,
74
+                component: './customer/customerlist/customerDetail',
75
+              },
76
+              {
77
+                path: '/customer/drift/list',
78
+                name: '游客列表',
79
+                component: './customer/drift/index',
80
+              },
81
+              {
82
+                path: '/customer/report/list',
83
+                name: '报备客户',
84
+                component: './customer/report/index',
85
+              },
86
+              {
87
+                path: '/customer/recommendCustomer/list',
88
+                name: '推荐客户',
89
+                component: './customer/recommendCustomer/index',
90
+              },
91
+              {
92
+                path: '/customer/recommendCustomer/audit',
93
+                name: '客户审核', 
94
+                hideInMenu: true,
95
+                component: './customer/recommendCustomer/audit',
96
+              },
97
+              {
98
+                path: '/customer/independentList',
99
+                name: '经纪人',
100
+                component: './customer/independentList/index',
101
+              },
102
+            ],
103
+          },
104
+          {
105
+            path: '/integralMall',
106
+            name: '积分商城',
107
+            component: '../layouts/BlankLayout',
108
+            routes: [
109
+              {
110
+                path: '/integralMall/GoodsList',
111
+                name: '商品列表',
112
+                component: './integralMall/GoodsList',
113
+              },
114
+              {
115
+                path: '/integralMall/achieve',
116
+                name: '积分获取',
117
+                component: './integralMall/achieve',
118
+              },
119
+              {
120
+                path: '/integralMall/editGoods',
121
+                name: '商品编辑',
122
+                hideInMenu: true,
123
+                component: './integralMall/editGoods',
124
+              },
125
+              {
126
+                path: '/integralMall/exchangeRecords',
127
+                name: '兑换记录',
128
+                component: './integralMall/exchangeRecords',
129
+              },
130
+              {
131
+                path: '/integralMall/writeOff',
132
+                name: '商品核销',
133
+                component: './integralMall/writeOff',
134
+              },
135
+              {
136
+                path: '/integralMall/verifyList',
137
+                name: '商品核销列表',
138
+                hideInMenu: true,
139
+                component: './integralMall/verifyList',
140
+              },
141
+            ],
142
+          },
143
+          {
144
+            path: '/channel',
145
+            name: '渠道管理',
146
+            component: '../layouts/BlankLayout',
147
+            routes: [
148
+              {
149
+                path: '/channel/channelList',
150
+                name: '渠道管理',
151
+                component: './channel/channelList',
152
+              },
153
+              {
154
+                path: '/channel/addChannel',
155
+                name: '添加渠道',
156
+                hideInMenu: true,
157
+                component: './channel/addChannel',
158
+              },
159
+              {
160
+                path: '/channel/editChannel',
161
+                name: '编辑渠道',
162
+                hideInMenu: true,
163
+                component: './channel/editChannel',
164
+              },
165
+              {
166
+                path: '/channel/brokerList',
167
+                name: '经纪人',
168
+                component: './channel/brokerList',
169
+              },
170
+              {
171
+                path: '/channel/recommendClients',
172
+                name: '渠道推荐',
173
+                hideInMenu: true,
174
+                component: './channel/recommendClients',
175
+              },
176
+              {
177
+                path: '/channel/InviteClients',
178
+                name: '邀请客户',
179
+                hideInMenu: true,
180
+                component: './channel/InviteClients',
181
+              },
182
+            ],
183
+          },
184
+          {
185
+            path: '/news',
186
+            name: '资讯管理',
187
+            component: '../layouts/BlankLayout',
188
+            routes: [
189
+              {
190
+                path: '/news/type/NewsType',
191
+                name: '资讯类型',
192
+                component: './news/type/NewsType',
193
+              },
194
+              {
195
+                path: '/news/type/editNews',
196
+                name: '编辑资讯类型',
197
+                hideInMenu: true,
198
+                component: './news/type/editNews',
199
+              },
200
+              {
201
+                path: '/news/list/NewsList',
202
+                name: '资讯列表',
203
+                component: './news/list/NewsList',
204
+              },
205
+              {
206
+                path: '/news/list/editNewsList',
207
+                name: '编辑资讯',
208
+                hideInMenu: true,
209
+                component: './news/list/editNewsList',
210
+              },
211
+            ],
212
+          },
213
+          {
214
+            path: '/activity',
215
+            name: '活动管理',
216
+            component: '../layouts/BlankLayout',
217
+            routes: [
218
+              {
219
+                path: '/activity/ActivityList',
220
+                name: '活动列表',
221
+                component: './activity/ActivityList',
222
+              },
223
+              {
224
+                path: '/activity/editActivity',
225
+                name: '编辑活动',
226
+                hideInMenu: true,
227
+                component: './activity/editActivity',
228
+              },
229
+              {
230
+                path: '/activity/SignList',
231
+                name: '报名列表',
232
+                hideInMenu: true,
233
+                component: './activity/SignList',
234
+              },
235
+            ],
236
+          },
237
+          {
238
+            path: '/staff',
239
+            name: '员工管理',
240
+            component: '../layouts/BlankLayout',
241
+            routes: [
242
+              {
243
+                path: '/staff/StaffList',
244
+                name: '员工列表',
245
+                component: './staff/list/StaffList',
246
+              },
247
+              {
248
+                path: '/staff/editStaff',
249
+                name: '编辑员工',
250
+                hideInMenu: true,
251
+                component: './staff/list/editStaff',
252
+              },
253
+
254
+              {
255
+                path: '/staff/RoleList',
256
+                name: '角色管理',
257
+                component: './staff/list/RoleList',
258
+              },
259
+              {
260
+                path: '/staff/editRole',
261
+                name: '编辑角色',
262
+                hideInMenu: true,
263
+                component: './staff/list/editRole',
264
+              },
265
+              {
266
+                path: '/staff/list/addRole',
267
+                name: '添加角色',
268
+                hideInMenu: true,
269
+                component: './staff/list/addRole',
270
+              },  
271
+            ],
272
+          },
273
+          {
274
+            path: '/carouselFigure',
275
+            name: '轮播图管理',
276
+            component: '../layouts/BlankLayout',
277
+            routes: [
278
+              {
279
+                path: '/carouselFigure/carouselFigureList',
280
+                name: '轮播图列表',
281
+                component: './carouselFigure/carouselFigureList',
282
+              },
283
+              {
284
+                path: '/carouselFigure/editCarousel',
285
+                name: '轮播图编辑',
286
+                hideInMenu: true,
287
+                component: './carouselFigure/editCarousel',
288
+              },
289
+              {
290
+                path: '/carouselFigure/advertisingList',
291
+                name: '开屏广告',
292
+                component: './carouselFigure/advertisingList',
293
+              },
294
+              {
295
+                path: '/carouselFigure/editAdvertising',
296
+                name: '开屏广告编辑',
297
+                hideInMenu: true,
298
+                component: './carouselFigure/editAdvertising',
299
+              },
300
+            ],
301
+          },
302
+          {
303
+            path: '/system',
304
+            name: '系统管理',
305
+            component: '../layouts/BlankLayout',
306
+            routes: [
307
+              {
308
+                path: '/system/messageList',
309
+                name: '客户留言',
310
+                component: './system/messageList',
311
+              },
312
+              {
313
+                path: '/system/report',
314
+                name: '报表数据',
315
+                component: './system/report',
316
+              },
317
+              {
318
+                path: '/system/intention',
319
+                name: '意向值',
320
+                component: './system/intention',
321
+              },
322
+              {
323
+                path: '/system/housingPolicy',
324
+                name: '购房政策维护',
325
+                component: './system/housingPolicy',
326
+              },
327
+              {
328
+                path: '/system/editPolicy',
329
+                name: '购房政策编辑',
330
+                hideInMenu: true,
331
+                component: './system/editPolicy',
332
+              },
333
+            ],
334
+          },
335
+          {
336
+            component: './404',
337
+          },
338
+        ],
339
+      },
340
+      {
341
+        component: './404',
342
+      },
343
+    ],
344
+  },
345
+  {
346
+    component: './404',
347
+  },
348
+];

+ 16
- 16
src/app.js View File

@@ -1,20 +1,20 @@
1
-// (function (doc, win) {
2
-//   var docEl = doc.documentElement,
3
-//     resizeEvt = 'onorientationchange' in window ? 'onorientationchange' : 'resize',
4
-//     recalc = function () {
5
-//       var clientWidth = docEl.clientWidth;
6
-//       if (!clientWidth) return;
7
-//       if (clientWidth >= 750) {
8
-//         docEl.style.fontSize = '100px';
9
-//       } else {
10
-//         docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
11
-//       }
12
-//     };
1
+(function (doc, win) {
2
+  var docEl = doc.documentElement,
3
+    resizeEvt = 'onorientationchange' in window ? 'onorientationchange' : 'resize',
4
+    recalc = function () {
5
+      var clientWidth = docEl.clientWidth;
6
+      if (!clientWidth) return;
7
+      if (clientWidth < 1200) {
8
+        docEl.style.fontSize = '100px';
9
+      } else {
10
+        docEl.style.fontSize = 100 * (clientWidth / 1200) + 'px';
11
+      }
12
+    };
13 13
 
14
-//   if (!doc.addEventListener) return;
15
-//   win.addEventListener(resizeEvt, recalc, false);
16
-//   doc.addEventListener('DOMContentLoaded', recalc, false);
17
-// })(document, window);
14
+  if (!doc.addEventListener) return;
15
+  win.addEventListener(resizeEvt, recalc, false);
16
+  doc.addEventListener('DOMContentLoaded', recalc, false);
17
+})(document, window);
18 18
 
19 19
 export const dva = {
20 20
   config: {

+ 9
- 1
src/components/EchartsTest/EChart.jsx View File

@@ -5,11 +5,19 @@ import echarts from 'echarts/lib/echarts';
5 5
 // 引入柱状图
6 6
 import 'echarts/lib/chart/bar';
7 7
 import 'echarts/lib/chart/pie';
8
+import 'echarts/lib/chart/scatter';
9
+import 'echarts/lib/chart/effectScatter';
10
+import 'echarts/lib/chart/map';
8 11
 // 引入提示框和标题组件
9 12
 import 'echarts/lib/component/tooltip';
10 13
 import 'echarts/lib/component/legend';
11 14
 import 'echarts/lib/component/title';
15
+import 'echarts/lib/component/geo';
16
+import 'echarts/lib/component/visualMap';
12 17
 
18
+import { ChinaData } from './china';
19
+
20
+echarts.registerMap('china', ChinaData);
13 21
 
14 22
 class EchartsTest extends Component {
15 23
     chartRef = React.createRef();
@@ -33,7 +41,7 @@ class EchartsTest extends Component {
33 41
                 ...this.props.options || {},
34 42
             }
35 43
 
36
-            console.log(options)
44
+            console.log('----options--->', options)
37 45
 
38 46
             this.chart.setOption(options);
39 47
         }

+ 1
- 0
src/components/EchartsTest/china.js
File diff suppressed because it is too large
View File


+ 10
- 3
src/global.less View File

@@ -80,15 +80,22 @@ ol {
80 80
 .ant-menu-vertical-right .ant-menu-submenu-title,
81 81
 .ant-menu-inline .ant-menu-submenu-title,
82 82
 .ant-input ,.ant-btn,.ant-select,.ant-table,.ant-form-item,.ant-form label,.ant-tabs-nav-container {
83
-  font-size: 16px;
83
+  font-size: 0.1rem;
84
+  
85
+}
86
+.ant-input{
87
+  height: 32px;
88
+  border-radius: 4px;
89
+  padding: 0 0 0 10px;
90
+  align-items: center;
84 91
 }
85 92
 .ant-row.ant-form-item .ant-form-item-label.ant-col-sm-3{
86 93
   min-width: 100px;
87 94
 }
88 95
 .ant-breadcrumb{
89
-  font-size: 16px;
96
+  font-size: 0.1rem;
90 97
   .anticon {
91
-    font-size: 16px;
98
+    font-size: 0.1rem;
92 99
   }
93 100
 } 
94 101
   .ant-pro-global-header-trigger{

+ 5
- 2
src/pages/Welcome.jsx View File

@@ -1,7 +1,9 @@
1 1
 import React from 'react';
2 2
 import { Card, Typography, Alert, Row, Col } from 'antd';
3 3
 import { FormattedMessage } from 'umi-plugin-react/locale';
4
-import EchartsTest from '../components/EchartsTest'
4
+import EchartsTest from '../components/EchartsTest';
5
+import CityNums from './charts/CityNums';
6
+
5 7
 const option = {
6 8
   xAxis: {
7 9
     type: 'category',
@@ -15,6 +17,7 @@ const option = {
15 17
     type: 'line'
16 18
   }]
17 19
 };
20
+
18 21
 export default () => (
19 22
   <>
20 23
     <div style={{ display: 'flex' }}>
@@ -44,7 +47,7 @@ export default () => (
44 47
       </div>
45 48
     </div>
46 49
     <EchartsTest style={{width: 500, height:500}}></EchartsTest>
47
-
50
+    <CityNums></CityNums>
48 51
   </>
49 52
 );
50 53
 

+ 0
- 401
src/pages/building/list/add/amap.css View File

@@ -1,401 +0,0 @@
1
-html {
2
-  font-size: 12px;
3
-}
4
-.amap-copyright {
5
-  box-sizing: content-box;
6
-}
7
-* {
8
-  box-sizing: border-box;
9
-}
10
-.input-textarea {
11
-  color: grey;
12
-  height: 8em;
13
-  overflow: auto;
14
-  border-radius: 0.4rem;
15
-  border: 1px solid #ced4da;
16
-  margin-bottom: 1rem;
17
-}
18
-body {
19
-  margin: 0;
20
-  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
21
-  line-height: 1.5;
22
-  font-weight: 300;
23
-  color: #111213;
24
-}
25
-hr {
26
-  margin: 0.5rem 0;
27
-  box-sizing: content-box;
28
-  height: 0;
29
-  overflow: visible;
30
-  border: 0;
31
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
32
-}
33
-p {
34
-  margin-top: 0;
35
-  margin-bottom: 0;
36
-}
37
-label {
38
-  display: inline-block;
39
-  margin-bottom: 0.4rem;
40
-}
41
-label,
42
-.btn {
43
-  margin-left: 0;
44
-  font-size: 1rem;
45
-}
46
-button,
47
-input,
48
-select {
49
-  margin: 0;
50
-  font-family: inherit;
51
-  font-size: inherit;
52
-  line-height: inherit;
53
-  overflow: visible;
54
-  text-transform: none;
55
-}
56
-[type=button]::-moz-focus-inner,
57
-[type=reset]::-moz-focus-inner,
58
-[type=submit]::-moz-focus-inner,
59
-button::-moz-focus-inner {
60
-  padding: 0;
61
-  border-style: none;
62
-}
63
-input[type=checkbox],
64
-input[type=radio] {
65
-  -webkit-box-sizing: border-box;
66
-  box-sizing: border-box;
67
-  padding: 0;
68
-  margin: 0 0.5rem 0 0;
69
-}
70
-h4 {
71
-  font-family: inherit;
72
-  line-height: 1.8;
73
-  font-weight: 300;
74
-  color: inherit;
75
-  font-size: 1.1rem;
76
-  margin-top: 0;
77
-  margin-bottom: 0.5rem;
78
-}
79
-.btn {
80
-  display: inline-block;
81
-  font-weight: 400;
82
-  text-align: center;
83
-  white-space: nowrap;
84
-  vertical-align: middle;
85
-  -webkit-user-select: none;
86
-  -moz-user-select: none;
87
-  -ms-user-select: none;
88
-  user-select: none;
89
-  border: 1px solid transparent;
90
-  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
91
-  background-color: transparent;
92
-  background-image: none;
93
-  color: #25A5F7;
94
-  border-color: #25A5F7;
95
-  padding: .25rem .5rem;
96
-  line-height: 1.5;
97
-  border-radius: 1rem;
98
-  -webkit-appearance: button;
99
-  cursor: pointer;
100
-}
101
-.btn:hover {
102
-  color: #fff;
103
-  background-color: #25A5F7;
104
-  border-color: #25A5F7;
105
-}
106
-.btn:hover {
107
-  text-decoration: none;
108
-}
109
-.input-item {
110
-  position: relative;
111
-  display: -ms-flexbox;
112
-  display: flex;
113
-  -ms-flex-wrap: wrap;
114
-  flex-wrap: wrap;
115
-  -ms-flex-align: center;
116
-  align-items: center;
117
-  width: 100%;
118
-  height: 3rem;
119
-}
120
-.input-item:last-child {
121
-  margin-bottom: 0;
122
-}
123
-.input-item > select,
124
-.input-item > input[type=text],
125
-.input-item > input[type=date] {
126
-  position: relative;
127
-  -ms-flex: 1 1 auto;
128
-  flex: 1 1 auto;
129
-  width: 1%;
130
-  margin-bottom: 0;
131
-}
132
-.input-item > select:not(:last-child),
133
-.input-item > input[type=text]:not(:last-child),
134
-.input-item > input[type=date]:not(:last-child) {
135
-  border-top-right-radius: 0;
136
-  border-bottom-right-radius: 0;
137
-}
138
-.input-item > select:not(:first-child),
139
-.input-item > input[type=text]:not(:first-child),
140
-.input-item > input[type=date]:not(:first-child) {
141
-  border-top-left-radius: 0;
142
-  border-bottom-left-radius: 0;
143
-}
144
-.input-item-prepend {
145
-  margin-right: -1px;
146
-}
147
-.input-item-text,
148
-input[type=text],
149
-input[type=date],
150
-select {
151
-  height: calc(4.2rem);
152
-}
153
-.input-item-text {
154
-  width: 6rem;
155
-  text-align: justify;
156
-  padding: 0.4rem 0.7rem;
157
-  display: inline-block;
158
-  text-justify: distribute-all-lines;
159
-  /*ie6-8*/
160
-  text-align-last: justify;
161
-  /* ie9*/
162
-  -moz-text-align-last: justify;
163
-  /*ff*/
164
-  -webkit-text-align-last: justify;
165
-  /*chrome 20+*/
166
-  -ms-flex-align: center;
167
-  align-items: center;
168
-  margin-bottom: 0;
169
-  font-size: 1rem;
170
-  font-weight: 400;
171
-  line-height: 1.5;
172
-  color: #495057;
173
-  text-align: center;
174
-  white-space: nowrap;
175
-  background-color: #e9ecef;
176
-  border: 1px solid #ced4da;
177
-  border-radius: .25rem;
178
-  border-bottom-right-radius: 0;
179
-  border-top-right-radius: 0;
180
-}
181
-.input-item-text input[type=checkbox],
182
-.input-item-text input[type=radio] {
183
-  margin-top: 0;
184
-}
185
-.input-card {
186
-  display: flex;
187
-  flex-direction: column;
188
-  min-width: 0;
189
-  word-wrap: break-word;
190
-  background-color: #fff;
191
-  background-clip: border-box;
192
-  border-radius: .25rem;
193
-  width: 22rem;
194
-  border-width: 0;
195
-  border-radius: 0.4rem;
196
-  box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);
197
-  position: fixed;
198
-  bottom: 1rem;
199
-  right: 1rem;
200
-  -ms-flex: 1 1 auto;
201
-  flex: 1 1 auto;
202
-  padding: 0.75rem 1.25rem;
203
-}
204
-.input-text {
205
-  line-height: 2rem;
206
-  margin-right: 2rem;
207
-}
208
-.info hr {
209
-  margin-right: 0;
210
-  margin-left: 0;
211
-  border-top-color: grey;
212
-}
213
-.info {
214
-  padding: .75rem 1.25rem;
215
-  margin-bottom: 1rem;
216
-  border-radius: .25rem;
217
-  position: fixed;
218
-  top: 1rem;
219
-  background-color: white;
220
-  width: auto;
221
-  min-width: 22rem;
222
-  border-width: 0;
223
-  right: 1rem;
224
-  box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);
225
-  position: absolute;
226
-  z-index: 100;
227
-}
228
-.code {
229
-  left: 1.5rem;
230
-  right: 1.5rem;
231
-  top: 1.5rem;
232
-  bottom: 1.5rem;
233
-  overflow: auto;
234
-  margin-bottom: 0rem;
235
-}
236
-.code .btn {
237
-  top: 1rem;
238
-  position: absolute;
239
-  right: 1rem;
240
-}
241
-.code .result {
242
-  border: 1px solid rgba(0, 0, 0, 0.1);
243
-  border-radius: 0.5rem;
244
-  padding: 1rem;
245
-  bottom: 1rem;
246
-  position: absolute;
247
-  top: 5.5rem;
248
-  right: 1rem;
249
-  left: 1rem;
250
-  overflow: auto;
251
-}
252
-.code .status {
253
-  color: #80adff;
254
-  display: inline-block;
255
-  font-size: 14px;
256
-}
257
-.code h4 {
258
-  display: inline-block;
259
-  max-width: 20rem;
260
-  margin-right: 1rem;
261
-  margin-bottom: 1rem;
262
-}
263
-select,
264
-input[type=text],
265
-input[type=date] {
266
-  display: inline-block;
267
-  width: 100%;
268
-  padding: .375rem 1.75rem .375rem .75rem;
269
-  line-height: 1.5;
270
-  color: #495057;
271
-  vertical-align: middle;
272
-  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
273
-  background-size: 8px 10px;
274
-  border: 1px solid #ced4da;
275
-  border-radius: .25rem;
276
-  -webkit-appearance: none;
277
-  -moz-appearance: none;
278
-  appearance: none;
279
-}
280
-input[type=text],
281
-input[type=date] {
282
-  background: #fff;
283
-  padding: .375rem .75rem;
284
-}
285
-select:focus,
286
-input[type=text]:focus,
287
-input[type=date]:focus {
288
-  border-color: #80bdff;
289
-  outline: 0;
290
-  box-shadow: 0 0 0 0.1rem rgba(128, 189, 255, 0.1);
291
-}
292
-.btn:focus {
293
-  outline: 0;
294
-  box-shadow: none;
295
-}
296
-select:focus::-ms-value,
297
-input[type=text]:focus::-ms-value,
298
-input[type=date]:focus::-ms-value {
299
-  color: #495057;
300
-  background-color: #fff;
301
-}
302
-/* native toastr */
303
-.native-toast {
304
-  position: fixed;
305
-  background-color: rgba(50, 50, 50, 0.8);
306
-  border-radius: 33px;
307
-  color: white;
308
-  left: 50%;
309
-  text-align: center;
310
-  padding: 6px 12px;
311
-  opacity: 0;
312
-  z-index: 99999;
313
-  transition: transform .25s, opacity .25s, top .25s;
314
-  box-sizing: border-box;
315
-}
316
-.native-toast-bottom {
317
-  bottom: 50px;
318
-  -ms-transform: translateX(-50%) translateY(50px);
319
-  transform: translateX(-50%) translateY(50px);
320
-}
321
-.native-toast-bottom.native-toast-shown {
322
-  opacity: 1;
323
-  -ms-transform: translateX(-50%) translateY(0);
324
-  transform: translateX(-50%) translateY(0);
325
-}
326
-.native-toast-bottom.native-toast-edge {
327
-  bottom: 0;
328
-}
329
-.native-toast-top {
330
-  top: 50px;
331
-  -ms-transform: translateX(-50%) translateY(-50px);
332
-  transform: translateX(-50%) translateY(-50px);
333
-}
334
-.native-toast-top.native-toast-shown {
335
-  opacity: 1;
336
-  -ms-transform: translateX(-50%) translateY(0);
337
-  transform: translateX(-50%) translateY(0);
338
-}
339
-.native-toast-top.native-toast-edge {
340
-  top: 0;
341
-}
342
-.native-toast-center {
343
-  top: 0;
344
-  -ms-transform: translateX(-50%) translateY(-50px);
345
-  transform: translateX(-50%) translateY(-50px);
346
-}
347
-.native-toast-center.native-toast-shown {
348
-  opacity: 1;
349
-  top: 50%;
350
-  -ms-transform: translateX(-50%) translateY(-50%);
351
-  transform: translateX(-50%) translateY(-50%);
352
-}
353
-.native-toast-edge {
354
-  border-radius: 0;
355
-  width: 100%;
356
-  text-align: left;
357
-}
358
-@media screen and (min-width: 40rem) {
359
-  .native-toast:not(.native-toast-edge) {
360
-    max-width: 18rem;
361
-  }
362
-}
363
-/*
364
-  max-width does not seem to work in small screen?
365
-*/
366
-/*@media screen and (max-width: 768px) {
367
-  .native-toast:not(.native-toast-edge) {
368
-    max-width: 400px;
369
-  }
370
-}
371
-
372
-@media screen and (max-width: 468px) {
373
-  .native-toast:not(.native-toast-edge) {
374
-    max-width: 300px;
375
-  }
376
-}*/
377
-/* types */
378
-.native-toast-error {
379
-  background-color: #d92727;
380
-  color: white;
381
-}
382
-.native-toast-success {
383
-  background-color: #62a465;
384
-  color: white;
385
-}
386
-.native-toast-warning {
387
-  background-color: #fdaf17;
388
-  color: white;
389
-}
390
-.native-toast-info {
391
-  background-color: #5060ba;
392
-  color: white;
393
-}
394
-[class^="native-toast-icon-"] {
395
-  vertical-align: middle;
396
-  margin-right: 8px;
397
-}
398
-[class^="native-toast-icon-"] svg {
399
-  width: 16px;
400
-  height: 16px;
401
-}

+ 291
- 290
src/pages/building/list/add/amap.less View File

@@ -13,7 +13,7 @@ html {
13 13
    overflow:auto;
14 14
    border-radius:0.4rem;
15 15
    border:1px solid #ced4da;
16
-   margin-bottom:1rem;
16
+   margin-bottom:0.1rem;
17 17
 }
18 18
 body {
19 19
   margin: 0;
@@ -44,7 +44,7 @@ label {
44 44
 
45 45
 label, .btn {
46 46
   margin-left: 0;
47
-  font-size: 1rem;
47
+  font-size: 0.18rem;
48 48
 }
49 49
 
50 50
 button, input, select {
@@ -75,312 +75,313 @@ h4 {
75 75
   line-height: 1.8;
76 76
   font-weight: 300;
77 77
   color: inherit;
78
-  font-size: 1.1rem;
78
+  font-size: 0.2rem;
79 79
   margin-top: 0;
80 80
   margin-bottom: .5rem
81 81
 }
82 82
 
83
-.btn {
84
-  display: inline-block;
85
-  font-weight: 400;
86
-  text-align: center;
87
-  white-space: nowrap;
88
-  vertical-align: middle;
89
-  -webkit-user-select: none;
90
-  -moz-user-select: none;
91
-  -ms-user-select: none;
92
-  user-select: none;
93
-  border: 1px solid transparent;
94
-  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
95
-  background-color: transparent;
96
-  background-image: none;
97
-  color: #25A5F7;
98
-  border-color: #25A5F7;
99
-  padding: .25rem .5rem;
100
-  line-height: 1.5;
101
-  border-radius: 1rem;
102
-  -webkit-appearance: button;
103
-  cursor:pointer;
104
-}
105
-
106
-.btn:hover {
107
-  color: #fff;
108
-  background-color: #25A5F7;
109
-  border-color: #25A5F7
110
-}
111
-
112
-.btn:hover {
113
-  text-decoration: none
114
-}
115
-
116
-.input-item {
117
-  position: relative;
118
-  display: -ms-flexbox;
119
-  display: flex;
120
-  -ms-flex-wrap: wrap;
121
-  flex-wrap: wrap;
122
-  -ms-flex-align: center;
123
-  align-items: center;
124
-  width: 100%;
125
-  height: 3rem;
126
-}
127
-
128
-.input-item:last-child {
129
-  margin-bottom: 0;
130
-}
131
-
132
-.input-item>select, .input-item>input[type=text], .input-item>input[type=date] {
133
-  position: relative;
134
-  -ms-flex: 1 1 auto;
135
-  flex: 1 1 auto;
136
-  width: 1%;
137
-  margin-bottom: 0;
138
-}
139
-
140
-.input-item>select:not(:last-child), .input-item>input[type=text]:not(:last-child), .input-item>input[type=date]:not(:last-child) {
141
-  border-top-right-radius: 0;
142
-  border-bottom-right-radius: 0
143
-}
144
-
145
-.input-item>select:not(:first-child), .input-item>input[type=text]:not(:first-child), .input-item>input[type=date]:not(:first-child) {
146
-  border-top-left-radius: 0;
147
-  border-bottom-left-radius: 0
148
-}
149
-
150
-.input-item-prepend {
151
-  margin-right: -1px;
152
-}
153
-
154
-.input-item-text, input[type=text],input[type=date], select {
155
-  height: calc(2.2rem + 2px);
156
-}
157
-
158
-.input-item-text {
159
-  width: 6rem;
160
-  text-align: justify;
161
-  padding: 0.4rem 0.7rem;
162
-  display: inline-block;
163
-  text-justify: distribute-all-lines;
164
-  /*ie6-8*/
165
-  text-align-last: justify;
166
-  /* ie9*/
167
-  -moz-text-align-last: justify;
168
-  /*ff*/
169
-  -webkit-text-align-last: justify;
170
-  /*chrome 20+*/
171
-  -ms-flex-align: center;
172
-  align-items: center;
173
-  margin-bottom: 0;
174
-  font-size: 1rem;
175
-  font-weight: 400;
176
-  line-height: 1.5;
177
-  color: #495057;
178
-  text-align: center;
179
-  white-space: nowrap;
180
-  background-color: #e9ecef;
181
-  border: 1px solid #ced4da;
182
-  border-radius: .25rem;
183
-  border-bottom-right-radius: 0;
184
-  border-top-right-radius: 0;
185
-}
186
-
187
-.input-item-text input[type=checkbox], .input-item-text input[type=radio] {
188
-  margin-top: 0
189
-}
190
-
191
-.input-card {
192
-  display: flex;
193
-  flex-direction: column;
194
-  min-width: 0;
195
-  word-wrap: break-word;
196
-  background-color: #fff;
197
-  background-clip: border-box;
198
-  border-radius: .25rem;
199
-  width: 22rem;
200
-  border-width: 0;
201
-  border-radius: 0.4rem;
202
-  box-shadow: 0 2px 6px 0 rgba(114, 124, 245, .5);
203
-  position: fixed;
204
-  bottom: 1rem;
205
-  right: 1rem;
206
-  -ms-flex: 1 1 auto;
207
-  flex: 1 1 auto;
208
-  padding: 0.75rem 1.25rem;
209
-}
210
-
211
-.input-text {
212
-  line-height: 2rem;
213
-  margin-right: 2rem;
214
-}
215
-
216
-.info hr {
217
-  margin-right: 0;
218
-  margin-left: 0;
219
-  border-top-color: grey;
220
-}
83
+// .btn {
84
+//   display: inline-block;
85
+//   font-weight: 400;
86
+//   text-align: center;
87
+//   white-space: nowrap;
88
+//   vertical-align: middle;
89
+//   -webkit-user-select: none;
90
+//   -moz-user-select: none;
91
+//   -ms-user-select: none;
92
+//   user-select: none;
93
+//   border: 1px solid transparent;
94
+//   transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
95
+//   background-color: transparent;
96
+//   background-image: none;
97
+//   color: #25A5F7;
98
+//   border-color: #25A5F7;
99
+//   padding: .25rem .5rem;
100
+//   line-height: 1.5;
101
+//   border-radius: 1rem;
102
+//   -webkit-appearance: button;
103
+//   cursor:pointer;
104
+// }
105
+
106
+// .btn:hover {
107
+//   color: #fff;
108
+//   background-color: #25A5F7;
109
+//   border-color: #25A5F7
110
+// }
111
+
112
+// .btn:hover {
113
+//   text-decoration: none
114
+// }
115
+
116
+// .input-item {
117
+//   position: relative;
118
+//   display: -ms-flexbox;
119
+//   display: flex;
120
+//   -ms-flex-wrap: wrap;
121
+//   flex-wrap: wrap;
122
+//   -ms-flex-align: center;
123
+//   align-items: center;
124
+//   width: 100%;
125
+//   height: 3rem;
126
+// }
127
+
128
+// .input-item:last-child {
129
+//   margin-bottom: 0;
130
+// }
131
+
132
+// .input-item>select, .input-item>input[type=text], .input-item>input[type=date] {
133
+//   position: relative;
134
+//   -ms-flex: 1 1 auto;
135
+//   flex: 1 1 auto;
136
+//   width: 1%;
137
+//   margin-bottom: 0;
138
+// }
139
+
140
+// .input-item>select:not(:last-child), .input-item>input[type=text]:not(:last-child), .input-item>input[type=date]:not(:last-child) {
141
+//   border-top-right-radius: 0;
142
+//   border-bottom-right-radius: 0
143
+// }
144
+
145
+// .input-item>select:not(:first-child), .input-item>input[type=text]:not(:first-child), .input-item>input[type=date]:not(:first-child) {
146
+//   border-top-left-radius: 0;
147
+//   border-bottom-left-radius: 0
148
+// }
149
+
150
+// .input-item-prepend {
151
+//   margin-right: -1px;
152
+// }
153
+
154
+// .input-item-text, input[type=text],input[type=date], select {
155
+//   height: calc(2.2rem + 2px);
156
+// }
157
+
158
+// .input-item-text {
159
+//   width: 6rem;
160
+//   text-align: justify;
161
+//   padding: 0.4rem 0.7rem;
162
+//   display: inline-block;
163
+//   text-justify: distribute-all-lines;
164
+//   /*ie6-8*/
165
+//   text-align-last: justify;
166
+//   /* ie9*/
167
+//   -moz-text-align-last: justify;
168
+//   /*ff*/
169
+//   -webkit-text-align-last: justify;
170
+//   /*chrome 20+*/
171
+//   -ms-flex-align: center;
172
+//   align-items: center;
173
+//   margin-bottom: 0;
174
+//   font-size: 1rem;
175
+//   font-weight: 400;
176
+//   line-height: 1.5;
177
+//   color: #495057;
178
+//   text-align: center;
179
+//   white-space: nowrap;
180
+//   background-color: #e9ecef;
181
+//   border: 1px solid #ced4da;
182
+//   border-radius: .25rem;
183
+//   border-bottom-right-radius: 0;
184
+//   border-top-right-radius: 0;
185
+// }
186
+
187
+// .input-item-text input[type=checkbox], .input-item-text input[type=radio] {
188
+//   margin-top: 0
189
+// }
190
+
191
+// .input-card {
192
+//   display: flex;
193
+//   flex-direction: column;
194
+//   min-width: 0;
195
+//   word-wrap: break-word;
196
+//   background-color: #fff;
197
+//   background-clip: border-box;
198
+//   border-radius: .25rem;
199
+//   width: 22rem;
200
+//   border-width: 0;
201
+//   border-radius: 0.4rem;
202
+//   box-shadow: 0 2px 6px 0 rgba(114, 124, 245, .5);
203
+//   position: fixed;
204
+//   bottom: 1rem;
205
+//   right: 1rem;
206
+//   -ms-flex: 1 1 auto;
207
+//   flex: 1 1 auto;
208
+//   padding: 0.75rem 1.25rem;
209
+// }
210
+
211
+// .input-text {
212
+//   line-height: 2rem;
213
+//   margin-right: 2rem;
214
+// }
215
+
216
+// .info hr {
217
+//   margin-right: 0;
218
+//   margin-left: 0;
219
+//   border-top-color: grey;
220
+// }
221 221
 
222 222
 .infoBox {
223
-  padding: .75rem 1.25rem;
223
+  padding: .2rem 0.2rem;
224 224
   position: absolute;
225
-  top: 1rem;
225
+  top: 0.3rem;
226
+  left: 0.3rem;
226 227
   background-color: white;
227
-  width: auto;
228
-  min-width: 22rem;
229
-  left: 1rem;
228
+  width: 3.2rem;
230 229
   box-shadow: 0 2px 6px 0 rgba(114, 124, 245, .5);
231 230
   z-index: 100;
232 231
   .inputText{
233 232
     margin-right: 10px;
234 233
   }
235 234
   .input{
236
-    width: 200px;
235
+    width: 1.6rem;
236
+    height: 0.34rem;
237
+    font-size: 0.16rem;
237 238
   }
238 239
  
239 240
 }
240 241
 
241
-.code {
242
-  left: 1.5rem;
243
-  right: 1.5rem;
244
-  top: 1.5rem;
245
-  bottom: 1.5rem;
246
-  overflow: auto;
247
-  margin-bottom: 0rem;
248
-}
249
-
250
-.code .btn {
251
-  top: 1rem;
252
-  position: absolute;
253
-  right: 1rem;
254
-}
255
-
256
-.code .result {
257
-  border: 1px solid rgba(0, 0, 0, 0.1);
258
-  border-radius: 0.5rem;
259
-  padding: 1rem;
260
-  bottom: 1rem;
261
-  position: absolute;
262
-  top: 5.5rem;
263
-  right: 1rem;
264
-  left: 1rem;
265
-  overflow: auto;
266
-}
267
-
268
-.code .status {
269
-  color: #80adff;
270
-  display: inline-block;
271
-  font-size: 14px;
272
-}
273
-
274
-.code h4 {
275
-  display: inline-block;
276
-  max-width: 20rem;
277
-  margin-right: 1rem;
278
-  margin-bottom: 1rem;
279
-}
280
-
281
-select, input[type=text], input[type=date] {
282
-  display: inline-block;
283
-  width: 100%;
284
-  padding: .375rem 1.75rem .375rem .75rem;
285
-  line-height: 1.5;
286
-  color: #495057;
287
-  vertical-align: middle;
288
-  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;
289
-  background-size: 8px 10px;
290
-  border: 1px solid #ced4da;
291
-  border-radius: .25rem;
292
-  -webkit-appearance: none;
293
-  -moz-appearance: none;
294
-  appearance: none
295
-}
296
-
297
-input[type=text],input[type=date] {
298
-  background: #fff;
299
-  padding: .375rem .75rem;
300
-}
301
-
302
-select:focus, input[type=text]:focus, input[type=date]:focus {
303
-  border-color: #80bdff;
304
-  outline: 0;
305
-  box-shadow: 0 0 0 .1rem rgba(128, 189, 255, .1)
306
-}
307
-
308
-.btn:focus {
309
-  outline: 0;
310
-  box-shadow: none;
311
-}
312
-
313
-select:focus::-ms-value, input[type=text]:focus::-ms-value,input[type=date]:focus::-ms-value {
314
-  color: #495057;
315
-  background-color: #fff
316
-}
317
-
318
-
319
-/* native toastr */
320
-.native-toast {
321
-  position: fixed;
322
-  background-color: rgba(50, 50, 50, .8);
323
-  border-radius: 33px;
324
-  color: white;
325
-  left: 50%;
326
-  text-align: center;
327
-  padding: 6px 12px;
328
-  opacity: 0;
329
-  z-index: 99999;
330
-  transition: transform .25s, opacity .25s, top .25s;
331
-  box-sizing: border-box;
332
-}
333
-
334
-.native-toast-bottom {
335
-  bottom: 50px;
336
-  -ms-transform: translateX(-50%) translateY(50px);
337
-      transform: translateX(-50%) translateY(50px)
338
-}
339
-
340
-.native-toast-bottom.native-toast-shown {
341
-  opacity: 1;
342
-  -ms-transform: translateX(-50%) translateY(0);
343
-      transform: translateX(-50%) translateY(0);
344
-}
345
-
346
-.native-toast-bottom.native-toast-edge {
347
-  bottom: 0;
348
-}
349
-
350
-.native-toast-top {
351
-  top: 50px;
352
-  -ms-transform: translateX(-50%) translateY(-50px);
353
-      transform: translateX(-50%) translateY(-50px)
354
-}
355
-
356
-.native-toast-top.native-toast-shown {
357
-  opacity: 1;
358
-  -ms-transform: translateX(-50%) translateY(0);
359
-      transform: translateX(-50%) translateY(0);
360
-}
361
-
362
-.native-toast-top.native-toast-edge {
363
-  top: 0;
364
-}
365
-
366
-.native-toast-center {
367
-  top: 0;
368
-  -ms-transform: translateX(-50%) translateY(-50px);
369
-      transform: translateX(-50%) translateY(-50px)
370
-}
371
-
372
-.native-toast-center.native-toast-shown {
373
-  opacity: 1;
374
-  top: 50%;
375
-  -ms-transform: translateX(-50%) translateY(-50%);
376
-      transform: translateX(-50%) translateY(-50%);
377
-}
378
-
379
-.native-toast-edge {
380
-  border-radius: 0;
381
-  width: 100%;
382
-  text-align: left;
383
-}
242
+// .code {
243
+//   left: 1.5rem;
244
+//   right: 1.5rem;
245
+//   top: 1.5rem;
246
+//   bottom: 1.5rem;
247
+//   overflow: auto;
248
+//   margin-bottom: 0rem;
249
+// }
250
+
251
+// .code .btn {
252
+//   top: 1rem;
253
+//   position: absolute;
254
+//   right: 1rem;
255
+// }
256
+
257
+// .code .result {
258
+//   border: 1px solid rgba(0, 0, 0, 0.1);
259
+//   border-radius: 0.5rem;
260
+//   padding: 1rem;
261
+//   bottom: 1rem;
262
+//   position: absolute;
263
+//   top: 5.5rem;
264
+//   right: 1rem;
265
+//   left: 1rem;
266
+//   overflow: auto;
267
+// }
268
+
269
+// .code .status {
270
+//   color: #80adff;
271
+//   display: inline-block;
272
+//   font-size: 14px;
273
+// }
274
+
275
+// .code h4 {
276
+//   display: inline-block;
277
+//   max-width: 20rem;
278
+//   margin-right: 1rem;
279
+//   margin-bottom: 1rem;
280
+// }
281
+
282
+// select, input[type=text], input[type=date] {
283
+//   display: inline-block;
284
+//   // width: 100%;
285
+//   padding: .375rem 1.75rem .375rem .75rem;
286
+//   line-height: 1.5;
287
+//   color: #495057;
288
+//   vertical-align: middle;
289
+//   background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;
290
+//   background-size: 8px 10px;
291
+//   border: 1px solid #ced4da;
292
+//   border-radius: .25rem;
293
+//   -webkit-appearance: none;
294
+//   -moz-appearance: none;
295
+//   appearance: none
296
+// }
297
+
298
+// input[type=text],input[type=date] {
299
+//   background: #fff;
300
+//   padding: .375rem .75rem;
301
+// }
302
+
303
+// select:focus, input[type=text]:focus, input[type=date]:focus {
304
+//   border-color: #80bdff;
305
+//   outline: 0;
306
+//   box-shadow: 0 0 0 .1rem rgba(128, 189, 255, .1)
307
+// }
308
+
309
+// .btn:focus {
310
+//   outline: 0;
311
+//   box-shadow: none;
312
+// }
313
+
314
+// select:focus::-ms-value, input[type=text]:focus::-ms-value,input[type=date]:focus::-ms-value {
315
+//   color: #495057;
316
+//   background-color: #fff
317
+// }
318
+
319
+
320
+// /* native toastr */
321
+// .native-toast {
322
+//   position: fixed;
323
+//   background-color: rgba(50, 50, 50, .8);
324
+//   border-radius: 33px;
325
+//   color: white;
326
+//   left: 50%;
327
+//   text-align: center;
328
+//   padding: 6px 12px;
329
+//   opacity: 0;
330
+//   z-index: 99999;
331
+//   transition: transform .25s, opacity .25s, top .25s;
332
+//   box-sizing: border-box;
333
+// }
334
+
335
+// .native-toast-bottom {
336
+//   bottom: 50px;
337
+//   -ms-transform: translateX(-50%) translateY(50px);
338
+//       transform: translateX(-50%) translateY(50px)
339
+// }
340
+
341
+// .native-toast-bottom.native-toast-shown {
342
+//   opacity: 1;
343
+//   -ms-transform: translateX(-50%) translateY(0);
344
+//       transform: translateX(-50%) translateY(0);
345
+// }
346
+
347
+// .native-toast-bottom.native-toast-edge {
348
+//   bottom: 0;
349
+// }
350
+
351
+// .native-toast-top {
352
+//   top: 50px;
353
+//   -ms-transform: translateX(-50%) translateY(-50px);
354
+//       transform: translateX(-50%) translateY(-50px)
355
+// }
356
+
357
+// .native-toast-top.native-toast-shown {
358
+//   opacity: 1;
359
+//   -ms-transform: translateX(-50%) translateY(0);
360
+//       transform: translateX(-50%) translateY(0);
361
+// }
362
+
363
+// .native-toast-top.native-toast-edge {
364
+//   top: 0;
365
+// }
366
+
367
+// .native-toast-center {
368
+//   top: 0;
369
+//   -ms-transform: translateX(-50%) translateY(-50px);
370
+//       transform: translateX(-50%) translateY(-50px)
371
+// }
372
+
373
+// .native-toast-center.native-toast-shown {
374
+//   opacity: 1;
375
+//   top: 50%;
376
+//   -ms-transform: translateX(-50%) translateY(-50%);
377
+//       transform: translateX(-50%) translateY(-50%);
378
+// }
379
+
380
+// .native-toast-edge {
381
+//   border-radius: 0;
382
+//   width: 100%;
383
+//   text-align: left;
384
+// }
384 385
 
385 386
 @media screen and (min-width: 40rem) {
386 387
   .native-toast:not(.native-toast-edge) {

+ 0
- 401
src/pages/building/list/add/amap.wxss View File

@@ -1,401 +0,0 @@
1
-html {
2
-  font-size: 12px;
3
-}
4
-.amap-copyright {
5
-  box-sizing: content-box;
6
-}
7
-* {
8
-  box-sizing: border-box;
9
-}
10
-.input-textarea {
11
-  color: grey;
12
-  height: 8em;
13
-  overflow: auto;
14
-  border-radius: 0.4rem;
15
-  border: 1px solid #ced4da;
16
-  margin-bottom: 1rem;
17
-}
18
-body {
19
-  margin: 0;
20
-  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
21
-  line-height: 1.5;
22
-  font-weight: 300;
23
-  color: #111213;
24
-}
25
-hr {
26
-  margin: 0.5rem 0;
27
-  box-sizing: content-box;
28
-  height: 0;
29
-  overflow: visible;
30
-  border: 0;
31
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
32
-}
33
-p {
34
-  margin-top: 0;
35
-  margin-bottom: 0;
36
-}
37
-label {
38
-  display: inline-block;
39
-  margin-bottom: 0.4rem;
40
-}
41
-label,
42
-.btn {
43
-  margin-left: 0;
44
-  font-size: 1rem;
45
-}
46
-button,
47
-input,
48
-select {
49
-  margin: 0;
50
-  font-family: inherit;
51
-  font-size: inherit;
52
-  line-height: inherit;
53
-  overflow: visible;
54
-  text-transform: none;
55
-}
56
-[type=button]::-moz-focus-inner,
57
-[type=reset]::-moz-focus-inner,
58
-[type=submit]::-moz-focus-inner,
59
-button::-moz-focus-inner {
60
-  padding: 0;
61
-  border-style: none;
62
-}
63
-input[type=checkbox],
64
-input[type=radio] {
65
-  -webkit-box-sizing: border-box;
66
-  box-sizing: border-box;
67
-  padding: 0;
68
-  margin: 0 0.5rem 0 0;
69
-}
70
-h4 {
71
-  font-family: inherit;
72
-  line-height: 1.8;
73
-  font-weight: 300;
74
-  color: inherit;
75
-  font-size: 1.1rem;
76
-  margin-top: 0;
77
-  margin-bottom: 0.5rem;
78
-}
79
-.btn {
80
-  display: inline-block;
81
-  font-weight: 400;
82
-  text-align: center;
83
-  white-space: nowrap;
84
-  vertical-align: middle;
85
-  -webkit-user-select: none;
86
-  -moz-user-select: none;
87
-  -ms-user-select: none;
88
-  user-select: none;
89
-  border: 1px solid transparent;
90
-  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
91
-  background-color: transparent;
92
-  background-image: none;
93
-  color: #25A5F7;
94
-  border-color: #25A5F7;
95
-  padding: .25rem .5rem;
96
-  line-height: 1.5;
97
-  border-radius: 1rem;
98
-  -webkit-appearance: button;
99
-  cursor: pointer;
100
-}
101
-.btn:hover {
102
-  color: #fff;
103
-  background-color: #25A5F7;
104
-  border-color: #25A5F7;
105
-}
106
-.btn:hover {
107
-  text-decoration: none;
108
-}
109
-.input-item {
110
-  position: relative;
111
-  display: -ms-flexbox;
112
-  display: flex;
113
-  -ms-flex-wrap: wrap;
114
-  flex-wrap: wrap;
115
-  -ms-flex-align: center;
116
-  align-items: center;
117
-  width: 100%;
118
-  height: 3rem;
119
-}
120
-.input-item:last-child {
121
-  margin-bottom: 0;
122
-}
123
-.input-item > select,
124
-.input-item > input[type=text],
125
-.input-item > input[type=date] {
126
-  position: relative;
127
-  -ms-flex: 1 1 auto;
128
-  flex: 1 1 auto;
129
-  width: 1%;
130
-  margin-bottom: 0;
131
-}
132
-.input-item > select:not(:last-child),
133
-.input-item > input[type=text]:not(:last-child),
134
-.input-item > input[type=date]:not(:last-child) {
135
-  border-top-right-radius: 0;
136
-  border-bottom-right-radius: 0;
137
-}
138
-.input-item > select:not(:first-child),
139
-.input-item > input[type=text]:not(:first-child),
140
-.input-item > input[type=date]:not(:first-child) {
141
-  border-top-left-radius: 0;
142
-  border-bottom-left-radius: 0;
143
-}
144
-.input-item-prepend {
145
-  margin-right: -1px;
146
-}
147
-.input-item-text,
148
-input[type=text],
149
-input[type=date],
150
-select {
151
-  height: calc(4.2rem);
152
-}
153
-.input-item-text {
154
-  width: 6rem;
155
-  text-align: justify;
156
-  padding: 0.4rem 0.7rem;
157
-  display: inline-block;
158
-  text-justify: distribute-all-lines;
159
-  /*ie6-8*/
160
-  text-align-last: justify;
161
-  /* ie9*/
162
-  -moz-text-align-last: justify;
163
-  /*ff*/
164
-  -webkit-text-align-last: justify;
165
-  /*chrome 20+*/
166
-  -ms-flex-align: center;
167
-  align-items: center;
168
-  margin-bottom: 0;
169
-  font-size: 1rem;
170
-  font-weight: 400;
171
-  line-height: 1.5;
172
-  color: #495057;
173
-  text-align: center;
174
-  white-space: nowrap;
175
-  background-color: #e9ecef;
176
-  border: 1px solid #ced4da;
177
-  border-radius: .25rem;
178
-  border-bottom-right-radius: 0;
179
-  border-top-right-radius: 0;
180
-}
181
-.input-item-text input[type=checkbox],
182
-.input-item-text input[type=radio] {
183
-  margin-top: 0;
184
-}
185
-.input-card {
186
-  display: flex;
187
-  flex-direction: column;
188
-  min-width: 0;
189
-  word-wrap: break-word;
190
-  background-color: #fff;
191
-  background-clip: border-box;
192
-  border-radius: .25rem;
193
-  width: 22rem;
194
-  border-width: 0;
195
-  border-radius: 0.4rem;
196
-  box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);
197
-  position: fixed;
198
-  bottom: 1rem;
199
-  right: 1rem;
200
-  -ms-flex: 1 1 auto;
201
-  flex: 1 1 auto;
202
-  padding: 0.75rem 1.25rem;
203
-}
204
-.input-text {
205
-  line-height: 2rem;
206
-  margin-right: 2rem;
207
-}
208
-.info hr {
209
-  margin-right: 0;
210
-  margin-left: 0;
211
-  border-top-color: grey;
212
-}
213
-.info {
214
-  padding: .75rem 1.25rem;
215
-  margin-bottom: 1rem;
216
-  border-radius: .25rem;
217
-  position: fixed;
218
-  top: 1rem;
219
-  background-color: white;
220
-  width: auto;
221
-  min-width: 22rem;
222
-  border-width: 0;
223
-  right: 1rem;
224
-  box-shadow: 0 2px 6px 0 rgba(114, 124, 245, 0.5);
225
-  position: absolute;
226
-  z-index: 100;
227
-}
228
-.code {
229
-  left: 1.5rem;
230
-  right: 1.5rem;
231
-  top: 1.5rem;
232
-  bottom: 1.5rem;
233
-  overflow: auto;
234
-  margin-bottom: 0rem;
235
-}
236
-.code .btn {
237
-  top: 1rem;
238
-  position: absolute;
239
-  right: 1rem;
240
-}
241
-.code .result {
242
-  border: 1px solid rgba(0, 0, 0, 0.1);
243
-  border-radius: 0.5rem;
244
-  padding: 1rem;
245
-  bottom: 1rem;
246
-  position: absolute;
247
-  top: 5.5rem;
248
-  right: 1rem;
249
-  left: 1rem;
250
-  overflow: auto;
251
-}
252
-.code .status {
253
-  color: #80adff;
254
-  display: inline-block;
255
-  font-size: 14px;
256
-}
257
-.code h4 {
258
-  display: inline-block;
259
-  max-width: 20rem;
260
-  margin-right: 1rem;
261
-  margin-bottom: 1rem;
262
-}
263
-select,
264
-input[type=text],
265
-input[type=date] {
266
-  display: inline-block;
267
-  width: 100%;
268
-  padding: .375rem 1.75rem .375rem .75rem;
269
-  line-height: 1.5;
270
-  color: #495057;
271
-  vertical-align: middle;
272
-  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
273
-  background-size: 8px 10px;
274
-  border: 1px solid #ced4da;
275
-  border-radius: .25rem;
276
-  -webkit-appearance: none;
277
-  -moz-appearance: none;
278
-  appearance: none;
279
-}
280
-input[type=text],
281
-input[type=date] {
282
-  background: #fff;
283
-  padding: .375rem .75rem;
284
-}
285
-select:focus,
286
-input[type=text]:focus,
287
-input[type=date]:focus {
288
-  border-color: #80bdff;
289
-  outline: 0;
290
-  box-shadow: 0 0 0 0.1rem rgba(128, 189, 255, 0.1);
291
-}
292
-.btn:focus {
293
-  outline: 0;
294
-  box-shadow: none;
295
-}
296
-select:focus::-ms-value,
297
-input[type=text]:focus::-ms-value,
298
-input[type=date]:focus::-ms-value {
299
-  color: #495057;
300
-  background-color: #fff;
301
-}
302
-/* native toastr */
303
-.native-toast {
304
-  position: fixed;
305
-  background-color: rgba(50, 50, 50, 0.8);
306
-  border-radius: 33px;
307
-  color: white;
308
-  left: 50%;
309
-  text-align: center;
310
-  padding: 6px 12px;
311
-  opacity: 0;
312
-  z-index: 99999;
313
-  transition: transform .25s, opacity .25s, top .25s;
314
-  box-sizing: border-box;
315
-}
316
-.native-toast-bottom {
317
-  bottom: 50px;
318
-  -ms-transform: translateX(-50%) translateY(50px);
319
-  transform: translateX(-50%) translateY(50px);
320
-}
321
-.native-toast-bottom.native-toast-shown {
322
-  opacity: 1;
323
-  -ms-transform: translateX(-50%) translateY(0);
324
-  transform: translateX(-50%) translateY(0);
325
-}
326
-.native-toast-bottom.native-toast-edge {
327
-  bottom: 0;
328
-}
329
-.native-toast-top {
330
-  top: 50px;
331
-  -ms-transform: translateX(-50%) translateY(-50px);
332
-  transform: translateX(-50%) translateY(-50px);
333
-}
334
-.native-toast-top.native-toast-shown {
335
-  opacity: 1;
336
-  -ms-transform: translateX(-50%) translateY(0);
337
-  transform: translateX(-50%) translateY(0);
338
-}
339
-.native-toast-top.native-toast-edge {
340
-  top: 0;
341
-}
342
-.native-toast-center {
343
-  top: 0;
344
-  -ms-transform: translateX(-50%) translateY(-50px);
345
-  transform: translateX(-50%) translateY(-50px);
346
-}
347
-.native-toast-center.native-toast-shown {
348
-  opacity: 1;
349
-  top: 50%;
350
-  -ms-transform: translateX(-50%) translateY(-50%);
351
-  transform: translateX(-50%) translateY(-50%);
352
-}
353
-.native-toast-edge {
354
-  border-radius: 0;
355
-  width: 100%;
356
-  text-align: left;
357
-}
358
-@media screen and (min-width: 40rem) {
359
-  .native-toast:not(.native-toast-edge) {
360
-    max-width: 18rem;
361
-  }
362
-}
363
-/*
364
-  max-width does not seem to work in small screen?
365
-*/
366
-/*@media screen and (max-width: 768px) {
367
-  .native-toast:not(.native-toast-edge) {
368
-    max-width: 400px;
369
-  }
370
-}
371
-
372
-@media screen and (max-width: 468px) {
373
-  .native-toast:not(.native-toast-edge) {
374
-    max-width: 300px;
375
-  }
376
-}*/
377
-/* types */
378
-.native-toast-error {
379
-  background-color: #d92727;
380
-  color: white;
381
-}
382
-.native-toast-success {
383
-  background-color: #62a465;
384
-  color: white;
385
-}
386
-.native-toast-warning {
387
-  background-color: #fdaf17;
388
-  color: white;
389
-}
390
-.native-toast-info {
391
-  background-color: #5060ba;
392
-  color: white;
393
-}
394
-[class^="native-toast-icon-"] {
395
-  vertical-align: middle;
396
-  margin-right: 8px;
397
-}
398
-[class^="native-toast-icon-"] svg {
399
-  width: 16px;
400
-  height: 16px;
401
-}

+ 1
- 1
src/pages/building/list/index.jsx View File

@@ -138,7 +138,7 @@ function CartBody(props) {
138 138
         <span className={Styles.title}>录入时间</span>
139 139
         <span >:{data.createDate}</span>
140 140
       </p>
141
-      <p style={{ margin: '15px 0', position: 'relative', fontSize: '18px' }}>
141
+      <p style={{ margin: '15px 0', position: 'relative', fontSize: '1.1remrem' }}>
142 142
         <span style={{ color: '#FF4A4A' }} onClick={() => pulicAndUnPulic(data)}>
143 143
           {/* 已发布的时候,需要显示取消发布的字样 */}
144 144
           {data.status === 1 ? '取消发布' : '发布'}

+ 0
- 53
src/pages/building/list/style.css View File

@@ -1,53 +0,0 @@
1
-.SubmitButton {
2
-  background: #3a91d5;
3
-  border-radius: 7px;
4
-  border: 0px;
5
-}
6
-.SelectFrom {
7
-  width: 180px;
8
-  background: #ffffff;
9
-  border-radius: 7px;
10
-  border: 1px solid #dbdbdb;
11
-}
12
-.addButton {
13
-  border-radius: 4px;
14
-  border: 0px;
15
-  margin: 10px 0px;
16
-}
17
-.cardText {
18
-  font-size: 18px;
19
-  color: #333;
20
-  line-height: 24px;
21
-  display: flex;
22
-  align-items: center;
23
-  position: relative;
24
-}
25
-.cardItem {
26
-  font-size: 18px;
27
-  font-weight: 400;
28
-  color: #666;
29
-  line-height: 24px;
30
-  display: flex;
31
-  align-items: center;
32
-}
33
-.ediText {
34
-  font-size: 18px;
35
-  color: #ff925c;
36
-  line-height: 24px;
37
-  position: absolute;
38
-  right: 0;
39
-}
40
-.title {
41
-  display: inline-block;
42
-  width: 84px;
43
-  justify-content: space-between;
44
-  text-align: justify;
45
-  text-align-last: justify;
46
-}
47
-.address {
48
-  width: 400px;
49
-  height: 24px;
50
-  text-overflow: ellipsis;
51
-  white-space: nowrap;
52
-  overflow: hidden;
53
-}

+ 3
- 3
src/pages/building/list/style.less View File

@@ -15,7 +15,7 @@
15 15
   margin: 10px 0px;
16 16
 }
17 17
 .cardText {
18
-  font-size: 18px;
18
+  font-size: 1.1rem;
19 19
   color: #333;
20 20
   line-height: 24px;
21 21
   display: flex;
@@ -24,7 +24,7 @@
24 24
 
25 25
 }
26 26
 .cardItem{
27
-  font-size: 18px;
27
+  font-size: 1.1rem;
28 28
   font-weight: 400;
29 29
   color: #666;
30 30
   line-height: 24px;
@@ -32,7 +32,7 @@
32 32
   align-items: center;  
33 33
 }
34 34
 .ediText {
35
-  font-size: 18px;
35
+  font-size: 1.1rem;
36 36
   color: #ff925c;
37 37
   line-height: 24px;
38 38
   position: absolute;

+ 0
- 53
src/pages/building/list/style.wxss View File

@@ -1,53 +0,0 @@
1
-.SubmitButton {
2
-  background: #3a91d5;
3
-  border-radius: 7px;
4
-  border: 0px;
5
-}
6
-.SelectFrom {
7
-  width: 180px;
8
-  background: #ffffff;
9
-  border-radius: 7px;
10
-  border: 1px solid #dbdbdb;
11
-}
12
-.addButton {
13
-  border-radius: 4px;
14
-  border: 0px;
15
-  margin: 10px 0px;
16
-}
17
-.cardText {
18
-  font-size: 18px;
19
-  color: #333;
20
-  line-height: 24px;
21
-  display: flex;
22
-  align-items: center;
23
-  position: relative;
24
-}
25
-.cardItem {
26
-  font-size: 18px;
27
-  font-weight: 400;
28
-  color: #666;
29
-  line-height: 24px;
30
-  display: flex;
31
-  align-items: center;
32
-}
33
-.ediText {
34
-  font-size: 18px;
35
-  color: #ff925c;
36
-  line-height: 24px;
37
-  position: absolute;
38
-  right: 0;
39
-}
40
-.title {
41
-  display: inline-block;
42
-  width: 84px;
43
-  justify-content: space-between;
44
-  text-align: justify;
45
-  text-align-last: justify;
46
-}
47
-.address {
48
-  width: 400px;
49
-  height: 24px;
50
-  text-overflow: ellipsis;
51
-  white-space: nowrap;
52
-  overflow: hidden;
53
-}

+ 38
- 38
src/pages/channel/channelList.jsx View File

@@ -80,7 +80,7 @@ const columns = [
80 80
     dataIndex: '',
81 81
     key: '',
82 82
     align: 'center',
83
-    render: (text, record) => <a style={ { color: '#66B3FF' } } onClick= {() => toedit(record.channelId)} >编辑</a>,
83
+    render: (text, record) => <a style={{ color: '#66B3FF' }} onClick={() => toedit(record.channelId)} >编辑</a>,
84 84
   },
85 85
 ];
86 86
 
@@ -93,16 +93,16 @@ function toAdd() {
93 93
     },
94 94
   });
95 95
 }
96
-  // 跳编辑页面
97
-  function toedit(channelId) {
98
-    // alert(channelId)
99
-    router.push({
100
-      pathname: '/channel/editChannel',
101
-      query: {
102
-        id: channelId,
103
-      },
104
-    });
105
-  }
96
+// 跳编辑页面
97
+function toedit(channelId) {
98
+  // alert(channelId)
99
+  router.push({
100
+    pathname: '/channel/editChannel',
101
+    query: {
102
+      id: channelId,
103
+    },
104
+  });
105
+}
106 106
 
107 107
 const header = props => {
108 108
   // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -118,11 +118,11 @@ const header = props => {
118 118
       url: '/api/admin/channel',
119 119
       method: 'GET',
120 120
       params: { ...params },
121
-  // eslint-disable-next-line no-shadow
122
-  }).then(data => {
121
+      // eslint-disable-next-line no-shadow
122
+    }).then(data => {
123 123
       console.log(data)
124 124
       setData(data)
125
-  })
125
+    })
126 126
   }
127 127
   // value 的值
128 128
   function handleChange(value) {
@@ -133,48 +133,48 @@ const header = props => {
133 133
   function queryList() {
134 134
     getList({ pageNum: 1, pageSize: 10, channelId: localStorage.getItem('value') })
135 135
   }
136
- // 重置
137
- function reset() {
138
-  getList({ pageNum: 1, pageSize: 10 })
139
- }
136
+  // 重置
137
+  function reset() {
138
+    getList({ pageNum: 1, pageSize: 10 })
139
+  }
140 140
 
141
- // 跳编辑页
142
- function toEdit() {
143
-  router.push({
144
-    pathname: '/integralMall/editGoods',
145
-    query: {
146
-      a: 'b',
147
-    },
148
-  });
149
-}
141
+  // 跳编辑页
142
+  function toEdit() {
143
+    router.push({
144
+      pathname: '/integralMall/editGoods',
145
+      query: {
146
+        a: 'b',
147
+      },
148
+    });
149
+  }
150 150
 
151 151
   // 分页
152 152
   function onChange(pageNumber) {
153 153
     // eslint-disable-next-line react-hooks/rules-of-hooks
154
-      getList({ pageNum: pageNumber, pageSize: 9 })
154
+    getList({ pageNum: pageNumber, pageSize: 9 })
155 155
   }
156 156
 
157 157
   return (
158 158
     <>
159 159
       <div className={channels.searchBox}>
160
-        <dvi>
160
+        <div>
161 161
           <span className={channels.selectName}>渠道名称</span>
162 162
           <Select defaultValue="请选择" style={{ width: 180 }} onChange={handleChange}>
163
-          <option value="">全部</option>
164
-              {data.channelNmae.map(Item =>
165
-                <Option value={ Item.channelId }> { Item.channelName } </Option>,
166
-              )}
167
-              {/* {listItems} */}
163
+            <option value="">全部</option>
164
+            {data.channelNmae.map(Item =>
165
+              <Option value={Item.channelId}> {Item.channelName} </Option>,
166
+            )}
167
+            {/* {listItems} */}
168 168
           </Select>
169
-        </dvi>
169
+        </div>
170 170
         <div >
171
-        <Button type="primary" onClick={() => queryList() }>查询</Button>
172
-        {/* <Button onClick={() => reset() }>重置</Button> */}
171
+          <Button type="primary" onClick={() => queryList()}>查询</Button>
172
+          {/* <Button onClick={() => reset() }>重置</Button> */}
173 173
         </div>
174 174
       </div>
175 175
       <Button type="danger" onClick={toAdd} className={channels.about} >新增</Button>
176 176
       <Table dataSource={data.result.records} columns={columns} pagination={{ pageSize: 10, total: data.result.total, onChange }} />
177
-  </>
177
+    </>
178 178
   )
179 179
 }
180 180
 

+ 137
- 0
src/pages/charts/CityNums.jsx View File

@@ -0,0 +1,137 @@
1
+import React, { useState, useEffect } from 'react';
2
+import Echart from '../../components/EchartsTest/EChart';
3
+import { fetch, apis } from '@/utils/request';
4
+
5
+const geoOptions = {
6
+  backgroundColor: '#fff',
7
+  title: {
8
+    text: '城市分布',
9
+    left: 20,
10
+    top: 20
11
+  },
12
+  tooltip : {
13
+      trigger: 'item',
14
+      formatter: (params) => {
15
+        return `${params.data.name}: ${params.data.value[2]}`
16
+      }
17
+  },
18
+  geo: {
19
+      map: 'china',
20
+      roam: true,
21
+      zoom: 1.2,
22
+      label: {
23
+        normal: {
24
+          show: true,
25
+          color: '#aaa',
26
+        },
27
+        emphasis: {
28
+          show: true
29
+        }
30
+      },
31
+      itemStyle: {
32
+          normal: {
33
+              areaColor: '#f3f3f3',
34
+              borderColor: '#ddd'
35
+          },
36
+          emphasis: {
37
+              areaColor: '#eee'
38
+          }
39
+      }
40
+  },
41
+}
42
+
43
+const getCityData = fetch(apis.indexEcharts.userCity)
44
+
45
+const mapDataRange = x => {
46
+  // 映射区间 [1, 100000] => [rangeStart, rangeEnd]
47
+  const min = 1
48
+  const max = 100000
49
+  const rangeStart = 16
50
+  const rangeEnd = 24
51
+
52
+  return rangeStart + (x - min) * (rangeEnd - rangeStart) / (max - min)
53
+}
54
+
55
+const CityNums = (props) => {
56
+  const [data, setData]= useState([])
57
+
58
+  useEffect(() => {
59
+    getCityData().then(response => {
60
+      const { selectCityUser = [] } = response || {}
61
+      const data = selectCityUser.map((item) => {
62
+        return {
63
+          name: item.name,
64
+          value: [item.lng - 0, item.lat - 0, item.cityCount]
65
+        }
66
+      })
67
+      setData(data)
68
+    })
69
+  }, [])
70
+
71
+  const options = {
72
+    ...geoOptions,
73
+    series: [
74
+      {
75
+        name: '人数',
76
+        type: 'scatter',
77
+        coordinateSystem: 'geo',
78
+        data,
79
+        symbolSize: 10,
80
+        label: {
81
+            normal: {
82
+                formatter: '{b}',
83
+                position: 'right',
84
+                show: false
85
+            },
86
+            emphasis: {
87
+                show: true
88
+            }
89
+        },
90
+        itemStyle: {
91
+            normal: {
92
+                color: '#DB3C4B'
93
+            }
94
+        }
95
+      },
96
+      {
97
+          name: '前三',
98
+          type: 'effectScatter',
99
+          coordinateSystem: 'geo',
100
+          data: data.sort(function (a, b) {
101
+              return b.value[2] - a.value[2];
102
+          }).slice(0, 3),
103
+          symbolSize: function (val) {
104
+              return mapDataRange(val[2]);
105
+          },
106
+          showEffectOn: 'render',
107
+          rippleEffect: {
108
+              brushType: 'stroke'
109
+          },
110
+          hoverAnimation: true,
111
+          label: {
112
+              normal: {
113
+                  formatter: '{b}',
114
+                  position: 'right',
115
+                  show: false
116
+              }
117
+          },
118
+          itemStyle: {
119
+              normal: {
120
+                  color: '#DB3C4B',
121
+                  shadowBlur: 10,
122
+                  shadowColor: '#333'
123
+              }
124
+          },
125
+          zlevel: 1
126
+      }
127
+    ],
128
+  }
129
+
130
+  return (
131
+    <div style={{ margin: '24px 0', width: '100%', borderRadius: '8px', boxShadow: '0px 0px 9px 1px rgba(0,0,0,0.12)', overflow: 'hidden' }}>
132
+      <Echart options={options} style={{ width: '100%', height: '600px' }} ></Echart>
133
+    </div>
134
+  )
135
+}
136
+
137
+export default CityNums;

+ 1
- 1
src/pages/staff/list/StaffList.jsx View File

@@ -73,7 +73,7 @@ const CartBody = (props) => {
73 73
         </Button>
74 74
         <Button type="link" style={{ fontSize: '18px', color: '#cacaca', position: 'absolute', top: '50px', right: '0' }} onClick={confirm(data)}>
75 75
           {data.status === 1 ? '停用' : '启用'}
76
-                <Icon type="close-circle" style={{ color: '#C0C4CC', marginLeft: '8px' }} />
76
+                <Icon type={data.status===1?'close-circle':'form'} style={{ color: '#C0C4CC', marginLeft: '8px' }} />
77 77
         </Button>
78 78
         {/* <Button type="link" style={{ fontSize: '18px', color: '#FF925C', position: 'absolute', top: '50px', right: '0' }} onClick={confirm}>
79 79
           启用

+ 3
- 3
src/pages/staff/list/style.less View File

@@ -28,20 +28,20 @@
28 28
   font-size: 20px;
29 29
   color: rgba(102, 102, 102, 1);
30 30
   position: absolute;
31
-  bottom:36px;
31
+  bottom:52px;
32 32
 }
33 33
 .statusText {
34 34
   font-size: 20px;
35 35
   color: rgba(102, 102, 102, 1);
36 36
   position: absolute;
37
-  bottom:36px;
37
+  bottom:52px;
38 38
   right: 20px;
39 39
 }
40 40
 .phoneText{
41 41
   font-size: 20px;
42 42
   color: rgba(102, 102, 102, 1);
43 43
   position: absolute;
44
-  bottom:0px;
44
+  bottom:16px;
45 45
 }
46 46
 
47 47
 .cardItem {

+ 3
- 3
src/pages/system/intention.jsx View File

@@ -59,8 +59,8 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
59 59
         <BuildSelect onChange={changBuilding}/>
60 60
       </Col>
61 61
     </Row>
62
-    <Row>
63
-      <Col span={3} offset={3}>
62
+    <Row style={{margin:'10px 0'}}>
63
+      <Col span={5} offset={2}>
64 64
         用户操作
65 65
       </Col>
66 66
       <Col span={3} offset={3}>
@@ -69,7 +69,7 @@ const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
69 69
     </Row>
70 70
     {data.map((x) => {
71 71
       return <Row>
72
-                <Col span={3} offset={3}>
72
+                <Col span={5} offset={2}>
73 73
                   <Checkbox checked={x.checkbox} onChange={changeBox(x)}>{x.eventName}</Checkbox>
74 74
                 </Col>
75 75
                 <Col span={3} offset={3}>

+ 10
- 3
src/pages/user/login/components/Login/index.less View File

@@ -38,11 +38,11 @@ position: relative;
38 38
 }
39 39
 .login {
40 40
   background-color: #fff;
41
-  width:580px;
42
-  height:480px;
43
-  padding:120px 50px;
41
+  width:100%;
42
+  height:58vh;
44 43
   border-radius:0px 30px 30px 0px;
45 44
   margin: 0 auto;
45
+  padding: 10vh 0;
46 46
   :global {
47 47
     .ant-tabs .ant-tabs-bar {
48 48
       margin-bottom: 24px;
@@ -52,6 +52,13 @@ position: relative;
52 52
     .ant-form-item {
53 53
       margin: 0 2px 24px;
54 54
     }
55
+    .ant-input-affix-wrapper,.ant-form-item-control{ 
56
+      width: 36vw;
57
+      max-width: 600px;
58
+      min-width: 200px;
59
+      margin: 0 auto;
60
+      display: block;
61
+      }
55 62
   }
56 63
 
57 64
   .getCaptcha {

+ 1
- 1
src/pages/user/login/style.less View File

@@ -4,7 +4,7 @@
4 4
   // width: 368px;
5 5
   margin: 0 auto;
6 6
   @media screen and (max-width: @screen-sm) {
7
-    width: 95%;
7
+    width: 100%;
8 8
   }
9 9
 
10 10
   .icon {

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

@@ -160,6 +160,10 @@ export default {
160 160
       method: 'GET',
161 161
       url: `${prefix}/selectUserResource`
162 162
     },
163
+    userCity: {
164
+      method:'get',
165
+      url: `${prefix}/selectCityUser`
166
+    },
163 167
 
164 168
   },
165 169
   activity: {

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

@@ -33,7 +33,7 @@ const replaceURLParams = (url, params = {}) => {
33 33
 }
34 34
 
35 35
 request.interceptors.request.use((url, options) => {
36
-  const { urlData, headers = {}, logout = false, login = false, data, ...opts } = options
36
+  const { urlData, headers = {}, logout = false, login = false, action, data, ...opts } = options
37 37
   const apiURL = urlData ? replaceURLParams(url, urlData) : url
38 38
   const token = mixStr(window.localStorage.getItem('test-foobar'))
39 39
 
@@ -42,6 +42,7 @@ request.interceptors.request.use((url, options) => {
42 42
   }
43 43
 
44 44
   const authHeader = !login ? { Authorization: `Bearer ${token}` } : {}
45
+  const actionHeader = action ? { 'X-ACTION': action  }: {}
45 46
 
46 47
   return (
47 48
     {
@@ -50,6 +51,7 @@ request.interceptors.request.use((url, options) => {
50 51
         ...opts,
51 52
         headers: {
52 53
           ...authHeader,
54
+          ...actionHeader,
53 55
           ...headers,
54 56
         },
55 57
         data,