浏览代码

删除自己加的多余部分
# src/pages/index/layouts/indexLayout.vue
# src/router/index.js

zbb 1 年之前
父节点
当前提交
ff3d21d35f

+ 16 - 10
src/assets/css/element_ui.css

@@ -7,6 +7,7 @@
7 7
   margin-bottom: 0px;
8 8
 }
9 9
 
10
+
10 11
 .el-select-dropdown__item.hover,
11 12
 .el-select-dropdown__item:hover {
12 13
   background-color: #0E7DFD;
@@ -66,12 +67,12 @@
66 67
   cursor: pointer;
67 68
   padding-right: 35px;
68 69
   width: 100%;
69
-  height: 25px;
70
+  height: 30px;
70 71
   font-size: 13px;
71 72
   padding: 0px 6px;
72
-  background-color: #041841;
73
-  color: #92CCFA;
74
-  border: 1px solid #19446E;
73
+  /*background-color: #041841;*/
74
+  /*color: #92CCFA;*/
75
+  /*border: 1px solid #19446E;*/
75 76
 }
76 77
 
77 78
 .el-select .el-input__inner:focus {
@@ -91,17 +92,22 @@
91 92
   font-weight: 700;
92 93
 }
93 94
 
95
+.el-input__suffix .el-input__suffix-inner {
96
+  display: flex;
97
+  align-items: center;
98
+}
99
+
94 100
 .el-select:hover .el-input__inner {
95 101
   border-color: #19446E;
96 102
 }
97 103
 
98
-.el-select-dropdown__item {
99
-  color: #92CCFA;
100
-}
104
+/*.el-select-dropdown__item {*/
105
+/*  color: #92CCFA;*/
106
+/*}*/
101 107
 
102
-.el-icon-arrow-up:before {
103
-  color: #92CCFA;
104
-}
108
+/*.el-icon-arrow-up:before {*/
109
+/*  color: #92CCFA;*/
110
+/*}*/
105 111
 
