项目管理更新

This commit is contained in:
hbzgyjh 2021-12-11 15:57:22 +08:00
parent 7357344acf
commit 7f7adf9ef5
5 changed files with 91 additions and 62 deletions

View File

@ -26,7 +26,7 @@ export function questionAdd(params) {
// 题目数量
export function getQuestionNumByCourseIds(params) {
return request({
url: questionApi.add,
url: questionApi.getQuestionNumByCourseIds,
method: 'post',
data: params
})

View File

@ -1,11 +1,11 @@
<template>
<a-card :bordered="false" title="项目课程信息">
<template slot="extra">
<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>
</template> -->
<a-space direction="vertical" style="width: 100%">
<a-space direction="horizontal">
<span>总课时{{ totalHours }}H , 总学时要求{{ totalLearnHours }}H , 总题目数量{{ totalTopicNum }} </span>
@ -22,19 +22,18 @@
<span slot="action" slot-scope="text, record">
<template>
<a-dropdown>
<a class="ant-dropdown-link"
>操作
<a class="ant-dropdown-link">操作
<a-icon type="down" />
</a>
<a-menu slot="overlay">
<a-menu-item>
<a href="javascript:;" @click="$refs.table.refresh(false)">课程预览</a>
<a href="javascript:;" @click="openVisible('course',record)">课程预览</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;" @click="$refs.table.refresh(false)">题库预览</a>
<a href="javascript:;" @click="openVisible('question',record)">题库预览</a>
</a-menu-item>
<a-menu-item>
<a href="javascript:;" @click="$refs.table.refresh(false)">必选题设置</a>
<a href="javascript:;" @click="openVisible('topic',record)">必选题设置</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm title="是否删除?" @confirm="() => handleDelete(record)">
@ -48,6 +47,19 @@
</s-table>
</a-space>
<project-course-select ref="CourseSelect" @selectKeyDataSubmit="selectKeyDataChange" :selectRows="selData"></project-course-select>
<a-col :span="24" style="text-align: center;">
<a-button type="primary" size="default" @click="toPrep" style="margin-right: 8px;">上一步</a-button>
<a-button type="primary" size="default" @click="toNext">下一步</a-button>
</a-col>
<a-drawer title="课程预览" placement="right" width="1200" :closable="true" :visible="courseVisible" @close="drawerClose">
<p>课程预览</p>
</a-drawer>
<a-drawer title="题库预览" placement="right" width="1200" :closable="true" :visible="questionVisible" @close="drawerClose">
<p>题库预览</p>
</a-drawer>
<a-drawer title="必选题设置" placement="right" width="1200" :closable="true" :visible="requiredTopicVisible" @close="drawerClose">
<p>必选题设置</p>
</a-drawer>
</a-card>
</template>
@ -73,13 +85,18 @@ export default {
//
return {
form: this.projectForm,
selData:[],
selData: [],
labelCol: {},
wrapperCol: {},
vertical: 'vertical',
totalHours: 0, //
totalLearnHours: 0, //
totalTopicNum: 0, //
courseVisible: false, //
questionVisible: false, //
requiredTopicVisible:false, //
queryParam: {
ids: '',
}, //
@ -119,15 +136,28 @@ export default {
watch: {},
//
methods: {
//
drawerClose(){
this.courseVisible = false;
this.requiredTopicVisible = false;
this.questionVisible = false;
},
//
openVisible(type) {
if(type === 'course') this.courseVisible = true;
else if(type === 'topic') this.requiredTopicVisible = true;
else if(type === 'question') this.questionVisible = true;
},
//
calc(data){
calc(data) {
this.totalHours = 0
this.totalLearnHours = 0
this.totalTopicNum = 0
data.forEach((item)=>{
this.totalHours = this.totalHours + parseInt(item.courseHours)
this.totalLearnHours = this.totalLearnHours + parseInt(item.learnHours)
this.totalTopicNum = this.totalTopicNum + parseInt(item.topicNumber)
data.forEach((item) => {
this.totalHours = this.totalHours + parseInt(item.courseHours)
this.totalLearnHours = this.totalLearnHours + parseInt(item.learnHours)
this.totalTopicNum = this.totalTopicNum + parseInt(item.topicNumber)
})
},
//
@ -138,9 +168,9 @@ export default {
// console.log('id-----------------------', id)
this.form.lessonIds.push({ ids: id, sort: index })
})
if(this.form.lessonIds.length > 0){
if (this.form.lessonIds.length > 0) {
this.$emit('nextStep', this.form)
}else{
} else {
this.$message.warning('培训课程不能为空')
}
},
@ -159,7 +189,7 @@ export default {
initIds() {
// console.log('this.projectForm.lessonIds',this.projectForm.lessonIds)
let str = [];
if(this.projectForm.lessonIds) str = this.projectForm.lessonIds
if (this.projectForm.lessonIds) str = this.projectForm.lessonIds
// let str = this.projectForm.lessonIds.join(',') || []
// console.log('initIds', str)
if (str && str.length > 0) {
@ -171,8 +201,8 @@ export default {
}
},
//list
selectKeyDataChange(childValue){
console.log('list page - selectKeyDataSubmit',childValue)
selectKeyDataChange(childValue) {
console.log('list page - selectKeyDataSubmit', childValue)
this.queryParam.ids = childValue
this.$refs.table.refresh(true)
}
@ -182,14 +212,14 @@ export default {
created() {
this.initIds()
},
mounted() {}, // - 访DOM
beforeCreate() {}, // -
beforeMount() {}, // -
beforeUpdate() {}, // -
updated() {}, // -
beforeDestroy() {}, // -
destroyed() {}, // -
activated() {}, //keep-alive
mounted() { }, // - 访DOM
beforeCreate() { }, // -
beforeMount() { }, // -
beforeUpdate() { }, // -
updated() { }, // -
beforeDestroy() { }, // -
destroyed() { }, // -
activated() { }, //keep-alive
}
</script>
<style scoped>

View File

@ -124,7 +124,7 @@
</a-col>
</a-row>
<a-col :span="24" style="text-align: center;">
<a-button type="primary" size="default" @click="toNext">下一步</a-button>
<a-button type="primary" size="default" @click="toNext" style="margin-right: 8px;">下一步</a-button>
<a-button type="default" size="default" @click="close">退出</a-button>
</a-col>
</a-form-model>

View File

@ -1,23 +1,16 @@
<template>
<a-card :bordered="false" title="项目人员信息">
<template slot="extra">
<!-- <template slot="extra">
<a-button type="primary" size="default" @click="toNext">下一步</a-button>
</template>
<template slot="extra">
<a-button type="primary" size="default" @click="toPrev">上一步</a-button>
</template>
</template> -->
<a-row type="flex" justify="center" align="top">
<a-col :span="4" id="tree">
<a-page-header title="单位列表" sub-title="" />
<div v-if="this.orgTree != ''">
<a-tree
:treeData="orgTree"
v-if="orgTree.length"
@select="onSelect"
:defaultExpandAll="true"
:defaultExpandedKeys="defaultExpandedKeys"
:replaceFields="replaceFields"
>
<a-tree :treeData="orgTree" v-if="orgTree.length" @select="onSelect" :defaultExpandAll="true" :defaultExpandedKeys="defaultExpandedKeys" :replaceFields="replaceFields">
<a-icon slot="switcherIcon" type="down" />
</a-tree>
</div>
@ -42,13 +35,7 @@
<a-button style="margin-left: 8px" @click="() => (queryParam = {})">重置</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>
@ -64,6 +51,10 @@
</a-col>
</a-col>
</a-row>
<a-col :span="24" style="text-align: center;">
<a-button type="primary" size="default" @click="toPrev" style="margin-right: 8px;">上一步</a-button>
<a-button type="primary" size="default" @click="toNext">下一步</a-button>
</a-col>
</a-card>
</template>
@ -129,9 +120,9 @@ export default {
toNext() {
this.form.projectPersonLists = this.selectedRows
this.form.personIds = this.selectedRowKeys
if(this.form.personIds.length > 0){
if (this.form.personIds.length > 0) {
this.$emit('nextStep', this.form)
}else{
} else {
this.$message.warning('培训人员不能为空')
}
},
@ -224,21 +215,21 @@ export default {
this.getOrgTree()
},
// - 访DOM
mounted() {},
mounted() { },
// -
beforeCreate() {},
beforeCreate() { },
// -
beforeMount() {},
beforeMount() { },
// -
beforeUpdate() {},
beforeUpdate() { },
// -
updated() {},
updated() { },
// -
beforeDestroy() {},
beforeDestroy() { },
// -
destroyed() {},
destroyed() { },
// keep-alive
activated() {},
activated() { },
}
</script>
<style scoped>

View File

@ -1,6 +1,6 @@
<template>
<a-card :bordered="false" title="组卷策略信息">
<template slot="extra">
<!-- <template slot="extra">
<a-button type="primary" size="default" @click="toPrev">上一步</a-button>
</template>
<template slot="extra">
@ -8,7 +8,7 @@
</template>
<template slot="extra">
<a-button type="primary" size="default" @click="toIssue">发布</a-button>
</template>
</template> -->
<a-form-model :rules="rules" :model="form" v-bind="formItemLayout">
<a-row :gutter="24">
<a-col :md="10" :sm="12">
@ -54,6 +54,11 @@
</a-table>
</a-card>
</a-form-model>
<a-col :span="24" style="text-align: center;">
<a-button type="primary" size="default" @click="toPrev" style="margin-right: 8px;">上一步</a-button>
<a-button type="primary" size="default" @click="toSave" style="margin-right: 8px;">保存</a-button>
<a-button type="primary" size="default" @click="toIssue">发布</a-button>
</a-col>
</a-card>
</template>
@ -118,7 +123,7 @@ export default {
title: '总分',
dataIndex: 'totalScore',
customRender: (value, row, index) => {
return { children: value, attrs: { rowSpan: index == 0 ? 3 : 0 } }
return { children: value, attrs: { rowSpan: index == 0 ? 5 : 0 } }
},
},
],
@ -149,8 +154,11 @@ export default {
},
// - 访this
created() {
if(this.tableData.length == 0){
getQuestionNumByCourseIds({ids:this.form.lessonIds}).then((res) => {
if (this.tableData.length == 0) {
let ids = this.form.lessonIds.map((t) => {
return parseInt(t.ids);
})
getQuestionNumByCourseIds({ ids: ids}).then((res) => {
this.tableData = res.data
})
}
@ -174,4 +182,4 @@ export default {
}
</script>
<style scoped>
</style>
</style>ß