From 14681dfe7052cb76eefcc0c17d0a0d708e1ac9dd Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 13 五月 2025 16:31:14 +0800
Subject: [PATCH] 完成移动端基本功能

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

diff --git a/eims-ui-mobile/src/pages/repair/feedback.vue b/eims-ui-mobile/src/pages/repair/repair-fb.vue
similarity index 75%
rename from eims-ui-mobile/src/pages/repair/feedback.vue
rename to eims-ui-mobile/src/pages/repair/repair-fb.vue
index 497247c..ae8aaea 100644
--- a/eims-ui-mobile/src/pages/repair/feedback.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-fb.vue
@@ -33,7 +33,7 @@
         </view>
       </template>
       <wd-steps :active="repairRecordList.length" vertical class="px-4">
-        <wd-step v-for="(item,index) in repairRecordList"   >
+        <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>
@@ -46,7 +46,6 @@
             </view>
           </template>
         </wd-step>
-
       </wd-steps>
     </wd-card>
 
@@ -96,10 +95,18 @@
   </view>
 </template>
 <script setup lang="ts">
-import { getRepairRes, getRepairFb, getRepairRecordList } from '@/service/repair'
+import {
+  getRepairRes,
+  getRepairFb,
+  getRepairRecordList,
+  addRepairFb,
+  updateRepairFb,
+} from '@/service/repair'
 import { reactive } from 'vue'
+import { isLeader, isOperatorOrRepair } from '@/utils/RoleUtils'
 import { RepairResVO, RepairFbVO, RepairRecordVO } from '@/service/repair.d'
 
+const isUpdate = ref(false)
 const repairRes = reactive<RepairResVO>({
   id: '',
   resCode: '',
@@ -118,6 +125,7 @@
 
 const repairFb = reactive<RepairFbVO>({
   id: '',
+  resId: '',
   resCode: '',
   fbResult: '',
   suggestions: '',
@@ -134,8 +142,8 @@
 }
 
 function getRepairRecord() {
-  if(!repairRes.id){
-     return false
+  if (!repairRes.id) {
+    return false
   }
   const params = {
     resId: repairRes.id,
@@ -143,7 +151,7 @@
   getRepairRecordList(params)
     .then((res: any) => {
       console.error(res)
-      if(res?.code === 200){
+      if (res?.code === 200) {
         repairRecordList.value = res?.rows?.sort((a, b) => {
           if (a.handleTime < b.handleTime) {
             return -1
@@ -157,7 +165,6 @@
     })
     .catch((res) => {})
 }
-
 
 function initRepairRes(id: any) {
   getRepairRes(id)
@@ -174,15 +181,62 @@
 function getFeedBack(id: any) {
   getRepairFb(id)
     .then((res: any) => {
+      // 鍦ㄨ繖閲岃繘琛屾暟鎹被鍨嬭浆鎹�
+      res.repairSatisfaction = Number(res?.repairSatisfaction)
+      res.repairTimeliness = Number(res?.repairTimeliness)
+      res.serviceAttitude = Number(res?.serviceAttitude)
+      res.repairSs = Number(res?.repairSs)
       Object.assign(repairFb, res)
     })
     .catch((res) => {})
 }
-async function initData(options: any) {
-  initRepairRes(options.id)
 
+function handleRepairFb() {
+  if(isOperatorOrRepair()){
+    uni.showToast({
+      title: '鏃犳潈闄�,璇风櫥褰曠鐞嗗憳璐﹀彿鎿嶄綔',
+      icon: 'none',
+    })
+    return false
+  }
+  const id = repairFb.id
+  isUpdate.value = !!id
+  if (isUpdate.value) {
+    updateRepairFb(repairFb)
+      .then((res: any) => {
+        if (res?.code === 200) {
+          uni.showToast({
+            title: '淇敼鎴愬姛',
+            icon: 'none',
+          })
+        }
+      })
+      .catch((res) => {})
+  } else {
+    addRepairFb(repairFb)
+      .then((res: any) => {
+        if (res?.code === 200) {
+          uni.showToast({
+            title: '璇勪环鎴愬姛',
+            icon: 'none',
+          })
+        }
+      })
+      .catch((res) => {})
+  }
 }
 
+async function initData(options: any) {
+  repairFb.resId = options.id
+  initRepairRes(options.id)
+}
+
+onNavigationBarButtonTap((e) => {
+  if (e.index === 0) {
+    handleRepairFb()
+  }
+})
+
 onLoad((options) => {
   initData(options)
 })

--
Gitblit v1.9.3