From 1efdf8fa2f60cc6d9da42b319540d4c2df4b3e0a Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期六, 14 六月 2025 15:13:35 +0800
Subject: [PATCH] refactor(repair): 优化报修相关功能和页面展示

---
 eims-ui-mobile/src/pages/repair/repair-fb.vue |   62 +++++++++++++++---------------
 1 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/eims-ui-mobile/src/pages/repair/repair-fb.vue b/eims-ui-mobile/src/pages/repair/repair-fb.vue
index ae8aaea..dd5a6ef 100644
--- a/eims-ui-mobile/src/pages/repair/repair-fb.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-fb.vue
@@ -29,20 +29,20 @@
       <template #title>
         <view class="flex items-center menu-title-box">
           <view class="menu-indicator"></view>
-          <view class="ml-1 text-xs">缁翠慨姒傝</view>
+          <view class="ml-1 text-sm">缁翠慨姒傝</view>
         </view>
       </template>
       <wd-steps :active="repairRecordList.length" vertical class="px-4">
         <wd-step v-for="(item, index) in repairRecordList">
           <template #title>
             <view class="flex items-center menu-title-box">
-              <view class="ml-1 text-xs">{{ item?.operaResult }}</view>
+              <view class="ml-1 text-sm">{{ item?.operaResult }}</view>
             </view>
           </template>
           <template #description>
             <view class="flex items-center menu-title-box">
-              <view class="ml-1 text-xs">{{ item?.operaUserName }}</view>
-              <view class="ml-1 text-xs">{{ item?.handleTime }}</view>
+              <view class="ml-1 text-sm">{{ item?.operaUserName }}</view>
+              <view class="ml-1 text-sm">{{ item?.handleTime }}</view>
             </view>
           </template>
         </wd-step>
@@ -53,34 +53,17 @@
       <template #title>
         <view class="flex items-center menu-title-box">
           <view class="menu-indicator"></view>
-          <view class="ml-1 text-xs">缁翠慨璇勪环</view>
+          <view class="ml-1 text-sm">缁翠慨璇勪环</view>
         </view>
       </template>
       <wd-cell title="缁翠慨婊℃剰搴�">
-        <wd-rate v-model="repairFb.repairSatisfaction" change="handleChange"></wd-rate>
+        <wd-radio-group v-model="repairFb.repairSatisfaction" inline shape="dot">
+          <wd-radio :value="0">涓嶆弧鎰�</wd-radio>
+          <wd-radio :value="1">婊℃剰</wd-radio>
+        </wd-radio-group>
       </wd-cell>
-      <wd-cell title="缁翠慨鍙婃椂鎬�">
-        <wd-rate v-model="repairFb.repairTimeliness" change="handleChange"></wd-rate>
-      </wd-cell>
-      <wd-cell title="缁翠慨鍙婃�佸害">
-        <wd-rate v-model="repairFb.serviceAttitude" change="handleChange"></wd-rate>
-      </wd-cell>
-      <wd-cell title="缁翠慨鐜板満6S">
-        <wd-rate v-model="repairFb.repairSs" change="handleChange"></wd-rate>
-      </wd-cell>
-
       <wd-textarea
-        label="缁撴灉鍙嶉"
-        label-width="200rpx"
-        type="textarea"
-        v-model="repairFb.fbResult"
-        auto-height
-        :maxlength="200"
-        show-word-limit
-        placeholder="璇疯緭鍏ョ粨鏋滃弽棣�"
-        clearable
-      />
-      <wd-textarea
+        v-if="repairFb.repairSatisfaction === 0"
         label="鎰忚鎴栧缓璁�"
         label-width="200rpx"
         type="textarea"
@@ -90,8 +73,12 @@
         show-word-limit
         placeholder="璇疯緭鍏ユ剰瑙佹垨寤鸿"
         clearable
+        required
+
       />
     </wd-cell-group>
+
+    <wd-button style="margin: 20px" block @click="handleRepairFb">鎻愪氦</wd-button>
   </view>
 </template>
 <script setup lang="ts">
@@ -103,9 +90,11 @@
   updateRepairFb,
 } from '@/service/repair'
 import { reactive } from 'vue'
-import { isLeader, isOperatorOrRepair } from '@/utils/RoleUtils'
+import { isLeader, isLineOrRepair } from '@/utils/RoleUtils'
 import { RepairResVO, RepairFbVO, RepairRecordVO } from '@/service/repair.d'
+import { useUserStore } from "@/store";
 
+const userStore = useUserStore()
 const isUpdate = ref(false)
 const repairRes = reactive<RepairResVO>({
   id: '',
@@ -129,7 +118,7 @@
   resCode: '',
   fbResult: '',
   suggestions: '',
-  repairSatisfaction: 0,
+  repairSatisfaction: 1,
   repairTimeliness: 0,
   serviceAttitude: 0,
   repairSs: 0,
@@ -192,9 +181,16 @@
 }
 
 function handleRepairFb() {
-  if(isOperatorOrRepair()){
+  if(repairRes.reqUser !== userStore.userInfo.userId){
     uni.showToast({
-      title: '鏃犳潈闄�,璇风櫥褰曠鐞嗗憳璐﹀彿鎿嶄綔',
+      title: '鍙湁璇锋眰浜烘墠鏈夎瘎浠锋潈闄�',
+      icon: 'none',
+    })
+    return false
+  }
+  if (repairFb.repairSatisfaction === 0 && !repairFb.suggestions) {
+    uni.showToast({
+      title: '璇峰~鍐欐剰瑙佹垨寤鸿',
       icon: 'none',
     })
     return false
@@ -209,6 +205,8 @@
             title: '淇敼鎴愬姛',
             icon: 'none',
           })
+          uni.navigateBack()
+          uni.$emit('list-refresh')
         }
       })
       .catch((res) => {})
@@ -220,6 +218,8 @@
             title: '璇勪环鎴愬姛',
             icon: 'none',
           })
+          uni.navigateBack()
+          uni.$emit('list-refresh')
         }
       })
       .catch((res) => {})

--
Gitblit v1.9.3