|
|
|
|
@ -3,12 +3,14 @@
|
|
|
|
|
<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>创建报名表单</div>
|
|
|
|
|
<div style="cursor: pointer;">
|
|
|
|
|
<!-- <el-select v-model="form.type" @change="changeType" placeholder="请选择体系" clearable style="width: 100%;">
|
|
|
|
|
<el-option v-for="item in courseTypesList" :key="item.id" :label="item.name" :value="item.id">
|
|
|
|
|
<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> -->
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="cursor: pointer;">
|
|
|
|
|
<Button type="primary" @click="dialogVisible = false">完成并关闭</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -78,6 +80,17 @@
|
|
|
|
|
</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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -92,8 +105,12 @@
|
|
|
|
|
import {
|
|
|
|
|
index,
|
|
|
|
|
save,
|
|
|
|
|
destroy
|
|
|
|
|
} from "@/api/course/form";
|
|
|
|
|
destroy,
|
|
|
|
|
cloneForm
|
|
|
|
|
} from "@/api/course/form";
|
|
|
|
|
import {
|
|
|
|
|
index as courseIndex
|
|
|
|
|
} from "@/api/course/index.js"
|
|
|
|
|
import {
|
|
|
|
|
deepCopy
|
|
|
|
|
} from "@/utils";
|
|
|
|
|
@ -114,7 +131,11 @@
|
|
|
|
|
sort_name: 'sort',
|
|
|
|
|
sort_type: 'ASC'
|
|
|
|
|
},
|
|
|
|
|
dialogVisible: false,
|
|
|
|
|
dialogVisible: false,
|
|
|
|
|
showTips:false,
|
|
|
|
|
hasCourseId:'',
|
|
|
|
|
hasCourseName:'',
|
|
|
|
|
hasCourseList:[],
|
|
|
|
|
formList: [],
|
|
|
|
|
types: [],
|
|
|
|
|
rules: {},
|
|
|
|
|
@ -126,9 +147,45 @@
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.getConfig()
|
|
|
|
|
this.getConfig()
|
|
|
|
|
this.getCourseList()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
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.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() {
|
|
|
|
|
const {
|
|
|
|
|
|