From 0f63c9e381eeefa2f7aceb7ed8d043ddd165afd5 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期二, 10 六月 2025 15:33:05 +0800
Subject: [PATCH] feat(maint): 添加工单图片上传功能

---
 eims-ui-mobile/src/pages/repair/repair-add.vue                                            |    3 +
 eims-ui-mobile/src/pages/maint/order-detail.vue                                           |    2 
 eims-ui-mobile/src/pages/maint/maint-order.vue                                            |   52 +++++++++++++++++++++----
 eims-ui-mobile/src/pages/maint/maint-st.vue                                               |   18 +++++----
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java |    2 +
 eims-ui-mobile/src/pages/inspect/insp-add.vue                                             |    1 
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java |    2 +
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java      |    2 +
 8 files changed, 62 insertions(+), 20 deletions(-)

diff --git a/eims-ui-mobile/src/pages/inspect/insp-add.vue b/eims-ui-mobile/src/pages/inspect/insp-add.vue
index 7d513b3..f3ac7f8 100644
--- a/eims-ui-mobile/src/pages/inspect/insp-add.vue
+++ b/eims-ui-mobile/src/pages/inspect/insp-add.vue
@@ -70,7 +70,6 @@
         />
         <wd-cell title="鐐规鍥剧墖" title-width="200rpx" prop="fileList">
           <wd-upload
-            :auto-upload="false"
             :file-list="model.fileList"
             :action="VITE_UPLOAD_BASEURL"
             @change="handleFileChange"
diff --git a/eims-ui-mobile/src/pages/maint/maint-order.vue b/eims-ui-mobile/src/pages/maint/maint-order.vue
index fe14b49..b67e041 100644
--- a/eims-ui-mobile/src/pages/maint/maint-order.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-order.vue
@@ -54,15 +54,17 @@
             <view class="text-color-gray text-sm mt-1 flex">
               <text class="mr-3">宸ュ崟鎬绘暟: {{ maintSt.orderCount }}</text>
               |
-              <text class="mx-3">宸插畬鎴�: {{ maintSt.wcCount }}</text>
-            </view>
-            <view class="text-color-gray text-sm mt-2 flex">
-              <text class="mr-3">寰呬繚鍏�: {{ maintSt.dbyCount }}</text>
+              <text class="mx-3">宸插畬鎴�: {{ maintSt.dyzCount }}</text>
               |
-              <text class="mx-3">淇濆吇涓�: {{ maintSt.byCount }}</text>
-<!--              |-->
-<!--              <text class="ml-3">寰呴獙璇�: {{ maintSt.dyzCount }}</text>-->
+              <text class="mx-3">寰呬繚鍏�: {{ maintSt.dbyCount }}</text>
             </view>
+<!--            <view class="text-color-gray text-sm mt-2 flex">-->
+<!--              <text class="mr-3">寰呬繚鍏�: {{ maintSt.dbyCount }}</text>-->
+<!--              |-->
+<!--              <text class="mx-3">淇濆吇涓�: {{ maintSt.byCount }}</text>-->
+<!--&lt;!&ndash;              |&ndash;&gt;-->
+<!--&lt;!&ndash;              <text class="ml-3">寰呴獙璇�: {{ maintSt.dyzCount }}</text>&ndash;&gt;-->
+<!--            </view>-->
             <view class="text-color-gray text-sm mt-2 flex">
               <text>鐘舵�侊細</text>
               <template v-if="maintSt.status === '1'">
@@ -140,6 +142,9 @@
 
         <!-- 姝f枃鍖哄煙 -->
         <view v-else class="mt-2">
+          <wd-upload v-model:file-list="item.fileList" :action="VITE_UPLOAD_BASEURL" @success="handleUploadSuccess" >
+            <wd-button>涓婁紶鍥剧墖</wd-button>
+          </wd-upload>
           <!-- 淇濆吇璇存槑鍖哄煙 -->
           <view v-if="item.maintFun === '1'" class="mt-2">
             <wd-input
@@ -259,7 +264,8 @@
 import { formatDate } from '@/utils/DateUtils'
 import { useUserStore } from "@/store";
 import { getSpareList } from '@/service/spare'
-
+import { getEnvBaseUploadUrl } from "@/utils";
+const VITE_UPLOAD_BASEURL = `${getEnvBaseUploadUrl()}`
 const message = useMessage()
 const toast = useToast()
 const userStore = useUserStore()
