Browse Source

接口联调

duwendi 1 year ago
parent
commit
feb0b05233
2 changed files with 175 additions and 147 deletions
  1. 20 0
      src/api/audit.js
  2. 155 147
      src/pages/index/components/lead_system.vue

+ 20 - 0
src/api/audit.js

@@ -181,4 +181,24 @@ export default {
181 181
   deletePtshpz(params) {
182 182
     return axios.post('/opt/platform/merchant/delete', params)
183 183
   },
184
+  // 领导驾驶舱_停车场数量和分布
185
+  leadSystem1(params) {
186
+    return axios.post('/opt/lead/system/stat1', params)
187
+  },
188
+  // 领导驾驶舱_停车位利用率
189
+  leadSystem2(params) {
190
+    return axios.post('/opt/lead/system/stat2', params)
191
+  },
192
+  // 领导驾驶舱_停车时长分布
193
+  leadSystem3(params) {
194
+    return axios.post('/opt/lead/system/stat3', params)
195
+  },
196
+  // 领导驾驶舱_停车场运营效率
197
+  leadSystem4(params) {
198
+    return axios.post('/opt/lead/system/stat4', params)
199
+  },
200
+  // 领导驾驶舱_停车营收分析
201
+  leadSystem5(params) {
202
+    return axios.post('/opt/lead/system/stat5', params)
203
+  }
184 204
 }

+ 155 - 147
src/pages/index/components/lead_system.vue

@@ -2,73 +2,96 @@
2 2
   <div class="body-wrapper">
3 3
     <el-tabs  v-model="activeName">
4 4
       <el-tab-pane label="停车业务分析" name="停车业务分析">
5
-        <el-form class="form-wrapper" :inline="true" :model="formInline1" style="margin-bottom: 20px;">
6
-          <el-row>
7
-            <el-col :span="8">
8
-              <el-form-item label="订单号:">
9
-                <el-input v-model="formInline1.orderCode" placeholder="请输入"></el-input>
10
-              </el-form-item>
11
-            </el-col>
12
-            <el-col :span="8">
13
-              <el-form-item label="日期:">
14
-                <el-date-picker
15
-                  v-model="formInline1.time"
16
-                  type="daterange"
17
-                  align="right"
18
-                  unlink-panels
19
-                  range-separator="-"
20
-                  value-format="yyyy-MM-dd HH:mm:ss"
21
-                  start-placeholder="开始日期"
22
-                  end-placeholder="结束日期">
23
-                </el-date-picker>
24
-              </el-form-item>
25
-            </el-col>
26
-            <el-col :span="8">
27
-              <el-form-item>
28
-                <el-button type="primary" class="query-btn" @click="onSubmit1">查询</el-button>
29
-              </el-form-item>
30
-            </el-col>
31
-          </el-row>
32
-        </el-form>
5
+<!--        <el-form class="form-wrapper" :inline="true" :model="formInline1" style="margin-bottom: 20px;">-->
6
+<!--          <el-row>-->
7
+<!--            <el-col :span="8">-->
8
+<!--              <el-form-item label="订单号:">-->
9
+<!--                <el-input v-model="formInline1.orderCode" placeholder="请输入"></el-input>-->
10
+<!--              </el-form-item>-->
11
+<!--            </el-col>-->
12
+<!--            <el-col :span="8">-->
13
+<!--              <el-form-item label="日期:">-->
14
+<!--                <el-date-picker-->
15
+<!--                  v-model="formInline1.time"-->
16
+<!--                  type="daterange"-->
17
+<!--                  align="right"-->
18
+<!--                  unlink-panels-->
19
+<!--                  range-separator="-"-->
20
+<!--                  value-format="yyyy-MM-dd HH:mm:ss"-->
21
+<!--                  start-placeholder="开始日期"-->
22
+<!--                  end-placeholder="结束日期">-->
23
+<!--                </el-date-picker>-->
24
+<!--              </el-form-item>-->
25
+<!--            </el-col>-->
26
+<!--            <el-col :span="8">-->
27
+<!--              <el-form-item>-->
28
+<!--                <el-button type="primary" class="query-btn" @click="onSubmit1">查询</el-button>-->
29
+<!--              </el-form-item>-->
30
+<!--            </el-col>-->
31
+<!--          </el-row>-->
32
+<!--        </el-form>-->
33
+        <h4>停车场数量和分布</h4>
34
+        <br>
33 35
         <el-table :data="tableData1">
