From f84b7cbd4a31c0c3c1c50b7f754429700eb72e6d Mon Sep 17 00:00:00 2001 From: Flex <q1406482700@163.com> Date: 星期二, 10 六月 2025 15:00:35 +0800 Subject: [PATCH] 修改模板新建,添加数据校验 --- easegen-front/src/views/digitalcourse/template/TemplateForm.vue | 49 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 38 insertions(+), 11 deletions(-) diff --git a/easegen-front/src/views/digitalcourse/template/TemplateForm.vue b/easegen-front/src/views/digitalcourse/template/TemplateForm.vue index b877e91..2f597cf 100644 --- a/easegen-front/src/views/digitalcourse/template/TemplateForm.vue +++ b/easegen-front/src/views/digitalcourse/template/TemplateForm.vue @@ -13,7 +13,7 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鑳屾櫙鍥剧墖" prop="templateName"> + <el-form-item label="鑳屾櫙鍥剧墖" prop="bgImage"> <el-upload v-model:file-list="fileList" class="upload-demo" @@ -98,7 +98,6 @@ type="checkbox" v-model="isChecked" class="checkbox-input" - @click.stop /> </div> <div class="image-checkbox-wrapper" @click="toggleCheck1"> @@ -107,7 +106,6 @@ type="checkbox" v-model="isChecked1" class="checkbox-input" - @click.stop /> </div> </div> @@ -115,8 +113,8 @@ </el-row> </el-form> <template #footer> - <el-button @click="submitForm" type="primary" :disabled="formLoading">{{ t('common.ok') }}</el-button> - <el-button @click="dialogVisible = false">{{ t('common.cancel') }}</el-button> + <el-button v-loading="IsUploadBack" @click="submitForm" type="primary" :disabled="formLoading">{{ t('common.ok') }}</el-button> + <el-button @click="cancale">{{ t('common.cancel') }}</el-button> </template> </Dialog> </template> @@ -131,6 +129,9 @@ import {updateFile} from "@/api/infra/file"; import Vue3DraggableResizable from 'vue3-draggable-resizable' import 'vue3-draggable-resizable/dist/Vue3DraggableResizable.css' +import { ca } from 'element-plus/es/locale'; +import { rule } from 'postcss'; +import { truncate } from 'lodash-es'; const getUploadUrl = import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/infra/file/upload' const fileList = ref([]); const lastUploadedFileUrl = ref(''); @@ -142,11 +143,13 @@ const isChecked1 = ref(false); const toggleCheck = () => { isChecked.value = !isChecked.value; + console.log(isChecked.value) if (isChecked.value==true) { formData.value.showPpt=1 }else if (isChecked.value==false) { formData.value.showPpt=0 } + console.log(formData.value.showPpt) }; const toggleCheck1 = () => { isChecked1.value =!isChecked1.value; @@ -156,7 +159,10 @@ formData.value.showDigitalHuman=0 } } +// 褰撳墠鏄惁鍦ㄤ笂浼犺儗鏅浘 +const IsUploadBack = ref(false) const beforeUpload = (file) => { + console.log("beforeUpload") const isImage = file.type.startsWith('image/'); const isLt2M = file.size / 1024 / 1024 < 2; @@ -168,13 +174,16 @@ ElMessage.error('鍥剧墖澶у皬涓嶈兘瓒呰繃2MB!'); return false; } + return true; }; async function updataImage(formData1) { + IsUploadBack.value = truncate const response= await updateFile(formData1) console.log(response.data) if (response) { formData.value.bgImage=response.data + IsUploadBack.value = false ElMessage.success('涓婁紶鎴愬姛'); } } @@ -207,8 +216,8 @@ id: undefined, showBackground: 1, templateName: undefined, - showDigitalHuman: undefined, - showPpt: undefined, + showDigitalHuman: 0, + showPpt: 0, pptW: 505, pptH: 290, pptX: 40, @@ -219,6 +228,7 @@ humanY: 92, bgImage: undefined, }) + const formRules = reactive({ templateName: [{ required: true, message: t('template.name') + t('common.notEmpty'), trigger: 'blur' }], showBackground: [{ required: true, message: t('template.isShowBackground') + t('common.notEmpty'), trigger: 'blur' }], @@ -234,6 +244,7 @@ humanX: [{ required: true, message: t('template.topPositionDigitalPeople') + t('common.notEmpty'), trigger: 'blur' }], humanY: [{ required: true, message: t('template.leftPositionDigitalPeople') + t('common.notEmpty'), trigger: 'blur' }], zg: [{ required: true, message: '妯℃澘绫诲瀷', trigger: 'blur' }], + bgImage: [{ required: true, message: '璇蜂笂浼犺儗鏅浘鐗�', trigger: 'blur' }], }) const formRef = ref() // 琛ㄥ崟 Ref let ishasAdminRole = ref(false) @@ -268,14 +279,20 @@ /** 鎻愪氦琛ㄥ崟 */ const emit = defineEmits(['success']) // 瀹氫箟 success 浜嬩欢锛岀敤浜庢搷浣滄垚鍔熷悗鐨勫洖璋� const submitForm = async () => { + // 鏍¢獙琛ㄥ崟 + await formRef.value.validate() + console.log(formData.value.showPpt) + if( formData.value.showPpt === 0 ){ + message.error(t('common.NeedAddPpt')) + return + } + const imageFile = await saveAsImage(); if (imageFile) { const formData1 = new FormData(); formData1.append('file', imageFile); const response = await updateFile(formData1); formData.value.previewImage = response.data; - // 鏍¢獙琛ㄥ崟 - await formRef.value.validate() // 鎻愪氦璇锋眰 formLoading.value = true try { @@ -313,8 +330,8 @@ formData.value = { id: undefined, showBackground: 1, - showDigitalHuman: undefined, - showPpt: undefined, + showDigitalHuman: 0, + showPpt: 0, pptW: 505, pptH: 290, pptX: 40, @@ -329,6 +346,16 @@ } formRef.value?.resetFields() } +// 鍙栨秷鎸夐挳 +const cancale = ()=>{ + resetForm() + // 椤甸潰涓笉鏄剧ず寮圭獥锛岃儗鏅浘锛屾暟瀛椾汉锛宲pt + lastUploadedFileUrl.value = "" + isChecked.value = false + isChecked1.value = false + dialogVisible.value = false +} + const captureElement = ref<HTMLElement | null>(null); const saveAsImage = async () => { if (!captureElement.value) { -- Gitblit v1.9.3