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/repair/req-list.vue | 125 +++++++++++++++++++++++++++++------------ 1 files changed, 87 insertions(+), 38 deletions(-) diff --git a/eims-ui-mobile/src/pages/repair/req-list.vue b/eims-ui-mobile/src/pages/repair/req-list.vue index 54209d6..c93a9ea 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" @@ -50,7 +52,7 @@ <view class="flex justify-between items-center"> <view class="flex items-center menu-title-box"> <view class="menu-indicator"></view> - <text class="ml-1 text-xs">{{ item.code }}</text> + <text class="ml-1 text-sm">{{ item.code }}</text> </view> <view> @@ -112,13 +114,13 @@ <text>鎶ヤ慨浜�: {{ item.reqUserName }}</text> </view> </view> - <view class="text-color-gray text-xs mt-1"> + <view class="text-color-gray text-sm mt-1"> {{ item.location }} {{ item.madeIn }} </view> </view> <view v-if="isSelectReq"> <wd-button size="small" icon="edit-outline" @click.stop="handleSelectReq(item)"> - 閫変腑 + 鎺ュ崟 </wd-button> </view> </view> @@ -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) }) @@ -230,10 +263,19 @@ * @param item */ function handleSelectReq(item: any) { - if (isSelectReq.value) { - emitSelectReq(item) - uni.navigateBack() - } + // 寮瑰嚭纭鏄惁鎺ュ崟寮圭獥 + message.confirm({ + msg: '纭畾鎺ュ崟锛�', + title: '鎻愮ず', + beforeConfirm: ({ resolve }) => { + resolve(true) + // 鎺ュ崟閫昏緫澶勭悊 + if (isSelectReq.value) { + emitSelectReq(item) + uni.navigateBack() + } + }, + }) } /** @@ -246,13 +288,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(() => { -- Gitblit v1.9.3