duwendi пре 1 година
родитељ
комит
60d53b394b

+ 0 - 66
src/api/article.js

@@ -1,66 +0,0 @@
1
-// 文章
2
-import axios from "../../util/ajax";
3
-
4
-//分页获取文章列表
5
-const queryIndexContent = (page, limit, params) =>
6
-  axios.post(`/xyjc/index-content/query/${page}/${limit}`, params);
7
-
8
-// 增加内容
9
-const addIndexContent = params => axios.post(`/xyjc/index-content/add`, params);
10
-
11
-// 编辑内容
12
-const editIndexContent = params =>
13
-  axios.post(`/xyjc/index-content/update`, params);
14
-
15
-// 删除内容
16
-const deleteIndexContent = id =>
17
-  axios.delete(`/xyjc/index-content/delete/${id}`);
18
-
19
-// 下架内容
20
-const downOffIndexContent = (id, status) =>
21
-  axios.post(`/xyjc/index-content/downOff/${id}?status=${status}`);
22
-
23
-// 根据id查询内容
24
-const detailIndexContent = id => axios.post(`/xyjc/index-content/detail/${id}`);
25
-
26
-// 获取算法商城文章列表
27
-const queryAlgorithmList = (page, limit, params) =>
28
-  axios.post(`/xyjc/algorithm-mall/query/${page}/${limit}`, params);
29
-
30
-// 删除算法信息
31
-const deleteAlgorithm = (id) => axios.delete(`/xyjc/algorithm-mall/delete/${id}`)
32
-
33
-// 增加具体算法信息
34
-const addAlgorithm = (params) => axios.post(`/xyjc/algorithm-mall/add`, params)
35
-
36
-// 根据ID查询具体算法信息
37
-const getAlgorithmDetail = (id, hasGetChild) => axios.post(`/xyjc/algorithm-mall/detail/${id}?hasGetChild=${hasGetChild}`)
38
-
39
-// 上下架算法信息 status=0正常 1下架
40
-const downOffAlgorithm = (id, status) => axios.post(`/xyjc/algorithm-mall/downOff/${id}?status=${status}`)
41
-
42
-// 获取算法名称列表下拉框
43
-const getDropDownList = (params) => axios.get(`/xyjc/algorithm-mall/queryName`, { params })
44
-
45
-// 编辑具体算法信息
46
-const updateAlgorithm = (params) => axios.post(`/xyjc/algorithm-mall/update`, params)
47
-
48
-// 下载文件
49
-const downloadFile= (id) => axios.get(`/xyjc/index-files/download/${id}`, {responseType: 'blob'})
50
-
51
-export default {
52
-  queryIndexContent,
53
-  addIndexContent,
54
-  editIndexContent,
55
-  deleteIndexContent,
56
-  downOffIndexContent,
57
-  detailIndexContent,
58
-  queryAlgorithmList,
59
-  deleteAlgorithm,
60
-  addAlgorithm,
61
-  getAlgorithmDetail,
62
-  downOffAlgorithm,
63
-  getDropDownList,
64
-  updateAlgorithm,
65
-  downloadFile
66
-};

+ 45 - 40
src/api/article_liao.js

@@ -1,44 +1,49 @@
1 1
 // 文章
2 2
 import axios from "../util/ajax";
3 3
 
4
-const qualificationExamine = (params) => axios.post('/dash/employee/qualification/examine',params)
5
-
6
-//收费数据分析
7
-const businessAnalysisStat = (params) =>axios.post('/dash/charge/business/analysis/stat1',params)
8
-
9
-//支付渠道分析
10
-const businessAnalysisStat2 = (params) =>axios.post('/dash/charge/business/analysis/stat2',params)
11
-
12
-//催缴情况分析
13
-const businessAnalysisStat3 = (params) =>axios.post('/dash/charge/business/analysis/stat3',params)
14
-
15
-//资源利用分析
16
-const parkMonitorStat = (params) =>axios.post('/dash/park/monitor/stat',params)
17
-
18
-//停车时长分析
19
-const parkBehaviorDuration = (params) =>axios.post('/dash/park/behavior/duration',params)
20
-
21
-//停车时段分析
22
-const parkBehaviorRange = (params) =>axios.post('/dash/park/behavior/range',params)
23
-
24
-//临时停车分析
25
-const parkBehaviorTemporary = (params) =>axios.post('/dash/park/behavior/temporary',params)
26
-
27
-//泊位饱和度
28
-const dashBerthRoadStat1 = (params) =>axios.post('/dash/berth/road/stat1',params)
29
-
30
-//路段泊位周转率
31
-const dashBerthRoadStat2 = (params) =>axios.post('/dash/berth/road/stat2',params)
32
-
33 4
 export default {
34
-  qualificationExamine,
35
-  businessAnalysisStat,
36
-  businessAnalysisStat2,
37
-  businessAnalysisStat3,
38
-  parkMonitorStat,
39
-  parkBehaviorDuration,
40
-  parkBehaviorRange,
41
-  parkBehaviorTemporary,
42
-  dashBerthRoadStat1,
43
-  dashBerthRoadStat2
44
-};
5
+  qualificationExamine(params) {
6
+    return axios.post('/dash/employee/qualification/examine', params)
7
+  },
8
+  //收费数据分析
9
+  businessAnalysisStat(params) {
10
+    return axios.post('/dash/charge/business/analysis/stat1', params)
11
+  },
12
+  //支付渠道分析
13
+  businessAnalysisStat2(params) {
14
+    return axios.post('/dash/charge/business/analysis/stat2', params)
15
+  },
16
+  //催缴情况分析
17
+  businessAnalysisStat3(params) {
18
+    return axios.post('/dash/charge/business/analysis/stat3', params)
19
+  },
20
+  //资源利用分析
21
+  parkMonitorStat(params) {
22
+    return axios.post('/dash/park/monitor/stat', params);
23
+  },
24
+  //停车时长分析
25
+  parkBehaviorDuration(params) {
26
+    return axios.post('/dash/park/behavior/duration', params)
27
+  },
28
+  //停车时段分析
29
+  parkBehaviorRange(params) {
30
+    return axios.post('/dash/park/behavior/range', params)
31
+  },
32
+  //临时停车分析
33
+  parkBehaviorTemporary(params) {
34
+    return axios.post('/dash/park/behavior/temporary', params)
35
+  },
36
+  // 夜间停车分析 dash/park/behavior/night
37
+  parkBehaviorNight(params) {
38
+    return axios.post('/dash/park/behavior/night', params)
39
+  },
40
+  //泊位饱和度
41
+  dashBerthRoadStat1(params) {
42
+    return axios.post('/dash/berth/road/stat1', params)
43
+  },
44
+  //路段泊位周转率
45
+  dashBerthRoadStat2(params) {
46
+    return axios.post('/dash/berth/road/stat2', params)
47
+  }
48
+
49
+}

