From 09e6dc3fb7266620fafb5e341808a8eb36e080a1 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 13 十二月 2025 22:51:52 +0800
Subject: [PATCH] feat:增加企业微信消息提醒

---
 ruoyi-ui/src/views/system/mileageStats/index.vue |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 3 deletions(-)

diff --git a/ruoyi-ui/src/views/system/mileageStats/index.vue b/ruoyi-ui/src/views/system/mileageStats/index.vue
index 4468509..0cbe724 100644
--- a/ruoyi-ui/src/views/system/mileageStats/index.vue
+++ b/ruoyi-ui/src/views/system/mileageStats/index.vue
@@ -168,8 +168,30 @@
     <!-- 鎵嬪姩缁熻瀵硅瘽妗� -->
     <el-dialog title="鎵嬪姩閲岀▼缁熻" :visible.sync="calculateOpen" width="500px" append-to-body>
       <el-form ref="calculateForm" :model="calculateForm" :rules="calculateRules" label-width="100px">
-        <el-form-item label="杞﹁締ID" prop="vehicleId">
-          <el-input v-model="calculateForm.vehicleId" placeholder="璇疯緭鍏ヨ溅杈咺D" type="number" />
+        <el-form-item label="杞︾墝鍙�" prop="vehicleId">
+          <el-select
+            v-model="calculateForm.vehicleId"
+            placeholder="璇疯緭鍏ヨ溅鐗屽彿鎼滅储"
+            filterable
+            remote
+            :remote-method="searchVehicles"
+            :loading="vehicleSearchLoading"
+            clearable
+            style="width: 100%"
+            @change="handleVehicleChange"
+          >
+            <el-option
+              v-for="vehicle in vehicleOptions"
+              :key="vehicle.vehicleId"
+              :label="vehicle.vehicleNo"
+              :value="vehicle.vehicleId"
+            >
+              <span style="float: left">{{ vehicle.vehicleNo }}</span>
+              <span style="float: right; color: #8492a6; font-size: 13px" v-if="vehicle.deptName">
+                {{ vehicle.deptName }}
+              </span>
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="缁熻鏃ユ湡" prop="statDate">
           <el-date-picker
@@ -297,6 +319,7 @@
 <script>
 import { listMileageStats, getMileageStats, delMileageStats, calculateMileageStats, batchCalculateMileageStats, getSegmentsByDateRange } from "@/api/system/mileageStats";
 import { listDept } from "@/api/system/dept";
+import { listVehicle } from "@/api/system/vehicle";
 
 export default {
   name: "MileageStats",
@@ -338,6 +361,10 @@
       calculateLoading: false,
       // 鎵归噺缁熻鍔犺浇鐘舵��
       batchCalculateLoading: false,
+      // 杞﹁締鎼滅储鍔犺浇鐘舵��
+      vehicleSearchLoading: false,
+      // 杞﹁締閫夐」鍒楄〃
+      vehicleOptions: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -359,7 +386,7 @@
       // 鎵嬪姩缁熻琛ㄥ崟鏍¢獙
       calculateRules: {
         vehicleId: [
-          { required: true, message: "杞﹁締ID涓嶈兘涓虹┖", trigger: "blur" }
+          { required: true, message: "璇烽�夋嫨杞﹁締", trigger: "change" }
         ],
         statDate: [
           { required: true, message: "缁熻鏃ユ湡涓嶈兘涓虹┖", trigger: "change" }
@@ -413,7 +440,43 @@
     /** 鎵嬪姩缁熻鎸夐挳鎿嶄綔 */
     handleCalculate() {
       this.reset();
+      this.vehicleOptions = [];
       this.calculateOpen = true;
+      // 鎵撳紑瀵硅瘽妗嗘椂鍔犺浇涓�浜涜溅杈嗘暟鎹�
+      this.searchVehicles('');
+    },
+    /** 鎼滅储杞﹁締 */
+    searchVehicles(query) {
+      if (query !== '') {
+        this.vehicleSearchLoading = true;
+        listVehicle({
+          vehicleNo: query,
+          pageNum: 1,
+          pageSize: 50
+        }).then(response => {
+          this.vehicleOptions = response.rows || [];
+          this.vehicleSearchLoading = false;
+        }).catch(() => {
+          this.vehicleSearchLoading = false;
+        });
+      } else {
+        // 濡傛灉鏌ヨ涓虹┖锛屽姞杞藉墠50鏉¤溅杈嗘暟鎹�
+        this.vehicleSearchLoading = true;
+        listVehicle({
+          pageNum: 1,
+          pageSize: 50
+        }).then(response => {
+          this.vehicleOptions = response.rows || [];
+          this.vehicleSearchLoading = false;
+        }).catch(() => {
+          this.vehicleSearchLoading = false;
+        });
+      }
+    },
+    /** 杞﹁締閫夋嫨鍙樺寲 */
+    handleVehicleChange(value) {
+      // 鍙互鍦ㄨ繖閲屾坊鍔犻澶栫殑澶勭悊閫昏緫
+      console.log('閫夋嫨鐨勮溅杈咺D:', value);
     },
     /** 鎵归噺缁熻鎸夐挳鎿嶄綔 */
     handleBatchCalculate() {

--
Gitblit v1.9.1