From 7fe7b6182c2d407d28c2c9da1c070c3ce964e3e7 Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 20 五月 2025 10:49:14 +0800
Subject: [PATCH] 1.移动端添加自定义navbar导航栏

---
 eims-ui-mobile/src/layouts/default.vue                                                               |    4 
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java |    6 
 eims-ui-mobile/src/pages/my/index.vue                                                                |    8 
 eims-ui-mobile/src/pages/inspect/insp-st.vue                                                         |   34 ++
 eims-ui-mobile/src/pages/repair/res-list.vue                                                         |   94 +++++--
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java             |    2 
 eims-ui-mobile/src/pages/repair/repair-add.vue                                                       |   51 +--
 eims-ui-mobile/src/pages/maint/order-detail.vue                                                      |  129 +++++-----
 eims-ui-mobile/src/pages/maint/maint-order.vue                                                       |   45 +-
 eims-ui-mobile/src/pages/maint/maint-st.vue                                                          |   37 ++
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java |    3 
 eims-ui-mobile/src/pages.json                                                                        |  108 --------
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java                  |    3 
 eims-ui-mobile/src/pages/equ/equ-list.vue                                                            |   17 +
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java             |    3 
 eims-ui-mobile/src/pages/home/index.vue                                                              |    1 
 eims-ui-mobile/src/pages/inspect/insp-record.vue                                                     |   42 +-
 eims-ui-mobile/src/pages/repair/req-list.vue                                                         |  102 +++++--
 18 files changed, 364 insertions(+), 325 deletions(-)

diff --git a/eims-ui-mobile/src/layouts/default.vue b/eims-ui-mobile/src/layouts/default.vue
index 768d875..35dc7a5 100644
--- a/eims-ui-mobile/src/layouts/default.vue
+++ b/eims-ui-mobile/src/layouts/default.vue
@@ -13,5 +13,9 @@
   // colorTheme: 'red',
   // buttonPrimaryBgColor: '#07c160',
   // buttonPrimaryColor: '#07c160',
+  navbarColor: '#FFFFFF',
+  navbarDescFontColor: '#FFFFFF',
+  navbarTitleFontSize: '16px',
+  navbarDescFontSize: '14px',
 }
 </script>