34 36
           <el-table-column v-for="(item, index) in columns1" :key="index" :label="item.label" :prop="item.key">
35 37
           </el-table-column>
36 38
         </el-table>
37
-        <div class="table-pagination">
38
-          <el-pagination layout="prev, pager, next" :total="total1" @current-change="handlePageChange1"
39
-                         :current-page.sync="pageNum1" :page-size.sync="pageSize1">
40
-          </el-pagination>
41
-        </div>
39
+<!--        <div class="table-pagination">-->
40
+<!--          <el-pagination layout="prev, pager, next" :total="total1" @current-change="handlePageChange1"-->
41
+<!--                         :current-page.sync="pageNum1" :page-size.sync="pageSize1">-->
42
+<!--          </el-pagination>-->
43
+<!--        </div>-->
44
+        <br>
45
+        <h4>停车位利用率</h4>
46
+        <br>
47
+        <el-table :data="tableData2" height="300px">
48
+          <el-table-column v-for="(item, index) in columns2" :key="index" :label="item.label" :prop="item.key">
49
+          </el-table-column>
50
+        </el-table>
51
+        <br>
52
+        <h4>停车时长分布</h4>
53
+        <br>
54
+        <el-table :data="tableData3" height="300px">
55
+          <el-table-column v-for="(item, index) in columns3" :key="index" :label="item.label" :prop="item.key">
56
+          </el-table-column>
57
+        </el-table>
58
+        <br>
59
+        <h4>停车场运营效率</h4>
60
+        <br>
61
+        <el-table :data="tableData4" height="300px">
62
+          <el-table-column v-for="(item, index) in columns4" :key="index" :label="item.label" :prop="item.key">
63
+          </el-table-column>
64
+        </el-table>
42 65
       </el-tab-pane>
43 66
       <el-tab-pane label="停车营收分析" name="停车营收分析">
44
-        <el-form class="form-wrapper" :inline="true" :model="formInline2" style="margin-bottom: 20px;">
45
-          <el-row>
46
-            <el-col :span="8">
47
-              <el-form-item label="订单号: ">
48
-                <el-input v-model="formInline2.orderCode" placeholder="请输入"></el-input>
49
-              </el-form-item>
50
-            </el-col>
51
-            <el-col :span="8">
52
-              <el-form-item label="车牌号: ">
53
-                <el-input v-model="formInline2.plateNo" placeholder="请输入"></el-input>
54
-              </el-form-item>
55
-            </el-col>
56
-            <el-col :span="8">
57
-              <el-form-item>
58
-                <el-button type="primary" class="query-btn" @click="onSubmit2">查询</el-button>
59
-              </el-form-item>
60
-            </el-col>
61
-          </el-row>
62
-        </el-form>
63
-        <el-table :data="tableData2">
64
-          <el-table-column v-for="(item, index) in columns2" :key="index" :label="item.label" :prop="item.key">
67
+<!--        <el-form class="form-wrapper" :inline="true" :model="formInline2" style="margin-bottom: 20px;">-->
68
+<!--          <el-row>-->
69
+<!--            <el-col :span="8">-->
70
+<!--              <el-form-item label="订单号: ">-->
71
+<!--                <el-input v-model="formInline2.orderCode" placeholder="请输入"></el-input>-->
72
+<!--              </el-form-item>-->
73
+<!--            </el-col>-->
74
+<!--            <el-col :span="8">-->
75
+<!--              <el-form-item label="车牌号: ">-->
76
+<!--                <el-input v-model="formInline2.plateNo" placeholder="请输入"></el-input>-->
77
+<!--              </el-form-item>-->
78
+<!--            </el-col>-->
79
+<!--            <el-col :span="8">-->
80
+<!--              <el-form-item>-->
81
+<!--                <el-button type="primary" class="query-btn" @click="onSubmit2">查询</el-button>-->
82
+<!--              </el-form-item>-->
83
+<!--            </el-col>-->
84
+<!--          </el-row>-->
85
+<!--        </el-form>-->
86
+        <el-table :data="tableData5" >
87
+          <el-table-column v-for="(item, index) in columns5" :key="index" :label="item.label" :prop="item.key">
65 88
           </el-table-column>
