|
|
|
@ -1,62 +1,34 @@ |
|
|
|
|
<template> |
|
|
|
|
<div class="page" |
|
|
|
|
v-loading="loading"> |
|
|
|
|
<div class="page" v-loading="loading"> |
|
|
|
|
<h6 class="p-title">筛选</h6> |
|
|
|
|
<div class="tool mul"> |
|
|
|
|
<ul class="filter"> |
|
|
|
|
<li> |
|
|
|
|
<label>创建时间</label> |
|
|
|
|
<el-radio-group v-model="form.month" |
|
|
|
|
@change="initData"> |
|
|
|
|
<el-radio v-for="(item,index) in dateList" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.id" |
|
|
|
|
border>{{ item.name }}</el-radio> |
|
|
|
|
<el-radio-group v-model="form.month" @change="initData"> |
|
|
|
|
<el-radio v-for="(item, index) in dateList" :key="index" :label="item.id" border>{{ item.name }}</el-radio> |
|
|
|
|
</el-radio-group> |
|
|
|
|
<el-date-picker v-model="date" |
|
|
|
|
@blur='pickerInput' |
|
|
|
|
align="right" |
|
|
|
|
unlink-panels |
|
|
|
|
type="daterange" |
|
|
|
|
style="width: 300px;margin-left: 10px;" |
|
|
|
|
start-placeholder="开始日期" |
|
|
|
|
end-placeholder="结束日期" |
|
|
|
|
format="yyyy-MM-dd" |
|
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
|
clearable></el-date-picker> |
|
|
|
|
<el-date-picker v-model="date" @blur='pickerInput' align="right" unlink-panels type="daterange" |
|
|
|
|
style="width: 300px;margin-left: 10px;" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" |
|
|
|
|
value-format="yyyy-MM-dd" clearable></el-date-picker> |
|
|
|
|
</li> |
|
|
|
|
<li> |
|
|
|
|
<label>发布类型</label> |
|
|
|
|
<el-select v-model="form.type" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择发布类型" |
|
|
|
|
@change="initData"> |
|
|
|
|
<el-option v-for="(item,index) in typeList" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.value"></el-option> |
|
|
|
|
<el-select v-model="form.type" clearable placeholder="请选择发布类型" @change="initData"> |
|
|
|
|
<el-option v-for="(item, index) in typeList" :key="index" :label="item.name" :value="item.value"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</li> |
|
|
|
|
<li> |
|
|
|
|
<label>实验状态</label> |
|
|
|
|
<el-select v-model="form.status" |
|
|
|
|
clearable |
|
|
|
|
placeholder="请选择实验状态" |
|
|
|
|
@change="initData"> |
|
|
|
|
<el-option v-for="(item,index) in statusList" |
|
|
|
|
:key="index" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.value"></el-option> |
|
|
|
|
<el-select v-model="form.status" clearable placeholder="请选择实验状态" @change="initData"> |
|
|
|
|
<el-option v-for="(item, index) in statusList" :key="index" :label="item.name" |
|
|
|
|
:value="item.value"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</li> |
|
|
|
|
<li> |
|
|
|
|
<label>课程</label> |
|
|
|
|
<el-select v-model="form.mallId" |
|
|
|
|
@change="initData"> |
|
|
|
|
<el-option v-for="(item, i) in curs" |
|
|
|
|
:key="i" |
|
|
|
|
:label="item.curriculumName" |
|
|
|
|
:value="item.mallId"></el-option> |
|
|
|
|
<el-select v-model="form.mallId" @change="initData"> |
|
|
|
|
<el-option v-for="(item, i) in curs" :key="i" :label="item.curriculumName" :value="item.mallId"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
<!-- <el-cascader v-model="mallIds" |
|
|
|
@ -71,152 +43,92 @@ |
|
|
|
|
<div class="tool mul"> |
|
|
|
|
<ul class="filter"> |
|
|
|
|
<li> |
|
|
|
|
<el-input placeholder="请输入实验班级/项目名称/考核名称" |
|
|
|
|
prefix-icon="el-icon-search" |
|
|
|
|
v-model.trim="form.keyWord" |
|
|
|
|
clearable |
|
|
|
|
style="width: 300px"></el-input> |
|
|
|
|
<el-input placeholder="请输入实验班级/项目名称/考核名称" prefix-icon="el-icon-search" v-model.trim="form.keyWord" clearable |
|
|
|
|
style="width: 300px"></el-input> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
<div> |
|
|
|
|
<div> |
|
|
|
|
<el-button v-auth |
|
|
|
|
type="info" |
|
|
|
|
round |
|
|
|
|
@click="add">创建考核</el-button> |
|
|
|
|
<el-button v-auth |
|
|
|
|
type="primary" |
|
|
|
|
round |
|
|
|
|
@click="delAllData">批量删除</el-button> |
|
|
|
|
<el-button v-auth type="info" round @click="add">创建考核</el-button> |
|
|
|
|
<el-button v-auth type="primary" round @click="delAllData">批量删除</el-button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-table ref="table" |
|
|
|
|
:data="listData" |
|
|
|
|
class="table" |
|
|
|
|
stripe |
|
|
|
|
header-align="center" |
|
|
|
|
@selection-change="handleSelectionChange" |
|
|
|
|
row-key="id"> |
|
|
|
|
<el-table-column type="selection" |
|
|
|
|
:selectable="row => row.status !== 1" |
|
|
|
|
width="50" |
|
|
|
|
align="center" |
|
|
|
|
:reserve-selection="true"></el-table-column> |
|
|
|
|
<el-table-column type="index" |
|
|
|
|
width="60" |
|
|
|
|
label="序号" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table ref="table" :data="listData" class="table" stripe header-align="center" |
|
|
|
|
@selection-change="handleSelectionChange" row-key="id"> |
|
|
|
|
<el-table-column type="selection" :selectable="row => row.status !== 1" width="50" align="center" |
|
|
|
|
:reserve-selection="true"></el-table-column> |
|
|
|
|
<el-table-column type="index" width="60" label="序号" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
{{ scope.$index + (page - 1) * pageSize + 1 }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="className" |
|
|
|
|
label="实验班级" |
|
|
|
|
align="center" |
|
|
|
|
min-width="120px" |
|
|
|
|
show-overflow-tooltip></el-table-column> |
|
|
|
|
<el-table-column prop="experimentalName" |
|
|
|
|
label="考核名称" |
|
|
|
|
align="center" |
|
|
|
|
min-width="120px" |
|
|
|
|
show-overflow-tooltip></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" |
|
|
|
|
label="项目名称" |
|
|
|
|
min-width="200" |
|
|
|
|
show-overflow-tooltip |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="experimenterNum" |
|
|
|
|
label="实验人数" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="experimentDuration" |
|
|
|
|
label="实验时长" |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column label="邀请码" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="className" label="实验班级" align="center" min-width="120px" |
|
|
|
|
show-overflow-tooltip></el-table-column> |
|
|
|
|
<el-table-column prop="experimentalName" label="考核名称" align="center" min-width="120px" |
|
|
|
|
show-overflow-tooltip></el-table-column> |
|
|
|
|
<el-table-column prop="projectName" label="项目名称" min-width="200" show-overflow-tooltip |
|
|
|
|
align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="experimenterNum" label="实验人数" align="center"></el-table-column> |
|
|
|
|
<el-table-column prop="experimentDuration" label="实验时长" align="center"></el-table-column> |
|
|
|
|
<el-table-column label="邀请码" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<span>{{ scope.row.isEnableCode == 1 ? scope.row.invitationCode : "" }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="type" |
|
|
|
|
label="发布类型" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="type" label="发布类型" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<span>{{ types[scope.row.type] }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="createTime" |
|
|
|
|
width="150" |
|
|
|
|
label="创建时间" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="createTime" width="150" label="创建时间" align="center"> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="startTime" |
|
|
|
|
width="150" |
|
|
|
|
label="起始时间" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="startTime" width="150" label="起始时间" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<span>{{ (scope.row.status == 0 && scope.row.type == 1) ? '---' : transferTime(scope.row.startTime) }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="stopTime" |
|
|
|
|
width="150" |
|
|
|
|
label="结束时间" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column prop="stopTime" width="150" label="结束时间" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<span>{{ (scope.row.status == 0 && scope.row.type == 1) ? '---' : transferTime(scope.row.stopTime) }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="倒计时" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column label="倒计时" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<span>{{ timeFilter(scope.row) }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="实验状态" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column label="实验状态" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<span> |
|
|
|
|
{{ status[scope.row.status] }} |
|
|
|
|
</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" |
|
|
|
|
width="170" |
|
|
|
|
align="center"> |
|
|
|
|
<el-table-column label="操作" width="170" align="center"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<template v-if="scope.row.status == 0 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))"> |
|
|
|
|
<el-button v-auth |
|
|
|
|
v-if="scope.row.type == 1" |
|
|
|
|
type="text" |
|
|
|
|
@click="start(scope.row)">启动</el-button> |
|
|
|
|
<el-button v-auth |
|
|
|
|
type="text" |
|
|
|
|
@click="edit(scope.row)">修改</el-button> |
|
|
|
|
<template |
|
|
|
|
v-if="scope.row.status == 0 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))"> |
|
|
|
|
<el-button v-auth v-if="scope.row.type == 1" type="text" @click="start(scope.row)">启动</el-button> |
|
|
|
|
<el-button v-auth type="text" @click="edit(scope.row)">修改</el-button> |
|
|
|
|
</template> |
|
|
|
|
<template v-else-if="scope.row.status == 1 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))"> |
|
|
|
|
<el-button v-auth |
|
|
|
|
type="text" |
|
|
|
|
@click="finish(scope.row)">提前结束</el-button> |
|
|
|
|
<template |
|
|
|
|
v-else-if="scope.row.status == 1 && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))"> |
|
|
|
|
<el-button v-auth type="text" @click="finish(scope.row)">提前结束</el-button> |
|
|
|
|
</template> |
|
|
|
|
<template v-else-if="scope.row.status == 2"> |
|
|
|
|
<el-button v-auth |
|
|
|
|
type="text" |
|
|
|
|
@click="show(scope.row)">查看成绩</el-button> |
|
|
|
|
<el-button v-auth type="text" @click="show(scope.row)">查看成绩</el-button> |
|
|
|
|
</template> |
|
|
|
|
<el-button v-auth |
|
|
|
|
v-if="(scope.row.status == 0 || scope.row.status == 2) && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))" |
|
|
|
|
type="text" |
|
|
|
|
@click="delData(scope.row)">删除</el-button> |
|
|
|
|
v-if="(scope.row.status == 0 || scope.row.status == 2) && (roleName.includes('超级') || roleName === scope.row.roleName || (roleName === '管理员' && !scope.row.roleName.includes('超级')))" |
|
|
|
|
type="text" @click="delData(scope.row)">删除</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<div class="pagination"> |
|
|
|
|
<el-pagination background |
|
|
|
|
layout="total, prev, pager, next" |
|
|
|
|
:total="total" |
|
|
|
|
@current-change="handleCurrentChange" |
|
|
|
|
:current-page="page"></el-pagination> |
|
|
|
|
<el-pagination background layout="total, prev, pager, next" :total="total" @current-change="handleCurrentChange" |
|
|
|
|
:current-page="page"></el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
@ -551,9 +463,10 @@ export default { |
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.el-radio-group { |
|
|
|
|
white-space: nowrap; |
|
|
|
|
white-space: nowrap; |
|
|
|
|
} |
|
|
|
|
.el-radio.is-bordered + .el-radio.is-bordered { |
|
|
|
|
margin-left: 0; |
|
|
|
|
|
|
|
|
|
.el-radio.is-bordered+.el-radio.is-bordered { |
|
|
|
|
margin-left: 0; |
|
|
|
|
} |
|
|
|
|
</style> |