diff --git a/eims-ui-mobile/src/pages.json b/eims-ui-mobile/src/pages.json
index 6bc5e7e..08bf8fa 100644
--- a/eims-ui-mobile/src/pages.json
+++ b/eims-ui-mobile/src/pages.json
@@ -69,7 +69,8 @@
       "layout": "default",
       "needLogin": true,
       "style": {
-        "navigationBarTitleText": "璁惧鍒楄〃"
+        "navigationBarTitleText": "璁惧鍒楄〃",
+        "navigationStyle": "custom"
       }
     },
     {
@@ -105,22 +106,7 @@
       "needLogin": true,
       "style": {
         "navigationBarTitleText": "鐐规璁板綍",
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "text": "鎻愪氦",
-                "fontSize": "14px",
-                "color": "#FFFFFF"
-              },
-              {
-                "text": "",
-                "fontSize": "24px",
-                "color": "#FFFFFF"
-              }
-            ]
-          }
-        }
+        "navigationStyle": "custom"
       }
     },
     {
@@ -147,22 +133,7 @@
       "needLogin": true,
       "style": {
         "navigationBarTitleText": "淇濆吇宸ュ崟",
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "text": "鎻愪氦",
-                "fontSize": "14px",
-                "color": "#FFFFFF"
-              },
-              {
-                "text": "",
-                "fontSize": "24px",
-                "color": "#FFFFFF"
-              }
-            ]
-          }
-        }
+        "navigationStyle": "custom"
       }
     },
     {
@@ -181,22 +152,7 @@
       "needLogin": true,
       "style": {
         "navigationBarTitleText": "宸ュ崟鏄庣粏",
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "text": "鎻愪氦",
-                "fontSize": "14px",
-                "color": "#FFFFFF"
-              },
-              {
-                "text": "",
-                "fontSize": "24px",
-                "color": "#FFFFFF"
-              }
-            ]
-          }
-        }
+        "navigationStyle": "custom"
       }
     },
     {
@@ -212,24 +168,10 @@
       "path": "pages/repair/repair-add",
       "type": "page",
       "layout": "default",
+      "needLogin": true,
       "style": {
         "navigationBarTitleText": "娣诲姞鎶ヤ慨",
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "text": "鎻愪氦",
-                "fontSize": "14px",
-                "color": "#FFFFFF"
-              },
-              {
-                "text": "",
-                "fontSize": "24px",
-                "color": "#FFFFFF"
-              }
-            ]
-          }
-        }
+        "navigationStyle": "custom"
       }
     },
     {
@@ -263,23 +205,8 @@
       "layout": "default",
       "needLogin": true,
       "style": {
-        "navigationBarTitleText": "璁惧鎶ヤ慨",
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "text": "鏂板",
-                "fontSize": "14px",
-                "color": "#FFFFFF"
-              },
-              {
-                "text": "",
-                "fontSize": "24px",
-                "color": "#FFFFFF"
-              }
-            ]
-          }
-        }
+        "navigationBarTitleText": "鎶ヤ慨鍒楄〃",
+        "navigationStyle": "custom"
       }
     },
     {
@@ -314,22 +241,7 @@
       "needLogin": true,
       "style": {
         "navigationBarTitleText": "璁惧缁翠慨",
-        "app-plus": {
-          "titleNView": {
-            "buttons": [
-              {
-                "text": "鎺ュ崟",
-                "fontSize": "14px",
-                "color": "#FFFFFF"
-              },
-              {
-                "text": "",
-                "fontSize": "24px",
-                "color": "#FFFFFF"
-              }
-            ]
-          }
-        }
+        "navigationStyle": "custom"
       }
     },
     {
diff --git a/eims-ui-mobile/src/pages/equ/equ-list.vue b/eims-ui-mobile/src/pages/equ/equ-list.vue
index ecd0923..e185716 100644
--- a/eims-ui-mobile/src/pages/equ/equ-list.vue
+++ b/eims-ui-mobile/src/pages/equ/equ-list.vue
@@ -2,14 +2,19 @@
 {
   layout: 'default',
   needLogin: true,
-  style: {
-    navigationBarTitleText: '璁惧鍒楄〃',
-  },
+  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" @query="queryList" show-refresher-update-time>
     <template #top>
+      <wd-navbar
+        title="璁惧鍒楄〃"
+        left-arrow
+        @click-left="goBack"
+        custom-style="background: #4D80F0;"
+        safeAreaInsetTop
+      ></wd-navbar>
       <wd-drop-menu>
         <wd-drop-menu-item
           v-model="equTypeId"
@@ -123,6 +128,10 @@
     })
 }
 
