样式变更

This commit is contained in:
2026-08-25 09:29:11 +08:00
parent 763bf34c3a
commit 0934a4d910
3 changed files with 60 additions and 86 deletions
@@ -115,8 +115,8 @@ export default {
totalWeeks: 0, totalWeeks: 0,
dateRangeText: '', dateRangeText: '',
weeks: [], weeks: [],
// 显示控制:默认勾选显示日期;节次全部展示 // 显示控制:默认勾选显示日期;节次全部展示
showDate: true, showDate: false,
// 事件存储:key = cellKey -> event // 事件存储:key = cellKey -> event
events: {}, events: {},
loading: false loading: false
@@ -5,6 +5,12 @@
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新添</el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新添</el-button>
</el-col> </el-col>
<el-col :span="1.8">
<el-button type="success" plain icon="el-icon-date" size="mini" :disabled="!currentSemester"
@click="handleEditCalendar">
编辑校历
</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"> <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete">
批量删除 批量删除
@@ -13,105 +19,79 @@
</el-row> </el-row>
<!-- 数据表格 --> <!-- 数据表格 -->
<el-table <el-table v-loading="loading" :data="semesterList" border :height="tableHeight" highlight-current-row
v-loading="loading" @current-change="handleCurrentChange" @selection-change="handleSelectionChange">
:data="semesterList"
border
:height="tableHeight"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" align="center" width="50" /> <el-table-column type="selection" align="center" width="50" />
<el-table-column label="学期名称" align="center" min-width="190"> <el-table-column label="学期名称" align="center" width="250">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ getSemesterName(scope.row.nd) }}</span> <span>{{ getSemesterName(scope.row.nd) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="当前" align="center" width="70"> <el-table-column label="当前" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.dqxq" type="success" size="mini">当前</el-tag> <el-tag v-if="scope.row.dqxq" type="success" size="mini">当前</el-tag>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="开学日期" align="center" prop="kxrq" min-width="130"> <el-table-column label="开学日期" align="center" prop="kxrq" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ formatDate(scope.row.kxrq) }}</span> <span>{{ formatDate(scope.row.kxrq) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="结束日期" align="center" prop="jsrq" min-width="130"> <el-table-column label="结束日期" align="center" prop="jsrq" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ formatDate(scope.row.jsrq) }}</span> <span>{{ formatDate(scope.row.jsrq) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="周数" align="center" prop="sdzs" width="70" /> <el-table-column label="周数" align="center" prop="sdzs" width="100" />
<el-table-column label="调课不审批" align="center" width="100"> <el-table-column label="调课不审批" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.tkbsp ? 'primary' : 'info'" size="mini">{{ scope.row.tkbsp ? '是' : '否' }}</el-tag> <el-tag :type="scope.row.tkbsp ? 'primary' : 'info'" size="mini">{{ scope.row.tkbsp ? '是' : '否' }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="禁止调课" align="center" width="90"> <el-table-column label="禁止调课" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.jztk ? 'danger' : 'info'" size="mini">{{ scope.row.jztk ? '是' : '否' }}</el-tag> <el-tag :type="scope.row.jztk ? 'danger' : 'info'" size="mini">{{ scope.row.jztk ? '是' : '否' }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="终结成绩定及格" align="center" width="120"> <el-table-column label="终结成绩定及格" align="center" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag :type="scope.row.zjcjdjg ? 'primary' : 'info'" size="mini">{{ scope.row.zjcjdjg ? '是' : '否' }}</el-tag> <el-tag :type="scope.row.zjcjdjg ? 'primary' : 'info'" size="mini">{{ scope.row.zjcjdjg ? '是' : '否'
}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="课时系数方案" align="center" min-width="120"> <el-table-column label="课时系数方案" align="center" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ getCoefficientLabel(scope.row.ksxsfabh) }}</span> <span>{{ getCoefficientLabel(scope.row.ksxsfabh) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="锁定时长" align="center" min-width="100"> <el-table-column label="锁定时长" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.sdjldw || '-' }}</span> <span>{{ scope.row.sdjldw || '-' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="操作" align="center" fixed="right" class-name="table-action-column">
label="操作"
align="center"
width="220"
fixed="right"
class-name="table-action-column"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="mini" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button> <el-button type="text" size="mini" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
<el-button type="text" size="mini" icon="el-icon-date" @click="handleEditCalendar(scope.row)"> <el-button type="text" size="mini" icon="el-icon-delete" class="text-danger"
编辑校历 @click="handleDelete(scope.row)">删除</el-button>
</el-button>
<el-button
type="text"
size="mini"
icon="el-icon-delete"
class="text-danger"
@click="handleDelete(scope.row)"
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total > 0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 学期信息弹窗 --> <!-- 学期信息弹窗 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body class="semester-dialog"> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body class="semester-dialog">
<el-form ref="form" class="semester-dialog-form" :model="form" :rules="rules" label-width="96px" label-position="right"> <el-form ref="form" class="semester-dialog-form" :model="form" :rules="rules" label-width="96px"
label-position="right">
<el-row :gutter="20" class="semester-dialog-body"> <el-row :gutter="20" class="semester-dialog-body">
<!-- 左侧表单区 --> <!-- 左侧表单区 -->
<el-col :span="15" class="semester-form-col"> <el-col :span="15" class="semester-form-col">
<el-form-item label="学期名称"> <el-form-item label="学期名称">
<el-input <el-input :value="getSemesterName(buildNd(form.xn, form.xq))" readonly placeholder="由年份+学期类型自动拼接"
:value="getSemesterName(buildNd(form.xn, form.xq))" prefix-icon="el-icon-office-building" />
readonly
placeholder="由年份+学期类型自动拼接"
prefix-icon="el-icon-office-building"
/>
</el-form-item> </el-form-item>
<el-row :gutter="14"> <el-row :gutter="14">
<el-col :span="12"> <el-col :span="12">
@@ -124,7 +104,8 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学期类型" prop="xq"> <el-form-item label="学期类型" prop="xq">
<el-select v-model="form.xq" placeholder="请选择学期类型" :disabled="!isAdd" style="width: 100%"> <el-select v-model="form.xq" placeholder="请选择学期类型" :disabled="!isAdd" style="width: 100%">
<el-option v-for="item in semesterOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in semesterOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -132,44 +113,37 @@
<el-row :gutter="14"> <el-row :gutter="14">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开学日期" prop="kxrq"> <el-form-item label="开学日期" prop="kxrq">
<el-date-picker <el-date-picker v-model="form.kxrq" type="date" placeholder="开学日期" value-format="yyyy-MM-dd"
v-model="form.kxrq" style="width: 100%" />
type="date"
placeholder="开学日期"
value-format="yyyy-MM-dd"
style="width: 100%"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结束日期" prop="jsrq"> <el-form-item label="结束日期" prop="jsrq">
<el-date-picker <el-date-picker v-model="form.jsrq" type="date" placeholder="结束日期" value-format="yyyy-MM-dd"
v-model="form.jsrq" style="width: 100%" />
type="date"
placeholder="结束日期"
value-format="yyyy-MM-dd"
style="width: 100%"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="14"> <el-row :gutter="14">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学期周数" prop="sdzs"> <el-form-item label="学期周数" prop="sdzs">
<el-input-number v-model="form.sdzs" :min="1" :max="60" controls-position="right" style="width: 100%" /> <el-input-number v-model="form.sdzs" :min="1" :max="60" controls-position="right"
style="width: 100%" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="课时系数方案" prop="ksxsfabh"> <el-form-item label="课时系数方案" prop="ksxsfabh">
<el-select v-model="form.ksxsfabh" placeholder="请选择" clearable style="width: 100%"> <el-select v-model="form.ksxsfabh" placeholder="请选择" clearable style="width: 100%">
<el-option v-for="item in coefficientOptions" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in coefficientOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="锁定时长"> <el-form-item label="锁定时长">
<div class="lock-group"> <div class="lock-group">
<el-input-number v-model="form.lockValue" :min="0" :max="99" controls-position="right" style="width: 120px" /> <el-input-number v-model="form.lockValue" :min="0" :max="99" controls-position="right"
style="width: 120px" />
<el-radio-group v-model="form.lockUnit" class="lock-unit" style="margin-left: 28px"> <el-radio-group v-model="form.lockUnit" class="lock-unit" style="margin-left: 28px">
<el-radio label="周"></el-radio> <el-radio label="周"></el-radio>
<el-radio label="月"></el-radio> <el-radio label="月"></el-radio>
@@ -195,7 +169,9 @@
<div class="switch-item"> <div class="switch-item">
<el-checkbox v-model="form.tkbsp">调课不审批</el-checkbox> <el-checkbox v-model="form.tkbsp">调课不审批</el-checkbox>
<div class="switch-tip">设定调课不审批在教学信息系统中调课时如果只是更改教员或更改授课地点调课申请会立即生效而对于改变授课地点调课申请会立即生效而对于改变授课时间增加或减少授课教员的调课申请依然不受该设置影响依然需要逐级审批后才能生效</div> <div class="switch-tip">
设定调课不审批在教学信息系统中调课时如果只是更改教员或更改授课地点调课申请会立即生效而对于改变授课地点调课申请会立即生效而对于改变授课时间增加或减少授课教员的调课申请依然不受该设置影响依然需要逐级审批后才能生效
</div>
</div> </div>
<div class="switch-item"> <div class="switch-item">
@@ -236,6 +212,8 @@ export default {
semesterList: [], semesterList: [],
// 选中的学期数组 // 选中的学期数组
ids: [], ids: [],
// 当前点击选中的学期
currentSemester: null,
// 非单个禁用 // 非单个禁用
single: true, single: true,
// 非多个禁用 // 非多个禁用
@@ -358,6 +336,10 @@ export default {
this.single = selection.length !== 1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 单击行选中变化:记录当前选中的学期,用于启用「编辑校历」 */
handleCurrentChange(currentRow) {
this.currentSemester = currentRow || null
},
/** 组装提交数据 */ /** 组装提交数据 */
buildPayload(form) { buildPayload(form) {
const lockValue = form.lockValue !== undefined && form.lockValue !== null ? form.lockValue : '' const lockValue = form.lockValue !== undefined && form.lockValue !== null ? form.lockValue : ''
@@ -423,13 +405,13 @@ export default {
this.title = "学期信息 - 编辑" this.title = "学期信息 - 编辑"
}).catch(() => { }) }).catch(() => { })
}, },
/** 编辑校历按钮 */ /** 编辑校历按钮:对当前选中的学期编辑校历 */
handleEditCalendar(row) { handleEditCalendar() {
const nd = row && row.nd ? row.nd : this.ids[0] const row = this.currentSemester
if (!nd) return if (!row || !row.nd) return
this.$router.push({ this.$router.push({
path: '/teachBusiness/semester/semesterCalendar', path: '/teachBusiness/semester/semesterCalendar',
query: { nd: nd, name: this.getSemesterName(nd) } query: { nd: row.nd, name: this.getSemesterName(row.nd) }
}) })
}, },
/** 删除按钮 */ /** 删除按钮 */
@@ -90,14 +90,6 @@
<el-link type="primary" :underline="false" class="nav-link" @click="handleNextWeek3">下一周</el-link> <el-link type="primary" :underline="false" class="nav-link" @click="handleNextWeek3">下一周</el-link>
</div> </div>
<el-alert
class="mb8"
type="info"
:closable="false"
show-icon
title="说明:后端教学实施计划课次接口未返回课程类型字段,无法按三实课类型筛选,当前展示本周全部教学实施计划课次。"
/>
<!-- 三实表格 --> <!-- 三实表格 -->
<div class="table-card"> <div class="table-card">
<el-table :data="practiceList" v-loading="practiceLoading" stripe border> <el-table :data="practiceList" v-loading="practiceLoading" stripe border>