66 89
         </el-table>
67
-        <div class="table-pagination">
68
-          <el-pagination layout="prev, pager, next" :total="total1" @current-change="handlePageChange2"
69
-                         :current-page.sync="pageNum2" :page-size.sync="pageSize2">
70
-          </el-pagination>
71
-        </div>
90
+<!--        <div class="table-pagination">-->
91
+<!--          <el-pagination layout="prev, pager, next" :total="total1" @current-change="handlePageChange2"-->
92
+<!--                         :current-page.sync="pageNum2" :page-size.sync="pageSize2">-->
93
+<!--          </el-pagination>-->
94
+<!--        </div>-->
72 95
       </el-tab-pane>
73 96
 <!--      <el-tab-pane label="会员数据分析" name="会员数据分析">-->
74 97
 <!--        <el-form class="form-wrapper" :inline="true" :model="formInline3" style="margin-bottom: 20px;">-->
@@ -116,35 +139,15 @@ export default {
116 139
   components: {},
117 140
   data() {
118 141
     return {
119
-      activeName: '停车卡订单查询',
142
+      activeName: '停车业务分析',
120 143
       columns1: [
121 144
         {
122
-          label: '订单号',
123
-          key: 'orderCode'
124
-        },
125
-        {
126
-          label: '支付日期',
127
-          key: ''
128
-        },
129
-        {
130
-          label: '支付金额',
131
-          key: ''
132
-        },
133
-        {
134
-          label: '泊位号',
135
-          key: ''
136
-        },
137
-        {
138
-          label: '车牌号',
139
-          key: ''
140
-        },
141
-        {
142
-          label: '入场日期',
143
-          key: ''
145
+          label: '区域',
146
+          key: 'statName'
144 147
         },
145 148
         {
146
-          label: '出场日期',
147
-          key: ''
149
+          label: '停车场数量',
150
+          key: 's1'
148 151
         }
149 152
       ],
150 153
       tableData1: [],
@@ -157,23 +160,23 @@ export default {
157 160
       },
158 161
       columns2: [
159 162
         {
160
-          label: '欠费订单号',
161
-          key: ''
163
+          label: '停车场',
164
+          key: 'statName'
162 165
         },
163 166
         {
164
-          label: '车牌号',
165
-          key: ''
167
+          label: '总停车位数',
168
+          key: 's1'
166 169
         },
167 170
         {
168
-          label: '修改日期',
169
-          key: ''
171
+          label: '使用停车位数',
172
+          key: 's2'
170 173
         },
171 174
         {
172
-          label: '欠费金额',
173
-          key: ''
175
+          label: '利用率(%)',
176
+          key: 's3'
174 177
         }
175 178
       ],
176
-      tableData2: [],
179
+      tableData5: [],
177 180
       total2: 0,
178 181
       pageSize2: 10,
179 182
       pageNum2: 1,
@@ -183,21 +186,35 @@ export default {
183 186
       },
184 187
       columns3: [
185 188
         {
186
-          label: '订单号',
187
-          key: ''
189
+          label: '停车场',
190
+          key: 'statName'
188 191
         },
189 192
         {
190
-          label: '泊位号',
191
-          key: ''
193
+          label: '0-1小时',
194
+          key: 's1'
192 195
         },
193 196
         {
194
-          label: '车牌号',
195
-          key: ''
197
+          label: '1-2小时',
198
+          key: 's2'
196 199
         },
197 200
         {
198
-          label: '应付金额',
199
-          key: ''
201
+          label: '2-3小时',
202
+          key: 's3'
200 203
         },
204
+        {
205
+          label: '3小时以上',
206
+          key: 's4'
207
+        },
208
+      ],
209
+      columns4: [
210
+        {
211
+          label: '停车场',
212
+          key: 'statName'
213
+        },
214
+        {
215
+          label: '平均停车时间(小时)',
216
+          key: 's1'
217
+        }
201 218
       ],
202 219
       tableData3: [],
203 220
       total3: 0,
@@ -208,24 +225,6 @@ export default {
208 225
         berthCode:'',
209 226
         plateNo: ''
210 227
       },
211
-      columns4: [
212
-        {
213
-          label: '订单号',
214
-          key: ''
215
-        },
216
-        {
217
-          label: '泊位号',
218
-          key: ''
219
-        },
220
-        {
221
-          label: '车牌号',
222
-          key: ''
223
-        },
224
-        {
225
-          label: '预付金额',
226
-          key: ''
227
-        },
228
-      ],
229 228
       tableData4: [],
230 229
       total4: 0,
231 230
       pageSize4: 10,
@@ -234,13 +233,25 @@ export default {
234 233
         orderCode:'',
235 234
         berthCode:'',
236 235
         plateNo: ''
237
-      }
236
+      },
237
+      columns5: [
238
+        {
239
+          label: '月份',
240
+          key: 'statName'
241
+        },
242
+        {
243
+          label: '营收(元)',
244
+          key: 's1'
245
+        }
246
+      ],
238 247
     }
239 248
   },
