commit
This commit is contained in:
@@ -3,7 +3,18 @@ layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.el-drawer__body {
|
||||
padding: 20px;
|
||||
}
|
||||
.my-drawer .el-col-4 {
|
||||
text-align: right;
|
||||
}
|
||||
.my-drawer .el-row {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.courseTimeButton {
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
@@ -0,0 +1,231 @@
|
||||
<!--#include('courseTime.js'){}#-->
|
||||
const basicForm = {
|
||||
template: /*language=HTML*/ `
|
||||
<div>
|
||||
<el-form label-width="120px" :model="formData" ref="form" :rules="rules">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="courseName" label="课程名称">
|
||||
<el-input v-model="formData.courseName" placeholder="请输入课程名称"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="courseType" label="课程类型">
|
||||
<el-select v-model="formData.courseType" placeholder="请选择课程类型" style="width: 100%" clearable filterable>
|
||||
<el-option v-for="item in typeOptions" :key="item.id" :label="item.typeName"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="coursePeopleNumber" label="课程人数">
|
||||
<el-input v-model="formData.coursePeopleNumber" placeholder="请输入课程人数"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="courseReservedNumber" label="预留名额">
|
||||
<el-input v-model="formData.courseReservedNumber" placeholder="请输入预留名额" type="number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="campus" label="校区">
|
||||
<el-select v-model="formData.campus" style="width: 100%" placeholder="请选择校区" clearable filterable>
|
||||
<el-option :label="item.name" :value="item.name" :key="item.code" v-for="item in dict.type.USER_CAMPUS"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="courseLocation" label="上课地点">
|
||||
<el-input v-model="formData.courseLocation" placeholder="请输入上课地点"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="courseInstructor" label="负责人">
|
||||
<el-select v-model="formData.courseInstructor" placeholder="请选择负责人" style="width: 100%" clearable filterable>
|
||||
<el-option v-for="item in teacherOptions" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="assort" label="分类标识">
|
||||
<el-input v-model="formData.assort" placeholder="请输入分类标识"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="hostUnionId" label="承办工会">
|
||||
<el-select v-model="formData.hostUnionId" placeholder="请选择承办工会" style="width: 100%" clearable filterable>
|
||||
<el-option :label="item.name" :value="item.id" :key="item.id"
|
||||
v-for="item in unionList"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="interTime" label="对内报名时间">
|
||||
<el-date-picker
|
||||
placeholder="请选择对内报名时间"
|
||||
style="width: 100%"
|
||||
type="datetime"
|
||||
v-model="formData.interTime"
|
||||
format="yyyy-MM-dd HH:mm"
|
||||
value-format="yyyy-MM-dd HH:mm"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="timeList" label="课程时间">
|
||||
<el-button type="primary" @click="openSetUpCourseTime" size="small">点击设置课程时间</el-button>
|
||||
<span style="color: #c64120">您已设置{{ formData.timeList.length || 0 }}个课程时间</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="isMobileSign" label="是否签到">
|
||||
<el-radio-group v-model="formData.isMobileSign" size="small">
|
||||
<el-radio border :label="true">签到</el-radio>
|
||||
<el-radio border :label="false">不签到</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="signType" label="签到方式" v-if="formData.isMobileSign === true">
|
||||
<el-radio-group v-model="formData.signType" size="small">
|
||||
<el-radio border :label="1">扫描二维码</el-radio>
|
||||
<el-radio border :label="2">被扫</el-radio>
|
||||
<el-radio border :label="3">GPS定位签到</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="courseLocationCoordinates" label="地点坐标" v-if="formData.isMobileSign === true && formData.signType === 3">
|
||||
<el-button type="primary" @click="" size="small">点击设置地点坐标</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="isReceiveGift" label="是否领取礼品">
|
||||
<el-radio-group v-model="formData.isReceiveGift" size="small">
|
||||
<el-radio border :label="true">领取</el-radio>
|
||||
<el-radio border :label="false">不领取</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="giftType" label="领取方式" v-if="formData.isReceiveGift === true">
|
||||
<el-radio-group v-model="formData.giftType" size="small">
|
||||
<el-radio border :label="1">扫描二维码</el-radio>
|
||||
<el-radio border :label="2">面对面确认</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="reserveMode" label="报名方式">
|
||||
<el-radio-group v-model="formData.reserveMode" size="small">
|
||||
<el-radio border :label="1">报名人员减少模式</el-radio>
|
||||
<el-radio border :label="2">候补模式</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="waitingNum" label="候补数量" v-if="formData.reserveMode === 2">
|
||||
<el-input placeholder="请输入候补数量" v-model="formData.waitingNum" type="number"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item prop="introduce" label="详细信息">
|
||||
<text-editor v-model="formData.introduce"></text-editor>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div style="float: right; margin: 20px 0">
|
||||
<el-button @click="$emit('refresh')">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
</div>
|
||||
|
||||
<course-time ref="courseTimeRef"></course-time>
|
||||
</div>
|
||||
`,
|
||||
dicts: ["USER_CAMPUS"],
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
courseReservedNumber: 0,
|
||||
timeList: [],
|
||||
unionLimit: [],
|
||||
isMobileSign: false,
|
||||
signType: 1,
|
||||
isReceiveGift: false,
|
||||
giftType: 1,
|
||||
reserveMode: 1,
|
||||
},
|
||||
rules: {
|
||||
courseName: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
courseType: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
coursePeopleNumber: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
courseReservedNumber: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
campus: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
courseLocation: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
courseInstructor: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
timeList: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
isMobileSign: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
signType: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
isReceiveGift: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
giftType: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
reserveMode: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
waitingNum: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
courseLocationCoordinates: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||
},
|
||||
typeOptions: [],
|
||||
teacherOptions: [],
|
||||
unionList: [],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"course-time": courseTime,
|
||||
},
|
||||
methods: {
|
||||
onOpen(row) {
|
||||
if(row && row.timeList) {
|
||||
row.timeList = JSON.parse(row.timeList)
|
||||
}
|
||||
this.formData = clone(row)
|
||||
},
|
||||
async submit() {
|
||||
const valid = await this.$refs["form"].validate()
|
||||
if (valid) {
|
||||
this.$confirm("您确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
const formData = clone(this.formData)
|
||||
formData.timeList = JSON.stringify(formData.timeList)
|
||||
this.$axios.post('/platform/literacy/course/submit', formData).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.$emit('refresh')
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
openSetUpCourseTime() {
|
||||
this.$refs.courseTimeRef.onOpen(this.formData)
|
||||
},
|
||||
async getTypeOptions() {
|
||||
const resp = await this.$axios.post("/platform/literacy/type/getAllType")
|
||||
this.typeOptions = resp.data
|
||||
},
|
||||
async getTeacherOptions() {
|
||||
const resp = await this.$axios.post("/platform/literacy/teacher/queryTeachers")
|
||||
this.teacherOptions = resp.data
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.getTypeOptions()
|
||||
await this.getTeacherOptions()
|
||||
this.unionList = await this.$businessTool.listUnion()
|
||||
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
|
||||
`
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
const courseTime = {
|
||||
template: /*language=HTML*/ `
|
||||
<div>
|
||||
<el-dialog :close-on-click-modal="false" :visible.sync="setUpCourseDialog" title="设置时间" width="60%" append-to-body>
|
||||
<div style="color: red; margin-bottom: 10px">温馨提示:有人员报名后,禁止修改下列时间,如有修改,请联系管理员</div>
|
||||
<div class="left-span-label">选择日期</div>
|
||||
<el-date-picker
|
||||
@change="setUpCourseDataChange"
|
||||
placeholder="选择一个或多个日期"
|
||||
style="width: 100%"
|
||||
type="dates"
|
||||
v-model="formData.setUpCourseData"
|
||||
value-format="yyyy-MM-dd"
|
||||
></el-date-picker>
|
||||
<div class="left-span-label">设置时间</div>
|
||||
<el-row style="margin-bottom: 10px">
|
||||
<el-time-select
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:05',
|
||||
end: '23:30'
|
||||
}"
|
||||
placeholder="开始时间"
|
||||
size="mini"
|
||||
v-model="courseTimeOneKeySet.startTime"
|
||||
></el-time-select>
|
||||
<el-time-select
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:05',
|
||||
end: '23:30'
|
||||
}"
|
||||
placeholder="结束时间"
|
||||
size="mini"
|
||||
v-model="courseTimeOneKeySet.endTime"
|
||||
></el-time-select>
|
||||
<el-button @click="oneKeySetStartEndTime" size="mini" type="primary">一键设置开始/结束时间</el-button>
|
||||
<span style="color: #ac3111">报名人数是否限制:</span>
|
||||
<el-radio-group size="mini" v-model="formData.courseIsLimitApply">
|
||||
<el-radio-button :label="true">是</el-radio-button>
|
||||
<el-radio-button :label="false">否</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="formData.timeList">
|
||||
<el-table-column label="日期">
|
||||
<template v-slot="{row}">
|
||||
<i class="el-icon-time"></i>
|
||||
{{$moment(row.courseDate).format('YYYY-MM-DD')}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开始时间">
|
||||
<template v-slot="{row}">
|
||||
<el-time-select
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:05',
|
||||
end: '23:30'
|
||||
}"
|
||||
placeholder="开始时间"
|
||||
style="width: 100%"
|
||||
v-model="row.courseStartTime"
|
||||
></el-time-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="结束时间">
|
||||
<template v-slot="{row}">
|
||||
<el-time-select
|
||||
:picker-options="{
|
||||
start: '08:30',
|
||||
step: '00:05',
|
||||
end: '23:30'
|
||||
}"
|
||||
placeholder="结束时间"
|
||||
style="width: 100%"
|
||||
v-model="row.courseEndTime"
|
||||
></el-time-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<template v-if="formData.courseIsLimitApply">
|
||||
<el-table-column label="人数限制">
|
||||
<template v-slot="{row}">
|
||||
<el-input-number v-model="row.courseLimitNum" :min="1" :max="1000"
|
||||
style="width: 100%"
|
||||
placeholder="限制报名个数"></el-input-number>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
<el-table-column label="操作" width="260">
|
||||
<template v-slot="{row,$index}">
|
||||
<el-button
|
||||
@click="formData.timeList.splice($index,0,{courseDate:row.courseDate,courseStartTime:'',courseEndTime:''})"
|
||||
size="small"
|
||||
>
|
||||
新增同天时段
|
||||
</el-button>
|
||||
<el-button @click="removeSetUpTableCourseRow(row,$index)" size="small" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="mt20" justify="end" type="flex">
|
||||
<el-button @click="doConfirmSetUpCourse" type="primary">确定</el-button>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
setUpCourseDialog: false,
|
||||
formData: {},
|
||||
courseTimeOneKeySet: {
|
||||
startTime: "",
|
||||
endTime: ""
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
removeSetUpTableCourseRow(row, index) {
|
||||
this.formData.timeList.splice(index, 1)
|
||||
//培训时间列表日期数组
|
||||
const courseDateArray = this.formData.timeList.map((v) =>
|
||||
this.$moment(v.courseDate).format("YYYY-MM-DD")
|
||||
)
|
||||
//选择课程日期数组
|
||||
const scdList = this.formData.setUpCourseData
|
||||
this.formData.setUpCourseData = scdList.filter((v) => {
|
||||
return courseDateArray.includes(this.$moment(v).format("YYYY-MM-DD"))
|
||||
})
|
||||
},
|
||||
oneKeySetStartEndTime() {
|
||||
const { startTime, endTime } = this.courseTimeOneKeySet
|
||||
this.formData.timeList.forEach((v) => {
|
||||
this.$set(v, "courseStartTime", startTime)
|
||||
this.$set(v, "courseEndTime", endTime)
|
||||
})
|
||||
this.$forceUpdate()
|
||||
},
|
||||
setUpCourseDataChange(val) {
|
||||
if (!val) {
|
||||
this.formData.timeList = []
|
||||
return
|
||||
}
|
||||
//培训时间日期Set
|
||||
if (this.formData.timeList === undefined) {
|
||||
this.$set(this.formData, "timeList", [])
|
||||
}
|
||||
const ctList = new Set(
|
||||
this.formData.timeList.map((v) => this.$moment(v.courseDate).format("YYYY-MM-DD"))
|
||||
)
|
||||
val.forEach((v) => {
|
||||
if (!ctList.has(v)) {
|
||||
this.formData.timeList.push({
|
||||
courseDate: v,
|
||||
courseTime: null
|
||||
})
|
||||
}
|
||||
})
|
||||
this.formData.timeList = this.formData.timeList.filter((v) => {
|
||||
return val.includes(this.$moment(v.courseDate).format("YYYY-MM-DD"))
|
||||
})
|
||||
this.formData.timeList.sort((a, b) => {
|
||||
return Date.parse(a["courseDate"]) - Date.parse(b["courseDate"])
|
||||
})
|
||||
},
|
||||
//设置课程时间确定
|
||||
doConfirmSetUpCourse() {
|
||||
const courseTableData = this.formData.timeList
|
||||
if (courseTableData.length === 0) {
|
||||
this.$message.warning("请填写时间!")
|
||||
return
|
||||
}
|
||||
if (courseTableData && courseTableData.length > 0) {
|
||||
const valid = courseTableData.every((v) => v.courseStartTime && v.courseEndTime && v.courseStartTime < v.courseEndTime)
|
||||
if (!valid) {
|
||||
this.$message.warning("时间填写不完整或者有误!")
|
||||
return
|
||||
}
|
||||
this.setUpCourseDialog = false
|
||||
}
|
||||
},
|
||||
onOpen(formData) {
|
||||
this.formData = formData
|
||||
this.setUpCourseDialog = true
|
||||
},
|
||||
},
|
||||
style: /*language=CSS*/ `
|
||||
|
||||
`
|
||||
}
|
||||
@@ -12,7 +12,7 @@ layout("/layouts/platform.html"){
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="课程名称:">
|
||||
<el-input clearable placeholder="请输入课程名称" v-model="pageForm.courseName"></el-input>
|
||||
<el-input clearable placeholder="请输入课程名称" v-model="pageForm.searchKeyword"></el-input>
|
||||
</search-item>
|
||||
<search-item label="课程类型:">
|
||||
<el-select clearable filterable placeholder="请选择课程类型" style="width: 100%"
|
||||
@@ -50,8 +50,8 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column label="序号" type="index" :index="indexMethod" width="60"></el-table-column>
|
||||
<el-table-column label="课程名称" prop="courseName"></el-table-column>
|
||||
<el-table-column label="类型名称" prop="typeName"></el-table-column>
|
||||
<el-table-column label="课程人数" prop="peopleNumber"></el-table-column>
|
||||
<el-table-column label="预留人数" prop="reservedNumber"></el-table-column>
|
||||
<el-table-column label="课程人数" prop="coursePeopleNumber"></el-table-column>
|
||||
<el-table-column label="预留人数" prop="courseReservedNumber"></el-table-column>
|
||||
<el-table-column label="上课地点" prop="courseLocation"></el-table-column>
|
||||
<el-table-column label="课程讲师" prop="teacherName"></el-table-column>
|
||||
<el-table-column label="操作" width="230px">
|
||||
@@ -67,15 +67,17 @@ layout("/layouts/platform.html"){
|
||||
</template>
|
||||
|
||||
<template #edit>
|
||||
|
||||
<basic-form ref="formRef" @refresh="refresh"></basic-form>
|
||||
</template>
|
||||
|
||||
<template #view>
|
||||
|
||||
<info ref="infoRef"></info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
<!--#include('basicForm.js'){}#-->
|
||||
<!--#include('info.js'){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
mixins: [initTableMixins],
|
||||
@@ -86,15 +88,47 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
||||
"basic-form": basicForm,
|
||||
"info": info,
|
||||
},
|
||||
methods: {
|
||||
onAdd() {},
|
||||
onView(row) {},
|
||||
onEdit(row) {},
|
||||
onDelete(row) {},
|
||||
onAdd() {
|
||||
this.$refs.guava.edit(() => {
|
||||
this.$refs.formRef.onOpen()
|
||||
})
|
||||
},
|
||||
onView(row) {
|
||||
this.$refs.guava.view(() => {
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
})
|
||||
},
|
||||
onEdit(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
this.$refs.formRef.onOpen(row)
|
||||
})
|
||||
},
|
||||
onDelete(row) {
|
||||
this.$confirm("您确定要删除吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
})
|
||||
.then(() => {
|
||||
$.post("/platform/literacy/course/delete", { id: row.id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
refresh() {
|
||||
this.pageData()
|
||||
this.$refs.guava.index()
|
||||
},
|
||||
pageData() {
|
||||
this.$axios.post("/platform/seniorUniversity/course/pageData", this.pageForm).then((res) => {
|
||||
this.$axios.post("/platform/literacy/course/pageData", this.pageForm).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data.list
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
@@ -113,6 +147,7 @@ layout("/layouts/platform.html"){
|
||||
async created() {
|
||||
this.typeOptions = await this.queryTypes()
|
||||
this.teacherOptions = await this.queryTeachers()
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
const info = {
|
||||
template: `
|
||||
<div>
|
||||
<el-descriptions :column="2" border class="mt20">
|
||||
<el-descriptions-item label="课程名称">
|
||||
{{viewData.courseName}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="课程类型">
|
||||
{{viewData.typeName}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="课程人数">
|
||||
{{viewData.coursePeopleNumber}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="预留人数">
|
||||
{{viewData.courseReservedNumber}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="校区">
|
||||
{{viewData.campus}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="上课地点">
|
||||
{{viewData.courseLocation}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="负责人">
|
||||
{{viewData.teacherName}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="分类标识">
|
||||
{{viewData.assort}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="承办工会">
|
||||
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="对内报名时间">
|
||||
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否签到">
|
||||
{{viewData.isMobileSign ? '签到' : '不签到'}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item v-if="viewData.isMobileSign === true" label="签到方式">
|
||||
<span v-if="viewData.signType === 1">扫描二维码</span>
|
||||
<span v-if="viewData.signType === 2">被扫</span>
|
||||
<span v-if="viewData.signType === 3">GPS签到</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否领取礼品">
|
||||
{{viewData.isReceiveGift ? '领取' : '不领取'}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item v-if="viewData.isReceiveGift === true" label="领取方式">
|
||||
<span v-if="viewData.giftType === 1">扫描二维码</span>
|
||||
<span v-if="viewData.signType === 2">面对面确认</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="报名方式">
|
||||
{{viewData.reserveMode ? '报名人员减少模式' : '候补模式'}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item v-if="viewData.reserveMode === 2" label="候补数量">
|
||||
{{viewData.waitingNum}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="时间列表" :span="2">
|
||||
<el-table :data="viewData.timeList" max-height="500" size="mini">
|
||||
<el-table-column type="index" label="序号" prop="index" width="60"></el-table-column>
|
||||
<el-table-column label="课程日期" prop="courseDate"></el-table-column>
|
||||
<el-table-column label="开始时间" prop="courseStartTime"></el-table-column>
|
||||
<el-table-column label="结束时间" prop="courseEndTime"></el-table-column>
|
||||
</el-table>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onOpen(row) {
|
||||
if(row && row.timeList) {
|
||||
row.timeList = JSON.parse(row.timeList)
|
||||
}
|
||||
this.viewData = clone(row)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -158,7 +158,9 @@ const basicForm = {
|
||||
|
||||
<el-table-column :label="trainType + '名称'" prop="courseName">
|
||||
<template v-slot="{row}">
|
||||
<el-input size="small" v-model="row.courseName" :placeholder="'请输入' + trainType + '名称'"></el-input>
|
||||
<el-select size="small" v-model="row.courseId" allow-create filterable>
|
||||
<el-option :label="item.courseName" :value="item.id" :key="item.id" v-for="item in sourceCourseList"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -331,6 +333,7 @@ const basicForm = {
|
||||
},
|
||||
campusList: [],
|
||||
courseTypeList: [],
|
||||
sourceCourseList: [],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -566,10 +569,15 @@ const basicForm = {
|
||||
}
|
||||
}
|
||||
},
|
||||
async querySourceCourses() {
|
||||
const resp = await this.$axios.post("/platform/literacy/course/querySourceCourses", {})
|
||||
return resp.data
|
||||
},
|
||||
async initData(row) {
|
||||
this.activityGroupList = await this.getActivityGroup()
|
||||
this.historicalActList = await this.getHistoricalActList()
|
||||
this.courseTypeList = await this.getAllType()
|
||||
this.sourceCourseList = await this.querySourceCourses()
|
||||
await this.init(row)
|
||||
},
|
||||
},
|
||||
|
||||
@@ -3,7 +3,18 @@ layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
|
||||
.el-drawer__body {
|
||||
padding: 20px;
|
||||
}
|
||||
.my-drawer .el-col-4 {
|
||||
text-align: right;
|
||||
}
|
||||
.my-drawer .el-row {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.courseTimeButton {
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
Reference in New Issue
Block a user