forked from liweijie/education
Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -124,13 +124,21 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 表格横向拖拽滚动:拖拽过程中光标切换为“抓手”
|
// 表格横向拖拽滚动:拖拽过程中光标保持默认箭头,不切换为“抓手”
|
||||||
.el-table__body-wrapper.is-dragging,
|
.el-table__body-wrapper.is-dragging,
|
||||||
.el-table__fixed-body-wrapper.is-dragging {
|
.el-table__fixed-body-wrapper.is-dragging {
|
||||||
cursor: grabbing;
|
cursor: default;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 表格横拖期间锁定整页光标与文本选中:
|
||||||
|
避免光标划过按钮/链接时闪变成手型、以及拖拽过程误选中文字 */
|
||||||
|
body.el-table-dragging,
|
||||||
|
body.el-table-dragging * {
|
||||||
|
user-select: none !important;
|
||||||
|
cursor: default !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* 原生表格同样禁止选中文本,避免横向滑动/滚动时误触发复制前的文本选中 */
|
/* 原生表格同样禁止选中文本,避免横向滑动/滚动时误触发复制前的文本选中 */
|
||||||
table {
|
table {
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
|
|||||||
@@ -3,15 +3,18 @@
|
|||||||
* 隐藏表格的横向滚动条,按住鼠标左键横向拖动即可查看后面的字段。
|
* 隐藏表格的横向滚动条,按住鼠标左键横向拖动即可查看后面的字段。
|
||||||
* 通过 document 事件委托全局生效,所有 el-table 自动支持,无需逐页绑定。
|
* 通过 document 事件委托全局生效,所有 el-table 自动支持,无需逐页绑定。
|
||||||
*
|
*
|
||||||
* 手感优化:
|
* 实现要点(全面优化):
|
||||||
* - 文本选中已在全局样式中禁用(user-select: none),拖拽过程不会再误选文字
|
* - 采用 Pointer Events + setPointerCapture:按下瞬间把指针捕获到滚动容器上,
|
||||||
* - 位移以横向为主且超过阈值才触发滚动,轻微手抖、普通点击、纵向拖拽(如行排序)不受影响
|
* 之后无论光标移动到固定列、表格下方还是窗口外,移动事件都不会中断,真正"跟手"。
|
||||||
* - 光标仅在真正拖动时变为抓手,平时保持默认
|
* - requestAnimationFrame 合并每帧滚动,避免高频事件造成卡顿/闪烁。
|
||||||
* - 拖拽结束(确实发生了滚动)后屏蔽本次 click,避免误触发行点击、复选框等
|
* - 横向位移超过阈值即触发,允许轻微斜向/弧线;仅当纵向明显占优时才不触发,
|
||||||
|
* 保留普通点击与纵向拖拽(如行排序)的区分。
|
||||||
|
* - 拖拽期间整页锁定光标与文本选中,光标保持默认箭头,不闪变为抓手/手型。
|
||||||
|
* - 拖拽结束(确实发生了滚动)后屏蔽本次 click,避免误触发行点击、复选框等。
|
||||||
*/
|
*/
|
||||||
const DRAG_THRESHOLD = 4 // 横向位移超过该像素且以横向为主,才判定为拖动
|
const DRAG_THRESHOLD = 2 // 横向位移超过该像素即判定为拖动,越小越跟手
|
||||||
|
|
||||||
// 在这些元素上按下鼠标不触发拖拽,保证按钮、复选框等交互不受影响
|
// 在这些元素上按下不触发拖拽,保证按钮、复选框等交互不受影响
|
||||||
const INTERACTIVE_SELECTOR = [
|
const INTERACTIVE_SELECTOR = [
|
||||||
'a', 'button', 'input', 'textarea', 'select', 'label',
|
'a', 'button', 'input', 'textarea', 'select', 'label',
|
||||||
'.el-button', '.el-checkbox', '.el-radio', '.el-switch', '.el-select',
|
'.el-button', '.el-checkbox', '.el-radio', '.el-switch', '.el-select',
|
||||||
@@ -20,77 +23,112 @@ const INTERACTIVE_SELECTOR = [
|
|||||||
].join(',')
|
].join(',')
|
||||||
|
|
||||||
let wrapper = null
|
let wrapper = null
|
||||||
|
let pointerId = null
|
||||||
let startX = 0
|
let startX = 0
|
||||||
let startY = 0
|
let startY = 0
|
||||||
let startScrollLeft = 0
|
let startScrollLeft = 0
|
||||||
let dragging = false
|
let dragging = false
|
||||||
|
let rafId = null
|
||||||
|
let pendingScrollLeft = 0
|
||||||
|
|
||||||
function isHorizontallyScrollable(el) {
|
function isHorizontallyScrollable(el) {
|
||||||
return el.scrollWidth > el.clientWidth + 1
|
return el.scrollWidth > el.clientWidth + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleMouseDown(e) {
|
// 每帧只应用一次滚动位置,提升平滑度
|
||||||
if (e.button !== 0) return
|
function applyScroll() {
|
||||||
|
if (!wrapper) return
|
||||||
|
wrapper.scrollLeft = pendingScrollLeft
|
||||||
|
rafId = null
|
||||||
|
}
|
||||||
|
|
||||||
|
function handlePointerDown(e) {
|
||||||
|
if (e.button !== 0 && e.pointerType === 'mouse') return
|
||||||
if (e.target.closest(INTERACTIVE_SELECTOR)) return
|
if (e.target.closest(INTERACTIVE_SELECTOR)) return
|
||||||
const wrap = e.target.closest('.el-table__body-wrapper')
|
// 固定列(如 fixed="right" 的操作列)渲染在 .el-table__fixed-body-wrapper 中,悬浮覆盖在
|
||||||
|
// 表体右侧,需一并识别;最终统一落到真正负责横向滚动的 .el-table__body-wrapper 上
|
||||||
|
const anyWrapper = e.target.closest('.el-table__body-wrapper, .el-table__fixed-body-wrapper')
|
||||||
|
if (!anyWrapper) return
|
||||||
|
const table = anyWrapper.closest('.el-table')
|
||||||
|
const wrap = table && table.querySelector('.el-table__body-wrapper')
|
||||||
if (!wrap || !isHorizontallyScrollable(wrap)) return
|
if (!wrap || !isHorizontallyScrollable(wrap)) return
|
||||||
|
|
||||||
wrapper = wrap
|
wrapper = wrap
|
||||||
|
pointerId = e.pointerId
|
||||||
startX = e.clientX
|
startX = e.clientX
|
||||||
startY = e.clientY
|
startY = e.clientY
|
||||||
startScrollLeft = wrap.scrollLeft
|
startScrollLeft = wrap.scrollLeft
|
||||||
|
pendingScrollLeft = startScrollLeft
|
||||||
dragging = false
|
dragging = false
|
||||||
|
|
||||||
|
// 关键:捕获指针,之后所有 pointermove/pointerup 都持续派发到容器,
|
||||||
|
// 即使光标移出表体/窗口也不中断
|
||||||
|
if (wrap.setPointerCapture && e.pointerId != null) {
|
||||||
|
try { wrap.setPointerCapture(e.pointerId) } catch (err) { /* 忽略捕获失败 */ }
|
||||||
|
}
|
||||||
|
// 阻止默认行为,抑制原生图片/文本拖拽与选中
|
||||||
|
e.preventDefault()
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleMouseMove(e) {
|
function handlePointerMove(e) {
|
||||||
if (!wrapper) return
|
if (!wrapper || e.pointerId !== pointerId) return
|
||||||
|
e.preventDefault()
|
||||||
const dx = e.clientX - startX
|
const dx = e.clientX - startX
|
||||||
const dy = e.clientY - startY
|
const dy = e.clientY - startY
|
||||||
|
|
||||||
if (!dragging) {
|
if (!dragging) {
|
||||||
// 轻微位移视为点击,不触发滚动;位移必须以横向为主,避免与纵向拖拽(如行排序)冲突
|
// 仅当纵向明显占优(超过横向 3 倍且超过 12px)才判定为纵向操作、不触发横向拖动,
|
||||||
if (Math.abs(dx) <= DRAG_THRESHOLD || Math.abs(dx) <= Math.abs(dy)) return
|
// 其余情况(含轻微斜向/弧线)都正常触发,避免"拖不动"
|
||||||
// 开始拖动:以当前位置为基准,避免起始跳变
|
if (Math.abs(dx) <= DRAG_THRESHOLD || (Math.abs(dy) > Math.abs(dx) * 3 && Math.abs(dy) > 12)) return
|
||||||
dragging = true
|
dragging = true
|
||||||
startX = e.clientX
|
|
||||||
startY = e.clientY
|
|
||||||
startScrollLeft = wrapper.scrollLeft
|
|
||||||
wrapper.classList.add('is-dragging')
|
wrapper.classList.add('is-dragging')
|
||||||
}
|
// 整页锁定光标与文本选中,保证拖拽手感一致(光标不闪变、文字不误选)
|
||||||
e.preventDefault()
|
document.body.classList.add('el-table-dragging')
|
||||||
wrapper.scrollLeft = startScrollLeft - (e.clientX - startX)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleMouseUp() {
|
// 记录目标位置,交由 rAF 统一应用
|
||||||
|
pendingScrollLeft = startScrollLeft - (e.clientX - startX)
|
||||||
|
if (rafId == null) rafId = requestAnimationFrame(applyScroll)
|
||||||
|
}
|
||||||
|
|
||||||
|
function endDrag(blockClick) {
|
||||||
if (!wrapper) return
|
if (!wrapper) return
|
||||||
|
if (rafId != null) {
|
||||||
|
cancelAnimationFrame(rafId)
|
||||||
|
rafId = null
|
||||||
|
}
|
||||||
wrapper.classList.remove('is-dragging')
|
wrapper.classList.remove('is-dragging')
|
||||||
if (dragging) {
|
document.body.classList.remove('el-table-dragging')
|
||||||
|
if (blockClick && dragging) {
|
||||||
// 拖拽确实发生了滚动,屏蔽本次 click,避免误触发行点击、复选框等
|
// 拖拽确实发生了滚动,屏蔽本次 click,避免误触发行点击、复选框等
|
||||||
const blockClick = (ev) => {
|
const suppress = (ev) => {
|
||||||
ev.preventDefault()
|
ev.preventDefault()
|
||||||
ev.stopPropagation()
|
ev.stopPropagation()
|
||||||
document.removeEventListener('click', blockClick, true)
|
document.removeEventListener('click', suppress, true)
|
||||||
}
|
}
|
||||||
document.addEventListener('click', blockClick, true)
|
document.addEventListener('click', suppress, true)
|
||||||
}
|
}
|
||||||
wrapper = null
|
wrapper = null
|
||||||
|
pointerId = null
|
||||||
dragging = false
|
dragging = false
|
||||||
}
|
}
|
||||||
|
|
||||||
// 鼠标拖出窗口外时清理拖拽状态,防止状态残留
|
function handlePointerUp(e) {
|
||||||
function handleMouseLeave() {
|
if (e.pointerId !== pointerId) return
|
||||||
if (!wrapper) return
|
endDrag(true)
|
||||||
wrapper.classList.remove('is-dragging')
|
}
|
||||||
wrapper = null
|
|
||||||
dragging = false
|
function handlePointerCancel() {
|
||||||
|
endDrag(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
const install = function() {
|
const install = function() {
|
||||||
if (install.installed) return
|
if (install.installed) return
|
||||||
install.installed = true
|
install.installed = true
|
||||||
document.addEventListener('mousedown', handleMouseDown, false)
|
document.addEventListener('pointerdown', handlePointerDown, true)
|
||||||
document.addEventListener('mousemove', handleMouseMove, false)
|
document.addEventListener('pointermove', handlePointerMove, true)
|
||||||
document.addEventListener('mouseup', handleMouseUp, false)
|
document.addEventListener('pointerup', handlePointerUp, true)
|
||||||
document.addEventListener('mouseleave', handleMouseLeave, false)
|
document.addEventListener('pointercancel', handlePointerCancel, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default install
|
export default install
|
||||||
|
|||||||
@@ -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) }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/** 删除按钮 */
|
/** 删除按钮 */
|
||||||
|
|||||||
@@ -60,9 +60,9 @@
|
|||||||
<span>无数据!</span>
|
<span>无数据!</span>
|
||||||
</template>
|
</template>
|
||||||
<el-table-column type="index" label="序号" width="70" align="center" />
|
<el-table-column type="index" label="序号" width="70" align="center" />
|
||||||
<el-table-column prop="bh" label="编号" width="200" align="center" show-overflow-tooltip />
|
<el-table-column prop="bh" label="编号" width="100" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="rwmc" label="任务名称" min-width="160" align="left" header-align="center" show-overflow-tooltip />
|
<el-table-column prop="rwmc" label="任务名称" width="250" align="left" header-align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="nd" label="年度" width="90" align="center" />
|
<el-table-column prop="nd" label="年度" width="150" align="center" />
|
||||||
<el-table-column label="状态" width="100" align="center">
|
<el-table-column label="状态" width="100" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-tag :type="row.zt === '发布' ? 'success' : 'info'" size="small">
|
<el-tag :type="row.zt === '发布' ? 'success' : 'info'" size="small">
|
||||||
@@ -70,11 +70,11 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="fbsj" label="发布时间" width="150" align="center" :formatter="fmtDateTime" />
|
<el-table-column prop="fbsj" label="发布时间" width="200" align="center" :formatter="fmtDateTime" />
|
||||||
<el-table-column prop="jssj" label="结束时间" width="150" align="center" :formatter="fmtDateTime" />
|
<el-table-column prop="jssj" label="结束时间" width="200" align="center" :formatter="fmtDateTime" />
|
||||||
<el-table-column prop="cjsj" label="创建时间" width="150" align="center" :formatter="fmtDateTime" />
|
<el-table-column prop="cjsj" label="创建时间" width="200" align="center" :formatter="fmtDateTime" />
|
||||||
<el-table-column prop="jcxqscsj" label="教材需求生成时间" width="170" align="center" :formatter="fmtDateTime" />
|
<el-table-column prop="jcxqscsj" label="教材需求生成时间" width="200" align="center" :formatter="fmtDateTime" />
|
||||||
<el-table-column label="操作" width="80" align="center" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-button type="text" size="small" @click="handleDetail(row)">详情</el-button>
|
<el-button type="text" size="small" @click="handleDetail(row)">详情</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
<div class="page-container">
|
<div class="page-container">
|
||||||
<!-- 统计卡片 -->
|
<!-- 统计卡片 -->
|
||||||
<div class="section-card">
|
<div class="section-card">
|
||||||
<div class="section-title">调课申请统计(当前页)</div>
|
|
||||||
<div class="stat-grid">
|
<div class="stat-grid">
|
||||||
<div
|
<div
|
||||||
v-for="card in statCards"
|
v-for="card in statCards"
|
||||||
@@ -54,21 +53,21 @@
|
|||||||
|
|
||||||
<el-table :data="tableData" v-loading="loading" size="small" border stripe class="compact-table" max-height="520">
|
<el-table :data="tableData" v-loading="loading" size="small" border stripe class="compact-table" max-height="520">
|
||||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||||
<el-table-column prop="kcmc" label="课程名称" min-width="140" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="kcmc" label="课程名称" width="200" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column label="申请教员" min-width="110" align="center" show-overflow-tooltip>
|
<el-table-column label="申请教员" width="150" align="center" show-overflow-tooltip>
|
||||||
<template slot-scope="scope">{{ scope.row.sqjyxm || scope.row.sqjybh || '-' }}</template>
|
<template slot-scope="scope">{{ scope.row.sqjyxm || scope.row.sqjybh || '-' }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="sy" label="调课事由" min-width="180" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="sy" label="调课事由" width="230" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column label="拟调整时间" width="170" align="center" show-overflow-tooltip>
|
<el-table-column label="拟调整时间" width="200" align="center" show-overflow-tooltip>
|
||||||
<template slot-scope="scope">{{ fmtRqJc(scope.row.rq, scope.row.jc) }}</template>
|
<template slot-scope="scope">{{ fmtRqJc(scope.row.rq, scope.row.jc) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="nd" label="年度" width="80" align="center" />
|
<el-table-column prop="nd" label="年度" width="150" align="center" />
|
||||||
<el-table-column label="教研室审批状态" width="110" align="center">
|
<el-table-column label="教研室审批状态" width="150" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag :type="auditStatusTag(scope.row.jyspzzt).type" size="mini">{{ auditStatusTag(scope.row.jyspzzt).label }}</el-tag>
|
<el-tag :type="auditStatusTag(scope.row.jyspzzt).type" size="mini">{{ auditStatusTag(scope.row.jyspzzt).label }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="教研室查收状态" width="100" align="center">
|
<el-table-column label="教研室查收状态" width="150" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag :type="receiveStatusTag(scope.row.jyscszt).type" size="mini">{{ receiveStatusTag(scope.row.jyscszt).label }}</el-tag>
|
<el-tag :type="receiveStatusTag(scope.row.jyscszt).type" size="mini">{{ receiveStatusTag(scope.row.jyscszt).label }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
@@ -76,7 +75,7 @@
|
|||||||
<el-table-column label="创建时间" width="150" align="center">
|
<el-table-column label="创建时间" width="150" align="center">
|
||||||
<template slot-scope="scope">{{ fmtDateTime(scope.row.cjsj) }}</template>
|
<template slot-scope="scope">{{ fmtDateTime(scope.row.cjsj) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="210" align="center" fixed="right">
|
<el-table-column label="操作" width="180" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="ops-cell">
|
<div class="ops-cell">
|
||||||
<el-button type="text" size="mini" icon="el-icon-view" @click="openDetail(scope.row)">详情</el-button>
|
<el-button type="text" size="mini" icon="el-icon-view" @click="openDetail(scope.row)">详情</el-button>
|
||||||
|
|||||||
@@ -6,22 +6,22 @@
|
|||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :xs="24" :md="8">
|
<el-col :xs="24" :md="8">
|
||||||
<el-form-item label="专业名称">
|
<el-form-item label="专业名称">
|
||||||
<el-input v-model="searchForm.zymc" placeholder="请输入专业名称(模糊)" clearable />
|
<el-input v-model="searchForm.zymc" placeholder="请输入专业名称" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :md="8">
|
<el-col :xs="24" :md="8">
|
||||||
<el-form-item label="专业代码">
|
<el-form-item label="专业代码">
|
||||||
<el-input v-model="searchForm.zydm" placeholder="请输入专业代码(模糊)" clearable />
|
<el-input v-model="searchForm.zydm" placeholder="请输入专业代码" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :md="8">
|
<el-col :xs="24" :md="8">
|
||||||
<el-form-item label="培训类型">
|
<el-form-item label="培训类型">
|
||||||
<el-input v-model="searchForm.pxlx" placeholder="请输入培训类型(精确)" clearable />
|
<el-input v-model="searchForm.pxlx" placeholder="请输入培训类型" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :md="8">
|
<el-col :xs="24" :md="8">
|
||||||
<el-form-item label="培训层次">
|
<el-form-item label="培训层次">
|
||||||
<el-input v-model="searchForm.pxcc" placeholder="请输入培训层次(精确)" clearable />
|
<el-input v-model="searchForm.pxcc" placeholder="请输入培训层次" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :md="8">
|
<el-col :xs="24" :md="8">
|
||||||
@@ -65,17 +65,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-table v-loading="loading" :data="tableData" border stripe highlight-current-row>
|
<el-table v-loading="loading" :data="tableData" border stripe highlight-current-row>
|
||||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||||
<el-table-column prop="zydh" label="专业代号" min-width="120" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="zydh" label="专业代号" width="120" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="zymc" label="专业名称" min-width="140" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="zymc" label="专业名称" width="140" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="zyfx" label="专业方向" min-width="120" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="zyfx" label="专业方向" width="120" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="zydm" label="专业代码" min-width="110" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="zydm" label="专业代码" width="110" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="pxlx" label="培训类型" min-width="110" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="pxlx" label="培训类型" width="110" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="pxcc" label="培训层次" min-width="120" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="pxcc" label="培训层次" width="120" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="pxlx2" label="培训类型2" min-width="110" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="pxlx2" label="培训类型2" width="110" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="xylb" label="学员类别" min-width="100" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="xylb" label="学员类别" width="100" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="xnz" label="学年制" min-width="80" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="xnz" label="学年制" width="80" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="xqs" label="学期数" width="80" align="center" />
|
<el-table-column prop="xqs" label="学期数" width="80" align="center" />
|
||||||
<el-table-column prop="zybb" label="专业版本" min-width="100" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="zybb" label="专业版本" width="100" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column label="主干专业" width="90" align="center">
|
<el-table-column label="主干专业" width="90" align="center">
|
||||||
<template slot-scope="scope">{{ fmtYesNo(scope.row.zgzy) }}</template>
|
<template slot-scope="scope">{{ fmtYesNo(scope.row.zgzy) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
<el-table-column label="停用时间" width="150" align="center">
|
<el-table-column label="停用时间" width="150" align="center">
|
||||||
<template slot-scope="scope">{{ fmtDateTime(scope.row.tysj) }}</template>
|
<template slot-scope="scope">{{ fmtDateTime(scope.row.tysj) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="180" align="center" fixed="right">
|
<el-table-column label="操作" width="240" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" size="mini" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button>
|
<el-button type="text" size="mini" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button>
|
||||||
<el-button type="text" size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)">编辑</el-button>
|
<el-button type="text" size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)">编辑</el-button>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="专业代号" prop="zydh">
|
<el-form-item label="专业代号" prop="zydh">
|
||||||
<el-input v-model="dialog.form.zydh" placeholder="请输入专业代号(主键)" :disabled="dialog.isEdit" />
|
<el-input v-model="dialog.form.zydh" placeholder="请输入专业代号" :disabled="dialog.isEdit" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@@ -495,7 +495,8 @@ export default {
|
|||||||
return this.isTrue(val) ? '是' : '否'
|
return this.isTrue(val) ? '是' : '否'
|
||||||
},
|
},
|
||||||
fmtDateTime(val) {
|
fmtDateTime(val) {
|
||||||
return (val || '').substring(0, 19) || '-'
|
const s = (val || '').substring(0, 10)
|
||||||
|
return s || '-'
|
||||||
},
|
},
|
||||||
fmtVal(val) {
|
fmtVal(val) {
|
||||||
return val === '' || val === null || val === undefined ? '-' : val
|
return val === '' || val === null || val === undefined ? '-' : val
|
||||||
|
|||||||
@@ -55,11 +55,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-table v-loading="loading" :data="tableData" border stripe highlight-current-row>
|
<el-table v-loading="loading" :data="tableData" border stripe highlight-current-row>
|
||||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||||
<el-table-column prop="jsbh" label="教室编号" min-width="120" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="jsbh" label="教室编号" width="130" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="jsmc" label="教室名称" min-width="140" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="jsmc" label="教室名称" width="140" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="jxldh" label="教学楼代号" min-width="110" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="jxldh" label="教学楼代号" width="150" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="jxcdlx" label="教学场地类型" min-width="120" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="jxcdlx" label="教学场地类型" width="150" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="jc" label="简称" min-width="90" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="jc" label="简称" width="100" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column prop="rnrs" label="容纳人数" width="90" align="center" />
|
<el-table-column prop="rnrs" label="容纳人数" width="90" align="center" />
|
||||||
<el-table-column prop="mj" label="面积" width="90" align="center" />
|
<el-table-column prop="mj" label="面积" width="90" align="center" />
|
||||||
<el-table-column prop="ksrnrs" label="考试容纳人数" width="110" align="center" />
|
<el-table-column prop="ksrnrs" label="考试容纳人数" width="110" align="center" />
|
||||||
@@ -74,8 +74,8 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="sssb" label="设施设备" min-width="140" show-overflow-tooltip header-align="center" />
|
<el-table-column prop="sssb" label="设施设备" width="140" show-overflow-tooltip header-align="center" />
|
||||||
<el-table-column label="操作" width="140" align="center" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)">编辑</el-button>
|
<el-button type="text" size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)">编辑</el-button>
|
||||||
<el-button type="text" size="mini" icon="el-icon-delete" class="danger-text-btn" @click="handleDelete(scope.row)">删除</el-button>
|
<el-button type="text" size="mini" icon="el-icon-delete" class="danger-text-btn" @click="handleDelete(scope.row)">删除</el-button>
|
||||||
@@ -100,11 +100,6 @@
|
|||||||
:close-on-click-modal="false">
|
:close-on-click-modal="false">
|
||||||
<el-form ref="classroomForm" :model="dialog.form" :rules="rules" label-width="110px">
|
<el-form ref="classroomForm" :model="dialog.form" :rules="rules" label-width="110px">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="主键编号" prop="id">
|
|
||||||
<el-input v-model="dialog.form.id" placeholder="请输入主键编号" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="教室编号" prop="jsbh">
|
<el-form-item label="教室编号" prop="jsbh">
|
||||||
<el-input v-model="dialog.form.jsbh" placeholder="请输入教室编号" />
|
<el-input v-model="dialog.form.jsbh" placeholder="请输入教室编号" />
|
||||||
@@ -230,7 +225,6 @@ export default {
|
|||||||
form: this.createEmptyForm()
|
form: this.createEmptyForm()
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
id: [{ required: true, message: '请输入主键编号', trigger: 'blur' }],
|
|
||||||
jsbh: [{ required: true, message: '请输入教室编号', trigger: 'blur' }],
|
jsbh: [{ required: true, message: '请输入教室编号', trigger: 'blur' }],
|
||||||
jsmc: [{ required: true, message: '请输入教室名称', trigger: 'blur' }]
|
jsmc: [{ required: true, message: '请输入教室名称', trigger: 'blur' }]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,26 +50,26 @@
|
|||||||
@selection-change="handleSelectionChange">
|
@selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="50" align="center" />
|
<el-table-column type="selection" width="50" align="center" />
|
||||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||||
<el-table-column prop="jybh" label="教员工号" min-width="110" align="center" />
|
<el-table-column prop="jybh" label="教员工号" width="110" align="center" />
|
||||||
<el-table-column prop="jyxm" label="教员姓名" min-width="90" align="center" />
|
<el-table-column prop="jyxm" label="教员姓名" width="90" align="center" />
|
||||||
<el-table-column label="性别" min-width="60" align="center">
|
<el-table-column label="性别" width="60" align="center">
|
||||||
<template slot-scope="{ row }">{{ fmtGender(row.xb) }}</template>
|
<template slot-scope="{ row }">{{ fmtGender(row.xb) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="jysmc" label="教研室名称" min-width="120" show-overflow-tooltip />
|
<el-table-column prop="jysmc" label="教研室名称" width="200" show-overflow-tooltip align="center"/>
|
||||||
<el-table-column prop="zc" label="职称" min-width="90" align="center" />
|
<el-table-column prop="zc" label="职称" width="120" align="center" />
|
||||||
<el-table-column prop="xl" label="学历" min-width="90" align="center" />
|
<el-table-column prop="xl" label="学历" width="120" align="center" />
|
||||||
<el-table-column prop="xw" label="学位" min-width="90" align="center" />
|
<el-table-column prop="xw" label="学位" width="120" align="center" />
|
||||||
<el-table-column label="出生时间" min-width="110" align="center">
|
<el-table-column label="出生时间" width="110" align="center">
|
||||||
<template slot-scope="{ row }">{{ fmtDateTime(row.cssj) || '-' }}</template>
|
<template slot-scope="{ row }">{{ fmtDateTime(row.cssj) || '-' }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="入伍工作时间" min-width="120" align="center">
|
<el-table-column label="入伍工作时间" width="120" align="center">
|
||||||
<template slot-scope="{ row }">{{ fmtDateTime(row.rwgzsj) || '-' }}</template>
|
<template slot-scope="{ row }">{{ fmtDateTime(row.rwgzsj) || '-' }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="sjh" label="联系方式" min-width="110" align="center" />
|
<el-table-column prop="sjh" label="联系方式" width="110" align="center" />
|
||||||
<el-table-column label="虚实类型" min-width="80" align="center">
|
<el-table-column label="虚实类型" width="80" align="center">
|
||||||
<template slot-scope="{ row }">{{ fmtXslx(row.xslx) }}</template>
|
<template slot-scope="{ row }">{{ fmtXslx(row.xslx) }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="180" align="center" fixed="right">
|
<el-table-column label="操作" align="center" fixed="right">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-button type="text" size="small" icon="el-icon-view" @click="handleViewAttribute(row)">查看属性</el-button>
|
<el-button type="text" size="small" icon="el-icon-view" @click="handleViewAttribute(row)">查看属性</el-button>
|
||||||
<el-button type="text" size="small" icon="el-icon-edit" @click="handleEdit(row)">编辑</el-button>
|
<el-button type="text" size="small" icon="el-icon-edit" @click="handleEdit(row)">编辑</el-button>
|
||||||
|
|||||||
Reference in New Issue
Block a user