bug修复

This commit is contained in:
马梓彭 2026-04-04 22:09:57 +08:00
parent 54bc72002c
commit 570f28a7e1
3 changed files with 58 additions and 6 deletions

View File

@ -31,6 +31,12 @@ export interface AddSysUserInput {
* @memberof AddSysUserInput
*/
name: string;
/**
* 密码
* @type {string}
* @memberof AddSysUserInput
*/
password?: string;
/**
*
* @type {Gender}

View File

@ -19,7 +19,7 @@
{{ scope.row.type == 1 ? scope.row.value + '%' : scope.row.value + '元' }}
</template>
<template #startTime="scope">
{{ scope.row.startTime }} - {{ scope.row.endTime }}
{{ formatDate(scope.row.startTime) }} - {{ formatDate(scope.row.endTime) }}
</template>
<template #action="scope">
<el-button v-auth="'coupon:edit'" icon="ele-Edit" size="small" text type="primary"
@ -119,6 +119,17 @@ import SysMenuApi from '/@/api/SysMenuApi';
import { auths } from '/@/utils/authFunction';
import ProTable from '/@/components/ProTable/index.vue';
import { couponPage, couponAdd, couponEdit, couponDelete, couponEventlistGet, couponGeneratecodePost } from '/@/api/match/coupon';
// 格式化日期,只显示年月日
const formatDate = (dateStr) => {
if (!dateStr) return '';
if (/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) {
return dateStr;
}
// 截取前10个字符(YYYY-MM-DD)
return dateStr.slice(0, 10);
};
// 定义表单引用类型
const formRef = ref();
const eventList = ref([]);
@ -196,10 +207,12 @@ const onOpenMenu = async (row) => {
}
dialogTitle.value = row ? '编辑' : '新增';
if (row) {
// const { data } = await couponEdit(row.id);
formData.value = row;
formData.value.time = [row.startTime.slice(0, 10), row.endTime.slice(0, 10)];
formData.value = {
...row,
startTime: formatDate(row.startTime),
endTime: formatDate(row.endTime),
time: [formatDate(row.startTime), formatDate(row.endTime)],
};
} else {
formData.value = {
name: '',

View File

@ -37,6 +37,16 @@
<el-input v-model="formData.account" placeholder="请输入账号"></el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item label="密码" prop="password" v-if="!formData.id">
<el-input v-model="formData.password" type="password" placeholder="请输入密码" show-password clearable></el-input>
</el-form-item>
<!-- 确认密码 -->
<el-form-item label="确认密码" prop="confirmPassword" v-if="!formData.id">
<el-input v-model="formData.confirmPassword" type="password" placeholder="请再次输入密码" show-password clearable></el-input>
</el-form-item>
<!-- 可用赛事 -->
<el-form-item label="关联角色" prop="roles">
<el-select v-model="formData.roles" placeholder="请选择关联角色" multiple style="width: 100%;">
@ -71,9 +81,24 @@ const eventList = ref([]);
const formData = ref({
name: '',
account: '',
password: '',
confirmPassword: '',
roles: []
})
const initParam = ref(true)
// 确认密码验证
const validateConfirmPassword = (rule, value, callback) => {
const actualValue = value ?? formData.value.confirmPassword;
if (!actualValue || actualValue === '') {
callback(new Error('请再次输入密码'));
} else if (actualValue !== formData.value.password) {
callback(new Error('两次输入密码不一致'));
} else {
callback();
}
};
const formRules = ref({
name: [
{ required: true, message: '姓名', trigger: 'blur' }
@ -81,6 +106,13 @@ const formRules = ref({
account: [
{ required: true, message: '请输入账号', trigger: 'blur' }
],
password: [
{ required: true, message: '请输入密码', trigger: 'blur' },
{ min: 6, max: 32, message: '密码长度在 6 到 32 个字符', trigger: 'blur' }
],
confirmPassword: [
{ required: true, validator: validateConfirmPassword, trigger: 'blur' }
],
});
const columns = ref([
@ -130,11 +162,12 @@ const onOpenMenu = async (row) => {
dialogTitle.value = row ? '编辑' : '新增';
if (row) {
formData.value = row;
} else {
formData.value = {
name: '',
account: '',
password: '',
confirmPassword: '',
roles: []
};
}