暂存
This commit is contained in:
@@ -66,6 +66,9 @@ const mainRoutes = {
|
||||
{ path: '/course-sociologyList', component: _import('modules/course/sociologyList'), name: 'course-sociologyList', meta: { title: '国学标签列表', isTab: true } },
|
||||
{ path: '/userCourse', component: _import('modules/user/userCourse'), name: 'userCourse', meta: { title: '用户课程列表', isTab: true } },
|
||||
{ path: '/workOrder', component: _import('modules/workOrderLIst'), name: 'workOrder', meta: { title: '工单列表', isTab: true } },
|
||||
// { path: '/miniClassList', component: _import('modules/miniClass/miniClassList'), name: 'miniClass', meta: { title: '班级列表', isTab: true } },
|
||||
{ path: '/miniClassList8', component: _import('modules/miniClass/miniClassList8'), name: 'miniClassList8', meta: { title: 'miniClassList8', isTab: true } },
|
||||
{ path: '/ClassType', component: _import('modules/miniClass/miniClassType'), name: 'ClassType', meta: { title: '班级类型管理', isTab: true } },
|
||||
],
|
||||
beforeEnter (to, from, next) {
|
||||
let token = Vue.cookie.get('token')
|
||||
|
||||
@@ -69,8 +69,13 @@
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span style="font-weight:bold; font-size:16px">{{ scope.row.title }}</span><br>
|
||||
<span style="color:#999">( 创建时间:{{ scope.row.createTime}} )</span>
|
||||
<span style="font-weight:bold; font-size:16px">{{
|
||||
scope.row.title
|
||||
}}</span
|
||||
><br />
|
||||
<span style="color:#999"
|
||||
>( 创建时间:{{ scope.row.createTime }} )</span
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -159,7 +164,7 @@
|
||||
align="center"
|
||||
label="排序"
|
||||
>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
@@ -183,15 +188,44 @@
|
||||
@click="addOrUpdateHandle(scope.row)"
|
||||
>修改</el-button
|
||||
>
|
||||
<el-button type="text" size="small" @click="showLinkTags(scope.row)"
|
||||
>查看引用</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="showLinkTags(scope.row)"
|
||||
>查看引用</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="deleteHandle(scope.row.id)"
|
||||
>删除</el-button
|
||||
>
|
||||
<!-- <el-dropdown>
|
||||
<span
|
||||
class="el-dropdown-link"
|
||||
style="color:#17B3A3 ; cursor:pointer"
|
||||
>
|
||||
更多操作<i class="el-icon-arrow-down el-icon--right"></i>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="showLinkTags(scope.row)"
|
||||
>查看引用</el-button
|
||||
>
|
||||
</el-dropdown-item> -->
|
||||
<!-- <el-dropdown-item>
|
||||
<el-button
|
||||
@click="showDirectorShow(scope.row)"
|
||||
type="text"
|
||||
size="small"
|
||||
>教务主任管理</el-button
|
||||
>
|
||||
</el-dropdown-item> -->
|
||||
<!-- </el-dropdown-menu>
|
||||
</el-dropdown> -->
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -211,9 +245,9 @@
|
||||
<add-or-update
|
||||
v-if="addOrUpdateVisible"
|
||||
ref="addOrUpdate"
|
||||
:relationProducts = relationProducts
|
||||
@pclose = "pclose"
|
||||
@showProTable = "showProTable"
|
||||
:relationProducts="relationProducts"
|
||||
@pclose="pclose"
|
||||
@showProTable="showProTable"
|
||||
@refreshDataList="getDataList"
|
||||
></add-or-update>
|
||||
<commonShopTable
|
||||
@@ -230,25 +264,26 @@
|
||||
>
|
||||
<div>
|
||||
<div v-if="resList.length > 0">
|
||||
<div style="margin-bottom:20px">当前课程共有 {{resList.length}} 个标签引用</div>
|
||||
<div style="margin-bottom:20px">
|
||||
当前课程共有 {{ resList.length }} 个标签引用
|
||||
</div>
|
||||
<div v-for="(item, index) in resList" :key="index">
|
||||
{{index + 1}}、 {{ item.title }}
|
||||
{{ index + 1 }}、 {{ item.title }}
|
||||
<span v-if="item.isLast != 1">
|
||||
<span v-for="(item1, index1) in item.children" :key="index1"
|
||||
> > {{ item1.title }}
|
||||
<span v-for="(item1, index1) in item.children" :key="index1">
|
||||
> {{ item1.title }}
|
||||
<span v-if="item1.isLast != 1">
|
||||
<span
|
||||
v-for="(item2, index2) in item1.children"
|
||||
:key="index2"
|
||||
> > {{ item2.title }}
|
||||
<span v-for="(item2, index2) in item1.children" :key="index2">
|
||||
> {{ item2.title }}
|
||||
<span v-if="item2.isLast != 1">
|
||||
<span
|
||||
v-for="(item3, index3) in item2.children"
|
||||
:key="index3"
|
||||
> > {{ item3.title }}</span
|
||||
>
|
||||
</span>
|
||||
<span
|
||||
v-for="(item3, index3) in item2.children"
|
||||
:key="index3"
|
||||
>
|
||||
> {{ item3.title }}</span
|
||||
>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
@@ -260,6 +295,65 @@
|
||||
<el-button type="primary" @click="closeLink">好 的</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- 教务主任设置 -->
|
||||
<el-dialog
|
||||
title="教务主任管理"
|
||||
:visible.sync="directorShow"
|
||||
width="40%"
|
||||
@close="closeDirector"
|
||||
>
|
||||
<div class="">
|
||||
<h3>当前操作的课程:{{ optCourse.title }}</h3>
|
||||
<el-form ref="director" :model="director" label-width="100px">
|
||||
<el-form-item label="主任设置:" prop="director">
|
||||
<el-select
|
||||
v-model="director.director"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="副主任设置:" prop="ddirector">
|
||||
<el-select
|
||||
v-model="director.ddirector"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<span v-show="isSameOne" style="color:red"
|
||||
>主任和副主任不可以是同一个人</span
|
||||
>
|
||||
</el-form-item></el-form
|
||||
>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="saveDirector">提 交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -270,6 +364,15 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
selectType: [],
|
||||
director: {
|
||||
director: null,
|
||||
ddirector: null
|
||||
},
|
||||
directorShow: false,
|
||||
remoteMethodLoading: false,
|
||||
miniClassVisible: false,
|
||||
personSeting: false,
|
||||
userList: [],
|
||||
options: [
|
||||
{
|
||||
id: "all",
|
||||
@@ -287,11 +390,11 @@ export default {
|
||||
children: []
|
||||
}
|
||||
],
|
||||
courseId:"0",
|
||||
courseId: "0",
|
||||
dataForm: {
|
||||
key: "",
|
||||
key: ""
|
||||
},
|
||||
relationProducts:[],
|
||||
relationProducts: [],
|
||||
query: {
|
||||
type: "",
|
||||
categoryId: "",
|
||||
@@ -311,7 +414,8 @@ export default {
|
||||
sociologyList: "/master/courseSociology/getCourseSociologyList" //国学
|
||||
},
|
||||
resList: [],
|
||||
resListVisible: false
|
||||
resListVisible: false,
|
||||
optCourse: {}
|
||||
};
|
||||
},
|
||||
components: {
|
||||
@@ -328,28 +432,176 @@ export default {
|
||||
this.getTreeList(this.urlList.sociologyList, 2);
|
||||
},
|
||||
methods: {
|
||||
delPro(val){
|
||||
console.log(val,this.relationProducts)
|
||||
let list = this.relationProducts
|
||||
delPro(val) {
|
||||
console.log(val, this.relationProducts);
|
||||
let list = this.relationProducts;
|
||||
|
||||
this.relationProducts = list.slice(1, 1);
|
||||
},
|
||||
saveDirector() {
|
||||
if(this.director.director == this.director.ddirector && this.director.director != null){
|
||||
this.$message.error('主任与副主任不能是同一人')
|
||||
return
|
||||
}
|
||||
var director = 0;
|
||||
var ddirector = 0;
|
||||
if (this.director.director) {
|
||||
director = this.director.director;
|
||||
}
|
||||
if (this.director.ddirector) {
|
||||
ddirector = this.director.ddirector;
|
||||
}
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/master/course/editCourseDirector"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
courseId: this.optCourse.id,
|
||||
director: director, //主任,清空时传0
|
||||
ddirector: ddirector //副主任,清空时传0
|
||||
})
|
||||
})
|
||||
.then(res => {
|
||||
if (res.data.code == 0) {
|
||||
this.$message.success("操作成功!");
|
||||
this.closeDirector();
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
this.$message.error("获取课程信息失败");
|
||||
_info = null;
|
||||
});
|
||||
},
|
||||
closeDirector() {
|
||||
this.directorShow = false;
|
||||
setTimeout(() => {
|
||||
this.$nextTick(() => {
|
||||
this.$refs["director"].resetFields();
|
||||
this.director = {
|
||||
director: null,
|
||||
ddirector: null
|
||||
};
|
||||
this.userList = []
|
||||
this.optCourse = {};
|
||||
console.log("director关闭了吗", this.director);
|
||||
})
|
||||
|
||||
},200)
|
||||
|
||||
this.relationProducts = list.slice(1,1)
|
||||
|
||||
|
||||
},
|
||||
pclose(){
|
||||
this.relationProducts = []
|
||||
this.courseId = null
|
||||
console.log('关闭了 ')
|
||||
async showDirectorShow(data) {
|
||||
this.optCourse = data;
|
||||
var obj = await this.getDirectorInfo(data.id);
|
||||
console.log("教务信息", obj);
|
||||
if (obj) {
|
||||
// console.log("有绑定", obj.data.director.tel);
|
||||
if (obj.data.director != null) {
|
||||
var list = this.userList.map( item => { return item.id})
|
||||
console.log('list',list)
|
||||
var i = list.find(function(elem){
|
||||
return elem == obj.data.director.id;
|
||||
});
|
||||
if(!i){
|
||||
this.userList.push({
|
||||
id:obj.data.director.id,
|
||||
tel:obj.data.director.tel
|
||||
})
|
||||
}
|
||||
this.director.director = obj.data.director.id;
|
||||
}
|
||||
else {
|
||||
// this.director.director = null;
|
||||
}
|
||||
if (obj.data.ddirector != null) {
|
||||
console.log('jinlailema')
|
||||
var list = this.userList.map( item => { return item.id})
|
||||
console.log('list',list)
|
||||
var i = list.find(function(elem){
|
||||
return elem == obj.data.ddirector.id;
|
||||
});
|
||||
if(!i){
|
||||
this.userList.push({
|
||||
id:obj.data.ddirector.id,
|
||||
tel:obj.data.ddirector.tel
|
||||
})
|
||||
}
|
||||
this.director.ddirector = obj.data.ddirector.id;
|
||||
}
|
||||
else {
|
||||
// this.ddirector.director = null;
|
||||
}
|
||||
|
||||
} else {
|
||||
console.log("没有绑定");
|
||||
this.director = {
|
||||
director: null,
|
||||
ddirector: null
|
||||
};
|
||||
}
|
||||
this.directorShow = true;
|
||||
},
|
||||
linkList(data){
|
||||
console.log('父级',data)
|
||||
if(data && data.length > 0){
|
||||
this.relationProducts = data
|
||||
// 检索教务信息
|
||||
getDirectorInfo(id) {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/master/course/getCourseDirector"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
courseId: id
|
||||
})
|
||||
})
|
||||
.then(res => {
|
||||
resolve(res);
|
||||
// if (res.code === 0) {
|
||||
// _info = res.director;
|
||||
// console.log('教务信息++++res', res.director)
|
||||
// }
|
||||
})
|
||||
.catch(e => {
|
||||
this.$message.error("获取课程信息失败");
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
},
|
||||
// 搜索用户列表
|
||||
remoteMethod(query) {
|
||||
if (query !== "") {
|
||||
this.remoteMethodLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/book/user/getUserList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
key: query
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.userList = data.user.records;
|
||||
this.remoteMethodLoading = false;
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
this.userList = [];
|
||||
this.remoteMethodLoading = false;
|
||||
});
|
||||
} else {
|
||||
this.userList = [];
|
||||
}
|
||||
},
|
||||
showProTable(data){
|
||||
console.log('data',data)
|
||||
pclose() {
|
||||
this.relationProducts = [];
|
||||
this.courseId = null;
|
||||
console.log("关闭了 ");
|
||||
},
|
||||
linkList(data) {
|
||||
console.log("父级", data);
|
||||
if (data && data.length > 0) {
|
||||
this.relationProducts = data;
|
||||
}
|
||||
},
|
||||
showProTable(data) {
|
||||
console.log("data", data);
|
||||
this.$nextTick(() => {
|
||||
this.$refs.commonShopTable.open();
|
||||
});
|
||||
@@ -359,7 +611,6 @@ export default {
|
||||
this.resList = [];
|
||||
},
|
||||
showLinkTags(row) {
|
||||
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/master/course/getCourseLableLinkList"),
|
||||
method: "post",
|
||||
@@ -370,7 +621,6 @@ export default {
|
||||
this.resListVisible = true;
|
||||
if (res.data.code == 0 && res.data.resList.length > 0) {
|
||||
this.resList = res.data.resList;
|
||||
|
||||
}
|
||||
// console.log(row, "row" , res.data.resList,this.resList);
|
||||
});
|
||||
@@ -404,7 +654,7 @@ export default {
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.relationProducts = []
|
||||
this.relationProducts = [];
|
||||
var data = {
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
@@ -466,8 +716,8 @@ export default {
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle(row) {
|
||||
this.addOrUpdateVisible = true;
|
||||
row ? this.courseId = row.id : ''
|
||||
this.addOrUpdateVisible = true;
|
||||
row ? (this.courseId = row.id) : "";
|
||||
// this.courseId = row.id
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(row);
|
||||
@@ -592,6 +842,15 @@ export default {
|
||||
this.getDataList();
|
||||
});
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
isSameOne() {
|
||||
if(this.director.ddirector == this.director.director && this.director.ddirector != null){
|
||||
return true
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -601,4 +860,7 @@ export default {
|
||||
color: #149f97;
|
||||
}
|
||||
}
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
</style>
|
||||
|
||||
411
src/views/modules/miniClass/classAddType.vue
Normal file
411
src/views/modules/miniClass/classAddType.vue
Normal file
@@ -0,0 +1,411 @@
|
||||
<template>
|
||||
<!-- 小班教学页面 -->
|
||||
<div class="">
|
||||
<el-drawer
|
||||
size="600px"
|
||||
title="班级模型"
|
||||
style="font-size:16px; font-weight:bold;"
|
||||
:visible.sync="drawer"
|
||||
direction="ltr"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
<div style="padding:26px">
|
||||
<el-form
|
||||
:model="ClassModelForm"
|
||||
:rules="ClassModelRules"
|
||||
ref="ClassModelForm"
|
||||
label-width="100px"
|
||||
class="demo-ruleForm"
|
||||
>
|
||||
<div style="margin:15px 0; font-size:14px; color:#606266">
|
||||
模型类型:
|
||||
</div>
|
||||
<el-form-item label="" prop="ClassModelForm" label-width="0">
|
||||
<el-select v-model="ClassModelForm.type" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.label"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<div style="margin:15px 0; font-size:14px; color:#606266">
|
||||
名称:<span style="color:red">*</span>
|
||||
</div>
|
||||
<el-form-item label="" prop="title" label-width="0">
|
||||
<el-input v-model="ClassModelForm.title"></el-input>
|
||||
</el-form-item>
|
||||
<div style="margin:15px 0; font-size:14px; color:#606266">
|
||||
课程设置: <span style="color:red">*</span>
|
||||
<span v-if="ClassModelForm.type == '0'" style="color:#999"
|
||||
>请选择一门课程</span
|
||||
>
|
||||
<span v-else style="color:#999">可选择多门课程</span>
|
||||
</div>
|
||||
<el-form-item label="" prop="courseIds" label-width="0">
|
||||
<el-select
|
||||
class="courseSelect"
|
||||
size="medium"
|
||||
v-model="ClassModelForm.courseIds"
|
||||
filterable
|
||||
remote
|
||||
multiple
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入课程名"
|
||||
:remote-method="getCourseList"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in courseList"
|
||||
:key="item.title"
|
||||
:label="item.title"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<div style="margin:15px 0; font-size14px; color:#606266">
|
||||
教研室成员
|
||||
</div>
|
||||
<div style="border:1px solid #eee; padding:10px; margin-bottom:15px">
|
||||
<el-form-item label="主任" prop="directorId">
|
||||
<!-- <el-input v-model="ClassModelForm.member.directorId"></el-input> -->
|
||||
<el-select
|
||||
v-model="ClassModelForm.directorId"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="副主任" prop="ddirectorId">
|
||||
<el-select
|
||||
v-model="ClassModelForm.ddirectorId"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<div style="text-align:center; margin-top:15px">
|
||||
<el-button type="primary" @click="submitModel" v-if="ClassModelForm.id">保 存</el-button>
|
||||
<el-button type="primary" @click="submitModel" v-else>立即创建</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { quillEditor } from "vue-quill-editor";
|
||||
import global from "../../common/common.vue"; //引入共用组间
|
||||
|
||||
import "quill/dist/quill.core.css";
|
||||
import "quill/dist/quill.snow.css";
|
||||
import "quill/dist/quill.bubble.css";
|
||||
const toolbarOptions = [
|
||||
["bold", "italic", "underline", "strike"], // 加粗,斜体,下划线,删除线
|
||||
["blockquote", "code-block"], //引用,代码块
|
||||
[{ header: 1 }, { header: 2 }], // 几级标题
|
||||
[{ list: "ordered" }, { list: "bullet" }], // 有序列表,无序列表
|
||||
[{ script: "sub" }, { script: "super" }], // 下角标,上角标
|
||||
[{ indent: "-1" }, { indent: "+1" }], // 缩进
|
||||
[{ direction: "rtl" }], // 文字输入方向
|
||||
[{ size: ["small", false, "large", "huge"] }], // 字体大小
|
||||
[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
|
||||
[{ color: [] }, { background: [] }], // 颜色选择
|
||||
[
|
||||
{
|
||||
font: [
|
||||
"SimSun",
|
||||
"SimHei",
|
||||
"Microsoft-YaHei",
|
||||
"KaiTi",
|
||||
"FangSong",
|
||||
"Arial"
|
||||
]
|
||||
}
|
||||
], // 字体
|
||||
[{ align: [] }], // 居中
|
||||
["clean"], // 清除样式,
|
||||
["link", "image"] // 上传图片、上传视频
|
||||
];
|
||||
export default {
|
||||
props: ["classModel"],
|
||||
data() {
|
||||
return {
|
||||
baseUrl: global.baseUrl,
|
||||
drawer: true,
|
||||
ClassModelRules: {
|
||||
title: [{ required: true, message: "必填项", trigger: "blur" }],
|
||||
courseIds: [{ required: true, message: "必填项", trigger: "blur" }]
|
||||
},
|
||||
remoteMethodLoading: false,
|
||||
ClassModelForm: {
|
||||
title: "",
|
||||
id: undefined,
|
||||
content: "",
|
||||
courseIds: undefined,
|
||||
type: "0",
|
||||
directorId: null, // 主任
|
||||
ddirectorId: null // 副主任
|
||||
},
|
||||
courseList: [],
|
||||
typeOptions: [
|
||||
{
|
||||
value: "0",
|
||||
label: "普通小班"
|
||||
},
|
||||
{
|
||||
value: "1",
|
||||
label: "联合班"
|
||||
},
|
||||
{
|
||||
value: "2",
|
||||
label: "精英班"
|
||||
}
|
||||
],
|
||||
userList: [],
|
||||
// 富文本编辑器配置
|
||||
editorOption: {
|
||||
modules: {
|
||||
history: {
|
||||
delay: 1000,
|
||||
maxStack: 50,
|
||||
userOnly: false
|
||||
},
|
||||
toolbar: {
|
||||
container: toolbarOptions,
|
||||
handlers: {
|
||||
image: function(value) {
|
||||
if (value) {
|
||||
// 调用element的图片上传组件
|
||||
document.querySelector(".editorUploader input").click();
|
||||
} else {
|
||||
this.quill.format("image", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
placeholder: "请输入正文"
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
// console.log('激活了')
|
||||
if (this.classModel) {
|
||||
console.log("编辑", this.classModel);
|
||||
this.$nextTick(() => {
|
||||
this.ClassModelForm = this.classModel;
|
||||
if (this.classModel.courseList.length > 0) {
|
||||
this.courseList = this.classModel.courseList;
|
||||
var list = [...this.classModel.courseList];
|
||||
var ids = list.map(item => {
|
||||
return item.id;
|
||||
});
|
||||
this.ClassModelForm.courseIds = ids;
|
||||
}
|
||||
if (this.classModel.director) {
|
||||
this.userList.push(this.classModel.director);
|
||||
}
|
||||
if(this.classModel.directorId == 0){
|
||||
this.ClassModelForm.directorId = null
|
||||
}
|
||||
if (this.classModel.ddirector) {
|
||||
this.userList.push(this.classModel.ddirector);
|
||||
}
|
||||
if(this.classModel.ddirectorId == 0){
|
||||
this.ClassModelForm.ddirectorId = null
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.log("添加");
|
||||
}
|
||||
// this.getCourseList();
|
||||
},
|
||||
methods: {
|
||||
submitModel() {
|
||||
console.log(
|
||||
"this.ClassModelForm.ddirectorId",
|
||||
this.ClassModelForm.ddirectorId
|
||||
);
|
||||
if(this.ClassModelForm.directorId == (this.ClassModelForm.ddirectorId + "") && this.ClassModelForm.ddirectorId != null){
|
||||
this.$message.error('主任和副主任不可为同一人!')
|
||||
return
|
||||
}
|
||||
this.$refs['ClassModelForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.ClassModelForm.type == '0' && this.ClassModelForm.courseIds.length > 1){
|
||||
this.$message.error('普通小班模型只可以绑定一门课程哦')
|
||||
return
|
||||
}
|
||||
var url = ''
|
||||
this.ClassModelForm.id ? url = '/common/class/editClassModel' : url = '/common/class/addClassModel'
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(url),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
id: this.ClassModelForm.id,
|
||||
title: this.ClassModelForm.title,
|
||||
directorId: this.ClassModelForm.directorId,
|
||||
ddirectorId: this.ClassModelForm.ddirectorId + "",
|
||||
type: this.ClassModelForm.type, // 班类型 0小班 1联合班 2精英班
|
||||
courseIds: this.ClassModelForm.courseIds.join(",")
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code == 0) {
|
||||
this.$message.success("操作成功");
|
||||
this.$nextTick(() => {
|
||||
this.handleClose();
|
||||
});
|
||||
}else{
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
shwoUpMsg() {
|
||||
this.$message.success("正在上传");
|
||||
},
|
||||
getCourseList(query) {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/master/course/getCourseList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
coursetitle: query, //关键字
|
||||
type: 1,
|
||||
medicalId: "",
|
||||
sociologyId: ""
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.courseList = data.page.records;
|
||||
} else {
|
||||
this.courseList = [];
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
this.$message.error("获取课程失败");
|
||||
});
|
||||
},
|
||||
contentUploadSuccess(res, file) {
|
||||
// console.log(res)
|
||||
// console.log(file)
|
||||
let quill = this.$refs.myQuillEditor.quill;
|
||||
// 如果上传成功
|
||||
if (res) {
|
||||
// 获取光标所在位置
|
||||
let length = quill.getSelection().index;
|
||||
// 插入图片,res为服务器返回的图片链接地址
|
||||
quill.insertEmbed(length, "image", res.url);
|
||||
// 调整光标到最后
|
||||
quill.setSelection(length + 1);
|
||||
this.$message.success("图片插入成功");
|
||||
} else {
|
||||
this.$message.error("图片插入失败!");
|
||||
}
|
||||
},
|
||||
// 失去焦点事件
|
||||
onEditorBlur(quill) {
|
||||
// console.log('editor blur!', quill)
|
||||
},
|
||||
// 获得焦点事件
|
||||
onEditorFocus(quill) {
|
||||
//console.log('editor focus!', quill)
|
||||
},
|
||||
// 准备富文本编辑器
|
||||
onEditorReady(quill) {
|
||||
// console.log('editor ready!', quill)
|
||||
},
|
||||
remoteMethod(query) {
|
||||
if (query !== "") {
|
||||
this.remoteMethodLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/book/user/getUserList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
key: query
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.userList = data.user.records;
|
||||
this.remoteMethodLoading = false;
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
this.userList = [];
|
||||
this.remoteMethodLoading = false;
|
||||
});
|
||||
} else {
|
||||
this.userList = [];
|
||||
}
|
||||
},
|
||||
handleClose() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs["ClassModelForm"].resetFields();
|
||||
this.userList = [];
|
||||
this.courseList = [];
|
||||
});
|
||||
this.$emit("handleClose");
|
||||
}
|
||||
},
|
||||
components: {
|
||||
quillEditor
|
||||
},
|
||||
computed: {
|
||||
// isMultiple() {
|
||||
// console.log('this.ClassModelForm.type',this.ClassModelForm.type)
|
||||
// if (this.ClassModelForm.type == '0') {
|
||||
// return false;
|
||||
// } else {
|
||||
// return true;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.editorUploader {
|
||||
display: none;
|
||||
}
|
||||
.courseSelect {
|
||||
width: 100% !important;
|
||||
}
|
||||
</style>
|
||||
634
src/views/modules/miniClass/miniClass.vue
Normal file
634
src/views/modules/miniClass/miniClass.vue
Normal file
@@ -0,0 +1,634 @@
|
||||
<template>
|
||||
<!-- 小班教学页面 -->
|
||||
<div class="">
|
||||
<el-drawer
|
||||
size="700px"
|
||||
title="小班管理"
|
||||
style="font-size:16px; font-weight:bold;"
|
||||
:visible.sync="drawer"
|
||||
direction="ltr"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
<div class="btnTag flexbox">
|
||||
<span @click="mainSet = true" :class="mainSet ? 'acitve' : ''"
|
||||
>基本信息</span
|
||||
><span
|
||||
v-if="miniClassForm.id"
|
||||
@click="mainSet = false"
|
||||
:class="!mainSet ? 'acitve' : ''"
|
||||
>管理成员设置</span
|
||||
>
|
||||
</div>
|
||||
<div style="padding:26px" v-show="mainSet">
|
||||
<el-form
|
||||
:model="miniClassForm"
|
||||
:rules="miniClassRules"
|
||||
ref="miniClassForm"
|
||||
label-width="100px"
|
||||
class="demo-ruleForm"
|
||||
>
|
||||
<el-form-item label="班级模型" prop="modelId">
|
||||
<el-select
|
||||
v-model="miniClassForm.modelId"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入模型名称"
|
||||
:remote-method="modelRemoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in modelList"
|
||||
:key="item.title"
|
||||
:label="item.title"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="title">
|
||||
<el-input v-model="miniClassForm.title"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="封面图" prop="icon">
|
||||
<!-- <el-input v-model="miniClassForm.icon"></el-input> -->
|
||||
<el-upload
|
||||
class="avatar-uploader icon-uploader"
|
||||
:action="baseUrl + '/oss/fileoss'"
|
||||
:show-file-list="false"
|
||||
accept=".jpeg,.jpg,.gif,.png"
|
||||
:on-success="iconhandleAvatarSuccess"
|
||||
:before-upload="iconbeforeAvatarUpload"
|
||||
>
|
||||
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<div style="margin:15px 0; font-size14px; color:#606266">
|
||||
简介/教学目标
|
||||
</div>
|
||||
<el-form-item label="" prop="content" label-width="0">
|
||||
<el-upload
|
||||
class="editorUploader"
|
||||
:action="baseUrl + '/oss/fileoss'"
|
||||
accept=".jpeg,.jpg,.gif,.png"
|
||||
:show-file-list="false"
|
||||
:before-upload="shwoUpMsg"
|
||||
:on-success="contentUploadSuccess"
|
||||
>
|
||||
</el-upload>
|
||||
<quill-editor
|
||||
v-model="miniClassForm.content"
|
||||
ref="myQuillEditor"
|
||||
:options="editorOption"
|
||||
@blur="onEditorBlur($event)"
|
||||
@focus="onEditorFocus($event)"
|
||||
@ready="onEditorReady($event)"
|
||||
class="shangpin_editor"
|
||||
>
|
||||
</quill-editor>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="text-align:right; margin-top:15px">
|
||||
<el-button type="primary" @click="saveAdd" v-if="!miniClassForm.id"
|
||||
>创建班级</el-button
|
||||
>
|
||||
<el-button type="primary" @click="saveAdd" v-else>保 存</el-button
|
||||
><el-button type="success" @click="kaiban" v-if="miniClassForm.state == '0'">开班</el-button
|
||||
><el-button type="warning" @click="jieban" v-if="miniClassForm.state == '1'">结班</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="!mainSet">
|
||||
<div>
|
||||
<el-form
|
||||
:model="member"
|
||||
ref="member"
|
||||
label-width="100px"
|
||||
class="demo-ruleForm"
|
||||
>
|
||||
<el-form-item label="班长" prop="monitor">
|
||||
<!-- <el-input v-model="miniClassForm.member.monitor"></el-input> -->
|
||||
<el-select
|
||||
class="userSelect"
|
||||
v-model="member.monitor"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="副班长" prop="dmonitor">
|
||||
<el-select
|
||||
class="userSelect"
|
||||
v-model="member.dmonitor"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="学委" prop="learner">
|
||||
<el-select
|
||||
class="userSelect"
|
||||
v-model="member.learner"
|
||||
filterable
|
||||
remote
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="评分员" prop="scorer">
|
||||
<el-select
|
||||
class="userSelect"
|
||||
v-model="member.scorer"
|
||||
filterable
|
||||
remote
|
||||
multiple
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="记分员" prop="counter">
|
||||
<el-select
|
||||
class="userSelect"
|
||||
v-model="member.counter"
|
||||
filterable
|
||||
remote
|
||||
multiple
|
||||
clearable
|
||||
reserve-keyword
|
||||
placeholder="请输入手机号"
|
||||
:remote-method="remoteMethod"
|
||||
:loading="remoteMethodLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.tel"
|
||||
:label="item.tel"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div style="text-align:center">
|
||||
<el-button type="primary" @click="saveMember">保 存</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { quillEditor } from "vue-quill-editor";
|
||||
import global from "../../common/common.vue"; //引入共用组间
|
||||
|
||||
import "quill/dist/quill.core.css";
|
||||
import "quill/dist/quill.snow.css";
|
||||
import "quill/dist/quill.bubble.css";
|
||||
const toolbarOptions = [
|
||||
["bold", "italic", "underline", "strike"], // 加粗,斜体,下划线,删除线
|
||||
["blockquote", "code-block"], //引用,代码块
|
||||
[{ header: 1 }, { header: 2 }], // 几级标题
|
||||
[{ list: "ordered" }, { list: "bullet" }], // 有序列表,无序列表
|
||||
[{ script: "sub" }, { script: "super" }], // 下角标,上角标
|
||||
[{ indent: "-1" }, { indent: "+1" }], // 缩进
|
||||
[{ direction: "rtl" }], // 文字输入方向
|
||||
[{ size: ["small", false, "large", "huge"] }], // 字体大小
|
||||
[{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题
|
||||
[{ color: [] }, { background: [] }], // 颜色选择
|
||||
[
|
||||
{
|
||||
font: [
|
||||
"SimSun",
|
||||
"SimHei",
|
||||
"Microsoft-YaHei",
|
||||
"KaiTi",
|
||||
"FangSong",
|
||||
"Arial"
|
||||
]
|
||||
}
|
||||
], // 字体
|
||||
[{ align: [] }], // 居中
|
||||
["clean"], // 清除样式,
|
||||
["link", "image"] // 上传图片、上传视频
|
||||
];
|
||||
export default {
|
||||
props: ["course", "miniClass"],
|
||||
data() {
|
||||
return {
|
||||
baseUrl: global.baseUrl,
|
||||
mainSet: true,
|
||||
drawer: true,
|
||||
miniClassRules: {
|
||||
modelId: [{ required: true, message: "必填项", trigger: "blur" }],
|
||||
title: [{ required: true, message: "必填项", trigger: "blur" }]
|
||||
},
|
||||
remoteMethodLoading: false,
|
||||
imageUrl: "",
|
||||
miniClassForm: {
|
||||
title: "",
|
||||
id: undefined,
|
||||
content: "",
|
||||
icon: "",
|
||||
state: "0",
|
||||
modelId: undefined
|
||||
},
|
||||
member: {
|
||||
monitor: null, // 班长
|
||||
dmonitor: null, // 副班长
|
||||
marker: null, // 评分员
|
||||
learner: null, //学委
|
||||
scorer: [], //评分员
|
||||
counter: [] // 记分员
|
||||
},
|
||||
modelList: [],
|
||||
userList: [],
|
||||
// 富文本编辑器配置
|
||||
editorOption: {
|
||||
modules: {
|
||||
history: {
|
||||
delay: 1000,
|
||||
maxStack: 50,
|
||||
userOnly: false
|
||||
},
|
||||
toolbar: {
|
||||
container: toolbarOptions,
|
||||
handlers: {
|
||||
image: function(value) {
|
||||
if (value) {
|
||||
// 调用element的图片上传组件
|
||||
document.querySelector(".editorUploader input").click();
|
||||
} else {
|
||||
this.quill.format("image", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
placeholder: "请输入正文"
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
// console.log('激活了')
|
||||
if (this.miniClass) {
|
||||
console.log("编辑小班", this.miniClass);
|
||||
if (this.miniClass.classModel.id) {
|
||||
this.modelList.push(this.miniClass.classModel);
|
||||
}
|
||||
if (this.miniClass.icon.length > 0) {
|
||||
this.imageUrl = this.miniClass.icon;
|
||||
}
|
||||
this.miniClassForm = this.miniClass;
|
||||
if(this.miniClass.classUsers.length > 0){
|
||||
var list = [...this.miniClass.classUsers]
|
||||
// this.userList = [...this.miniClass.classUsers]
|
||||
list.forEach( item => {
|
||||
if(item.role == '1'){
|
||||
this.member.monitor = item.userId
|
||||
}
|
||||
if(item.role == '2'){
|
||||
this.member.dmonitor = item.userId
|
||||
}
|
||||
if(item.role == '3'){
|
||||
this.member.learner = item.userId
|
||||
}
|
||||
if(item.role == '4'){
|
||||
this.member.scorer.push(item.userId)
|
||||
console.log(" this.member.scorer", this.member.scorer,item.userId);
|
||||
}
|
||||
if(item.role == '5'){
|
||||
this.member.counter.push(item.userId)
|
||||
console.log("this.member.counter", this.member.counter,item.userId);
|
||||
}
|
||||
item.id = item.userId
|
||||
this.userList.push(item)
|
||||
})
|
||||
// console.log("处理后的",this.userList);
|
||||
|
||||
}
|
||||
} else {
|
||||
console.log("添加小班");
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 开班
|
||||
kaiban(){
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/common/class/editClass'),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
id: this.miniClassForm.id,
|
||||
modelId: this.miniClassForm.modelId,
|
||||
title: this.miniClassForm.title,
|
||||
icon: this.miniClassForm.icon,
|
||||
state: '1',
|
||||
content: this.miniClassForm.content
|
||||
// createUserid: "10185"
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message.success("操作成功");
|
||||
this.handleClose();
|
||||
}else{
|
||||
this.$message.error("操作失败");
|
||||
}
|
||||
})
|
||||
},
|
||||
// 结班
|
||||
jieban(){
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/common/class/editClass'),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
id: this.miniClassForm.id,
|
||||
modelId: this.miniClassForm.modelId,
|
||||
title: this.miniClassForm.title,
|
||||
icon: this.miniClassForm.icon,
|
||||
state: '2',
|
||||
content: this.miniClassForm.content
|
||||
// createUserid: "10185"
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message.success("操作成功");
|
||||
this.handleClose();
|
||||
}else{
|
||||
this.$message.error("操作失败");
|
||||
}
|
||||
})
|
||||
},
|
||||
// 保存成员信息
|
||||
saveMember() {
|
||||
var url = ''
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/common/class/setUserRole"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
classId: this.miniClassForm.id,
|
||||
monitor: this.member.monitor+'', //班长
|
||||
dmonitor: this.member.dmonitor+'', //2班长
|
||||
learner: this.member.learner+'', //学习委员
|
||||
scorer: this.member.scorer.join(','), //评分员
|
||||
counter: this.member.counter.join(',') //记分员
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message.success("设置成功");
|
||||
this.handleClose();
|
||||
}else{
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
// 创建/编辑班级
|
||||
saveAdd() {
|
||||
this.$refs["miniClassForm"].validate(valid => {
|
||||
if (valid) {
|
||||
var url = "";
|
||||
console.log("this.miniClassForm.id", this.miniClassForm.id);
|
||||
this.miniClassForm.id
|
||||
? (url = "/common/class/editClass")
|
||||
: (url = "/common/class/addClass");
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(url),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
id: this.miniClassForm.id,
|
||||
modelId: this.miniClassForm.modelId,
|
||||
title: this.miniClassForm.title,
|
||||
icon: this.miniClassForm.icon,
|
||||
state: this.miniClassForm.state,
|
||||
content: this.miniClassForm.content
|
||||
// createUserid: "10185"
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message.success("操作成功");
|
||||
this.handleClose();
|
||||
}else{
|
||||
this.$message.error("提交失败");
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error("请完成表单的填写");
|
||||
}
|
||||
});
|
||||
},
|
||||
// 搜索模型
|
||||
modelRemoteMethod(query) {
|
||||
if (query !== "") {
|
||||
this.remoteMethodLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/common/class/getClassModelList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
title: query
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.modelList = data.page.records;
|
||||
this.remoteMethodLoading = false;
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
this.modelList = [];
|
||||
this.remoteMethodLoading = false;
|
||||
});
|
||||
} else {
|
||||
this.modelList = [];
|
||||
}
|
||||
},
|
||||
shwoUpMsg() {
|
||||
this.$message.success("正在上传");
|
||||
},
|
||||
contentUploadSuccess(res, file) {
|
||||
// console.log(res)
|
||||
// console.log(file)
|
||||
let quill = this.$refs.myQuillEditor.quill;
|
||||
// 如果上传成功
|
||||
if (res) {
|
||||
// 获取光标所在位置
|
||||
let length = quill.getSelection().index;
|
||||
// 插入图片,res为服务器返回的图片链接地址
|
||||
quill.insertEmbed(length, "image", res.url);
|
||||
// 调整光标到最后
|
||||
quill.setSelection(length + 1);
|
||||
this.$message.success("图片插入成功");
|
||||
} else {
|
||||
this.$message.error("图片插入失败!");
|
||||
}
|
||||
},
|
||||
// 失去焦点事件
|
||||
onEditorBlur(quill) {
|
||||
// console.log('editor blur!', quill)
|
||||
},
|
||||
|
||||
iconhandleAvatarSuccess(res, file) {
|
||||
this.miniClassForm.icon = res.url;
|
||||
this.imageUrl = URL.createObjectURL(file.raw);
|
||||
console.log("this.imageUrl", this.imageUrl, file, res);
|
||||
this.$message.success("上传成功");
|
||||
},
|
||||
iconbeforeAvatarUpload(file) {
|
||||
this.$message.success("正在上传");
|
||||
},
|
||||
|
||||
// 获得焦点事件
|
||||
onEditorFocus(quill) {
|
||||
//console.log('editor focus!', quill)
|
||||
},
|
||||
// 准备富文本编辑器
|
||||
onEditorReady(quill) {
|
||||
// console.log('editor ready!', quill)
|
||||
},
|
||||
remoteMethod(query) {
|
||||
if (query !== "") {
|
||||
this.remoteMethodLoading = true;
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/book/user/getUserList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: 1,
|
||||
limit: 10,
|
||||
key: query
|
||||
})
|
||||
})
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.userList = data.user.records;
|
||||
this.remoteMethodLoading = false;
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
this.userList = [];
|
||||
this.remoteMethodLoading = false;
|
||||
});
|
||||
} else {
|
||||
this.userList = [];
|
||||
}
|
||||
},
|
||||
handleClose() {
|
||||
// this.$nextTick(() => {
|
||||
this.userList = []
|
||||
this.$refs["miniClassForm"].resetFields();
|
||||
// });
|
||||
this.$emit("handleClose");
|
||||
}
|
||||
},
|
||||
components: {
|
||||
quillEditor
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.userSelect {
|
||||
width: 80% !important;
|
||||
}
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
.editorUploader {
|
||||
display: none;
|
||||
}
|
||||
.btnTag {
|
||||
justify-content: space-between;
|
||||
margin: 20px 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 20px 0;
|
||||
span {
|
||||
display: block;
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
font-weight: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
span.acitve {
|
||||
color: #427ce9;
|
||||
}
|
||||
}
|
||||
|
||||
.icon-uploader {
|
||||
border: 1px dashed #d9d9d9;
|
||||
width: 100px;
|
||||
}
|
||||
.avatar-uploader .el-upload {
|
||||
border: 1px dashed #d9d9d9;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.avatar-uploader .el-upload:hover {
|
||||
border-color: #409eff;
|
||||
}
|
||||
.avatar-uploader-icon {
|
||||
font-size: 28px;
|
||||
color: #8c939d;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
text-align: center;
|
||||
}
|
||||
.avatar {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
352
src/views/modules/miniClass/miniClassList.vue
Normal file
352
src/views/modules/miniClass/miniClassList.vue
Normal file
@@ -0,0 +1,352 @@
|
||||
<template>
|
||||
<div class="mod-config">
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="dataForm"
|
||||
@keyup.enter.native="getDataList()"
|
||||
>
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.title" placeholder="请输入小班名称" clearable>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小班状态">
|
||||
<el-select v-model="dataForm.state" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in statusOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="小班类型">
|
||||
<el-select v-model="dataForm.type" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
@click="
|
||||
pageIndex = 1;
|
||||
getDataList();
|
||||
"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="isAuth('book:user:save')"
|
||||
type="primary"
|
||||
@click="showMiniClass()"
|
||||
>新开小班</el-button
|
||||
>
|
||||
<!-- <el-button v-if="isAuth('book:user:delete')" type="danger" @click="deleteHandle()"
|
||||
:disabled="dataListSelections.length <= 0">批量删除</el-button> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="小班名称"
|
||||
>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
prop="createUser.tel"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="创建人"
|
||||
>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="avatar"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="日期"
|
||||
>
|
||||
|
||||
<template slot-scope="scope">
|
||||
创建日期:{{scope.row.createTime}}<br/> 开班日期<br/>结班日期<br/>
|
||||
<!-- <img
|
||||
v-if="scope.row.avatar && scope.row.avatar != ''"
|
||||
:src="scope.row.avatar"
|
||||
width="50"
|
||||
height="50"
|
||||
class="tableImg"
|
||||
/>
|
||||
<img
|
||||
v-else
|
||||
src="../../../../static/img/morenAvavter.png"
|
||||
width="50"
|
||||
height="50"
|
||||
class="tableImg"
|
||||
/> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="state"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="小班状态"
|
||||
>
|
||||
<template slot-scope="scope">{{scope.row.state | getStatus}}</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="150"
|
||||
label="操作"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="showMiniClass(scope.row)"
|
||||
>修改</el-button
|
||||
>
|
||||
<!-- <el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="setMember(scope.row)"
|
||||
>管理成员</el-button
|
||||
> -->
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="deleteHandle(scope.row.id)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
>
|
||||
</el-pagination>
|
||||
<!-- 小班教学管理 -->
|
||||
<mini-class
|
||||
ref="miniClass"
|
||||
v-if="miniClassVisible"
|
||||
@handleClose="miniClassHandleClose"
|
||||
:miniClass="miniClass"
|
||||
></mini-class>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import miniClass from "./miniClass.vue";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
setMemberVisible:false,
|
||||
dataForm: {
|
||||
title: "",
|
||||
type:'0',
|
||||
state:'0'
|
||||
},
|
||||
// courseId: {},
|
||||
course: null,
|
||||
miniClass: undefined,
|
||||
// showMiniClass:false,
|
||||
options: [
|
||||
{
|
||||
value: '0',
|
||||
label: "普通小班"
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: "联合班"
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: "精英班"
|
||||
}
|
||||
],
|
||||
statusOptions : [
|
||||
{
|
||||
value: '0',
|
||||
label: "待开班"
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: "已开班"
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: "已结班"
|
||||
}
|
||||
],
|
||||
adc: false,
|
||||
pointForm: {
|
||||
pointType: 0,
|
||||
remark: "",
|
||||
// title:'',
|
||||
pointAmount: 0
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
total: 0,
|
||||
dataListLoading: false,
|
||||
miniClassVisible: false
|
||||
};
|
||||
},
|
||||
filters: {
|
||||
getStatus: function (value) {
|
||||
var _str = '454545'
|
||||
switch (value) {
|
||||
case '0':
|
||||
_str = '待开班'
|
||||
break;
|
||||
case '1':
|
||||
_str = '已开班'
|
||||
break;
|
||||
case '2':
|
||||
_str = '已结班'
|
||||
break;
|
||||
}
|
||||
return _str
|
||||
}
|
||||
},
|
||||
components: {
|
||||
miniClass
|
||||
},
|
||||
created() {
|
||||
// this.courseId = this.$route.query.courseId;
|
||||
console.log("得到的课程id");
|
||||
// this.getCourseInfo()
|
||||
this.getDataList();
|
||||
|
||||
},
|
||||
mounted(){
|
||||
console.log("得到的课程id");
|
||||
},
|
||||
methods: {
|
||||
setMemberClose(){
|
||||
|
||||
},
|
||||
// 管理人员设置
|
||||
setMember(data){
|
||||
|
||||
},
|
||||
// 管理员小班管理
|
||||
showMiniClass(data) {
|
||||
// console.log('miniClass',data)
|
||||
if(data){
|
||||
this.miniClass = data
|
||||
}
|
||||
this.miniClassVisible = true;
|
||||
|
||||
},
|
||||
// 关闭小班设置
|
||||
miniClassHandleClose() {
|
||||
this.miniClassVisible = false;
|
||||
this.miniClass = undefined
|
||||
this.getDataList()
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http({
|
||||
// url: this.$http.adornUrl('/book/user/list'),
|
||||
url: this.$http.adornUrl("/common/class/getClassList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
title: this.dataForm.title,
|
||||
type: this.dataForm.type,
|
||||
state: this.dataForm.state
|
||||
})
|
||||
// params: this.$http.adornParams({
|
||||
// 'page': 1,
|
||||
// 'limit': this.pageSize,
|
||||
// 'key': this.dataForm.key
|
||||
// })
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.page.records;
|
||||
this.totalPage = data.page.pages;
|
||||
this.total = data.page.total;
|
||||
this.dataListLoading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 每页数
|
||||
sizeChangeHandle(val) {
|
||||
this.pageSize = val;
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle(val) {
|
||||
this.pageIndex = val;
|
||||
this.getDataList();
|
||||
},
|
||||
|
||||
// 新增 / 修改
|
||||
|
||||
// 删除
|
||||
deleteHandle(id) {
|
||||
var ids = id
|
||||
// ? [id]
|
||||
// : this.dataListSelections.map(item => {
|
||||
// return item.id;
|
||||
// });
|
||||
this.$confirm(
|
||||
`确定删除操作?`,
|
||||
"提示",
|
||||
{
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}
|
||||
).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/common/class/delClass"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
classId:ids
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
}).catch(e => {
|
||||
this.$message.error('删除失败');
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
322
src/views/modules/miniClass/miniClassType.vue
Normal file
322
src/views/modules/miniClass/miniClassType.vue
Normal file
@@ -0,0 +1,322 @@
|
||||
<template>
|
||||
<div class="mod-config">
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="dataForm"
|
||||
@keyup.enter.native="getDataList()"
|
||||
>
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.key" placeholder="请输入班级模型名称" clearable>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="班级类型">
|
||||
<el-select v-model="dataForm.status" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
@click="
|
||||
pageIndex = 1;
|
||||
getDataList();
|
||||
"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button
|
||||
v-if="isAuth('book:user:save')"
|
||||
type="primary"
|
||||
@click="showClassModel()"
|
||||
>添加班级模型</el-button
|
||||
>
|
||||
<!-- <el-button v-if="isAuth('book:user:delete')" type="danger" @click="deleteHandle()"
|
||||
:disabled="dataListSelections.length <= 0">批量删除</el-button> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column
|
||||
prop="title"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="名称"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createUser.tel"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="包含课程"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.courseList.length > 0">
|
||||
<div v-for="(item, index) in scope.row.courseList" :key="index">{{item.title}}</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
还没有绑定课程
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="主任设置"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!-- <div> <span>主任</span></div> -->
|
||||
<div v-if="scope.row.director">
|
||||
<span v-if="scope.row.director.nickname">{{scope.row.director.nickname}}<br/></span>
|
||||
<span v-if="scope.row.director.tel">电话:{{scope.row.director.tel}}<br/></span>
|
||||
<span v-if="scope.row.director.email">邮箱:{{scope.row.director.email}}<br/></span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="state"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="副主任设置"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!-- <div><span>副主任</span></div> -->
|
||||
<div v-if="scope.row.ddirector">
|
||||
<span v-if="scope.row.ddirector.nickname">{{scope.row.ddirector.nickname}}<br/></span>
|
||||
<span v-if="scope.row.ddirector.tel">电话:{{scope.row.ddirector.tel}}<br/></span>
|
||||
<span v-if="scope.row.ddirector.email">邮箱:{{scope.row.ddirector.email}}<br/></span>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="150"
|
||||
label="操作"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="showClassModel(scope.row)"
|
||||
>修改</el-button
|
||||
>
|
||||
<!-- <el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="deleteHandle(scope.row.id)"
|
||||
>删除</el-button
|
||||
> -->
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
>
|
||||
</el-pagination>
|
||||
|
||||
<!-- 小班教学管理 -->
|
||||
<class-add-type
|
||||
ref="miniClass"
|
||||
v-if="miniClassVisible"
|
||||
@handleClose="miniClassHandleClose"
|
||||
:classModel="miniClass"
|
||||
></class-add-type>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import classAddType from "./classAddType.vue";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
key: "",
|
||||
status:'0'
|
||||
},
|
||||
courseId: {},
|
||||
course: null,
|
||||
miniClass: undefined,
|
||||
// showClassModel:false,
|
||||
options: [
|
||||
{
|
||||
value: '0',
|
||||
label: "普通小班"
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: "联合班"
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: "精英班"
|
||||
}
|
||||
],
|
||||
adc: false,
|
||||
pointForm: {
|
||||
pointType: 0,
|
||||
remark: "",
|
||||
// title:'',
|
||||
pointAmount: 0
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
total: 0,
|
||||
dataListLoading: false,
|
||||
miniClassVisible: false
|
||||
};
|
||||
},
|
||||
components: {
|
||||
classAddType
|
||||
},
|
||||
created() {
|
||||
this.courseId = this.$route.query.courseId;
|
||||
console.log("得到的课程id", this.courseId);
|
||||
this.getCourseInfo()
|
||||
this.getDataList();
|
||||
|
||||
},
|
||||
methods: {
|
||||
// 管理员小班管理
|
||||
showClassModel(data) {
|
||||
// console.log('miniClass',data)
|
||||
if(data){
|
||||
this.miniClass = data
|
||||
}
|
||||
// if(this.course.id){
|
||||
this.miniClassVisible = true;
|
||||
// }
|
||||
},
|
||||
// 关闭小班设置
|
||||
miniClassHandleClose() {
|
||||
this.miniClassVisible = false;
|
||||
this.miniClass = undefined
|
||||
this.getDataList()
|
||||
},
|
||||
// 获取课程详情
|
||||
getCourseInfo(){
|
||||
this.$http
|
||||
.request({
|
||||
url: this.$http.adornUrl('/master/course/getCoursedetail'),
|
||||
method: "POST",
|
||||
data: {
|
||||
id: 35
|
||||
// id: this.courseId
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
})
|
||||
.then(res => {
|
||||
// console.log("result at line 452:", res);
|
||||
if (res && res.data.code == 0) {
|
||||
this.course = res.data.course;
|
||||
// console.log("课程详细:", data);
|
||||
}
|
||||
}).catch(e => {
|
||||
this.$message.error('获取数据失败')
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http({
|
||||
// url: this.$http.adornUrl('/book/user/list'),
|
||||
url: this.$http.adornUrl("/common/class/getClassModelList"),
|
||||
method: "post",
|
||||
data: this.$http.adornData({
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
|
||||
title: this.dataForm.key,
|
||||
// status: dataForm.status
|
||||
})
|
||||
// params: this.$http.adornParams({
|
||||
// 'page': 1,
|
||||
// 'limit': this.pageSize,
|
||||
// 'key': this.dataForm.key
|
||||
// })
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.page.records;
|
||||
this.totalPage = data.page.pages;
|
||||
this.total = data.page.total;
|
||||
this.dataListLoading = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 每页数
|
||||
sizeChangeHandle(val) {
|
||||
this.pageSize = val;
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle(val) {
|
||||
this.pageIndex = val;
|
||||
this.getDataList();
|
||||
},
|
||||
|
||||
// 新增 / 修改
|
||||
|
||||
// 删除
|
||||
deleteHandle(id) {
|
||||
var ids = id
|
||||
? [id]
|
||||
: this.dataListSelections.map(item => {
|
||||
return item.id;
|
||||
});
|
||||
this.$confirm(
|
||||
`确定对[id=${ids.join(",")}]进行[${id ? "删除" : "批量删除"}]操作?`,
|
||||
"提示",
|
||||
{
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}
|
||||
).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl("/book/user/delete"),
|
||||
method: "post",
|
||||
data: this.$http.adornData(ids, false)
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -5,10 +5,10 @@
|
||||
window.SITE_CONFIG = {};
|
||||
|
||||
// api接口请求地址
|
||||
// window.SITE_CONFIG['baseUrl'] = 'http://192.168.110.100:9200/pb';//张川川
|
||||
window.SITE_CONFIG['baseUrl'] = 'http://192.168.110.100:9200/pb';//张川川
|
||||
// window.SITE_CONFIG['baseUrl'] = 'http://59.110.212.44:9200/pb';
|
||||
// window.SITE_CONFIG['baseUrl'] = 'https://testapi.nuttyreading.com'; // 线上测试环境11
|
||||
window.SITE_CONFIG['baseUrl'] = 'https://api.nuttyreading.com'; // 线上正式环境
|
||||
// window.SITE_CONFIG['baseUrl'] = 'https://api.nuttyreading.com'; // 线上正式环境
|
||||
// window.SITE_CONFIG['baseUrl'] = 'http://192.168.110.110:9200/pb';//磊哥
|
||||
// window.SITE_CONFIG['baseUrl'] = 'http://59.110.212.44:9200/pb';
|
||||
// window.SITE_CONFIG['baseUrl'] = 'http://192.168.110.100:9200/pb';
|
||||
|
||||
Reference in New Issue
Block a user