@@ -300,10 +306,19 @@
   }
   getMaintStOrderList(params)
     .then((res: any) => {
+      // 灏嗘瘡涓�椤圭殑picture杞崲涓篺ileList鏁扮粍
+      res.rows.forEach((item: any) => {
+        item.fileList = item.picture?.split(',').map((url: string) => {
+          return {
+            url: url,
+          }
+        })
+      })
       // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
       paging.value.completeByTotal(res.rows, res.total)
     })
     .catch((res) => {
+      console.error(res)
       // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰
       // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊
       // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲
@@ -381,6 +396,7 @@
 function confirmSpareSelection() {
   closeSparePopup()
 }
+
 
 function addOtherSparePart() {
   dataList.value[selectedPartIndex.value].spareParts.push({
@@ -482,6 +498,15 @@
     toast.info('璇峰~鍐欑淮淇鏄庯紒')
     return false
   }
+
+  // 灏唖ubmitList涓瘡涓�椤圭殑fileList杞崲涓轰互閫楀彿鍒嗗壊鐨勫瓧绗︿覆
+  submitList.forEach((item) => {
+
+    console.log('item.fileList', item.fileList)
+    const map = item.fileList?.map((file) => file.url)
+    console.log('map', map)
+    item.picture = map?.join(',')
+  })
 
 
   const data: any = Object.assign(
@@ -643,7 +668,16 @@
     .catch((res) => {
       console.error(res)
     })
-
+}
+function handleUploadSuccess({ file, fileList }) {
+  console.log('handleUploadSuccess', file)
+  // 鍒ゆ柇 file.response鏄笉鏄� 瀵硅薄锛屼笉鏄璞″皢json瀛楃涓茶浆鎹负瀵硅薄
+  if (typeof file.response === 'string') {
+    file.response = JSON.parse(file.response)
+    console.log('file.response', file.response)
+    file.ossId = file.response.data.ossId
+    file.url = file.response.data.url
+  }
 }
 
 // 鏂板鏂规硶锛氳幏鍙栫姸鎬佹枃鏈�
diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue
index 4db3bdf..c58daa8 100644
--- a/eims-ui-mobile/src/pages/maint/maint-st.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -45,17 +45,19 @@
           <image class="slot-img text-center" src="/static/images/camera.png" />
           <view class="flex-1">
             <view class="text-color-gray text-sm mt-1 flex">
-              <text class="mr-3">宸ュ崟鎬绘暟: {{ item.orderCount }}</text>
+              <text class="mr-3">鎬绘暟: {{ item.orderCount }}</text>
               |
-              <text class="mx-3">宸插畬鎴�: {{ item.wcCount }}</text>
+              <text class="mx-3">宸插畬鎴�: {{ item.dyzCount }}</text>
+              |
+              <text class="mx-3">寰呬繚鍏�: {{ item.dbyCount }}</text>
             </view>
-            <view class="text-color-gray text-sm mt-2 flex">
-              <text class="mr-3">寰呬繚鍏�: {{ item.dbyCount }}</text>
-              |
-              <text class="mx-3">淇濆吇涓�: {{ item.byCount }}</text>
+<!--            <view class="text-color-gray text-sm mt-2 flex">-->
+<!--              <text class="mr-3">寰呬繚鍏�: {{ item.dbyCount }}</text>-->
 <!--              |-->
-<!--              <text class="ml-3">寰呴獙璇�: {{ item.dyzCount }}</text>-->
-            </view>
+<!--&lt;!&ndash;              <text class="mx-3">淇濆吇涓�: {{ item.byCount }}</text>&ndash;&gt;-->
+<!--&lt;!&ndash;              |&ndash;&gt;-->
+<!--&lt;!&ndash;              <text class="ml-3">寰呴獙璇�: {{ item.dyzCount }}</text>&ndash;&gt;-->
+<!--            </view>-->
             <view class="text-color-gray text-sm mt-2 flex">
               <text>鐘舵�侊細</text>
               <template v-if="item.status === '1'">
diff --git a/eims-ui-mobile/src/pages/maint/order-detail.vue b/eims-ui-mobile/src/pages/maint/order-detail.vue
index beed4f1..d4755ba 100644
--- a/eims-ui-mobile/src/pages/maint/order-detail.vue
+++ b/eims-ui-mobile/src/pages/maint/order-detail.vue
@@ -61,7 +61,6 @@
         />
         <wd-cell title="淇濆吇鍥剧墖" title-width="200rpx" prop="fileList">
           <wd-upload
-            :auto-upload="false"
             :file-list="fileList"
             @change="handleFileChange"
           ></wd-upload>
@@ -133,6 +132,7 @@
   endTime?: string
   maintDesc: string
   remark: string
+  picture: string
 }
 
 const order = reactive<MaintOrder>({
diff --git a/eims-ui-mobile/src/pages/repair/repair-add.vue b/eims-ui-mobile/src/pages/repair/repair-add.vue
index 2a2778c..a498a80 100644
--- a/eims-ui-mobile/src/pages/repair/repair-add.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-add.vue
@@ -115,7 +115,6 @@
         />
         <wd-cell title="鎶ヤ慨鍥剧墖" title-width="200rpx" prop="fileList">
           <wd-upload
-            :auto-upload="false"
             :file-list="model.fileList"
             :action="VITE_UPLOAD_BASEURL"
             @change="handleFileChange"
@@ -315,6 +314,7 @@
   model.reqTime = formatDate(new Date())
   model.reqDept = userStore?.userInfo?.deptId
   model.reqUser = userStore?.userInfo?.userId
+  model.faultPicture = model.fileList.join(',')
   addRepairReq(model)
     .then((res: any) => {
       if (res?.code === 200) {
@@ -335,6 +335,7 @@
  * @param fileList
  */
 function handleFileChange({ fileList }) {
+  console.log('fileList:', fileList)
   model.fileList = fileList
 }
 
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java
index 8aae23b..d170fa4 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsMaintOrder.java
@@ -123,4 +123,6 @@
      */
     private String repairDesc;
 
+    private String picture;
+
 }
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java
index 625c6ee..af48846 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsMaintOrderBo.java
@@ -134,4 +134,6 @@
 
     private List<EimsSpareBo> spareParts;
 
+    private String picture;
+
 }
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java
index 1a43656..ad29c5a 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsMaintOrderVo.java
@@ -168,5 +168,7 @@
 
     private List<EimsSpareVo> spareParts;
 
+    private String picture;
+
 
 }

--
Gitblit v1.9.3