Selaa lähdekoodia

Merge branch 'runData' into dev

huoyi 1 kuukausi sitten
vanhempi
commit
7799f8fcd9

+ 11 - 10
src/views/runData/dailyRunData/index.vue

@@ -53,11 +53,11 @@
53 53
       <el-table-column label="一楼" align="center" prop="floor1CenterStaff" />
54 54
       <el-table-column label="负一楼" align="center" prop="floorB1WestStaff" />
55 55
       <el-table-column label="国内货站" align="center" prop="domesticCargo" />
56
-      <el-table-column label="道口" align="center" prop="domesticGate" />
56
+      <el-table-column label="国内道口" align="center" prop="domesticGate" />
57 57
       <el-table-column label="南侧车检" align="center" prop="southVehicleCheck" />
58 58
       <el-table-column label="防爆" align="center" prop="domesticBomb" />
59 59
       <el-table-column label="国际货站" align="center" prop="intlCargo" />
60
-      <el-table-column label="道口" align="center" prop="intlGate" />
60
+      <el-table-column label="国际道口" align="center" prop="intlGate" />
61 61
       <el-table-column label="北侧车检" align="center" prop="northVehicleCheck" />
62 62
       <el-table-column label="防爆" align="center" prop="intlBomb" />
63 63
       <el-table-column label="操作" width="180px" align="center" class-name="small-padding fixed-width">
@@ -134,8 +134,8 @@
134 134
             <el-form-item label="国内货站" prop="domesticCargo">
135 135
               <el-input-number :precision="0" v-model="form.domesticCargo" :min="0" placeholder="请输入国内货站数据" style="width: 100%" />
136 136
             </el-form-item>
137
-            <el-form-item label="道口" prop="domesticGate">
138
-              <el-input-number :precision="0" v-model="form.domesticGate" :min="0" placeholder="请输入道口数据" style="width: 100%" />
137
+            <el-form-item label="国内道口" prop="domesticGate">
138
+              <el-input-number :precision="0" v-model="form.domesticGate" :min="0" placeholder="请输入国内道口数据" style="width: 100%" />
139 139
             </el-form-item>
140 140
             <el-form-item label="南侧车检" prop="southVehicleCheck">
141 141
               <el-input-number :precision="0" v-model="form.southVehicleCheck" :min="0" placeholder="请输入南侧车检数据"
@@ -147,8 +147,8 @@
147 147
             <el-form-item label="国际货站" prop="intlCargo">
148 148
               <el-input-number :precision="0" v-model="form.intlCargo" :min="0" placeholder="请输入国际货站数据" style="width: 100%" />
149 149
             </el-form-item>
150
-            <el-form-item label="道口" prop="intlGate">
151
-              <el-input-number :precision="0" v-model="form.intlGate" :min="0" placeholder="请输入道口数据" style="width: 100%" />
150
+            <el-form-item label="国际道口" prop="intlGate">
151
+              <el-input-number :precision="0" v-model="form.intlGate" :min="0" placeholder="请输入国际道口数据" style="width: 100%" />
152 152
             </el-form-item>
153 153
             <el-form-item label="北侧车检" prop="northVehicleCheck">
154 154
               <el-input-number :precision="0" v-model="form.northVehicleCheck" :min="0" placeholder="请输入北侧车检数据"
