提交 d098c80b authored 作者: matian's avatar matian

修改bug

上级 b4673484
...@@ -173,7 +173,14 @@ defineExpose({ refetch, tableRef }) ...@@ -173,7 +173,14 @@ defineExpose({ refetch, tableRef })
<!-- 主体 --> <!-- 主体 -->
<div class="table-list-bd"> <div class="table-list-bd">
<slot name="body" v-bind="{ data: dataList }"> <slot name="body" v-bind="{ data: dataList }">
<el-table :data="dataList" v-loading="loading" v-bind="$attrs" style="height: 100%" ref="tableRef"> <el-table
:data="dataList"
v-loading="loading"
v-bind="$attrs"
style="height: 100%"
ref="tableRef"
:header-cell-style="{ background: '#EFEFEF' }"
>
<el-table-column v-bind="item" v-for="item in columns" :key="item.prop"> <el-table-column v-bind="item" v-for="item in columns" :key="item.prop">
<template #default="scope" v-if="item.slots || item.computed"> <template #default="scope" v-if="item.slots || item.computed">
<slot :name="item.slots" v-bind="scope" v-if="item.slots"></slot> <slot :name="item.slots" v-bind="scope" v-if="item.slots"></slot>
...@@ -213,6 +220,7 @@ defineExpose({ refetch, tableRef }) ...@@ -213,6 +220,7 @@ defineExpose({ refetch, tableRef })
// flex-direction: column; // flex-direction: column;
// box-sizing: border-box; // box-sizing: border-box;
// } // }
.table-list-hd { .table-list-hd {
display: flex; display: flex;
margin-bottom: 10px; margin-bottom: 10px;
......
...@@ -42,6 +42,9 @@ const submitForm = async (formEl: FormInstance | undefined) => { ...@@ -42,6 +42,9 @@ const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return if (!formEl) return
await formEl.validate(valid => { await formEl.validate(valid => {
if (valid) { if (valid) {
ruleForm.education = store
.getMapValuesByKey('teacher_level')
.filter(item => item.value === ruleForm.education)[0].label
const params = Object.assign({}, ruleForm) const params = Object.assign({}, ruleForm)
createTeacher(params).then(() => { createTeacher(params).then(() => {
ElMessage.success('创建讲师成功') ElMessage.success('创建讲师成功')
...@@ -56,28 +59,28 @@ const submitForm = async (formEl: FormInstance | undefined) => { ...@@ -56,28 +59,28 @@ const submitForm = async (formEl: FormInstance | undefined) => {
<AppCard title="添加讲师"> <AppCard title="添加讲师">
<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm"> <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="120px" class="demo-ruleForm">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="讲师姓名:" prop="name"> <el-form-item label="讲师姓名:" prop="name">
<el-input v-model="ruleForm.name" style="width: 250px" placeholder="请输入讲师姓名" /> <el-input v-model="ruleForm.name" style="width: 300px" placeholder="请输入讲师姓名" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="讲师职位:" prop="title"> <el-form-item label="讲师职位:" prop="title">
<el-input v-model="ruleForm.title" style="width: 250px" placeholder="请输入讲师职位" /> <el-input v-model="ruleForm.title" style="width: 300px" placeholder="请输入讲师职位" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="讲师学历:" prop="education"> <el-form-item label="讲师学历:" prop="education">
<el-select v-model="ruleForm.education" clearable style="width: 250px" placeholder="请选择讲师学历"> <el-select v-model="ruleForm.education" clearable style="width: 300px" placeholder="请选择讲师学历">
<el-option v-for="(item, index) in levelList" :key="index" :label="item.label" :value="item.value" /> <el-option v-for="(item, index) in levelList" :key="index" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="8">
<el-form-item label="讲师任职机构:" prop="office"> <el-form-item label="讲师任职机构:" prop="office">
<el-input v-model="ruleForm.office" style="width: 250px" placeholder="请输入讲师任职机构" /> <el-input v-model="ruleForm.office" style="width: 300px" placeholder="请输入讲师任职机构" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
......
...@@ -4,9 +4,13 @@ import { ElMessage } from 'element-plus' ...@@ -4,9 +4,13 @@ import { ElMessage } from 'element-plus'
import type { FormRules, FormInstance } from 'element-plus' import type { FormRules, FormInstance } from 'element-plus'
import VEditor from '@/components/tinymce/Index.vue' import VEditor from '@/components/tinymce/Index.vue'
import AppUpload from '@/components/base/AppUpload.vue' import AppUpload from '@/components/base/AppUpload.vue'
import { useMapStore } from '@/stores/map'
const store = useMapStore()
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
const appList = ref() const appList = ref()
const levelList = store.getMapValuesByKey('teacher_level')
const id = route.query.id as string const id = route.query.id as string
const title = route.query.title as string const title = route.query.title as string
...@@ -61,6 +65,9 @@ const handleUpdate = async (formEl: FormInstance | undefined) => { ...@@ -61,6 +65,9 @@ const handleUpdate = async (formEl: FormInstance | undefined) => {
if (!formEl) return if (!formEl) return
await formEl.validate(valid => { await formEl.validate(valid => {
if (valid) { if (valid) {
ruleForm.education = store
.getMapValuesByKey('teacher_level')
.filter(item => item.value === ruleForm.education)[0].label
const params = Object.assign({}, ruleForm) const params = Object.assign({}, ruleForm)
updateTeacher(params).then(() => { updateTeacher(params).then(() => {
ElMessage.success('创建讲师成功') ElMessage.success('创建讲师成功')
...@@ -82,7 +89,12 @@ onMounted(() => { ...@@ -82,7 +89,12 @@ onMounted(() => {
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="讲师图片:" prop="avatar"> <el-form-item label="讲师图片:" prop="avatar">
<img v-if="isEdit === '1' && ruleForm.avatar !== ''" :src="ruleForm.avatar" class="avatar_box1" /> <el-image
v-if="isEdit === '1' && ruleForm.avatar !== ''"
:src="ruleForm.avatar"
class="avatar_box1"
fit="contain"
/>
<div class="avatar_box" v-else-if="isEdit === '1' && ruleForm.avatar === ''">暂无讲师图片</div> <div class="avatar_box" v-else-if="isEdit === '1' && ruleForm.avatar === ''">暂无讲师图片</div>
<AppUpload v-model="ruleForm.avatar" v-else /> <AppUpload v-model="ruleForm.avatar" v-else />
</el-form-item> </el-form-item>
...@@ -95,7 +107,15 @@ onMounted(() => { ...@@ -95,7 +107,15 @@ onMounted(() => {
<el-input v-model="ruleForm.title" :disabled="isEdit === '1'" /> <el-input v-model="ruleForm.title" :disabled="isEdit === '1'" />
</el-form-item> </el-form-item>
<el-form-item label="讲师学历:" prop="education"> <el-form-item label="讲师学历:" prop="education">
<el-input v-model="ruleForm.education" :disabled="isEdit === '1'" /> <el-select
v-model="ruleForm.education"
clearable
style="width: 250px"
placeholder="请选择讲师学历"
:disabled="isEdit === '1'"
>
<el-option v-for="(item, index) in levelList" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="讲师任职机构:" prop="office"> <el-form-item label="讲师任职机构:" prop="office">
<el-input v-model="ruleForm.office" :disabled="isEdit === '1'" /> <el-input v-model="ruleForm.office" :disabled="isEdit === '1'" />
...@@ -143,6 +163,7 @@ onMounted(() => { ...@@ -143,6 +163,7 @@ onMounted(() => {
border: 1px dashed #ccc; border: 1px dashed #ccc;
} }
.avatar_box1 { .avatar_box1 {
width: 150px; max-width: 150px;
height: 200px;
} }
</style> </style>
...@@ -29,7 +29,11 @@ const listOptions = $computed(() => { ...@@ -29,7 +29,11 @@ const listOptions = $computed(() => {
{ label: '讲师姓名', prop: 'name', align: 'center' }, { label: '讲师姓名', prop: 'name', align: 'center' },
{ label: '讲师任职机构', prop: 'office', align: 'center' }, { label: '讲师任职机构', prop: 'office', align: 'center' },
{ label: '讲师职位', prop: 'title', align: 'center' }, { label: '讲师职位', prop: 'title', align: 'center' },
{ label: '讲师学历', prop: 'education', align: 'center' }, {
label: '讲师学历',
prop: 'education',
align: 'center'
},
{ label: '创建时间', prop: 'created_time', align: 'center' }, { label: '创建时间', prop: 'created_time', align: 'center' },
{ label: '操作', slots: 'table-operate', width: 230, align: 'center' } { label: '操作', slots: 'table-operate', width: 230, align: 'center' }
] ]
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论