Просмотр исходного кода

Merge branch 'runData' into dev

huoyi 1 месяц назад
Родитель
Сommit
7799f8fcd9

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

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

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

@@ -7,17 +7,11 @@
7
           style="width: 200px" />
7
           style="width: 200px" />
8
       </el-form-item>
8
       </el-form-item>
9
       <el-form-item label="时间段" prop="timeSlot">
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
       </el-form-item>
15
       </el-form-item>
22
       <el-form-item>
16
       <el-form-item>
23
         <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
17
         <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@@ -96,16 +90,11 @@
96
           </el-col>
90
           </el-col>
97
           <el-col :span="12">
91
           <el-col :span="12">
98
             <el-form-item label="时间段" prop="timeSlot">
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
             </el-form-item>
98
             </el-form-item>
110
           </el-col>
99
           </el-col>
111
         </el-row>
100
         </el-row>
@@ -304,11 +293,7 @@ const { queryParams, form, rules } = toRefs(data)
304
 /** 查询劝阻充电宝数据列表 */
293
 /** 查询劝阻充电宝数据列表 */
305
 function getList() {
294
 function getList() {
306
   loading.value = true
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
     discouragePowerBanksDataList.value = response.rows
297
     discouragePowerBanksDataList.value = response.rows
313
     total.value = response.total
298
     total.value = response.total
314
     loading.value = false
299
     loading.value = false
@@ -378,12 +363,7 @@ function handleUpdate(row) {
378
   reset()
363
   reset()
379
   const _id = row.id || ids.value
364
   const _id = row.id || ids.value
380
   getDiscouragePowerBanksData(_id).then(response => {
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
     open.value = true
367
     open.value = true
388
     title.value = "修改劝阻充电宝数据"
368
     title.value = "修改劝阻充电宝数据"
389
   })
369
   })
@@ -393,19 +373,14 @@ function handleUpdate(row) {
393
 function submitForm() {
373
 function submitForm() {
394
   proxy.$refs["discouragePowerBanksDataRef"].validate(valid => {
374
   proxy.$refs["discouragePowerBanksDataRef"].validate(valid => {
395
     if (valid) {
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
           proxy.$modal.msgSuccess("修改成功")
378
           proxy.$modal.msgSuccess("修改成功")
404
           open.value = false
379
           open.value = false
405
           getList()
380
           getList()
406
         })
381
         })
407
       } else {
382
       } else {
408
-        addDiscouragePowerBanksData(submitData).then(response => {
383
+        addDiscouragePowerBanksData(form.value).then(response => {
409
           proxy.$modal.msgSuccess("新增成功")
384
           proxy.$modal.msgSuccess("新增成功")
410
           open.value = false
385
           open.value = false
411
           getList()
386
           getList()

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

@@ -477,7 +477,7 @@ function initCharts() {
477
     seizePieChartInstance = echarts.init(seizePieChart.value)
477
     seizePieChartInstance = echarts.init(seizePieChart.value)
478
     const seizureData = seizureCategoryData.value || []
478
     const seizureData = seizureCategoryData.value || []
479
     seizePieChartInstance.setOption({
479
     seizePieChartInstance.setOption({
480
-      tooltip: { trigger: 'item' },
480
+      tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
481
       legend: { orient: 'vertical', right: 10, top: 'center' },
481
       legend: { orient: 'vertical', right: 10, top: 'center' },
482
       series: [{
482
       series: [{
483
         name: '查获数据',
483
         name: '查获数据',
@@ -491,6 +491,9 @@ function initCharts() {
491
             shadowOffsetX: 0,
491
             shadowOffsetX: 0,
492
             shadowColor: 'rgba(0, 0, 0, 0.5)'
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
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
511
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
509
         return item ? item.grandTotal : 0
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
     teamSeizeBarChartInstance.setOption({
521
     teamSeizeBarChartInstance.setOption({
514
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
522
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
@@ -534,7 +542,12 @@ function initCharts() {
534
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
542
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
535
         return item ? item.t1Total : 0
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
     t1TeamBarChartInstance.setOption({
552
     t1TeamBarChartInstance.setOption({
540
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
553
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
@@ -560,7 +573,12 @@ function initCharts() {
560
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
573
         const item = brigadeData.find(d => d.shift === shift && d.brigade === brigade)
561
         return item ? item.t2Total : 0
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
     t2TeamBarChartInstance.setOption({
583
     t2TeamBarChartInstance.setOption({
566
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
584
       tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } },
@@ -590,7 +608,7 @@ function initCharts() {
590
     ].filter(item => item.value > 0)
608
     ].filter(item => item.value > 0)
591
     
609
     
592
     powerBankPieChartInstance.setOption({
610
     powerBankPieChartInstance.setOption({
593
-      tooltip: { trigger: 'item' },
611
+      tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
594
       legend: { orient: 'vertical', right: 10, top: 'center' },
612
       legend: { orient: 'vertical', right: 10, top: 'center' },
595
       series: [{
613
       series: [{
596
         name: '不合格充电宝',
614
         name: '不合格充电宝',
@@ -604,6 +622,9 @@ function initCharts() {
604
             shadowOffsetX: 0,
622
             shadowOffsetX: 0,
605
             shadowColor: 'rgba(0, 0, 0, 0.5)'
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
     ].filter(item => item.value > 0)
641
     ].filter(item => item.value > 0)
621
     
642
     
622
     waitingAreaPieChartInstance.setOption({
643
     waitingAreaPieChartInstance.setOption({
623
-      tooltip: { trigger: 'item' },
644
+      tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
624
       legend: { orient: 'vertical', right: 10, top: 'center' },
645
       legend: { orient: 'vertical', right: 10, top: 'center' },
625
       series: [{
646
       series: [{
626
         name: '禁限带物品',
647
         name: '禁限带物品',
@@ -634,6 +655,9 @@ function initCharts() {
634
             shadowOffsetX: 0,
655
             shadowOffsetX: 0,
635
             shadowColor: 'rgba(0, 0, 0, 0.5)'
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
       </el-form-item>
8
       </el-form-item>
9
       <el-form-item label="班次" prop="shift">
9
       <el-form-item label="班次" prop="shift">
10
         <el-select v-model="queryParams.shift" placeholder="请选择班次" clearable style="width: 200px">
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
         </el-select>
12
         </el-select>
13
       </el-form-item>
13
       </el-form-item>
14
       <el-form-item label="当班大队" prop="brigade">
14
       <el-form-item label="当班大队" prop="brigade">
@@ -81,7 +81,9 @@
81
       <el-table-column label="T2其他" align="center" prop="t2Other" />
81
       <el-table-column label="T2其他" align="center" prop="t2Other" />
82
       <el-table-column label="T2总数" align="center" prop="t2Total" />
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
       <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width" fixed="right">  
88
       <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width" fixed="right">  
87
         <template #default="scope">
89
         <template #default="scope">
@@ -229,8 +231,8 @@
229
             </el-form-item>
231
             </el-form-item>
230
           </el-col>
232
           </el-col>
231
           <el-col :span="8">
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
             </el-form-item>
236
             </el-form-item>
235
           </el-col>
237
           </el-col>
236
         </el-row>
238
         </el-row>
@@ -276,6 +278,7 @@ import { listDept } from '@/api/system/dept'
276
 import { getToken } from '@/utils/auth'
278
 import { getToken } from '@/utils/auth'
277
 
279
 
278
 const { proxy } = getCurrentInstance()
280
 const { proxy } = getCurrentInstance()
281
+const { shift } = proxy.useDict('shift')
279
 
282
 
280
 const seizeDataList = ref([])
283
 const seizeDataList = ref([])
281
 const open = ref(false)
284
 const open = ref(false)
@@ -288,10 +291,7 @@ const total = ref(0)
288
 const title = ref("")
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
 const brigadeOptions = ref([])
297
 const brigadeOptions = ref([])
@@ -486,7 +486,7 @@ function reset() {
486
     t2Illegal: null,
486
     t2Illegal: null,
487
     t2Other: null,
487
     t2Other: null,
488
     t2Total: null,
488
     t2Total: null,
489
-    total: null
489
+    grandTotal: null
490
   }
490
   }
491
   proxy.resetForm("seizeDataRef")
491
   proxy.resetForm("seizeDataRef")
492
 }
492
 }