From 025e46e11cb2962fd7692adfa401333758cc779b Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 02 九月 2025 14:00:34 +0800 Subject: [PATCH] 修改组件 --- src/pages/equipmentManagement/upkeep/maintain.vue | 96 ++++++++++++++++++++++++++---------------------- 1 files changed, 52 insertions(+), 44 deletions(-) diff --git a/src/pages/equipmentManagement/upkeep/maintain.vue b/src/pages/equipmentManagement/upkeep/maintain.vue index c70ec14..33f9338 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: "璁惧淇濆吇琛ㄥ崟", @@ -112,8 +125,7 @@ // 娓呴櫎琛ㄥ崟鏍¢獙鐘舵�� const clearValidate = () => { - // Vant4涓笉闇�瑕佹墜鍔ㄦ竻闄ら獙璇佺姸鎬侊紝閲嶇疆琛ㄥ崟鏃朵細鑷姩娓呴櫎 - // formRef.value?.clearValidate(); // 鍒犻櫎杩欒 + // uview-plus涓嶉渶瑕佹墜鍔ㄦ竻闄ら獙璇佺姸鎬侊紝閲嶇疆琛ㄥ崟鏃朵細鑷姩娓呴櫎 }; // 閲嶇疆琛ㄥ崟鏁版嵁鍜屾牎楠岀姸鎬� @@ -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('琛ㄥ崟楠岃瘉澶辫触'); } @@ -202,10 +211,9 @@ }; // 纭鏃ユ湡閫夋嫨 -const onDateConfirm = ({ selectedValues }) => { +const onDateConfirm = (e) => { // 鍙繚瀛樺勾鏈堟棩锛屼笉鍖呭惈鏃跺垎绉� - form.value.maintenanceActuallyTime = selectedValues.join('-'); - currentDate.value = selectedValues; + form.value.maintenanceActuallyTime = formatDateToYMD(e.value); showDate.value = false; }; @@ -215,10 +223,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; }; -- Gitblit v1.9.3