+ 13 - 26
src/api/article_z.js

@@ -1,30 +1,17 @@
1 1
 // 文章
2 2
 import axios from "../util/ajax";
3 3
 
4
-//分页获取文章列表
5
-// const queryIndexContent =  (params) => axios.post(`/dash/charge/business/analysis/stat1/`, params);
6
-
7
-//停车盲点挖掘
8
-const queryBlindContext =  (params) => axios.post(`/dash/blind/spot/digging/stat1`, params);
9
-//路内泊位设置推荐
10
-const queryBerthContext =  (params) => axios.post(`/dash/berth/recommend/page`, params);
11
-//路内泊位设置推荐
12
-const queryGapMapContext =  (params) => axios.post(`/dash/gap/analysis/stat1`, params);
13
-
14
-// 增加内容
15
-// const addIndexContent = params => axios.post(`/xyjc/index-content/add`, params);
16
-//
17
-// // 编辑内容
18
-// const editIndexContent = params =>
19
-//   axios.post(`/xyjc/index-content/update`, params);
20
-//
21
-// // 删除内容
22
-// const deleteIndexContent = id =>
23
-//   axios.delete(`/xyjc/index-content/delete/${id}`);
24
-
25 4
 export default {
26
-  // queryIndexContent,
27
-  queryBlindContext,
28
-  queryBerthContext,
29
-  queryGapMapContext
30
-};
5
+  //停车盲点挖掘
6
+  queryBlindContext(params) {
7
+    return axios.post(`/dash/blind/spot/digging/stat1`, params)
8
+  },
9
+  //路内泊位设置推荐
10
+  queryBerthContext(params) {
11
+    return axios.post(`/dash/berth/recommend/page`, params)
12
+  },
13
+  //路内泊位设置推荐
14
+  queryGapMapContext(params) {
15
+    return axios.post(`/dash/gap/analysis/stat1`, params)
16
+  }
17
+}

+ 73 - 9
src/api/audit.js

@@ -1,12 +1,76 @@
1 1
 import axios from "@/util/ajax";
2 2
 
3 3
 export default {
4
-    // 申请列表
5
-    applyList(params) {
6
-        return axios.get('/resourceApply/selectBackedApplyList', { params });
7
-    },
8
-    // 审核
9
-    applyResource(params) {
10
-        return axios.post('/resourceApply/approveApply', params);
11
-    }
12
-}
4
+  // 停车缺口分析-停车缺口分析
5
+  tcqkfx(params) {
6
+    return axios.post('/dash/gap/analysis/stat1', params)
7
+  },
8
+  // 停车缺口分析-停车缺口变化趋势
9
+  tcqkbhqs(params) {
10
+    return axios.post('/dash/gap/analysis/stat2', params)
11
+  },
12
+  // 停车饱和预警-饱和度
13
+  tcbhyj(params) {
14
+    return axios.post('/dash/saturation/warning/stat1', params)
15
+  },
16
+  // todo 停车饱和预警-网格化停车饱和预警
17
+  wghtcbhyj(params) {
18
+    return axios.post('/dash/saturation/warning/page', params)
19
+  },
20
+  // 全局停车诱导-地图难易指数
21
+  nyzs(params) {
22
+    return axios.post('/dash/park/guidance/stat', params)
23
+  },
24
+  // todo 全局停车诱导-统计
25
+  nyzstj(params) {
26
+    return axios.post('/dash/park/guidance/page', params)
27
+  },
28
+  // 其他分析-区域分析
29
+  qyfx(params) {
30
+    return axios.post('/dash/other/analyse/stat1', params)
31
+  },
32
+  // todo 其他分析-重点车辆分析
33
+  zdclfx(params) {
34
+    return axios.post('/dash/other/analyse/stat10', params)
35
+  },
36
+  // 其他分析-车场数量
37
+  ccsl(params) {
38
+    return axios.post('/dash/other/analyse/stat2', params)
39
+  },
40
+  // 其他分析-停车分布分析
41
+  tcfbfx(params) {
42
+    return axios.post('/dash/other/analyse/stat3', params)
43
+  },
44
+  // 其他分析-余位分析
45
+  ywfx(params) {
46
+    return axios.post('/dash/other/analyse/stat4', params)
47
+  },
48
+  // 其他分析-停车热点分析
49
+  tcrdfx(params) {
50
+    return axios.post('/dash/other/analyse/stat5', params)
51
+  },
52
+  // 其他分析-车流量分析
53
+  cllfx(params) {
54
+    return axios.post('/dash/other/analyse/stat6', params)
55
+  },
56
+  // 其他分析-低利用率停车场分析图表配置
57
+  dlyltcc(params) {
58
+    return axios.post('/dash/other/analyse/stat7', params)
59
+  },
60
+  // 其他分析-高峰路线分析
61
+  gflxfx(params) {
62
+    return axios.post('/dash/other/analyse/stat8', params)
63
+  },
64
+  // 其他分析-重点车辆进厂占比
65
+  zdcljcfx(params) {
66
+    return axios.post('/dash/other/analyse/stat9', params)
67
+  },
68
+  // 申请列表
69
+  applyList(params) {
70
+    return axios.get('/resourceApply/selectBackedApplyList', {params});
71
+  },
72
+  // 审核
73
+  applyResource(params) {
74
+    return axios.post('/resourceApply/approveApply', params);
75
+  }
76
+}

+ 0 - 21
src/api/dataOrganizeApi.js

