From df64c34d92cbe8501bbbfe837bc491a47452c0b6 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期一, 09 六月 2025 10:58:19 +0800 Subject: [PATCH] feat(eims): 新增保养工单批量修改功能并优化相关领域对象 --- eims-ui-mobile/src/pages/maint/maint-st.vue | 78 +++++++++++++++++++++++++++++++-------- 1 files changed, 62 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 f7ce57c..6704e0b 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> @@ -38,21 +43,21 @@ <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"> + <view class="text-color-gray text-sm mt-1 flex"> <text class="mr-3">宸ュ崟鎬绘暟: {{ item.orderCount }}</text> | <text class="mx-3">宸插畬鎴�: {{ item.wcCount }}</text> </view> - <view class="text-color-gray text-xs mt-2 flex"> + <view class="text-color-gray text-sm mt-2 flex"> <text class="mr-3">寰呬繚鍏�: {{ item.dbyCount }}</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"> + <view class="text-color-gray text-sm 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> @@ -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-sm mt-2 flex">鍒涘缓鏃堕棿: {{ item.createTime }}</view> </view> <wd-button size="small" icon="edit-outline" @click.stop="itemClick(item)">鏄庣粏</wd-button> </view> @@ -75,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' }, @@ -98,6 +125,9 @@ function handleEquName({ value }) { console.log(value) } +function handleFilterDate({ value }) { + reloadData() +} const paging = ref(null) const dataList = ref([]) @@ -105,20 +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 (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.completeByTotal(res.rows, res.total) @@ -140,7 +185,8 @@ function reloadData() { paging.value.reload() } -onLoad(() => { +onLoad((options) => { + Object.assign(option, options) uni.$on('maint-st-refresh', reloadData) }) onUnload(() => { @@ -162,7 +208,7 @@ height: 40rpx; } .text-mini { - font-size: 22rpx; + font-size: 24rpx; } .menu-indicator { -- Gitblit v1.9.3