From 53bf1e11c46964e15ab2d334457066ed3b68c98d Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期五, 06 六月 2025 12:57:57 +0800
Subject: [PATCH] refactor(lb-eims):调整代码和更新配置- 注释掉 EimsEquImportVo 中的 @ExcelProperty 注解 - 优化 EimsEquImportListener 中的异常日志输出- 更新 snailjob 监控页面的 iframe 源地址- 修改移动端项目的 API 基础 URL - 优化移动端页面跳转逻辑 - 改进维修请求列表的接单操作流程

---
 eims-ui-mobile/src/pages/maint/maint-st.vue |   75 +++++++++++++++++++++++++++++--------
 1 files changed, 59 insertions(+), 16 deletions(-)

diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue
index 3ad9077..c535f0b 100644
--- a/eims-ui-mobile/src/pages/maint/maint-st.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -13,12 +13,15 @@
     <template #top>
       <wd-drop-menu>
         <wd-drop-menu-item v-model="equName" :options="equList" @change="handleEquName" />
+        <wd-drop-menu-item
+          v-model="filterDate"
+          :options="filterDateList"
+          @change="handleFilterDate"
+        />
         <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">
@@ -54,7 +57,7 @@
             </view>
             <view class="text-color-gray text-xs mt-2 flex">
               <text>鐘舵�侊細</text>
-              <template v-if="item.status=== '1'">
+              <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>
@@ -63,9 +66,7 @@
                 <text class="ml-1">杩涜涓�</text>
               </template>
             </view>
-            <view class="text-color-gray text-xs mt-2 flex">
-              鍒涘缓鏃堕棿: {{item.createTime}}
-            </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>
@@ -77,16 +78,40 @@
 <script setup lang="ts">
 import { ref } from 'vue'
 import { getMaintStList } from '@/service/maint'
+import dayjs from 'dayjs'
+
+/**
+ * 鍏朵粬椤甸潰浼犺繃鏉ョ殑鏁版嵁
+ * assetNo: 璧勪骇缂栧彿
+ * from: 鏄惁鏄壂鐮佽繘鏉ョ殑锛屽鏋滄槸鎵爜杩涙潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
+ */
+interface PageParams {
+  assetNo?: string
+  from?: string
+}
 
 interface QueryParams {
   pageNum: number
   pageSize: number
+  assetNo?: string
   equName?: string
   status?: string
+  params?: NonNullable<unknown>
 }
 
+// 椤甸潰鍙傛暟锛屼笂涓〉闈紶閫掕繃鏉ョ殑鍙傛暟
+const option = reactive<PageParams>({
+  assetNo: '',
+  from: '',
+})
 const status = ref<string>('-1')
 const equName = ref<string>('-1')
+const filterDate = ref<string>('1')
+
+const filterDateList = ref<Record<string, any>[]>([
+  { label: '鎵�鏈夋暟鎹�', value: '0' },
+  { label: '褰撴湀鏁版嵁', value: '1' },
+])
 
 const statusList = ref<Record<string, any>[]>([
   { label: '鎵�鏈夌姸鎬�', value: '-1' },
@@ -100,6 +125,9 @@
 function handleEquName({ value }) {
   console.log(value)
 }
+function handleFilterDate({ value }) {
+  reloadData()
+}
 
 const paging = ref(null)
 const dataList = ref([])
@@ -107,23 +135,38 @@
 const queryList = (pageNum?: number, pageSize?: number) => {
   // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲
   // 杩欓噷鐨勮姹傚彧鏄紨绀猴紝璇锋浛鎹㈡垚鑷繁鐨勯」鐩殑缃戠粶璇锋眰锛屽苟鍦ㄧ綉缁滆姹傚洖璋冧腑閫氳繃paging.value.complete(璇锋眰鍥炴潵鐨勬暟缁�)灏嗚姹傜粨鏋滀紶缁檢-paging
-  const params: QueryParams = {
+  const queryParams: QueryParams = {
     pageNum,
     pageSize,
     equName: equName.value,
     status: status.value,
   }
-  if (equName.value === '-1') {
-    delete params.equName
-  }
-  if (status.value === '-1') {
-    delete params.status
+  if (filterDate.value === '1') {
+    // 鑾峰彇褰撳墠鏃ユ湡
+    const now = dayjs()
+    queryParams.params = {
+      beginPlanTime: now.startOf('month').format('YYYY-MM-DD 00:00:00'),
+      endPlanTime: now.endOf('month').format('YYYY-MM-DD 23:59:59'),
+    }
+  } else {
+    delete queryParams.params
   }
 
-  getMaintStList(params)
+  if (equName.value === '-1') {
+    delete queryParams.equName
+  }
+  if (status.value === '-1') {
+    delete queryParams.status
+  }
+  // 濡傛灉鏄粠鎵爜椤甸潰杩囨潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
+  if (option?.from === 'scan') {
+    queryParams.assetNo = option.assetNo
+  }
+
+  getMaintStList(queryParams)
     .then((res: any) => {
       // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
-      paging.value.complete(res.rows)
+      paging.value.completeByTotal(res.rows, res.total)
     })
     .catch((res) => {
       // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰
@@ -142,8 +185,8 @@
 function reloadData() {
   paging.value.reload()
 }
-onLoad(() => {
-  queryList()
+onLoad((options) => {
+  Object.assign(option, options)
   uni.$on('maint-st-refresh', reloadData)
 })
 onUnload(() => {

--
Gitblit v1.9.3