班级列表可配置

This commit is contained in:
2024-11-15 22:31:24 +08:00
parent 9732b45e38
commit e0745a4036
3 changed files with 20 additions and 9 deletions

View File

@@ -105,6 +105,7 @@ const websiteConfig = reactive({
website_footer: "所有权归属于徐越,感谢青岛大学开源 OJ 系统,感谢开源社区", website_footer: "所有权归属于徐越,感谢青岛大学开源 OJ 系统,感谢开源社区",
allow_register: true, allow_register: true,
submission_list_show_all: true, submission_list_show_all: true,
class_list: [],
}) })
async function getWebsiteConfig() { async function getWebsiteConfig() {
@@ -115,6 +116,7 @@ async function getWebsiteConfig() {
websiteConfig.website_footer = res.data.website_footer websiteConfig.website_footer = res.data.website_footer
websiteConfig.allow_register = res.data.allow_register websiteConfig.allow_register = res.data.allow_register
websiteConfig.submission_list_show_all = res.data.submission_list_show_all websiteConfig.submission_list_show_all = res.data.submission_list_show_all
websiteConfig.class_list = res.data.class_list
} }
async function saveWebsiteConfig() { async function saveWebsiteConfig() {
@@ -186,6 +188,9 @@ onMounted(() => {
<n-form-item label="页脚"> <n-form-item label="页脚">
<n-input v-model:value="websiteConfig.website_footer" /> <n-input v-model:value="websiteConfig.website_footer" />
</n-form-item> </n-form-item>
<n-form-item label="班级列表">
<n-dynamic-tags v-model:value="websiteConfig.class_list" />
</n-form-item>
</n-form> </n-form>
<n-flex align="center"> <n-flex align="center">
<n-flex align="center"> <n-flex align="center">

View File

@@ -14,13 +14,15 @@ const form = reactive({
username: "", username: "",
password: "", password: "",
}) })
const classList: SelectOption[] = [ const classList = computed<SelectOption[]>(() => {
{ label: "不用填", value: "" }, const defaults = [{ label: "不用填", value: "" }]
{ label: "24计算机1班", value: "ks241" }, const configs =
{ label: "24计算机2班", value: "ks242" }, configStore.config?.class_list.map((item) => ({
{ label: "24计算机3班", value: "ks243" }, label: `${item.slice(0, 2)}计算机${item.slice(2)}`,
{ label: "24计算机4班", value: "ks244" }, value: `ks${item}`,
] })) ?? []
return [...defaults, ...configs]
})
const rules: FormRules = { const rules: FormRules = {
username: [{ required: true, message: "用户名必填", trigger: "blur" }], username: [{ required: true, message: "用户名必填", trigger: "blur" }],
password: [ password: [
@@ -80,8 +82,11 @@ function goSignup() {
<n-form ref="loginRef" :model="form" :rules="rules" show-require-mark> <n-form ref="loginRef" :model="form" :rules="rules" show-require-mark>
<n-alert :show-icon="false" class="tip"> <n-alert :show-icon="false" class="tip">
关于选择班级的提醒<br /> 关于选择班级的提醒<br />
1. 如果是上课统一生成的账号选择相应班级用户名直接写自己的名字 <br /> 1. 如果是上课统一生成的账号选择相应班级用户名直接写自己的名字
2. 同样是上课用的号但是没有你的班级选择不用填用户名要写ks班级+姓名比如23计算机1班张三就写ks231张三 <br /> <br />
2.
同样是上课用的号但是没有你的班级选择不用填用户名要写ks班级+姓名比如23计算机1班张三就写ks231张三
<br />
3. 如果是自己注册的号选择不用填 <br /> 3. 如果是自己注册的号选择不用填 <br />
</n-alert> </n-alert>
<n-form-item label="选择班级" path="class" :show-require-mark="false"> <n-form-item label="选择班级" path="class" :show-require-mark="false">

View File

@@ -314,6 +314,7 @@ export interface WebsiteConfig {
website_footer: string website_footer: string
allow_register: boolean allow_register: boolean
submission_list_show_all: boolean submission_list_show_all: boolean
class_list: string[] & never[]
} }
export interface Server { export interface Server {