@@ -1,21 +0,0 @@
1
-// 数据组织管理
2
-import axios from "../../util/ajax";
3
-
4
-//查询组织树信息
5
-const queryIndexDept = params => axios.get(`/xyjc/index-dept/query`, params);
6
-
7
-// 增加组织信息
8
-const addIndexDept = params => axios.post("/xyjc/index-dept/add", params);
9
-
10
-// 编辑组织信息
11
-const editIndexDept = params => axios.post("/xyjc/index-dept/update", params);
12
-
13
-//删除组织信息
14
-const deleteIndexDept = id => axios.delete(`/xyjc/index-dept/delete/${id}`);
15
-
16
-export default {
17
-  queryIndexDept,
18
-  addIndexDept,
19
-  editIndexDept,
20
-  deleteIndexDept
21
-};

+ 0 - 25
src/api/directoryMaintainApi.js

@@ -1,25 +0,0 @@
1
-// 目录维护
2
-import axios from "../../util/ajax";
3
-
4
-// 获取栏目列表
5
-const indexCategoryList = params =>
6
-  axios.get(`/xyjc/index-category/list`, params);
7
-
8
-// 增加首页栏目
9
-const addIndexCategory = params =>
10
-  axios.post(`/xyjc/index-category/add`, params);
11
-
12
-// 编辑首页栏目
13
-const editIndexCategory = params =>
14
-  axios.post(`/xyjc/index-category/update`, params);
15
-
16
-// 删除首页栏目
17
-const deleteIndexCategory = params =>
18
-  axios.delete(`/xyjc/index-category/delete`, params);
19
-
20
-export default {
21
-  indexCategoryList,
22
-  addIndexCategory,
23
-  editIndexCategory,
24
-  deleteIndexCategory
25
-};

+ 0 - 38
src/api/homepage.js

@@ -1,38 +0,0 @@
1
-// 前台首页
2
-import axios from "@/util/ajax";
3
-
4
-export default {
5
-    // 获取资源数据
6
-    resourceData(params) {
7
-        return axios.get('/resourceDirectory/homeStatisticalTotal', { params });
8
-    },
9
-    // 获取我的收藏总量数据
10
-    collectTotal(params) {
11
-        return axios.get('/resourceDirectory/allCollectTotal', { params });
12
-    },
13
-    // 获取主题、专题、指标资产数据
14
-    themeSpecialIndex(params) {
15
-        return axios.get('/resourceDirectory/assetNumStatistics', { params });
16
-    },
17
-    // 获取api排行数据
18
-    apiRank(params) {
19
-        return axios.get('/resourceDirectory/serviceCallNum', { params });
20
-    },
21
-    // 访问量数据
22
-    visits(params) {
23
-        return axios.get('/resourceApply/selectResourceViews', { params });
24
-    },
25
-
26
-    // 获取用户名
27
-    getUserName() {
28
-        return axios.get('/xyjc/cas/getUserName')
29
-    },
30
-    // 获取用户头像
31
-    getUserAvatar(id) {
32
-        return axios.get(`/xyjc/cas/getUserAvatar/${id}`)
33
-    },
34
-    // 用户登出
35
-    logout() {
36
-        return axios.get('/xyjc/cas/system/logout')
37
-    }
38
-}

+ 0 - 13
src/api/search.js

@@ -1,13 +0,0 @@
1
-// 后台搜索页
2
-import axios from "@/util/ajax";
3
-
4
-export default {
5
-    // 批量上架
6
-    batchUpShelves(params) {
7
-        return axios.post('/resourceDirectory/batchUpShelves', params);
8
-    },
9
-    // 批量下架
10
-    batchDownShelves(params) {
11
-        return axios.post('/resourceDirectory/batchDownShelves', params);
12
-    }
13
-}

+ 3 - 4
src/pages/index/components/berth_recommend.vue

@@ -33,12 +33,11 @@
33 33
 </template>
34 34
 <script>
35 35
 import linechart from "@/components/lineChart";
36
-// import article_z from "../../../api/article_z";
36
+// import api from "@/api/article_z";
37 37
 
