From 17aaffd6f60443a070f8f9aab29c6f53d44795de Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期五, 06 六月 2025 09:15:17 +0800
Subject: [PATCH] 添加故障时间

---
 eims-ui-mobile/src/pages/inspect/insp-record.vue |  136 +++++++++++++++++++++++++++++++-------------
 1 files changed, 95 insertions(+), 41 deletions(-)

diff --git a/eims-ui-mobile/src/pages/inspect/insp-record.vue b/eims-ui-mobile/src/pages/inspect/insp-record.vue
index cf97685..f566511 100644
--- a/eims-ui-mobile/src/pages/inspect/insp-record.vue
+++ b/eims-ui-mobile/src/pages/inspect/insp-record.vue
@@ -2,30 +2,25 @@
 {
   layout: 'default',
   needLogin: true,
-  style: {
-    navigationBarTitleText: '鐐规璁板綍',
-    'app-plus': {
-      titleNView: {
-        buttons: [
-          {
-            text: '鎻愪氦',
-            fontSize: '14px',
-            color: '#FFFFFF',
-          },
-          {
-            text: '',
-            fontSize: '24px',
-            color: '#FFFFFF',
-          },
-        ],
-      },
-    },
-  },
+  style: { navigationBarTitleText: '鐐规璁板綍', navigationStyle: 'custom' },
 }
 </route>
 <template>
-  <z-paging ref="paging" v-model="dataList" @query="queryList" show-refresher-update-time>
+  <z-paging ref="paging" v-model="dataList" :auto="false" @query="queryList" show-refresher-update-time>
     <template #top>
+      <wd-navbar
+        title="鐐规璁板綍"
+        left-arrow
+        @click-left="goBack"
+        right-text="鎻愪氦"
+        @click-right="handleClickRight"
+        custom-style="background: #4D80F0;"
+        safeAreaInsetTop
+      >
+        <template #right>
+          <text v-if="isOperatorOrRepair()" class="text-white">鎻愪氦</text>
+        </template>
+      </wd-navbar>
       <wd-card type="rectangle">
         <template #title>
           <view class="flex justify-between">
@@ -66,9 +61,7 @@
                 <text class="ml-1">杩涜涓�</text>
               </template>
             </view>
-            <view class="text-color-gray text-xs mt-2 flex">
-              鍒涘缓鏃堕棿: {{inspSt.createTime}}
-            </view>
+            <view class="text-color-gray text-xs mt-2 flex">鍒涘缓鏃堕棿: {{ inspSt.createTime }}</view>
           </view>
         </view>
       </wd-card>
@@ -85,11 +78,11 @@
         </wd-button>
       </wd-cell>
       <wd-collapse v-model="collSelects" title="鐐规椤�" ref="collapseRef">
-        <wd-collapse-item :name="item.id" v-for="(item, index) in dataList">
+        <wd-collapse-item :name="item.id" v-for="(item, index) in dataList" disabled>
           <template #title="{ expanded, disabled, isFirst }">
             <view class="flex justify-between">
-              <view class="flex justify-center items-center">
-                <text class="text-sm">{{ item.inspName }}</text>
+              <view class="flex justify-center items-center" style="max-width: 60%;">
+                <text class="text-sm" >{{ item.inspName }}</text>
               </view>
 
               <view class="flex items-center">
@@ -118,7 +111,29 @@
           </view>
         </wd-collapse-item>
       </wd-collapse>
-      <view class="w-full h-[1rpx] bg-base"></view>
+      <view class="w-full h-[24rpx]"></view>
+      <wd-cell>
+        <template #title>
+          <text class="text-color-gray">鍏朵粬</text>
+        </template>
+      </wd-cell>
+      <view class="w-full h-[1px] bg-base"></view>
+      <wd-input
+        label="杩愯鏃堕棿"
+        label-width="200rpx"
+        clearable
+        v-model="inspSt.runTimes"
+        placeholder="璇疯緭鍏ヨ繍琛屾椂闂�(h)"
+        inputmode="numeric"
+      />
+      <wd-input
+        label="鏁呴殰鏃堕棿"
+        label-width="200rpx"
+        clearable
+        v-model="inspSt.faultTimes"
+        placeholder="璇疯緭鍏ユ晠闅滄椂闂�(h)"
+        inputmode="numeric"
+      />
       <wd-textarea
         label="鐗硅浜嬮」"
         label-width="200rpx"
@@ -137,7 +152,13 @@
 <script setup lang="ts">
 import { ref } from 'vue'
 import { useUserStore, useAccessStore, useSystemConfigStore } from '@/store'
