update:框架&智慧操场
This commit is contained in:
parent
e33ff68c5a
commit
be84942c5a
@ -1,4 +1,4 @@
|
||||
# base目录
|
||||
# base目录
|
||||
VITE_BASE_URL=/
|
||||
VITE_API_BASE=http://localhost:52356
|
||||
VITE_IMAGE_BASE_URL=http://localhost:52356
|
||||
VITE_API_BASE=http://localhost:9991
|
||||
VITE_IMAGE_BASE_URL=http://localhost:9991
|
||||
|
||||
16
src/App.vue
16
src/App.vue
@ -76,4 +76,20 @@ p {
|
||||
.el-alert--success.is-light .el-alert__description {
|
||||
color: #3baf02 !important;
|
||||
}
|
||||
|
||||
/* 弹窗/抽屉遮罩全局兜底:避免被页面容器的 transform/overflow 限制在当前内容区 */
|
||||
.el-overlay {
|
||||
position: fixed !important;
|
||||
inset: 0 !important;
|
||||
width: 100vw !important;
|
||||
height: 100vh !important;
|
||||
z-index: 3000;
|
||||
}
|
||||
|
||||
.el-overlay-dialog {
|
||||
position: fixed !important;
|
||||
inset: 0 !important;
|
||||
width: 100vw !important;
|
||||
height: 100vh !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -12,6 +12,10 @@ export function getSportsHallStudentsTestPageList(params) {
|
||||
return http.get('/api/SportsHall/GetSportsHallStudentsTestPageList', null, false, { params })
|
||||
}
|
||||
|
||||
export function getSummaryOfGradesStudentsTestPageList(params) {
|
||||
return http.get('/api/SportsHall/GetSummaryOfGradesStudentsTestPageList', null, false, { params })
|
||||
}
|
||||
|
||||
// 成绩推送
|
||||
export function scorePush(params) {
|
||||
return http.post('/api/SportsHall/ScorePush', params)
|
||||
|
||||
@ -6,8 +6,7 @@
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
:width="width"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
:before-close="handleClose" append-to-body>
|
||||
<template #title> <i :class="icon"></i> {{ title }} </template>
|
||||
<div class="dia-content" :style="{ height: contentHeight + 'px' }">
|
||||
<el-scrollbar style="flex: 1">
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog v-model="list.dialogVisible" :width="list.width" :show-close="false" :close-on-click-modal="false">
|
||||
<el-dialog v-model="list.dialogVisible" :width="list.width" :show-close="false" :close-on-click-modal="false" append-to-body>
|
||||
<template #header="{ titleId, titleClass }">
|
||||
<div class="my-header">
|
||||
<img src="@/assets/images/allImg/dialog.png" alt="">
|
||||
|
||||
@ -169,7 +169,7 @@
|
||||
padding: 0 !important;
|
||||
background: #f6f9fd !important;
|
||||
color: #344054 !important;
|
||||
font-size: 13px !important;
|
||||
font-size: 14px!important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
|
||||
@ -117,7 +117,7 @@ function goUp(row) {
|
||||
padding: 0 !important;
|
||||
background: #f6f9fd !important;
|
||||
color: #344054 !important;
|
||||
font-size: 13px !important;
|
||||
font-size: 14px!important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="upLoadStudent">
|
||||
<el-dialog v-model="propsData.visable" title="批量导入学生" :width="1200" :show-close=false>
|
||||
<el-dialog v-model="propsData.visable" title="批量导入学生" :width="1200" :show-close=false append-to-body>
|
||||
<div class="top">
|
||||
<p class="mx-1">1.上传前请先下载标准Excel模板并按照标准模板中的说明编辑文件</p>
|
||||
<p class="mx-1">2.一次最多上传10000行数据,文件大小不能超过10M</p>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="upLoadStudentFace">
|
||||
<el-dialog v-model="propsData.visable" title="批量导入学生" :width="1200" :show-close=false>
|
||||
<el-dialog v-model="propsData.visable" title="批量导入学生" :width="1200" :show-close=false append-to-body>
|
||||
<div class="top">
|
||||
<p class="mx-1">1.上传前请将每张图片命名为<h3>学籍号</h3>,如:<span style="color:#A1CCFF">Student_0001</span>
|
||||
</p>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="upLoadStudent">
|
||||
<el-dialog v-model="propsData.visable" title="批量导入学生" :width="1200" :show-close=false>
|
||||
<el-dialog v-model="propsData.visable" title="批量导入学生" :width="1200" :show-close=false append-to-body>
|
||||
<div class="top">
|
||||
<p class="mx-1">1.上传前请先下载标准Excel模板并按照标准模板中的说明编辑文件</p>
|
||||
<p class="mx-1">2.一次最多上传10000行数据,文件大小不能超过10M</p>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<commonManage>
|
||||
<div style="padding: 16px;">
|
||||
<commonManage>
|
||||
<div class="head">
|
||||
<div class="left">
|
||||
<p class="desctipt">姓名:</p>
|
||||
@ -72,6 +73,7 @@
|
||||
/>
|
||||
</div>
|
||||
</commonManage>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted } from "vue";
|
||||
|
||||
@ -110,12 +110,12 @@
|
||||
</div>
|
||||
|
||||
<!-- 训练记录弹窗 -->
|
||||
<el-dialog v-model="showTrainingDialog" title="训练记录" width="90%" top="5vh" destroy-on-close>
|
||||
<el-dialog v-model="showTrainingDialog" title="训练记录" width="90%" top="5vh" destroy-on-close append-to-body>
|
||||
<TrainingRecords v-if="showTrainingDialog" />
|
||||
</el-dialog>
|
||||
|
||||
<!-- 体测记录弹窗 -->
|
||||
<el-dialog v-model="showPhysicalDialog" title="体测记录" width="90%" top="5vh" destroy-on-close>
|
||||
<el-dialog v-model="showPhysicalDialog" title="体测记录" width="90%" top="5vh" destroy-on-close append-to-body>
|
||||
<ExaminationRecords v-if="showPhysicalDialog" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
@ -120,7 +120,7 @@
|
||||
|
||||
<!-- 详情弹窗 -->
|
||||
<el-dialog v-model="detailDialog.visible" title="体测数据详情" width="900px" :close-on-click-modal="false"
|
||||
destroy-on-close>
|
||||
destroy-on-close append-to-body>
|
||||
<div class="detailContent" v-loading="detailDialog.loading">
|
||||
<!-- 基本信息 -->
|
||||
<div class="sectionTitle">基本信息</div>
|
||||
|
||||
@ -1328,7 +1328,7 @@ function edits(e) {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -1416,7 +1416,7 @@ function edits(e) {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -453,7 +453,7 @@ function exportData() {
|
||||
height: 89vh;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
</commonManage>
|
||||
|
||||
<!-- 文章详情弹窗 -->
|
||||
<el-dialog v-model="data.detailDialog.show" title="文章详情" width="50%" :close-on-click-modal="false">
|
||||
<el-dialog v-model="data.detailDialog.show" title="文章详情" width="50%" :close-on-click-modal="false" append-to-body>
|
||||
<div class="article-detail">
|
||||
<h2 class="article-title">{{ data.detailDialog.article.title }}</h2>
|
||||
<div class="article-meta">
|
||||
@ -62,7 +62,7 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 新增文章弹窗 -->
|
||||
<el-drawer v-model="data.addDialog.show" direction="rtl" size="50%" :close-on-click-modal="false" :show-close="false">
|
||||
<el-drawer v-model="data.addDialog.show" direction="rtl" size="50%" :close-on-click-modal="false" :show-close="false" append-to-body>
|
||||
<template #header>
|
||||
<p class="title">新增文章</p>
|
||||
</template>
|
||||
@ -98,7 +98,7 @@
|
||||
</el-drawer>
|
||||
|
||||
<!-- 删除确认弹窗 -->
|
||||
<el-dialog v-model="data.deleteDialog.show" title="提示" width="30%" :close-on-click-modal="false">
|
||||
<el-dialog v-model="data.deleteDialog.show" title="提示" width="30%" :close-on-click-modal="false" append-to-body>
|
||||
<span>确定要删除该文章吗?</span>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
|
||||
@ -1,8 +1,16 @@
|
||||
<template>
|
||||
<div style="height: 4px;"></div>
|
||||
<commonManage>
|
||||
<div v-if="!props.embeddedInSummary" style="height: 4px;"></div>
|
||||
<commonManage :class="{ 'summary-body-side': props.embeddedInSummary }">
|
||||
<div class="head">
|
||||
<div class="left">
|
||||
<div class="one">
|
||||
<p class="desctipt">测试类别:</p>
|
||||
<!-- <el-input v-model="data.CategoryId" class="m-2" placeholder="请输入测试类别" /> -->
|
||||
<el-select v-model="data.CategoryId" class="m-2" clearable>
|
||||
<el-option v-for="item in data.CategoryList" :key="item.id" :label="item.categoryName"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="one">
|
||||
<p class="desctipt">老师:</p>
|
||||
<!-- <el-input v-model="data.TeacherId" class="m-2" placeholder="请输入老师名称" /> -->
|
||||
@ -11,9 +19,8 @@
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="one">
|
||||
<!-- <div class="one">
|
||||
<p class="desctipt">年级:</p>
|
||||
<!-- <el-input v-model="data.GradeId" class="m-2" placeholder="请输入年级id" /> -->
|
||||
<el-select v-model="data.GradeId" class="m-2" clearable>
|
||||
<el-option v-for="item in data.GradeData" :key="item.id" :label="item.gradeName"
|
||||
:value="item.id" />
|
||||
@ -22,10 +29,8 @@
|
||||
<div class="one">
|
||||
<p class="desctipt">班级:</p>
|
||||
<el-input v-model="data.ClassId" class="m-2" placeholder="请输入班级" />
|
||||
<!-- <el-select v-model="data.ClassId" class="m-2">
|
||||
<el-option v-for="item in data.ClassData" :key="item.id" :label="item.gradeName" :value="item.id" />
|
||||
</el-select> -->
|
||||
</div>
|
||||
|
||||
</div> -->
|
||||
<div class="one">
|
||||
<p class="desctipt">学生学号:</p>
|
||||
<el-input v-model="data.StudentNo" class="m-2" placeholder="请输入学生学号" />
|
||||
@ -36,53 +41,54 @@
|
||||
<el-option v-for="item in data.sexData" :key="item.id" :label="item.label" :value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="one">
|
||||
<p class="desctipt">测试类别:</p>
|
||||
<!-- <el-input v-model="data.CategoryId" class="m-2" placeholder="请输入测试类别" /> -->
|
||||
<el-select v-model="data.CategoryId" class="m-2" clearable>
|
||||
<el-option v-for="item in data.CategoryList" :key="item.id" :label="item.categoryName"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="right" :class="{ btn: props.embeddedInSummary }">
|
||||
<p v-for="(item, index) in toolbarButtons" :key="index" :class="item.className"
|
||||
@click="btnClick(item.engName)">
|
||||
{{ item.chinName }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<p v-for="(item, index) in handelData" :key="index" :class="item.className" @click="btnClick(item.engName)">
|
||||
{{ item.chinName }}</p>
|
||||
</div>
|
||||
<div class="cont">
|
||||
<el-table :data="data.tableNeed.tableData" style="width: calc(100% - 40px); min-height: 420px; height: calc(100vh - 430px); margin:0 20px;"
|
||||
fit="true"
|
||||
:header-cell-style="{ 'text-align': 'center', 'font-size': '12px', 'color': '#3F404A', padding: '3px', background: '#F8F8FA', height: '50px' }"
|
||||
:cell-style="getCellStyles" :row-style="{ height: '0px' }" @select="select" @select-all="select">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column fixed prop="ind" label="序号" />
|
||||
<el-table-column prop="teacherId" label="老师" width="120" />
|
||||
<!-- <el-table-column prop="gradeId" label="年级" width="120" /> -->
|
||||
<!-- <el-table-column prop="categoryId" label="测试类别" width="120" /> -->
|
||||
<el-table-column prop="gradeName" label="年级名称" width="120" />
|
||||
<!-- <el-table-column prop="classId" label="班级" width="120"/> -->
|
||||
<el-table-column prop="className" label="班级名称" />
|
||||
<el-table-column prop="studentNo" label="学生学号" width="120" />
|
||||
<el-table-column prop="sex" label="性别" width="120" />
|
||||
<el-table-column prop="categoryName" label="测试类别" width="120" />
|
||||
<el-table-column prop="value" label="测试结果" width="120" />
|
||||
<el-table-column prop="motionDuration" label="运动时长/分钟" width="120" />
|
||||
<el-table-column prop="consumption" label="运动消耗" width="120" />
|
||||
<el-table-column prop="strength" label="运动强度" width="120" />
|
||||
<el-table-column prop="score" label="得分" width="120" />
|
||||
<el-table-column prop="rank" label="等级" width="120" />
|
||||
<el-table-column prop="classRank" label="班级排名" width="120" />
|
||||
<el-table-column prop="remarks" label="备注" />
|
||||
</el-table>
|
||||
<!-- <el-pagination :page-size="data.tableNeed.pageSize" :current-page="data.tableNeed.pageIndex"
|
||||
layout="total,prev, pager, next" :total="data.tableNeed.total" class="pageSize"
|
||||
@current-change="changePage" /> -->
|
||||
<el-pagination class="pageSize" :current-page="data.tableNeed.pageIndex"
|
||||
:page-size="data.tableNeed.pageSize" :page-sizes="[10, 50, 100, 200]"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="data.tableNeed.total"
|
||||
@size-change="handleSizeChange" @current-change="changePage" />
|
||||
<div class="cont" :class="{ 'summary-cont': props.embeddedInSummary }">
|
||||
<div :class="{ 'summary-table-card': props.embeddedInSummary }">
|
||||
<el-table :data="data.tableNeed.tableData"
|
||||
:style="props.embeddedInSummary
|
||||
? { width: '100%', minHeight: '420px', height: 'calc(100vh - 430px)', margin: '0' }
|
||||
: { width: 'calc(100% - 40px)', minHeight: '420px', height: 'calc(100vh - 430px)', margin: '0 20px' }" fit="true"
|
||||
:header-cell-style="{ 'text-align': 'center', 'font-size': '12px', 'color': '#3F404A', padding: '3px', background: '#F8F8FA', height: '50px' }"
|
||||
:cell-style="getCellStyles" :row-style="{ height: '0px' }">
|
||||
<el-table-column fixed prop="ind" label="序号" />
|
||||
<el-table-column prop="teacherId" label="老师" width="120" />
|
||||
<!-- <el-table-column prop="gradeId" label="年级" width="120" /> -->
|
||||
<!-- <el-table-column prop="categoryId" label="测试类别" width="120" /> -->
|
||||
<el-table-column prop="gradeNameAndClassName" label="年级-班级" width="160" />
|
||||
<el-table-column prop="studentNo" label="学生学号" width="120" />
|
||||
<el-table-column prop="sex" label="性别" width="80" />
|
||||
<el-table-column prop="categoryName" label="测试类别" width="120" />
|
||||
<el-table-column prop="value" label="测试结果" width="120" />
|
||||
<el-table-column prop="motionDuration" label="运动时长/分钟" width="120" />
|
||||
<el-table-column prop="consumption" label="运动消耗" width="120" />
|
||||
<el-table-column prop="strength" label="运动强度" width="120" />
|
||||
<el-table-column prop="score" label="得分" width="120" />
|
||||
<el-table-column prop="rank" label="等级" width="120" />
|
||||
<el-table-column prop="classRank" label="班级排名" width="120" />
|
||||
<!-- <el-table-column prop="remarks" label="备注" /> -->
|
||||
<el-table-column v-if="showRowOperate" label="操作" width="140" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<div class="operate">
|
||||
<p class="edit" @click="editTable(row)">编辑</p>
|
||||
<p class="delete" @click="deleteOne(row)">删除</p>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <el-pagination :page-size="data.tableNeed.pageSize" :current-page="data.tableNeed.pageIndex"
|
||||
layout="total,prev, pager, next" :total="data.tableNeed.total" class="pageSize"
|
||||
@current-change="changePage" /> -->
|
||||
<el-pagination class="pageSize" :current-page="data.tableNeed.pageIndex"
|
||||
:page-size="data.tableNeed.pageSize" :page-sizes="[10, 50, 100, 200]"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="data.tableNeed.total"
|
||||
@size-change="handleSizeChange" @current-change="changePage" />
|
||||
</div>
|
||||
</div>
|
||||
</commonManage>
|
||||
<commonDialog :list="data.dialogData" @cancle="cancle" @confirm="confirm" v-if="data.dialogData.dialogVisible">
|
||||
@ -127,25 +133,25 @@
|
||||
</commonDialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted, onUnmounted } from 'vue';
|
||||
import { computed, ref, onMounted, onUnmounted } from 'vue';
|
||||
import commonManage from '@/components/commonManage/index.vue';
|
||||
import commonTable from '@/components/commonTable/index.vue';
|
||||
import commonDialog from '@/components/commonDialog/index.vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useStore } from 'vuex';
|
||||
import * as _api from '@/api/grade';
|
||||
import eventBus from '@/eventBus.js'; // 导入事件总线
|
||||
import { ElMessage } from 'element-plus';
|
||||
import axios from 'axios';
|
||||
const props = withDefaults(defineProps<{
|
||||
embeddedInSummary?: boolean
|
||||
}>(), {
|
||||
embeddedInSummary: false
|
||||
})
|
||||
const form = new FormData();
|
||||
const formRef = ref(null)
|
||||
const formRef1 = ref(null)
|
||||
const formRef2 = ref(null)
|
||||
const route = useRoute();
|
||||
const currentRoute = route.path; //获取当前页面路由
|
||||
const store = useStore();
|
||||
let permissionItem = store.getters.getPermission(currentRoute) || store.getters.getPermission('/bodySideData') || { permission: [] };
|
||||
let buttons = permissionItem.permission || [];
|
||||
useRoute();
|
||||
let contrast = {
|
||||
'查询': 'Search',
|
||||
'新增': 'Add',
|
||||
@ -156,7 +162,8 @@ let contrast = {
|
||||
|
||||
} //对照表
|
||||
let handelData = ref<any>([]) //接收处理后的按钮数据
|
||||
buttons.map((i) => {
|
||||
const defaultButtons = ['Search', 'Add', 'Export', 'Import', 'Update', 'Delete']
|
||||
defaultButtons.map((i) => {
|
||||
handelData.value.push({
|
||||
engName: i,
|
||||
chinName: '',
|
||||
@ -192,6 +199,8 @@ handelData.value.sort((a, b) => {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
const toolbarButtons = computed(() => handelData.value.filter((item) => item.engName !== 'Export' && item.engName !== 'Update' && item.engName !== 'Update' && item.engName !== 'Delete'))
|
||||
const showRowOperate = computed(() => true)
|
||||
const ruleForm = ref({
|
||||
studentNo: '',
|
||||
categoryEnum: '',
|
||||
@ -293,10 +302,6 @@ const data = ref({
|
||||
showIcon: false,
|
||||
fileList: {}
|
||||
})
|
||||
const select = (val) => {
|
||||
console.log(val, 'vallll')
|
||||
data.value.checkData = val
|
||||
}
|
||||
function getCellStyles({ row, column, rowIndex, columnIndex }) {
|
||||
const prop = column.property;
|
||||
return {
|
||||
@ -346,13 +351,31 @@ const changePage = (e) => {
|
||||
data.value.tableNeed.pageIndex = e
|
||||
initApi(data.value)
|
||||
}
|
||||
const handleSizeChange= (e) => {
|
||||
const handleSizeChange = (e) => {
|
||||
data.value.tableNeed.pageSize = e
|
||||
initApi(data.value)
|
||||
}
|
||||
const changeTd = (e) => {
|
||||
console.log(e, 'eeeechangeTd')
|
||||
}
|
||||
function editTable(row) {
|
||||
data.value.isImport = false
|
||||
num.value = 2
|
||||
data.value.dialogData.dialogVisible = true
|
||||
data.value.dialogData.title = '编辑'
|
||||
ruleForm.value = {
|
||||
id: row.id,
|
||||
studentNo: row.studentNo,
|
||||
categoryEnum: row.categoryId,
|
||||
value: row.value,
|
||||
motionDuration: row.motionDuration,
|
||||
consumption: row.consumption,
|
||||
}
|
||||
}
|
||||
function deleteOne(row) {
|
||||
num.value = 1
|
||||
DeleteList(row.id)
|
||||
}
|
||||
//点击取消
|
||||
const cancle = (val) => {
|
||||
|
||||
@ -403,36 +426,10 @@ function btnClick(val) {
|
||||
data.value.dialogData.title = '新增体测数据'
|
||||
break
|
||||
case 'Update':
|
||||
data.value.isImport = false
|
||||
num.value = 2
|
||||
if (data.value.checkData.length == 0) {
|
||||
ElMessage.error('请选择需要编辑的行')
|
||||
} else if (data.value.checkData.length > 1) {
|
||||
ElMessage.error('只能选择一行进行编辑')
|
||||
} else {
|
||||
data.value.dialogData.dialogVisible = true
|
||||
data.value.dialogData.title = '编辑'
|
||||
ruleForm.value = {
|
||||
id: data.value.checkData[0].id,
|
||||
studentNo: data.value.checkData[0].studentNo,
|
||||
categoryEnum: data.value.checkData[0].categoryId,
|
||||
value: data.value.checkData[0].value,
|
||||
motionDuration: data.value.checkData[0].motionDuration,
|
||||
consumption: data.value.checkData[0].consumption,
|
||||
}
|
||||
}
|
||||
|
||||
ElMessage.warning('请在表格行内点击编辑')
|
||||
break
|
||||
case 'Delete':
|
||||
num.value = 1
|
||||
if (data.value.checkData.length == 0) {
|
||||
ElMessage.error('请选择需要删除的行')
|
||||
} else if (data.value.checkData.length > 1) {
|
||||
ElMessage.error('只能选择一行进行删除')
|
||||
} else {
|
||||
DeleteList(data.value.checkData[0].id)
|
||||
}
|
||||
|
||||
ElMessage.warning('请在表格行内点击删除')
|
||||
break
|
||||
case 'Export':
|
||||
exportData(data.value)
|
||||
@ -470,6 +467,7 @@ async function initApi(val) {
|
||||
val.tableNeed.tableData = res.data.datas;
|
||||
val.tableNeed.tableData.map((i, index) => {
|
||||
i.ind = val.tableNeed.pageSize * (val.tableNeed.pageIndex - 1) + index + 1
|
||||
i.gradeNameAndClassName = [i.gradeName, i.className].filter(Boolean).join('-')
|
||||
data.value.teacherData.map((v) => {
|
||||
if (v.id == i.teacherId) {
|
||||
i.teacherId = v.teacherName
|
||||
@ -669,10 +667,11 @@ async function AddList() {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px 16px;
|
||||
gap: 12px 0px;
|
||||
overflow: visible;
|
||||
|
||||
.one {
|
||||
width: 250px;
|
||||
width: 270px !important;
|
||||
height: 36px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -734,6 +733,7 @@ async function AddList() {
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
|
||||
.operate {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -844,6 +844,137 @@ async function AddList() {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
:deep(.el-pagination) {
|
||||
height: 56px;
|
||||
margin: 0 20px !important;
|
||||
padding: 0 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
:deep(.el-pagination .btn-prev),
|
||||
:deep(.el-pagination .btn-next),
|
||||
:deep(.el-pagination .el-pager li),
|
||||
:deep(.el-pagination .el-input__wrapper) {
|
||||
border-radius: 7px;
|
||||
}
|
||||
|
||||
:deep(.el-pagination .el-pager li.is-active) {
|
||||
color: #ffffff;
|
||||
background: #176be7;
|
||||
}
|
||||
|
||||
.summary-body-side {
|
||||
background: transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
overflow: visible;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 32px) !important;
|
||||
min-height: 76px;
|
||||
margin: 12px auto;
|
||||
padding: 16px 18px 14px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 12px 16px;
|
||||
background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
|
||||
border: 1px solid #edf1f7;
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
|
||||
.left {
|
||||
width: auto;
|
||||
flex: 1 1 auto;
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 12px 16px;
|
||||
|
||||
.one {
|
||||
width: 292px;
|
||||
height: 36px;
|
||||
margin-left: 0;
|
||||
|
||||
p {
|
||||
width: 76px;
|
||||
padding-right: 10px;
|
||||
box-sizing: border-box;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.m-2 {
|
||||
width: 216px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right.btn {
|
||||
width: auto;
|
||||
min-height: 36px;
|
||||
margin-left: auto;
|
||||
padding: 0;
|
||||
justify-content: flex-end;
|
||||
gap: 10px;
|
||||
|
||||
.Search,
|
||||
.Add,
|
||||
.Update,
|
||||
.Delete,
|
||||
.Export,
|
||||
.Import {
|
||||
min-width: 80px;
|
||||
height: 35px;
|
||||
padding: 0 16px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #176be7;
|
||||
background: #4188FE;
|
||||
box-shadow: none;
|
||||
line-height: 35px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.summary-cont {
|
||||
width: calc(100% - 32px);
|
||||
margin: 0 auto;
|
||||
padding: 0 0 16px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.summary-table-card {
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
border: 1px solid #e7eef8;
|
||||
border-radius: 10px;
|
||||
|
||||
padding: 16px;
|
||||
padding-bottom: 0;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 8px 22px rgba(29, 68, 130, 0.06);
|
||||
}
|
||||
|
||||
:deep(.el-table) {
|
||||
width: 100% !important;
|
||||
margin: 0 !important;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
border: 1px solid #e7eef8;
|
||||
border-radius: 10px;
|
||||
// height: calc(100vh - 370px) !important;
|
||||
}
|
||||
|
||||
:deep(.el-pagination) {
|
||||
margin: 14px 18px 18px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.uploadFileName {
|
||||
width: 100%;
|
||||
height: 80px;
|
||||
@ -879,4 +1010,4 @@ async function AddList() {
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -238,7 +238,7 @@ export default {
|
||||
margin-top: 2px;
|
||||
}
|
||||
.ivu-card {
|
||||
box-shadow: 0 3px 13px rgba(117, 114, 114, 0.47);
|
||||
box-shadow: 0 3px 14pxrgba(117, 114, 114, 0.47);
|
||||
display: flex;
|
||||
position: relative;
|
||||
padding-top: 10px;
|
||||
@ -309,7 +309,7 @@ export default {
|
||||
}
|
||||
|
||||
.order-range .order-item {
|
||||
box-shadow: 0 3px 13px rgba(117, 114, 114, 0.47);
|
||||
box-shadow: 0 3px 14pxrgba(117, 114, 114, 0.47);
|
||||
flex: 1;
|
||||
border-radius: 6px;
|
||||
font-size: 14px;
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
</div>
|
||||
<!-- 导出报告弹出框 -->
|
||||
<el-dialog v-model="exportDialogVisible" title="导出报告" width="520px" class="classroom-report-export"
|
||||
align-center :close-on-click-modal="false">
|
||||
align-center :close-on-click-modal="false" append-to-body>
|
||||
<div class="export-dialog-body">
|
||||
<span class="export-label">选择时间段:</span>
|
||||
<el-date-picker v-model="exportTimeRange" type="datetimerange" range-separator="至"
|
||||
@ -847,7 +847,7 @@ function processChartData(rawData) {
|
||||
.eacharts1,
|
||||
.eacharts2,
|
||||
.eacharts3 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 300px;
|
||||
|
||||
p {
|
||||
@ -879,7 +879,7 @@ function processChartData(rawData) {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -984,7 +984,7 @@ function processChartData(rawData) {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -371,7 +371,7 @@ const sexList = ['男','女']
|
||||
</ConfigProvider>
|
||||
</div>
|
||||
|
||||
<el-dialog center v-model="showModal" title="学生课堂报告" width="90%" :before-close="handleOk">
|
||||
<el-dialog center v-model="showModal" title="学生课堂报告" width="90%" :before-close="handleOk" append-to-body>
|
||||
<div style="padding: 20px 20px 0 ;">
|
||||
<div class="card-header">基本信息</div>
|
||||
<div class="info">
|
||||
|
||||
@ -364,7 +364,7 @@ function exportD() {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 140px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@ -451,7 +451,7 @@ function exportD() {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -161,7 +161,8 @@ const data = ref({
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
height: 'calc(100vh - 210px)',
|
||||
height: 'calc(100vh - 270px)',
|
||||
width: 'calc(70vw - 24px)',
|
||||
tdHeight: '56px',
|
||||
tableLabel: [
|
||||
{
|
||||
@ -470,11 +471,11 @@ div {
|
||||
display: flex;
|
||||
|
||||
.right {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
width: calc(100% - 32px);
|
||||
margin: 0 12px;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -566,7 +567,7 @@ div {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
</div>
|
||||
<!-- 溢出菜单已改为水平滚动,Teleport 面板保留备用 -->
|
||||
|
||||
<el-drawer title="选择主题" v-model="drawer_model" direction="rtl" destroy-on-close>
|
||||
<el-drawer title="选择主题" v-model="drawer_model" direction="rtl" destroy-on-close append-to-body>
|
||||
<div class="theme-selector">
|
||||
<div @click="changeTheme(item.name)" class="item" v-for="(item, index) in theme_color" :key="index"
|
||||
:style="{ background: item.color }">
|
||||
@ -104,7 +104,7 @@
|
||||
</div>
|
||||
</el-drawer>
|
||||
|
||||
<el-drawer title="消息列表" v-model="messageModel" direction="rtl" destroy-on-close>
|
||||
<el-drawer title="消息列表" v-model="messageModel" direction="rtl" destroy-on-close append-to-body>
|
||||
<Message :list="messageList"></Message>
|
||||
</el-drawer>
|
||||
</div>
|
||||
@ -1065,7 +1065,7 @@ function showTime() {
|
||||
|
||||
i,
|
||||
button {
|
||||
font-size: 13px !important;
|
||||
font-size: 14px!important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -792,7 +792,7 @@ img:not([src]) {
|
||||
}
|
||||
|
||||
.header-navigation {
|
||||
// box-shadow: -7px 11px 10px -13px #678aa7;
|
||||
// box-shadow: -7px 11px 10px -14px#678aa7;
|
||||
border-bottom: 1px solid #eee;
|
||||
height: 32px;
|
||||
overflow: hidden;
|
||||
|
||||
@ -143,8 +143,8 @@
|
||||
min-width: 68px;
|
||||
margin: 0;
|
||||
color: #4e5969 !important;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500 !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 600 !important;
|
||||
line-height: 36px;
|
||||
text-align: right !important;
|
||||
white-space: nowrap;
|
||||
|
||||
@ -36,8 +36,8 @@
|
||||
min-width: 68px;
|
||||
margin: 0;
|
||||
color: #4e5969 !important;
|
||||
font-size: 13px !important;
|
||||
font-weight: 500 !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 600 !important;
|
||||
line-height: 36px;
|
||||
text-align: right !important;
|
||||
white-space: nowrap;
|
||||
@ -136,7 +136,7 @@
|
||||
box-shadow: 0 7px 16px rgba(47, 141, 255, 0.2);
|
||||
color: #ffffff !important;
|
||||
font-size: 14px !important;
|
||||
font-weight: 500 !important;
|
||||
font-weight: 600 !important;
|
||||
line-height: 34px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,14 +58,14 @@ function exportData() {
|
||||
border-radius: 10px;
|
||||
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
.tableExport {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
height: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: right;
|
||||
|
||||
@ -297,7 +297,7 @@ function exportData() {
|
||||
height: auto;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 120px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@ -384,7 +384,7 @@ function exportData() {
|
||||
}
|
||||
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
@ -84,7 +84,7 @@ function handleExport() {
|
||||
|
||||
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
@ -950,7 +950,7 @@ function exportF() {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 122px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -1038,7 +1038,7 @@ function exportF() {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -52,15 +52,16 @@ function exportData() {
|
||||
height: 100%;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
border: 1px solid #E4E6ED;
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
.tableExport {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
height: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: right;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -50,15 +50,17 @@ function exportData() {
|
||||
height: auto;
|
||||
border-radius: 10px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #E4E6ED;
|
||||
box-sizing: border-box;
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
.tableExport {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
height: 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: right;
|
||||
|
||||
@ -267,7 +267,7 @@ const report = (val) => {
|
||||
background: #f5f8fc !important;
|
||||
border-bottom: 1px solid #e7eef8 !important;
|
||||
color: #344054 !important;
|
||||
font-size: 13px !important;
|
||||
font-size: 14px!important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
|
||||
@ -84,7 +84,7 @@ function handleExport() {
|
||||
|
||||
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
@ -252,7 +252,7 @@ function exportData() {
|
||||
height: auto;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 120px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
@ -340,7 +340,7 @@ function exportData() {
|
||||
}
|
||||
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<div class="head">
|
||||
<div style="display: flex;">
|
||||
<div class="one">
|
||||
<p>项目:</p>
|
||||
<p>项目类型:</p>
|
||||
<el-select v-model="data.leftOneActive" placeholder="请选择项目" @change="changeProject">
|
||||
<el-option v-for="item in data.leftOneData" :key="item.id" :label="item.itemTypeName"
|
||||
:value="item.id" />
|
||||
@ -815,7 +815,7 @@ function exportF() {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 80px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -903,7 +903,7 @@ function exportF() {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -204,7 +204,7 @@ async function GetVisionDataListApi() {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -293,7 +293,7 @@ async function GetVisionDataListApi() {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
</commonManage>
|
||||
<div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show" direction="rtl" size="50%" :close-on-click-modal="false"
|
||||
:show-close=false>
|
||||
:show-close=false append-to-body>
|
||||
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
@ -105,7 +105,7 @@
|
||||
</div>
|
||||
<div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show1" direction="rtl" size="50%" :close-on-click-modal="false"
|
||||
:show-close=false>
|
||||
:show-close=false append-to-body>
|
||||
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
|
||||
@ -114,8 +114,7 @@
|
||||
<el-dialog
|
||||
v-model="resourceTypeDialog.visible"
|
||||
:title="resourceTypeDialog.isEdit ? '编辑资源类型' : '添加资源类型'"
|
||||
width="500px"
|
||||
>
|
||||
width="500px" append-to-body>
|
||||
<el-form :model="resourceTypeForm" label-width="100px" :rules="resourceTypeRules" ref="resourceTypeFormRef">
|
||||
<!--
|
||||
<el-form-item label="上级类型" v-if="!resourceTypeDialog.isEdit || resourceTypeForm.parentId !== 0">
|
||||
@ -149,8 +148,7 @@
|
||||
<el-dialog
|
||||
v-model="resourceDialog.visible"
|
||||
:title="resourceDialog.isEdit ? '编辑资源' : '上传资源'"
|
||||
width="500px"
|
||||
>
|
||||
width="500px" append-to-body>
|
||||
<el-form :model="resourceForm" label-width="100px" :rules="resourceRules" ref="resourceFormRef">
|
||||
<!--
|
||||
<el-form-item label="资源类型" v-if="!resourceDialog.isEdit">
|
||||
@ -222,7 +220,7 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 预览对话框 -->
|
||||
<el-dialog v-model="previewDialog.visible" title="资源预览" width="80%" fullscreen>
|
||||
<el-dialog v-model="previewDialog.visible" title="资源预览" width="80%" fullscreen append-to-body>
|
||||
<div class="preview-container" v-loading="previewLoading">
|
||||
<!-- 图片预览 -->
|
||||
<div v-if="isImage(previewDialog.resource)" class="image-preview">
|
||||
|
||||
@ -89,7 +89,7 @@ function edit(e) {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
.table {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 0 auto;
|
||||
|
||||
@ -638,7 +638,7 @@ async function AddPhoto(val) {
|
||||
height: auto;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -141,7 +141,7 @@
|
||||
|
||||
<!-- 导入成绩弹窗 -->
|
||||
<el-dialog v-model="importDialog.visible" title="导入成绩" width="640px" :close-on-click-modal="false"
|
||||
class="import-dialog">
|
||||
class="import-dialog" append-to-body>
|
||||
<div class="import-content">
|
||||
<!-- 说明区域 -->
|
||||
<div class="import-tips">
|
||||
@ -184,7 +184,7 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 成绩修正弹窗 -->
|
||||
<el-dialog v-model="editDialog.visible" title="成绩修正" width="560px" :close-on-click-modal="false">
|
||||
<el-dialog v-model="editDialog.visible" title="成绩修正" width="560px" :close-on-click-modal="false" append-to-body>
|
||||
<el-form ref="editFormRef" :model="editForm" label-width="160px" size="default">
|
||||
<el-form-item label="学生姓名">
|
||||
<el-input :value="editForm.studentName" disabled />
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
>
|
||||
<el-icon><Plus /></el-icon>
|
||||
</el-upload>
|
||||
<el-dialog v-model="dialogVisible">
|
||||
<el-dialog v-model="dialogVisible" append-to-body>
|
||||
<img w-full :src="dialogImageUrl" alt="Preview Image" />
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
|
||||
@ -360,7 +360,7 @@ function paginateTableData(pageIndex, pageSize) {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -448,7 +448,7 @@ function paginateTableData(pageIndex, pageSize) {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
</commonManage>
|
||||
<div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show" direction="rtl" size="50%" :close-on-click-modal="false"
|
||||
:show-close=false>
|
||||
:show-close=false append-to-body>
|
||||
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
@ -151,7 +151,7 @@
|
||||
</div>
|
||||
<div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show1" direction="rtl" size="50%" :close-on-click-modal="false"
|
||||
:show-close=false>
|
||||
:show-close=false append-to-body>
|
||||
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
@ -223,7 +223,7 @@
|
||||
</div>
|
||||
<!-- <div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show2" direction="rtl" size="50%" :close-on-click-modal="false"
|
||||
:show-close=false>
|
||||
:show-close=false append-to-body>
|
||||
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
|
||||
@ -347,7 +347,7 @@ function paginateTableData(pageIndex, pageSize) {
|
||||
height: 100%;
|
||||
|
||||
.head {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: 72px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -435,7 +435,7 @@ function paginateTableData(pageIndex, pageSize) {
|
||||
}
|
||||
|
||||
.head1 {
|
||||
width: calc(100% - 24px);
|
||||
width: calc(100% - 32px);
|
||||
height: auto;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
</div>
|
||||
</commonManage>
|
||||
<div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show" direction="rtl" size="50%" :close-on-click-modal="false" :show-close="false">
|
||||
<el-drawer v-model="data.drawerDialog.show" direction="rtl" size="50%" :close-on-click-modal="false" :show-close="false" append-to-body>
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
</template>
|
||||
@ -78,7 +78,7 @@
|
||||
</el-drawer>
|
||||
</div>
|
||||
<div class="addTeacherDrawer">
|
||||
<el-drawer v-model="data.drawerDialog.show1" direction="rtl" size="50%" :close-on-click-modal="false" :show-close="false">
|
||||
<el-drawer v-model="data.drawerDialog.show1" direction="rtl" size="50%" :close-on-click-modal="false" :show-close="false" append-to-body>
|
||||
<template #header>
|
||||
<p class="title">{{ data.dialogTitle }}</p>
|
||||
</template>
|
||||
|
||||
@ -3,8 +3,7 @@
|
||||
v-model="visible"
|
||||
title="打卡详情"
|
||||
width="80%"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
:before-close="handleClose" append-to-body>
|
||||
<div class="check-in-details">
|
||||
<!-- 搜索区域 -->
|
||||
<div class="head">
|
||||
|
||||
@ -26,7 +26,8 @@ export default ({ mode }: ConfigEnv) => {
|
||||
port: 9990,
|
||||
proxy: {
|
||||
'/dev-api': {
|
||||
target: ENV.VITE_API_BASE || 'http://localhost:52356',
|
||||
// target: ENV.VITE_API_BASE || 'http://localhost:52356',
|
||||
target: ENV.VITE_API_BASE || 'http://localhost:9991',
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/dev-api/, '')
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user