106 112
 .el-popper[x-placement^=bottom] .popper__arrow {
107 113
   display: none;

+ 1 - 1
src/components/barChart.vue

@@ -196,7 +196,7 @@ export default {
196 196
 }
197 197
 </script>
198 198
 
199
-<style lang="less">
199
+<style lang="less" scoped>
200 200
   .chart {
201 201
     width: 100%;
202 202
     height: 100%;

+ 1 - 1
src/components/emap.vue

@@ -197,7 +197,7 @@ export default {
197 197
 };
198 198
 </script>
199 199
 
200
-<style lang="less">
200
+<style lang="less" scoped>
201 201
 .chart-box {
202 202
   position: relative;
203 203
 }

+ 1 - 1
src/components/lineChart.vue

@@ -208,7 +208,7 @@ export default {
208 208
 };
209 209
 </script>
210 210
 
211
-<style lang="less">
211
+<style lang="less" scoped>
212 212
 .chart {
213 213
   width: 100%;
214 214
   height: 100%;

+ 1 - 1
src/components/pieChart.vue

@@ -152,7 +152,7 @@ export default {
152 152
 };
153 153
 </script>
154 154
 
155
-<style lang="less">
155
+<style lang="less" scoped>
156 156
 .chart {
157 157
   width: 100%;
158 158
   height: 100%;

+ 1 - 1
src/components/radarChart.vue

@@ -85,7 +85,7 @@ export default {
85 85
 }
86 86
 </script>
87 87
 
88
-<style>
88
+<style lang="less" scoped>
89 89
 .chart {
90 90
   width: 100%;
91 91
   height: 100%;

+ 1 - 1
src/components/vtableNew.vue

@@ -150,7 +150,7 @@ export default {
150 150
 }
151 151
 </script>
152 152
 
153
-<style lang="less">
153
+<style lang="less" scoped>
154 154
   @keyframes tbodyauto {
155 155
     from {transform: translateY(0px);}
156 156
     to {transform: translateY(-100%);}

+ 181 - 0
src/pages/index/components/heat_map.vue

@@ -0,0 +1,181 @@
1
+<template>
2
+  <div class="middle-map">
3
+    <div class="top">
4
+      <div class="title">停车场停车率热力图</div>
5
+    </div>
6
+    <div class="bottom" id="map"></div>
7
+  </div>
8
+</template>
9
+
10
+<script>
11
+import * as echarts from 'echarts'
12
+import china from 'echarts/map/json/china.json'
13
+import * as geoJson from '../../../util/411100.json'
14
+
15
+export default {
16
+  data() {
17
+    return {
18
+      option: {
19
+        backgroundColor: '#333',
20
+        visualMap: {
21
+          bottom: 100,
22
+          left: 100,
23
+          min: 0,
24
+          max: 100,
25
+          color: ['#ff4601', '#fffc00', '#87cffa'],
26
+          calculable: true,
27
+          textStyle: {
28
+            color: '#fff',
29
+            fontSize: 12
30
+          },
31
+          seriesIndex: 0
32
+        },
33
+        geo: {
34
+          map: 'luohe',
35
+          show: true,
36
+          roam: false,
37
+          label: {
38
+            emphasis: {
39
+              show: false
40
+            }
41
+          },
42
+          itemStyle: {
43
+            normal: {
44
+              areaColor: '#17439a',
45
+              borderColor: '#fff'
46
+            },
47
+            emphasis: {
48
+              areaColor: '#17439a',
49
+              borderColor: '#fff'
50
+            }
51
+          }
52
+        },
53
+        series: [{
54
+          name: 'AQI',
55
+          type: 'heatmap',
56
+          coordinateSystem: 'geo',
57
+          blurSize: 40,
58
+          data: []
59
+        }]
60
+      },
61
+    };
62
+  },
63
+  methods: {
64
+  },
65
+  mounted() {
66
+    let data = [
67
+      ["114.00647", "33.55627", 11334],
68
+      ["114.00694", "33.58723", 7883],
69
+      ["113.59848", "33.43243", 5598],
70
+      ["114.09399", "33.58601", 1000],
71
+      ["113.93661", "33.81123", 4000]
72
+    ]
73
+    let areaData = [];
74
+    data.map(item => { //扩大热力图效果
75
+      areaData.push(...new Array(3).fill(item))
76
+    })
77
+    let mapMax = Math.max(...data.map(item => item[2]))
78
+    let mapMin = Math.min(...data.map(item => item[2]))
79
+    let chart = echarts.init(document.getElementById("map"));
80
+    echarts.registerMap("luohe", geoJson);
81
+
82
+    // echarts.registerMap('china', china)
83
+    this.option.series[0].data = areaData;
84
+    this.option.visualMap.min = mapMin;
85
+    this.option.visualMap.max = mapMax;
86
+    chart.setOption(this.option);
87
+  },
88
+};
89
+</script>
90
+
91
+<style lang="less" scoped>
92
+.middle-map {
93
+  width: 100%;
94
+  height: 100%;
95
+  .top {
96
+    height: 10%;
97
+    // padding: 50px 50px 0 50px;
98
+    display: flex;
99
+    flex-direction: column;
100
+    justify-content: space-between;
101
+    font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC";
102
+    .total-detail {
103
+      display: flex;
104
+      margin-top: 10px;
105
+      align-items: center;
106
+      justify-content: center;
107
+      .total-value {
108
+        font-size: 41px;
109
+      }
110
+      .total-unit {
111
+        margin-left: 20px;
112
+        font-size: 20px;
113
+      }
114
+    }
115
+    .title {
116
+      font-weight: 650;
117
+      font-style: normal;
118
+      color: #ffffff;
119
+      font-size: 18px;
120
+    }
121
+    .dq {
122
+      font-weight: 650;
123
+      color: #ffcc00;
124
+      font-size: 24px;
125
+      text-align: center;
126
+    }
127
+    .num-container {
128
+      height: 180px;
129
+      margin-top: 20px;
130
+      display: flex;
131
+      justify-content: space-between;
132
+      width: 100%;
133
+      padding: 0 20px;
134
+      .num-item {
135
+        display: flex;
136
+        flex-direction: column;
137
+        justify-content: space-around;
138
+        // width: 28%;
139
+        .label-box {
140
+          display: flex;
141
+          align-items: center;
142
+          // justify-content: space-between;
143
+          .label {
144
+            font-weight: 650;
145
+            color: #ffcc00;
146
+            font-size: 28px;
147
+          }
148
+          .rate {
149
+            margin-left: 30px;
150
+            font-weight: 650;
151
+            color: #ffcc00;
152
+            font-size: 18px;
153
+          }
154
+        }
155
+        .num-box {
156
+          display: flex;
157
+          justify-content: space-between;
158
+          justify-content: left;
159
+          font-family: "Arial-BoldMT", "Arial Bold", "Arial";
160
+          font-weight: 700;
161
+          .money {
162
+            color: #fff;
163
+            font-size: 22px;
164
+            .num {
165
+              color: #ffcc00;
166
+            }
167
+          }
168
+          .rate {
169
+            color: #008000;
170
+            font-size: 32px;
171
+          }
172
+        }
173
+      }
174
+    }
175
+  }
176
+  .bottom {
177
+    height: 90%;
178
+    width: 100%;
179
+  }
180
+}
181
+</style>

+ 275 - 0
src/pages/index/components/hot_map.vue

@@ -0,0 +1,275 @@
1
+<template>
2
+  <div class="middle-map">
3
+    <div class="top">
4
+      <div class="title">停车热度时空分布</div>
5
+    </div>
6
+    <div class="bottom" id="map"></div>
7
+  </div>
8
+</template>
9
+
10
+<script>
11
+import * as echarts from 'echarts'
12
+import * as geoJson from '../../../util/411100.json'
13
+
14
+export default {
15
+  data() {
16
+    return {
17
+      dqIndex: -1,
18
+      timer: null,
19
+      option: {
20
+        visualMap: {
21
+          show: true,
22
+          type: "continuous",
23
+          left: "0%",
24
+          bottom: "0%",
25
+          calculable: true,
26
+          textStyle: {
27
+            color: "white",
28
+          },
29
+          text: ["(%)"],
30
+          min: 0,
31
+          max: 100,
32
+          inRange: {
33
+            color: ["#4FC9FB","#36ADFC","#1788D1","#0E6BAE","#1871A2","#0D4D7D"],
34
+          },
35
+        },
36
+        geo: {
37
+          map: "luohe",
38
+          // aspectScale: 1,
39
+          roam: false,
40
+          itemStyle: {
41
+            normal: {
42
+              borderColor: "#2ab8ff",
43
+              borderWidth: 2.5,
44
+              areaColor: "#12235c",
45
+            },
46
+            emphasis: {
47
+              areaColor: "#2AB8FF",
48
+              shadowColor: "rgba(42,184,255, 0.7)",
49
+              shadowOffsetY: 5,
50
+              shadowOffsetX: 5,
51
+              shadowBlur: 5,
52
+            },
53
+          },
54
+        },
55
+        tooltip: {
56
+          confine: true,
57
+          formatter: this.mapTooltip,
58
+          position: "inside",
59
+          backgroundColor: "transparent",
60
+        },
61
+        series: [
62
+          {
63
+            type: "map",
64
+            // roam: true,
65
+            label: {
66
+              normal: {
67
+                textStyle: {
68
+                  color: "#fff",
69
+                },
70
+              },
71
+              emphasis: {
72
+                show: false,
73
+                textStyle: {
74
+                  color: "#fff",
75
+                },
76
+              },
77
+            },
78
+            itemStyle: {
79
+              normal: {
80
+                borderColor: "#76bef5",
81
+                borderWidth: 1.5,
82
+                areaColor: "#4282de",
83
+              },
84
+              emphasis: {
85
+                areaColor: "#002aff",
86
+                borderWidth: 0,
87
+                color: "green",
88
+              },
89
+            },
90
+            roam: false,
91
+            map: "luohe", //使用
92
+            data: [],
93
+          },
94
+        ],
95
+      },
96
+      curData: {},
97
+      dataSource: null,
98
+      totalAll: '0',
99
+    };
100
+  },
101
+  methods: {
102
+    setIntervalMap(chart) {
103
+      this.timer = setInterval(() => {
104
+        chart.dispatchAction({
105
+          type: "showTip",
106
+          seriesIndex: 0,
107
+          dataIndex: this.dqIndex + 1,
108
+        });
109
+        this.dqIndex++;
110
+        if (this.dqIndex > 4) {
111
+          this.dqIndex = -1;
112
+        }
113
+      }, 3000);
114
+    },
115
+    mapTooltip(data) {
116
+      return `<div class="map-tooltip">
117
+        <div class="map-tooltip-name">${data.name}:<span class="map-tooltip-value">${data.value}%</span></div>
118
+      </div>`;
119
+    },
120
+  },
121
+  mounted() {
122
+    let arr = []
123
+    let dataSoure = {
124
+      '411102': {quyuName: '源汇区', zb: 40},
125
+      '411103': {quyuName: '郾城区', zb: 60},
126
+      '411104': {quyuName: '召陵区', zb: 40},
127
+      '411121': {quyuName: '舞阳县', zb: 50},
128
+      '411122': {quyuName: '临颍县', zb: 30}}
129
+    for (const key in dataSoure) {
130
+      if (key !== '411100') {
131
+        arr.push({
132
+          name: dataSoure[key].quyuName,
133
+          value: Number(dataSoure[key].zb),
134
+        });
135
+      }
136
+    }
137
+    let mapMax = Math.max(...arr.map(item => item.value))
138
+    let mapMin = Math.min(...arr.map(item => item.value))
139
+    console.log(mapMin, '111')
140
+    console.log(mapMax, '222')
141
+    let chart = echarts.init(document.getElementById("map"));
142
+    echarts.registerMap("luohe", geoJson);
143
+    this.option.series[0].data = arr;
144
+    this.option.visualMap.min = mapMin;
145
+    this.option.visualMap.max = mapMax;
146
+    chart.setOption(this.option);
147
+    this.dqIndex = -1;
148
+    this.setIntervalMap(chart);
149
+    //鼠标移入静止播放
150
+    chart.on("mouseover", (e) => {
151
+      clearInterval(this.timer);
152
+      chart.dispatchAction({
153
+        type: "showTip",
154
+        seriesIndex: 0,
155
+        dataIndex: e.dataIndex,
156
+      });
157
+    });
158
+    chart.on("mouseout", (e) => {
159
+      clearInterval(this.timer);
160
+      //鼠标移出后先把上次的高亮取消
161
+      chart.dispatchAction({
162
+        type: "downplay",
163
+        seriesIndex: 0,
164
+        dataIndex: e.dataIndex,
165
+      });
166
+      this.setIntervalMap(chart);
167
+    });
168
+  },
169
+};
170
+</script>
171
+
172
+<style lang="less" scoped>
173
+.middle-map {
174
+  width: 100%;
175
+  height: 100%;
176
+  .top {
177
+    height: 10%;
178
+    // padding: 50px 50px 0 50px;
179
+    display: flex;
180
+    flex-direction: column;
181
+    justify-content: space-between;
182
+    font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC";
183
+    .total-detail {
184
+      display: flex;
185
+      margin-top: 10px;
186
+      align-items: center;
187
+      justify-content: center;
188
+      .total-value {
189
+        font-size: 41px;
190
+      }
191
+      .total-unit {
192
+        margin-left: 20px;
193
+        font-size: 20px;
194
+      }
195
+    }
196
+    .title {
197
+      font-weight: 650;
198
+      font-style: normal;
199
+      color: #ffffff;
200
+      font-size: 18px;
201
+    }
202
+    .dq {
203
+      font-weight: 650;
204
+      color: #ffcc00;
205
+      font-size: 24px;
206
+      text-align: center;
207
+    }
208
+    .num-container {
209
+      height: 180px;
210
+      margin-top: 20px;
211
+      display: flex;
212
+      justify-content: space-between;
213
+      width: 100%;
214
+      padding: 0 20px;
215
+      .num-item {
216
+        display: flex;
217
+        flex-direction: column;
218
+        justify-content: space-around;
219
+        // width: 28%;
220
+        .label-box {
221
+          display: flex;
222
+          align-items: center;
223
+          // justify-content: space-between;
224
+          .label {
225
+            font-weight: 650;
226
+            color: #ffcc00;
227
+            font-size: 28px;
228
+          }
229
+          .rate {
230
+            margin-left: 30px;
231
+            font-weight: 650;
232
+            color: #ffcc00;
233
+            font-size: 18px;
234
+          }
235
+        }
236
+        .num-box {
237
+          display: flex;
238
+          justify-content: space-between;
239
+          justify-content: left;
240
+          font-family: "Arial-BoldMT", "Arial Bold", "Arial";
241
+          font-weight: 700;
242
+          .money {
243
+            color: #fff;
244
+            font-size: 22px;
245
+            .num {
246
+              color: #ffcc00;
247
+            }
248
+          }
249
+          .rate {
250
+            color: #008000;
251
+            font-size: 32px;
252
+          }
253
+        }
254
+      }
255
+    }
256
+  }
257
+  .bottom {
258
+    height: 90%;
259
+    width: 100%;
260
+  }
261
+  /deep/.map-tooltip {
262
+    font-size: 18px;
263
+    padding: 10px 20px;
264
+    background: url("../../../../static/img/u231.png");
265
+    background-size: 100% 100%;
266
+    .map-tooltip-name {
267
+      color: #00e4ff;
268
+    }
269
+    .map-tooltip-value {
270
+      color: white;
271
+      margin-left: 20px;
272
+    }
273
+  }
274
+}
275
+</style>

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

@@ -0,0 +1,171 @@
1
+<template>
2
+  <div class="body-wrapper">
3
+    <el-form class="form-wrapper" :inline="true" :model="formInline">
4
+      <el-form-item label="审批人">
5
+        <el-input v-model="formInline.interfaceName" placeholder="审批人"></el-input>
6
+      </el-form-item>
7
+      <el-form-item label="活动区域">
8
+        <el-select v-model="formInline.region" placeholder="活动区域" class="cur-select">
9
+          <el-option label="区域一" value="shanghai"></el-option>
10
+          <el-option label="区域二" value="beijing"></el-option>
11
+        </el-select>
12
+      </el-form-item>
13
+      <el-form-item>
14
+        <el-button type="primary" @click="onSubmit">查询</el-button>
15
+      </el-form-item>
16
+    </el-form>
17
+    <el-table :data="tableData" style="background: #2a2a2a;border-color: #333;">
18
+      <el-table-column v-for="(item, index) in columns" :key="index" :label="item.label" :prop="item.key">
19
+      </el-table-column>
20
+      <el-table-column
21
+        label="操作"
22
+        width="100">
23
+        <template slot-scope="scope">
24
+          <el-button v-if="scope.row && scope.row.applyType === '1'" @click="handleDetail(scope.row)" type="text" size="small">查看详情</el-button>
25
+        </template>
26
+      </el-table-column>
27
+    </el-table>
28
+    <div class="table-pagination">
29
+      <el-pagination :background="false" layout="total, prev, pager, next" :total="total" @current-change="handlePageChange"
30
+                     :current-page.sync="pageNum" :page-size.sync="pageSize">
31
+      </el-pagination>
32
+    </div>
33
+    <el-dialog
34
+      title="详情"
35
+      :visible.sync="dialogVisible"
36
+      width="60%"
37
+      custom-class="audit-dialog">
38
+      <el-input type="textarea" disabled v-model="selRow.createTime"></el-input>
39
+    </el-dialog>
40
+  </div>
41
+</template>
42
+<script>
43
+import api from "@/api/audit.js";
44
+
45
+export default {
46
+  components: {},
47
+  data() {
48
+    return {
49
+      columns: [
50
+        {
51
+          label: '日期',
52
+          key: 'resourceName'
53
+        },
54
+        {
55
+          label: '操作',
56
+          key: 'resourceType'
57
+        },
58
+        {
59
+          label: '用户',
60
+          key: 'userName'
61
+        },
62
+        {
63
+          label: '详情',
64
+          key: 'applyTypeText'
65
+        },
66
+        {
67
+          label: 'IP地址',
68
+          key: 'applyTypeText'
69
+        }
70
+      ],
71
+      tableData: [],
72
+      total: 0,
73
+      pageSize: 10,
74
+      pageNum: 1,
75
+      radio: '2',
76
+      dialogVisible: false,
77
+      selRow: {},
78
+      formInline: {
79
+        interfaceName: '',
80
+        region: ''
81
+      }
82
+    }
83
+  },
84
+  mounted() {
85
+    this.getTableData()
86
+  },
87
+  watch: {
88
+  },
89
+  methods: {
90
+    handlePageChange() {
91
+      this.getTableData()
92
+    },
93
+    handleDetail(row) {
94
+      this.selRow = row
95
+      this.dialogVisible = true
96
+    },
97
+    getTableData() {
98
+      const {pageNum, pageSize, searchWords} = this
99
+      api.applyList({pageNum, pageSize, interfaceName: this.formInline.interfaceName}).then(res => {
100
+        this.tableData = res.data.records
101
+        this.total = res.data.total
102
+      })
103
+    },
104
+    onSubmit() {
105
+      console.log('submit!');
106
+    }
107
+  }
108
+}
109
+</script>
110
+<style  lang="scss" scoped>
111
+.form-wrapper {
112
+  margin-bottom: 20px;
113
+}
114
+/deep/ .el-input__inner {
115
+  background: #2d3744;
116
+  border: none;
117
+  border-radius: 0;
118
+}
119
+/deep/ .el-select {
120
+  height: 40px;
121
+  .el-input__inner {
122
+    height: 40px;
123
+  }
124
+  .el-input__prefix, .el-input__suffix {
125
+    height: 40px;
126
+  }
127
+
128
+  /* 下面设置右侧按钮居中 */
129
+  .el-input__suffix {
130
+    top: 0px;
131
+    display: flex;
132
+    justify-content: center;
133
+    align-items: center;
134
+    flex-wrap: nowrap;
135
+    flex-direction: row;
136
+    align-content: flex-start;
137
+  }
138
+  /* 输入框加上上下边是 32px + 2px =34px */
139
+  .el-input__icon {
140
+    line-height: 0px;
141
+  }
142
+}
143
+/deep/ .form-wrapper .el-button {
144
+  background: linear-gradient(90deg,#0158d9,#3c97e4);
145
+  width: 100px;
146
+  height: 40px;
147
+}
148
+.body-wrapper {
149
+  padding: 20px;
150
+  background: #0c0c0c;
151
+  .button-block{
152
+    text-align: right;
153
+    margin-bottom: 20px;
154
+  }
155
+  .table-pagination{
156
+    text-align: right;
157
+  }
158
+}
159
+.audit-dialog{
160
+  .mg-bt{
161
+    margin-bottom: 24px;
162
+  }
163
+  .label{
164
+    text-align: right;
165
+  }
166
+}
167
+/deep/ .el-textarea.is-disabled .el-textarea__inner {
168
+  background: #2a2a2a;
169
+  color: #fff;
170
+}
171
+</style>

+ 4 - 1
src/pages/index/layouts/indexLayout.vue

@@ -38,6 +38,9 @@ export default {
38 38
       menu: [
39 39
         {name: 'demo1', url: '/demo1'},
40 40
         {name: 'demo2', url: '/demo2'},
41
+        {name: 'bmap', url: '/bmap'},
42
+        {name: 'hot_map', url: '/hot_map'},
43
+        {name: 'heat_map', url: '/heat_map'},
41 44
         {name: '静态资源', url: '/static_resource'},
42 45
         {name: '记录查询', url: '/record_query'},
43 46
         {name: '停车运行监管', url: '/park_monitor'},
@@ -63,7 +66,7 @@ export default {
63 66
         {name: '运营停车场主题', url: '/parking_operate'},
64 67
         {name: '区域停车主题', url: '/parking_area'},
65 68
         {name: '设备运营主题', url: '/service_operations'},
66
-        {name: 'mapp', url: '/amap'},
69
+        {name: '操作日志', url: '/operation_log'},
67 70
       ]
68 71
     }
69 72
   },

+ 13 - 3
src/router/index.js

@@ -25,6 +25,16 @@ export default new Router({
25 25
           path: "/demo2",
26 26
           component: () => import("../pages/index/components/demo2.vue")
27 27
         },
28
+        {
29
+          name: "hot_map",
30
+          path: "/hot_map",
31
+          component: () => import("../pages/index/components/hot_map.vue")
32
+        },
33
+        {
34
+          name: "heat_map",
35
+          path: "/heat_map",
36
+          component: () => import("../pages/index/components/heat_map.vue")
37
+        },
28 38
         {
29 39
           name: "static_resource",
30 40
           path: "/static_resource",
@@ -160,9 +170,9 @@ export default new Router({
160 170
           component: () => import("../pages/index/components/service_operations.vue")
161 171
         },
162 172
         {
163
-          name: "amap",
164
-          path: "/amap",
165
-          component: () => import("../pages/index/components/amap.vue")
173
+          name: "operation_log",
174
+          path: "/operation_log",
175
+          component: () => import("../pages/index/components/operation_log.vue")
166 176
         },
167 177
       ]
168 178
     }