+const goBack = () => {
+  uni.navigateBack()
+}
+
 /**
  * 璁惧鏉$洰鐐瑰嚮浜嬩欢
  * @param item
diff --git a/eims-ui-mobile/src/pages/home/index.vue b/eims-ui-mobile/src/pages/home/index.vue
index 54b0029..5bac502 100644
--- a/eims-ui-mobile/src/pages/home/index.vue
+++ b/eims-ui-mobile/src/pages/home/index.vue
@@ -95,6 +95,7 @@
               v-for="(item, index) in commonMenu"
               :key="item.id"
               @click.stop="goItemPage(item)"
+              v-show="!(isLeader() && item.custom)"
             >
               <image class="slot-img text-center" :src="item.icon" />
               <text>{{ item.name }}</text>
diff --git a/eims-ui-mobile/src/pages/inspect/insp-record.vue b/eims-ui-mobile/src/pages/inspect/insp-record.vue
index fb20b64..d979f18 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" :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">
@@ -141,6 +136,7 @@
 <script setup lang="ts">
 import { ref } from 'vue'
 import { useUserStore, useAccessStore, useSystemConfigStore } from '@/store'
+import { isLeader, isOperatorOrRepair } from "@/utils/RoleUtils";
 import {
   getInspStRecordList,
   getInspSt,
@@ -227,11 +223,13 @@
 const goBack = () => {
   uni.navigateBack()
 }
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
+
+function handleClickRight() {
+  if(isOperatorOrRepair()){
     handleConfirm()
   }
-})
+
+}
 
 const toggleCollapse = () => {
   isAllExpanded.value = !isAllExpanded.value
diff --git a/eims-ui-mobile/src/pages/inspect/insp-st.vue b/eims-ui-mobile/src/pages/inspect/insp-st.vue
index ee381b4..9e495be 100644
--- a/eims-ui-mobile/src/pages/inspect/insp-st.vue
+++ b/eims-ui-mobile/src/pages/inspect/insp-st.vue
@@ -13,6 +13,11 @@
     <template #top>
       <wd-drop-menu>
         <wd-drop-menu-item v-model="viewMode" :options="viewModeList" @change="handleViewMode" />
+        <wd-drop-menu-item
+          v-model="filterDate"
+          :options="filterDateList"
+          @change="handleFilterDate"
+        />
         <wd-drop-menu-item v-model="equName" :options="equList" @change="handleEquName" />
       </wd-drop-menu>
     </template>
@@ -61,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>
@@ -75,15 +78,21 @@
 <script setup lang="ts">
 import { ref } from 'vue'
 import { getInspStList } from '@/service/inspect'
-import { onShow } from '@dcloudio/uni-app'
+import dayjs from 'dayjs'
 
 const viewMode = ref<string>('Day')
 const equName = ref<string>('鎵�鏈夎澶�')
+const filterDate = ref<string>('1')
 
 const viewModeList = ref<Record<string, any>[]>([
   { label: '鏃ヨ鍥�', value: 'Day' },
   { label: '鏈堣鍥�', value: 'Month' },
 ])
+const filterDateList = ref<Record<string, any>[]>([
+  { label: '鎵�鏈夋暟鎹�', value: '0' },
+  { label: '褰撳ぉ(鏈�)鏁版嵁', value: '1' },
+])
+
 const equList = ref<Record<string, any>[]>([{ label: '鎵�鏈夎澶�', value: '鎵�鏈夎澶�' }])
 function handleViewMode({ value }) {
   reloadData()
@@ -91,14 +100,25 @@
 function handleEquName({ value }) {
   console.log(value)
 }
+function handleFilterDate({ value }) {
+  reloadData()
+}
 
 const paging = ref(null)
 const dataList = ref([])
 
 const queryList = (pageNum?: number, pageSize?: number) => {
-  // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲
-  // 杩欓噷鐨勮姹傚彧鏄紨绀猴紝璇锋浛鎹㈡垚鑷繁鐨勯」鐩殑缃戠粶璇锋眰锛屽苟鍦ㄧ綉缁滆姹傚洖璋冧腑閫氳繃paging.value.complete(璇锋眰鍥炴潵鐨勬暟缁�)灏嗚姹傜粨鏋滀紶缁檢-paging
-  getInspStList({ pageNum, pageSize, viewMode: viewMode.value })
+  const params: any = {
+    pageNum,
+    pageSize,
+    viewMode: viewMode.value,
+  }
+  if (filterDate.value === '1') {
+    params.planTime = dayjs().format('YYYY-MM-DD')
+  } else {
+    delete params.planTime
+  }
+  getInspStList(params)
     .then((res: any) => {
       // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
       paging.value.completeByTotal(res.rows, res.total)
diff --git a/eims-ui-mobile/src/pages/maint/maint-order.vue b/eims-ui-mobile/src/pages/maint/maint-order.vue
index e87f216..7f2da57 100644
--- a/eims-ui-mobile/src/pages/maint/maint-order.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-order.vue
@@ -2,25 +2,7 @@
 {
   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>
 
@@ -33,6 +15,19 @@
     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-cell>
         <template #title>
           <text class="text-color-gray">璁惧</text>
@@ -434,11 +429,17 @@
 function reloadData() {
   initMaintSt(maintStId.value)
 }
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
+
+const goBack = () => {
+  uni.navigateBack()
+}
+
+function handleClickRight() {
+  if(isOperatorOrRepair()){
     handleUpdateMaintSt()
   }
-})
+
+}
 
 onLoad(() => {
   uni.$on('maint-order-refresh', reloadData)
diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue
index 5abc99f..c535f0b 100644
--- a/eims-ui-mobile/src/pages/maint/maint-st.vue
+++ b/eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -13,6 +13,11 @@
     <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>
     </template>
@@ -73,6 +78,7 @@
 <script setup lang="ts">
 import { ref } from 'vue'
 import { getMaintStList } from '@/service/maint'
+import dayjs from 'dayjs'
 
 /**
  * 鍏朵粬椤甸潰浼犺繃鏉ョ殑鏁版嵁
@@ -90,6 +96,7 @@
   assetNo?: string
   equName?: string
   status?: string
+  params?: NonNullable<unknown>
 }
 
 // 椤甸潰鍙傛暟锛屼笂涓〉闈紶閫掕繃鏉ョ殑鍙傛暟
@@ -99,6 +106,12 @@
 })
 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' },
@@ -112,6 +125,9 @@
 function handleEquName({ value }) {
   console.log(value)
 }
+function handleFilterDate({ value }) {
+  reloadData()
+}
 
 const paging = ref(null)
 const dataList = ref([])
@@ -119,24 +135,35 @@
 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 (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
+  }
+
   if (equName.value === '-1') {
-    delete params.equName
+    delete queryParams.equName
   }
   if (status.value === '-1') {
-    delete params.status
+    delete queryParams.status
   }
   // 濡傛灉鏄粠鎵爜椤甸潰杩囨潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
   if (option?.from === 'scan') {
-    params.assetNo = option.assetNo
+    queryParams.assetNo = option.assetNo
   }
 
-  getMaintStList(params)
+  getMaintStList(queryParams)
     .then((res: any) => {
       // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
       paging.value.completeByTotal(res.rows, res.total)
diff --git a/eims-ui-mobile/src/pages/maint/order-detail.vue b/eims-ui-mobile/src/pages/maint/order-detail.vue
index 9823cd4..e9571df 100644
--- a/eims-ui-mobile/src/pages/maint/order-detail.vue
+++ b/eims-ui-mobile/src/pages/maint/order-detail.vue
@@ -2,29 +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>
   <view class="bg-base container" safeAreaInsetTopBottom>
+    <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>
+        <text v-else-if="isLeader()" class="text-white">楠岃瘉</text>
+      </template>
+    </wd-navbar>
     <wd-form ref="form" :model="order" :rules="rules">
       <wd-cell-group custom-class="group" title="璁惧淇℃伅" border>
         <wd-cell title="璁惧鍚嶇О" title-width="200rpx" is-link>
@@ -199,7 +195,7 @@
   toast.success('鎿嶄綔鎴愬姛')
 }
 
-function handleClickRight(data: any) {
+function handleSubmit(data: any) {
   message
     .confirm({
       msg: '纭畾鎻愪氦锛�',
@@ -214,55 +210,56 @@
     })
 }
 
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
-    // 绠$悊鍛樿鑹� 涓斿緟楠岃瘉鐘舵��
-    if (isLeader()) {
-      switch (order.status) {
-        case '0':
-        case '1':
-          toast.warning('褰撳墠宸ュ崟绛夊緟鎿嶄綔宸ヤ繚鍏荤姸鎬侊紝涓嶅彲鎿嶄綔')
-          break
-        case '2':
-          // 鍕鹃�夐獙璇侊紝鍙彁浜�
-          if (isVerify.value) {
-            // 淇敼宸ュ崟鐘舵�佷负宸插畬鎴�
-            const data: any = Object.assign({}, { id: order.id, status: order.status })
-            data.status = '3'
-            handleClickRight(data)
-          } else {
-            toast.warning('璇烽�夋嫨鏄惁楠岃瘉閫氳繃')
+const goBack = () => {
+  uni.navigateBack()
+}
+function handleClickRight() {
+  // 绠$悊鍛樿鑹� 涓斿緟楠岃瘉鐘舵��
+  if (isLeader()) {
+    switch (order.status) {
+      case '0':
+      case '1':
+        toast.warning('褰撳墠宸ュ崟绛夊緟鎿嶄綔宸ヤ繚鍏荤姸鎬侊紝涓嶅彲鎿嶄綔')
+        break
+      case '2':
+        // 鍕鹃�夐獙璇侊紝鍙彁浜�
+        if (isVerify.value) {
+          // 淇敼宸ュ崟鐘舵�佷负宸插畬鎴�
+          const data: any = Object.assign({}, { id: order.id, status: order.status })
+          data.status = '3'
+          handleSubmit(data)
+        } else {
+          toast.warning('璇烽�夋嫨鏄惁楠岃瘉閫氳繃')
+        }
+        break
+      case '3':
+        toast.warning('褰撳墠宸ュ崟瀹屾垚鐘舵�侊紝涓嶅彲鎿嶄綔')
+        break
+    }
+  } else if (isOperatorOrRepair()) {
+    switch (order.status) {
+      case '0':
+        break
+      case '1':
+        {
+          const data = Object.assign({}, order)
+          // 鍕鹃�夊伐鍗曞畬鎴愶紝鏀瑰彉鐘舵��
+          if (isFinish.value) {
+            // 淇敼宸ュ崟鐘舵�佷负寰呴獙璇�
+            data.status = '2'
           }
-          break
-        case '3':
-          toast.warning('褰撳墠宸ュ崟瀹屾垚鐘舵�侊紝涓嶅彲鎿嶄綔')
-          break
-      }
-    } else if (isOperatorOrRepair()) {
-      switch (order.status) {
-        case '0':
-          break
-        case '1':
-          {
-            const data = Object.assign({}, order)
-            // 鍕鹃�夊伐鍗曞畬鎴愶紝鏀瑰彉鐘舵��
-            if (isFinish.value) {
-              // 淇敼宸ュ崟鐘舵�佷负寰呴獙璇�
-              data.status = '2'
-            }
-            handleClickRight(data)
-          }
-          break
-        case '2':
-          toast.warning('褰撳墠宸ュ崟绛夊緟绠$悊楠岃瘉鐘舵�侊紝涓嶅彲鎿嶄綔')
-          break
-        case '3':
-          toast.warning('褰撳墠宸ュ崟瀹屾垚鐘舵�侊紝涓嶅彲鎿嶄綔')
-          break
-      }
+          handleSubmit(data)
+        }
+        break
+      case '2':
+        toast.warning('褰撳墠宸ュ崟绛夊緟绠$悊楠岃瘉鐘舵�侊紝涓嶅彲鎿嶄綔')
+        break
+      case '3':
+        toast.warning('褰撳墠宸ュ崟瀹屾垚鐘舵�侊紝涓嶅彲鎿嶄綔')
+        break
     }
   }
-})
+}
 
 onMounted(() => {})
 onLoad((options) => {
diff --git a/eims-ui-mobile/src/pages/my/index.vue b/eims-ui-mobile/src/pages/my/index.vue
index 8a5bd92..41c97d5 100644
--- a/eims-ui-mobile/src/pages/my/index.vue
+++ b/eims-ui-mobile/src/pages/my/index.vue
@@ -11,12 +11,12 @@
 <template>
   <view class="bg-base">
     <wd-cell-group border>
-      <wd-cell title="鐧诲綍鐢ㄦ埛" :value="realName" icon="user" is-link />
-      <wd-cell title="瑙掕壊" :value="loginRoleName()" icon="bags" is-link />
-      <wd-cell title="浜哄憳绠$悊" icon="usergroup" is-link @click="handleInfo" />
+      <wd-cell title="鐧诲綍鐢ㄦ埛" :value="realName" icon="user"  custom-icon-class="icon-color-base" is-link />
+      <wd-cell title="瑙掕壊" :value="loginRoleName()" icon="bags"  custom-icon-class="icon-color-base" is-link />
+      <wd-cell title="浜哄憳绠$悊" icon="usergroup" is-link  custom-icon-class="icon-color-base" @click="handleInfo" />
     </wd-cell-group>
     <wd-cell-group border class="mt-2">
-      <wd-cell title="閫�鍑虹櫥褰�" icon="login" is-link @click="handleLogout" />
+      <wd-cell title="閫�鍑虹櫥褰�" icon="login" is-link  custom-icon-class="icon-color-base" @click="handleLogout" />
     </wd-cell-group>
   </view>
 </template>
diff --git a/eims-ui-mobile/src/pages/repair/repair-add.vue b/eims-ui-mobile/src/pages/repair/repair-add.vue
index 05718e4..2a2778c 100644
--- a/eims-ui-mobile/src/pages/repair/repair-add.vue
+++ b/eims-ui-mobile/src/pages/repair/repair-add.vue
@@ -1,30 +1,22 @@
 <route lang="json5" type="page">
 {
   layout: 'default',
-  style: {
-    navigationBarTitleText: '娣诲姞鎶ヤ慨',
-    'app-plus': {
-      titleNView: {
-        buttons: [
-          {
-            text: '鎻愪氦',
-            fontSize: '14px',
-            color: '#FFFFFF',
-          },
-          {
-            text: '',
-            fontSize: '24px',
-            color: '#FFFFFF',
-          },
-        ],
-      },
-    },
-  },
+  needLogin: true,
+  style: { navigationBarTitleText: '娣诲姞鎶ヤ慨', navigationStyle: 'custom' },
 }
 </route>
 
 <template>
   <view class="bg-base">
+    <wd-navbar
+      title="娣诲姞鎶ヤ慨"
+      left-arrow
+      @click-left="goBack"
+      right-text="鎻愪氦"
+      @click-right="handleSubmit"
+      custom-style="background: #4D80F0;"
+      safeAreaInsetTop
+    ></wd-navbar>
     <wd-form ref="form" :model="model">
       <wd-cell-group custom-class="group" title="绫诲瀷淇℃伅" border>
         <wd-picker
@@ -243,12 +235,14 @@
   fixtureName: '',
   fileList: [],
 })
-
+const goBack = () => {
+  uni.navigateBack()
+}
 /**
  * 閫夋嫨璁惧
  */
 function handleSelectEqu() {
-  if(reqTypeDis.value){
+  if (reqTypeDis.value) {
     return false
   }
   uni.navigateTo({
@@ -387,20 +381,17 @@
 /**
  * 閫夋嫨鎶ヤ慨绫诲瀷
  */
-function handleConfirmReqType({ value }) {
-}
+function handleConfirmReqType({ value }) {}
 
 /**
  * 閫夋嫨鏁呴殰绫诲埆
  */
-function handleConfirmFaultType({ value }) {
-}
+function handleConfirmFaultType({ value }) {}
 
 /**
  * 閫夋嫨绱ф�ョ▼搴�
  */
-function handleConfirmUrgencyLevel({ value }) {
-}
+function handleConfirmUrgencyLevel({ value }) {}
 
 async function initData() {
   const reqTypeList = await getDictInfo(DICT_REPAIR_REQ_TYPE)
@@ -412,12 +403,6 @@
   const uList = await getDictInfo(DICT_REPAIR_URGENCY_LEVEL)
   urgencyList.value = uList
 }
-
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
-    handleSubmit()
-  }
-})
 
 onLoad((options) => {
   Object.assign(option, options)
diff --git a/eims-ui-mobile/src/pages/repair/req-list.vue b/eims-ui-mobile/src/pages/repair/req-list.vue
index 54209d6..4db9c85 100644
--- a/eims-ui-mobile/src/pages/repair/req-list.vue
+++ b/eims-ui-mobile/src/pages/repair/req-list.vue
@@ -2,30 +2,27 @@
 {
   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" :auto="false" @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
+      ></wd-navbar>
       <wd-drop-menu v-if="!isSelectReq">
         <wd-drop-menu-item
           v-model="reqTypeId"
@@ -33,6 +30,11 @@
           value-key="dictValue"
           :options="reqTypeList"
           @change="handleReqType"
+        />
+        <wd-drop-menu-item
+          v-model="filterDate"
+          :options="filterDateList"
+          @change="handleFilterDate"
         />
         <wd-drop-menu-item
           v-model="status"
@@ -138,6 +140,7 @@
 import { useToast, useMessage } from 'wot-design-uni'
 import { getRepairReqList, delRepairReq } from '@/service/repair'
 import { DICT_REPAIR_REQ_STATUS, DICT_REPAIR_REQ_TYPE, getDictInfo } from '@/service/dict'
+import dayjs from "dayjs";
 
 const message = useMessage()
 const toast = useToast()
@@ -148,6 +151,14 @@
 
 const isSelectReq = ref(false)
 
+const filterDate = ref<string>('2')
+
+const filterDateList = ref<Record<string, any>[]>([
+  { label: '鎵�鏈夋暟鎹�', value: '0' },
+  { label: '褰撳ぉ鏁版嵁', value: '1' },
+  { label: '褰撴湀鏁版嵁', value: '2' },
+])
+
 const reqTypeList = ref<any>([{ dictLabel: '鎵�鏈夌被鍨�', dictValue: -1 }])
 const statusList = ref<any>([{ dictLabel: '鎵�鏈夌姸鎬�', dictValue: -1 }])
 function handleReqType({ value }) {
@@ -156,25 +167,47 @@
 function handleReqStatu({ value }) {
   reloadData()
 }
+function handleFilterDate({ value }) {
+  reloadData()
+}
+
+
 
 const paging = ref(null)
 const dataList = ref([])
 
 const queryList = (pageNum?: number, pageSize?: number) => {
-  const parmams = {
+  const queryParams: any = {
     pageNum,
     pageSize,
     reqType: reqTypeId.value,
     status: status.value,
   }
   if (reqTypeId.value === -1) {
-    delete parmams.reqType
+    delete queryParams.reqType
   }
   if (status.value === -1) {
-    delete parmams.status
+    delete queryParams.status
   }
 
-  getRepairReqList(parmams)
+  if (filterDate.value === '1') {
+    // 鑾峰彇褰撳墠鏃ユ湡
+    const now = dayjs()
+    queryParams.params = {
+      beginReqTime: now.startOf('day').format('YYYY-MM-DD 00:00:00'),
+      endReqTime: now.endOf('day').format('YYYY-MM-DD 23:59:59'),
+    }
+  } else if (filterDate.value === '2') {
+    const now = dayjs()
+    queryParams.params = {
+      beginReqTime: now.startOf('month').format('YYYY-MM-DD 00:00:00'),
+      endReqTime: now.endOf('month').format('YYYY-MM-DD 23:59:59'),
+    }
+  } else {
+    delete queryParams.params
+  }
+
+  getRepairReqList(queryParams)
     .then((res: any) => {
       paging.value.completeByTotal(res.rows, res.total)
     })
@@ -246,13 +279,20 @@
   })
 }
 
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0 && !isSelectReq.value) {
-    uni.navigateTo({
-      url: `/pages/repair/repair-add`,
-    })
-  }
-})
+const goBack = () => {
+  uni.navigateBack()
+}
+function handleClickRight() {
+  // if (e.index === 0 && !isSelectReq.value) {
+  //   uni.navigateTo({
+  //     url: `/pages/repair/repair-add`,
+  //   })
+  // }
+
+  uni.navigateTo({
+    url: `/pages/repair/repair-add`,
+  })
+}
 
 const eventChannel = ref<any>()
 onMounted(() => {
diff --git a/eims-ui-mobile/src/pages/repair/res-list.vue b/eims-ui-mobile/src/pages/repair/res-list.vue
index 02b2570..087fb22 100644
--- a/eims-ui-mobile/src/pages/repair/res-list.vue
+++ b/eims-ui-mobile/src/pages/repair/res-list.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>
     <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-drop-menu>
         <wd-drop-menu-item
           v-model="resTypeId"
@@ -33,6 +28,11 @@
           value-key="dictValue"
           :options="resTypeList"
           @change="handleResType"
+        />
+        <wd-drop-menu-item
+          v-model="filterDate"
+          :options="filterDateList"
+          @change="handleFilterDate"
         />
         <wd-drop-menu-item
           v-model="status"
@@ -195,6 +195,7 @@
 import { isLeader, isOperatorOrRepair } from '@/utils/RoleUtils'
 import { useUserStore } from '@/store'
 import { formatDate } from '@/utils/DateUtils'
+import dayjs from "dayjs";
 const userStore = useUserStore()
 
 const message = useMessage()
@@ -222,7 +223,13 @@
 const status = ref<number>(-1)
 
 const isSelectRes = ref(false)
+const filterDate = ref<string>('2')
 
+const filterDateList = ref<Record<string, any>[]>([
+  { label: '鎵�鏈夋暟鎹�', value: '0' },
+  { label: '褰撳ぉ鏁版嵁', value: '1' },
+  { label: '褰撴湀鏁版嵁', value: '2' },
+])
 const resTypeList = ref<any>([{ dictLabel: '鎵�鏈夌被鍨�', dictValue: -1 }])
 const statusList = ref<any>([{ dictLabel: '鎵�鏈夌姸鎬�', dictValue: -1 }])
 function handleResType({ value }) {
@@ -231,28 +238,48 @@
 function handleResStatu({ value }) {
   reloadData()
 }
+function handleFilterDate({ value }) {
+  reloadData()
+}
 
 const paging = ref(null)
 const dataList = ref([])
 
 const queryList = (pageNum?: number, pageSize?: number) => {
-  const params: any = {
+  const queryParams: any = {
     pageNum,
     pageSize,
     reqType: resTypeId.value,
     status: status.value,
   }
   if (resTypeId.value === -1) {
-    delete params.reqType
+    delete queryParams.reqType
   }
   if (status.value === -1) {
-    delete params.status
+    delete queryParams.status
+  }
+
+  if (filterDate.value === '1') {
+    // 鑾峰彇褰撳墠鏃ユ湡
+    const now = dayjs()
+    queryParams.params = {
+      beginReqTime: now.startOf('day').format('YYYY-MM-DD 00:00:00'),
+      endReqTime: now.endOf('day').format('YYYY-MM-DD 23:59:59'),
+    }
+  } else if (filterDate.value === '2') {
+    const now = dayjs()
+    queryParams.params = {
+      beginReqTime: now.startOf('month').format('YYYY-MM-DD 00:00:00'),
+      endReqTime: now.endOf('month').format('YYYY-MM-DD 23:59:59'),
+    }
+  } else {
+    delete queryParams.params
   }
   // 濡傛灉鏄粠鎵爜椤甸潰杩囨潵锛屽彧鑳芥煡璇㈠浐瀹氳澶囩殑鏁版嵁
   if (option?.from === 'scan') {
-    params.assetNo = option.assetNo
+    queryParams.assetNo = option.assetNo
   }
-  getRepairResList(params)
+  getRepairResList(queryParams)
     .then((res: any) => {
       paging.value.completeByTotal(res.rows, res.total)
     })
@@ -330,16 +357,17 @@
     url: `/pages/repair/repair-fb?id=${item.id}`,
   })
 }
-
-onNavigationBarButtonTap((e) => {
-  if (e.index === 0) {
-    if (isLeader()) {
-      toast.info('璇风櫥褰曠淮淇伐璐﹀彿鎺ュ崟')
-    } else if (isOperatorOrRepair()) {
-      handleSelectReq()
-    }
+const goBack = () => {
+  uni.navigateBack()
+}
+function handleClickRight() {
+  if (isLeader()) {
+    toast.info('璇风櫥褰曠淮淇伐璐﹀彿鎺ュ崟')
+  } else if (isOperatorOrRepair()) {
+    handleSelectReq()
   }
-})
+}
+
 
 /**
  * 閫夋嫨鎶ヤ慨鍗�
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
index aa8a890..a5acf40 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
@@ -6,6 +6,7 @@
 import lombok.EqualsAndHashCode;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serial;
 
@@ -46,6 +47,8 @@
     /**
      * 璁″垝鏃堕棿
      */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planTime;
 
     /**
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
index fefd0ef..d509485 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
@@ -11,6 +11,7 @@
 import jakarta.validation.constraints.*;
 import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 鐐规姹囨�讳笟鍔″璞� eims_inspect_st
@@ -48,6 +49,8 @@
     /**
      * 璁″垝鏃堕棿
      */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planTime;
 
     /**
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
index 66703cd..f9c89c9 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
@@ -2,6 +2,7 @@
 
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import org.dromara.common.mybatis.core.domain.BaseEntity;
 import org.dromara.common.translation.annotation.Translation;
 import org.dromara.common.translation.constant.TransConstant;
@@ -58,6 +59,7 @@
      * 璁″垝鏃堕棿
      */
     @ExcelProperty(value = "璁″垝鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planTime;
     private String planTimeStr;
 
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
index 199219d..0f7a628 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.dromara.common.core.constant.DictConstants;
+import org.dromara.common.core.utils.DateUtils;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -244,6 +245,11 @@
         qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle());
         qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
         qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
+        if(bo.getPlanTime()!=null&&bo.getViewMode() != null && bo.getViewMode().equals("Day")){
+            qw.eq("DATE_FORMAT(st.plan_time, '%Y-%m-%d')", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,bo.getPlanTime()));
+        }else if(bo.getPlanTime()!=null&&bo.getViewMode() != null && bo.getViewMode().equals("Month")){
+            qw.eq("DATE_FORMAT(st.plan_time, '%Y-%m')",  DateUtils.parseDateToStr(DateUtils.YYYY_MM,bo.getPlanTime()));
+        }
         qw.eq( "st.type", bo.getType());
         qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
             "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java
index dd6e024..ffdb5d5 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java
@@ -303,6 +303,9 @@
         qw.eq(bo.getReqUser() != null, "res.req_user", bo.getReqUser());
         qw.eq(bo.getAssetNo() != null, "equ.asset_no", bo.getAssetNo());
 
+        qw.between(params.get("beginReqTime") != null && params.get("endReqTime") != null,
+            "req.req_time", params.get("beginReqTime"), params.get("endReqTime"));
+
         List<Long> resDeptIds = getAllDescendantIds(bo.getResDept());
         qw.in(bo.getResDept() != null, "res.res_dept", resDeptIds);
 

--
Gitblit v1.9.3