@@ -301,8 +301,8 @@ const data = reactive({
301 301
       { type: "integer", message: "国内货站数据必须为整数", trigger: "blur" }
302 302
     ],
303 303
     domesticGate: [
304
-      { required: true, message: "道口数据不能为空", trigger: "blur" },
305
-      { type: "integer", message: "道口数据必须为整数", trigger: "blur" }
304
+      { required: true, message: "国内道口数据不能为空", trigger: "blur" },
305
+      { type: "integer", message: "国内道口数据必须为整数", trigger: "blur" }
306 306
     ],
307 307
     southVehicleCheck: [
308 308
       { required: true, message: "南侧车检数据不能为空", trigger: "blur" },
@@ -317,8 +317,8 @@ const data = reactive({
317 317
       { type: "integer", message: "国际货站数据必须为整数", trigger: "blur" }
318 318
     ],
319 319
     intlGate: [
320
-      { required: true, message: "道口数据不能为空", trigger: "blur" },
321
-      { type: "integer", message: "道口数据必须为整数", trigger: "blur" }
320
+      { required: true, message: "国际道口数据不能为空", trigger: "blur" },
321
+      { type: "integer", message: "国际道口数据必须为整数", trigger: "blur" }
322 322
     ],
323 323
     northVehicleCheck: [
324 324
       { required: true, message: "北侧车检数据不能为空", trigger: "blur" },
@@ -389,6 +389,7 @@ function handleQuery() {
389 389
 
390 390
 /** 重置按钮操作 */
391 391
 function resetQuery() {
392
+  queryParams.value.recordDate = null
392 393
   proxy.resetForm("queryRef")
393 394
   handleQuery()
394 395
 }

+ 15 - 40
src/views/runData/discouragePowerBanksData/index.vue

@@ -7,17 +7,11 @@
7 7
           style="width: 200px" />
8 8
       </el-form-item>
9 9
       <el-form-item label="时间段" prop="timeSlot">
10
-        <el-time-picker
11
-          v-model="queryParams.timeSlot"
12
-          is-range
13
-          range-separator="-"
14
-          start-placeholder="开始时间"
15
-          end-placeholder="结束时间"
16
-          value-format="HH:mm"
17
-          format="HH:mm"
18
-          placeholder="请选择时间段"
19
-          clearable
20
-          style="width: 200px" />
10
+        <el-select v-model="queryParams.timeSlot" placeholder="请选择时间段" clearable style="width: 200px">
11
+          <el-option label="00:00-08:00" value="00:00-08:00" />
12
+          <el-option label="08:00-17:00" value="08:00-17:00" />
13
+          <el-option label="17:00-24:00" value="17:00-24:00" />
14
+        </el-select>
21 15
       </el-form-item>
22 16
       <el-form-item>
23 17
         <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@@ -96,16 +90,11 @@
96 90
           </el-col>
97 91
           <el-col :span="12">
98 92
             <el-form-item label="时间段" prop="timeSlot">
99
-              <el-time-picker
100
-                v-model="form.timeSlot"
101
-                is-range
102
-                range-separator="-"
103
-                start-placeholder="开始时间"
104
-                end-placeholder="结束时间"
105
-                value-format="HH:mm"
106
-                format="HH:mm"
107
-                placeholder="请选择时间段"
108
-                style="width: 100%" />
93
+              <el-select v-model="form.timeSlot" placeholder="请选择时间段" style="width: 100%">
94
+                <el-option label="00:00-08:00" value="00:00-08:00" />
95
+                <el-option label="08:00-17:00" value="08:00-17:00" />
96
+                <el-option label="17:00-24:00" value="17:00-24:00" />
97
+              </el-select>
109 98
             </el-form-item>
110 99
           </el-col>
111 100
         </el-row>
@@ -304,11 +293,7 @@ const { queryParams, form, rules } = toRefs(data)
304 293
 /** 查询劝阻充电宝数据列表 */
305 294
 function getList() {
306 295
   loading.value = true
307
-  const params = { ...queryParams.value }
308
-  if (params.timeSlot && Array.isArray(params.timeSlot)) {
309
-    params.timeSlot = params.timeSlot.join('-')
310
-  }
311
-  listDiscouragePowerBanksData(params).then(response => {
296
+  listDiscouragePowerBanksData(queryParams.value).then(response => {
312 297
     discouragePowerBanksDataList.value = response.rows
313 298
     total.value = response.total
314 299
     loading.value = false
@@ -378,12 +363,7 @@ function handleUpdate(row) {
378 363
   reset()
379 364
   const _id = row.id || ids.value
380 365
   getDiscouragePowerBanksData(_id).then(response => {
381
-    const data = response.data
382
-    // 转换时间段字符串为数组格式
383
-    if (data.timeSlot && typeof data.timeSlot === 'string' && data.timeSlot.includes('-')) {
384
-      data.timeSlot = data.timeSlot.split('-')
385
-    }
386
-    form.value = data
366
+    form.value = response.data
387 367
     open.value = true
388 368
     title.value = "修改劝阻充电宝数据"
389 369
   })
@@ -393,19 +373,14 @@ function handleUpdate(row) {
393 373
 function submitForm() {
394 374
   proxy.$refs["discouragePowerBanksDataRef"].validate(valid => {
395 375
     if (valid) {
396
-      const submitData = { ...form.value }
397
-      // 转换时间段为字符串格式 08:00-17:00
398
-      if (submitData.timeSlot && Array.isArray(submitData.timeSlot)) {
399
-        submitData.timeSlot = submitData.timeSlot.join('-')
400
-      }
401
-      if (submitData.id != null) {
402
-        updateDiscouragePowerBanksData(submitData).then(response => {
376
+      if (form.value.id != null) {
377
+        updateDiscouragePowerBanksData(form.value).then(response => {
403 378
           proxy.$modal.msgSuccess("修改成功")
404 379
           open.value = false
405 380
           getList()
406 381
         })
407 382
       } else {
408
-        addDiscouragePowerBanksData(submitData).then(response => {
383
+        addDiscouragePowerBanksData(form.value).then(response => {
409 384
           proxy.$modal.msgSuccess("新增成功")
410 385
           open.value = false
411 386
           getList()

+ 30 - 6
src/views/runData/runScreen/index.vue

@@ -477,7 +477,7 @@ function initCharts() {
477 477
     seizePieChartInstance = echarts.init(seizePieChart.value)
478 478
     const seizureData = seizureCategoryData.value || []
479 479
     seizePieChartInstance.setOption({
480
-      tooltip: { trigger: 'item' },
480
+      tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
481 481
       legend: { orient: 'vertical', right: 10, top: 'center' },
482 482
       series: [{
483 483
         name: '查获数据',
@@ -491,6 +491,9 @@ function initCharts() {
491 491
             shadowOffsetX: 0,
492 492
             shadowColor: 'rgba(0, 0, 0, 0.5)'
493 493
           }
494
+        },
495
+        label: {
496
+          formatter: '{b}: {c} ({d}%)'
494 497
         }
495 498
       }]
496 499
     })
@@ -508,7 +511,12 @@ function initCharts() {
508 511
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
509 512
         return item ? item.grandTotal : 0
510 513
       }),
511
-      type: 'bar'
514
+      type: 'bar',
515
+      label: {
516
+        show: true,
517
+        position: 'top',
518
+        formatter: '{c}'
519
+      }
512 520
     }))
513 521
     teamSeizeBarChartInstance.setOption({
514 522
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
@@ -534,7 +542,12 @@ function initCharts() {
534 542
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
535 543
         return item ? item.t1Total : 0
536 544
       }),
537
-      type: 'bar'
545
+      type: 'bar',
546
+      label: {
547
+        show: true,
548
+        position: 'top',
549
+        formatter: '{c}'
550
+      }
538 551
     }))
539 552
     t1TeamBarChartInstance.setOption({
540 553
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
@@ -560,7 +573,12 @@ function initCharts() {
560 573
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
561 574
         return item ? item.t2Total : 0
562 575
       }),
563
-      type: 'bar'
576
+      type: 'bar',
577
+      label: {
578
+        show: true,
579
+        position: 'top',
580
+        formatter: '{c}'
581
+      }
564 582
     }))
565 583
     t2TeamBarChartInstance.setOption({
566 584
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
@@ -590,7 +608,7 @@ function initCharts() {
590 608
     ].filter(item => item.value > 0)
591 609
     
592 610
     powerBankPieChartInstance.setOption({
593
-      tooltip: { trigger: 'item' },
611
+      tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
594 612
       legend: { orient: 'vertical', right: 10, top: 'center' },
595 613
       series: [{
596 614
         name: '不合格充电宝',
@@ -604,6 +622,9 @@ function initCharts() {
604 622
             shadowOffsetX: 0,
605 623
             shadowColor: 'rgba(0, 0, 0, 0.5)'
606 624
           }
625
+        },
626
+        label: {
627
+          formatter: '{b}: {c} ({d}%)'
607 628
         }
608 629
       }]
609 630
     })
@@ -620,7 +641,7 @@ function initCharts() {
620 641
     ].filter(item => item.value > 0)
621 642
     
622 643
     waitingAreaPieChartInstance.setOption({
623
-      tooltip: { trigger: 'item' },
644
+      tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
624 645
       legend: { orient: 'vertical', right: 10, top: 'center' },
625 646
       series: [{
626 647
         name: '禁限带物品',
@@ -634,6 +655,9 @@ function initCharts() {
634 655
             shadowOffsetX: 0,
635 656
             shadowColor: 'rgba(0, 0, 0, 0.5)'
636 657
           }
658
+        },
659
+        label: {
660
+          formatter: '{b}: {c} ({d}%)'
637 661
         }
638 662
       }]
639 663
     })

+ 9 - 9
src/views/runData/seizeData/index.vue

@@ -8,7 +8,7 @@
8 8
       </el-form-item>
9 9
       <el-form-item label="班次" prop="shift">
10 10
         <el-select v-model="queryParams.shift" placeholder="请选择班次" clearable style="width: 200px">
11
-          <el-option v-for="item in shiftOptions" :key="item.value" :label="item.label" :value="item.value" />
11
+          <el-option v-for="item in shiftOptions" :key="item.value" :label="item.label" :value="item.label" />
12 12
         </el-select>
13 13
       </el-form-item>
14 14
       <el-form-item label="当班大队" prop="brigade">
@@ -81,7 +81,9 @@
81 81
       <el-table-column label="T2其他" align="center" prop="t2Other" />
82 82
       <el-table-column label="T2总数" align="center" prop="t2Total" />
83 83
       
84
-      <el-table-column label="T1总数+T2总数" align="center" prop="total" />
84
+      <el-table-column label="T1总数+T2总数" align="center" prop="grandTotal" >
85
+        
86
+      </el-table-column>
85 87
       
86 88
       <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width" fixed="right">  
87 89
         <template #default="scope">
@@ -229,8 +231,8 @@
229 231
             </el-form-item>
230 232
           </el-col>
231 233
           <el-col :span="8">
232
-            <el-form-item label="T1总数+T2总数" prop="total">
233
-              <el-input v-model="form.total" placeholder="自动计算" readonly style="width: 100%" />
234
+            <el-form-item label="T1总数+T2总数" prop="grandTotal">
235
+              <el-input v-model="form.grandTotal" placeholder="自动计算" readonly style="width: 100%" />
234 236
             </el-form-item>
235 237
           </el-col>
236 238
         </el-row>
@@ -276,6 +278,7 @@ import { listDept } from '@/api/system/dept'
276 278
 import { getToken } from '@/utils/auth'
277 279
 
278 280
 const { proxy } = getCurrentInstance()
281
+const { shift } = proxy.useDict('shift')
279 282
 
280 283
 const seizeDataList = ref([])
281 284
 const open = ref(false)
@@ -288,10 +291,7 @@ const total = ref(0)
288 291
 const title = ref("")
289 292
 
290 293
 // 班次字典
291
-const shiftOptions = [
292
-  { value: '早班', label: '早班' },
293
-  { value: '晚班', label: '晚班' }
294
-]
294
+const shiftOptions = shift
295 295
 
296 296
 // 大队选项
297 297
 const brigadeOptions = ref([])
@@ -486,7 +486,7 @@ function reset() {
486 486
     t2Illegal: null,
487 487
     t2Other: null,
488 488
     t2Total: null,
489
-    total: null
489
+    grandTotal: null
490 490
   }
491 491
   proxy.resetForm("seizeDataRef")
492 492
 }