8/4 更新 输入限制,修复收银台

This commit is contained in:
Zy
2026-08-04 16:07:22 +08:00
parent ca5f214bac
commit 494b7869ea
26 changed files with 668 additions and 412 deletions

View File

@@ -56,8 +56,8 @@
<el-col :span="11">
<el-form-item label="报名截止日期" prop="deadline">
<el-date-picker
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
v-model="deadline"
@update:model-value="
(data) => {
@@ -68,7 +68,7 @@
}
}
"
type="date"
type="datetime"
placeholder="请选择报名截止日期"
/>
</el-form-item>
@@ -115,6 +115,7 @@
:on-exceed="handleExceed"
:before-upload="handleBeforeUpload"
:on-error="handleError"
accept=".png,.jpg,.jpeg,.bmp"
:limit="1"
>
<img alt="活动封面" v-if="form.coverImage" :src="form.coverImage" class="avatar" />
@@ -225,6 +226,7 @@ import { addActivity, getActivity, updateActivity } from '@/api/system/Activity'
import { genFileId, UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
import AMapLoader from '@amap/amap-jsapi-loader';
import { Plus } from '@element-plus/icons-vue';
import { validator } from '@/utils/Reg';
const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/activity/uploadImage';
@@ -278,13 +280,34 @@ const form = ref({
});
const rules = {
title: [{ required: true, message: '请输入活动标题', trigger: 'blur' }],
author: [{ required: true, message: '请输入作者', trigger: 'blur' }],
author: [
{ required: true, message: '请输入作者', trigger: 'blur' },
{
validator: (_: any, value: string | number) => validator(value, 'Character'),
message: '请输入中文,字母,数字,-,_等字符',
trigger: 'blur'
}
],
applyDeadline: [{ required: true, message: '请输入报名截止日期', trigger: 'blur' }],
startTime: [{ required: true, message: '请选择开始日期', trigger: 'blur' }],
endTime: [{ required: true, message: '请选择结束日期', trigger: 'blur' }],
address: [{ required: true, message: '请输入活动地点', trigger: 'blur' }],
organizer: [{ required: true, message: '请输入主办方', trigger: 'blur' }],
contactName: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
organizer: [
{ required: true, message: '请输入主办方', trigger: 'blur' },
{
validator: (_: any, value: string | number) => validator(value, 'Character'),
message: '请输入中文,字母,数字,-,_等字符',
trigger: 'blur'
}
],
contactName: [
{ required: true, message: '请输入联系人', trigger: 'blur' },
{
validator: (_: any, value: string | number) => validator(value, 'Character'),
message: '请输入中文,字母,数字,-,_等字符',
trigger: 'blur'
}
],
contactPhone: [{ required: true, message: '请输入联系方式', trigger: 'blur' }],
coverImage: [{ required: true, message: '请上传活动封面', trigger: 'blur' }],
content: [{ required: true, message: '请输入内容', trigger: 'blur' }]
@@ -301,10 +324,11 @@ const activityTime = ref([]);
const upload = ref<UploadInstance>();
// 上传成功
const handleAvatarSuccess: UploadProps['onSuccess'] = (response) => {
console.log(response);
if (response.data && response.data.url) {
form.value.coverImage = response.data.url;
} else {
ElMessage.warning('上传频繁,请稍后再试');
ElMessage.warning(response.msg);
}
};
@@ -320,7 +344,7 @@ const handleExceed: UploadProps['onExceed'] = (files) => {
const handleError: UploadProps['onError'] = (error: Error) => {
console.log(error);
};
const allowImgSuffix = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'heic'];
const allowImgSuffix = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
/** 检测文件大小和格式 */
const handleBeforeUpload: UploadProps['beforeUpload'] = (rawFile: UploadRawFile) => {
if (!allowImgSuffix.includes(rawFile.name.split('.')[1])) {
@@ -342,7 +366,7 @@ let geocoder: any = null;
const mapReady = ref(false);
let mouseTool = null;
// 0 开始 1编辑 2结束
// 0 开始 1 编辑 2结束
const isDraw = ref(0);
onMounted(() => {