瀏覽代碼

接口联调

duwendi 1 年之前
父節點
當前提交
9f2f2f7a51

+ 8 - 0
src/api/article_liao.js

@@ -17,6 +17,14 @@ export default {
17 17
   businessAnalysisStat3(params) {
18 18
     return axios.post('/dash/charge/business/analysis/stat3', params)
19 19
   },
20
+  // 停车运行监管-流量预警
21
+  llyjListByPage(params) {
22
+    return axios.get('/dash/park/monitor/alert', {params})
23
+  },
24
+  // 停车运行监管-泊位停车实况
25
+  bwtcskListByPage(params) {
26
+    return axios.get('/dash/park/monitor/berth', {params})
27
+  },
20 28
   //资源利用分析
21 29
   parkMonitorStat(params) {
22 30
     return axios.post('/dash/park/monitor/stat', params);

+ 29 - 13
src/api/article_z.js

@@ -2,13 +2,17 @@
2 2
 import axios from "../util/ajax";
3 3
 
4 4
 export default {
5
+  // 停车盲点挖掘/dash/blind/spot/digging/page
6
+  queryBlindListByPage(params) {
7
+    return axios.get(`/dash/blind/spot/digging/page`, {params})
8
+  },
5 9
   //停车盲点挖掘
6 10
   queryBlindContext(params) {
7 11
     return axios.post(`/dash/blind/spot/digging/stat1`, params)
8 12
   },
9 13
   //路内泊位设置推荐
10 14
   queryBerthContext(params) {
11
-    return axios.post(`/dash/berth/recommend/page`, params)
15
+    return axios.get(`/dash/berth/recommend/page`, {params})
12 16
   },
13 17
   //路内泊位设置推荐
14 18
   queryGapMapContext(params) {
@@ -19,46 +23,58 @@ export default {
19 23
   queryServiceMap(params) {
20 24
     return axios.post(`/dash/service/operations/page`, params)
21 25
   },
22
-  // todo 区域停车主题_区域饱和度
23
-  queryParkingArea_Qybhd(params) {
26
+  // 区域停车主题_区域饱和度
27
+  queryParkingArea_qybhd(params) {
24 28
     return axios.post(`/dash/parking/area/stat1`, params)
25 29
   },
26
-  // todo 区域停车主题_停车热度时空分布
30
+  // 区域停车主题_饱和度时段分析
31
+  queryParkingArea_bhdsdfx(params) {
32
+    return axios.post(`/dash/parking/area/stat2`, params)
33
+  },
34
+  // 区域停车主题_停车热度时空分布
27 35
   queryParkingArea_Tcrdskfb(params) {
28 36
     return axios.post(`/dash/parking/area/stat3`, params)
29 37
   },
30
-  // 区域停车主题_停车饱和度
38
+  // 运营停车场主题_停车饱和度
31 39
   queryParkingOperate_Tcbhd(params) {
32 40
     return axios.post(`/dash/parking/operate/stat1`, params)
33 41
   },
34
-  // 区域停车主题_停车场周转率分析
42
+  // 运营停车场主题_停车场周转率分析
35 43
   queryParkingOperate_Tczzlfx(params) {
36 44
     return axios.post(`/dash/parking/operate/stat2`, params)
37 45
   },
38
-  // 区域停车主题_停车场营收分析
46
+  // 运营停车场主题_停车场营收分析
39 47
   queryParkingOperate_Tccysfx(params) {
40 48
     return axios.post(`/dash/parking/operate/stat3`, params)
41 49
   },
42
-  // 区域停车主题_特殊车辆进场占比
50
+  // 运营停车场主题_特殊车辆进场占比
43 51
   queryParkingOperate_Tscljczb(params) {
44 52
     return axios.post(`/dash/parking/operate/stat4`, params)
45 53
   },
46
-  // 区域停车主题_车辆进出场趋势
54
+  // 运营停车场主题_车辆进出场趋势
47 55
   queryParkingOperate_Cljccqs(params) {
48 56
     return axios.post(`/dash/parking/operate/stat5`, params)
49 57
   },
50
-  // 区域停车主题_停车场营收对比分析
58
+  // 运营停车场主题_停车场营收对比分析
51 59
   queryParkingOperate_Tccysdbfx(params) {
52 60
     return axios.post(`/dash/parking/operate/stat6`, params)
53 61
   },
54
-  // 区域停车主题_泊位盈余情况
62
+  // 泊位运营分析_泊位盈余情况
55 63
   queryBerthPerationNalysis_Bwyyqk(params) {
56 64
     return axios.post(`/dash/berth/peration/nalysis/surplus`, params)
57 65
   },
58
-  // 区域停车主题_泊位周转率分析
66
+  //泊位运营分析_泊位周转率分析
59 67
   queryBerthPerationNalysis_Bwzzlfx(params) {
60 68
     return axios.post(`/dash/berth/peration/nalysis/turnover`, params)
61 69
   },
70
+  // 收费价格监管-停车场收费价格
71
+  sfjgListByPage(params) {
72
+    return axios.get('/dash/charge/price/page',{params})
73
+  },
74
+  // 收费价格监管-车主缴费明细
75
+  czjfmxListByPage(params) {
76
+    return axios.get('/dash/charge/price/pay/page',{params})
77
+  },
62 78
   // 收费价格监管_收费单价分析
63 79
   queryChargePrice_Sfdjfx(params) {
64 80
     return axios.post(`/dash/charge/price/stat`, params)
@@ -75,7 +91,7 @@ export default {
75 91
   queryCustomerComplaint_Ksfx(params) {
76 92
     return axios.post(`/dash/customer/complaint/stat`, params)
77 93
   },
78
-  // todo设备运行监测_列表
94
+  // todo 设备运行监测_列表
79 95
   sbyxjcList(params) {
80 96
     return axios.get('/dash/equipment/running/page', {params})
81 97
   },

+ 55 - 18
src/api/audit.js

@@ -1,15 +1,47 @@
1 1
 import axios from "@/util/ajax";
2 2
 
3 3
 export default {
4
+  // 记录查询-车辆查询
5
+  carListByPage(params) {
6
+    return axios.get('/dash/record/query/berth/page', {params})
7
+  },
8
+  // 记录查询-轨迹查询
9
+  gjListByPage(params) {
10
+    return axios.get('/dash/record/query/monitor/page', {params})
11
+  },
12
+  // 记录查询-停车记录查询
13
+  tcjlListByPage(params) {
14
+    return axios.get('/dash/record/query/park/page', {params})
15
+  },
16
+  // 企业服务监管-列表
17
+  qyfwjgListByPage(params) {
18
+    return axios.get('/dash/enterprise/service/page', {params})
19
+  },
20
+  // 停车场情况-列表
21
+  tccqkListByPage(params) {
22
+    return axios.get('/dash/parking/lot/situation/page', {params})
23
+  },
24
+  // 停车场情况-总览
25
+  tccqkView(params) {
26
+    return axios.get('/dash/parking/lot/situation/view', {params})
27
+  },
28
+  // 停车收费取证主题-列表
29
+  tcsfztListByPage(params) {
30
+    return axios.get('/dash/parking/fee/page', {params})
31
+  },
4 32
   // 停车饱和预警-饱和度
5 33
   tcbhyj(params) {
6 34
     return axios.post('/dash/saturation/warning/stat1', params)
7 35
   },
8
-  // todo 停车饱和预警-网格化停车饱和预警
36
+  // 停车饱和预警-网格化停车饱和预警
9 37
   wghtcbhyj(params) {
10
-    return axios.post('/dash/saturation/warning/page', params)
38
+    return axios.get('/dash/saturation/warning/page', {params})
11 39
   },
12
-  // todo 车辆迁徙分析
40
+  //  车辆迁徙分析
41
+  clqx(params) {
42
+    return axios.post('/dash/trck/map/stat1', params)
43
+  },
44
+
13 45
   // 停车缺口分析-停车缺口分析
14 46
   tcqkfx(params) {
15 47
     return axios.post('/dash/gap/analysis/stat1', params)
@@ -30,18 +62,24 @@ export default {
30 62
   nyzs(params) {
31 63
     return axios.post('/dash/park/guidance/stat', params)
32 64
   },
33
-  // todo 全局停车诱导-统计
34
-  nyzstj(params) {
35
-    return axios.post('/dash/park/guidance/page', params)
65
+  //
66
+  nyzstjListByPage(params) {
67
+    return axios.get('/dash/park/guidance/page', {params})
68
+  },
69
+  // 区域停车发展分析
70
+  qytcfzListByPage1 (params) {
71
+    return axios.get('/dash/park/development/analysis/common', {params})
72
+  },
73
+  qytcfzListByPage2 (params) {
74
+    return axios.get('/dash/park/development/analysis/development', {params})
36 75
   },
37
-  // todo 区域停车发展分析
38 76
   // 路内泊位设置推荐- 停车缺口 /dash/berth/recommend/stat1
39 77
   lntcqk(params) {
40 78
     return axios.post('/dash/berth/recommend/stat1', params)
41 79
   },
42 80
   // 路内泊位设置推荐- 路内泊位
43 81
   lnbw(params) {
44
-    return axios.post('/dash/berth/recommend/page', params)
82
+    return axios.get('/dash/berth/recommend/page', {params})
45 83
   },
46 84
   // 其他分析-区域分析
47 85
   qyfx(params) {
@@ -63,7 +101,7 @@ export default {
63 101
   ywfx(params) {
64 102
     return axios.post('/dash/other/analyse/stat4', params)
65 103
   },
66
-  // todo 其他分析-停车热点分析
104
+  // 其他分析-停车热点分析
67 105
   tcrdfx(params) {
68 106
     return axios.post('/dash/other/analyse/stat5', params)
69 107
   },
@@ -75,7 +113,7 @@ export default {
75 113
   dlyltcc(params) {
76 114
     return axios.post('/dash/other/analyse/stat7', params)
77 115
   },
78
-  // todo 其他分析-高峰路线分析
116
+  // 其他分析-高峰路线分析
79 117
   gflxfx(params) {
80 118
     return axios.post('/dash/other/analyse/stat8', params)
81 119
   },
@@ -102,9 +140,9 @@ export default {
102 140
   },
103 141
   // 消息中心
104 142
   messageListByPage(params) {
105
-    return axios.post('/dash/message/page', {params})
143
+    return axios.get('/dash/message/page', {params})
106 144
   },
107
-  // todo 服务监控
145
+  // 服务监控
108 146
   monitorListByPage(params) {
109 147
     return axios.get('/dash/service/monitor/page', {params})
110 148
   },
@@ -118,7 +156,10 @@ export default {
118 156
   addPz(params) {
119 157
     return axios.post('/dash/credential/management/function/save', params)
120 158
   },
121
-  // todo 服务订阅
159
+  // 服务订阅 /dash/service/subscription/function/page
160
+  subscriptionListByPage (params) {
161
+    return axios.get('/dash/service/subscription/function/page', {params})
162
+  },
122 163
   subscription(params) {
123 164
     return axios.post('/dash/service/subscription/function/subscription', params)
124 165
   },
@@ -137,7 +178,7 @@ export default {
137 178
   addWhiteIp(params) {
138 179
     return axios.post('/dash/ip/white/list/save', params)
139 180
   },
140
-  // todo 服务调用功能
181
+  // 服务调用功能
141 182
   fwdy(params) {
142 183
     return axios.post('/dash/service/call/function/call', params)
143 184
   },
@@ -148,10 +189,6 @@ export default {
148 189
   czrzDetail(params) {
149 190
     return axios.post('/dash/operation/log/detail', params)
150 191
   },
151
-  // todo 停车收费主题
152
-  tcsfListByPage(params) {
153
-    return axios.get('/dash/parking/fee/page', {params})
154
-  },
155 192
   // 车主信用监管
156 193
   czxyjgListByPage(params) {
157 194
     return axios.get('/dash/car/owner/credit/page', {params})

+ 18 - 18
src/pages/index/components/access_data_analysis.vue

@@ -1,23 +1,23 @@
1 1
 <template>
2 2
   <div class="body-wrapper">
3
-      <el-form class="form-wrapper" :inline="true" :model="formInline">
4
-        <el-form-item label="所在区">
5
-          <el-select v-model="formInline.region" placeholder="请选择所在区">
6
-            <el-option
7
-              v-for="item in options"
8
-              :key="item.value"
9
-              :label="item.label"
10
-              :value="item.value">
11
-            </el-option>
12
-          </el-select>
13
-        </el-form-item>
14
-        <el-form-item label="停车场名称">
15
-          <el-input v-model="formInline.interfaceName" placeholder="请输入停车场名称"></el-input>
16
-        </el-form-item>
17
-        <el-form-item>
18
-          <el-button type="primary" @click="onSubmit">查询</el-button>
19
-        </el-form-item>
20
-      </el-form>
3
+<!--      <el-form class="form-wrapper" :inline="true" :model="formInline">-->
4
+<!--        <el-form-item label="所在区">-->
5
+<!--          <el-select v-model="formInline.region" placeholder="请选择所在区">-->
6
+<!--            <el-option-->
7
+<!--              v-for="item in options"-->
8
+<!--              :key="item.value"-->
9
+<!--              :label="item.label"-->
10
+<!--              :value="item.value">-->
11
+<!--            </el-option>-->
12
+<!--          </el-select>-->
13
+<!--        </el-form-item>-->
14
+<!--        <el-form-item label="停车场名称">-->
15
+<!--          <el-input v-model="formInline.interfaceName" placeholder="请输入停车场名称"></el-input>-->
16
+<!--        </el-form-item>-->
17
+<!--        <el-form-item>-->
18
+<!--          <el-button type="primary" @click="onSubmit">查询</el-button>-->
19
+<!--        </el-form-item>-->
20
+<!--      </el-form>-->
21 21
     <div style="display: flex; justify-content: space-between;">
22 22
       <div style="width: 50%; height: 300px">
23 23
         <barchart

+ 8 - 8
src/pages/index/components/announcement_function.vue

@@ -33,9 +33,9 @@
33 33
           <el-form-item label="公告正文" required>
34 34
             <el-input v-model="formLabelAlign.noticeText"></el-input>
35 35
           </el-form-item>
36
-          <el-form-item v-if="title === '查看详情'" label="发布人">
37
-            <el-input v-model="formLabelAlign.publishUser"></el-input>
38
-          </el-form-item>
36
+<!--          <el-form-item v-if="title === '查看详情'" label="发布人">-->
37
+<!--            <el-input v-model="formLabelAlign.publishUser"></el-input>-->
38
+<!--          </el-form-item>-->
39 39
         </el-form>
40 40
       </div>
41 41
       <span slot="footer" class="dialog-footer">
@@ -59,12 +59,12 @@ export default {
59 59
         },
60 60
         {
61 61
           label: '公告日期',
62
-          key: 'publishDate'
62
+          key: 'createTime'
63 63
         },
64
-        {
65
-          label: '发布人',
66
-          key: 'publishUser'
67
-        }
64
+        // {
65
+        //   label: '发布人',
66
+        //   key: 'publishUser'
67
+        // }
68 68
       ],
69 69
       tableData: [{"publicTitle":'预警提示',"publicTime":'2023-12-29 10:00:00',"publicPerson":'李玉'},
70 70
         {"publicTitle":'停车时限',"publicTime":'2023-12-31 11:00:00',"publicPerson":'张玮'},

+ 8 - 18
src/pages/index/components/berth_recommend.vue

@@ -44,24 +44,19 @@ export default {
44 44
       linedata: [],
45 45
       columns: [
46 46
         {
47
-          label: '街道名称',
48
-          key: 'jd'
47
+          label: '区域名称',
48
+          key: 'regionName'
49 49
         },
50 50
         {
51 51
           label: '缺口程度(%)',
52
-          key: 'qk'
52
+          key: 'parkGap'
53 53
         },
54 54
         {
55 55
           label: '推荐策略',
56
-          key: 'tj'
56
+          key: 'detail'
57 57
         }
58 58
       ],
59
-      tableData: [{"jd": '老街街道',"qk": 30,"tj":"建议设置路内泊车"}
60
-        ,{"jd":'马路街街道',"qk": 20,"tj":"--"}
61
-        ,{"jd":'顺河街街道',"qk": 50,"tj":"建议设置路内泊车"}
62
-        ,{"jd":'干河陈街道',"qk": 30,"tj":"--"}
63
-        ,{"jd":'大刘镇',"qk": 20,"tj":"建议设置路内泊车"}
64
-        ,{"jd":'阴阳赵镇',"qk": 50,"tj":"--"}],
59
+      tableData: [],
65 60
       total: 3,
66 61
       pageSize: 10,
67 62
       pageNum: 1,
@@ -93,14 +88,9 @@ export default {
93 88
       this.getTableData()
94 89
     },
95 90
     getTableData() {
96
-      const {pageNum, pageSize, searchWords} = this
97
-      api.lnbw({pageNum, pageSize, resourceName: searchWords}).then(res => {
98
-        this.tableData = []
99
-        res.data.records.map((item, index) => {
100
-          const newItem = {...item}
101
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
102
-          this.tableData.push(newItem)
103
-        })
91
+      const {pageNum, pageSize} = this
92
+      api.lnbw({current: pageNum, size: pageSize}).then(res => {
93
+        this.tableData = res.data.records || []
104 94
         this.total = res.data.total
105 95
       })
106 96
     },

+ 10 - 18
src/pages/index/components/blind_spot_digging.vue

@@ -44,34 +44,26 @@ export default {
44 44
       linedata: [],
45 45
       columns: [
46 46
         {
47
-          label: '街道名称',
48
-          key: 'jd'
47
+          label: '区域名称',
48
+          key: 'regionName'
49 49
         },
50 50
         {
51 51
           label: '缺口程度(%)',
52
-          key: 'qk'
52
+          key: 'parkGap'
53 53
         },
54 54
         {
55 55
           label: '推荐策略',
56
-          key: 'tj'
56
+          key: 'detail'
57 57
         }
58 58
       ],
59
-      tableData: [{"jd": '老街街道',"qk": 30,"tj":"建议提升停车盲点的停车资源利用率"}
60
-        ,{"jd":'马路街街道',"qk": 20,"tj":"--"}
61
-        ,{"jd":'顺河街街道',"qk": 10,"tj":"建议提升停车盲点的停车资源利用率"}
62
-        ,{"jd":'干河陈街道',"qk": 0,"tj":"--"}
63
-        ,{"jd":'大刘镇',"qk": 0,"tj":"建议提升停车盲点的停车资源利用率"}
64
-        ,{"jd":'阴阳赵镇',"qk": 10,"tj":"--"}],
59
+      tableData: [],
65 60
       total: 3,
66 61
       pageSize: 10,
67
-      pageNum: 1,
68
-      radio: '2',
69
-      dialogVisible: false,
70
-      selRow: {},
71
-      searchWords: undefined,
62
+      pageNum: 1
72 63
     }
73 64
   },
74 65
   mounted() {
66
+    this.getTableData()
75 67
     this.getLineData()
76 68
   },
77 69
   watch: {
@@ -92,9 +84,9 @@ export default {
92 84
       this.getTableData()
93 85
     },
94 86
     getTableData() {
95
-      const {pageNum, pageSize, searchWords} = this
96
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
97
-        this.tableData = res.data.record || []
87
+      const {pageNum, pageSize} = this
88
+      api.queryBlindListByPage({current: pageNum, size: pageSize}).then(res => {
89
+        this.tableData = res.data.records || []
98 90
         this.total = res.data.total
99 91
       })
100 92
     },

+ 42 - 98
src/pages/index/components/charge_price.vue

@@ -8,8 +8,8 @@
8 8
       </el-table-column>
9 9
     </el-table>
10 10
     <div class="table-pagination">
11
-      <el-pagination :background="false" layout="total, prev, pager, next" :total="total2" @current-change="handlePageChange"
12
-                     :current-page.sync="pageNum2" :page-size.sync="pageSize2">
11
+      <el-pagination :background="false" layout="total, prev, pager, next" :total="total" @current-change="handlePageChange"
12
+                     :current-page.sync="pageNum" :page-size.sync="pageSize">
13 13
       </el-pagination>
14 14
     </div>
15 15
     <br>
@@ -24,20 +24,20 @@
24 24
           :roseType = "false"
25 25
           :colorArr="modelPieColor"
26 26
           :labelFormat="['{name|{b}}', '{sub|{@value}辆 {d}%}', '{hr|}']"
27
-          :dataset="modelData.list"
27
+          :dataset="modelData"
28 28
           :encode="{ itemName: 'name', value: 'value' }"
29 29
         />
30 30
       </div>
31 31
 
32 32
       <div style="width: 55%;height: 400px;">
33 33
         <h4 style="color: white">车主缴费明细</h4>
34
-        <el-table :data="tableData3" style="background: #2a2a2a;border-color: #333;">
34
+        <el-table :data="tableData2" style="background: #2a2a2a;border-color: #333;">
35 35
           <el-table-column v-for="(item, index) in columns2" :key="index" :label="item.label" :prop="item.key">
36 36
           </el-table-column>
37 37
         </el-table>
38 38
         <div class="table-pagination">
39
-          <el-pagination :background="false" layout="total, prev, pager, next" :total="total" @current-change="handlePageChange"
40
-                         :current-page.sync="pageNum" :page-size.sync="pageSize">
39
+          <el-pagination :background="false" layout="total, prev, pager, next" :total="total2" @current-change="handlePageChange2"
40
+                         :current-page.sync="pageNum2" :page-size.sync="pageSize2">
41 41
           </el-pagination>
42 42
         </div>
43 43
       </div>
@@ -48,9 +48,8 @@
48 48
   </div>
49 49
 </template>
50 50
 <script>
51
-import api from "@/api/audit.js";
52 51
 import piechart from "@/components/pieChart";
53
-import api1 from "@/api/article_z";
52
+import api from "@/api/article_z";
54 53
 
55 54
 export default {
56 55
   components: {
@@ -61,138 +60,83 @@ export default {
61 60
       columns: [
62 61
         {
63 62
           label: '停车场',
64
-          key: 'resourceName'
63
+          key: 'carParkName'
65 64
         },
66 65
         {
67
-          label: '收费标准',
68
-          key: 'resourceType'
66
+          label: '日常收费标准',
67
+          key: 'dailyStandards'
69 68
         } ,{
70
-          label: '全天(24小时最高停车费)',
71
-          key: 'resourceName'
69
+          label: '假期收费标准',
70
+          key: 'holidayStandards'
71
+        },{
72
+          label: '特殊收费标准',
73
+          key: 'specialStandards'
72 74
         }
73 75
       ],
74 76
       columns2: [
75 77
         {
76
-          label: '日期',
77
-          key: 'resourceName'
78
+          label: '缴费时间',
79
+          key: 'payTime'
78 80
         },
79 81
         {
80
-          label: '姓名',
81
-          key: 'resourceType'
82
+          label: '车牌号',
83
+          key: 'plateNo'
82 84
         } ,{
83
-          label: '地址',
84
-          key: 'resourceName'
85
+          label: '停车场',
86
+          key: 'carParkName'
85 87
         },{
86 88
           label: '缴费金额',
87
-          key: 'resourceName'
89
+          key: 'fee'
88 90
         },{
89 91
           label: '停车时长',
90
-          key: 'resourceName'
92
+          key: 'duration'
91 93
         }
92 94
       ],
93 95
       modelPieColor: ["#2E8B57","#9078f8","#54FF9F","#00CED1"],
94
-      modelData: {
95
-        list: [{name: '2元/小时', value: 600}, {name: '3元/小时', value: 800}, {name: '4元/小时', value: 800}, {name: '5元/小时', value: 800}]
96
-      },
96
+      modelData: [],
97 97
       tableData: [],
98 98
       tableData2: [],
99
-      tableData3: [],
100 99
       total: 0,
101
-      pageSize: 10,
100
+      pageSize: 5,
102 101
       pageNum: 1,
103
-      radio: '2',
104
-      dialogVisible: false,
105
-      selRow: {},
106
-      searchWords: undefined,
107 102
       total2: 0,
108
-      pageSize2: 10,
109
-      pageNum2: 1,
110
-      radio2: '2',
111
-      dialogVisible2: false,
112
-      selRow2: {},
113
-      searchWords2: undefined,
103
+      pageSize2: 5,
104
+      pageNum2: 1
114 105
     }
115 106
   },
116 107
   mounted() {
117 108
     this.getTableData()
118 109
     this.getTableData2()
119
-    this.getTableData3()
120 110
     this.getModelDataData()
121 111
   },
122 112
   watch: {
123 113
   },
124 114
   methods: {
125
-    handlePageChange() {
126
-      this.getTableData()
127
-      this.getTableData2()
128
-      this.getTableData3()
129
-    },
130
-    handleAudit(row) {
131
-      this.selRow = row
132
-      this.dialogVisible = true
133
-    },
134
-    handleCancelApply(row) {
135
-      console.log('enter handle cancel apply')
136
-    },
137
-    handleConfirm() {
138
-      const {id} = this.selRow
139
-      api.applyResource({id, applyType: this.radio}).then(res => {
140
-        if(res.success) {
141
-          this.dialogVisible = false
142
-          this.$message({
143
-            message: '审核成功!',
144
-            type: 'success'
145
-          })
146
-          this.getTableData()
147
-        }
148
-      })
149
-    },
150 115
     getTableData() {
151
-      const {pageNum, pageSize, searchWords} = this
152
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
153
-        this.tableData = []
154
-        res.data.records.map((item, index) => {
155
-          const newItem = {...item}
156
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
157
-          this.tableData.push(newItem)
158
-        })
159
-        this.total = res.data.total
116
+      const {pageNum, pageSize} = this
117
+      api.sfjgListByPage({current: 1, size: pageSize}).then(res => {
118
+        this.tableData = res.data.records || []
119
+        this.total = res.data.total || 0
160 120
       })
161 121
     },
162 122
     getTableData2() {
163
-      api.applyList({}).then(res => {
164
-        this.tableData2 =  res.data.data
165
-        this.total2 = res.data.total
123
+      const {pageNum2, pageSize2} = this
124
+      api.czjfmxListByPage({current: pageNum2, size: pageSize2}).then(res => {
125
+        this.tableData2 = (res.data.records || []).map(item => ({...item, fee: Number(item.fee).toFixed(2)}))
126
+        this.total2 = res.data.total || 0
166 127
       })
167 128
     },
168
-
169
-    getTableData3() {
170
-      api.applyList({pageNum: this.pageNum2, pageSize:this.pageSize2, resourceName: this.searchWords2}).then(res => {
171
-        this.tableData3 =  res.data.data
172
-        this.total3 = res.data.total
173
-      })
129
+    handlePageChange() {
130
+      this.getTableData()
131
+    },
132
+    handlePageChange2() {
133
+      this.getTableData2()
174 134
     },
175 135
     getModelDataData(){
176
-      api1.queryChargePrice_Sfdjfx().then(res=>{
177
-        this.modelData.list=res.data;
136
+      api.queryChargePrice_Sfdjfx().then(res=>{
137
+        this.modelData=res.data || [];
178 138
       })
179 139
     },
180
-
181
-    getApplyTypeText(val) {
182
-      if (!val){
183
-        return '未申请'
184
-      }
185
-      const textMap = {
186
-        1: '待审批',
187
-        2: '审批通过',
188
-        3: '审批驳回'
189
-      }
190
-      return textMap[val]
191
-    },
192
-    handleSearch() {
193
-      this.pageNum = 1
194
-      this.getTableData()
195
-    }
196 140
   }
197 141
 }
198 142
 </script>

+ 5 - 0
src/pages/index/components/customer_complaint.vue

@@ -124,6 +124,10 @@ export default {
124 124
         {
125 125
           label: '处理状态',
126 126
           key: 'disposeState'
127
+        },
128
+        {
129
+          label: '处理结束时间状态',
130
+          key: 'endDisposeTime'
127 131
         }
128 132
       ],
129 133
       modelPieColor: ["#4382f6","#9078f8","#C1FFC1","#1E90FF"],
@@ -151,6 +155,7 @@ export default {
151 155
   },
152 156
   methods: {
153 157
     onSubmit() {
158
+      this.pageNum = 1
154 159
       this.getTableData()
155 160
     },
156 161
     getModelDataData(){

+ 6 - 102
src/pages/index/components/enterprise_service.vue

@@ -5,7 +5,7 @@
5 5
     </div>
6 6
     <br>
7 7
     <br>
8
-    <el-table :data="tableData7" style="background: #2a2a2a;border-color: #333;">
8
+    <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
9 9
       <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
10 10
       </el-table-column>
11 11
     </el-table>
@@ -32,27 +32,15 @@ export default {
32 32
       columns: [
33 33
         {
34 34
           label: '车场名',
35
-          key: 'parkName'
35
+          key: 'carParkName'
36 36
         },
37 37
         {
38 38
           label: '综合评分',
39
-          key: 'resourceType'
39
+          key: 'score'
40 40
         }
41 41
       ],
42 42
       tableData: [],
43
-      tableData2: [],
44
-      tableData3: [],
45
-      tableData4: [],
46
-      tableData5: [],
47
-      tableData6: [],
48
-      tableData7: [],
49 43
       total: 0,
50
-      total2: 0,
51
-      total3: 0,
52
-      total4: 0,
53
-      total5: 0,
54
-      total6: 0,
55
-      total7: 0,
56 44
       pageSize: 10,
57 45
       pageNum: 1,
58 46
       radio: '2',
@@ -64,12 +52,6 @@ export default {
64 52
   },
65 53
   mounted() {
66 54
     this.getTableData()
67
-    this.getTableData2()
68
-    this.getTableData3()
69
-    this.getTableData4()
70
-    this.getTableData5()
71
-    this.getTableData6()
72
-    this.getTableData7()
73 55
   },
74 56
   watch: {
75 57
   },
@@ -77,90 +59,12 @@ export default {
77 59
     handlePageChange() {
78 60
       this.getTableData()
79 61
     },
80
-    handleAudit(row) {
81
-      this.selRow = row
82
-      this.dialogVisible = true
83
-    },
84
-    handleCancelApply(row) {
85
-      console.log('enter handle cancel apply')
86
-    },
87
-    handleConfirm() {
88
-      const {id} = this.selRow
89
-      api.applyResource({id, applyType: this.radio}).then(res => {
90
-        if(res.success) {
91
-          this.dialogVisible = false
92
-          this.$message({
93
-            message: '审核成功!',
94
-            type: 'success'
95
-          })
96
-          this.getTableData()
97
-        }
98
-      })
99
-    },
100 62
     getTableData() {
101
-      const {pageNum, pageSize, searchWords} = this
102
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
103
-        this.tableData = []
104
-        res.data.records.map((item, index) => {
105
-          const newItem = {...item}
106
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
107
-          this.tableData.push(newItem)
108
-        })
63
+      const {pageNum, pageSize} = this
64
+      api.qyfwjgListByPage({current: pageNum, size: pageSize}).then(res => {
65
+        this.tableData = (res.data.records || []).map(item => ({...item, score: Math.round(item.score)}))
109 66
         this.total = res.data.total
110 67
       })
111
-    },
112
-    getTableData2() {
113
-      api.applyList({}).then(res => {
114
-        this.tableData2 =  res.data.data
115
-        this.total2 = res.data.total
116
-      })
117
-    },
118
-    getTableData3() {
119
-      api.applyList({}).then(res => {
120
-        this.tableData3 =  res.data.data
121
-        this.total3 = res.data.total
122
-      })
123
-    },
124
-    getTableData4() {
125
-      api.applyList({}).then(res => {
126
-        this.tableData4 =  res.data.data
127
-        this.total4 = res.data.total
128
-      })
129
-    },
130
-    getTableData5() {
131
-      api.applyList({}).then(res => {
132
-        this.tableData5 =  res.data.data
133
-        this.total5 = res.data.total
134
-      })
135
-    },
136
-    getTableData6() {
137
-      api.applyList({}).then(res => {
138
-        this.tableData6 =  res.data.data
139
-        this.total6 = res.data.total
140
-      })
141
-    },
142
-    getTableData7() {
143
-      api.applyList({}).then(res => {
144
-        this.tableData7 =  res.data.data
145
-        this.total7 = res.data.total
146
-      })
147
-    },
148
-
149
-
150
-    getApplyTypeText(val) {
151
-      if (!val){
152
-        return '未申请'
153
-      }
154
-      const textMap = {
155
-        1: '待审批',
156
-        2: '审批通过',
157
-        3: '审批驳回'
158
-      }
159
-      return textMap[val]
160
-    },
161
-    handleSearch() {
162
-      this.pageNum = 1
163
-      this.getTableData()
164 68
     }
165 69
   }
166 70
 }

+ 0 - 1
src/pages/index/components/operation_log.vue

@@ -130,7 +130,6 @@ export default {
130 130
       })
131 131
     },
132 132
     onSubmit() {
133
-      console.log(this.formInline, 'submit!');
134 133
       let params = this.formInline
135 134
       if (
136 135
         this.formInline.time && this.formInline.time.length === 2 &&

+ 159 - 199
src/pages/index/components/other_analyse.vue

@@ -184,11 +184,11 @@
184 184
         />
185 185
     </div>
186 186
 
187
-      <div style="width: 50%;height: 500px;">
188
-        <h4 style="color: white">重点车辆进场占比</h4>
189
-        <br>
190
-        <div id="ChinaLineMap2"></div>
191
-      </div>
187
+<!--      <div style="width: 50%;height: 500px;">-->
188
+<!--        <h4 style="color: white">重点车辆进场占比</h4>-->
189
+<!--        <br>-->
190
+<!--        <div id="ChinaLineMap2"></div>-->
191
+<!--      </div>-->
192 192
     </div>
193 193
 
194 194
   </div>
@@ -254,7 +254,7 @@ export default {
254 254
           textStyle: {
255 255
             color: "white",
256 256
           },
257
-          text: ["(%)"],
257
+          text: ["()"],
258 258
           min: 0,
259 259
           max: 100,
260 260
           inRange: {
@@ -426,213 +426,173 @@ export default {
426 426
     },
427 427
     mapTooltip(data) {
428 428
       return `<div class="map-tooltip">
429
-        <div class="map-tooltip-name">${data.name}:<span class="map-tooltip-value">${data.value}%</span></div>
429
+        <div class="map-tooltip-name">${data.name}:<span class="map-tooltip-value">${data.value}</span></div>
430 430
       </div>`;
431 431
     },
432 432
     loadMap() {
433
-      let arr = []
434
-      let dataSoure = {
435
-        '411102': {quyuName: '源汇区', zb: 40},
436
-        '411103': {quyuName: '郾城区', zb: 60},
437
-        '411104': {quyuName: '召陵区', zb: 40},
438
-        '411121': {quyuName: '舞阳县', zb: 50},
439
-        '411122': {quyuName: '临颍县', zb: 30}}
440
-      for (const key in dataSoure) {
441
-        if (key !== '411100') {
442
-          arr.push({
443
-            name: dataSoure[key].quyuName,
444
-            value: Number(dataSoure[key].zb),
445
-          });
433
+      api.tcrdfx().then(res => {
434
+        let arr = []
435
+        let dataSoure = res.data || {}
436
+        for (const key in dataSoure) {
437
+          if (key !== '411100') {
438
+            arr.push({
439
+              name: dataSoure[key].quyuName,
440
+              value: Number(dataSoure[key].zb),
441
+            });
442
+          }
446 443
         }
447
-      }
448
-      let mapMax = Math.max(...arr.map(item => item.value))
449
-      let mapMin = Math.min(...arr.map(item => item.value))
450
-      let chart = echarts.init(document.getElementById("map"));
451
-      echarts.registerMap("luohe", geoJson);
452
-      this.option.series[0].data = arr;
453
-      this.option.visualMap.min = mapMin;
454
-      this.option.visualMap.max = mapMax;
455
-      chart.setOption(this.option);
456
-      this.dqIndex = -1;
457
-      this.setIntervalMap(chart);
458
-      //鼠标移入静止播放
459
-      chart.on("mouseover", (e) => {
460
-        clearInterval(this.timer);
461
-        chart.dispatchAction({
462
-          type: "showTip",
463
-          seriesIndex: 0,
464
-          dataIndex: e.dataIndex,
444
+        let mapMax = Math.max(...arr.map(item => item.value))
445
+        let mapMin = Math.min(...arr.map(item => item.value))
446
+        let chart = echarts.init(document.getElementById("map"));
447
+        echarts.registerMap("luohe", geoJson);
448
+        this.option.series[0].data = arr;
449
+        this.option.visualMap.min = mapMin;
450
+        this.option.visualMap.max = mapMax;
451
+        chart.setOption(this.option);
452
+        this.dqIndex = -1;
453
+        this.setIntervalMap(chart);
454
+        //鼠标移入静止播放
455
+        chart.on("mouseover", (e) => {
456
+          clearInterval(this.timer);
457
+          chart.dispatchAction({
458
+            type: "showTip",
459
+            seriesIndex: 0,
460
+            dataIndex: e.dataIndex,
461
+          });
465 462
         });
466
-      });
467
-      chart.on("mouseout", (e) => {
468
-        clearInterval(this.timer);
469
-        //鼠标移出后先把上次的高亮取消
470
-        chart.dispatchAction({
471
-          type: "downplay",
472
-          seriesIndex: 0,
473
-          dataIndex: e.dataIndex,
463
+        chart.on("mouseout", (e) => {
464
+          clearInterval(this.timer);
465
+          //鼠标移出后先把上次的高亮取消
466
+          chart.dispatchAction({
467
+            type: "downplay",
468
+            seriesIndex: 0,
469
+            dataIndex: e.dataIndex,
470
+          });
471
+          this.setIntervalMap(chart);
474 472
         });
475
-        this.setIntervalMap(chart);
476
-      });
473
+      })
477 474
     },
478 475
     //加载轨迹地图
479 476
     loadChinaLineMap() {
480
-      echarts.registerMap('河南', geoJson);
481
-      var myCharts = echarts.init(document.getElementById('ChinaLineMap'));
482
-      var myCharts2 = echarts.init(document.getElementById('ChinaLineMap2'));
483
-      var geoCoordMap = {
484
-        '源汇区': [114.00647,33.55627],
485
-        '郾城区': [114.00694,33.58723],
486
-        '召陵区': [114.09399,33.58601],
487
-        '舞阳县': [113.59848,33.43243],
488
-        '临颍县': [113.93661,33.81123]
489
-      };
490
-      var chinaDatas = [
491
-        [{
492
-          name: '源汇区',
493
-          value: 0
494
-        }, {
495
-          name: '郾城区',
496
-          value: 20
497
-        }], [{
498
-          name: '郾城区',
499
-          value: 0
500
-        }, {
501
-          name: '召陵区',
502
-          value: 20
503
-        }], [{
504
-          name: '召陵区',
505
-          value: 0
506
-        }, {
507
-          name: '郾城区',
508
-          value: 20
509
-        }], [{
510
-          name: '舞阳县',
511
-          value: 1
512
-        }, {
513
-          name: '郾城区',
514
-          value: 20
515
-        }], [{
516
-          name: '临颍县',
517
-          value: 2
518
-        }, {
519
-          name: '郾城区',
520
-          value: 20
521
-        }]
522
-      ];
523
-      var convertData = function (data) {
524
-        var res = [];
525
-        for (var i = 0; i < data.length; i++) {
526
-          var dataItem = data[i];
527
-          var fromCoord = geoCoordMap[dataItem[0].name];
528
-          // var toCoord = [114.026405, 33.575855];
529
-          var toCoord = geoCoordMap[dataItem[1].name];
530
-          if (fromCoord && toCoord) {
531
-            res.push([{
532
-              coord: fromCoord,
533
-              value: dataItem[0].value
534
-            }, {
535
-              coord: toCoord,
536
-            }]);
477
+      api.gflxfx().then(res => {
478
+        echarts.registerMap('河南', geoJson);
479
+        var myCharts = echarts.init(document.getElementById('ChinaLineMap'));
480
+        // var myCharts2 = echarts.init(document.getElementById('ChinaLineMap2'));
481
+        var geoCoordMap = res.data.geoCoordMap || {};
482
+        var chinaDatas = (res.data.chinaDatas || []).map(item => ([{name: item.from, value: item.value}, {name: item.to, value: 0}]));
483
+        var convertData = function (data) {
484
+          var res = [];
485
+          for (var i = 0; i < data.length; i++) {
486
+            var dataItem = data[i];
487
+            var fromCoord = geoCoordMap[dataItem[0].name];
488
+            // var toCoord = [114.026405, 33.575855];
489
+            var toCoord = geoCoordMap[dataItem[1].name];
490
+            if (fromCoord && toCoord) {
491
+              res.push([{
492
+                coord: fromCoord,
493
+                value: dataItem[0].value
494
+              }, {
495
+                coord: toCoord,
496
+              }]);
497
+            }
537 498
           }
538
-        }
539
-        return res;
540
-      };
541
-      //飞线数据
542
-      var series = [];
543
-      [['漯河市', chinaDatas]].forEach(function (item, i) {
544
-        console.log(item)
545
-        series.push({
546
-            type: 'lines',
547
-            zlevel: 2,
548
-            effect: {
549
-              show: true,
550
-              period: 4, //箭头指向速度,值越小速度越快
551
-              trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
552
-              symbol: 'arrow', //箭头图标
553
-              symbolSize: 5, //图标大小
554
-            },
555
-            lineStyle: {
556
-              normal: {
557
-                color:'#EE5652',
558
-                width: 1, //尾迹线条宽度
559
-                opacity: 1, //尾迹线条透明度
560
-                curveness: .3 //尾迹线条曲直度
561
-              }
562
-            },
563
-            data: convertData(item[1])
564
-          }, {
565
-            type: 'effectScatter',
566
-            coordinateSystem: 'geo',
567
-            zlevel: 2,
568
-            rippleEffect: { //涟漪特效
569
-              period: 4, //动画时间,值越小速度越快
570
-              brushType: 'stroke', //波纹绘制方式 stroke, fill
571
-              scale: 4 //波纹圆环最大限制,值越大波纹越大
572
-            },
573
-            label: {
574
-              normal: {
499
+          return res;
500
+        };
501
+        //飞线数据
502
+        var series = [];
503
+        [['漯河市', chinaDatas]].forEach(function (item, i) {
504
+          console.log(item)
505
+          series.push({
506
+              type: 'lines',
507
+              zlevel: 2,
508
+              effect: {
575 509
                 show: true,
576
-                position: 'right', //显示位置
577
-                offset: [5, 0], //偏移设置
578
-                formatter: function (params) {//圆环显示文字
579
-                  return params.data.name;
510
+                period: 4, //箭头指向速度,值越小速度越快
511
+                trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
512
+                symbol: 'arrow', //箭头图标
513
+                symbolSize: 5, //图标大小
514
+              },
515
+              lineStyle: {
516
+                normal: {
517
+                  color:'#EE5652',
518
+                  width: 1, //尾迹线条宽度
519
+                  opacity: 1, //尾迹线条透明度
520
+                  curveness: .3 //尾迹线条曲直度
521
+                }
522
+              },
523
+              data: convertData(item[1])
524
+            }, {
525
+              type: 'effectScatter',
526
+              coordinateSystem: 'geo',
527
+              zlevel: 2,
528
+              rippleEffect: { //涟漪特效
529
+                period: 4, //动画时间,值越小速度越快
530
+                brushType: 'stroke', //波纹绘制方式 stroke, fill
531
+                scale: 4 //波纹圆环最大限制,值越大波纹越大
532
+              },
533
+              label: {
534
+                normal: {
535
+                  show: false,
536
+                  position: 'right', //显示位置
537
+                  offset: [5, 0], //偏移设置
538
+                  formatter: function (params) {//圆环显示文字
539
+                    return params.data.name;
540
+                  },
541
+                  color:'#FFD200',
542
+                  fontSize: 16
580 543
                 },
581
-                color:'#FFD200',
582
-                fontSize: 16
544
+                emphasis: {
545
+                  show: true
546
+                }
583 547
               },
584
-              emphasis: {
585
-                show: true
586
-              }
587
-            },
588
-            symbol: 'circle',
589
-            // symbolSize: function (val) {
590
-            // 	return 5 + val[2] * 5; //圆环大小
591
-            // },
592
-            itemStyle: {
593
-              normal: {
594
-                show: true,
595
-                color: '#ffffff'
596
-              }
597
-            },
598
-            data: item[1].map(function (dataItem) {
599
-              return {
600
-                name: dataItem[0].name,
601
-                value: geoCoordMap[dataItem[0].name].concat([dataItem[0].value])
602
-              };
603
-            }),
604
-          },
605
-        );
606
-      });
607
-      let option = {
608
-        backgroundColor: "#0c0c0c",
609
-        geo: [
610
-          {
611
-            map: '河南',
612
-            aspectScale: 1,
613
-            roam: false, // 是否允许缩放
614
-            zoom: 1.2, // 默认显示级别
615
-            layoutSize: '95%',
616
-            layoutCenter: ['55%', '51.5%'],
617
-            itemStyle: {
618
-              areaColor: 'rgba(0,27,95,0.4)',
619
-              borderColor: '#004db5',
620
-              borderWidth: 1
548
+              symbol: 'circle',
549
+              // symbolSize: function (val) {
550
+              // 	return 5 + val[2] * 5; //圆环大小
551
+              // },
552
+              itemStyle: {
553
+                normal: {
554
+                  show: true,
555
+                  color: '#ffffff'
556
+                }
557
+              },
558
+              data: item[1].map(function (dataItem) {
559
+                return {
560
+                  name: dataItem[0].name,
561
+                  value: geoCoordMap[dataItem[0].name].concat([dataItem[0].value])
562
+                };
563
+              }),
621 564
             },
622
-            zlevel: 1,
623
-            silent: true
624
-          }
625
-        ],
626
-        series: series
627
-      };
628
-      //var max = Math.max.apply(Math, newarray);
629
-      //option.visualMap.max = max;
630
-      myCharts.clear();
631
-      myCharts.setOption(option);
632
-      myCharts2.clear();
633
-      myCharts2.setOption(option);
634
-      // myChart.setOption(option);
635
-
565
+          );
566
+        });
567
+        let option = {
568
+          backgroundColor: "#0c0c0c",
569
+          geo: [
570
+            {
571
+              map: '河南',
572
+              aspectScale: 1,
573
+              roam: false, // 是否允许缩放
574
+              zoom: 1.2, // 默认显示级别
575
+              layoutSize: '95%',
576
+              layoutCenter: ['55%', '51.5%'],
577
+              itemStyle: {
578
+                areaColor: 'rgba(0,27,95,0.4)',
579
+                borderColor: '#004db5',
580
+                borderWidth: 1
581
+              },
582
+              zlevel: 1,
583
+              silent: true
584
+            }
585
+          ],
586
+          series: series
587
+        };
588
+        //var max = Math.max.apply(Math, newarray);
589
+        //option.visualMap.max = max;
590
+        myCharts.clear();
591
+        myCharts.setOption(option);
592
+        // myCharts2.clear();
593
+        // myCharts2.setOption(option);
594
+        // myChart.setOption(option);
595
+      })
636 596
     }
637 597
   }
638 598
 }

+ 48 - 62
src/pages/index/components/park_development_analysis.vue

@@ -3,117 +3,103 @@
3 3
     <div style="color: #d5d3d3" class="middle-map">
4 4
       <div align="center" style="color: #3498db;font-size: 23px;margin-bottom: 20px">区域综合评估</div>
5 5
       <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
6
-        <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
6
+        <el-table-column v-for="(item, index) in columns1" :key="index" :label="item.label" :prop="item.key">
7 7
         </el-table-column>
8 8
       </el-table>
9 9
       <div class="table-pagination">
10
-        <el-pagination :background="false" layout="total, prev, pager, next" :total="total" @current-change="handlePageChange"
11
-                       :current-page.sync="pageNum" :page-size.sync="pageSize">
10
+        <el-pagination :background="false" layout="total, prev, pager, next" :total="total1" @current-change="handlePageChange1"
11
+                       :current-page.sync="pageNum1" :page-size.sync="pageSize1">
12 12
         </el-pagination>
13 13
       </div>
14 14
     </div>
15
-    <div class="body-wrapper" style="height: 300px">
15
+    <div class="middle-map">
16 16
       <div align="center" style="color: #3498db;font-size: 23px;margin-bottom: 20px">停车发展评估</div>
17
-      <el-table :data="tableData1" style="background: #2a2a2a;border-color: #333;">
18
-        <el-table-column v-for="(item, index) in columns1" :key="index" :label="item.label" :prop="item.key">
17
+      <el-table :data="tableData2" style="background: #2a2a2a;border-color: #333;">
18
+        <el-table-column v-for="(item, index) in columns2" :key="index" :label="item.label" :prop="item.key">
19 19
         </el-table-column>
20 20
       </el-table>
21
+      <div class="table-pagination">
22
+        <el-pagination :background="false" layout="total, prev, pager, next" :total="total2" @current-change="handlePageChange2"
23
+                       :current-page.sync="pageNum2" :page-size.sync="pageSize2">
24
+        </el-pagination>
25
+      </div>
21 26
     </div>
22 27
   </div>
23 28
 </template>
24 29
 
25 30
 <script>
31
+import api from '@/api/audit'
26 32
 
27 33
 export default {
28 34
   data() {
29 35
     return {
30
-      columns: [
36
+      columns1: [
31 37
         {
32
-          label: '区',
33
-          key: 'district'
38
+          label: '区域名称',
39
+          key: 'regionName'
34 40
         },
35 41
         {
36 42
           label: '周边区域开发',
37
-          key: 'surroundingArea'
43
+          key: 's1'
38 44
         },
39 45
         {
40 46
           label: '停车资源供给',
41
-          key: 'parkingResource'
47
+          key: 's2'
42 48
         },
43 49
         {
44 50
           label: '公共交通设施发展',
45
-          key: 'publicTransport'
51
+          key: 's3'
46 52
         },
47 53
         {
48 54
           label: '道路资源供给',
49
-          key: 'roadResource'
55
+          key: 's4'
50 56
         },
51 57
       ],
52
-      tableData: [{"district":'临颍县',"surroundingArea":'轻微开发',"parkingResource":'充足',"publicTransport":' 欠缺',"roadResource":'充足'}
53
-      ,{"district":'源汇区',"surroundingArea":'轻微开发',"parkingResource":'充足',"publicTransport":' 欠缺',"roadResource":'充足'}
54
-      ,{"district":'郾城区',"surroundingArea":'轻微开发',"parkingResource":'充足',"publicTransport":' 欠缺',"roadResource":'充足'}
55
-      ,{"district":'召陵区',"surroundingArea":'轻微开发',"parkingResource":'充足',"publicTransport":' 欠缺',"roadResource":'充足'}
56
-      ,{"district":'舞阳县',"surroundingArea":'轻微开发',"parkingResource":'充足',"publicTransport":' 欠缺',"roadResource":'充足'},],
57
-      total: 3,
58
-      pageSize: 10,
59
-      pageNum: 1,
60
-      radio: '2',
61
-      dialogVisible: false,
62
-      selRow: {},
63
-      searchWords: undefined,
64
-      columns1: [
58
+      tableData1: [],
59
+      total1: 0,
60
+      pageSize1: 10,
61
+      pageNum1: 1,
62
+      columns2: [
65 63
         {
66
-          label: '姓名',
67
-          key: 'name'
64
+          label: '区域名称',
65
+          key: 'regionName'
68 66
         },
69 67
         {
70 68
           label: '停车发展评估',
71
-          key: 'assessment'
69
+          key: 'detail'
72 70
         }
73 71
       ],
74
-      tableData1: [{"name":'舞阳区',"assessment":'不建议进行停车发展'}
75
-        ,{"name":'源汇区',"assessment":'不建议进行停车发展'}
76
-        ,{"name":'郾城区',"assessment":'建议进行停车发展'}
77
-        ,{"name":'召陵区',"assessment":'建议进行停车发展'}
78
-        ,],
72
+      tableData2: [],
73
+      total2: 0,
74
+      pageSize2: 10,
75
+      pageNum2: 1,
79 76
     };
80 77
   },
81 78
   methods: {
82
-    handlePageChange() {
83
-      this.getTableData()
84
-    },
85
-    handleCancelApply(row) {
86
-      console.log('enter handle cancel apply')
79
+    handlePageChange1() {
80
+      this.getTableData1()
87 81
     },
88
-    handleConfirm() {
89
-      const {id} = this.selRow
90
-      console.log('radio', this.radio)
91
-      api.applyResource({id, applyType: this.radio}).then(res => {
92
-        if(res.success) {
93
-          this.dialogVisible = false
94
-          this.$message({
95
-            message: '审核成功!',
96
-            type: 'success'
97
-          })
98
-          this.getTableData()
99
-        }
82
+    getTableData1() {
83
+      const {pageNum1, pageSize1} = this
84
+      api.qytcfzListByPage1({current: pageNum1, size: pageSize1}).then(res => {
85
+        this.tableData1 = res.data.records || []
86
+        this.total1 = res.data.total
100 87
       })
101 88
     },
102
-    getTableData() {
103
-      const {pageNum, pageSize, searchWords} = this
104
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
105
-        this.tableData = []
106
-        res.data.records.map((item, index) => {
107
-          const newItem = {...item}
108
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
109
-          this.tableData.push(newItem)
110
-        })
111
-        this.total = res.data.total
89
+    handlePageChange2() {
90
+      this.getTableData2()
91
+    },
92
+    getTableData2() {
93
+      const {pageNum2, pageSize2} = this
94
+      api.qytcfzListByPage2({current: pageNum2, size: pageSize2}).then(res => {
95
+        this.tableData2 = res.data.records || []
96
+        this.total2 = res.data.total
112 97
       })
113 98
     },
114 99
   },
115 100
   mounted() {
116
-    this.getTableData()
101
+    this.getTableData1()
102
+    this.getTableData2()
117 103
   },
118 104
 };
119 105
 </script>

+ 25 - 4
src/pages/index/components/park_guidance.vue

@@ -12,6 +12,11 @@
12 12
         <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
13 13
         </el-table-column>
14 14
       </el-table>
15
+      <div class="table-pagination">
16
+        <el-pagination :background="false" layout="total, prev, pager, next" :total="total" @current-change="handlePageChange"
17
+                       :current-page.sync="pageNum" :page-size.sync="pageSize">
18
+        </el-pagination>
19
+      </div>
15 20
     </div>
16 21
   </div>
17 22
 </template>
@@ -31,14 +36,17 @@ export default {
31 36
       columns: [
32 37
         {
33 38
           label: '区域',
34
-          key: 'area'
39
+          key: 'regionName'
35 40
         },
36 41
         {
37 42
           label: '建议',
38
-          key: 'advice'
43
+          key: 'detail'
39 44
         }
40 45
       ],
41
-      tableData: [{"area":'舞阳区',"advice":'建议车辆引流到源汇区'}],
46
+      tableData: [],
47
+      pageNum: 1,
48
+      pageSize: 10,
49
+      total: 1,
42 50
       dqIndex: -1,
43 51
       timer: null,
44 52
       option: {
@@ -120,10 +128,19 @@ export default {
120 128
       },
121 129
       curData: {},
122 130
       dataSource: null,
123
-      totalAll: '0',
124 131
     };
125 132
   },
126 133
   methods: {
134
+    handlePageChange() {
135
+      this.getTableData()
136
+    },
137
+    getTableData() {
138
+      const {pageNum, pageSize} = this
139
+      api.nyzstjListByPage({current: pageNum, size: pageSize}).then(res => {
140
+        this.tableData = res.data.records || []
141
+        this.total = res.data.total
142
+      })
143
+    },
127 144
     setIntervalMap(chart) {
128 145
       this.timer = setInterval(() => {
129 146
         chart.dispatchAction({
@@ -144,6 +161,7 @@ export default {
144 161
     },
145 162
   },
146 163
   mounted() {
164
+    this.getTableData()
147 165
     api.nyzs().then(res => {
148 166
       let arr = []
149 167
       let dataSoure = res.data
@@ -194,6 +212,9 @@ export default {
194 212
   height: 100%;
195 213
   box-sizing: border-box;
196 214
   background: #0c0c0c;
215
+  .table-pagination{
216
+    text-align: right;
217
+  }
197 218
 }
198 219
 </style>
199 220
 <style lang="less" scoped>

+ 35 - 12
src/pages/index/components/park_monitor.vue

@@ -39,12 +39,12 @@
39 39
       <h3 style="color: white;float: left">泊位停车实况</h3>
40 40
       <br>
41 41
         <br>
42
-        <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
42
+        <el-table :data="tableData2" style="background: #2a2a2a;border-color: #333;">
43 43
           <el-table-column v-for="(item, index) in columns2" :key="index" :label="item.label" :prop="item.key">
44 44
           </el-table-column>
45 45
         </el-table>
46 46
         <div class="table-pagination">
47
-          <el-pagination :background="false" layout="total, prev, pager, next" :total="total2" @current-change="handlePageChange"
47
+          <el-pagination :background="false" layout="total, prev, pager, next" :total="total2" @current-change="handlePageChange2"
48 48
                          :current-page.sync="pageNum2" :page-size.sync="pageSize2">
49 49
           </el-pagination>
50 50
         </div>
@@ -71,47 +71,70 @@ export default {
71 71
       modelData: [],
72 72
       columns: [
73 73
         {
74
-          label: '预警信息',
75
-          key: 'resourceName'
74
+          label: '停车场',
75
+          key: 'carParkName'
76 76
         },
77 77
         {
78
-          label: '停车场',
79
-          key: 'resourceType'
78
+          label: '预警信息',
79
+          key: 'alertInfo'
80 80
         },
81 81
         {
82 82
           label: '预警时间',
83
-          key: 'userName'
83
+          key: 'eventTime'
84 84
         }
85 85
       ],
86 86
       columns2: [
87 87
         {
88 88
           label: '停车场',
89
-          key: 'resourceName'
89
+          key: 'carParkName'
90 90
         },
91 91
         {
92 92
           label: '泊位号',
93
-          key: 'resourceType'
93
+          key: 'orderNo'
94 94
         },
95 95
         {
96 96
           label: '泊车状态',
97
-          key: 'userName'
97
+          key: 'parkingStatus'
98 98
         }
99 99
       ],
100 100
       tableData: [],
101
+      tableData2: [],
101 102
       total: 0,
102
-      pageSize: 10,
103
+      pageSize: 5,
103 104
       pageNum: 1,
104 105
       total2: 0,
105
-      pageSize2: 10,
106
+      pageSize2: 5,
106 107
       pageNum2: 1,
107 108
     }
108 109
   },
109 110
   mounted() {
111
+    this.getTableData()
112
+    this.getTableData2()
110 113
     this.parkMonitorStat()
111 114
   },
112 115
   watch: {
113 116
   },
114 117
   methods: {
118
+    getTableData() {
119
+      const {pageNum, pageSize} = this
120
+      api.llyjListByPage({current: pageNum, size: pageSize}).then(res => {
121
+        this.tableData = res.data.records || []
122
+        this.total = res.data.total || 0
123
+      })
124
+    },
125
+    getTableData2() {
126
+      const {pageNum2, pageSize2} = this
127
+      api.bwtcskListByPage({current: pageNum2, size: pageSize2}).then(res => {
128
+        this.tableData2 = res.data.records || []
129
+        this.total2 = res.data.total || 0
130
+      })
131
+    },
132
+    handlePageChange() {
133
+      this.getTableData()
134
+    },
135
+    handlePageChange2() {
136
+      this.getTableData2()
137
+    },
115 138
     parkMonitorStat(){
116 139
       api.parkMonitorStat().then(res =>{
117 140
         this.modelData = res.data || []

+ 32 - 27
src/pages/index/components/parking_area.vue

@@ -29,7 +29,7 @@
29 29
           :left="40"
30 30
           :legendTop="0"
31 31
           yAxisName="(%)"
32
-          :dataset="linedata1"
32
+          :dataset="linedata"
33 33
           :tooltipFormat="lineTooltipFormat1"
34 34
           :encode="[
35 35
               { x: 'month', y: 'lastAmount', seriesName: '饱和度',bool:'true' },
@@ -51,6 +51,7 @@ import linechart from "@/components/lineChart";
51 51
 import barchart from "@/components/barChart";
52 52
 import * as echarts from 'echarts';
53 53
 import * as geoJson from '../../../util/411100.json';
54
+import api from '@/api/article_z'
54 55
 
55 56
 
56 57
 export default {
@@ -103,41 +104,45 @@ export default {
103 104
           data: []
104 105
         }]
105 106
       },
106
-      linedata1: [{month: '00:00', lastAmount: 68}, {month: '01:30', lastAmount:71}
107
-        , {month: '02:30', lastAmount:83}, {month: '03:30', lastAmount:87}, {month: '04:30', lastAmount:75}
108
-        , {month: '05:30', lastAmount:69}, {month: '06:30', lastAmount:59}],
109
-      bardata: [{month: '郾城区', cs: 80},{month: '临颍县', cs: 71}
110
-        ,{month: '舞阳县', cs:63},{month: '源汇区', cs:85},{month: '召陵区', cs:90},],
107
+      linedata: [],
108
+      bardata: [],
111 109
     }
112 110
   },
113 111
   mounted() {
114
-    let data = [
115
-      ["114.00647", "33.55627", 9034],
116
-      ["114.00694", "33.58723", 5803],
117
-      ["113.59848", "33.43243", 5508],
118
-      ["114.09399", "33.58601", 1200],
119
-      ["113.93661", "33.81123", 4000]
120
-    ]
121
-    let areaData = [];
122
-    data.map(item => { //扩大热力图效果
123
-      areaData.push(...new Array(3).fill(item))
124
-    })
125
-    let mapMax = Math.max(...data.map(item => item[2]))
126
-    let mapMin = Math.min(...data.map(item => item[2]))
127
-    let chart = echarts.init(document.getElementById("map"));
128
-    echarts.registerMap("luohe", geoJson);
112
+    this.getBarData()
113
+    this.getLineData()
114
+    api.queryParkingArea_Tcrdskfb().then(res => {
115
+      let data = res.data || []
116
+      let areaData = [];
117
+      data.map(item => { //扩大热力图效果
118
+        areaData.push(...new Array(3).fill(item))
119
+      })
120
+      let mapMax = Math.max(...data.map(item => item[2]))
121
+      let mapMin = Math.min(...data.map(item => item[2]))
122
+      let chart = echarts.init(document.getElementById("map"));
123
+      echarts.registerMap("luohe", geoJson);
129 124
 
130
-    // echarts.registerMap('china', china)
131
-    this.option.series[0].data = areaData;
132
-    this.option.visualMap.min = mapMin;
133
-    this.option.visualMap.max = mapMax;
134
-    chart.setOption(this.option);
125
+      // echarts.registerMap('china', china)
126
+      this.option.series[0].data = areaData;
127
+      this.option.visualMap.min = mapMin;
128
+      this.option.visualMap.max = mapMax;
129
+      chart.setOption(this.option);
130
+    })
135 131
   },
136 132
   watch: {
137 133
 
138 134
   },
139 135
   methods: {
140
-
136
+    getBarData() {
137
+      api.queryParkingArea_qybhd().then(res => {
138
+        this.bardata = res.data || []
139
+      })
140
+    },
141
+    getLineData() {
142
+      api.queryParkingArea_bhdsdfx().then(res => {
143
+        this.linedata = res.data || []
144
+      })
145
+    },
141 146
     lineTooltipFormat1(params) {
142 147
       const data = params[0].data;
143 148
       return `<div class="line-tooltip">

+ 48 - 54
src/pages/index/components/parking_fee.vue

@@ -24,14 +24,14 @@
24 24
     <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
25 25
       <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
26 26
       </el-table-column>
27
-      <el-table-column label="操作" width="150">
28
-        <template slot-scope="scope" style="display: inline-block">
29
-          <el-button type="primary" @click="handleAudit(scope.row)" slot="reference">修改</el-button>
30
-          <el-popconfirm title="确定删除吗?" @confirm="deleteRow(scope.row)">
31
-            <el-button type="danger" slot="reference">删除</el-button>
32
-          </el-popconfirm>
33
-        </template>
34
-      </el-table-column>
27
+<!--      <el-table-column label="操作" width="150">-->
28
+<!--        <template slot-scope="scope" style="display: inline-block">-->
29
+<!--          <el-button type="primary" @click="handleAudit(scope.row)" slot="reference">修改</el-button>-->
30
+<!--          <el-popconfirm title="确定删除吗?" @confirm="deleteRow(scope.row)">-->
31
+<!--            <el-button type="danger" slot="reference">删除</el-button>-->
32
+<!--          </el-popconfirm>-->
33
+<!--        </template>-->
34
+<!--      </el-table-column>-->
35 35
     </el-table>
36 36
     <div class="table-pagination">
37 37
       <el-pagination :background="false" layout="total, prev, pager, next" :total="total" @current-change="handlePageChange"
@@ -73,7 +73,7 @@
73 73
       </div>
74 74
       <span slot="footer" class="dialog-footer">
75 75
             <el-button @click="dialogVisible = false">取 消</el-button>
76
-            <el-button type="primary" @click="handleConfirm">确 定</el-button>
76
+<!--            <el-button type="primary" @click="handleConfirm">确 定</el-button>-->
77 77
         </span>
78 78
     </el-dialog>
79 79
   </div>
@@ -87,47 +87,50 @@ export default {
87 87
     return {
88 88
       columns: [
89 89
         {
90
-          label: '停车路段',
91
-          key: 'parkRoad'
90
+          label: '停车场',
91
+          key: 'carParkName'
92
+        },
93
+        {
94
+          label: '停车场位置',
95
+          key: 'carParkAddress'
92 96
         },
93 97
         {
94
-          label: '停车位置',
95
-          key: 'parkStall'
98
+          label: '车位号',
99
+          key: 'parkingNo'
96 100
         },
97 101
         {
98 102
           label: '车牌号',
99
-          key: 'plateCode'
103
+          key: 'plateNo'
100 104
         },
101 105
         {
102 106
           label: '车牌类型',
103
-          key: 'plateType'
107
+          key: 'type'
104 108
         },
105 109
         {
106
-          label: '停车时间',
107
-          key: 'parkTime'
110
+          label: '入场时间',
111
+          key: 'inTime'
108 112
         },
109 113
         {
110
-          label: '离开时间',
111
-          key: 'leaveTime'
114
+          label: '通道名称',
115
+          key: 'laneName'
112 116
         },
113 117
         {
114
-          label: '修改人',
115
-          key: 'revisePerson'
118
+          label: '上传时间',
119
+          key: 'createTime'
116 120
         },
117
-        {
118
-          label: '修改时间',
119
-          key: 'reviseTime'
120
-        }
121
+        // {
122
+        //   label: '修改人',
123
+        //   key: 'updateUser'
124
+        // },
125
+        // {
126
+        //   label: '修改时间',
127
+        //   key: 'updateTime'
128
+        // }
121 129
       ],
122
-      tableData: [{"parkRoad":'老街街道',"parkStall":'路边',"plateCode":'豫L0Q985',"plateType":'本地车',"parkTime":'2023-12-31 08:30:00',"leaveTime":'2024-12-31 10:15:00',"revisePerson":'无',"reviseTime":'',}
123
-        ,{"parkRoad":'马路街街道',"parkStall":'过道口',"plateCode":'豫A71XL1',"plateType":'本地车',"parkTime":'2023-12-31 09:35:00',"leaveTime":'2023-12-31 11:25:00',"revisePerson":'无',"reviseTime":'',}
124
-        ,{"parkRoad":'顺河街街道',"parkStall":'十字路口',"plateCode":'浙GJG272',"plateType":'外地车',"parkTime":'2023-12-31 14:52:00',"leaveTime":'2023-12-31 14:15:00',"revisePerson":'无',"reviseTime":'',}],
130
+      tableData: [],
125 131
       total: 3,
126 132
       pageSize: 10,
127 133
       pageNum: 1,
128
-      radio: '2',
129
-      dialogVisible: false,
130
-      selRow: {},
131 134
       searchWords: undefined,
132 135
       formInline: {
133 136
         searchTime: '',
@@ -175,36 +178,27 @@ export default {
175 178
       console.log('enter handle cancel apply')
176 179
     },
177 180
     handleConfirm() {
178
-      api.applyResource({id, applyType: this.formLabelAlign.parkRoad}).then(res => {
179
-        if(res.success) {
180
-          this.dialogVisible = false
181
-          this.$message({
182
-            message: '审核成功!',
183
-            type: 'success'
184
-          })
185
-          this.getTableData()
186
-        }
187
-      })
181
+      // api.tcsfztListByPage({id, applyType: this.formLabelAlign.parkRoad}).then(res => {
182
+      //   if(res.success) {
183
+      //     this.dialogVisible = false
184
+      //     this.$message({
185
+      //       message: '审核成功!',
186
+      //       type: 'success'
187
+      //     })
188
+      //     this.getTableData()
189
+      //   }
190
+      // })
188 191
     },
189 192
     onSubmit () {
190 193
       this.getTableData()
191 194
     },
192 195
     getTableData() {
193
-      const {pageNum, pageSize, searchWords} = this
194
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
195
-        this.tableData = []
196
-        res.data.records.map((item, index) => {
197
-          const newItem = {...item}
198
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
199
-          this.tableData.push(newItem)
200
-        })
196
+      const {pageNum, pageSize} = this
197
+      api.tcsfztListByPage({current: pageNum, size: pageSize}).then(res => {
198
+        this.tableData = res.data.records || []
201 199
         this.total = res.data.total
202 200
       })
203
-    },
204
-    handleSearch() {
205
-      this.pageNum = 1
206
-      this.getTableData()
207
-    },
201
+    }
208 202
   }
209 203
 }
210 204
 </script>

+ 27 - 116
src/pages/index/components/parking_lot_situation.vue

@@ -6,21 +6,21 @@
6 6
     <br>
7 7
     <div style="display: flex;justify-content: space-around;">
8 8
       <div style="width: 25%;display: flex;">
9
-      <h4 class="h4font" data="tableData">泊位数量:</h4><h3 class="h4font" data="tableData2">5</h3>
9
+      <h4 class="h4font">泊位数量:</h4><h3 class="h4font">{{viewData.totalParkingNumber}}</h3>
10 10
       </div>
11 11
       <div style="width: 25%;display: flex;">
12
-        <h4 class="h4font" data="tableData3">实时余位:</h4><h3 class="h4font" data="tableData4">5</h3>
12
+        <h4 class="h4font">实时余位:</h4><h3 class="h4font">{{viewData.remainParkingNumber}}</h3>
13 13
       </div>
14 14
       <div style="width: 25%;display: flex;">
15
-        <h4 class="h4font" data="tableData5">实时进场:</h4><h3 class="h4font" data="tableData6">5</h3>
15
+        <h4 class="h4font">实时进场:</h4><h3 class="h4font">{{viewData.inNumber}}</h3>
16 16
       </div>
17 17
       <div style="width: 25%;display: flex;">
18
-        <h4 class="h4font" data="tableData5">实时出场:</h4><h3 class="h4font" data="tableData6">5</h3>
18
+        <h4 class="h4font">实时出场:</h4><h3 class="h4font">{{viewData.outNumber}}</h3>
19 19
       </div>
20 20
     </div>
21 21
     <br>
22 22
     <br>
23
-    <el-table :data="tableData7" style="background: #2a2a2a;border-color: #333;">
23
+    <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
24 24
       <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
25 25
       </el-table-column>
26 26
     </el-table>
@@ -46,53 +46,37 @@ export default {
46 46
     return {
47 47
       columns: [
48 48
         {
49
-          label: '编号',
50
-          key: 'resourceName'
49
+          label: '停车场ID',
50
+          key: 'parkId'
51 51
         },
52 52
         {
53
-          label: '停车场',
54
-          key: 'resourceType'
53
+          label: '停车场名称',
54
+          key: 'carParkName'
55 55
         },
56 56
         {
57
-          label: '泊位',
58
-          key: 'resourceType'
57
+          label: '泊位',
58
+          key: 'totalParkingNumber'
59 59
         },
60 60
         {
61
-          label: '余位',
62
-          key: 'resourceType'
61
+          label: '位',
62
+          key: 'remainParkingNumber'
63 63
         }
64 64
       ],
65 65
       tableData: [],
66
-      tableData2: [],
67
-      tableData3: [],
68
-      tableData4: [],
69
-      tableData5: [],
70
-      tableData6: [],
71
-      tableData7: [],
72 66
       total: 0,
73
-      total2: 0,
74
-      total3: 0,
75
-      total4: 0,
76
-      total5: 0,
77
-      total6: 0,
78
-      total7: 0,
79 67
       pageSize: 10,
80 68
       pageNum: 1,
81
-      radio: '2',
82
-      dialogVisible: false,
83
-      selRow: {},
84
-      searchWords: undefined,
85
-      searchWords2: undefined,
69
+      viewData: {
70
+        outNumber: "0",
71
+        inNumber: "0",
72
+        totalParkingNumber: "0",
73
+        remainParkingNumber: "0"
74
+      }
86 75
     }
87 76
   },
88 77
   mounted() {
89 78
     this.getTableData()
90
-    this.getTableData2()
91
-    this.getTableData3()
92
-    this.getTableData4()
93
-    this.getTableData5()
94
-    this.getTableData6()
95
-    this.getTableData7()
79
+    this.getView()
96 80
   },
97 81
   watch: {
98 82
   },
@@ -100,90 +84,17 @@ export default {
100 84
     handlePageChange() {
101 85
       this.getTableData()
102 86
     },
103
-    handleAudit(row) {
104
-      this.selRow = row
105
-      this.dialogVisible = true
106
-    },
107
-    handleCancelApply(row) {
108
-      console.log('enter handle cancel apply')
109
-    },
110
-    handleConfirm() {
111
-      const {id} = this.selRow
112
-      api.applyResource({id, applyType: this.radio}).then(res => {
113
-        if(res.success) {
114
-          this.dialogVisible = false
115
-          this.$message({
116
-            message: '审核成功!',
117
-            type: 'success'
118
-          })
119
-          this.getTableData()
120
-        }
121
-      })
122
-    },
123 87
     getTableData() {
124
-      const {pageNum, pageSize, searchWords} = this
125
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
126
-        this.tableData = []
127
-        res.data.records.map((item, index) => {
128
-          const newItem = {...item}
129
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
130
-          this.tableData.push(newItem)
131
-        })
132
-        this.total = res.data.total
133
-      })
134
-    },
135
-    getTableData2() {
136
-      api.applyList({}).then(res => {
137
-        this.tableData2 =  res.data.data
138
-        this.total2 = res.data.total
139
-      })
140
-    },
141
-    getTableData3() {
142
-      api.applyList({}).then(res => {
143
-        this.tableData3 =  res.data.data
144
-        this.total3 = res.data.total
145
-      })
146
-    },
147
-    getTableData4() {
148
-      api.applyList({}).then(res => {
149
-        this.tableData4 =  res.data.data
150
-        this.total4 = res.data.total
88
+      const {pageNum, pageSize} = this
89
+      api.tccqkListByPage({current: pageNum, size: pageSize}).then(res => {
90
+        this.tableData = res.data.records || []
91
+        this.total = res.data.total || 0
151 92
       })
152 93
     },
153
-    getTableData5() {
154
-      api.applyList({}).then(res => {
155
-        this.tableData5 =  res.data.data
156
-        this.total5 = res.data.total
94
+    getView() {
95
+      api.tccqkView().then(res => {
96
+        this.viewData = res.data
157 97
       })
158
-    },
159
-    getTableData6() {
160
-      api.applyList({}).then(res => {
161
-        this.tableData6 =  res.data.data
162
-        this.total6 = res.data.total
163
-      })
164
-    },
165
-    getTableData7() {
166
-      api.applyList({}).then(res => {
167
-        this.tableData7 =  res.data.data
168
-        this.total7 = res.data.total
169
-      })
170
-    },
171
-
172
-
173
-    getApplyTypeText(val) {
174
-      if (!val){
175
-        return '未申请'
176
-      }
177
-      const textMap = {
178
-        1: '待审批',
179
-        2: '审批通过',
180
-        3: '审批驳回'
181
-      }
182
-      return textMap[val]
183
-    },
184
-    handleSearch() {
185
-      this.pageNum = 1
186
-      this.getTableData()
187 98
     }
188 99
   }
189 100
 }

+ 133 - 39
src/pages/index/components/record_query.vue

@@ -6,12 +6,12 @@
6 6
           <el-row>
7 7
             <el-col :span="8">
8 8
               <el-form-item label="车牌号">
9
-                <el-input v-model="formInline1.parkName" placeholder="请输入"></el-input>
9
+                <el-input v-model="formInline1.plateNo" placeholder="请输入"></el-input>
10 10
               </el-form-item>
11 11
             </el-col>
12 12
             <el-col :span="8">
13 13
               <el-form-item>
14
-                <el-button type="primary" class="query-btn" @click="onSubmit">查询</el-button>
14
+                <el-button type="primary" class="query-btn" @click="onSubmit1">查询</el-button>
15 15
               </el-form-item>
16 16
             </el-col>
17 17
           </el-row>
@@ -31,12 +31,12 @@
31 31
           <el-row>
32 32
             <el-col :span="8">
33 33
               <el-form-item label="车牌号">
34
-                <el-input v-model="formInline2.carNo" placeholder="请输入"></el-input>
34
+                <el-input v-model="formInline2.plateNo" placeholder="请输入"></el-input>
35 35
               </el-form-item>
36 36
             </el-col>
37 37
             <el-col :span="8">
38 38
               <el-form-item>
39
-                <el-button type="primary" class="query-btn" @click="onSubmit">查询</el-button>
39
+                <el-button type="primary" class="query-btn" @click="onSubmit2">查询</el-button>
40 40
               </el-form-item>
41 41
             </el-col>
42 42
           </el-row>
@@ -56,12 +56,12 @@
56 56
           <el-row>
57 57
             <el-col :span="8">
58 58
               <el-form-item label="车牌号">
59
-                <el-input v-model="formInline3.parkName" placeholder="请输入"></el-input>
59
+                <el-input v-model="formInline3.plateNo" placeholder="请输入"></el-input>
60 60
               </el-form-item>
61 61
             </el-col>
62 62
             <el-col :span="8">
63 63
               <el-form-item>
64
-                <el-button type="primary" class="query-btn" @click="onSubmit">查询</el-button>
64
+                <el-button type="primary" class="query-btn" @click="onSubmit3">查询</el-button>
65 65
               </el-form-item>
66 66
             </el-col>
67 67
           </el-row>
@@ -88,6 +88,7 @@
88 88
 </template>
89 89
 <script>
90 90
 import api from "@/api/audit.js";
91
+import dictionary from "@/util/dictionary";
91 92
 
92 93
 export default {
93 94
     components: {},
@@ -95,25 +96,17 @@ export default {
95 96
       return {
96 97
         activeName: '停车记录查询',
97 98
         columns1: [
98
-          {
99
-            label: '停车场',
100
-            key: 'resourceName'
101
-          },
102 99
           {
103 100
             label: '车牌号',
104
-            key: 'resourceType'
105
-          },
106
-          {
107
-            label: '泊位号',
108
-            key: 'userName'
101
+            key: 'plateNo'
109 102
           },
110 103
           {
111
-            label: '入场时间',
112
-            key: 'applyTypeText'
104
+            label: '车辆类型',
105
+            key: 'carType'
113 106
           },
114 107
           {
115
-            label: '出场时间',
116
-            key: 'applyTypeText'
108
+            label: '车辆大小',
109
+            key: 'carTypeName'
117 110
           }
118 111
         ],
119 112
         tableData1: [],
@@ -121,16 +114,24 @@ export default {
121 114
         pageSize1: 10,
122 115
         pageNum1: 1,
123 116
         formInline1: {
124
-          carNo: ''
117
+          plateNo: ''
125 118
         },
126 119
         columns2: [
127 120
           {
128 121
             label: '车牌号',
129
-            key: 'resourceName'
122
+            key: 'plateNo'
130 123
           },
131 124
           {
132
-            label: '车型',
133
-            key: 'resourceType'
125
+            label: '停车场',
126
+            key: 'carParkName'
127
+          },
128
+          {
129
+            label: '行为',
130
+            key: 'behavior'
131
+          },
132
+          {
133
+            label: '时间',
134
+            key: 'behaviorTime'
134 135
           }
135 136
         ],
136 137
         tableData2: [],
@@ -138,20 +139,28 @@ export default {
138 139
         pageSize2: 10,
139 140
         pageNum2: 1,
140 141
         formInline2: {
141
-          carNo: ''
142
+          plateNo: ''
142 143
         },
143 144
         columns3: [
144 145
           {
145 146
             label: '车牌号',
146
-            key: 'resourceName'
147
+            key: 'plateNo'
148
+          },
149
+          {
150
+            label: '停车场',
151
+            key: 'carParkName'
147 152
           },
148 153
           {
149
-            label: '地点',
150
-            key: 'resourceType'
154
+            label: '泊位号',
155
+            key: 'parkingNo'
151 156
           },
152 157
           {
153
-            label: '行为',
154
-            key: 'userName'
158
+            label: '入场时间',
159
+            key: 'inTime'
160
+          },
161
+          {
162
+            label: '出场时间',
163
+            key: 'outTime'
155 164
           }
156 165
         ],
157 166
         tableData3: [],
@@ -159,35 +168,120 @@ export default {
159 168
         pageSize3: 10,
160 169
         pageNum3: 1,
161 170
         formInline3: {
162
-          carNo: ''
171
+          plateNo: ''
163 172
         }
164 173
       }
165 174
     },
166 175
     mounted() {
167 176
       this.getTableData1()
177
+      this.getTableData2()
178
+      this.getTableData3()
168 179
     },
169 180
     watch: {
170 181
     },
171 182
     methods: {
183
+      onSubmit1() {
184
+        this.pageNum1 = 1
185
+        this.getTableData1()
186
+      },
187
+      onSubmit2() {
188
+        this.pageNum2 = 1
189
+        this.getTableData2()
190
+      },
191
+      onSubmit3() {
192
+        this.pageNum3 = 1
193
+        this.getTableData3()
194
+      },
172 195
       handlePageChange1() {
173 196
         this.getTableData1()
174 197
       },
175 198
       getTableData1() {
176
-        const {pageNum, pageSize, searchWords} = this
177
-        api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
178
-          this.tableData = []
179
-          res.data.records.map((item, index) => {
180
-            const newItem = {...item}
181
-            newItem.applyTypeText = this.getApplyTypeText(item.applyType)
182
-            this.tableData.push(newItem)
183
-          })
184
-          this.total = res.data.total
199
+        const {pageNum1, pageSize1} = this
200
+        api.carListByPage({current: pageNum1, size: pageSize1, ...this.formInline1}).then(res => {
201
+          this.tableData1 = (res.data.records || []).map(item => ({...item, carType: dictionary.carTypeMap[item.carType]}))
202
+          this.total1 = res.data.total
203
+        })
204
+      },
205
+      handlePageChange2() {
206
+        this.getTableData2()
207
+      },
208
+      getTableData2() {
209
+        const {pageNum2, pageSize2} = this
210
+        api.gjListByPage({current: pageNum2, size: pageSize2, ...this.formInline2}).then(res => {
211
+          this.tableData2 = res.data.records || []
212
+          this.total2 = res.data.total
213
+        })
214
+      },
215
+      handlePageChange3() {
216
+        this.getTableData3()
217
+      },
218
+      getTableData3() {
219
+        const {pageNum3, pageSize3} = this
220
+        api.tcjlListByPage({current: pageNum3, size: pageSize3, ...this.formInLine3}).then(res => {
221
+          this.tableData3 = res.data.records || []
222
+          this.total3 = res.data.total
185 223
         })
186 224
       }
187 225
     }
188 226
 }
189 227
 </script>
190 228
 <style  lang="scss" scoped>
229
+
230
+.form-wrapper {
231
+  margin-bottom: 20px;
232
+}
233
+/deep/ .el-input__inner {
234
+  background: #2d3744;
235
+  border: none;
236
+  border-radius: 0;
237
+}
238
+/deep/ .el-select {
239
+  height: 40px;
240
+  .el-input__inner {
241
+    height: 40px;
242
+  }
243
+  .el-input__prefix, .el-input__suffix {
244
+    height: 40px;
245
+  }
246
+
247
+  /* 下面设置右侧按钮居中 */
248
+  .el-input__suffix {
249
+    top: 0px;
250
+    display: flex;
251
+    justify-content: center;
252
+    align-items: center;
253
+    flex-wrap: nowrap;
254
+    flex-direction: row;
255
+    align-content: flex-start;
256
+  }
257
+  /* 输入框加上上下边是 32px + 2px =34px */
258
+  .el-input__icon {
259
+    line-height: 0px;
260
+  }
261
+}
262
+/deep/ .form-wrapper .el-button {
263
+  background: linear-gradient(90deg,#0158d9,#3c97e4);
264
+  width: 100px;
265
+  height: 40px;
266
+}
267
+.body-wrapper {
268
+  padding: 20px;
269
+  background: #0c0c0c;
270
+  .button-block{
271
+    text-align: right;
272
+    margin-bottom: 20px;
273
+  }
274
+  .table-pagination{
275
+    text-align: right;
276
+  }
277
+  .search-card{
278
+    margin-bottom: 20px;
279
+    text-align: center;
280
+    .input-wrapper{
281
+      width: 36%;
282
+    }
283
+  }
284
+}
191 285
 .body-wrapper {
192 286
   width: 100%;
193 287
   padding: 20px;

+ 10 - 21
src/pages/index/components/saturation_warning.vue

@@ -4,6 +4,7 @@
4 4
     <el-form class="form-wrapper" :inline="true" :model="formInline">
5 5
       <el-form-item label="区县:">
6 6
         <el-select v-model="formInline.region0" placeholder="区县" popper-class="cur-select">
7
+          <el-option label="全部" value=""></el-option>
7 8
           <el-option label="源汇区" value="源汇区"></el-option>
8 9
           <el-option label="郾城区" value="郾城区"></el-option>
9 10
           <el-option label="召陵区" value="召陵区"></el-option>
@@ -90,23 +91,16 @@ export default {
90 91
       linedata: [],
91 92
       columns: [
92 93
         {
93
-          label: '街道名称',
94
-          key: 'jd'
94
+          label: '停车场位置',
95
+          key: 'carParkAddress'
95 96
         },
96 97
         {
97 98
           label: '剩余停车位',
98
-          key: 'sy'
99
+          key: 'remainParkingNumber'
99 100
         }
100 101
       ],
101
-      tableData: [{"jd": '老街街道',"sy": 30}
102
-        ,{"jd":'马路街街道',"sy": 70}
103
-        ,{"jd":'顺河街街道',"sy": 80}
104
-        ,{"jd":'干河陈街道',"sy": 30}
105
-        ,{"jd":'大刘镇',"sy": 62}
106
-        ,{"jd":'阴阳赵镇',"sy": 44}
107
-        ,{"jd":'空冢郭镇',"sy": 30}
108
-        ,{"jd":'问十乡',"sy": 97}],
109
-      total: 3,
102
+      tableData: [],
103
+      total: 0,
110 104
       pageSize: 10,
111 105
       pageNum: 1,
112 106
       radio: '2',
@@ -131,15 +125,10 @@ export default {
131 125
     },
132 126
     getTableData() {
133 127
       const {pageNum, pageSize} = this
134
-      // api.applyList({pageNum, pageSize}).then(res => {
135
-      //   this.tableData = []
136
-      //   res.data.records.map((item, index) => {
137
-      //     const newItem = {...item}
138
-      //     newItem.applyTypeText = this.getApplyTypeText(item.applyType)
139
-      //     this.tableData.push(newItem)
140
-      //   })
141
-      //   this.total = res.data.total
142
-      // })
128
+      api.wghtcbhyj({current: pageNum, size: pageSize}).then(res => {
129
+        this.tableData = res.data.records || []
130
+        this.total = res.data.total
131
+      })
143 132
     },
144 133
     lineTooltipFormat(params) {
145 134
       const data = params[0].data;

+ 14 - 11
src/pages/index/components/service_subscription_function.vue

@@ -26,9 +26,12 @@
26 26
         label="操作"
27 27
         width="100">
28 28
         <template slot-scope="scope" style="display: inline-block">
29
-          <el-popconfirm title="确定订阅吗?" @confirm="subscribeRow(scope.row)">
29
+          <el-popconfirm  v-if="scope.row.subStatusName === '未订阅'" title="确定订阅吗?" @confirm="subscribeRow(scope.row)">
30 30
             <el-button type="success" slot="reference">订阅</el-button>
31 31
           </el-popconfirm>
32
+          <el-popconfirm v-if="scope.row.subStatusName === '已订阅'" title="确定取消订阅吗?" @confirm="unsubscribeRow(scope.row)">
33
+            <el-button type="success" slot="reference">取消订阅</el-button>
34
+          </el-popconfirm>
32 35
         </template>
33 36
       </el-table-column>
34 37
     </el-table>
@@ -48,12 +51,12 @@ export default {
48 51
       return {
49 52
         columns: [
50 53
           {
51
-            label: '服务名称',
52
-            key: 'resourceName'
54
+            label: '接口名称',
55
+            key: 'interfaceName'
53 56
           },
54 57
           {
55
-            label: '状态',
56
-            key: 'applyTypeText'
58
+            label: '订阅状态',
59
+            key: 'subStatusName'
57 60
           }
58 61
         ],
59 62
         tableData: [],
@@ -89,7 +92,7 @@ export default {
89 92
         })
90 93
       },
91 94
       unsubscribeRow (record) {
92
-        api.subscription({id: record.id}).then(res => {
95
+        api.unsubscription({id: record.id}).then(res => {
93 96
           if (res.code === 200) {
94 97
             this.$message({type: 'success', message: '取消订阅成功!'})
95 98
             this.getTableData()
@@ -100,11 +103,11 @@ export default {
100 103
         this.getTableData()
101 104
       },
102 105
       getTableData() {
103
-        const {pageNum, pageSize, formInline} = this
104
-        // api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
105
-        //   this.tableData = res.data.records || []
106
-        //   this.total = res.data.total
107
-        // })
106
+        const {pageNum, pageSize} = this
107
+        api.subscriptionListByPage({current: pageNum, size: pageSize}).then(res => {
108
+          this.tableData = res.data.records || []
109
+          this.total = res.data.total
110
+        })
108 111
       }
109 112
     }
110 113
 }

+ 186 - 293
src/pages/index/components/track_map.vue

@@ -13,6 +13,7 @@
13 13
 <script>
14 14
 import * as echarts from 'echarts'
15 15
 import * as geoJson from '../../../util/411100.json'
16
+import api from '@/api/audit'
16 17
 export default {
17 18
   name: "chinaLineMap",
18 19
   data: function () {
@@ -54,305 +55,197 @@ export default {
54 55
     },
55 56
     //加载中国飞线地图
56 57
     loadChinaLineMap() {
57
-      echarts.registerMap('河南', geoJson);
58
-      var myCharts = echarts.init(document.getElementById('ChinaLineMap'));
59
-      var geoCoordMap = {
60
-        '源汇区': [114.00647,33.55627],
61
-        '郾城区': [114.00694,33.58723],
62
-        '召陵区': [114.09399,33.58601],
63
-        '舞阳县': [113.59848,33.43243],
64
-        '临颍县': [113.93661,33.81123]
65
-      };
66
-      var chinaDatas = [
67
-        [{
68
-          name: '源汇区',
69
-          value: 0
70
-        }, {
71
-          name: '郾城区',
72
-          value: 20
73
-        }], [{
74
-          name: '郾城区',
75
-          value: 0
76
-        }, {
77
-          name: '召陵区',
78
-          value: 20
79
-        }], [{
80
-          name: '召陵区',
81
-          value: 0
82
-        }, {
83
-          name: '郾城区',
84
-          value: 20
85
-        }], [{
86
-          name: '舞阳县',
87
-          value: 1
88
-        }, {
89
-          name: '郾城区',
90
-          value: 20
91
-        }], [{
92
-          name: '临颍县',
93
-          value: 2
94
-        }, {
95
-          name: '郾城区',
96
-          value: 20
97
-        }]
98
-      ];
99
-      var convertData = function (data) {
100
-        var res = [];
101
-        for (var i = 0; i < data.length; i++) {
102
-          var dataItem = data[i];
103
-          var fromCoord = geoCoordMap[dataItem[0].name];
104
-          // var toCoord = [114.026405, 33.575855];
105
-          var toCoord = geoCoordMap[dataItem[1].name];
106
-          if (fromCoord && toCoord) {
107
-            res.push([{
108
-              coord: fromCoord,
109
-              value: dataItem[0].value
110
-            }, {
111
-              coord: toCoord,
112
-            }]);
58
+      api.clqx().then(res => {
59
+        echarts.registerMap('漯河', geoJson);
60
+        var myCharts = echarts.init(document.getElementById('ChinaLineMap'));
61
+        var geoCoordMap = res.data.geoCoordMap || {};
62
+        var chinaDatas = (res.data.chinaDatas || []).map(item => ([{name: item.from, value: item.value}, {name: item.to, value: 0}]));
63
+        var convertData = function (data) {
64
+          var res = [];
65
+          for (var i = 0; i < data.length; i++) {
66
+            var dataItem = data[i];
67
+            var fromCoord = geoCoordMap[dataItem[0].name];
68
+            // var toCoord = [114.026405, 33.575855];
69
+            var toCoord = geoCoordMap[dataItem[1].name];
70
+            if (fromCoord && toCoord) {
71
+              res.push([{
72
+                coord: fromCoord,
73
+                value: dataItem[0].value
74
+              }, {
75
+                coord: toCoord,
76
+              }]);
77
+            }
113 78
           }
114
-        }
115
-        return res;
116
-      };
117
-      //飞线数据
118
-      var chinaData = [
119
-        //[{name: '上海'}, {name: '江苏'}],
120
-        //[{name: '北京'}, {name: '江苏'}],
121
-        //[{name: '新疆'}, {name: '江苏'}],
122
-        //[{name: '西藏'}, {name: '江苏'}]
123
-      ];
124
-      //获取飞线数据
125
-      // var res = [
126
-      //   {
127
-      //     "name": "安徽",
128
-      //     "value": 6114
129
-      //   },
130
-      //   {
131
-      //     "name": "浙江",
132
-      //     "value": 4341
133
-      //   },
134
-      //   {
135
-      //     "name": "上海",
136
-      //     "value": 3600
137
-      //   },
138
-      //   {
139
-      //     "name": "四川",
140
-      //     "value": 2980
141
-      //   },
142
-      //   {
143
-      //     "name": "河南",
144
-      //     "value": 2504
145
-      //   },
146
-      //   {
147
-      //     "name": "山东",
148
-      //     "value": 1590
149
-      //   },
150
-      //   {
151
-      //     "name": "湖南",
152
-      //     "value": 1163
153
-      //   },
154
-      //   {
155
-      //     "name": "江西",
156
-      //     "value": 1108
157
-      //   },
158
-      //   {
159
-      //     "name": "广东",
160
-      //     "value": 1100
161
-      //   },
162
-      //   {
163
-      //     "name": "重庆",
164
-      //     "value": 838
165
-      //   },
166
-      //   {
167
-      //     "name": "河北",
168
-      //     "value": 534
169
-      //   },
170
-      //   {
171
-      //     "name": "北京",
172
-      //     "value": 473
173
-      //   }
174
-      //
175
-      // ]
176
-      // res.forEach(function (item) {
177
-      //   newarray.push(item.value);
178
-      //   var array = [];
179
-      //   var o = {};
180
-      //   var o1 = {};
181
-      //   o.name = item.name;
182
-      //   o1.name = '江苏';
183
-      //   o.value = item.value;
184
-      //   array.push(o);
185
-      //   array.push(o1);
186
-      //   chinaData.push(array);
187
-      // });
188
-      var series = [];
189
-      [['漯河市', chinaDatas]].forEach(function (item, i) {
190
-        console.log(item)
191
-        series.push({
192
-            type: 'lines',
193
-            zlevel: 2,
194
-            effect: {
195
-              show: true,
196
-              period: 4, //箭头指向速度,值越小速度越快
197
-              trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
198
-              symbol: 'arrow', //箭头图标
199
-              symbolSize: 5, //图标大小
200
-            },
201
-            lineStyle: {
202
-              normal: {
203
-                color:'#EE5652',
204
-                width: 1, //尾迹线条宽度
205
-                opacity: 1, //尾迹线条透明度
206
-                curveness: .3 //尾迹线条曲直度
207
-              }
208
-            },
209
-            data: convertData(item[1])
210
-          }, {
211
-            type: 'effectScatter',
212
-            coordinateSystem: 'geo',
213
-            zlevel: 2,
214
-            rippleEffect: { //涟漪特效
215
-              period: 4, //动画时间,值越小速度越快
216
-              brushType: 'stroke', //波纹绘制方式 stroke, fill
217
-              scale: 4 //波纹圆环最大限制,值越大波纹越大
218
-            },
219
-            label: {
220
-              normal: {
79
+          return res;
80
+        };
81
+        var series = [];
82
+        [['漯河市', chinaDatas]].forEach(function (item, i) {
83
+          console.log(item)
84
+          series.push({
85
+              type: 'lines',
86
+              zlevel: 2,
87
+              effect: {
221 88
                 show: true,
222
-                position: 'right', //显示位置
223
-                offset: [5, 0], //偏移设置
224
-                formatter: function (params) {//圆环显示文字
225
-                  return params.data.name;
89
+                period: 4, //箭头指向速度,值越小速度越快
90
+                trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
91
+                symbol: 'arrow', //箭头图标
92
+                symbolSize: 5, //图标大小
93
+              },
94
+              lineStyle: {
95
+                normal: {
96
+                  color:'#EE5652',
97
+                  width: 1, //尾迹线条宽度
98
+                  opacity: 1, //尾迹线条透明度
99
+                  curveness: .3 //尾迹线条曲直度
100
+                }
101
+              },
102
+              data: convertData(item[1])
103
+            }, {
104
+              type: 'effectScatter',
105
+              coordinateSystem: 'geo',
106
+              zlevel: 2,
107
+              rippleEffect: { //涟漪特效
108
+                period: 4, //动画时间,值越小速度越快
109
+                brushType: 'stroke', //波纹绘制方式 stroke, fill
110
+                scale: 4 //波纹圆环最大限制,值越大波纹越大
111
+              },
112
+              label: {
113
+                normal: {
114
+                  show: false,
115
+                  position: 'right', //显示位置
116
+                  offset: [5, 0], //偏移设置
117
+                  formatter: function (params) {//圆环显示文字
118
+                    return params.data.name;
119
+                  },
120
+                  color:'#FFD200',
121
+                  fontSize: 16
226 122
                 },
227
-                color:'#FFD200',
228
-                fontSize: 16
123
+                emphasis: {
124
+                  show: true
125
+                }
229 126
               },
230
-              emphasis: {
231
-                show: true
232
-              }
127
+              symbol: 'circle',
128
+              // symbolSize: function (val) {
129
+              // 	return 5 + val[2] * 5; //圆环大小
130
+              // },
131
+              itemStyle: {
132
+                normal: {
133
+                  show: true,
134
+                  color: '#ffffff'
135
+                }
136
+              },
137
+              data: item[1].map(function (dataItem) {
138
+                return {
139
+                  name: dataItem[0].name,
140
+                  value: geoCoordMap[dataItem[0].name].concat([dataItem[0].value])
141
+                };
142
+              }),
233 143
             },
234
-            symbol: 'circle',
235
-            // symbolSize: function (val) {
236
-            // 	return 5 + val[2] * 5; //圆环大小
144
+          );
145
+        });
146
+        let option = {
147
+          backgroundColor: "#cccccc33",
148
+          geo: [
149
+            // {
150
+            //   map: '河南',
151
+            //   aspectScale: 0.9,
152
+            //   roam: false, // 是否允许缩放
153
+            //   zoom: 1.2, // 默认显示级别
154
+            //   layoutSize: '95%',
155
+            //   layoutCenter: ['55%', '50%'],
156
+            //   itemStyle: {
157
+            //     normal: {
158
+            //       areaColor: {
159
+            //         type: 'linear-gradient',
160
+            //         x: 0,
161
+            //         y: 400,
162
+            //         x2: 0,
163
+            //         y2: 0,
164
+            //         colorStops: [{
165
+            //           offset: 0,
166
+            //           color: 'rgba(37,108,190,0.3)' // 0% 处的颜色
167
+            //         }, {
168
+            //           offset: 1,
169
+            //           color: 'rgba(15,169,195,0.3)' // 50% 处的颜色
170
+            //         }],
171
+            //         global: true // 缺省为 false
172
+            //       },
173
+            //       borderColor: '#4ecee6',
174
+            //       borderWidth: 1
175
+            //     },
176
+            //     emphasis: {
177
+            //       areaColor: {
178
+            //         type: 'linear-gradient',
179
+            //         x: 0,
180
+            //         y: 300,
181
+            //         x2: 0,
182
+            //         y2: 0,
183
+            //         // colorStops: [{
184
+            //         //   offset: 0,
185
+            //         //   color: 'rgba(37,108,190,1)' // 0% 处的颜色
186
+            //         // }, {
187
+            //         //   offset: 1,
188
+            //         //   color: 'rgba(15,169,195,1)' // 50% 处的颜色
189
+            //         // }],
190
+            //         global: false // 缺省为 false
191
+            //       },
192
+            //     }
193
+            //   },
194
+            //   emphasis: {
195
+            //     itemStyle: {
196
+            //       areaColor: '#0160AD'
197
+            //     },
198
+            //     label: {
199
+            //       show: 0,
200
+            //       color: 'transparent'
201
+            //     }
202
+            //   },
203
+            //   zlevel: 3
237 204
             // },
238
-            itemStyle: {
239
-              normal: {
240
-                show: true,
241
-                color: '#ffffff'
242
-              }
243
-            },
244
-            data: item[1].map(function (dataItem) {
245
-              return {
246
-                name: dataItem[0].name,
247
-                value: geoCoordMap[dataItem[0].name].concat([dataItem[0].value])
248
-              };
249
-            }),
250
-          },
251
-        );
252
-      });
253
-      let option = {
254
-        backgroundColor: "#cccccc33",
255
-        geo: [
256
-          // {
257
-          //   map: '河南',
258
-          //   aspectScale: 0.9,
259
-          //   roam: false, // 是否允许缩放
260
-          //   zoom: 1.2, // 默认显示级别
261
-          //   layoutSize: '95%',
262
-          //   layoutCenter: ['55%', '50%'],
263
-          //   itemStyle: {
264
-          //     normal: {
265
-          //       areaColor: {
266
-          //         type: 'linear-gradient',
267
-          //         x: 0,
268
-          //         y: 400,
269
-          //         x2: 0,
270
-          //         y2: 0,
271
-          //         colorStops: [{
272
-          //           offset: 0,
273
-          //           color: 'rgba(37,108,190,0.3)' // 0% 处的颜色
274
-          //         }, {
275
-          //           offset: 1,
276
-          //           color: 'rgba(15,169,195,0.3)' // 50% 处的颜色
277
-          //         }],
278
-          //         global: true // 缺省为 false
279
-          //       },
280
-          //       borderColor: '#4ecee6',
281
-          //       borderWidth: 1
282
-          //     },
283
-          //     emphasis: {
284
-          //       areaColor: {
285
-          //         type: 'linear-gradient',
286
-          //         x: 0,
287
-          //         y: 300,
288
-          //         x2: 0,
289
-          //         y2: 0,
290
-          //         // colorStops: [{
291
-          //         //   offset: 0,
292
-          //         //   color: 'rgba(37,108,190,1)' // 0% 处的颜色
293
-          //         // }, {
294
-          //         //   offset: 1,
295
-          //         //   color: 'rgba(15,169,195,1)' // 50% 处的颜色
296
-          //         // }],
297
-          //         global: false // 缺省为 false
298
-          //       },
299
-          //     }
300
-          //   },
301
-          //   emphasis: {
302
-          //     itemStyle: {
303
-          //       areaColor: '#0160AD'
304
-          //     },
305
-          //     label: {
306
-          //       show: 0,
307
-          //       color: 'transparent'
308
-          //     }
309
-          //   },
310
-          //   zlevel: 3
311
-          // },
312
-          // {
313
-          //   map: '漯河',
314
-          //   aspectScale: 0.9,
315
-          //   roam: false, // 是否允许缩放
316
-          //   zoom: 1.2, // 默认显示级别
317
-          //   layoutSize: '95%',
318
-          //   layoutCenter: ['55%', '50%'],
319
-          //   itemStyle: {
320
-          //     normal: {
321
-          //       borderColor: 'rgba(192,245,249,.6)',
322
-          //       borderWidth: 2,
323
-          //       shadowColor: '#2C99F6',
324
-          //       shadowOffsetY: 0,
325
-          //       shadowBlur: 120,
326
-          //       areaColor: 'rgba(29,85,139,.2)'
327
-          //     }
328
-          //   },
329
-          //   zlevel: 2,
330
-          //   silent: true
331
-          // },
332
-          {
333
-            map: '河南',
334
-            aspectScale: 1,
335
-            roam: false, // 是否允许缩放
336
-            zoom: 1.2, // 默认显示级别
337
-            layoutSize: '95%',
338
-            layoutCenter: ['55%', '51.5%'],
339
-            itemStyle: {
340
-              areaColor: 'rgba(0,27,95,0.4)',
341
-              borderColor: '#004db5',
342
-              borderWidth: 1
343
-            },
344
-            zlevel: 1,
345
-            silent: true
346
-          }
347
-        ],
348
-        series: series
349
-      };
350
-      //var max = Math.max.apply(Math, newarray);
351
-      //option.visualMap.max = max;
352
-      myCharts.clear();
353
-      myCharts.setOption(option);
354
-      // myChart.setOption(option);
355
-
205
+            // {
206
+            //   map: '漯河',
207
+            //   aspectScale: 0.9,
208
+            //   roam: false, // 是否允许缩放
209
+            //   zoom: 1.2, // 默认显示级别
210
+            //   layoutSize: '95%',
211
+            //   layoutCenter: ['55%', '50%'],
212
+            //   itemStyle: {
213
+            //     normal: {
214
+            //       borderColor: 'rgba(192,245,249,.6)',
215
+            //       borderWidth: 2,
216
+            //       shadowColor: '#2C99F6',
217
+            //       shadowOffsetY: 0,
218
+            //       shadowBlur: 120,
219
+            //       areaColor: 'rgba(29,85,139,.2)'
220
+            //     }
221
+            //   },
222
+            //   zlevel: 2,
223
+            //   silent: true
224
+            // },
225
+            {
226
+              map: '漯河',
227
+              aspectScale: 1,
228
+              roam: true, // 是否允许缩放
229
+              zoom: 1.2, // 默认显示级别
230
+              layoutSize: '95%',
231
+              layoutCenter: ['55%', '51.5%'],
232
+              itemStyle: {
233
+                areaColor: 'rgba(0,27,95,0.4)',
234
+                borderColor: '#004db5',
235
+                borderWidth: 1
236
+              },
237
+              zlevel: 1,
238
+              silent: true
239
+            }
240
+          ],
241
+          series: series
242
+        };
243
+        //var max = Math.max.apply(Math, newarray);
244
+        //option.visualMap.max = max;
245
+        myCharts.clear();
246
+        myCharts.setOption(option);
247
+        // myChart.setOption(option);
248
+      })
356 249
     }
357 250
   }
358 251
 }

+ 9 - 0
src/util/dictionary.js

@@ -0,0 +1,9 @@
1
+export default {
2
+  carTypeMap:  {
3
+    0: '临时车',
4
+    1: '月卡车',
5
+    2: '预约车',
6
+    3: '无感代扣',
7
+    99: '其它'
8
+  }
9
+}