|
|
|
@ -2,20 +2,28 @@ |
|
|
|
|
<div> |
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
<el-col :span="24"> |
|
|
|
|
<el-card shadow="hover" class="mgb20"> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="mgb20"> |
|
|
|
|
<div class="flex-between"> |
|
|
|
|
<div class="per_title" v-preventReClick @click="goback()"> |
|
|
|
|
<div class="per_title" |
|
|
|
|
v-preventReClick |
|
|
|
|
@click="goback()"> |
|
|
|
|
<i class="el-icon-arrow-left"></i> |
|
|
|
|
<span class="per_back">返回</span> |
|
|
|
|
<span class="per_school" v-text="form.cid ? '编辑课程' : '新建课程'"></span> |
|
|
|
|
<span class="per_school" |
|
|
|
|
v-text="form.cid ? '编辑课程' : '新建课程'"></span> |
|
|
|
|
</div> |
|
|
|
|
<el-button type="primary" round class="mag" v-preventReClick |
|
|
|
|
<el-button type="primary" |
|
|
|
|
round |
|
|
|
|
class="mag" |
|
|
|
|
v-preventReClick |
|
|
|
|
@click="saveAdd">确定 |
|
|
|
|
</el-button> |
|
|
|
|
</div> |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<el-card shadow="hover" class="mgb20 "> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="mgb20 "> |
|
|
|
|
<div class="flex-center mgb20"> |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
|
<span>课程信息</span> |
|
|
|
@ -23,66 +31,111 @@ |
|
|
|
|
<div class="border-b-dashed"></div> |
|
|
|
|
|
|
|
|
|
<div> |
|
|
|
|
<el-form :model="form" :rules="rules" ref="form" label-width="100px"> |
|
|
|
|
<el-col :span="6" :offset="5"> |
|
|
|
|
<el-form-item label="课程名称" prop="curriculumName"> |
|
|
|
|
<el-input placeholder="请输入课程名称" v-model.trim="form.curriculumName"></el-input> |
|
|
|
|
<el-form :model="form" |
|
|
|
|
:rules="rules" |
|
|
|
|
ref="form" |
|
|
|
|
label-width="100px"> |
|
|
|
|
<el-col :span="6" |
|
|
|
|
:offset="5"> |
|
|
|
|
<el-form-item label="课程名称" |
|
|
|
|
prop="curriculumName"> |
|
|
|
|
<el-input placeholder="请输入课程名称" |
|
|
|
|
v-model.trim="form.curriculumName"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="学科类别" prop="categoryId"> |
|
|
|
|
<el-select v-model="form.categoryId" clearable placeholder="请选择学科类别" |
|
|
|
|
@change="getProfessionalClass()" @clear="clearsubjectType()"> |
|
|
|
|
<el-option v-for="(item,index) in subjectList" :key="index" |
|
|
|
|
:label="item.disciplineName" :value="item.disciplineId"></el-option> |
|
|
|
|
<el-form-item label="学科类别" |
|
|
|
|
prop="categoryId"> |
|
|
|
|
<el-select v-model="form.categoryId" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择学科类别" |
|
|
|
|
@change="getProfessionalClass()" |
|
|
|
|
@clear="clearsubjectType()"> |
|
|
|
|
<el-option v-for="(item,index) in subjectList" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.disciplineName" |
|
|
|
|
:value="item.disciplineId"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="专业" prop="professionalId"> |
|
|
|
|
<el-select v-model="form.professionalId" clearable placeholder="请选择专业" |
|
|
|
|
<el-form-item label="专业" |
|
|
|
|
prop="professionalId"> |
|
|
|
|
<el-select v-model="form.professionalId" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择专业" |
|
|
|
|
:disabled="form.professionalCategoryId ? false : true"> |
|
|
|
|
<el-option v-for="(item,index) in ProfessionalList" :key="index" |
|
|
|
|
<el-option v-for="(item,index) in ProfessionalList" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.professionalName" |
|
|
|
|
:value="item.professionalId"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="供应厂商" prop="supplier"> |
|
|
|
|
<el-select v-model="form.supplier" clearable placeholder="请选择供应厂商" multiple> |
|
|
|
|
<el-option v-for="(item, i) in suppliers" :key="i" :label="item.supplierName" :value="item.supplierId"></el-option> |
|
|
|
|
<el-form-item label="供应厂商" |
|
|
|
|
prop="supplier"> |
|
|
|
|
<el-select v-model="form.supplier" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择供应厂商" |
|
|
|
|
multiple> |
|
|
|
|
<el-option v-for="(item, i) in suppliers" |
|
|
|
|
:key="i" |
|
|
|
|
:label="item.supplierName" |
|
|
|
|
:value="item.supplierId"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
<el-col :span="6" :offset="2"> |
|
|
|
|
<el-col :span="6" |
|
|
|
|
:offset="2"> |
|
|
|
|
<el-form-item label="课程类别"> |
|
|
|
|
<el-select v-model="form.curriculumType" clearable placeholder="请选择课程类型"> |
|
|
|
|
<el-option label="理论课程" :value="0"></el-option> |
|
|
|
|
<el-option label="实训课程" :value="1"></el-option> |
|
|
|
|
<el-select v-model="form.curriculumType" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择课程类型"> |
|
|
|
|
<el-option label="理论课程" |
|
|
|
|
:value="0"></el-option> |
|
|
|
|
<el-option label="实训课程" |
|
|
|
|
:value="1"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="专业类" prop="professionalCategoryId"> |
|
|
|
|
<el-select v-model="form.professionalCategoryId" clearable placeholder="请选择专业类" |
|
|
|
|
:disabled="form.categoryId ? false : true" @change="getProfessional()" |
|
|
|
|
<el-form-item label="专业类" |
|
|
|
|
prop="professionalCategoryId"> |
|
|
|
|
<el-select v-model="form.professionalCategoryId" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择专业类" |
|
|
|
|
:disabled="form.categoryId ? false : true" |
|
|
|
|
@change="getProfessional()" |
|
|
|
|
@clear="clearProfessionalClass()"> |
|
|
|
|
<el-option v-for="(item,index) in ProfessionalClassList" :key="index" |
|
|
|
|
<el-option v-for="(item,index) in ProfessionalClassList" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.professionalClassName" |
|
|
|
|
:value="item.professionalClassId"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="预计课时" prop="expectedCourse"> |
|
|
|
|
<el-select v-model="form.expectedCourse" clearable placeholder="请选择预计课时"> |
|
|
|
|
<el-option label="32课时" value="32课时"></el-option> |
|
|
|
|
<el-option label="64课时" value="64课时"></el-option> |
|
|
|
|
<el-form-item label="预计课时" |
|
|
|
|
prop="expectedCourse"> |
|
|
|
|
<el-select v-model="form.expectedCourse" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择预计课时"> |
|
|
|
|
<el-option label="32课时" |
|
|
|
|
value="32课时"></el-option> |
|
|
|
|
<el-option label="64课时" |
|
|
|
|
value="64课时"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
|
|
|
|
|
<el-col :span="14" :offset="5"> |
|
|
|
|
<el-form-item label="课程简介" prop="briefIntroduction"> |
|
|
|
|
<el-input type="textarea" :autosize="{ minRows: 4 }" placeholder="请输入课程简介" |
|
|
|
|
<el-col :span="14" |
|
|
|
|
:offset="5"> |
|
|
|
|
<el-form-item label="课程简介" |
|
|
|
|
prop="briefIntroduction"> |
|
|
|
|
<el-input type="textarea" |
|
|
|
|
:autosize="{ minRows: 4 }" |
|
|
|
|
placeholder="请输入课程简介" |
|
|
|
|
v-model.trim="form.briefIntroduction"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item label="教学目标" prop="teachingObjectives"> |
|
|
|
|
<el-input type="textarea" :autosize="{ minRows: 4 }" placeholder="请输入教学目标" |
|
|
|
|
<el-form-item label="教学目标" |
|
|
|
|
prop="teachingObjectives"> |
|
|
|
|
<el-input type="textarea" |
|
|
|
|
:autosize="{ minRows: 4 }" |
|
|
|
|
placeholder="请输入教学目标" |
|
|
|
|
v-model.trim="form.teachingObjectives"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
@ -91,7 +144,8 @@ |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<!-- 练习配置 --> |
|
|
|
|
<el-card shadow="hover" class="mgb20"> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="mgb20"> |
|
|
|
|
<div class="mgb20 flex-between"> |
|
|
|
|
<div class="flex-center "> |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
@ -99,41 +153,64 @@ |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-button @click="handleBatchDelete(0)">批量移除</el-button> |
|
|
|
|
<el-button @click="handleConfig(0)" icon="el-icon-plus" circle></el-button> |
|
|
|
|
<el-button @click="handleConfig(0)" |
|
|
|
|
icon="el-icon-plus" |
|
|
|
|
circle></el-button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="border-b-dashed"></div> |
|
|
|
|
<div> |
|
|
|
|
<el-table :data="practiceData" class="table" stripe header-align="center" max-height="400" |
|
|
|
|
<el-table :data="practiceData" |
|
|
|
|
class="table" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
max-height="400" |
|
|
|
|
@selection-change="handleSelectionPractice"> |
|
|
|
|
<el-table-column type="selection" width="55" align="center"></el-table-column> |
|
|
|
|
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="remark" label="备注名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" label="系统名称" align="center"> |
|
|
|
|
<el-table-column type="selection" |
|
|
|
|
width="55" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="100" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
label="项目名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="remark" |
|
|
|
|
label="备注名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" |
|
|
|
|
label="系统名称" |
|
|
|
|
align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.applicationName || systemAll.find(e => e.systemId == scope.row.systemId).systemName }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="排序" align="center" width="100"> |
|
|
|
|
<el-table-column label="排序" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-input v-model.trim="scope.row.sort" |
|
|
|
|
@input="practiceSortChange(scope.row, scope.$index)"></el-input> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="展示控制" align="center" width="100"> |
|
|
|
|
<el-table-column label="展示控制" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-switch |
|
|
|
|
v-model="scope.row.isShow" |
|
|
|
|
<el-switch v-model="scope.row.isShow" |
|
|
|
|
:active-value="0" |
|
|
|
|
:inactive-value="1" |
|
|
|
|
:disabled="scope.row.disabled"> |
|
|
|
|
</el-switch> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" align="center" width="100"> |
|
|
|
|
<el-table-column label="操作" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-button :disabled="scope.row.disabled" @click.native.prevent="handleDelete(scope.$index, practiceData)">移除 |
|
|
|
|
<el-button :disabled="scope.row.disabled" |
|
|
|
|
@click.native.prevent="handleDelete(scope.$index, practiceData)">移除 |
|
|
|
|
</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
@ -142,7 +219,8 @@ |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<!-- 考核配置 --> |
|
|
|
|
<el-card shadow="hover" class="mgb20"> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="mgb20"> |
|
|
|
|
<div class="mgb20 flex-between"> |
|
|
|
|
<div class="flex-center "> |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
@ -150,42 +228,65 @@ |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-button @click="handleBatchDelete(1)">批量移除</el-button> |
|
|
|
|
<el-button @click="handleConfig(1)" icon="el-icon-plus" circle></el-button> |
|
|
|
|
<el-button @click="handleConfig(1)" |
|
|
|
|
icon="el-icon-plus" |
|
|
|
|
circle></el-button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="border-b-dashed"></div> |
|
|
|
|
<!-- 实训配置 --> |
|
|
|
|
<div> |
|
|
|
|
<el-table :data="assessmentData" class="table" stripe header-align="center" max-height="400" |
|
|
|
|
<el-table :data="assessmentData" |
|
|
|
|
class="table" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
max-height="400" |
|
|
|
|
@selection-change="handleSelectionAssessment"> |
|
|
|
|
<el-table-column type="selection" width="55" align="center"></el-table-column> |
|
|
|
|
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="remark" label="备注名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" label="系统名称" align="center"> |
|
|
|
|
<el-table-column type="selection" |
|
|
|
|
width="55" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="100" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
label="项目名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="remark" |
|
|
|
|
label="备注名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" |
|
|
|
|
label="系统名称" |
|
|
|
|
align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.applicationName || systemAll.find(e => e.systemId == scope.row.systemId).systemName }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="排序" align="center" width="100"> |
|
|
|
|
<el-table-column label="排序" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-input v-model.trim="scope.row.sort" |
|
|
|
|
@input="assessmentSortChange(scope.row, scope.$index)"></el-input> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="展示控制" align="center" width="100"> |
|
|
|
|
<el-table-column label="展示控制" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-switch |
|
|
|
|
v-model="scope.row.isShow" |
|
|
|
|
<el-switch v-model="scope.row.isShow" |
|
|
|
|
:active-value="0" |
|
|
|
|
:inactive-value="1" |
|
|
|
|
:disabled="scope.row.disabled"> |
|
|
|
|
</el-switch> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" align="center" width="100"> |
|
|
|
|
<el-table-column label="操作" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-button :disabled="scope.row.disabled" @click.native.prevent="handleDelete(scope.$index, assessmentData)">移除</el-button> |
|
|
|
|
<el-button :disabled="scope.row.disabled" |
|
|
|
|
@click.native.prevent="handleDelete(scope.$index, assessmentData)">移除</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
@ -193,7 +294,8 @@ |
|
|
|
|
</el-card> |
|
|
|
|
|
|
|
|
|
<!-- 竞赛配置 --> |
|
|
|
|
<el-card shadow="hover" class="mgb20"> |
|
|
|
|
<el-card shadow="hover" |
|
|
|
|
class="mgb20"> |
|
|
|
|
<div class="mgb20 flex-between"> |
|
|
|
|
<div class="flex-center "> |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
@ -201,41 +303,62 @@ |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-button @click="handleBatchDelete(2)">批量移除</el-button> |
|
|
|
|
<el-button @click="handleConfig(2)" icon="el-icon-plus" circle></el-button> |
|
|
|
|
<el-button @click="handleConfig(2)" |
|
|
|
|
icon="el-icon-plus" |
|
|
|
|
circle></el-button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="border-b-dashed"></div> |
|
|
|
|
<!-- 实训配置 --> |
|
|
|
|
<div> |
|
|
|
|
<el-table :data="matches" class="table" stripe header-align="center" max-height="400" |
|
|
|
|
<el-table :data="matches" |
|
|
|
|
class="table" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
max-height="400" |
|
|
|
|
@selection-change="handleSelectionMatch"> |
|
|
|
|
<el-table-column type="selection" width="55" align="center"></el-table-column> |
|
|
|
|
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" label="系统名称" align="center"> |
|
|
|
|
<el-table-column type="selection" |
|
|
|
|
width="55" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="100" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
label="项目名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" |
|
|
|
|
label="系统名称" |
|
|
|
|
align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.applicationName || systemAll.find(e => e.systemId == scope.row.systemId).systemName }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="排序" align="center" width="100"> |
|
|
|
|
<el-table-column label="排序" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-input v-model.trim="scope.row.sort" |
|
|
|
|
@input="assessmentSortChange(scope.row, scope.$index)"></el-input> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="展示控制" align="center" width="100"> |
|
|
|
|
<el-table-column label="展示控制" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-switch |
|
|
|
|
v-model="scope.row.isShow" |
|
|
|
|
<el-switch v-model="scope.row.isShow" |
|
|
|
|
:active-value="0" |
|
|
|
|
:inactive-value="1" |
|
|
|
|
:disabled="scope.row.disabled"> |
|
|
|
|
</el-switch> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" align="center" width="100"> |
|
|
|
|
<el-table-column label="操作" |
|
|
|
|
align="center" |
|
|
|
|
width="100"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-button :disabled="scope.row.disabled" @click.native.prevent="handleDelete(scope.$index, matches)">移除</el-button> |
|
|
|
|
<el-button :disabled="scope.row.disabled" |
|
|
|
|
@click.native.prevent="handleDelete(scope.$index, matches)">移除</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
@ -246,19 +369,29 @@ |
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
<!-- 配置弹窗 --> |
|
|
|
|
<el-dialog :visible.sync="configVisible" width="1200px" center custom-class="config-dia"> |
|
|
|
|
<el-dialog :visible.sync="configVisible" |
|
|
|
|
width="1200px" |
|
|
|
|
center |
|
|
|
|
custom-class="config-dia"> |
|
|
|
|
<div class="config-wrap"> |
|
|
|
|
<div class="item system"> |
|
|
|
|
<div class="title-wrap flex-center"> |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
|
<span>系统列表</span> |
|
|
|
|
</div> |
|
|
|
|
<el-input placeholder="请输入系统名称" prefix-icon="el-icon-search" v-model.trim="systemKeyword" clearable></el-input> |
|
|
|
|
<el-input placeholder="请输入系统名称" |
|
|
|
|
prefix-icon="el-icon-search" |
|
|
|
|
v-model.trim="systemKeyword" |
|
|
|
|
clearable></el-input> |
|
|
|
|
|
|
|
|
|
<ul class="systems"> |
|
|
|
|
<li v-for="(item, i) in systems" :key="i" :title="item.systemName"> |
|
|
|
|
<el-checkbox v-model="item.check" @change="val => systemChange(val, item)"></el-checkbox> |
|
|
|
|
<div :class="['name', {active: curSystem == item.systemId}]" @click="getProject(item)"> |
|
|
|
|
<li v-for="(item, i) in systems" |
|
|
|
|
:key="i" |
|
|
|
|
:title="item.systemName"> |
|
|
|
|
<el-checkbox v-model="item.check" |
|
|
|
|
@change="val => systemChange(val, item)"></el-checkbox> |
|
|
|
|
<div :class="['name', {active: curSystem == item.systemId}]" |
|
|
|
|
@click="getProject(item)"> |
|
|
|
|
<span>{{ item.systemName }}</span> |
|
|
|
|
<i class="el-icon-arrow-right"></i> |
|
|
|
|
</div> |
|
|
|
@ -271,12 +404,22 @@ |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
|
<span>项目列表</span> |
|
|
|
|
</div> |
|
|
|
|
<el-input placeholder="请输入项目名称" prefix-icon="el-icon-search" v-model.trim="projectKeyword" clearable></el-input> |
|
|
|
|
<el-input placeholder="请输入项目名称" |
|
|
|
|
prefix-icon="el-icon-search" |
|
|
|
|
v-model.trim="projectKeyword" |
|
|
|
|
clearable></el-input> |
|
|
|
|
|
|
|
|
|
<ul class="systems"> |
|
|
|
|
<el-checkbox v-if="projects.length" v-model="checkAll" label="全选" @change="val => checkAllChange(val, projects[0].systemId)"></el-checkbox> |
|
|
|
|
<li v-for="(item, i) in projects" :key="i" :title="item.projectName"> |
|
|
|
|
<el-checkbox v-model="item.check" :label="item.remark ? item.remark + '(' + item.projectName + ')' : item.projectName" @change="val => projectChange(val, item)"></el-checkbox> |
|
|
|
|
<el-checkbox v-if="projects.length" |
|
|
|
|
v-model="checkAll" |
|
|
|
|
label="全选" |
|
|
|
|
@change="val => checkAllChange(val, projects[0].systemId)"></el-checkbox> |
|
|
|
|
<li v-for="(item, i) in projects" |
|
|
|
|
:key="i" |
|
|
|
|
:title="item.projectName"> |
|
|
|
|
<el-checkbox v-model="item.check" |
|
|
|
|
:label="item.remark ? item.remark + '(' + item.projectName + ')' : item.projectName" |
|
|
|
|
@change="val => projectChange(val, item)"></el-checkbox> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
@ -286,33 +429,58 @@ |
|
|
|
|
<p class="addhr_tag"></p> |
|
|
|
|
<span>已选择项目({{ checkeds.length }}个)</span> |
|
|
|
|
</div> |
|
|
|
|
<el-input style="width: 200px;margin-bottom: 20px;" placeholder="请输入项目名称" prefix-icon="el-icon-search" v-model.trim="checkedKeyword" clearable></el-input> |
|
|
|
|
<el-table :data="checkeds" class="table" stripe header-align="center" max-height="470"> |
|
|
|
|
<el-table-column type="index" width="55" label="序号" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" label="系统名称" align="center"> |
|
|
|
|
<el-input style="width: 200px;margin-bottom: 20px;" |
|
|
|
|
placeholder="请输入项目名称" |
|
|
|
|
prefix-icon="el-icon-search" |
|
|
|
|
v-model.trim="checkedKeyword" |
|
|
|
|
clearable></el-input> |
|
|
|
|
<el-table :data="checkeds" |
|
|
|
|
class="table" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
max-height="470"> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="55" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="applicationName" |
|
|
|
|
label="系统名称" |
|
|
|
|
align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.applicationName || systemAll.find(e => e.systemId == scope.row.systemId).systemName }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="projectName" width="80" label="系统类型" align="center"> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
width="80" |
|
|
|
|
label="系统类型" |
|
|
|
|
align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.row.type ? '流程类' : '编程类' }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="remark" label="备注名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column> |
|
|
|
|
<el-table-column label="操作" align="center" width="55"> |
|
|
|
|
<el-table-column prop="remark" |
|
|
|
|
label="备注名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
label="项目名称" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column label="操作" |
|
|
|
|
align="center" |
|
|
|
|
width="55"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<i :class="['el-icon-delete rm', {disabled: scope.row.disabled}]" @click="delProject(scope.$index, scope.row)"></i> |
|
|
|
|
<i :class="['el-icon-delete rm', {disabled: scope.row.disabled}]" |
|
|
|
|
@click="delProject(scope.$index, scope.row)"></i> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
|
<span slot="footer" |
|
|
|
|
class="dialog-footer"> |
|
|
|
|
<el-button @click="configVisible = false">取 消</el-button> |
|
|
|
|
<el-button type="primary" @click="handleConfirm">确 定</el-button> |
|
|
|
|
<el-button type="primary" |
|
|
|
|
@click="handleConfirm">确 定</el-button> |
|
|
|
|
</span> |
|
|
|
|
</el-dialog> |
|
|
|
|
</div> |
|
|
|
@ -330,15 +498,15 @@ export default { |
|
|
|
|
cid: this.$route.query.cid, |
|
|
|
|
curriculumName: "", |
|
|
|
|
courseType: "", |
|
|
|
|
categoryId: "", |
|
|
|
|
professionalCategoryId: "", |
|
|
|
|
professionalId: "", |
|
|
|
|
categoryId: 1, |
|
|
|
|
professionalCategoryId: 1, |
|
|
|
|
professionalId: 1, |
|
|
|
|
expectedCourse: "", |
|
|
|
|
briefIntroduction: "", |
|
|
|
|
teachingObjectives: "", |
|
|
|
|
systemIdByAssessment: [], |
|
|
|
|
systemIdByPractice: [], |
|
|
|
|
supplier: '', |
|
|
|
|
supplier: [] |
|
|
|
|
}, |
|
|
|
|
rules: { |
|
|
|
|
curriculumName: [ |
|
|
|
@ -350,6 +518,9 @@ export default { |
|
|
|
|
professionalId: [ |
|
|
|
|
{ required: true, message: "请选择专业", trigger: "change" } |
|
|
|
|
], |
|
|
|
|
supplier: [ |
|
|
|
|
{ required: true, message: "请选择供应厂商", trigger: "change" } |
|
|
|
|
], |
|
|
|
|
expectedCourse: [ |
|
|
|
|
{ required: true, message: "请选择预计课时", trigger: "change" } |
|
|
|
|
], |
|
|
|
@ -522,13 +693,14 @@ export default { |
|
|
|
|
}, |
|
|
|
|
getSubject () { // 获取学科类别 |
|
|
|
|
this.$get(this.api.courseDiscipline).then(res => { |
|
|
|
|
this.subjectList = res.list; |
|
|
|
|
this.subjectList = res.list |
|
|
|
|
this.form.categoryId === 1 && this.getProfessionalClass() |
|
|
|
|
}).catch(err => { |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
clearsubjectType () { // 清空学科类别 |
|
|
|
|
this.form.professionalCategoryId = "", |
|
|
|
|
this.form.professionalId = ""; |
|
|
|
|
this.form.professionalCategoryId = this.form.categoryId === 1 ? 1 : '' |
|
|
|
|
this.form.professionalId = this.form.categoryId === 1 ? 1 : '' |
|
|
|
|
}, |
|
|
|
|
getProfessionalClass () { // 获取专业类 |
|
|
|
|
this.clearsubjectType(); |
|
|
|
@ -540,11 +712,12 @@ export default { |
|
|
|
|
}; |
|
|
|
|
this.$get(this.api.courseProfessionalClass, data).then(res => { |
|
|
|
|
this.ProfessionalClassList = res.list; |
|
|
|
|
this.form.professionalCategoryId === 1 && this.getProfessional() |
|
|
|
|
}).catch(err => { |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
clearProfessionalClass () { // 清空专业类 |
|
|
|
|
this.form.professionalId = ""; |
|
|
|
|
this.form.professionalId = this.form.professionalCategoryId === 1 ? 1 : '' |
|
|
|
|
}, |
|
|
|
|
getProfessional () { // 获取专业 |
|
|
|
|
this.clearProfessionalClass(); |
|
|
|
@ -923,7 +1096,7 @@ $avatar-width: 104px; |
|
|
|
|
overflow: hidden; |
|
|
|
|
|
|
|
|
|
&:hover { |
|
|
|
|
border-color: #409EFF; |
|
|
|
|
border-color: #409eff; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.uploader-default { |
|
|
|
@ -1018,8 +1191,9 @@ $avatar-width: 104px; |
|
|
|
|
align-items: center; |
|
|
|
|
margin-left: 5px; |
|
|
|
|
cursor: pointer; |
|
|
|
|
&.active, &:hover { |
|
|
|
|
color: #9076FF; |
|
|
|
|
&.active, |
|
|
|
|
&:hover { |
|
|
|
|
color: #9076ff; |
|
|
|
|
} |
|
|
|
|
span { |
|
|
|
|
max-width: 200px; |
|
|
|
|