From 97db9d11ff425583d2dece82a842a7766bb5e7e4 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期五, 26 九月 2025 21:43:39 +0800
Subject: [PATCH] feat: 添加map

---
 ruoyi-ui/src/views/system/vehicle/index.vue |  102 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 84 insertions(+), 18 deletions(-)

diff --git a/ruoyi-ui/src/views/system/vehicle/index.vue b/ruoyi-ui/src/views/system/vehicle/index.vue
index dd8660a..4049d3d 100644
--- a/ruoyi-ui/src/views/system/vehicle/index.vue
+++ b/ruoyi-ui/src/views/system/vehicle/index.vue
@@ -11,13 +11,14 @@
         />
       </el-form-item>
       <el-form-item label="杞﹁締绫诲瀷" prop="vehicleType">
-        <el-input
-          v-model="queryParams.vehicleType"
-          placeholder="璇疯緭鍏ヨ溅杈嗙被鍨�"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <el-select v-model="queryParams.vehicleType" placeholder="璇烽�夋嫨杞﹁締绫诲瀷" clearable size="small">
+          <el-option
+            v-for="dict in dict.type.sys_vehicle_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item label="鐘舵��" prop="status">
         <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨鐘舵��" clearable size="small">
@@ -31,8 +32,22 @@
       </el-form-item>
       <el-form-item label="骞冲彴鏍囪瘑" prop="platformCode">
         <el-select v-model="queryParams.platformCode" placeholder="璇烽�夋嫨骞冲彴" clearable size="small">
-          <el-option label="A骞冲彴" value="A" />
-          <el-option label="B骞冲彴" value="B" />
+          <el-option
+            v-for="dict in dict.type.sys_platform"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
+        <el-select v-model="queryParams.deptId" placeholder="璇烽�夋嫨閮ㄩ棬" clearable size="small">
+          <el-option
+            v-for="dept in deptList"
+            :key="dept.deptId"
+            :label="dept.deptName"
+            :value="dept.deptId"
+          />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -91,7 +106,11 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="杞﹁締ID" align="center" prop="vehicleId" />
       <el-table-column label="杞︾墝鍙�" align="center" prop="vehicleNo" />
-      <el-table-column label="杞﹁締绫诲瀷" align="center" prop="vehicleType" />
+      <el-table-column label="杞﹁締绫诲瀷" align="center" prop="vehicleType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_vehicle_type" :value="scope.row.vehicleType"/>
+        </template>
+      </el-table-column>
       <el-table-column label="杞﹁締鍝佺墝" align="center" prop="vehicleBrand" />
       <el-table-column label="杞﹁締鍨嬪彿" align="center" prop="vehicleModel" />
       <el-table-column label="骞冲彴鏍囪瘑" align="center" prop="platformCode">
@@ -104,6 +123,7 @@
           <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
         </template>
       </el-table-column>
+      <el-table-column label="褰掑睘閮ㄩ棬" align="center" prop="deptName" />
       <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
@@ -144,7 +164,14 @@
           <el-input v-model="form.vehicleNo" placeholder="璇疯緭鍏ヨ溅鐗屽彿" />
         </el-form-item>
         <el-form-item label="杞﹁締绫诲瀷" prop="vehicleType">
-          <el-input v-model="form.vehicleType" placeholder="璇疯緭鍏ヨ溅杈嗙被鍨�" />
+          <el-select v-model="form.vehicleType" placeholder="璇烽�夋嫨杞﹁締绫诲瀷" clearable style="width: 100%">
+            <el-option
+              v-for="dict in dict.type.sys_vehicle_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item label="杞﹁締鍝佺墝" prop="vehicleBrand">
           <el-input v-model="form.vehicleBrand" placeholder="璇疯緭鍏ヨ溅杈嗗搧鐗�" />
@@ -153,9 +180,13 @@
           <el-input v-model="form.vehicleModel" placeholder="璇疯緭鍏ヨ溅杈嗗瀷鍙�" />
         </el-form-item>
         <el-form-item label="骞冲彴鏍囪瘑" prop="platformCode">
-          <el-select v-model="form.platformCode" placeholder="璇烽�夋嫨骞冲彴">
-            <el-option label="A骞冲彴" value="A" />
-            <el-option label="B骞冲彴" value="B" />
+          <el-select v-model="form.platformCode" placeholder="璇烽�夋嫨骞冲彴" clearable>
+            <el-option
+              v-for="dict in dict.type.sys_platform"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
           </el-select>
         </el-form-item>
         <el-form-item label="鐘舵��" prop="status">
@@ -166,6 +197,16 @@
               :label="dict.value"
             >{{dict.label}}</el-radio>
           </el-radio-group>
+        </el-form-item>
+        <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
+          <el-select v-model="form.deptId" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" clearable style="width: 100%">
+            <el-option
+              v-for="dept in deptList"
+              :key="dept.deptId"
+              :label="dept.deptName"
+              :value="dept.deptId"
+            />
+          </el-select>
         </el-form-item>
         <el-form-item label="澶囨敞" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
@@ -181,10 +222,11 @@
 
 <script>
 import { listVehicle, getVehicle, delVehicle, addVehicle, updateVehicle } from "@/api/system/vehicle";
+import { listDept } from "@/api/system/dept";
 
 export default {
   name: "Vehicle",
-  dicts: ['sys_normal_disable', 'sys_platform'],
+  dicts: ['sys_normal_disable', 'sys_platform', 'sys_vehicle_type'],
   data() {
     return {
       // 閬僵灞�
@@ -201,6 +243,8 @@
       total: 0,
       // 杞﹁締淇℃伅琛ㄦ牸鏁版嵁
       vehicleList: [],
+      // 閮ㄩ棬鍒楄〃鏁版嵁
+      deptList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -214,10 +258,21 @@
         vehicleBrand: null,
         vehicleModel: null,
         status: null,
-        platformCode: null
+        platformCode: null,
+        deptId: null
       },
       // 琛ㄥ崟鍙傛暟
-      form: {},
+      form: {
+        vehicleId: null,
+        vehicleNo: null,
+        vehicleType: null,
+        vehicleBrand: null,
+        vehicleModel: null,
+        status: "0",
+        remark: null,
+        platformCode: null,
+        deptId: null
+      },
       // 琛ㄥ崟鏍¢獙
       rules: {
         vehicleNo: [
@@ -225,12 +280,16 @@
         ],
         status: [
           { required: true, message: "鐘舵�佷笉鑳戒负绌�", trigger: "change" }
+        ],
+        platformCode: [
+          { required: true, message: "骞冲彴鏍囪瘑涓嶈兘涓虹┖", trigger: "change" }
         ]
       }
     };
   },
   created() {
     this.getList();
+    this.getDeptList();
   },
   methods: {
     /** 鏌ヨ杞﹁締淇℃伅鍒楄〃 */
@@ -240,6 +299,12 @@
         this.vehicleList = response.rows;
         this.total = response.total;
         this.loading = false;
+      });
+    },
+    /** 鑾峰彇閮ㄩ棬鍒楄〃 */
+    getDeptList() {
+      listDept().then(response => {
+        this.deptList = response.data;
       });
     },
     // 鍙栨秷鎸夐挳
@@ -257,7 +322,8 @@
         vehicleModel: null,
         status: "0",
         remark: null,
-        platformCode: null
+        platformCode: null,
+        deptId: null
       };
       this.resetForm("form");
     },

--
Gitblit v1.9.1