240 249
   mounted() {
241
-    // this.getTableData1()
242
-    // this.getTableData2()
243
-    // this.getTableData3()
250
+    this.getTableData1()
251
+    this.getTableData2()
252
+    this.getTableData3()
253
+    this.getTableData4()
254
+    this.getTableData5()
244 255
   },
245 256
   watch: {
246 257
   },
@@ -265,41 +276,38 @@ export default {
265 276
       this.getTableData1()
266 277
     },
267 278
     getTableData1() {
268
-      const {pageNum1, pageSize1} = this
269
-      api.carListByPage({current: pageNum1, size: pageSize1, ...this.formInline1}).then(res => {
270
-        this.tableData1 = (res.data.records || []).map(item => ({...item, carType: dictionary.typeMap[item.carType]}))
271
-        this.total1 = res.data.total
279
+      api.leadSystem1().then(res => {
280
+        this.tableData1 = (res.data || [])
272 281
       })
273 282
     },
274
-    handlePageChange2() {
275
-      this.getTableData2()
276
-    },
277 283
     getTableData2() {
278
-      const {pageNum2, pageSize2} = this
279
-      api.gjListByPage({current: pageNum2, size: pageSize2, ...this.formInline2}).then(res => {
280
-        this.tableData2 = res.data.records || []
281
-        this.total2 = res.data.total
284
+      api.leadSystem2().then(res => {
285
+        this.tableData2 = res.data || []
286
+      })
287
+    },
288
+    getTableData3() {
289
+      api.leadSystem3().then(res => {
290
+        this.tableData3 = res.data || []
291
+      })
292
+    },
293
+    getTableData4() {
294
+      api.leadSystem4().then(res => {
295
+        this.tableData4 = res.data || []
296
+      })
297
+    },
298
+    getTableData5() {
299
+      api.leadSystem5().then(res => {
300
+        this.tableData5 = res.data || []
282 301
       })
283 302
     },
284 303
     handlePageChange3() {
285 304
       this.getTableData3()
286 305
     },
287
-    getTableData3() {
288
-      const {pageNum3, pageSize3} = this
289
-      api.tcjlListByPage({current: pageNum3, size: pageSize3, ...this.formInline3}).then(res => {
290
-        this.tableData3 = res.data.records || []
291
-        this.total3 = res.data.total
292
-      })
306
+    handlePageChange5() {
307
+      this.getTableData5()
293 308
     },
294 309
     handlePageChange4() {
295 310
       this.getTableData3()
296
-    },
297
-    getTableData4() {
298
-      const {pageNum4, pageSize4} = this
299
-      api.tcjlListByPage({current: pageNum4, size: pageSize4, ...this.formInline4}).then(res => {
300
-        this.tableData4 = res.data.records || []
301
-        this.total4 = res.data.total
302
-      })
303 311
     }
304 312
   }
305 313
 }