-import { getInspStRecordList, updateInspectSt, updateInspRecordBatch } from '@/service/inspect'
+import { isLeader, isOperatorOrRepair } from '@/utils/RoleUtils'
+import {
+  getInspStRecordList,
+  getInspSt,
+  updateInspectSt,
+  updateInspRecordBatch,
+} from '@/service/inspect'
 import { useToast, useMessage } from 'wot-design-uni'
 import type { CollapseInstance } from 'wot-design-uni/components/wd-collapse/types'
 const message = useMessage()
@@ -145,6 +166,7 @@
 
 const collapseRef = ref<CollapseInstance>()
 const isAllExpanded = ref(false)
+const viewMode = ref<string>('Day')
 
 // 瀹氫箟鎺ュ彛
 interface QueryParams {
@@ -164,6 +186,8 @@
   status: string
   inspUser: number | string
   specialNote: string
+  runTimes: number
+  faultTimes: number
 }
 
 const dataChange = ref(false)
@@ -183,6 +207,8 @@
   status: '',
   inspUser: '',
   specialNote: '',
+  runTimes: 0,
+  faultTimes: 0,
 })
 
 const paging = ref(null)
@@ -200,7 +226,7 @@
   getInspStRecordList(params)
     .then((res: any) => {
       // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
-      paging.value.complete(res.rows)
+      paging.value.completeByTotal(res.rows, res.total)
     })
     .catch((res) => {
       // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰
@@ -217,11 +243,13 @@
 const goBack = () => {
   uni.navigateBack()
 }
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
+
+function handleClickRight() {
+  if(isOperatorOrRepair()){
     handleConfirm()
   }
-})
+
+}
 
 const toggleCollapse = () => {
   isAllExpanded.value = !isAllExpanded.value
@@ -255,10 +283,10 @@
   updateInspRecordBatch(params)
     .then((res: any) => {
       updateInspSt(resolve)
-      toast.success("鎿嶄綔鎴愬姛")
     })
     .catch((res) => {
       console.error(res)
+      toast.error('鎿嶄綔澶辫触')
     })
 }
 function updateInspSt(resolve: any) {
@@ -266,12 +294,14 @@
   inspSt.status = '1'
   updateInspectSt(inspSt)
     .then((res: any) => {
+      toast.success('鎿嶄綔鎴愬姛')
       paging.value.reload()
       uni.$emit('insp-st-refresh')
       resolve(true)
     })
     .catch((res) => {
       console.error(res)
+      toast.error('鎿嶄綔澶辫触')
     })
 }
 
@@ -291,16 +321,40 @@
   { deep: true },
 )
 onLoad((options) => {
-  inspSt.id = options.id
-  inspSt.inspCode = options.inspCode
-  inspSt.equName = options.equName
-  inspSt.assetNo = options.assetNo
-  inspSt.planTimeStr = options.planTimeStr
-  inspSt.createTime = options.createTime
-  inspSt.specialNote = options?.specialNote
-  inspSt.inspUser = userStore?.userInfo?.userId
+  // inspSt.id = options.id
+  // inspSt.inspCode = options.inspCode
+  // inspSt.equName = options.equName
+  // inspSt.assetNo = options.assetNo
+  // inspSt.planTimeStr = options.planTimeStr
+  // inspSt.createTime = options.createTime
+  // inspSt.specialNote = options?.specialNote
+  // inspSt.inspUser = userStore?.userInfo?.userId
+  viewMode.value = options.viewMode
+  initData(options.id)
 })
 
+function initData(id: any) {
+  getInspSt(id)
+    .then((res: any) => {
+      if (res?.id) {
+        const inspCode = `${res?.equId}_${res?.planTime}_${viewMode.value}`
+        inspSt.inspCode = inspCode
+        Object.assign(inspSt, res)
+        reloadData()
+      } else {
+        uni.showToast({
+          title: '鏁版嵁鏌ヨ澶辫触锛岃鑱旂郴绠$悊鍛�',
+          icon: 'none',
+        })
+      }
+    })
+    .catch((res) => {
+      console.error(res)
+    })
+}
+function reloadData() {
+  paging.value.reload()
+}
 const dataCount = computed(() => dataList.value.length)
 const checkCount = computed(() => dataList.value.filter((item) => item.status === '1').length)
 const normalNum = computed(() => dataList.value.filter((item) => item.inspResult === '1').length)

--
Gitblit v1.9.3