Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-lab
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-lab
Commits
e93cff37
提交
e93cff37
authored
10月 27, 2023
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: update
上级
0a9ad5d5
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
39 行删除
+28
-39
index.html
index.html
+1
-1
App.vue
src/App.vue
+8
-1
useAppConfig.ts
src/composables/useAppConfig.ts
+6
-3
FormDialog.vue
src/modules/admin/contest/items/components/FormDialog.vue
+13
-34
没有找到文件。
index.html
浏览文件 @
e93cff37
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<html
lang=
"en"
>
<html
lang=
"en"
>
<head>
<head>
<meta
charset=
"UTF-8"
/>
<meta
charset=
"UTF-8"
/>
<
link
rel=
"icon"
href=
"https://zws-imgs-pub.ezijing.com/pc/base/favicon.ico"
/
>
<
!-- <link rel="icon" href="https://zws-imgs-pub.ezijing.com/pc/base/favicon.ico" /> --
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title></title>
<title></title>
<script
src=
"https://webapp-pub.ezijing.com/plugins/tinymce@6/tinymce.min.js"
></script>
<script
src=
"https://webapp-pub.ezijing.com/plugins/tinymce@6/tinymce.min.js"
></script>
...
...
src/App.vue
浏览文件 @
e93cff37
...
@@ -5,7 +5,14 @@ import { useAppConfig } from '@/composables/useAppConfig'
...
@@ -5,7 +5,14 @@ import { useAppConfig } from '@/composables/useAppConfig'
const
appConfig
=
useAppConfig
()
const
appConfig
=
useAppConfig
()
useHead
({
useHead
({
title
:
appConfig
.
title
title
:
appConfig
.
title
,
link
:
[
{
rel
:
'icon'
,
key
:
'favicon'
,
href
:
appConfig
.
favicon
||
'https://zws-imgs-pub.ezijing.com/pc/base/favicon.ico'
}
]
})
})
const
className
=
computed
(()
=>
{
const
className
=
computed
(()
=>
{
...
...
src/composables/useAppConfig.ts
浏览文件 @
e93cff37
...
@@ -45,14 +45,17 @@ const appConfigList = [
...
@@ -45,14 +45,17 @@ const appConfigList = [
},
},
{
{
system
:
'swsjfxs'
,
system
:
'swsjfxs'
,
title
:
'商
业数据分析实验室
'
,
title
:
'商
务数据分析师
'
,
logo
:
'https://webapp-pub.ezijing.com/website/base/images/logo_swsjfxs.png'
,
logo
:
'https://webapp-pub.ezijing.com/website/base/images/logo_swsjfxs.png'
,
favicon
:
'https://webapp-pub.ezijing.com/website/base/images/favicon_swsjfxs.png'
,
hosts
:
[
'swsjfxs'
],
hosts
:
[
'swsjfxs'
],
studentMenus
:
[
studentMenus
:
[
{
name
:
'首页'
,
path
:
'/'
},
{
name
:
'首页'
,
path
:
'/'
},
{
name
:
'我的大赛'
,
path
:
'/student/contest'
},
{
name
:
'我的大赛'
,
path
:
'/student/contest'
},
{
name
:
'大赛成绩查询'
,
path
:
'/student/contest/score'
}
{
name
:
'大赛成绩查询'
,
path
:
'/student/contest/score'
}
]
],
xLabel
:
'商务数据分析理论考试'
,
labLabel
:
'商务数据分析实操考试'
}
}
]
]
...
@@ -61,7 +64,7 @@ export function useAppConfig() {
...
@@ -61,7 +64,7 @@ export function useAppConfig() {
return
item
.
hosts
.
find
(
host
=>
location
.
host
.
includes
(
host
))
return
item
.
hosts
.
find
(
host
=>
location
.
host
.
includes
(
host
))
})
})
const
appConfig
=
found
||
appConfigList
[
0
]
const
appConfig
=
found
||
appConfigList
[
4
]
return
{
...
appConfig
}
return
{
...
appConfig
}
}
}
src/modules/admin/contest/items/components/FormDialog.vue
浏览文件 @
e93cff37
...
@@ -10,6 +10,8 @@ import isBetween from 'dayjs/plugin/isBetween'
...
@@ -10,6 +10,8 @@ import isBetween from 'dayjs/plugin/isBetween'
import
{
createContest
,
updateContest
}
from
'../api'
import
{
createContest
,
updateContest
}
from
'../api'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useMapStore
}
from
'@/stores/map'
import
{
useGetTeacherList
}
from
'../composables/useGetTeacherList'
import
{
useGetTeacherList
}
from
'../composables/useGetTeacherList'
import
{
useAppConfig
}
from
'@/composables/useAppConfig'
const
appConfig
=
useAppConfig
()
interface
Props
{
interface
Props
{
data
?:
ContestItem
|
null
data
?:
ContestItem
|
null
...
@@ -56,13 +58,13 @@ const form = reactive({
...
@@ -56,13 +58,13 @@ const form = reactive({
date
:
undefined
,
date
:
undefined
,
datetimeRange
:
undefined
,
datetimeRange
:
undefined
,
train_platform_configs
:
[
train_platform_configs
:
[
{
name
:
'1+X理论考试'
,
is_show
:
'1'
,
type
:
'1'
,
url
:
''
,
platform_key
:
'x_exam'
},
{
name
:
appConfig
.
xLabel
||
'1+X理论考试'
,
is_show
:
'1'
,
type
:
'1'
,
url
:
''
,
platform_key
:
'x_exam'
},
{
name
:
'商业数据分析实验'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'career_data_analysis'
},
{
name
:
appConfig
.
labLabel
||
'商业数据分析实验'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'career_data_analysis'
},
{
name
:
'数据营销实操'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'data_marketing'
}
{
name
:
'数据营销实操'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'data_marketing'
}
],
],
competition_platform_configs
:
[
competition_platform_configs
:
[
{
name
:
'1+X理论考试'
,
is_show
:
'1'
,
type
:
'1'
,
url
:
''
,
platform_key
:
'x_exam'
},
{
name
:
appConfig
.
xLabel
||
'1+X理论考试'
,
is_show
:
'1'
,
type
:
'1'
,
url
:
''
,
platform_key
:
'x_exam'
},
{
name
:
'商业数据分析实验'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'career_data_analysis'
},
{
name
:
appConfig
.
labLabel
||
'商业数据分析实验'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'career_data_analysis'
},
{
name
:
'数据营销实操'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'data_marketing'
}
{
name
:
'数据营销实操'
,
is_show
:
'0'
,
type
:
'2'
,
url
:
''
,
platform_key
:
'data_marketing'
}
]
]
})
})
...
@@ -92,10 +94,7 @@ const checkApplyExpirationDate = (rule: any, value: any, callback: any) => {
...
@@ -92,10 +94,7 @@ const checkApplyExpirationDate = (rule: any, value: any, callback: any) => {
callback
(
new
Error
(
'请选择报名截止日期'
))
callback
(
new
Error
(
'请选择报名截止日期'
))
}
else
{
}
else
{
const
[
firstDate
,
secondDate
]
=
form
.
dateRange
||
[]
const
[
firstDate
,
secondDate
]
=
form
.
dateRange
||
[]
if
(
if
(
!
dayjs
(
value
).
isBetween
(
firstDate
,
secondDate
,
'date'
,
'[]'
)
||
!
dayjs
(
value
).
isBefore
(
dayjs
(
form
.
date
),
'date'
))
{
!
dayjs
(
value
).
isBetween
(
firstDate
,
secondDate
,
'date'
,
'[]'
)
||
!
dayjs
(
value
).
isBefore
(
dayjs
(
form
.
date
),
'date'
)
)
{
callback
(
new
Error
(
'请选择赛项周期内的日期,且必须早于正式比赛日期'
))
callback
(
new
Error
(
'请选择赛项周期内的日期,且必须早于正式比赛日期'
))
}
}
callback
()
callback
()
...
@@ -248,13 +247,7 @@ function handleDateRangeChange(value: any) {
...
@@ -248,13 +247,7 @@ function handleDateRangeChange(value: any) {
</
script
>
</
script
>
<
template
>
<
template
>
<el-dialog
<el-dialog
:title=
"title"
:close-on-click-modal=
"false"
align-center
width=
"600px"
@
update:modelValue=
"$emit('update:modelValue')"
>
:title=
"title"
:close-on-click-modal=
"false"
align-center
width=
"600px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-form-item
label=
"赛项名称"
prop=
"name"
>
<el-form-item
label=
"赛项名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
:disabled=
"isUpdate"
/>
<el-input
v-model=
"form.name"
:disabled=
"isUpdate"
/>
...
@@ -271,12 +264,7 @@ function handleDateRangeChange(value: any) {
...
@@ -271,12 +264,7 @@ function handleDateRangeChange(value: any) {
</el-form-item>
</el-form-item>
<el-form-item
label=
"技术支持单位"
prop=
"technical_support_unit_id"
>
<el-form-item
label=
"技术支持单位"
prop=
"technical_support_unit_id"
>
<el-select
v-model=
"form.technical_support_unit_id"
style=
"width: 100%"
>
<el-select
v-model=
"form.technical_support_unit_id"
style=
"width: 100%"
>
<el-option
<el-option
v-for=
"item in technicalSupportUnitList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
></el-option>
v-for=
"item in technicalSupportUnitList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"赛项类型"
prop=
"type"
>
<el-form-item
label=
"赛项类型"
prop=
"type"
>
...
@@ -290,13 +278,7 @@ function handleDateRangeChange(value: any) {
...
@@ -290,13 +278,7 @@ function handleDateRangeChange(value: any) {
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"赛项周期"
prop=
"dateRange"
>
<el-form-item
label=
"赛项周期"
prop=
"dateRange"
>
<el-date-picker
<el-date-picker
type=
"daterange"
range-separator=
"至"
v-model=
"form.dateRange"
style=
"width: 100%"
@
change=
"handleDateRangeChange"
/>
type=
"daterange"
range-separator=
"至"
v-model=
"form.dateRange"
style=
"width: 100%"
@
change=
"handleDateRangeChange"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"正式比赛日期"
prop=
"date"
>
<el-form-item
label=
"正式比赛日期"
prop=
"date"
>
<el-date-picker
type=
"date"
v-model=
"form.date"
style=
"width: 100%"
/>
<el-date-picker
type=
"date"
v-model=
"form.date"
style=
"width: 100%"
/>
...
@@ -308,8 +290,7 @@ function handleDateRangeChange(value: any) {
...
@@ -308,8 +290,7 @@ function handleDateRangeChange(value: any) {
start-placeholder=
"开始时间"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
end-placeholder=
"结束时间"
v-model=
"form.datetimeRange"
v-model=
"form.datetimeRange"
style=
"width: 100%"
style=
"width: 100%"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"报名截止日期"
prop=
"apply_expiration_date"
>
<el-form-item
label=
"报名截止日期"
prop=
"apply_expiration_date"
>
<el-date-picker
type=
"date"
v-model=
"form.apply_expiration_date"
style=
"width: 100%"
/>
<el-date-picker
type=
"date"
v-model=
"form.apply_expiration_date"
style=
"width: 100%"
/>
...
@@ -321,8 +302,7 @@ function handleDateRangeChange(value: any) {
...
@@ -321,8 +302,7 @@ function handleDateRangeChange(value: any) {
style=
"margin-bottom: 10px"
style=
"margin-bottom: 10px"
v-model=
"item.is_show"
v-model=
"item.is_show"
v-for=
"item in form.train_platform_configs"
v-for=
"item in form.train_platform_configs"
:key=
"item.platform_key"
:key=
"item.platform_key"
>
>
<div
style=
"display: flex; align-items: center"
>
<div
style=
"display: flex; align-items: center"
>
<span
style=
"margin-right: 10px; width: 180px"
>
{{
item
.
name
}}
</span>
<span
style=
"margin-right: 10px; width: 180px"
>
{{
item
.
name
}}
</span>
<el-input
v-model=
"item.url"
/>
<el-input
v-model=
"item.url"
/>
...
@@ -336,8 +316,7 @@ function handleDateRangeChange(value: any) {
...
@@ -336,8 +316,7 @@ function handleDateRangeChange(value: any) {
style=
"margin-bottom: 10px"
style=
"margin-bottom: 10px"
v-model=
"item.is_show"
v-model=
"item.is_show"
v-for=
"item in form.competition_platform_configs"
v-for=
"item in form.competition_platform_configs"
:key=
"item.platform_key"
:key=
"item.platform_key"
>
>
<div
style=
"display: flex; align-items: center"
>
<div
style=
"display: flex; align-items: center"
>
<span
style=
"margin-right: 10px; width: 180px"
>
{{
item
.
name
}}
</span>
<span
style=
"margin-right: 10px; width: 180px"
>
{{
item
.
name
}}
</span>
<el-input
v-model=
"item.url"
/>
<el-input
v-model=
"item.url"
/>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论