Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
project-online-old
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
project-online-old
Commits
98fa0f4d
提交
98fa0f4d
authored
5月 21, 2021
作者:
pengxiaohui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改师资培训报名相关文字和报名表单
上级
adbb0730
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
163 行增加
和
78 行删除
+163
-78
screenTabs.vue
src/components/tabs/screenTabs.vue
+7
-2
item.vue
src/pages/train/components/item.vue
+9
-4
payPop.vue
src/pages/train/components/payPop.vue
+1
-1
detail.vue
src/pages/train/detail.vue
+2
-2
form.vue
src/pages/train/form.vue
+112
-60
index.vue
src/pages/train/index.vue
+32
-9
没有找到文件。
src/components/tabs/screenTabs.vue
浏览文件 @
98fa0f4d
<
template
>
<div
class=
"tabs-box"
>
<div
class=
"name"
>
{{
data
.
nam
e
}}
</div>
<div
class=
"name"
>
{{
data
.
titl
e
}}
</div>
<ul>
<template
v-for=
"(item, index) in data.options"
>
<li
...
...
@@ -18,18 +18,23 @@ export default {
data
:
{
type
:
Object
,
default
:
{}
},
activeIndex
:
{
type
:
Number
,
default
:
0
}
},
components
:
{
},
data
()
{
return
{
tabsIndex
:
0
tabsIndex
:
this
.
activeIndex
}
},
methods
:
{
tabs
(
n
)
{
this
.
tabsIndex
=
n
this
.
$emit
(
'update:activeIndex'
,
n
)
}
}
}
...
...
src/pages/train/components/item.vue
浏览文件 @
98fa0f4d
<
template
>
<div
class=
"item-box"
>
<img
:src=
"data.
cover_pc_url
"
alt=
""
>
<img
:src=
"data.
imgUri
"
alt=
""
>
<div
class=
"right-content"
>
<div
class=
"title"
>
{{
data
.
title
}}
</div>
<!-- v-html="data.additional" -->
<div
class=
"des-box"
>
<!--
<p
class=
"ind"
>
计划时间:3.24-3.26
</p>
-->
<p>
计划时间:
4月23日-4月25日
</p>
<p>
计划时间:
{{
data
.
time
}}
</p>
<!--
<p
class=
"ind"
>
ISBN:基础数据维护及档案管理
</p>
-->
<p>
计划人数:
100
</p>
<p>
计划人数:
{{
data
.
count
}}
</p>
</div>
<router-link
:to=
"`/train/detail?id=
$
{data.id}`
">
<router-link
:to=
"`/train/detail?id=
69`"
v-if=
"data.activeIndex === 1
"
>
<div
class=
"detail-btn"
>
在线报名
</div>
</router-link>
<div
class=
"detail-btn"
v-if=
"data.activeIndex === 2"
>
敬请期待
</div>
<div
class=
"detail-btn finished"
v-if=
"data.activeIndex === 3"
>
圆满结束
</div>
</div>
<!--
<div
class=
"right-time"
>
<div
class=
"week"
>
{{
setDate
(
'w'
)
}}
</div>
...
...
@@ -91,6 +93,9 @@ export default {
border-radius
:
4px
;
margin-top
:
16px
;
}
.finished
{
background
:
#a9a3a9
;
}
}
}
.right-time
{
...
...
src/pages/train/components/payPop.vue
浏览文件 @
98fa0f4d
...
...
@@ -8,7 +8,7 @@
</div>
<div
class=
"tips-cen mar-t-20"
>
<div
class=
"name"
>
费
用:
</div>
<div
class=
"money"
>
178
0
<span>
元
</span></div>
<div
class=
"money"
>
296
0
<span>
元
</span></div>
</div>
<div
class=
"tips-top"
>
<div
class=
"name"
>
支付方式:
</div>
...
...
src/pages/train/detail.vue
浏览文件 @
98fa0f4d
...
...
@@ -11,8 +11,8 @@
<div
class=
"des-box"
>
<p>
活动类型:师资培训
</p>
<p>
培训形式:线下培训
</p>
<p>
培训地点:
汇丰大厦浙江
金苑培训中心(浙江金融职业学院培训中心)
</p>
<p>
培训时间:
4月23日-4月25
日
</p>
<p>
培训地点:
河南郑州
金苑培训中心(浙江金融职业学院培训中心)
</p>
<p>
培训时间:
6月15日-6月19
日
</p>
</div>
<router-link
to=
"/train/form"
>
<div
class=
"detail-btn"
>
立即报名
</div>
...
...
src/pages/train/form.vue
浏览文件 @
98fa0f4d
...
...
@@ -3,68 +3,67 @@
<!--
<breadcrumb
class=
"content-max-width crumb"
:data=
"crumbData"
/>
-->
<div
class=
"title-form"
>
师资培训报名信息填写
</div>
<div
class=
"form-box"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"8
0px"
class=
"forms"
:disabled=
"isPayStatus"
>
<el-form-item
label=
"院校名称"
label-width=
"110px
"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"11
0px"
class=
"forms"
:disabled=
"isPayStatus"
>
<el-form-item
label=
"院校名称"
prop=
"school_name
"
>
<el-input
v-model=
"form.school_name"
></el-input>
</el-form-item>
<el-form-item
label=
"院校地址"
label-width=
"110px"
>
<el-input
v-model=
"form.school_address"
></el-input>
</el-form-item>
<el-form-item
label=
"真实姓名"
id=
"name"
label-width=
"110px"
>
<el-form-item
label=
"真实姓名"
id=
"name"
prop=
"username"
>
<el-input
v-model=
"form.username"
></el-input>
</el-form-item>
<el-form-item
label=
"性别"
id=
"sex"
label-width=
"110p
x"
>
<el-
select
v-model=
"form.sex"
placeholder=
"请选择"
class=
"width100
"
>
<el-
option
label=
"男"
value=
"1"
></el-option
>
<el-
option
label=
"女"
value=
"2"
></el-option
>
</el-
select
>
<el-form-item
label=
"性别"
id=
"sex"
prop=
"se
x"
>
<el-
radio-group
v-model=
"form.sex
"
>
<el-
radio
label=
"1"
>
男
</el-radio
>
<el-
radio
label=
"2"
>
女
</el-radio
>
</el-
radio-group
>
</el-form-item>
<el-form-item
label=
"民族"
id=
"mz"
label-width=
"110px
"
>
<el-form-item
label=
"民族"
id=
"mz"
prop=
"nation
"
>
<el-input
v-model=
"form.nation"
></el-input>
</el-form-item>
<
el-form-item
label=
"院系及职务"
label-width=
"110px
"
>
<
!--
<el-form-item
label=
"院系及职务
"
>
<el-input
v-model=
"form.department_duty"
></el-input>
</el-form-item>
<el-form-item
label=
"身份证号"
label-width=
"110px
"
>
</el-form-item>
-->
<el-form-item
label=
"身份证号"
prop=
"id_num
"
>
<el-input
v-model=
"form.id_num"
></el-input>
</el-form-item>
<
el-form-item
label=
"常用邮箱"
id=
"mail"
label-width=
"110px
"
>
<
!--
<el-form-item
label=
"常用邮箱"
id=
"mail
"
>
<el-input
v-model=
"form.email"
></el-input>
</el-form-item>
-->
<el-form-item
label=
"住宿方式"
id=
"zs"
prop=
"live_status"
>
<el-radio-group
v-model=
"form.live_status"
>
<el-radio
label=
"1"
>
单住
</el-radio>
<el-radio
label=
"2"
>
单住
</el-radio>
<el-radio
label=
"0"
>
无
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"单/合住"
id=
"zs"
label-width=
"110px"
>
<el-select
v-model=
"form.live_status"
placeholder=
"请选择"
class=
"width100"
>
<el-option
label=
"单住"
value=
"1"
></el-option>
<el-option
label=
"合住"
value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label-width=
"110px"
>
<el-form-item
style=
"height:10px;"
>
<div
class=
"line"
>
发票信息填写
</div>
</el-form-item>
<el-form-item
label=
"发票类型"
id=
"fplx"
label-width=
"110px
"
>
<el-form-item
label=
"发票类型"
id=
"fplx"
prop=
"invoice_type
"
>
<el-select
v-model=
"form.invoice_type"
placeholder=
"请选择"
class=
"width100"
>
<el-option
label=
"增值税普通发票"
value=
"增值税普通发票"
></el-option>
<el-option
label=
"增值税专用发票"
value=
"增值税专用发票"
></el-option>
<el-option
label=
"无"
value=
"无"
></el-option>
<el-option
label=
"普通发票"
value=
"增值税普通发票"
></el-option>
<el-option
label=
"专用发票"
value=
"增值税专用发票"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"发票抬头"
label-width=
"110px
"
>
<el-form-item
label=
"发票抬头"
v-if=
"form.invoice_type && form.invoice_type !== '无'"
prop=
"invoice_title"
:rules=
"
{ required: true, message: '请输入发票抬头', trigger: 'blur' }
">
<el-input
v-model=
"form.invoice_title"
></el-input>
</el-form-item>
<el-form-item
label=
"纳税人识别号"
label-width=
"110px
"
>
<el-form-item
label=
"纳税人识别号"
v-if=
"form.invoice_type && form.invoice_type !== '无'"
prop=
"taxpayer_registration_num"
:rules=
"
{ required: true, message: '请输入纳税人识别号', trigger: 'blur' }
">
<el-input
v-model=
"form.taxpayer_registration_num"
></el-input>
</el-form-item>
<el-form-item
label=
"
地址电话"
label-width=
"110px
"
>
<el-form-item
label=
"
注册地址"
v-if=
"form.invoice_type === '增值税专用发票'"
prop=
"invoice_address_mobile"
:rules=
"
{ required: true, message: '请输入注册地址', trigger: 'blur' }
">
<el-input
v-model=
"form.invoice_address_mobile"
></el-input>
</el-form-item>
<el-form-item
label=
"开户行及账号"
id=
"account"
label-width=
"110px
"
>
<el-form-item
label=
"开户行及账号"
id=
"account"
v-if=
"form.invoice_type === '增值税专用发票'"
prop=
"opening_bank_account"
:rules=
"
{ required: true, message: '请输入开户行及账号', trigger: 'blur' }
">
<el-input
v-model=
"form.opening_bank_account"
></el-input>
</el-form-item>
<el-form-item
label=
"发票内容"
id=
"sh"
label-width=
"110px
"
>
<el-form-item
label=
"发票内容"
id=
"sh"
v-if=
"form.invoice_type && form.invoice_type !== '无'
"
>
<el-input
v-model=
"form.invoice_detail"
readonly
></el-input>
</el-form-item>
<el-form-item
label=
"手机号码"
label-width=
"110px
"
>
<el-form-item
label=
"手机号码"
prop=
"mobile
"
>
<el-input
v-model=
"form.mobile"
></el-input>
</el-form-item>
<el-form-item
label=
"验证码"
label-width=
"110px"
v-if=
"!isLogin"
>
<el-form-item
label=
"验证码"
v-if=
"!isLogin"
>
<el-input
style=
"width: 166px"
v-model=
"form.checked_code"
></el-input>
<el-button
style=
"border-radius: 3px; width: 118px"
...
...
@@ -132,13 +131,31 @@ import breadcrumb from '@/components/breadcrumb'
import
payPop
from
'./components/payPop'
const
IDCARD_REG
=
/
(
^
[
1-9
]\d{5}(
18|19|
([
23
]\d))\d{2}((
0
[
1-9
])
|
(
10|11|12
))(([
0-2
][
1-9
])
|10|20|30|31
)\d{3}[
0-9Xx
]
$
)
|
(
^
[
1-9
]\d{5}\d{2}((
0
[
1-9
])
|
(
10|11|12
))(([
0-2
][
1-9
])
|10|20|30|31
)\d{2}[
0-9Xx
]
$
)
/
const
MOBILE_REG
=
/^1
(
3
[
0-9
]
|4
[
01456879
]
|5
[
0-35-9
]
|6
[
2567
]
|7
[
0-8
]
|8
[
0-9
]
|9
[
0-35-9
])\d{8}
$/
const
EMAIL_REG
=
/^
[
A-Za-z0-9
]
+
([
_
\.][
A-Za-z0-9
]
+
)
*@
([
A-Za-z0-9
\-]
+
\.)
+
[
A-Za-z
]{2,6}
$/
const
EMAIL_REG
=
/^
[
A-Za-z0-9
]
+
([
_
\.
\\
-
][
A-Za-z0-9
]
+
)
*@
([
A-Za-z0-9
\-]
+
\.)
+
[
A-Za-z
]{2,6}
$/
export
default
{
components
:
{
breadcrumb
,
payPop
},
data
()
{
const
IDChecked
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
)
{
if
(
!
IDCARD_REG
.
test
(
value
))
{
callback
(
new
Error
(
'身份证号格式错误'
))
}
else
{
callback
()
}
}
}
const
mobileChecked
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
)
{
if
(
!
MOBILE_REG
.
test
(
value
))
{
callback
(
new
Error
(
'手机号格式错误'
))
}
else
{
callback
()
}
}
}
return
{
isInfoNull
:
false
,
isPayStatus
:
false
,
...
...
@@ -153,13 +170,13 @@ export default {
],
form
:
{
school_name
:
''
,
school_address
:
''
,
//
school_address: '',
username
:
''
,
sex
:
''
,
nation
:
''
,
department_duty
:
''
,
//
department_duty: '',
id_num
:
''
,
email
:
''
,
//
email: '',
live_status
:
''
,
invoice_type
:
''
,
invoice_title
:
''
,
...
...
@@ -170,6 +187,22 @@ export default {
mobile
:
''
,
checked_code
:
''
},
rules
:
{
school_name
:
{
required
:
true
,
message
:
'请输入院校名称'
,
trigger
:
'blur'
},
username
:
{
required
:
true
,
message
:
'请输入真实姓名'
,
trigger
:
'blur'
},
sex
:
{
required
:
true
,
message
:
'请选择性别'
,
trigger
:
'change'
},
nation
:
{
required
:
true
,
message
:
'请输入民族'
,
trigger
:
'blur'
},
id_num
:
[
{
required
:
true
,
message
:
'请输入身份证号'
,
trigger
:
'blur'
},
{
validator
:
IDChecked
,
trigger
:
'blur'
}
],
live_status
:
{
required
:
true
,
message
:
'请选择居住方式'
,
trigger
:
'change'
},
invoice_type
:
{
required
:
true
,
message
:
'请选择发票类型'
,
trigger
:
'change'
},
mobile
:
[
{
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
},
{
validator
:
mobileChecked
,
trigger
:
'blur'
}
]
},
isBtnDisabled
:
false
,
isPayPopShow
:
false
,
isLogin
:
false
...
...
@@ -186,10 +219,10 @@ export default {
},
mounted
()
{
// $('#name label').html('姓 名')
$
(
'#sex
label'
).
html
(
'性 别'
)
$
(
'#mz
label'
).
html
(
'民 族'
)
$
(
'#sex
>
label'
).
html
(
'性 别'
)
$
(
'#mz
>
label'
).
html
(
'民 族'
)
// $('#mail label').html('邮 箱')
$
(
'#zs
label'
).
html
(
'单 /合住'
)
// $('#zs>
label').html('单 /合住')
// $('#account label').html('账 号')
// $('#sh label').html('税 号')
},
...
...
@@ -272,26 +305,33 @@ export default {
this
.
form
.
order_no
=
'1'
}
}
let
flag
=
true
Object
.
keys
(
this
.
form
).
map
(
item
=>
{
if
(
this
.
form
[
item
]
===
''
)
{
console
.
log
(
item
)
flag
=
false
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
call
()
}
else
{
return
false
}
})
console
.
log
(
this
.
form
)
if
(
!
flag
)
{
// this.$message('请完善信息')
this
.
message
(
'请完善信息'
)
}
else
if
(
!
MOBILE_REG
.
test
(
this
.
form
.
mobile
))
{
this
.
message
(
'手机号格式错误'
)
}
else
if
(
!
IDCARD_REG
.
test
(
this
.
form
.
id_num
))
{
this
.
message
(
'身份证号格式错误'
)
}
else
if
(
!
EMAIL_REG
.
test
(
this
.
form
.
email
))
{
this
.
message
(
'邮箱格式错误'
)
}
else
{
call
()
}
// let flag = true
// Object.keys(this.form).map(item => {
// if (this.form[item] === '') {
// console.log(item)
// flag = false
// }
// })
// console.log(this.form)
// if (!flag) {
// // this.$message('请完善信息')
// this.message('请完善信息')
// } else if (!MOBILE_REG.test(this.form.mobile)) {
// this.message('手机号格式错误')
// } else if (!IDCARD_REG.test(this.form.id_num)) {
// this.message('身份证号格式错误')
// } else if (!EMAIL_REG.test(this.form.email)) {
// this.message('邮箱格式错误')
// } else {
// call()
// }
},
onSubmit
()
{
/* let arr = [this.defaultRegister(), this.sendEnrollInfo()];
...
...
@@ -378,6 +418,18 @@ export default {
},
sendEnrollInfo
()
{
let
promise
=
new
Promise
((
resolve
,
reject
)
=>
{
const
form
=
{...
this
.
form
}
if
(
form
.
invoice_type
!==
'增值税专用发票'
)
{
delete
form
.
invoice_address_mobile
delete
form
.
opening_bank_account
if
(
form
.
invoice_type
===
'无'
)
{
delete
form
.
invoice_title
delete
form
.
taxpayer_registration_num
delete
form
.
invoice_detail
}
}
console
.
log
(
form
)
console
.
log
(
this
.
form
)
action
.
articleAction
.
formCommit
(
this
.
form
).
then
(
res
=>
{
if
(
res
&&
res
.
code
===
200
)
{
resolve
({
...
...
@@ -543,12 +595,12 @@ export default {
}
.line
{
position
:
absolute
;
top
:
0
;
top
:
10px
;
left
:
50%
;
width
:
1000px
;
transform
:
translate
(
-50%
,
-10px
);
border-top
:
1px
dashed
#ccc
;
line-height
:
2
0px
;
line-height
:
3
0px
;
// margin-bottom: 30px;
}
.content-max-width
{
...
...
src/pages/train/index.vue
浏览文件 @
98fa0f4d
<
template
>
<div
class=
"content-max-width"
>
<!--
<breadcrumb
class=
"content-max-width crumb"
:data=
"crumbData"
/>
-->
<!--
<btn-tabs
class=
"btn-tabs-box"
@
tabsChange=
"tabsChange"
:data=
"btnTabsData"
></btn-tabs>
-->
<template
v-if=
"!tabsIndex"
>
<template>
<div
class=
"new-tits"
>
师资培训报名
</div>
<screen-tabs
class=
"screen-tabs-box"
:
data=
"screenTabsData
"
></screen-tabs>
<screen-tabs
class=
"screen-tabs-box"
:
activeIndex
.
sync=
"tabsIndex"
:data=
"screenTabsData"
@
tabChange=
"HandleTabChange
"
></screen-tabs>
<div
class=
"train-mian"
>
<ul>
<template
v-for=
"(item, index) in
l
ist"
>
<li
:key=
"index"
>
<template
v-for=
"(item, index) in
tabsContentL
ist"
>
<li
:key=
"index"
v-if=
"tabsIndex === 0 || tabsIndex === item.activeIndex"
>
<item
:data=
"item"
></item>
</li>
</
template
>
...
...
@@ -28,7 +27,7 @@
</el-pagination>
</div>
</template>
<
template
v-
else
>
<
template
v-
if=
"false"
>
<search
/>
<noData/>
</
template
>
...
...
@@ -55,7 +54,30 @@ export default {
return
{
articleClassify
:
this
.
$store
.
state
.
classify
,
list
:
[],
tabsIndex
:
0
,
tabsIndex
:
1
,
tabsContentList
:
[
{
imgUri
:
'http://vocational-store.oss-cn-beijing.aliyuncs.com/files/20210225/9e74559a240db3b39b824418353ec3a3.jpg'
,
title
:
'2021年第2期“1+X金融产品数字化营销职业技能等级证书(中级)”师资培训班'
,
time
:
'6月15日-6月19日'
,
count
:
100
,
activeIndex
:
1
},
{
imgUri
:
'http://vocational-store.oss-cn-beijing.aliyuncs.com/files/20210225/9e74559a240db3b39b824418353ec3a3.jpg'
,
title
:
'2021年第3期“1+X金融产品数字化营销职业技能等级证书(中级)”师资培训班'
,
time
:
'待定'
,
count
:
'待定'
,
activeIndex
:
2
},
{
imgUri
:
'http://vocational-store.oss-cn-beijing.aliyuncs.com/files/20210225/9e74559a240db3b39b824418353ec3a3.jpg'
,
title
:
'2021年第1期“1+X金融产品数字化营销职业技能等级证书(中级)”师资培训班'
,
time
:
'4月23日-4月25日'
,
count
:
100
,
activeIndex
:
3
}
],
value3
:
''
,
btnTabsData
:
{
options
:
[
'会议报名'
,
'核心专家'
]
...
...
@@ -80,8 +102,9 @@ export default {
this
.
newsList
()
},
methods
:
{
tabsChange
(
i
)
{
this
.
tabsIndex
=
i
HandleTabChange
(
index
)
{
console
.
log
(
index
)
this
.
tabsIndex
=
index
},
newsList
()
{
const
loading
=
this
.
$loading
({
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论