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 |   86 ++++++++++++++++++++++++++-----------------
 1 files changed, 52 insertions(+), 34 deletions(-)

diff --git a/eims-ui-mobile/src/pages/repair/repair-add.vue b/eims-ui-mobile/src/pages/repair/repair-add.vue
index 12a7620..a498a80 100644
--- a/eims-ui-mobile/src/pages/repair/repair-add.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-add.vue
@@ -1,30 +1,22 @@
 <route lang="json5" type="page">
 {
   layout: 'default',
-  style: {
-    navigationBarTitleText: '娣诲姞鎶ヤ慨',
-    'app-plus': {
-      titleNView: {
-        buttons: [
-          {
-            text: '鎻愪氦',
-            fontSize: '14px',
-            color: '#FFFFFF',
-          },
-          {
-            text: '',
-            fontSize: '24px',
-            color: '#FFFFFF',
-          },
-        ],
-      },
-    },
-  },
+  needLogin: true,
+  style: { navigationBarTitleText: '娣诲姞鎶ヤ慨', navigationStyle: 'custom' },
 }
 </route>
 
 <template>
   <view class="bg-base">
+    <wd-navbar
+      title="娣诲姞鎶ヤ慨"
+      left-arrow
+      @click-left="goBack"
+      right-text="鎻愪氦"
+      @click-right="handleSubmit"
+      custom-style="background: #4D80F0;"
+      safeAreaInsetTop
+    ></wd-navbar>
     <wd-form ref="form" :model="model">
       <wd-cell-group custom-class="group" title="绫诲瀷淇℃伅" border>
         <wd-picker
@@ -35,6 +27,7 @@
           label="鏁呴殰绫诲瀷"
           v-model="model.reqType"
           @confirm="handleConfirmReqType"
+          :disabled="reqTypeDis"
         />
       </wd-cell-group>
 
@@ -122,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"
@@ -181,6 +173,25 @@
 const toast = useToast()
 const userStore = useUserStore()
 
+/**
+ * 鍏朵粬椤甸潰浼犺繃鏉ョ殑鏁版嵁
+ * assetNo: 璧勪骇缂栧彿
+ * from: 鏄惁鏄壂鐮佽繘鏉ョ殑锛屽鏋滄槸鎵爜杩涙潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
+ */
+interface PageParams {
+  equId?: string
+  equName?: string
+  from?: string
+}
+
+// 椤甸潰鍙傛暟锛屼笂涓〉闈紶閫掕繃鏉ョ殑鍙傛暟
+const option = reactive<PageParams>({
+  equId: '',
+  equName: '',
+  from: '',
+})
+
+const reqTypeDis = ref(false)
 // 鎶ヤ慨绫诲瀷
 const reqList = ref<any>([])
 // 鏁呴殰绫诲埆
@@ -223,11 +234,16 @@
   fixtureName: '',
   fileList: [],
 })
-
+const goBack = () => {
+  uni.navigateBack()
+}
 /**
  * 閫夋嫨璁惧
  */
 function handleSelectEqu() {
+  if (reqTypeDis.value) {
+    return false
+  }
   uni.navigateTo({
     url: '/pages/equ/equ-list',
     events: {
@@ -294,10 +310,11 @@
 
 function handleAddRepairReq() {
   // 琛ュ厖蹇呰瀛楁
-  model.status = '0'
+  model.status = '0' // 鎶ヤ慨鍚庨粯璁ょ姸鎬佷负寰呮帴鍗�
   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) {
@@ -318,6 +335,7 @@
  * @param fileList
  */
 function handleFileChange({ fileList }) {
+  console.log('fileList:', fileList)
   model.fileList = fileList
 }
 
@@ -364,20 +382,17 @@
 /**
  * 閫夋嫨鎶ヤ慨绫诲瀷
  */
-function handleConfirmReqType({ value }) {
-}
+function handleConfirmReqType({ value }) {}
 
 /**
  * 閫夋嫨鏁呴殰绫诲埆
  */
-function handleConfirmFaultType({ value }) {
-}
+function handleConfirmFaultType({ value }) {}
 
 /**
  * 閫夋嫨绱ф�ョ▼搴�
  */
-function handleConfirmUrgencyLevel({ value }) {
-}
+function handleConfirmUrgencyLevel({ value }) {}
 
 async function initData() {
   const reqTypeList = await getDictInfo(DICT_REPAIR_REQ_TYPE)
@@ -390,13 +405,16 @@
   urgencyList.value = uList
 }
 
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
-    handleSubmit()
-  }
-})
-
 onLoad((options) => {
+  Object.assign(option, options)
+  // 鎵爜椤甸潰杩涘叆鐨勪竴浜涘垵濮嬪寲
+  if (option.from === 'scan') {
+    model.equId = option?.equId
+    model.equName = option?.equName
+    // 璁剧疆绫诲瀷涓鸿澶囩被鍨�
+    model.reqType = '1'
+    reqTypeDis.value = true
+  }
   initData()
 })
 </script>

--
Gitblit v1.9.3