Merge pull request 'dev' (#7) from dev into staging

Reviewed-on: #7
This commit is contained in:
hy 2025-08-26 18:58:58 +08:00
commit d5d8961c8b
9 changed files with 44 additions and 51 deletions

View File

@ -14,6 +14,6 @@ VITE_COMPRESSION = "none"
# 接口地址
VITE_API_BASEURL = "http://localhost:5199/api"
VITE_API_BASEURL = "https://learn-archives-admin.23544.com/api"
#数据中心后台地址
VITE_API_USERCENTER_URL = "https://dcb.23544.com/api"

View File

@ -241,7 +241,7 @@ class PureHttp {
})
.catch(error => {
if (error.status != 200) {
if (error.status == 200) ElMessage.warning("请求失败" + error.message);
ElMessage.warning("请求失败" + error.message);
}
reject(error);
});

View File

@ -135,7 +135,11 @@ const tableData: TableConfig = {
search: false,
width: "95px",
custom: (row) =>
`${row.average1 == 0 ? "--" : Math.round((row.average / row.average1) * 100)}%`,
`${
row.baseSchoolScore == 0
? "--"
: Math.round((row.average / row.baseSchoolScore) * 100)
}%`,
},
},
data: [],

View File

@ -5,7 +5,12 @@ import { onMounted, ref } from "vue";
import { fa } from "element-plus/es/locales.mjs";
import { hTableAPI } from "@/api/hTable";
import { getenum } from "@/api/enum";
import { ruleNumber, ruleRequired, ruleRequiredNumber } from "@/utils/rules";
import {
ruleNumber,
ruleRequired,
ruleRequiredI,
ruleRequiredNumber,
} from "@/utils/rules";
import { ImportExamInfo } from "@/api/exam";
import { ElMessage } from "element-plus";
import { entryExamInfo } from "./examFun";
@ -101,15 +106,13 @@ const tableData: TableConfig = {
edit: true, //
setting: {},
},
level: {
grade: {
label: "年级",
rules: ruleRequired,
rules: ruleRequiredI(6, 2),
width: "100px",
type: "dropdown",
setting: {},
search: true,
add: true, //
edit: true, //
edit: false, //
},
testPaperType: {
label: "试卷类型",
@ -184,7 +187,7 @@ const showTable = ref(false);
onMounted(async () => {
//
tableData.column.level.setting.datasource = (await getenum("GradeEnum")).data;
// tableData.column.level.setting.datasource = (await getenum("GradeEnum")).data;
tableData.column.testPaperType.setting.datasource = (
await getenum("TestPaperTypeEnum")

View File

@ -35,6 +35,10 @@ const tableData: TableConfig = {
FieldName: "ExamId",
FieldValue: props.data[0].examId + "",
},
{
FieldName: "ClassId",
FieldValue: props.data[0].classId + "",
},
], //
Conditions: [],
},

View File

@ -6,35 +6,6 @@
<el-form-item>
<el-input v-model="search.searchStr" placeholder="姓名/账号/学号" />
</el-form-item>
<!-- <el-form-item style="width: 100px">
<el-select
v-model="search.userType"
placeholder="用户类型"
clearable
filterable
@change="userTypeChange"
>
<el-option
v-for="item in userTypeList"
:key="item.value"
:label="item.text"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item> -->
<el-form-item v-show="search.userType === 1" style="width: 100px">
<el-select v-model="search.level" placeholder="学生层次" clearable filterable>
<el-option
v-for="item in userLevelList"
:key="item.value"
:label="item.text"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-select
@ -54,7 +25,7 @@
</el-select>
</el-form-item>
<el-form-item style="width: 100px">
<el-form-item v-show="search.schoolId != 0" style="width: 100px">
<el-select
v-model="search.grade"
placeholder="年级"
@ -72,7 +43,7 @@
</el-select>
</el-form-item>
<el-form-item style="width: 100px">
<el-form-item style="width: 100px" v-show="search.schoolId != 0">
<el-select v-model="search.classId" placeholder="班级" clearable filterable>
<el-option
v-for="item in classList"
@ -653,7 +624,8 @@ function pageSizeChange(o) {
fetchPagedData();
}
function pageIndexChange(o) {
pagination.index = o - 1;
console.log(o, "当前索引");
pagination.index = o;
fetchPagedData();
}

View File

@ -54,7 +54,7 @@
</el-select>
</el-form-item>
<el-form-item style="width: 100px">
<el-form-item v-show="search.schoolId != 0" style="width: 100px">
<el-select
v-model="search.grade"
placeholder="年级"
@ -72,7 +72,7 @@
</el-select>
</el-form-item>
<el-form-item style="width: 100px">
<el-form-item v-show="search.schoolId != 0" style="width: 100px">
<el-select v-model="search.classId" placeholder="班级" clearable filterable>
<el-option
v-for="item in classList"
@ -84,7 +84,7 @@
</el-select>
</el-form-item>
<el-form-item style="width: 100px">
<el-form-item v-show="search.schoolId != 0" style="width: 100px">
<el-select v-model="search.subjectId" placeholder="科目" clearable filterable>
<el-option
v-for="item in subjectList"
@ -636,7 +636,7 @@ function pageSizeChange(o) {
fetchPagedData();
}
function pageIndexChange(o) {
pagination.index = o - 1;
pagination.index = o;
fetchPagedData();
}

View File

@ -53,7 +53,9 @@
>
{{ safeDetail.isDiscussion ? "已开展" : "未开展" }}
</el-tag>
<span>{{ safeDetail.discussion || "-" }}</span>
<span class="inline-block max-w-[500px]!">{{
safeDetail.discussion || "-"
}}</span>
</el-descriptions-item>
<el-descriptions-item label="班会">
<el-tag
@ -62,7 +64,9 @@
>
{{ safeDetail.isClassMeeting ? "已开展" : "未开展" }}
</el-tag>
<span>{{ safeDetail.classMeeting || "-" }}</span>
<span class="inline-block max-w-[500px]!">{{
safeDetail.classMeeting || "-"
}}</span>
</el-descriptions-item>
</el-descriptions>
<el-divider />

View File

@ -447,16 +447,22 @@ function handleImport() {
let res = await importExcel(fileE.files[0]);
if (res.code != undefined) {
if (res.code !== 200) return ElMessage.error(res.message);
else return ElMessage.success("所有数据录入成功");
else {
loadList();
return ElMessage.success("所有数据录入成功");
}
} else if (res.type === "application/json") {
let json = await res.text();
if (json !== undefined && json.Code !== 200) {
return ElMessage.error(json.Message);
} else {
return ElMessage.success("操所有数据录入成功作成功");
loadList();
return ElMessage.success("所有数据录入成功");
}
} else if (res === undefined || res.size === 0)
} else if (res === undefined || res.size === 0) {
loadList();
return ElMessage.success("所有数据录入成功");
}
const url = res && window.URL.createObjectURL(res);
const link = document.createElement("a");
link.href = url;