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/maint/maint-st.vue |   63 +++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 21 deletions(-)

diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue
index 4104498..5abc99f 100644
--- a/eims-ui-mobile/src/pages/maint/maint-st.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -1,6 +1,7 @@
 <route lang="json5" type="page">
 {
   layout: 'default',
+  needLogin: true,
   style: {
     navigationBarTitleText: '淇濆吇姹囨��',
   },
@@ -14,45 +15,45 @@
         <wd-drop-menu-item v-model="equName" :options="equList" @change="handleEquName" />
         <wd-drop-menu-item v-model="status" :options="statusList" @change="handleStatus" />
       </wd-drop-menu>
-      <wd-divider></wd-divider>
     </template>
     <view class="bg-base">
-      <view class="w-full h-[24rpx]"></view>
       <wd-card type="rectangle" v-for="(item, index) in dataList" :key="item.id">
         <template #title>
           <view class="flex justify-between">
             <view class="flex items-center menu-title-box">
               <view class="menu-indicator"></view>
-              <view class="ml-1 text-sm align-center">{{ item.equName }}</view>
+              <view class="ml-1 text-sm align-center w-[50%]">
+                <wd-text :text="item.equName" :lines="1"></wd-text>
+              </view>
               <view class="text-color-gray ml-2 text-mini">{{ item.assetNo }}</view>
             </view>
 
-            <view class="flex items-center">
+            <view class="flex items-center w-[20%] justify-end">
               <text class="text-color-gray text-mini">
-                {{ status === 'Day' ? item?.planTimeStr : item?.planTimeStr?.substring(0, 7) || '' }}
+                {{ item?.planTime }}
               </text>
             </view>
           </view>
         </template>
-        <view class="flex h-[100rpx]" items-center>
+        <view class="flex h-[140rpx]" items-center>
           <image class="slot-img text-center" src="/static/images/camera.png" />
           <view class="flex-1">
             <view class="text-color-gray text-xs mt-1 flex">
-              <text class="mr-3">鐐规鎬绘暟: {{ item.recordCount }}</text>
+              <text class="mr-3">宸ュ崟鎬绘暟: {{ item.orderCount }}</text>
               |
-              <text class="mx-3">宸茬偣妫�: {{ item.checkCount }}</text>
-              |
-              <text class="ml-3">鏈偣妫�: {{ item.unCheckCount }}</text>
+              <text class="mx-3">宸插畬鎴�: {{ item.wcCount }}</text>
             </view>
             <view class="text-color-gray text-xs mt-2 flex">
-              <text class="mr-3">姝e父: {{ item.normalNum }}</text>
+              <text class="mr-3">寰呬繚鍏�: {{ item.dbyCount }}</text>
               |
-              <text class="mx-3">寮傚父: {{ item.abNormalNum }}</text>
+              <text class="mx-3">淇濆吇涓�: {{ item.byCount }}</text>
+              |
+              <text class="ml-3">寰呴獙璇�: {{ item.dyzCount }}</text>
             </view>
             <view class="text-color-gray text-xs mt-2 flex">
               <text>鐘舵�侊細</text>
-              <template v-if="item.recordCount === item.checkCount">
-                <wd-icon class="icon-color-success" name="check-outline" size="40rpx"></wd-icon>
+              <template v-if="item.status === '1'">
+                <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon>
                 <text class="ml-1">宸插畬鎴�</text>
               </template>
               <template v-else>
@@ -60,6 +61,7 @@
                 <text class="ml-1">杩涜涓�</text>
               </template>
             </view>
+            <view class="text-color-gray text-xs mt-2 flex">鍒涘缓鏃堕棿: {{ item.createTime }}</view>
           </view>
           <wd-button size="small" icon="edit-outline" @click.stop="itemClick(item)">鏄庣粏</wd-button>
         </view>
@@ -72,18 +74,34 @@
 import { ref } from 'vue'
 import { getMaintStList } from '@/service/maint'
 
+/**
+ * 鍏朵粬椤甸潰浼犺繃鏉ョ殑鏁版嵁
+ * assetNo: 璧勪骇缂栧彿
+ * from: 鏄惁鏄壂鐮佽繘鏉ョ殑锛屽鏋滄槸鎵爜杩涙潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
+ */
+interface PageParams {
+  assetNo?: string
+  from?: string
+}
+
 interface QueryParams {
   pageNum: number
   pageSize: number
+  assetNo?: string
   equName?: string
   status?: string
 }
 
+// 椤甸潰鍙傛暟锛屼笂涓〉闈紶閫掕繃鏉ョ殑鍙傛暟
+const option = reactive<PageParams>({
+  assetNo: '',
+  from: '',
+})
 const status = ref<string>('-1')
 const equName = ref<string>('-1')
 
 const statusList = ref<Record<string, any>[]>([
-  { label: '鍏ㄩ儴', value: '-1' },
+  { label: '鎵�鏈夌姸鎬�', value: '-1' },
   { label: '寰呬繚鍏�', value: '0' },
   { label: '淇濆吇涓�', value: '1' },
   { label: '寰呴獙璇�', value: '2' },
@@ -113,11 +131,15 @@
   if (status.value === '-1') {
     delete params.status
   }
+  // 濡傛灉鏄粠鎵爜椤甸潰杩囨潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
+  if (option?.from === 'scan') {
+    params.assetNo = option.assetNo
+  }
 
   getMaintStList(params)
     .then((res: any) => {
       // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
-      paging.value.complete(res.rows)
+      paging.value.completeByTotal(res.rows, res.total)
     })
     .catch((res) => {
       // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰
@@ -128,21 +150,20 @@
 }
 
 function itemClick(item) {
-  const inspCode = `${item.equId}_${item.planTime}_${status.value}`
   uni.navigateTo({
-    url: `/pages/inspect/insp-record?id=${item.id}&inspCode=${inspCode}&specialNote=${item.specialNote ?? ''}&equName=${item.equName ?? ''}&assetNo=${item.assetNo ?? ''}&planTimeStr=${item.planTimeStr ?? ''}`,
+    url: `/pages/maint/maint-order?id=${item.id}`,
   })
 }
 
 function reloadData() {
   paging.value.reload()
 }
-onLoad(() => {
-  queryList()
+onLoad((options) => {
+  Object.assign(option, options)
   uni.$on('maint-st-refresh', reloadData)
 })
 onUnload(() => {
-  uni.$off('maint-st-refres', reloadData)
+  uni.$off('maint-st-refresh', reloadData)
 })
 </script>
 

--
Gitblit v1.9.3