提交 8cacdf0e authored 作者: 王鹏飞's avatar 王鹏飞

chore update

上级 ffe713d6
...@@ -8,10 +8,11 @@ const props = defineProps<{ id?: string }>() ...@@ -8,10 +8,11 @@ const props = defineProps<{ id?: string }>()
const router = useRouter() const router = useRouter()
const formRef = ref<FormInstance>() const formRef = ref<FormInstance>()
const form = reactive({ name: '', cover: '', weight: '', is_free: '1' }) const form = reactive({ name: '', cover: '', weight: '', is_free: '1', url: '' })
const rules = { const rules = {
name: [{ required: true, message: '请输入课程名', trigger: 'blur' }], name: [{ required: true, message: '请输入课程名', trigger: 'blur' }],
cover: [{ required: true, message: '请上传封面', trigger: 'change' }] cover: [{ required: true, message: '请上传封面', trigger: 'change' }],
url: [{ required: true, message: '请输入跳转链接', trigger: 'blur' }]
} }
// 提交 // 提交
const onSubmit = () => { const onSubmit = () => {
...@@ -60,6 +61,9 @@ onMounted(() => { ...@@ -60,6 +61,9 @@ onMounted(() => {
<el-form-item label="免费/付费" prop="is_free"> <el-form-item label="免费/付费" prop="is_free">
<el-switch v-model="form.is_free" active-text="付费" active-value="0" inactive-text="免费" inactive-value="1" /> <el-switch v-model="form.is_free" active-text="付费" active-value="0" inactive-text="免费" inactive-value="1" />
</el-form-item> </el-form-item>
<el-form-item label="跳转链接" prop="url">
<el-input v-model="form.url" />
</el-form-item>
<el-form-item label="权重" prop="weight"> <el-form-item label="权重" prop="weight">
<el-input type="number" v-model="form.weight" /> <el-input type="number" v-model="form.weight" />
</el-form-item> </el-form-item>
......
...@@ -6,12 +6,29 @@ export function getLecturerList(params?: { name?: string; page?: number; page_si ...@@ -6,12 +6,29 @@ export function getLecturerList(params?: { name?: string; page?: number; page_si
} }
// 创建导师 // 创建导师
export function createLecturer(data: { name: string; avatar: string; weight?: string }) { export function createLecturer(data: {
name: string
avatar: string
type: string
title: string
office: string
url: string
weight?: string
}) {
return httpRequest.post('/api/psp/backend/lecturer/create', data) return httpRequest.post('/api/psp/backend/lecturer/create', data)
} }
// 更新导师 // 更新导师
export function updateLecturer(data: { id: string; name: string; avatar: string; weight?: string }) { export function updateLecturer(data: {
id: string
name: string
avatar: string
type: string
title: string
office: string
url: string
weight?: string
}) {
return httpRequest.post('/api/psp/backend/lecturer/update', data) return httpRequest.post('/api/psp/backend/lecturer/update', data)
} }
......
...@@ -7,13 +7,25 @@ const appList = ref() ...@@ -7,13 +7,25 @@ const appList = ref()
const listOptions = { const listOptions = {
remote: { remote: {
httpRequest: getLecturerList, httpRequest: getLecturerList,
params: { type: '' } params: { name: '', type: '' }
}, },
filters: [{ type: 'input', prop: 'name', placeholder: '姓名' }], filters: [
{ type: 'input', prop: 'name', placeholder: '姓名' },
{
type: 'select',
prop: 'type',
placeholder: '类型',
options: [
{ label: '清华硕导教授团', value: '1' },
{ label: '紫荆实战导师团', value: '2' }
]
}
],
columns: [ columns: [
{ label: '头像', slots: 'table-avatar', width: 124 }, { label: '头像', slots: 'table-avatar', width: 124 },
{ label: 'ID', prop: 'id' }, { label: 'ID', prop: 'id' },
{ label: '姓名', prop: 'name' }, { label: '姓名', prop: 'name' },
{ label: '类型', prop: 'type_name' },
{ label: '权重', prop: 'weight' }, { label: '权重', prop: 'weight' },
{ label: '创建时间', prop: 'created_time' }, { label: '创建时间', prop: 'created_time' },
{ label: '操作', slots: 'table-operate', width: 160, align: 'right' } { label: '操作', slots: 'table-operate', width: 160, align: 'right' }
......
...@@ -9,12 +9,12 @@ const props = defineProps<{ id?: string }>() ...@@ -9,12 +9,12 @@ const props = defineProps<{ id?: string }>()
const router = useRouter() const router = useRouter()
const formRef = ref<FormInstance>() const formRef = ref<FormInstance>()
const form = reactive({ name: '', type: '2', desc: '', weight: '', avatar: '', url: '' }) const form = reactive({ name: '', avatar: '', type: '1', title: '', weight: '', office: '' })
const rules = { const rules = {
name: [{ required: true, message: '请输入姓名', trigger: 'blur' }], name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
avatar: [{ required: true, message: '请上传头像', trigger: 'change' }] avatar: [{ required: true, message: '请上传头像', trigger: 'change' }],
// url: [{ required: true, message: '请输入文章链接', trigger: 'blur' }], title: [{ required: true, message: '请输入导师职位', trigger: 'blur' }],
// desc: [{ required: true, message: '请输入正文', trigger: 'blur' }] office: [{ required: true, message: '请输入导师任职机构', trigger: 'blur' }]
} }
// 提交 // 提交
const onSubmit = () => { const onSubmit = () => {
...@@ -60,6 +60,18 @@ onMounted(() => { ...@@ -60,6 +60,18 @@ onMounted(() => {
<el-form-item label="头像" prop="avatar"> <el-form-item label="头像" prop="avatar">
<AppUpload v-model="form.avatar" accept="image/*"></AppUpload> <AppUpload v-model="form.avatar" accept="image/*"></AppUpload>
</el-form-item> </el-form-item>
<el-form-item label="类型" prop="type">
<el-radio-group v-model="form.type">
<el-radio label="1">清华硕导教授团</el-radio>
<el-radio label="2">紫荆实战导师团</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="职位" prop="title">
<el-input v-model="form.title" />
</el-form-item>
<el-form-item label="任职机构" prop="office">
<el-input v-model="form.office" />
</el-form-item>
<!-- <el-form-item label="链接内容" prop="type"> <!-- <el-form-item label="链接内容" prop="type">
<el-radio-group v-model="form.type"> <el-radio-group v-model="form.type">
<el-radio label="1">站内文章</el-radio> <el-radio label="1">站内文章</el-radio>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论