| | |
| | | </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" |
| | |
| | | type="checkbox" |
| | | v-model="isChecked" |
| | | class="checkbox-input" |
| | | @click.stop |
| | | /> |
| | | </div> |
| | | <div class="image-checkbox-wrapper" @click="toggleCheck1"> |
| | |
| | | type="checkbox" |
| | | v-model="isChecked1" |
| | | class="checkbox-input" |
| | | @click.stop |
| | | /> |
| | | </div> |
| | | </div> |
| | |
| | | </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> |
| | |
| | | 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(''); |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | 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('上传成功'); |
| | | } |
| | | } |
| | |
| | | id: undefined, |
| | | showBackground: 1, |
| | | templateName: undefined, |
| | | showDigitalHuman: undefined, |
| | | showPpt: undefined, |
| | | showDigitalHuman: 0, |
| | | showPpt: 0, |
| | | pptW: 505, |
| | | pptH: 290, |
| | | pptX: 40, |
| | |
| | | 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' }], |
| | |
| | | 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) |
| | |
| | | /** 提交表单 */ |
| | | 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 { |
| | |
| | | formData.value = { |
| | | id: undefined, |
| | | showBackground: 1, |
| | | showDigitalHuman: undefined, |
| | | showPpt: undefined, |
| | | showDigitalHuman: 0, |
| | | showPpt: 0, |
| | | pptW: 505, |
| | | pptH: 290, |
| | | pptX: 40, |
| | |
| | | } |
| | | formRef.value?.resetFields() |
| | | } |
| | | // 取消按钮 |
| | | const cancale = ()=>{ |
| | | resetForm() |
| | | // 页面中不显示弹窗,背景图,数字人,ppt |
| | | lastUploadedFileUrl.value = "" |
| | | isChecked.value = false |
| | | isChecked1.value = false |
| | | dialogVisible.value = false |
| | | } |
| | | |
| | | const captureElement = ref<HTMLElement | null>(null); |
| | | const saveAsImage = async () => { |
| | | if (!captureElement.value) { |