master
lion 1 year ago
parent 61f95ed292
commit 5fdf8645f2

@ -129,7 +129,7 @@
// +
if (this.tableName === 'users') {
b.unshift({
key: 'status',
key: 'status_name',
title: '审核状态',
width: 120
});
@ -196,12 +196,11 @@
})
}
//
if (this.tableName === 'users') {
response.map(item => {
item.is_schoolmate = 1
item.username = item.name
})
}
// if (this.tableName === 'users') {
// response.map(item => {
// item.username = item.name
// })
// }
this.tableList = response;
this.fileList = fileList
this.$message({

@ -86,7 +86,7 @@
<div>
<div class="txl">
<div>课程名称{{subjectObj.title}}</div>
<div>开课日期{{subjectObj.date}}</div>
<div>开课日期{{subjectObj.date?subjectObj.date:'开课待定'}}</div>
<div>课程体系{{subjectObj.leibie}}</div>
</div>
<xy-table :list="list" :total="total" :showIndex="false" @pageIndexChange="pageIndexChange"
@ -227,12 +227,18 @@
}
]
}
},
mounted() {
this.subjectObj = this.$route.query
this.select.course_id = this.subjectObj.id
this.select.status = this.subjectObj.status
this.getList()
},
created(){
this.subjectObj = this.$route.query
console.log("this.$route.query",this.$route.query)
this.select.course_id = this.subjectObj.id
if(this.subjectObj.status===0){
this.select.status = 0
}else{
this.select.status = this.subjectObj.status?parseInt(this.subjectObj.status):''
}
this.getList()
},
methods: {
pageIndexChange(e) {

@ -37,7 +37,7 @@
<div>
<div class="txl">
<div>课程名称{{subjectObj.title}}</div>
<div>开课日期{{subjectObj.date}}</div>
<div>开课日期{{subjectObj.date?subjectObj.date:'开课待定'}}</div>
<div>课程体系{{subjectObj.leibie}}</div>
<div>班主任{{subjectObj.teacher}}</div>
</div>
@ -239,6 +239,10 @@
key: 'date',
op: 'eq',
value: this.select.date ? this.select.date : ''
}, {
key: 'course_id',
op: 'eq',
value: this.select.course_id
}],
})
this.list = res.data

@ -217,7 +217,12 @@
},
goAttendance(row) {
let value = row.type_detail.name
let teacher = row.teacher ? row.teacher.name : ''
let teacher = []
if(row.teacher_detail.length>0){
row.teacher_detail.map(item=>{
teacher.push(item.name)
})
}
this.$router.push({
path: '/course/attendance',
query: {
@ -225,7 +230,7 @@
id: row.id,
date: row.start_date ? row.start_date + '至' + row.end_date : '',
leibie: value,
teacher: teacher
teacher: teacher.join(",")
}
})
},

