diff --git a/src/config.js b/src/config.js index e9d0d5a..b9dbc60 100644 --- a/src/config.js +++ b/src/config.js @@ -326,11 +326,11 @@ export const USER_TABLE_CONFIG = { slot: 'status' },{ attrs: { - label: '创建时间', - prop: 'CreatedAt', + label: 'VIP到期时间', + prop: 'vip_expire_time', align: 'center' }, - slot: 'CreatedAt' + slot: 'vip_expire_time' },{ attrs: { label: '用户类别', diff --git a/src/view/goods/vip/index.vue b/src/view/goods/vip/index.vue index d18d2a2..fd35b5a 100644 --- a/src/view/goods/vip/index.vue +++ b/src/view/goods/vip/index.vue @@ -102,8 +102,15 @@ + + +
+ + 选择讲师 +
+
@@ -115,6 +122,7 @@ + @@ -124,10 +132,14 @@ import { ElMessage, ElMessageBox } from 'element-plus' import { ref, reactive } from 'vue' import { useAppStore } from '@/pinia' import { formatDate } from '@/utils/format' +import UserChoose from '@/components/userChoose/index.vue' defineOptions({ name: 'VipList' }) +// 讲师选择组件注册 +const userChooseRef = ref() + const appStore = useAppStore() const btnLoading = ref(false) @@ -143,7 +155,9 @@ const formData = ref({ level: undefined, price: undefined, expiration: undefined, - des: '' + des: '', + teacher_id: undefined, + teacher_name: '' }) const rule = reactive({ @@ -151,9 +165,10 @@ const rule = reactive({ { required: true, message: '请输入名称', trigger: ['blur','input'] }, { whitespace: true, message: '不能只输入空格', trigger: ['blur','input'] } ], - level: [ { required: true, message: '请输入等级', trigger: ['blur','input'] } ], + level: [ { required: true, message: '请输入等级', trigger: ['blur','input','change'] } ], price: [ { required: true, message: '请输入价格', trigger: ['blur','input'] } ], - expiration: [ { required: true, message: '请输入有效期', trigger: ['blur','input'] } ] + expiration: [ { required: true, message: '请输入有效期', trigger: ['blur','input'] } ], + teacher_name: [ { validator: (r,v,cb)=>{ if(formData.value.level===3 && !v){ cb(new Error('请选择讲师')); } else { cb(); } }, trigger:['change','blur'] } ] }) const searchRule = reactive({ @@ -236,6 +251,7 @@ const type = ref('') const formatLevel = (level) => { if (level === 1) return 'Vip' if (level === 2) return 'Svip' + if (level === 3) return '讲师会员' return level } @@ -322,6 +338,16 @@ const enterDialog = async () => { } }) } + +// 选择讲师 +const openTeacherDialog = () => { + userChooseRef.value?.open() +} +const onChooseTeacher = (teacher) => { + if (!teacher) return + formData.value.teacher_id = teacher.ID + formData.value.teacher_name = teacher.nick_name +}