38 38
 export default {
39 39
   components: {
40
-    linechart,
41
-    // article_z
40
+    linechart
42 41
   },
43 42
   data() {
44 43
     return {
@@ -126,7 +125,7 @@ export default {
126 125
     },
127 126
     //初始化
128 127
     // linedataData(){
129
-    //   article_z.queryBerthContext().then(res=>{
128
+    //   api.queryBerthContext().then(res=>{
130 129
     //     const lastA=res.data;
131 130
     //     this.linedata=res.data.map(item=>({...item,thisAmount: 30}));
132 131
     //     console.log(res.data)

+ 4 - 5
src/pages/index/components/berth_road.vue

@@ -106,7 +106,7 @@ import piechart from "@/components/pieChart";
106 106
 import linechart from "@/components/lineChart";
107 107
 import barchart from "@/components/barChart";
108 108
 import vtable from "@/components/vtableNew";
109
-import article_liao from "../../../api/article_liao";
109
+import api from "@/api/article_liao";
110 110
 
111 111
 
112 112
 export default {
@@ -114,8 +114,7 @@ export default {
114 114
     piechart,
115 115
     linechart,
116 116
     barchart,
117
-    vtable,
118
-    article_liao
117
+    vtable
119 118
   },
120 119
   data() {
121 120
     return {
@@ -189,12 +188,12 @@ export default {
189 188
 </div>`;
190 189
     },
191 190
     dashBerthRoadStat1(){
192
-      article_liao.dashBerthRoadStat1().then(res =>{
191
+      api.dashBerthRoadStat1().then(res =>{
193 192
         this.bardata = res.data
194 193
       })
195 194
     },
196 195
     dashBerthRoadStat2(){
197
-      article_liao.dashBerthRoadStat2().then(res =>{
196
+      api.dashBerthRoadStat2().then(res =>{
198 197
         this.linedata1 = res.data
199 198
       })
200 199
     },

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

@@ -33,18 +33,15 @@
33 33
 </template>
34 34
 <script>
35 35
 import linechart from "@/components/lineChart";
36
-import article_z from "../../../api/article_z";
36
+import api from "@/api/article_z";
37 37
 
38 38
 export default {
39 39
   components: {
40
-    linechart,
41
-    article_z
40
+    linechart
42 41
   },
43 42
   data() {
44 43
     return {
45
-      linedata: [{month: '老街街道',thisAmount: 30, lastAmount: 20}, {month: '马路街街道', thisAmount:30, lastAmount:50}
46
-        , {month: '顺河街街道', thisAmount:30, lastAmount:30}, {month: '干河陈街道', thisAmount:30, lastAmount:30}
47
-        , {month: '大刘镇', thisAmount:30, lastAmount:0}, {month: '阴阳赵镇', thisAmount:30, lastAmount:0}],
44
+      linedata: [],
48 45
       columns: [
49 46
         {
50 47
           label: '街道名称',
@@ -75,8 +72,7 @@ export default {
75 72
     }
76 73
   },
77 74
   mounted() {
78
-    // this.getTableData(),
79
-    this.linedataData()
75
+    this.getLineData()
80 76
   },
81 77
   watch: {
82 78
   },
@@ -125,8 +121,8 @@ export default {
125 121
       })
126 122
     },
127 123
     //初始化
128
-    linedataData(){
129
-      article_z.queryBlindContext().then(res=>{
124
+    getLineData(){
125
+      api.queryBlindContext().then(res=>{
130 126
         this.linedata=res.data.map(item=>({...item,thisAmount: 30}));
131 127
       })
132 128
     },

+ 5 - 6
src/pages/index/components/charge_business_analysis.vue

@@ -54,13 +54,12 @@
54 54
 <script>
55 55
 import piechart from "@/components/pieChart";
56 56
 import barchart from "@/components/barChart";
57
-import article_liao from "../../../api/article_liao";
57
+import api from "@/api/article_liao";
58 58
 
59 59
 export default {
60 60
   components: {
61 61
     piechart,
62
-    barchart,
63
-    article_liao
62
+    barchart
64 63
   },
65 64
   data() {
66 65
     return {
@@ -93,17 +92,17 @@ export default {
93 92
 </div>`;
94 93
     },
95 94
     businessAnalysisStat(){
96
-      article_liao.businessAnalysisStat().then(res =>{
95
+      api.businessAnalysisStat().then(res =>{
97 96
         this.bardata = res.data
98 97
       })
99 98
     },
100 99
     businessAnalysisStat2(){
101
-      article_liao.businessAnalysisStat2().then(res =>{
100
+      api.businessAnalysisStat2().then(res =>{
102 101
         this.modelData.list = res.data
103 102
       })
104 103
     },
105 104
     businessAnalysisStat3(){
106
-      article_liao.businessAnalysisStat3().then(res =>{
105
+      api.businessAnalysisStat3().then(res =>{
107 106
         this.modelData.list1 = res.data
108 107
       })
109 108
     },

+ 58 - 59
src/pages/index/components/gap_analysis.vue

@@ -23,6 +23,7 @@
23 23
           :left="40"
24 24
           :legendTop="0"
25 25
           :dataset="linedata"
26
+          yAxisName="%"
26 27
           :tooltipFormat="lineTooltipFormat"
27 28
           :encode="[
28 29
               { x: 'month', y: 'thisYearAmount', seriesName: '缺口程度',bool:'true' },
@@ -37,6 +38,7 @@
37 38
 import * as echarts from 'echarts'
38 39
 import * as geoJson from '../../../util/411100.json'
39 40
 import linechart from "@/components/lineChart";
41
+import api from '@/api/audit'
40 42
 
41 43
 export default {
42 44
   components: {
@@ -44,12 +46,7 @@ export default {
44 46
   },
45 47
   data() {
46 48
     return {
47
-      linedata: [{month: '8:00', thisYearAmount: 21}, {month: '10:00', thisYearAmount:22}
48
-        , {month: '12:00', thisYearAmount:23}, {month: '14:00', thisYearAmount:25}
49
-        , {month: '16:00', thisYearAmount:28}, {month: '18:00', thisYearAmount:31}
50
-        , {month: '20:00', thisYearAmount:34}, {month: '22:00', thisYearAmount:36}
51
-        , {month: '0:00', thisYearAmount:38}, {month: '2:00', thisYearAmount:39}
52
-        , {month: '4:00', thisYearAmount:40}, {month: '6:00', thisYearAmount:41}],
49
+      linedata: [],
53 50
       options: [{
54 51
         value: '日间时段',
55 52
         label: '日间时段'
@@ -137,17 +134,66 @@ export default {
137 134
           },
138 135
         ],
139 136
       },
140
-      curData: {},
141
-      dataSource: null,
142
-      totalAll: '0',
143 137
     };
144 138
   },
139
+
140
+  mounted() {
141
+    this.getTcqkbhqs()
142
+    api.tcqkfx().then(res => {
143
+      let arr = []
144
+      let dataSoure = res
145
+      for (const key in dataSoure) {
146
+        if (key !== 411100) {
147
+          console.log(dataSoure[key].zb, '222')
148
+          arr.push({
149
+            name: dataSoure[key].quyuName,
150
+            value: Number(dataSoure[key].zb),
151
+          });
152
+        }
153
+      }
154
+      let mapMax = Math.max(...arr.map(item => item.value))
155
+      let mapMin = Math.min(...arr.map(item => item.value))
156
+      let chart = echarts.init(document.getElementById("map"));
157
+      echarts.registerMap("luohe", geoJson);
158
+      this.option.series[0].data = arr;
159
+      this.option.visualMap.min = mapMin;
160
+      this.option.visualMap.max = mapMax;
161
+      chart.setOption(this.option);
162
+      this.dqIndex = -1;
163
+      this.setIntervalMap(chart);
164
+      //鼠标移入静止播放
165
+      chart.on("mouseover", (e) => {
166
+        clearInterval(this.timer);
167
+        chart.dispatchAction({
168
+          type: "showTip",
169
+          seriesIndex: 0,
170
+          dataIndex: e.dataIndex,
171
+        });
172
+      });
173
+      chart.on("mouseout", (e) => {
174
+        clearInterval(this.timer);
175
+        //鼠标移出后先把上次的高亮取消
176
+        chart.dispatchAction({
177
+          type: "downplay",
178
+          seriesIndex: 0,
179
+          dataIndex: e.dataIndex,
180
+        });
181
+        this.setIntervalMap(chart);
182
+      });
183
+    })
184
+  },
185
+
145 186
   methods: {
187
+    getTcqkbhqs() {
188
+      api.tcqkbhqs().then(res => {
189
+        this.linedata = res.data || []
190
+      })
191
+    },
146 192
     lineTooltipFormat(params) {
147 193
       const data = params[0].data;
148 194
       return `<div class="line-tooltip">
149 195
         <div style="color: ${params[0].color}">${params[0].seriesName}: ${
150
-        params[0].data.thisYearAmount || "--"
196
+        params[0].data.lastAmount || "--"
151 197
       }</div>
152 198
       </div>`;
153 199
     },
@@ -169,55 +215,8 @@ export default {
169 215
         <div class="map-tooltip-name">${data.name}:<span class="map-tooltip-value">${data.value}%</span></div>
170 216
       </div>`;
171 217
     },
172
-  },
173
-  mounted() {
174
-    let arr = []
175
-    let dataSoure = {
176
-      '411102': {quyuName: '源汇区', zb: 40},
177
-      '411103': {quyuName: '郾城区', zb: 60},
178
-      '411104': {quyuName: '召陵区', zb: 40},
179
-      '411121': {quyuName: '舞阳县', zb: 50},
180
-      '411122': {quyuName: '临颍县', zb: 30}}
181
-    for (const key in dataSoure) {
182
-      if (key !== '411100') {
183
-        arr.push({
184
-          name: dataSoure[key].quyuName,
185
-          value: Number(dataSoure[key].zb),
186
-        });
187
-      }
188
-    }
189
-    let mapMax = Math.max(...arr.map(item => item.value))
190
-    let mapMin = Math.min(...arr.map(item => item.value))
191
-    console.log(mapMin, '111')
192
-    console.log(mapMax, '222')
193
-    let chart = echarts.init(document.getElementById("map"));
194
-    echarts.registerMap("luohe", geoJson);
195
-    this.option.series[0].data = arr;
196
-    this.option.visualMap.min = mapMin;
197
-    this.option.visualMap.max = mapMax;
198
-    chart.setOption(this.option);
199
-    this.dqIndex = -1;
200
-    this.setIntervalMap(chart);
201
-    //鼠标移入静止播放
202
-    chart.on("mouseover", (e) => {
203
-      clearInterval(this.timer);
204
-      chart.dispatchAction({
205
-        type: "showTip",
206
-        seriesIndex: 0,
207
-        dataIndex: e.dataIndex,
208
-      });
209
-    });
210
-    chart.on("mouseout", (e) => {
211
-      clearInterval(this.timer);
212
-      //鼠标移出后先把上次的高亮取消
213
-      chart.dispatchAction({
214
-        type: "downplay",
215
-        seriesIndex: 0,
216
-        dataIndex: e.dataIndex,
217
-      });
218
-      this.setIntervalMap(chart);
219
-    });
220
-  },
218
+
219
+  }
221 220
 };
222 221
 </script>
223 222
 

+ 19 - 78
src/pages/index/components/park_bahavior.vue

@@ -14,7 +14,7 @@
14 14
           :roseType = "false"
15 15
           :colorArr="modelPieColor"
16 16
           :labelFormat="['{name|{b}}', '{sub|{@value}辆 {d}%}', '{hr|}']"
17
-          :dataset="modelData.list"
17
+          :dataset="modelData"
18 18
           :encode="{ itemName: 'name', value: 'value' }"
19 19
         />
20 20
       </div>
@@ -27,7 +27,7 @@
27 27
           :bottom="30"
28 28
           :left="40"
29 29
           :legendTop="0"
30
-          yAxisName="(亿元)"
30
+          yAxisName=""
31 31
           :dataset="linedata"
32 32
           :tooltipFormat="lineTooltipFormat"
33 33
           :encode="[
@@ -51,11 +51,10 @@
51 51
           :roseType = "false"
52 52
           :colorArr="modelPieColor4"
53 53
           :labelFormat="['{name|{b}}', '{sub|{@value}辆 {d}%}', '{hr|}']"
54
-          :dataset="modelData4.list"
54
+          :dataset="modelData4"
55 55
           :encode="{ itemName: 'name', value: 'value' }"
56 56
         />
57 57
       </div>
58
-
59 58
       <div style="width: 50%;height: 500px;">
60 59
         <h4 style="color: white">夜间停车分析</h4>
61 60
         <piechart
@@ -65,120 +64,62 @@
65 64
           :roseType = "false"
66 65
           :colorArr="modelPieColor5"
67 66
           :labelFormat="['{name|{b}}', '{sub|{@value}辆 {d}%}', '{hr|}']"
68
-          :dataset="modelData5.list"
67
+          :dataset="modelData5"
69 68
           :encode="{ itemName: 'name', value: 'value' }"
70 69
         />
71 70
       </div>
72
-
73 71
       <br>
74 72
     </div>
75
-
76
-
77
-
78 73
   </div>
79 74
 </template>
80 75
 <script>
81
-import api from "@/api/audit.js";
82 76
 import piechart from "@/components/pieChart";
83 77
 import linechart from "@/components/lineChart";
84
-import article_liao from "../../../api/article_liao";
78
+import api from "@/api/article_liao";
85 79
 export default {
86 80
   components: {
87 81
     piechart,
88
-    linechart,
89
-    article_liao
82
+    linechart
90 83
   },
91 84
   data() {
92 85
     return {
93
-      options: [{
94
-        value: '源汇区',
95
-        label: '源汇区'
96
-      }, {
97
-        value: '召陵区',
98
-        label: '召陵区'
99
-      }],
100
-      options2: [{
101
-        value: '违规停车高发区',
102
-        label: '违规停车高发区'
103
-      }, {
104
-        value: '事故高发区',
105
-        label: '事故高发区'
106
-      }],
107
-      options3: [{
108
-        value: '团结路',
109
-        label: '团结路'
110
-      }, {
111
-        value: '人民东路',
112
-        label: '人民东路'
113
-      }],
114 86
       linedata: [],
115 87
       modelPieColor: ["#4382f6","#9078f8","#DAA520","#2E8B57"],
116
-      modelData: {
117
-        list: []
118
-      },
119
-      modelData2: {
120
-        list: [{name: '占用位', value: 200}, {name: '空闲位', value: 800}]
121
-      },
122
-      modelData3: {
123
-        list: [{name: '占用位', value: 100}, {name: '空闲位', value: 900}]
124
-      },
88
+      modelData: [],
125 89
       modelPieColor4: ["#4382f6","#9078f8"],
126
-      modelData4: {
127
-        list: []
128
-      },
90
+      modelData4: [],
129 91
       modelPieColor5: ["#4382f6","#9078f8"],
130
-      modelData5: {
131
-        list: [{name: '日间停车', value: 600}, {name: '夜间停车', value: 800}]
132
-      },
133
-      bardata: [{month: '01', hs: 100, cs: 200},{month: '02', hs: 300, cs: 200},{month: '03', hs: 400, cs: 200},],
134
-      tableData: [],
135
-      tableData2: [],
136
-      tableData3: [],
137
-      tableData4: [],
138
-      total: 0,
139
-      pageSize: 10,
140
-      pageNum: 1,
141
-      radio: '2',
142
-      dialogVisible: false,
143
-      selRow: {},
92
+      modelData5: []
144 93
     }
145 94
   },
146 95
   mounted() {
147 96
     this.parkBehaviorDuration()
148 97
     this.parkBehaviorRange()
149 98
     this.parkBehaviorTemporary()
99
+    this.parkBehaviorNight()
150 100
   },
151 101
   watch: {
152 102
   },
153 103
   methods: {
154
-    handlePageChange() {
155
-      this.getTableData()
156
-    },
157
-    handleAudit(row) {
158
-      this.selRow = row
159
-      this.dialogVisible = true
160
-    },
161
-    handleCancelApply(row) {
162
-      console.log('enter handle cancel apply')
163
-    },
164 104
     parkBehaviorDuration() {
165
-      article_liao.parkBehaviorDuration().then(res =>{
166
-        this.modelData.list = res.data
105
+      api.parkBehaviorDuration().then(res =>{
106
+        this.modelData = res.data
167 107
       })
168 108
     },
169 109
     parkBehaviorRange(){
170
-      article_liao.parkBehaviorRange().then(res =>{
110
+      api.parkBehaviorRange().then(res =>{
171 111
         this.linedata = res.data
172 112
       })
173 113
     },
174 114
     parkBehaviorTemporary(){
175
-      article_liao.parkBehaviorTemporary().then(res =>{
176
-        this.modelData4.list = res.data
115
+      api.parkBehaviorTemporary().then(res =>{
116
+        this.modelData4 = res.data
177 117
       })
178 118
     },
179
-    handleSearch() {
180
-      this.pageNum = 1
181
-      this.getTableData()
119
+    parkBehaviorNight(){
120
+      api.parkBehaviorNight().then(res =>{
121
+        this.modelData5 = res.data
122
+      })
182 123
     }
183 124
   }
184 125
 }

+ 40 - 47
src/pages/index/components/park_easy.vue

@@ -25,7 +25,7 @@
25 25
         :dataset="linedata"
26 26
         :tooltipFormat="lineTooltipFormat"
27 27
         :encode="[
28
-              { x: 'month', y: 'thisYearAmount', seriesName: '缺口程度',bool:'true' },
28
+              { x: 'month', y: 'thisYearAmount', seriesName: '难易指数',bool:'true' },
29 29
             ]"
30 30
         id="sxcyfzqk"
31 31
       />
@@ -37,6 +37,7 @@
37 37
 import * as echarts from 'echarts'
38 38
 import * as geoJson from '../../../util/411100.json'
39 39
 import linechart from "@/components/lineChart";
40
+import api from '@/api/audit'
40 41
 
41 42
 export default {
42 43
   components: {
@@ -137,9 +138,6 @@ export default {
137 138
           },
138 139
         ],
139 140
       },
140
-      curData: {},
141
-      dataSource: null,
142
-      totalAll: '0',
143 141
     };
144 142
   },
145 143
   methods: {
@@ -171,52 +169,47 @@ export default {
171 169
     },
172 170
   },
173 171
   mounted() {
174
-    let arr = []
175
-    let dataSoure = {
176
-      '411102': {quyuName: '源汇区', zb: 40},
177
-      '411103': {quyuName: '郾城区', zb: 60},
178
-      '411104': {quyuName: '召陵区', zb: 40},
179
-      '411121': {quyuName: '舞阳县', zb: 50},
180
-      '411122': {quyuName: '临颍县', zb: 30}}
181
-    for (const key in dataSoure) {
182
-      if (key !== '411100') {
183
-        arr.push({
184
-          name: dataSoure[key].quyuName,
185
-          value: Number(dataSoure[key].zb),
186
-        });
172
+    api.nyzs().then(res => {
173
+      let arr = []
174
+      let dataSoure = res.data
175
+      for (const key in dataSoure) {
176
+        if (key !== 411100) {
177
+          arr.push({
178
+            name: dataSoure[key].quyuName,
179
+            value: Number(dataSoure[key].zb),
180
+          });
181
+        }
187 182
       }
188
-    }
189
-    let mapMax = Math.max(...arr.map(item => item.value))
190
-    let mapMin = Math.min(...arr.map(item => item.value))
191
-    console.log(mapMin, '111')
192
-    console.log(mapMax, '222')
193
-    let chart = echarts.init(document.getElementById("map"));
194
-    echarts.registerMap("luohe", geoJson);
195
-    this.option.series[0].data = arr;
196
-    this.option.visualMap.min = mapMin;
197
-    this.option.visualMap.max = mapMax;
198
-    chart.setOption(this.option);
199
-    this.dqIndex = -1;
200
-    this.setIntervalMap(chart);
201
-    //鼠标移入静止播放
202
-    chart.on("mouseover", (e) => {
203
-      clearInterval(this.timer);
204
-      chart.dispatchAction({
205
-        type: "showTip",
206
-        seriesIndex: 0,
207
-        dataIndex: e.dataIndex,
183
+      let mapMax = Math.max(...arr.map(item => item.value))
184
+      let mapMin = Math.min(...arr.map(item => item.value))
185
+      let chart = echarts.init(document.getElementById("map"));
186
+      echarts.registerMap("luohe", geoJson);
187
+      this.option.series[0].data = arr;
188
+      this.option.visualMap.min = mapMin;
189
+      this.option.visualMap.max = mapMax;
190
+      chart.setOption(this.option);
191
+      this.dqIndex = -1;
192
+      this.setIntervalMap(chart);
193
+      //鼠标移入静止播放
194
+      chart.on("mouseover", (e) => {
195
+        clearInterval(this.timer);
196
+        chart.dispatchAction({
197
+          type: "showTip",
198
+          seriesIndex: 0,
199
+          dataIndex: e.dataIndex,
200
+        });
208 201
       });
209
-    });
210
-    chart.on("mouseout", (e) => {
211
-      clearInterval(this.timer);
212
-      //鼠标移出后先把上次的高亮取消
213
-      chart.dispatchAction({
214
-        type: "downplay",
215
-        seriesIndex: 0,
216
-        dataIndex: e.dataIndex,
202
+      chart.on("mouseout", (e) => {
203
+        clearInterval(this.timer);
204
+        //鼠标移出后先把上次的高亮取消
205
+        chart.dispatchAction({
206
+          type: "downplay",
207
+          seriesIndex: 0,
208
+          dataIndex: e.dataIndex,
209
+        });
210
+        this.setIntervalMap(chart);
217 211
       });
218
-      this.setIntervalMap(chart);
219
-    });
212
+    })
220 213
   },
221 214
 };
222 215
 </script>

+ 9 - 126
src/pages/index/components/park_monitor.vue

@@ -12,8 +12,8 @@
12 12
           id="chart1"
13 13
           :radiusArr="['30%', '70%']"
14 14
           :colorArr="modelPieColor"
15
-          :labelFormat="['{mouth|{b}}', '{sub|{@thisYearAmount}-{d}%}', '{hr|}']"
16
-          :dataset="modelData.list"
15
+          :labelFormat="['{mouth|{b}}', '{sub|{@thisYearAmount}辆 {d}%}','{hr|}']"
16
+          :dataset="modelData"
17 17
           :roseType="false"
18 18
           :encode="{ itemName: 'mouth', value: 'thisYearAmount' }"
19 19
         />
@@ -56,31 +56,19 @@
56 56
   </div>
57 57
 </template>
58 58
 <script>
59
-import api from "@/api/audit.js";
60 59
 import piechart from "@/components/pieChart";
61 60
 import vtable from "@/components/vtableNew";
62
-import article_liao from "../../../api/article_liao";
61
+import api from "@/api/article_liao";
63 62
 
64 63
 export default {
65 64
   components: {
66 65
     piechart,
67
-    vtable,
68
-    article_liao
66
+    vtable
69 67
   },
70 68
   data() {
71 69
     return {
72 70
       modelPieColor: ["#4382f6","#9078f8"],
73
-      modelData: {
74
-        list: []
75
-      },
76
-      linedata: [{month: '11', lastYearAmount: 20, thisYearAmount: 30}, {month: '12', lastYearAmount: 40, thisYearAmount: 50}],
77
-      bardata: [{month: '01', hs: 100, cs: 200},{month: '02', hs: 300, cs: 200},{month: '03', hs: 400, cs: 200},],
78
-      riskColumns: [
79
-        { name: "", rowIdx: "name", width: "40%" },
80
-        { name: "预警信息", rowIdx: "yjxx", origin: true },
81
-        { name: "停车场", rowIdx: "tcc", origin: true },
82
-        { name: "预警时间", rowIdx: "yjsj" },
83
-      ],
71
+      modelData: [],
84 72
       columns: [
85 73
         {
86 74
           label: '预警信息',
@@ -95,78 +83,6 @@ export default {
95 83
           key: 'userName'
96 84
         }
97 85
       ],
98
-      columns2: [
99
-        {
100
-          label: '停车场',
101
-          key: 'tcc'
102
-        },
103
-        {
104
-          label: '泊位号',
105
-          key: 'bwh'
106
-        },
107
-        {
108
-          label: '泊位状态',
109
-          key: 'bwzt'
110
-        },
111
-        {
112
-          label: '是否潮汐车位',
113
-          key: 'sfcxcw'
114
-        },
115
-        {
116
-          label: '是否充电泊位',
117
-          key: 'sfcdcw'
118
-        },
119
-        {
120
-          label: '是否共享泊位',
121
-          key: 'sfgxcw'
122
-        }
123
-        ,
124
-        {
125
-          label: '是否异常',
126
-          key: 'sfyc'
127
-        }
128
-      ],
129
-      riskData: [{
130
-        yjxx: '饱和度大于80%',
131
-        tcc: "建业智慧港停车场",
132
-        yjsj: "2023-05-12 11:25:15",
133
-      },{
134
-        yjxx: '饱和度大于90%',
135
-        tcc: "双汇华府停车场",
136
-        yjsj: "2023-11-03 21:15:35",
137
-      },{
138
-        yjxx: '饱和度大于95%',
139
-        tcc: "漯河长申玉停车场",
140
-        yjsj: "2023-09-02 12:25:45",
141
-      }],
142
-      riskColumns2: [
143
-        { name: "", rowIdx: "name", width: "40%" },
144
-        { name: "停车场", rowIdx: "tcc", origin: true },
145
-        { name: "泊位号", rowIdx: "bwh", origin: true },
146
-        { name: "泊车状态", rowIdx: "bczt" },
147
-        { name: "是否潮汐车位", rowIdx: "sfcxcw" },
148
-        { name: "是否充电泊位", rowIdx: "sfcdbw" },
149
-        { name: "是否共享泊位", rowIdx: "sfgxbw" },
150
-        { name: "是否异常", rowIdx: "sfyc" },
151
-      ],
152
-      riskData2: [{
153
-        tcc: '双汇华府停车场',
154
-        bwh: "A023",
155
-        bczt: "占用中",
156
-        sfcxcw: "否",
157
-        sfcdbw:"否",
158
-        sfgxbw:"否",
159
-        sfyc:"否",
160
-      },{
161
-        tcc: '丽晶商务快捷-停车场',
162
-        bwh: "A024",
163
-        bczt: "占用中",
164
-        sfcxcw: "否",
165
-        sfcdbw:"否",
166
-        sfgxbw:"否",
167
-        sfyc:"否",
168
-      }],
169
-      mapData: {},
170 86
       tableData: [],
171 87
       total: 0,
172 88
       pageSize: 10,
@@ -174,9 +90,6 @@ export default {
174 90
       total2: 0,
175 91
       pageSize2: 10,
176 92
       pageNum2: 1,
177
-      radio: '2',
178
-      dialogVisible: false,
179
-      selRow: {},
180 93
     }
181 94
   },
182 95
   mounted() {
@@ -185,36 +98,10 @@ export default {
185 98
   watch: {
186 99
   },
187 100
   methods: {
188
-    handlePageChange() {
189
-      this.getTableData()
190
-    },
191
-    handleAudit(row) {
192
-      this.selRow = row
193
-      this.dialogVisible = true
194
-    },
195
-    handleCancelApply(row) {
196
-      console.log('enter handle cancel apply')
197
-    },
198 101
     parkMonitorStat(){
199
-      article_liao.parkMonitorStat().then(res =>{
200
-        this.modelData.list = res.data
102
+      api.parkMonitorStat().then(res =>{
103
+        this.modelData = res.data || []
201 104
       })
202
-    },
203
-    getTableData() {
204
-      const {pageNum, pageSize, searchWords} = this
205
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
206
-        this.tableData = []
207
-        res.data.records.map((item, index) => {
208
-          const newItem = {...item}
209
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
210
-          this.tableData.push(newItem)
211
-        })
212
-        this.total = res.data.total
213
-      })
214
-    },
215
-    handleSearch() {
216
-      this.pageNum = 1
217
-      this.getTableData()
218 105
     }
219 106
   }
220 107
 }
@@ -223,11 +110,7 @@ export default {
223 110
 .body-wrapper {
224 111
   padding: 20px;
225 112
   background: #0c0c0c;
226
-  width: 80%;
227
-  .button-block{
228
-    text-align: right;
229
-    margin-bottom: 20px;
230
-  }
113
+  width: 100%;
231 114
   .table-pagination{
232 115
     text-align: right;
233 116
   }
@@ -253,7 +136,7 @@ export default {
253 136
   margin-top: 100px;
254 137
 }
255 138
 .charts2{
256
-  width: 55%;
139
+  width: 50%;
257 140
   height: 600px;
258 141
 }
259 142
 .btn_save{

+ 23 - 39
src/pages/index/components/saturation_warning.vue

@@ -49,8 +49,8 @@
49 49
         :dataset="linedata"
50 50
         :tooltipFormat="lineTooltipFormat"
51 51
         :encode="[
52
-              { x: 'month', y: 'lastYearAmount', seriesName: '预警值',col:'red' },
53
-              { x: 'month', y: 'thisYearAmount', seriesName: '饱和度',bool:'true' },
52
+              { x: 'month', y: 'thisAmount', seriesName: '预警值',col:'red' },
53
+              { x: 'month', y: 'lastAmount', seriesName: '饱和度',bool:'true' },
54 54
             ]"
55 55
         id="sxcyfzqk"
56 56
       />
@@ -72,6 +72,7 @@
72 72
 <script>
73 73
 import linechart from "@/components/lineChart";
74 74
 import vtable from "@/components/vtableNew";
75
+import api from '@/api/audit'
75 76
 
76 77
 export default {
77 78
   components: {
@@ -86,12 +87,7 @@ export default {
86 87
         region2: '',
87 88
         region3: '',
88 89
       },
89
-      linedata: [{month: '8:00',lastYearAmount: 80, thisYearAmount: 90}, {month: '10:00', lastYearAmount:80, thisYearAmount:70}
90
-        , {month: '12:00', lastYearAmount:80, thisYearAmount:60}, {month: '14:00', lastYearAmount:80, thisYearAmount:75}
91
-        , {month: '16:00', lastYearAmount:80, thisYearAmount:60}, {month: '18:00', lastYearAmount:80, thisYearAmount:90}
92
-        , {month: '20:00', lastYearAmount:80, thisYearAmount:70}, {month: '22:00', lastYearAmount:80, thisYearAmount:60}
93
-        , {month: '0:00', lastYearAmount:80, thisYearAmount:75}, {month: '2:00', lastYearAmount:80, thisYearAmount:60}
94
-        , {month: '4:00', lastYearAmount:80, thisYearAmount:73}, {month: '6:00', lastYearAmount:80, thisYearAmount:60}],
90
+      linedata: [],
95 91
       columns: [
96 92
         {
97 93
           label: '街道名称',
@@ -115,56 +111,44 @@ export default {
115 111
       pageNum: 1,
116 112
       radio: '2',
117 113
       dialogVisible: false,
118
-      selRow: {},
119
-      searchWords: undefined
114
+      selRow: {}
120 115
     }
121 116
   },
122 117
   mounted() {
118
+    this.getTcbhyj()
123 119
     this.getTableData()
124 120
   },
125 121
   watch: {
126 122
   },
127 123
   methods: {
124
+    getTcbhyj() {
125
+      api.tcbhyj().then(res => {
126
+        this.linedata = res.data.map(item => ({...item, thisAmount: 30})) || []
127
+      })
128
+    },
128 129
     handlePageChange() {
129 130
       this.getTableData()
130 131
     },
131
-    handleCancelApply(row) {
132
-      console.log('enter handle cancel apply')
133
-    },
134
-    handleConfirm() {
135
-      const {id} = this.selRow
136
-      console.log('radio', this.radio)
137
-      api.applyResource({id, applyType: this.radio}).then(res => {
138
-        if(res.success) {
139
-          this.dialogVisible = false
140
-          this.$message({
141
-            message: '审核成功!',
142
-            type: 'success'
143
-          })
144
-          this.getTableData()
145
-        }
146
-      })
147
-    },
148 132
     getTableData() {
149
-      const {pageNum, pageSize, searchWords} = this
150
-      api.applyList({pageNum, pageSize, resourceName: searchWords}).then(res => {
151
-        this.tableData = []
152
-        res.data.records.map((item, index) => {
153
-          const newItem = {...item}
154
-          newItem.applyTypeText = this.getApplyTypeText(item.applyType)
155
-          this.tableData.push(newItem)
156
-        })
157
-        this.total = res.data.total
158
-      })
133
+      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
+      // })
159 143
     },
160 144
     lineTooltipFormat(params) {
161 145
       const data = params[0].data;
162 146
       return `<div class="line-tooltip">
163 147
         <div style="color: ${params[1].color}">${params[1].seriesName}: ${
164
-        params[0].data.thisYearAmount || "--"
148
+        params[0].data.lastAmount || "--"
165 149
       }(%)</div>
166 150
         <div style="color: red">${params[0].seriesName}: ${
167
-        params[0].data.lastYearAmount || "--"
151
+        params[0].data.thisAmount || "--"
168 152
       }(%)</div>
169 153
       </div>`;
170 154
     },