@ -7,7 +7,7 @@
<div>课程体系{{subjectObj.type_detail?subjectObj.type_detail.name:''}}</div>
</div>
<div class="txl">
<div>班主任{{subjectObj.teacher?subjectObj.teacher.name:''}}</div>
<div>班主任{{subjectObj.teacherList?subjectObj.teacherList:''}}</div>
<div>课表状态{{subjectObj.course_content_status===1?'已发布':'未发布'}}</div>
</div>
<div class="txl">
@ -53,7 +53,10 @@
index,
sendSms,
destroy
} from '@/api/course/courseContent.js'
} from '@/api/course/courseContent.js'
import {
index as teacherIndex
} from "@/api/info/teachers.js"
import {
show,
save
@ -130,14 +133,22 @@
show_relation: ['teacher', 'type_detail']
})
this.subjectObj = {}
this.subjectObj = this.base.requestToForm(res, this.subjectObj)
this.subjectObj = this.base.requestToForm(res, this.subjectObj)
let teacher = []
if(res.teacher_detail.length>0){
res.teacher_detail.map(item=>{
teacher.push(item.name)
})
}
this.subjectObj.teacherList = teacher.join(",")
},
//
importTable() {
this.$refs.imports.show()
},
refreshData() {
this.$emit('refresh')
this.$emit('refresh')
this.getTeachers()
this.getCourseDetail()
this.getCousreContent()
},
@ -182,6 +193,13 @@
this.$refs.editClass.id = id
this.$refs.editClass.setTeachers(this.teacher_options)
this.$refs.editClass.isShow = true
},
async getTeachers() {
const res = await teacherIndex({
page: 1,
page_size: 999
})
this.teacher_options = res.data
},
deleteList(id) {
var that = this;

@ -3,12 +3,13 @@
<el-dialog title="创建报名表单" :show-close="false" :visible.sync="dialogVisible" :fullscreen="true" :modal='false'>
<template v-slot:title>
<div style="display: flex;align-items: center;justify-content: space-between;font-size: 26px;">
<div style="display: flex;align-items: center;">
<div style="width:300px">创建报名表单</div>
<el-select v-model="hasCourseId" @change="changeCourse" placeholder="请选择课程表单" clearable style="width: 100%;">
<el-option v-for="item in hasCourseList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<div style="display: flex;align-items: center;">
<div style="width:300px">创建报名表单</div>
<el-select v-model="hasCourseId" @change="changeCourse" placeholder="请选择课程表单" clearable
style="width: 100%;">
<el-option v-for="item in hasCourseList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</div>
<div style="cursor: pointer;">
<Button type="primary" @click="dialogVisible = false">完成并关闭</Button>
@ -41,16 +42,15 @@
" v-for="(i, index) in defaultFormList">
<el-input :placeholder="i.help?i.help:'表单字段'" :disabled="true"></el-input>
</el-form-item> -->
<draggable :value="formList" group="items" @change="changeHandler"
style="width:100%">
<el-form-item style="flex-basis: 100%;" :label="i.name || '字段名称'" :required="
i.rule ? !!i.rule.includes('required') : false
" v-for="(i, index) in formList" @click.native="selectPick(i, index)">
<formSlotRender :config="i" :index="index"></formSlotRender>
</el-form-item>
<draggable :value="formList" group="items" @change="changeHandler" style="width:100%">
<el-form-item style="flex-basis: 100%;" :label="i.name || '字段名称'" :required="
i.rule ? !!i.rule.includes('required') : false
" v-for="(i, index) in formList" @click.native="selectPick(i, index)">
<formSlotRender :config="i" :index="index"></formSlotRender>
</el-form-item>
</draggable>
<!-- <el-divider>选填字段</el-divider> -->
<!-- <el-form-item style="flex-basis: 100%;" :label="i.name" :required="
<!-- <el-form-item style="flex-basis: 100%;" :label="i.name" :required="
i.rule ? !!i.rule.includes('required') : false
" v-for="(i, index) in selectFormList"
@click.native="selectPick(i, index)">
@ -80,17 +80,15 @@
</template>
</Split>
</div>
</el-dialog>
<!-- -->
<el-dialog
title="提示"
:visible.sync="showTips"
width="30%">
<div style="padding: 30px;font-size: 24px;text-indent: 2em;">是否确认克隆<span style="color:red">{{hasCourseName}}</span>的报名表单克隆后将<span style="color:red">覆盖原有课程的报名表单</span>请谨慎操作</div>
<span slot="footer" class="dialog-footer">
<el-button @click="showTips = false"> </el-button>
<el-button type="primary" @click="copyForms"> </el-button>
</span>
</el-dialog>
<!-- -->
<el-dialog title="提示" :visible.sync="showTips" width="30%">
<div style="padding: 30px;font-size: 24px;text-indent: 2em;">是否确认克隆<span
style="color:red">{{hasCourseName}}</span>的报名表单克隆后将<span style="color:red">覆盖原有课程的报名表单</span>请谨慎操作</div>
<span slot="footer" class="dialog-footer">
<el-button @click="showTips = false"> </el-button>
<el-button type="primary" @click="copyForms"> </el-button>
</span>
</el-dialog>
@ -105,11 +103,12 @@
import {
index,
save,
destroy,
destroy,
cloneForm
} from "@/api/course/form";
import {
index as courseIndex
} from "@/api/course/form";
import {
index as courseIndex,
show as courseShow
} from "@/api/course/index.js"
import {
deepCopy
@ -124,19 +123,19 @@
},
data() {
return {
course_id: "",
course_signs_count:0,
course_id: "",
course_signs_count: 0,
select: {
page: 1,
page_size: 999,
sort_name: 'sort',
sort_type: 'ASC'
},
dialogVisible: false,
showTips:false,
hasCourseId:'',
hasCourseName:'',
hasCourseList:[],
dialogVisible: false,
showTips: false,
hasCourseId: '',
hasCourseName: '',
hasCourseList: [],
formList: [],
types: [],
rules: {},
@ -148,53 +147,63 @@
}
},
created() {
this.getConfig()
this.getConfig()
this.getCourseList()
},
methods: {
//
async getCourseList(){
const res = await courseIndex({
page:1,
page_size:999,
has_course_forms:1,
sort_name:'id',
sort_type:'ASC',
})
this.hasCourseList = res.data.filter((item)=>{return item.id!=this.course_id})
},
changeCourse(e){
console.log("course-e",e)
if(this.course_signs_count>0){
this.$message({
type:'warning',
duration:4000,
message:'当前课程已有人员报名,不可进行报名表单克隆操作'
})
// this.$Message.warning("")
return
}
if(e){
this.hasCourseList.map(item=>{
if(item.id===e){
this.hasCourseId = e
this.hasCourseName = item.name
this.showTips = true
}
})
}
},
//
copyForms(){
cloneForm({
from_course_id:this.hasCourseId,
to_course_id:this.course_id
}).then(res=>{
this.$Message.success('克隆成功')
this.showTips = false
this.getFormList()
})
methods: {
//
async getCourseList() {
const res = await courseIndex({
page: 1,
page_size: 999,
has_course_forms: 1,
sort_name: 'id',
sort_type: 'ASC',
})
this.hasCourseList = res.data.filter((item) => {
return item.id != this.course_id
})
},
changeCourse(e) {
console.log("course-e", e)
if (e) {
this.getDetail(e)
}
},
getDetail(e) {
courseShow({
id: this.course_id,
}).then(res => {
// this.course_signs_count = res.course_signs_count
if (this.course_signs_count > 0) {
this.$message({
type: 'warning',
duration: 4000,
message: '当前课程已有人员报名,不可进行报名表单克隆操作'
})
// this.$Message.warning("")
return
}
this.hasCourseList.map(item => {
if (item.id === e) {
this.hasCourseId = e
this.hasCourseName = item.name
this.showTips = true
}
})
})
},
//
copyForms() {
cloneForm({
from_course_id: this.hasCourseId,
to_course_id: this.course_id
}).then(res => {
this.$Message.success('克隆成功')
this.showTips = false
this.getFormList()
})
},
// formitem
async getConfig() {
@ -220,9 +229,9 @@
})
this.formList = res.data
// this.updateObjects(this.selectFormList, this.formList)
// let _arr = this.removeMatchingItems(this.selectFormList, this.formList)
// this.formList.push(..._arr)
// this.selectFormList = _arr
// let _arr = this.removeMatchingItems(this.selectFormList, this.formList)
// this.formList.push(..._arr)
// this.selectFormList = _arr
// console.log("_arr",_arr)
console.log("this.selectFormList", this.selectFormList, this.formList)
@ -282,13 +291,13 @@
newIndex,
oldIndex
} = e.moved;
element.sort = newIndex;
console.log(element)
if(element.id){
this.saveSelect(element)
}else{
this.formList.splice(oldIndex, 1);
this.formList.splice(newIndex, 0, element);
element.sort = newIndex;
console.log(element)
if (element.id) {
this.saveSelect(element)
} else {
this.formList.splice(oldIndex, 1);
this.formList.splice(newIndex, 0, element);
}
// if (element) {
@ -299,7 +308,7 @@
//
selectPick(i, index) {
this.$refs.editPane.selectedIndex = index
this.$refs.editPane.selectedForm = deepCopy(i)
this.$refs.editPane.selectedForm = deepCopy(i)
this.$refs.editPane.formList = deepCopy(this.formList)
this.$refs.editPane.showForm = true
},
@ -349,9 +358,9 @@
if (newval) {
this.getFormList()
} else {
this.course_id = ''
this.course_signs_count = 0
this.hasCourseId = ''
this.course_id = ''
this.course_signs_count = 0
this.hasCourseId = ''
this.hasCourseName = ''
this.selectFormList.map(item => {
item.is_open = false

@ -77,7 +77,7 @@
<div>
<div class="txl">
<div>课程名称{{subjectObj.title}}</div>
<div>开课日期{{subjectObj.date}}</div>
<div>开课日期{{subjectObj.date?subjectObj.date:'开课待定'}}</div>
<div>课程体系{{subjectObj.leibie}}</div>
</div>
<xy-table :list="list" :total="total" :showIndexFixed="'left'" @pageIndexChange="pageIndexChange"

@ -9,11 +9,11 @@
<div class="xy-table-item-content" style="flex-grow: 1;">
<div class="courseName" v-if="type=='check' || type=='checkshow' ">
<div>课程名称{{subjectObj.title}}</div>
<div>开课日期{{subjectObj.date}}</div>
<div>开课日期{{subjectObj.date?subjectObj.date:'开课待定'}}</div>
<div>课程体系{{subjectObj.leibie}}</div>
</div>
<div>
<lx-header icon="" text="个人信息" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<lx-header icon="" :text="type=='checkshow' || type=='check'?'报名信息':'个人信息'" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
</lx-header>
<div>
<el-descriptions class="margin-top" :column="2" border>

Loading…
Cancel
Save