-
+
-
-
+
+
@@ -46,11 +48,11 @@ export default {
//生命周期 - 创建完成(可以访问当前this实例)
created() {
console.log('分步表单创建完成', this.$route)
- if(this.$route.query.t === 'self') this.form.projectType = 1;
+ if (this.$route.query.t === 'self') this.form.projectType = 1;
// if(this.$route.query.t === 'year') this.form.projectType = 2;
// if(this.$route.query.t === 'unit') this.form.projectType = 3;
- if(this.$route.query.t === 'year') this.form.projectType = 2;
- if(this.$route.query.t === 'unit') this.form.projectType = 3;
+ if (this.$route.query.t === 'year') this.form.projectType = 2;
+ if (this.$route.query.t === 'unit') this.form.projectType = 3;
},
destroyed() {
console.log('分步表单销毁了。。。。。')
@@ -59,15 +61,17 @@ export default {
return {
title: '',
currentTab: 0,
+ currentTab: 0,
sourcePath: '',
t: '',
- labelCol: {xs: { span: 24 }, sm: { span: 6 } },
+ labelCol: { xs: { span: 24 }, sm: { span: 6 } },
wrapperCol: { xs: { span: 24 }, sm: { span: 16 } },
modalTitle: '新增项目',
visible: false,
confirmLoading: false,
type: '',
form: {
+ stag: 0, //标记,大于0表示被编辑过
t: this.$route.query.t,
projectType: 0,
trainWay: '4',
@@ -80,7 +84,7 @@ export default {
},
methods: {
//设置培训类型,不然显示错误
- setFormType(type){
+ setFormType(type) {
this.form.trainWay = type
},
//保存项目
@@ -114,31 +118,42 @@ export default {
},
//下一步
- nextStep(childValue,beChange) {
- console.log('进入下一步', childValue,beChange)
- if(beChange){
+ nextStep(childValue, beChange) {
+ console.log('进入下一步', childValue, beChange)
+ if (beChange) {
this.courseChange = beChange
}
- if (this.currentTab < 5) {
+ if (this.currentTab < 4) {
if (childValue) {
this.form = childValue
}
- this.currentTab += 1
+ if (this.form.projectType == 0 && this.currentTab == 1) {
+ this.currentTab = 3
+ } else {
+ this.currentTab += 1
+ }
}
+ console.log('currentTab key:', this.$refs.steps.$slots.default)
+ console.log('currentTab:', this.currentTab, 'currentTab:', this.currentTab)
console.log('ProjectStepForm表单数据', this.form)
},
//上一步
- prevStep(childValue,beChange) {
- if(beChange){
+ prevStep(childValue, beChange) {
+ if (beChange) {
this.courseChange = beChange
}
- console.log('返回上一步', childValue,beChange)
+ console.log('返回上一步', childValue, beChange)
if (this.currentTab > 0) {
if (childValue) {
this.form = childValue
}
- this.currentTab -= 1
+ if (this.form.projectType == 0 && this.currentTab == 2) {
+ this.currentTab = 1
+ } else {
+ this.currentTab -= 1
+ }
}
+ console.log('currentTab:', this.currentTab, 'currentTab:', this.currentTab)
console.log('ProjectStepForm表单数据', this.form)
},
//关闭页面,跳转list页面
diff --git a/src/views/project/form/ProjectCourseList.vue b/src/views/project/form/ProjectCourseList.vue
index 73468fd..d2b2c59 100644
--- a/src/views/project/form/ProjectCourseList.vue
+++ b/src/views/project/form/ProjectCourseList.vue
@@ -43,7 +43,9 @@
上一步
- 下一步
+ 下一步
+ 保存
+ 发布
@@ -100,7 +102,7 @@ export default {
courseVisible: false, //课程预览页面显示控制
questionVisible: false, //题库预览页面显示控制
- requiredTopicVisible:false, //必选题设置显示控制
+ requiredTopicVisible: false, //必选题设置显示控制
queryParam: {
ids: '',
@@ -117,7 +119,7 @@ export default {
loadData: (parameter) => {
if (this.$route.query.projectId && !this.beChange) {
/** 编辑进来的有项目id 并且没有被编辑过*/
- return getCourseList({id:this.$route.query.projectId}).then((res) => {
+ return getCourseList({ id: this.$route.query.projectId }).then((res) => {
this.selData = res.data;
this.calc(res.data)
return res.data
@@ -140,22 +142,42 @@ export default {
//方法集合
methods: {
//关闭抽屉
- drawerClose(){
+ drawerClose() {
this.courseVisible = false;
this.requiredTopicVisible = false;
this.questionVisible = false;
},
//打开抽屉
- openVisible(type,record) {
+ openVisible(type, record) {
this.selectCourseId = record.id;
- if(type === 'course') this.courseVisible = true;
- else if(type === 'topic') this.requiredTopicVisible = true;
- else if(type === 'question') this.questionVisible = true;
+ if (type === 'course') this.courseVisible = true;
+ else if (type === 'topic') this.requiredTopicVisible = true;
+ else if (type === 'question') this.questionVisible = true;
},
- /** 删除table项 */
- handleDelete(record){
-
+ // 保存 && 发布
+ toSaveOrIssue(type) {
+ this.form.lessonIds = []
+ let ids = this.queryParam.ids.split(',')
+ ids.forEach((id, index, arr) => {
+ if (id != '') {
+ this.form.lessonIds.push({ ids: id, sort: index })
+ }
+ })
+ if (this.form.lessonIds.length > 0) {
+ console.log('进来了')
+ if (type != 'issue') {
+ console.log('save')
+ this.form.projectStatus = 1
+ this.$emit('executeSave', this.form)
+ } else {
+ console.log('issue')
+ this.form.projectStatus = 2
+ this.$emit('executeIssue', this.form)
+ }
+ } else {
+ this.$message.warning('培训课程不能为空')
+ }
},
//计算总学时,总分数,总课时
calc(data) {
@@ -174,10 +196,13 @@ export default {
let ids = this.queryParam.ids.split(',')
ids.forEach((id, index, arr) => {
// console.log('id-----------------------', id)
- this.form.lessonIds.push({ ids: id, sort: index })
+ if (id != '') {
+ this.form.lessonIds.push({ ids: id, sort: index })
+ }
})
if (this.form.lessonIds.length > 0) {
- this.$emit('nextStep', this.form,this.beChange)
+ console.log('----------', this.form.lessonIds)
+ this.$emit('nextStep', this.form, this.beChange)
} else {
this.$message.warning('培训课程不能为空')
}
@@ -187,11 +212,13 @@ export default {
this.form.lessonIds = []
let ids = this.queryParam.ids.split(',')
ids.forEach((id, index, arr) => {
- this.form.lessonIds.push({ ids: id, sort: index })
+ if (id != '') {
+ this.form.lessonIds.push({ ids: id, sort: index })
+ }
})
// console.log('toPrep', this.form)
- this.$emit('prevStep', this.form,this.beChange)
+ this.$emit('prevStep', this.form, this.beChange)
},
//初始化ids
initIds() {
@@ -207,7 +234,7 @@ export default {
})
this.queryParam.ids = arr.join(',')
}
- if(this.form.projectType === 0) this.tabDisabled = true;
+ if (this.form.projectType === 0) this.tabDisabled = true;
},
//选择课程完毕,提交到list页面
selectKeyDataChange(childValue) {
diff --git a/src/views/project/form/ProjectCourseSelect.vue b/src/views/project/form/ProjectCourseSelect.vue
index eca2479..c9b1576 100644
--- a/src/views/project/form/ProjectCourseSelect.vue
+++ b/src/views/project/form/ProjectCourseSelect.vue
@@ -5,7 +5,8 @@
系统课程
- 自主课程
+ 自主课程
+
@@ -20,6 +21,13 @@
+
+
+
+ {{ item.name }}
+
+
+
查询
@@ -31,7 +39,7 @@
-
+
点击列表项取消选择或【清空所有】
@@ -51,6 +59,7 @@
// 例如:import 《组件名称》 from '《组件路径》'
import { coursewareClassList } from '@/api/course/courseware'
import { listByClass } from '@/api/course/course'
+import { dictionaryDropDown } from '@/api/sys/dictionaryItem'
import { STable } from '@/components'
const rootParentId = 0
@@ -75,10 +84,11 @@ export default {
tabDis: this.tabDisabled,
menuKey: ['sys'], //默认系统课程
// 查询参数
- queryParam: { name: '', classType: 1, type: 1 },
+ queryParam: { name: '', classType: 1, type: 1, tags: [] },
replaceFields: { children: 'children', title: 'name', key: 'value', value: 'id' },
expandedKeys: [],
autoExpandParent: true,
+ dictCourseTag: [], //课程标签
// defaultExpandedKeys: [],
selectedRowKeys: [],
selectedRows: [],
@@ -111,12 +121,19 @@ export default {
//菜单改变,
menuChack() {
console.log('menuKey', this.menuKey)
+
+ //菜单改变后清空查询参数
+ this.queryParam.name = null
+ this.queryParam.tags = []
+
let type = 2;
console.log('菜单改变', this.menuKey[0])
if (this.menuKey[0] === 'self') type = 1;
this.queryParam.type = type
this.getCourseTreeData(type);
this.$refs.table.refresh(true);
+ this.queryParam.name = null
+ this.queryParam.tags = []
},
// 编辑打开页面初始化
edit(record) {
@@ -147,6 +164,21 @@ export default {
this.selectedRowKeys = this.uniqueKeys([...this.selectedRowKeys, ...selectedRowKeys])
this.selectedRows = this.unique([...this.selectedRows, ...selectedRows])
},
+ //字典课程标签项
+ dictionaryItemDown(code) {
+ // 标签项 默认选中的多选框
+ dictionaryDropDown({ dictionaryCode: code }).then((res) => {
+ const tagList = res.data
+ for (let i = 0; i < tagList.length; i++) {
+ tagList[i].value = tagList[i].value.toString()
+ }
+ this.dictCourseTag = tagList
+ })
+ },
+ //标签选择器
+ handleTagChange(value) {
+ this.queryParam.tags = value
+ },
/** table取消勾选 */
tableOnSelect(record, selected, selectedRows, nativeEvent) {
@@ -243,6 +275,7 @@ export default {
// 生命周期 - 创建完成(可以访问当前this实例)
created() {
this.getCourseTreeData(0) //进来首先获取系统课程
+ this.dictionaryItemDown('0008') //课程标签字典
},
// 生命周期 - 挂载完成(可以访问DOM元素)
mounted() { },
diff --git a/src/views/project/form/ProjectForm.vue b/src/views/project/form/ProjectForm.vue
index ee7fe3d..933cbad 100644
--- a/src/views/project/form/ProjectForm.vue
+++ b/src/views/project/form/ProjectForm.vue
@@ -19,7 +19,7 @@
-
+
{{ entity.name }}
@@ -93,13 +93,6 @@
-
@@ -127,8 +120,8 @@
diff --git a/src/views/project/form/ProjectTestPaperFormationStrategy.vue b/src/views/project/form/ProjectTestPaperFormationStrategy.vue
index 54b7165..8eddeb1 100644
--- a/src/views/project/form/ProjectTestPaperFormationStrategy.vue
+++ b/src/views/project/form/ProjectTestPaperFormationStrategy.vue
@@ -1,6 +1,6 @@
-
+
@@ -35,13 +35,7 @@
-
+
@@ -140,7 +134,7 @@ export default {
watch: {
tableData: {
deep: true,
- handler: function() {
+ handler: function () {
let sum = 0
this.tableData.forEach(t => {
if (t.topicNum && t.topicScore) {
@@ -156,15 +150,23 @@ export default {
methods: {
//保存
toSave() {
- this.form.testPaperTactics = this.tableData.filter((Item) => {return Item.topicNum && Item.topicScore});
+ this.form.testPaperTactics = this.tableData.filter((Item) => { return Item.topicNum && Item.topicScore });
this.form.projectStatus = 1
- this.$emit('executeSave', this.form)
+ this.$refs.form.validate(validate => {
+ if (validate) {
+ this.$emit('executeSave', this.form)
+ }
+ })
},
//发布
toIssue() {
- this.form.testPaperTactics = this.tableData.filter((Item) => {return Item.topicNum && Item.topicScore});
+ this.form.testPaperTactics = this.tableData.filter((Item) => { return Item.topicNum && Item.topicScore });
this.form.projectStatus = 2
- this.$emit('executeIssue', this.form)
+ this.$refs.form.validate(validate => {
+ if (validate) {
+ this.$emit('executeIssue', this.form)
+ }
+ })
},
//上一步
toPrev() {
@@ -195,21 +197,21 @@ export default {
this.initTable()
},
// 生命周期 - 挂载完成(可以访问DOM元素)
- mounted() {},
+ mounted() { },
// 生命周期 - 创建之前
- beforeCreate() {},
+ beforeCreate() { },
// 生命周期 - 挂载之前
- beforeMount() {},
+ beforeMount() { },
// 生命周期 - 更新之前
- beforeUpdate() {},
+ beforeUpdate() { },
// 生命周期 - 更新之后
- updated() {},
+ updated() { },
// 生命周期 - 销毁之前
- beforeDestroy() {},
+ beforeDestroy() { },
// 生命周期 - 销毁完成
- destroyed() {},
+ destroyed() { },
// 如果页面有keep-alive缓存功能,这个函数会触发
- activated() {}
+ activated() { }
}
\ No newline at end of file
diff --git a/src/views/project/trainPlan/TrainPlanList.vue b/src/views/project/trainPlan/TrainPlanList.vue
new file mode 100644
index 0000000..59388bc
--- /dev/null
+++ b/src/views/project/trainPlan/TrainPlanList.vue
@@ -0,0 +1,138 @@
+
+
+
+
+ 培训计划名称:
+
+ 计划年度:
+
+ 全部
+ 2022年度
+ 2023年度
+ 2024年度
+
+
+ 查询
+ (queryParam.name=null,queryParam.year=null)">重置
+ 新增培训计划
+
+
+
+
+ {{ index + 1 }}
+
+
+
+ handledRelease(record)">
+ 发布
+
+
+
+
+
+
+
+
+
\ No newline at end of file