From f9608b880eb17ed232b1dc9c216ae57a7fb5b4a9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 21 九月 2026 18:06:58 +0800
Subject: [PATCH] 新疆-融邦环保 1.「油品出库就生成出库台账,不用区分出库类别了」+「代储出库也需要出库扣库存,选批号,生成发货台账」 2.车辆管理与出库残油联动

---
 src/views/basicData/vehicle/index.vue |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/src/views/basicData/vehicle/index.vue b/src/views/basicData/vehicle/index.vue
index 26e2200..81c6904 100644
--- a/src/views/basicData/vehicle/index.vue
+++ b/src/views/basicData/vehicle/index.vue
@@ -83,6 +83,19 @@
             </el-tag>
           </template>
         </el-table-column>
+        <el-table-column label="杞﹁締鐓х墖"
+                         min-width="100"
+                         align="center">
+          <template #default="scope">
+            <el-image v-if="scope.row.vehiclePhotos && scope.row.vehiclePhotos.length"
+                      :src="scope.row.vehiclePhotos[0]"
+                      :preview-src-list="scope.row.vehiclePhotos"
+                      preview-teleported
+                      fit="cover"
+                      style="width: 60px; height: 44px; border-radius: 4px" />
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
         <el-table-column label="澶囨敞"
                          prop="remark"
                          min-width="160"
@@ -196,6 +209,16 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row :gutter="30">
+          <el-col :span="24">
+            <el-form-item label="杞﹁締鐓х墖锛�"
+                          prop="vehiclePhotos">
+              <ImageUpload v-model:file-list="form.vehiclePhotos"
+                           :limit="10"
+                           permanent />
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
     </FormDialog>
   </div>
@@ -203,6 +226,7 @@
 
 <script setup>
   import FormDialog from "@/components/Dialog/FormDialog.vue";
+  import ImageUpload from "@/components/AttachmentUpload/image/index.vue";
   import pagination from "@/components/PIMTable/Pagination.vue";
   import { ref, reactive, toRefs, getCurrentInstance } from "vue";
   import { ElMessageBox } from "element-plus";
@@ -239,6 +263,7 @@
       loadCapacity: null,
       status: "鍚敤",
       remark: "",
+      vehiclePhotos: [],
     },
     rules: {
       plateNumber: [{ required: true, message: "璇疯緭鍏ヨ溅鐗屽彿", trigger: "blur" }],
@@ -299,6 +324,8 @@
         loadCapacity,
         status: status || "鍚敤",
         remark,
+        // 鎺ュ彛杩斿洖鐨勫氨鏄� URL 瀛楃涓叉暟缁勶紝鐩存帴鍠傜粰 el-upload 鍥炴樉
+        vehiclePhotos: Array.isArray(row.vehiclePhotos) ? [...row.vehiclePhotos] : [],
       };
     } else {
       form.value = {
@@ -309,6 +336,7 @@
         loadCapacity: null,
         status: "鍚敤",
         remark: "",
+        vehiclePhotos: [],
       };
     }
   };
@@ -317,7 +345,15 @@
     proxy.$refs["formRef"].validate(valid => {
       if (valid) {
         const api = form.value.id ? updateVehicle : addVehicle;
-        api(form.value).then(() => {
+        // 鍚庣 vehiclePhotos 鏄� List<String>锛屽彧瀛� URL锛涗笂浼犵粍浠剁粰鐨勬槸 {name, url} 瀵硅薄鏁扮粍锛�
+        // 鐩存帴浼犲璞′細 JSON 瑙f瀽澶辫触鎶� 400銆傚彟澶栦紶 null 涓嶆洿鏂帮紝鎯冲垹鍏夊繀椤绘樉寮忎紶 []
+        const payload = {
+          ...form.value,
+          vehiclePhotos: (form.value.vehiclePhotos || [])
+            .map(item => (typeof item === "string" ? item : item?.url || item?.previewURL || ""))
+            .filter(Boolean),
+        };
+        api(payload).then(() => {
           proxy.$modal.msgSuccess("鎿嶄綔鎴愬姛");
           closeDia();
           getList();

--
Gitblit v1.9.3