| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | <template>	<view style="padding: 30rpx;">		<uni-forms ref="formRef" :modelValue="formData" :rules="formRules" validateTrigger="bind" label-width="80px" label-align="right" label-position="left">			<uni-forms-item name="reason" label="爽约原因" required>				<uni-easyinput v-model="formData.reason" type="textarea" placeholder="请输入爽约原因"></uni-easyinput>			</uni-forms-item>		</uni-forms>		<button class="send-button" @tap="handleSubmit">提 交</button>	</view></template><script setup>import { ref, unref } from 'vue'import { onLoad } from '@dcloudio/uni-app'import { noAttendInterviewInvite } from '@/api/interview'const formRef = ref(null)const formData = ref({	id: null,	reason: null})const formRules = {	reason: {		rules: [{ required: true, errorMessage: '请输入爽约原因' }]	}}onLoad(async (options) => {	const { id } = options	if (!id) {		uni.showToast({			title: 'ID缺失',			icon: 'none'		})		setTimeout(() => {			uni.navigateBack({ delta: 1 })		}, 1000)		return	}	formData.value.id = id})// 提交const handleSubmit = async () => {	const valid = await unref(formRef).validate()	if (!valid) return	uni.showLoading({ title: '提交中' })	try {		await noAttendInterviewInvite(formData.value)		uni.hideLoading()		uni.showToast({			title: '提交成功',			icon: 'success'		})		setTimeout(() => {			uni.navigateBack({ delta: 1 })		}, 1000)	} catch {		uni.hideLoading()	}}</script><style scoped lang="scss"></style>
 |