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 | 108 +++++++++++++++++++++++++++-------------------------- 1 files changed, 55 insertions(+), 53 deletions(-) diff --git a/src/pages/equipmentManagement/upkeep/maintain.vue b/src/pages/equipmentManagement/upkeep/maintain.vue index 28b7186..33f9338 100644 --- a/src/pages/equipmentManagement/upkeep/maintain.vue +++ b/src/pages/equipmentManagement/upkeep/maintain.vue @@ -4,47 +4,54 @@ <PageHeader title="鏂板淇濆吇" @back="goBack" /> <!-- 琛ㄥ崟鍐呭 --> - <u-form @submit="sendForm" ref="formRef" label-width="110" input-align="right" error-message-align="right"> + <u-form ref="formRef" :model="form" :rules="formRules" label-width="110px" :error-type="['message']"> <!-- 鍩烘湰淇℃伅 --> - <u-cell-group title="淇濆吇淇℃伅"> - <u-form-item label="瀹為檯淇濆吇浜�" prop="maintenanceActuallyName" required> - <u-input - v-model="form.maintenanceActuallyName" - placeholder="璇疯緭鍏ュ疄闄呬繚鍏讳汉" - clearable - /> - </u-form-item> - <u-form-item label="瀹為檯淇濆吇鏃ユ湡" prop="maintenanceActuallyTime" required> - <u-input - v-model="form.maintenanceActuallyTime" - placeholder="璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡" - readonly - @click="showDatePicker" - clearable - /> - </u-form-item> - <u-form-item label="淇濆吇缁撴灉" prop="maintenanceResult" required> - <u-input - v-model="maintenanceResultText" - placeholder="璇烽�夋嫨淇濆吇缁撴灉" - readonly - @click="showResultPicker" - clearable - /> - </u-form-item> - </u-cell-group> + <u-form-item label="瀹為檯淇濆吇浜�" prop="maintenanceActuallyName" required border-bottom> + <u-input + v-model="form.maintenanceActuallyName" + placeholder="璇疯緭鍏ュ疄闄呬繚鍏讳汉" + clearable + /> + </u-form-item> + + <u-form-item label="瀹為檯淇濆吇鏃ユ湡" prop="maintenanceActuallyTime" required border-bottom> + <u-input + v-model="form.maintenanceActuallyTime" + placeholder="璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡" + readonly + @click="showDatePicker" + clearable + /> + <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" + placeholder="璇烽�夋嫨淇濆吇缁撴灉" + readonly + @click="showResultPicker" + clearable + /> + <template #right> + <u-icon name="arrow-right" @click.stop="showResultPicker" /> + </template> + </u-form-item> <!-- 鎻愪氦鎸夐挳 --> <view class="footer-btns"> <u-button class="cancel-btn" @click="goBack">鍙栨秷</u-button> - <u-button class="save-btn" type="primary" @click="sendForm" :loading="loading">淇濆瓨</u-button> + <u-button class="save-btn" @click="sendForm" :loading="loading">淇濆瓨</u-button> </view> </u-form> <!-- 鏃ユ湡閫夋嫨鍣� --> - <u-popup v-model="showDate" mode="bottom"> + <u-popup v-model="showDate" mode="bottom" :closeable="true"> <u-datetime-picker - v-model="currentDate" + v-model="form.maintenanceActuallyTime" + mode="date" title="閫夋嫨鏃ユ湡" @confirm="onDateConfirm" @cancel="showDate = false" @@ -52,7 +59,8 @@ </u-popup> <!-- 淇濆吇缁撴灉閫夋嫨鍣� --> - <u-popup v-model="showResult" mode="bottom"> + <u-popup v-model="showResult" mode="bottom" :closeable="true"> + <view class="popup-title">閫夋嫨淇濆吇缁撴灉</view> <u-picker v-model="resultPickerValue" :columns="resultColumns" @@ -70,16 +78,15 @@ import { addMaintenance } from '@/api/equipmentManagement/upkeep'; import useUserStore from "@/store/modules/user"; import dayjs from "dayjs"; -// 鏇挎崲 Vant 鐨� toast -// import { showToast } from 'vant'; +import { formatDateToYMD } from '@/utils/ruoyi'; -// 鏇挎崲 toast 鏂规硶 +// 鏄剧ず鎻愮ず淇℃伅 const showToast = (message) => { uni.showToast({ title: message, icon: 'none' }) -} +}; defineOptions({ name: "璁惧淇濆吇琛ㄥ崟", @@ -118,8 +125,7 @@ // 娓呴櫎琛ㄥ崟鏍¢獙鐘舵�� const clearValidate = () => { - // Vant4涓笉闇�瑕佹墜鍔ㄦ竻闄ら獙璇佺姸鎬侊紝閲嶇疆琛ㄥ崟鏃朵細鑷姩娓呴櫎 - // formRef.value?.clearValidate(); // 鍒犻櫎杩欒 + // uview-plus涓嶉渶瑕佹墜鍔ㄦ竻闄ら獙璇佺姸鎬侊紝閲嶇疆琛ㄥ崟鏃朵細鑷姩娓呴櫎 }; // 閲嶇疆琛ㄥ崟鏁版嵁鍜屾牎楠岀姸鎬� @@ -140,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('琛ㄥ崟楠岃瘉澶辫触'); } @@ -208,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; }; @@ -221,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