项目课程更新

This commit is contained in:
hbzgyjh 2021-12-23 11:08:23 +08:00
parent a64454afa4
commit 6d14449113
4 changed files with 96 additions and 106 deletions

View File

@ -1,15 +1,10 @@
import request from '@/utils/request'
const coursewareApi = {
add: '/courseManagement/xmCourseCourseware/addOrUpdate',
get: '/courseManagement/xmCourseCourseware/details',
// update: 'sys/menu/update',
del: 'courseManagement/xmCourseCourseware/delete',
// updateStatus: 'sys/menu/updateStatus',
// list: '/courseManagement/course/listPage',
// coursewareList:'/courseManagement/course/courseware/details',
// questionList:'/courseManagement/course/questionList'
classList: '/courseManagement/coursewareClassify/listPage'
add: '/courseManagement/xmCourseCourseware/addOrUpdate',
get: '/courseManagement/xmCourseCourseware/details',
del: 'courseManagement/xmCourseCourseware/delete',
classList: '/courseManagement/coursewareClassify/listPage'
}
@ -17,37 +12,37 @@ const coursewareApi = {
//删除课件
export function deleteCourseware(params) {
return request({
url: coursewareApi.del,
method: 'delete',
params: params
})
return request({
url: coursewareApi.del,
method: 'delete',
params: params
})
}
// 课件新增
export function coursewareAdd(params) {
return request({
url: coursewareApi.add,
method: 'post',
data: params
})
return request({
url: coursewareApi.add,
method: 'post',
data: params
})
}
// 课件分类列表
export function coursewareClassList(params) {
return request({
url: coursewareApi.classList,
method: 'get',
params: params
})
return request({
url: coursewareApi.classList,
method: 'get',
params: params
})
}
// 课件详情
export function coursewareDeatil(params) {
return request({
url: coursewareApi.get,
method: 'get',
params: params
})
return request({
url: coursewareApi.get,
method: 'get',
params: params
})
}

View File

@ -12,19 +12,9 @@
<a-select-option value="3">未发布</a-select-option>
</a-select>
开始时间:
<a-date-picker
v-model="queryParam.startDate"
style="width: 100%"
placeholder="请输入开始时间"
valueFormat="YYYY-MM-DD HH:mm:ss"
/>
<a-date-picker v-model="queryParam.startDate" style="width: 100%" placeholder="请输入开始时间" valueFormat="YYYY-MM-DD HH:mm:ss" />
结束时间:
<a-date-picker
v-model="queryParam.endDate"
style="width: 100%"
placeholder="请输入结束时间"
valueFormat="YYYY-MM-DD HH:mm:ss"
/>
<a-date-picker v-model="queryParam.endDate" style="width: 100%" placeholder="请输入结束时间" valueFormat="YYYY-MM-DD HH:mm:ss" />
培训方式:
<a-select v-model="queryParam.trainWay" placeholder="请选择" default-value="null" style="width: 120px">
<a-select-option value="null">全部</a-select-option>
@ -39,28 +29,23 @@
</a-space>
<a-space class="table-operator" direction="horizontal">
<a-button v-if="hasPerm('project:add')" type="primary" icon="plus" @click="handledCreate">新增项目</a-button>
<a-button v-if="hasPerm(power.add)" type="primary" icon="plus" @click="handledCreate">新增项目</a-button>
</a-space>
<s-table
ref="table"
size="default"
rowKey="id"
:columns="columns"
:data="loadData"
:pageNum="Number(this.$route.query.projectPageNum) || 1"
>
<s-table ref="table" size="default" rowKey="id" :columns="columns" :data="loadData" :pageNum="Number(this.$route.query.projectPageNum) || 1">
<span slot="serial" slot-scope="text, record, index">
{{ index + 1 }}
</span>
<span slot="action" slot-scope="text, record">
<template>
<a v-if="hasPerm('project:edit')" href="javascript:;" @click="handledCreate(record)">修改</a>
<a-divider type="vertical" />
<a v-if="hasPerm(power.release) && record.status == 1" href="javascript:;" @click="handledRelease(record)">发布</a>
<a-divider type="vertical" v-if="hasPerm(power.edit) && hasPerm('project:list')" />
<a v-if="hasPerm('project:list')" href="javascript:;" @click="getDetail(record)">详情</a>
<a-divider type="vertical" />
<a-divider type="vertical" v-if="hasPerm(power.edit) && hasPerm('project:list')" />
<a v-if="hasPerm(power.edit)" href="javascript:;" @click="handledCreate(record)">修改</a>
<a-divider type="vertical" v-if="hasPerm(power.del) && hasPerm('project:list')" />
<a-popconfirm title="是否删除?" @confirm="() => handleDelete(record)">
<a v-if="hasPerm('project:del')" href="javascript:;">删除</a>
<a v-if="hasPerm(power.del)" href="javascript:;">删除</a>
</a-popconfirm>
</template>
</span>
@ -79,6 +64,12 @@ export default {
},
data() {
return {
power: {
add: '',
del: '',
edit: '',
release: '',
},
//
queryParam: {
projectName: null,
@ -129,7 +120,7 @@ export default {
{
title: '操作',
width: 200,
align: 'center',
align: 'right',
scopedSlots: { customRender: 'action' },
},
],
@ -147,7 +138,7 @@ export default {
this.changeType()
},
// -
destroyed() {},
destroyed() { },
// data
watch: {
$route(to, from) { //to from
@ -156,12 +147,17 @@ export default {
},
},
methods: {
getDetail(record){
//
handledRelease(record){
},
//
getDetail(record) {
this.$router.push({
path: '/project/detail',
query: {
id: record.id, //
t:this.queryParam.type,
t: this.queryParam.type,
projectId: record.id, //id
projectPageNum: this.$refs.table.localPagination.current, //
},
@ -181,14 +177,23 @@ export default {
//
changeType(path) {
var arr = []
if(path){
if (path) {
arr = path.split('/')
}else{
} else {
arr = this.$route.path.split('/')
}
this.queryParam.type = arr[arr.length - 1]
let str = arr[arr.length - 1]
this.queryParam.type = str
//
str === 'sys' ? this.power.add = 'project:sys:add' : this.power.add = 'project:add'
str === 'sys' ? this.power.del = 'project:sys:del' : this.power.del = 'project:del'
str === 'sys' ? this.power.edit = 'project:sys:edit' : this.power.edit = 'project:edit'
str === 'sys' ? this.power.release = 'project:sys:release' : this.power.release = 'project:release'
},
},
}
</script>

View File

@ -1,11 +1,5 @@
<template>
<a-card class="coures" :bordered="false" title="项目课程信息">
<!-- <template slot="extra">
<a-button type="primary" size="default" @click="toNext">下一步</a-button>
</template>
<template slot="extra">
<a-button type="primary" size="default" @click="toPrep">上一步</a-button>
</template> -->
<a-space direction="vertical" style="width: 100%">
<a-space direction="horizontal">
<span>总课时{{ form.totalCourseHours }}H , 总学时要求{{ form.totalLearnHours }}H , 总题目数量{{ form.totalTopicNumber }} </span>
@ -111,7 +105,6 @@ export default {
{ title: '课时', dataIndex: 'courseHours', key: 'courseHours', customRender: (text) => text + 'H' },
{ title: '学时要求', dataIndex: 'learnHours', key: 'learnHours', customRender: (text) => text + 'H' },
{ title: '题量', dataIndex: 'topicNumber', key: 'topicNumber' },
// { title: '', dataIndex: 'projectName', key: 'projectName' },
{ title: '操作', width: 200, align: 'center', scopedSlots: { customRender: 'action' } },
], //
loadData: (parameter) => {
@ -119,7 +112,6 @@ export default {
/** 编辑进来的有项目id */
return getCourseList({id:this.$route.query.projectId}).then((res) => {
this.selData = res.data;
this.calc(res.data)
return res.data
})
@ -127,7 +119,6 @@ export default {
/** 新建的没有项目id传当前的所选的课程id */
return getCourseListByCourseIds(Object.assign(parameter, this.queryParam)).then((res) => {
this.selData = res.data;
// console.log('list----selData',this.selData)
this.calc(res.data)
return res.data
})

View File

@ -1,24 +1,17 @@
<template>
<a-modal
id="modal"
:title="modalTitle"
:width="1500"
height="auto"
:visible="visible"
@ok="handleSubmit"
@cancel="handleCancel"
>
<a-modal id="modal" :title="modalTitle" :width="1500" height="auto" :visible="visible" @ok="handleSubmit" @cancel="handleCancel">
<a-card :bordered="false" title="项目课程选择">
<a-row type="flex" justify="center" align="top">
<a-col :span="4" id="tree">
<a-page-header title="单位列表" sub-title="" />
<a-tree
:treeData="treeData"
@select="onSelect"
:defaultExpandAll="true"
:defaultExpandedKeys="defaultExpandedKeys"
:replaceFields="replaceFields"
>
<a-menu v-model="menuKey" mode="horizontal" @click="menuChack()">
<a-menu-item key="sys">
系统课程
</a-menu-item>
<a-menu-item key="self">
自主课程
</a-menu-item>
</a-menu>
<a-tree :treeData="treeData" @select="onSelect" :defaultExpandAll="true" :defaultExpandedKeys="defaultExpandedKeys" :replaceFields="replaceFields">
<a-icon slot="switcherIcon" type="down" />
</a-tree>
</a-col>
@ -33,13 +26,7 @@
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
</a-row>
</a-form>
<s-table
ref="table"
:columns="columns"
:data="loadData"
:rowKey="(record) => record.id"
:rowSelection="{ selectedRowKeys: selectedRowKeys, selectedRows: selectedRows, onChange: onSelectChange }"
>
<s-table ref="table" :columns="columns" :data="loadData" :rowKey="(record) => record.id" :rowSelection="{ selectedRowKeys: selectedRowKeys, selectedRows: selectedRows, onChange: onSelectChange }">
<span slot="serial" slot-scope="text, record, index">
{{ index + 1 }}
</span>
@ -83,6 +70,8 @@ export default {
visible: false, //
modalTitle: '',
menuKey: ['sys'], //
//
queryParam: { name: '', classType: 0 },
replaceFields: { children: 'children', title: 'name', key: 'id', value: 'id' },
@ -116,6 +105,14 @@ export default {
watch: {},
//
methods: {
//
menuChack(){
console.log('menuKey',this.menuKey)
let type = 0;
if(this.menuKey[0] === 'self') type = 1;
this.getCourseTreeData(type);
this.$refs.table.refresh();
},
//
edit(record) {
console.log('课程选择打开了', record)
@ -188,6 +185,7 @@ export default {
this.expandedKeys = expandedKeys
this.autoExpandParent = false
},
//
queryCourseList() {
console.log('this.treeDataOne-------', this.treeDataOne)
@ -195,9 +193,10 @@ export default {
this.courseData = res.data
})
},
//
getCourseTreeData(key) {
coursewareClassList().then((res) => {
getCourseTreeData(type) {
coursewareClassList({type:type}).then((res) => {
//list🌲
const list2tree1 = (list, parentId) => {
return list.filter((item) => {
@ -216,24 +215,24 @@ export default {
},
// - 访this
created() {
this.getCourseTreeData()
this.getCourseTreeData(0) //
},
// - 访DOM
mounted() {},
mounted() { },
// -
beforeCreate() {},
beforeCreate() { },
// -
beforeMount() {},
beforeMount() { },
// -
beforeUpdate() {},
beforeUpdate() { },
// -
updated() {},
updated() { },
// -
beforeDestroy() {},
beforeDestroy() { },
// -
destroyed() {},
destroyed() { },
// keep-alive
activated() {},
activated() { },
}
</script>
<style scoped>