From 0f34d97b5c0c559b3d132bf1171de43a5ea9a596 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期四, 04 九月 2025 17:43:25 +0800 Subject: [PATCH] 设备保养真机测试,bug修改 --- src/pages/equipmentManagement/upkeep/maintain.vue | 115 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 59 insertions(+), 56 deletions(-) diff --git a/src/pages/equipmentManagement/upkeep/maintain.vue b/src/pages/equipmentManagement/upkeep/maintain.vue index c70ec14..f10654e 100644 --- a/src/pages/equipmentManagement/upkeep/maintain.vue +++ b/src/pages/equipmentManagement/upkeep/maintain.vue @@ -4,65 +4,70 @@ <PageHeader title="鏂板淇濆吇" @back="goBack" /> <!-- 琛ㄥ崟鍐呭 --> - <van-form @submit="sendForm" ref="formRef" label-width="110px" input-align="right" error-message-align="right" scroll-to-error scroll-to-error-position="center"> + <u-form ref="formRef" :model="form" :rules="formRules" label-width="110px" :error-type="['message']"> <!-- 鍩烘湰淇℃伅 --> - <van-cell-group title="淇濆吇淇℃伅" inset> - <van-field + <u-form-item label="瀹為檯淇濆吇浜�" prop="maintenanceActuallyName" required border-bottom> + <u-input v-model="form.maintenanceActuallyName" - label="瀹為檯淇濆吇浜�" placeholder="璇疯緭鍏ュ疄闄呬繚鍏讳汉" - :rules="formRules.maintenanceActuallyName" - required clearable /> - <van-field + </u-form-item> + + <u-form-item label="瀹為檯淇濆吇鏃ユ湡" prop="maintenanceActuallyTime" required border-bottom> + <u-input v-model="form.maintenanceActuallyTime" - label="瀹為檯淇濆吇鏃ユ湡" placeholder="璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡" - :rules="formRules.maintenanceActuallyTime" - required readonly @click="showDatePicker" clearable /> - <van-field + <template #right> + <u-icon name="arrow-right" @click.stop="showDatePicker" /> + </template> + </u-form-item> + + <u-form-item label="淇濆吇缁撴灉" prop="maintenanceResult" required border-bottom> + <u-input v-model="maintenanceResultText" - label="淇濆吇缁撴灉" placeholder="璇烽�夋嫨淇濆吇缁撴灉" - :rules="formRules.maintenanceResult" - required readonly @click="showResultPicker" clearable /> - </van-cell-group> + <template #right> + <u-icon name="arrow-right" @click.stop="showResultPicker" /> + </template> + </u-form-item> <!-- 鎻愪氦鎸夐挳 --> <view class="footer-btns"> - <van-button class="cancel-btn" @click="goBack">鍙栨秷</van-button> - <van-button class="save-btn" native-type="submit" form-type="submit" :loading="loading">淇濆瓨</van-button> + <u-button class="cancel-btn" @click="goBack">鍙栨秷</u-button> + <u-button class="save-btn" @click="sendForm" :loading="loading">淇濆瓨</u-button> </view> - </van-form> + </u-form> <!-- 鏃ユ湡閫夋嫨鍣� --> - <van-popup v-model:show="showDate" position="bottom"> - <van-date-picker - v-model="currentDate" + <u-popup v-model="showDate" mode="bottom" :closeable="true"> + <u-datetime-picker + v-model="form.maintenanceActuallyTime" + mode="date" title="閫夋嫨鏃ユ湡" @confirm="onDateConfirm" @cancel="showDate = false" /> - </van-popup> + </u-popup> <!-- 淇濆吇缁撴灉閫夋嫨鍣� --> - <van-popup v-model:show="showResult" position="bottom"> - <van-picker - :model-value="resultPickerValue" + <u-popup v-model="showResult" mode="bottom" :closeable="true"> + <view class="popup-title">閫夋嫨淇濆吇缁撴灉</view> + <u-picker + v-model="resultPickerValue" :columns="resultColumns" @confirm="onResultConfirm" @cancel="showResult = false" /> - </van-popup> + </u-popup> </view> </template> @@ -73,7 +78,15 @@ import { addMaintenance } from '@/api/equipmentManagement/upkeep'; import useUserStore from "@/store/modules/user"; import dayjs from "dayjs"; -import { showToast } from 'vant'; +import { formatDateToYMD } from '@/utils/ruoyi'; + +// 鏄剧ず鎻愮ず淇℃伅 +const showToast = (message) => { + uni.showToast({ + title: message, + icon: 'none' + }) +}; defineOptions({ name: "璁惧淇濆吇琛ㄥ崟", @@ -107,13 +120,12 @@ const form = ref({ maintenanceActuallyName: userStore.nickName || '', // 榛樿浣跨敤褰撳墠鐢ㄦ埛鏄电О maintenanceResult: undefined, // 淇濆吇缁撴灉 - maintenanceActuallyTime: dayjs().format("YYYY-MM-DD"), // 瀹為檯淇濆吇鏃ユ湡锛堝彧鏄剧ず鏃ユ湡锛� + maintenanceActuallyTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), // 瀹為檯淇濆吇鏃ユ湡锛堝彧鏄剧ず鏃ユ湡锛� }); // 娓呴櫎琛ㄥ崟鏍¢獙鐘舵�� const clearValidate = () => { - // Vant4涓笉闇�瑕佹墜鍔ㄦ竻闄ら獙璇佺姸鎬侊紝閲嶇疆琛ㄥ崟鏃朵細鑷姩娓呴櫎 - // formRef.value?.clearValidate(); // 鍒犻櫎杩欒 + // uview-plus涓嶉渶瑕佹墜鍔ㄦ竻闄ら獙璇佺姸鎬侊紝閲嶇疆琛ㄥ崟鏃朵細鑷姩娓呴櫎 }; // 閲嶇疆琛ㄥ崟鏁版嵁鍜屾牎楠岀姸鎬� @@ -121,7 +133,7 @@ form.value = { maintenanceActuallyName: userStore.nickName || '', maintenanceResult: undefined, - maintenanceActuallyTime: dayjs().format("YYYY-MM-DD"), + maintenanceActuallyTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), }; maintenanceResultText.value = ''; }; @@ -134,14 +146,11 @@ // 鎻愪氦琛ㄥ崟 const sendForm = async () => { try { - // 浣跨敤Vant4鐨勬纭獙璇佹柟寮� - formRef.value?.validate().then(() => { - // 楠岃瘉閫氳繃 - submitFormData(); - }).catch((errors) => { - // 楠岃瘉澶辫触 - showToast('璇峰~鍐欏畬鏁翠俊鎭�'); - }); + // 浣跨敤uview-plus鐨勮〃鍗曢獙璇佹柟寮� + const valid = await formRef.value.validate(); + if (!valid) return; + // 楠岃瘉閫氳繃 + submitFormData(); } catch (e) { showToast('琛ㄥ崟楠岃瘉澶辫触'); } @@ -161,11 +170,6 @@ // 鍑嗗鎻愪氦鏁版嵁锛宮aintenanceActuallyTime 鍔犱笂褰撳墠鏃跺垎绉� const submitData = { ...form.value }; - if (submitData.maintenanceActuallyTime && !submitData.maintenanceActuallyTime.includes(':')) { - // 濡傛灉 maintenanceActuallyTime 鍙寘鍚棩鏈燂紝娣诲姞褰撳墠鏃跺垎绉� - submitData.maintenanceActuallyTime = submitData.maintenanceActuallyTime + ' ' + dayjs().format('HH:mm:ss'); - } - const { code } = await addMaintenance({ id: id, ...submitData }); if (code == 200) { @@ -185,15 +189,15 @@ // 杩斿洖涓婁竴椤� const goBack = () => { + // 娓呴櫎瀛樺偍鐨刬d + uni.removeStorageSync('repairId'); uni.navigateBack(); }; // 鑾峰彇椤甸潰ID const getPageId = () => { - const pages = getCurrentPages(); - const currentPage = pages[pages.length - 1]; - const options = currentPage.options; - return options.id; + // 浠庢湰鍦板瓨鍌ㄨ幏鍙杋d + return uni.getStorageSync('repairId'); }; // 鏄剧ず鏃ユ湡閫夋嫨鍣� @@ -202,10 +206,9 @@ }; // 纭鏃ユ湡閫夋嫨 -const onDateConfirm = ({ selectedValues }) => { +const onDateConfirm = (e) => { // 鍙繚瀛樺勾鏈堟棩锛屼笉鍖呭惈鏃跺垎绉� - form.value.maintenanceActuallyTime = selectedValues.join('-'); - currentDate.value = selectedValues; + form.value.maintenanceActuallyTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'); showDate.value = false; }; @@ -215,10 +218,10 @@ }; // 纭淇濆吇缁撴灉閫夋嫨 -const onResultConfirm = ({ selectedValues, selectedOptions }) => { - form.value.maintenanceResult = selectedOptions[0].value; - maintenanceResultText.value = selectedOptions[0].text; - resultPickerValue.value = selectedValues; +const onResultConfirm = ({ selectedIndex, selectedValue, selectedLabel }) => { + form.value.maintenanceResult = selectedValue; + maintenanceResultText.value = selectedLabel; + resultPickerValue.value = selectedValue; showResult.value = false; }; @@ -227,7 +230,7 @@ // 璁剧疆淇濆吇浜轰负褰撳墠鐢ㄦ埛鏄电О form.value.maintenanceActuallyName = userStore.nickName || ''; // 璁剧疆褰撳墠鏃ユ湡锛堝彧鍖呭惈骞存湀鏃ワ級 - form.value.maintenanceActuallyTime = dayjs().format('YYYY-MM-DD'); + form.value.maintenanceActuallyTime = dayjs().format('YYYY-MM-DD HH:mm:ss'); currentDate.value = [new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate()]; }; -- Gitblit v1.9.3