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
+}