Merge branch 'zcwy-0511-out2' into zcwy-0511-out
# Conflicts: # src/api/examineApi.js # src/views/gratefulteacher/AddLevelImportTec.vue # src/views/gratefulteacher/InstructorCertification.vue # src/views/gratefulteacher/LecturerManagement.vue
@@ -113,3 +113,12 @@ export const addTutor = (data) =>{
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//线上学习课列表
|
||||||
|
export const getOnlineLearningList = (data) => http.post('/activityApi/examine/getOnlineLearningList',data)
|
||||||
|
//删除线上学习课
|
||||||
|
export const deleteCourse = (data) => http.post('/activityApi/examine/deleteCourse',data)
|
||||||
|
//新增线上学习课
|
||||||
|
export const addCourse = (data) => http.post('/activityApi/examine/addCourse',data)
|
||||||
|
//保存导入的教师信息
|
||||||
|
export const saveTeacher = (data) => http.post('/activityApi/teacher/saveTeacher',data)
|
||||||
|
|
||||||
|
|||||||
BIN
src/assets/27.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
src/assets/30.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/27.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/30.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/33.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/39.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/44.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/46.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/47.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/49.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
src/assets/教师认证封面图/教师认证封面图/50.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
@@ -34,15 +34,12 @@
|
|||||||
<a-upload-dragger
|
<a-upload-dragger
|
||||||
v-model:fileList="fileList"
|
v-model:fileList="fileList"
|
||||||
:action="importStudent"
|
:action="importStudent"
|
||||||
name="uploadFile"
|
name="file"
|
||||||
:headers="headers"
|
:headers="headers"
|
||||||
:multiple="false"
|
:multiple="false"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
:data="{
|
:data="{
|
||||||
targetId: Number(courseId),
|
examineId: Number(courseId),
|
||||||
type: courseType,
|
|
||||||
userId: userInfo.userId,
|
|
||||||
userName: userInfo.realName,
|
|
||||||
}"
|
}"
|
||||||
:showUploadList="false"
|
:showUploadList="false"
|
||||||
>
|
>
|
||||||
@@ -99,11 +96,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="cancel" style="margin-left: 15px"></div>
|
<div class="cancel" style="margin-left: 15px"></div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="downloadErrUrl !== ''" class="defeat">
|
<!-- <div v-if="downloadErrUrl !== ''" class="defeat">
|
||||||
<div class="detext" @click="downloadEeeorData">
|
<div class="detext" @click="downloadEeeorData">
|
||||||
下载失败数据
|
下载失败数据
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -189,6 +186,7 @@ import * as api from "../../api/index1";
|
|||||||
import { BATCH_IMPORT_SCORE } from "@/api/config";
|
import { BATCH_IMPORT_SCORE } from "@/api/config";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
import {getCookieForName} from "@/api/method";
|
import {getCookieForName} from "@/api/method";
|
||||||
|
import { saveTeacher } from "@/api/examineApi";
|
||||||
export default {
|
export default {
|
||||||
name: "ImpStu",
|
name: "ImpStu",
|
||||||
props: {
|
props: {
|
||||||
@@ -210,8 +208,7 @@ export default {
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
locationHref: process.env.VUE_APP_FILE_PATH,
|
locationHref: process.env.VUE_APP_FILE_PATH,
|
||||||
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
template: process.env.VUE_APP_UP_LOAD_STUDENT_TEMPLATE,
|
||||||
importStudent:
|
importStudent:'/activityApi/teacher/importTeacher',
|
||||||
process.env.VUE_APP_BASE_API + "/admin/student/importStudent",
|
|
||||||
timers: "", // 定时器,用于清空定时器使用
|
timers: "", // 定时器,用于清空定时器使用
|
||||||
isAddStudent: false, // 用于判断用户是否关闭弹框需要重新获取学员列表
|
isAddStudent: false, // 用于判断用户是否关闭弹框需要重新获取学员列表
|
||||||
uploadpercent: -1,
|
uploadpercent: -1,
|
||||||
@@ -223,12 +220,20 @@ export default {
|
|||||||
downloadErrUrl: "",
|
downloadErrUrl: "",
|
||||||
showBottomBar: false, // 显示底部成功条数和失败条数
|
showBottomBar: false, // 显示底部成功条数和失败条数
|
||||||
fileName: "",
|
fileName: "",
|
||||||
|
successIds: [],
|
||||||
});
|
});
|
||||||
const headers = { token: getCookieForName("token") };
|
const headers = { token: getCookieForName("token") };
|
||||||
const userInfo = computed(() => store.state.userInfo);
|
const userInfo = computed(() => store.state.userInfo);
|
||||||
|
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
clearInterval(state.timers);
|
saveTeacher({
|
||||||
|
examineId:props.courseId,
|
||||||
|
teacherIds:state.successIds
|
||||||
|
}).then(res=>{
|
||||||
|
console.log(res,'res')
|
||||||
|
})
|
||||||
|
state.successIds = []
|
||||||
|
// clearInterval(state.timers);
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
state.uploadpercent = -1;
|
state.uploadpercent = -1;
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
@@ -262,7 +267,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
state.addLoading = true;
|
// state.addLoading = true;
|
||||||
state.uploadErr = false;
|
state.uploadErr = false;
|
||||||
state.uploadpercent = parseInt(info.file.percent);
|
state.uploadpercent = parseInt(info.file.percent);
|
||||||
console.log("我是文件上传的进度---------->", info.file.percent);
|
console.log("我是文件上传的进度---------->", info.file.percent);
|
||||||
@@ -274,42 +279,42 @@ export default {
|
|||||||
console.log("上传成功返回的UUID", info.file.response.data);
|
console.log("上传成功返回的UUID", info.file.response.data);
|
||||||
console.log("上传成功返回的UUID----->", info);
|
console.log("上传成功返回的UUID----->", info);
|
||||||
console.log("我是导入学员接口传递的参数", {
|
console.log("我是导入学员接口传递的参数", {
|
||||||
uploadFile: info.file.originFileObj,
|
file: info.file.originFileObj,
|
||||||
targetId: props.courseId,
|
examineId: props.courseId,
|
||||||
type: 3,
|
|
||||||
});
|
});
|
||||||
|
state.successIds = info.file.response.data.successIds
|
||||||
state.fileName = info.file.name;
|
state.fileName = info.file.name;
|
||||||
let i = 0;
|
let i = 0;
|
||||||
state.timers = setInterval(() => {
|
// state.timers = setInterval(() => {
|
||||||
let uid = info.file.response.data;
|
// let uid = info.file.response.data;
|
||||||
api
|
// api
|
||||||
.getImportStatus(uid)
|
// .getImportStatus(uid)
|
||||||
.then((res) => {
|
// .then((res) => {
|
||||||
console.log("查询导入状态", res);
|
// console.log("查询导入状态", res);
|
||||||
if (res.data.code === 200) {
|
// if (res.data.code === 200) {
|
||||||
if (res.data.data.status !== "START") {
|
// if (res.data.data.status !== "START") {
|
||||||
i++;
|
// i++;
|
||||||
if (i === 1) {
|
// if (i === 1) {
|
||||||
message.destroy();
|
// message.destroy();
|
||||||
message.success(`${info.file.name}上传成功`);
|
// message.success(`${info.file.name}上传成功`);
|
||||||
state.showBottomBar = true;
|
// state.showBottomBar = true;
|
||||||
state.addLoading = false;
|
// state.addLoading = false;
|
||||||
state.isAddStudent = true;
|
// state.isAddStudent = true;
|
||||||
}
|
// }
|
||||||
state.succNum = res.data.data.successNum;
|
// state.succNum = res.data.data.successNum;
|
||||||
state.errNum = res.data.data.failedNum;
|
// state.errNum = res.data.data.failedNum;
|
||||||
state.downloadErrUrl = res.data.data.url;
|
// state.downloadErrUrl = res.data.data.url;
|
||||||
clearInterval(state.timers);
|
// clearInterval(state.timers);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
.catch((err) => {
|
// .catch((err) => {
|
||||||
clearInterval(state.timers);
|
// clearInterval(state.timers);
|
||||||
state.showBottomBar = true;
|
// state.showBottomBar = true;
|
||||||
state.addLoading = false;
|
// state.addLoading = false;
|
||||||
console.log("查询导入状态失败", err);
|
// console.log("查询导入状态失败", err);
|
||||||
});
|
// });
|
||||||
}, 500);
|
// }, 500);
|
||||||
} else if (status === "error") {
|
} else if (status === "error") {
|
||||||
state.addLoading = false;
|
state.addLoading = false;
|
||||||
state.uploadErr = true;
|
state.uploadErr = true;
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
<script setup >
|
<script setup >
|
||||||
import { ref,onMounted } from 'vue';
|
import { ref,onMounted } from 'vue';
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
import {getexamineList,CreateAuthentication,delExamine} from '@/api/examineApi.js'
|
import {getexamineList,CreateAuthentication,delExamine,getOnlineLearningList,deleteCourse,addCourse} from '@/api/examineApi.js'
|
||||||
import dialog from "@/utils/dialog";
|
import dialog from "@/utils/dialog";
|
||||||
import DropDown from "@/components/common/DropDown";
|
import DropDown from "@/components/common/DropDown";
|
||||||
import OwnerTableModelStudent from "@/components/student/OwnerTableModelStudent";
|
import OwnerTableModelStudent from "@/components/student/OwnerTableModelStudent";
|
||||||
import CommonStudent from "@/components/student/CommonStudent";
|
import CommonStudent from "@/components/student/CommonStudent";
|
||||||
|
import CreateOnline from "@/components/drawers/CreateOnline.vue";
|
||||||
|
import { message } from "ant-design-vue";
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const visible = ref(false);
|
const visible = ref(false);
|
||||||
@@ -38,9 +39,111 @@ const columns = [
|
|||||||
key: 'action',
|
key: 'action',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
const ViewReviewcolumns =[
|
||||||
|
{
|
||||||
|
title: "课程名称",
|
||||||
|
name: 'courseName',
|
||||||
|
dataIndex: 'courseName',
|
||||||
|
key: 'id',
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "课程分类",
|
||||||
|
name: 'courseContent',
|
||||||
|
dataIndex: 'courseContent',
|
||||||
|
key: 'id',
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "创建人",
|
||||||
|
name: 'createName',
|
||||||
|
dataIndex: 'createName',
|
||||||
|
key: 'id',
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发布时间",
|
||||||
|
name: 'createTime',
|
||||||
|
dataIndex: 'createTime',
|
||||||
|
key: 'id',
|
||||||
|
align: "center",
|
||||||
|
ellipsis: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作",
|
||||||
|
width: 200,
|
||||||
|
dataIndex: "id",
|
||||||
|
key: "id",
|
||||||
|
fixed: 'right',
|
||||||
|
align: "center",
|
||||||
|
slots: { customRender: "action" },
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const imgData = ref([
|
||||||
|
{id:1,img:'50.png'},
|
||||||
|
{id:2,img:'39.png'},
|
||||||
|
{id:3,img:'46.png'},
|
||||||
|
{id:4,img:'33.png'},
|
||||||
|
{id:5,img:'47.png'},
|
||||||
|
{id:6,img:'49.png'},
|
||||||
|
{id:7,img:'27.png'},
|
||||||
|
{id:8,img:'30.png'},
|
||||||
|
{id:9,img:'44.png'},
|
||||||
|
])
|
||||||
|
const createParam = ref({
|
||||||
|
name: '',
|
||||||
|
description: '',
|
||||||
|
cover: '',
|
||||||
|
})
|
||||||
|
const imgClick = (url) => {
|
||||||
|
console.log(url,'url')
|
||||||
|
createParam.value.cover = url
|
||||||
|
}
|
||||||
|
//创建认证确定
|
||||||
|
const handleOk = async () => {
|
||||||
|
console.log(createParam.value,'createParam')
|
||||||
|
visible.value = false
|
||||||
|
await CreateAuthentication(createParam.value).then(res=>{
|
||||||
|
console.log(res,'res')
|
||||||
|
getlist()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//编辑认证
|
||||||
|
const editFee = (record) => {
|
||||||
|
console.log(record,'record')
|
||||||
|
createParam.value = {...record}
|
||||||
|
}
|
||||||
|
//线上学习课列表显示
|
||||||
|
const ViewReviewdata = ref([])
|
||||||
|
const OnlineLearning = async () => {
|
||||||
|
ViewReviewShow.value = true
|
||||||
|
await getOnlineLearningList().then(res=>{
|
||||||
|
if(res.code == 200){
|
||||||
|
ViewReviewdata.value = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//删除数据
|
||||||
|
const deleteReview = (record) =>{
|
||||||
|
dialog({
|
||||||
|
content: '是否删除?',
|
||||||
|
ok: () => {
|
||||||
|
deleteCourse({id:record.id}).then(res=>{
|
||||||
|
console.log(res,'res')
|
||||||
|
if(res.code == 200){
|
||||||
|
message.success('删除成功')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
//认证审批项目列表数据
|
//认证审批项目列表数据
|
||||||
const data = ref([{
|
const data = ref([{
|
||||||
id: 1,
|
"id": 1,
|
||||||
"deleted": false,
|
"deleted": false,
|
||||||
"createTime": "2024-05-10 13:38:37",
|
"createTime": "2024-05-10 13:38:37",
|
||||||
"createId": null,
|
"createId": null,
|
||||||
@@ -129,6 +232,16 @@ const SkipManagement = (id)=>{
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const toLecture = (id) =>{
|
||||||
|
router.push({
|
||||||
|
path: '/LecturerManagement',
|
||||||
|
query: {id,
|
||||||
|
description:data.value[0].description,
|
||||||
|
name:data.value[0].name,
|
||||||
|
lecture:true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
//讲师认证列表数据
|
//讲师认证列表数据
|
||||||
const InstructorCertificationlist = ref([])
|
const InstructorCertificationlist = ref([])
|
||||||
const getlist = async() =>{
|
const getlist = async() =>{
|
||||||
@@ -146,11 +259,6 @@ total.value = res.data.total
|
|||||||
data.value= res.data.records
|
data.value= res.data.records
|
||||||
}
|
}
|
||||||
|
|
||||||
//创建认证
|
|
||||||
const launchOrUpdate = async()=>{
|
|
||||||
CreateAuthentication()
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(()=>{
|
onMounted(()=>{
|
||||||
getlist()
|
getlist()
|
||||||
})
|
})
|
||||||
@@ -195,7 +303,13 @@ function handleOper(record, type, status = "") {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;flex-direction: column;">
|
<div style="display: flex;flex-direction: column;">
|
||||||
<div @click="ViewReviewShow=true" style="margin-bottom: 15px; height: 38px; width: 150px;background: #4ea6ff;line-height: 40px;text-align: center;border-radius: 8px;color: #ffffff;">选择/新建课程</div>
|
<!-- <div @click="ViewReviewShow=true" style="margin-bottom: 15px; height: 38px; width: 150px;background: #4ea6ff;line-height: 40px;text-align: center;border-radius: 8px;color: #ffffff;">选择/新建课程</div> -->
|
||||||
|
<CreateOnline ref="onlineRef" :id="1" :type="1">
|
||||||
|
<a-button type="primary" style="border-radius: 4px">{{
|
||||||
|
"选择/新建课程"
|
||||||
|
}}
|
||||||
|
</a-button>
|
||||||
|
</CreateOnline>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<a-table
|
<a-table
|
||||||
@@ -207,7 +321,16 @@ function handleOper(record, type, status = "") {
|
|||||||
:data-source="ViewReviewdata"
|
:data-source="ViewReviewdata"
|
||||||
class="ant-table-striped"
|
class="ant-table-striped"
|
||||||
size="middle"
|
size="middle"
|
||||||
/>
|
>
|
||||||
|
<template #action="{ record, column }">
|
||||||
|
<a-space>
|
||||||
|
<a-button type="link" @click="deleteReview(record)">
|
||||||
|
<span>删除</span>
|
||||||
|
</a-button>
|
||||||
|
</a-space>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
<div style=" display: flex;justify-content: center;">
|
<div style=" display: flex;justify-content: center;">
|
||||||
<div style="margin-right: 30px; border-radius: 8px; color: #fff;font-size: 16px; display: flex; justify-content: center;align-items: center; width: 100px; height: 38px; margin-top: 36px;background: #3da8f0;">取消</div>
|
<div style="margin-right: 30px; border-radius: 8px; color: #fff;font-size: 16px; display: flex; justify-content: center;align-items: center; width: 100px; height: 38px; margin-top: 36px;background: #3da8f0;">取消</div>
|
||||||
@@ -233,7 +356,7 @@ function handleOper(record, type, status = "") {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="Administrator===0" @click="ViewReviewShow=true" style="height: 38px; width: 150px;background: #4ea6ff;line-height: 40px;text-align: center;border-radius: 8px;color: #ffffff;">线上学习课程设置</div>
|
<div v-if="Administrator===0" @click="OnlineLearning" style="height: 38px; width: 150px;background: #4ea6ff;line-height: 40px;text-align: center;border-radius: 8px;color: #ffffff;">线上学习课程设置</div>
|
||||||
<div class="btns" @click="centerDialogVisible=true">
|
<div class="btns" @click="centerDialogVisible=true">
|
||||||
<div class="btn btn3">
|
<div class="btn btn3">
|
||||||
<div class="search"></div>
|
<div class="search"></div>
|
||||||
@@ -275,11 +398,11 @@ function handleOper(record, type, status = "") {
|
|||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.key === 'action'">
|
<template v-else-if="column.key === 'action'">
|
||||||
<span style="text-align: center;">
|
<span style="text-align: center;">
|
||||||
<a style="margin-right: 7px;" @click="visible=true">编辑</a>
|
<a style="margin-right: 7px;" @click="editFee(record)">编辑</a>
|
||||||
|
|
||||||
<a style="margin-right: 7px;" @click='SkipManagement(record.id)'>管理</a>
|
<a style="margin-right: 7px;" @click='SkipManagement(record.id)'>管理</a>
|
||||||
|
|
||||||
<a style="margin-right: 7px;">
|
<a style="margin-right: 7px;" @click="toLecture(record.id)">
|
||||||
评审
|
评审
|
||||||
</a>
|
</a>
|
||||||
<DropDown v-if="Administrator===0" value="授权">
|
<DropDown v-if="Administrator===0" value="授权">
|
||||||
@@ -310,25 +433,28 @@ function handleOper(record, type, status = "") {
|
|||||||
</div>
|
</div>
|
||||||
<!--创建认证和编辑认证 -->
|
<!--创建认证和编辑认证 -->
|
||||||
<a-modal v-model:visible="visible" title="编辑认证" @ok="handleOk" width="610px">
|
<a-modal v-model:visible="visible" title="编辑认证" @ok="handleOk" width="610px">
|
||||||
<a-form>
|
<a-form class="form_item">
|
||||||
|
|
||||||
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="Username" style="width: 381px;margin-left: 32px;margin-top: 24px">
|
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="认证项目名称" style="width: 381px;margin-left: 32px;margin-top: 24px">
|
||||||
<a-input placeholder="认证项目名称" style=" border-radius: 8px;" />
|
<a-input :maxlength="50" v-model:value="createParam.name" placeholder="认证项目名称" style=" border-radius: 8px;" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="封面图" style="width: 560px;margin-left: 32px;margin-top: 24px">
|
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="封面图" style="width: 560px;margin-left: 32px;margin-top: 24px;">
|
||||||
<img style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/50.png" alt="">
|
<!-- <img style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/50.png" alt=""> -->
|
||||||
<!-- <a-image style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/50.png"></a-image> -->
|
<!-- <a-image style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/50.png"></a-image> -->
|
||||||
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/39.png" alt="">
|
<!-- <img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/39.png" alt="">
|
||||||
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/46.png" alt="">
|
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/46.png" alt="">
|
||||||
<img style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/33.png" alt="">
|
<img style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/33.png" alt="">
|
||||||
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/47.png" alt="">
|
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/47.png" alt="">
|
||||||
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/49.png" alt="">
|
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/49.png" alt=""> -->
|
||||||
|
<div class="img_box_item" @click="imgClick(item.img)" v-for="(item,index) in imgData" :key="index">
|
||||||
|
<img style="width: 127px; height: 70px;" :src="require(`../../assets/${item.img}`)" alt="">
|
||||||
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item style="margin-left: 32px;margin-top: 24px" label="具体说明">
|
<a-form-item style="margin-left: 32px;margin-top: 24px" label="具体说明">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
style="width: 408px;"
|
style="width: 408px;"
|
||||||
v-model:value="value2"
|
:maxlength="500"
|
||||||
|
v-model:value="createParam.description"
|
||||||
:auto-size="{ minRows: 2, maxRows: 5 }"
|
:auto-size="{ minRows: 2, maxRows: 5 }"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -399,6 +525,17 @@ function handleOper(record, type, status = "") {
|
|||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.form_item{
|
||||||
|
::v-deep .ant-form-item-control-input-content {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.img_box_item{
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: 15px;
|
||||||
|
margin-bottom: 13px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.page {
|
.page {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
@@ -292,6 +292,10 @@ const delteacherIdList =async ()=>{
|
|||||||
console.log('sha c sss');
|
console.log('sha c sss');
|
||||||
getTeacher()
|
getTeacher()
|
||||||
}
|
}
|
||||||
|
//导出讲师
|
||||||
|
const exportExcel = () => {
|
||||||
|
window.open(`/activityApi/teacher/export?examineId=${route.query.id}`)
|
||||||
|
}
|
||||||
function batchhandleOper() {
|
function batchhandleOper() {
|
||||||
dialog({
|
dialog({
|
||||||
content: "确认删除吗?数据删除后不可恢复",
|
content: "确认删除吗?数据删除后不可恢复",
|
||||||
@@ -374,6 +378,9 @@ const onFinish = values => {
|
|||||||
|
|
||||||
|
|
||||||
onMounted(()=>{
|
onMounted(()=>{
|
||||||
|
if(route.query.lecture == 'true'){
|
||||||
|
activeKey.value = '2'
|
||||||
|
}
|
||||||
getTeacher()
|
getTeacher()
|
||||||
getReviewList()
|
getReviewList()
|
||||||
// getTeacher2()
|
// getTeacher2()
|
||||||
|
|||||||