Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
ministers
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
ministers
Commits
69e39a7c
Commit
69e39a7c
authored
Apr 13, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
107241ce
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1319 additions
and
597 deletions
+1319
-597
quasar.conf.js
quasar.conf.js
+2
-1
JapaneseTrainApi.js
src/api/JapaneseTrainApi.js
+17
-0
mediaCenterApi.js
src/api/mediaCenterApi.js
+12
-0
adv_img.png
src/assets/images/mediaCenter/adv_img.png
+0
-0
logo.png
src/assets/images/mediaCenter/logo.png
+0
-0
header.vue
src/components/header/header.vue
+7
-9
noData.vue
src/components/noData/noData.vue
+9
-0
JapaneseTrain.vue
src/pages/JapaneseTrain/JapaneseTrain.vue
+120
-20
classPlanList.vue
src/pages/JapaneseTrain/classPlanList.vue
+488
-0
eduProductDetail.vue
src/pages/JapaneseTrain/eduProductDetail.vue
+115
-4
eduProductList.vue
src/pages/JapaneseTrain/eduProductList.vue
+8
-4
jobDetail.vue
src/pages/joinUs/jobDetail.vue
+236
-0
joinUs.vue
src/pages/joinUs/joinUs.vue
+137
-49
mediaCenter.vue
src/pages/mediaCenter/mediaCenter.vue
+18
-6
mediaCenterDetail.vue
src/pages/mediaCenter/mediaCenterDetail.vue
+148
-26
newsList.vue
src/pages/mediaCenter/newsList.vue
+0
-478
routes.js
src/router/routes.js
+2
-0
No files found.
quasar.conf.js
View file @
69e39a7c
...
...
@@ -48,7 +48,8 @@ module.exports = function (ctx) {
build
:
{
vueRouterMode
:
'hash'
,
// available values: 'hash', 'history'
env
:
ctx
.
dev
?
{
API
:
'http://192.168.1.36:8300/api'
// API: 'http://192.168.1.36:8300/api'
API
:
'http://192.168.1.13:8085/api'
}
:
{
API
:
'http://eduapi.oytour.com/api'
},
...
...
src/api/JapaneseTrainApi.js
View file @
69e39a7c
...
...
@@ -83,4 +83,21 @@ export function getWebTeacherList(type) {
Type
:
type
}
});
}
//新增咨询
export
function
addWebAdvisory
(
msg
)
{
return
request
({
url
:
'/Web/AddWebAdvisory'
,
method
:
"post"
,
data
:
{
Group_Id
:
groupId
,
Domain
:
curDomain
,
LinkMan
:
msg
.
LinkMan
,
LinkTel
:
msg
.
LinkTel
,
Remark
:
msg
.
Remark
,
AdvType
:
msg
.
AdvType
,
SourceId
:
msg
.
SourceId
}
});
}
\ No newline at end of file
src/api/mediaCenterApi.js
View file @
69e39a7c
...
...
@@ -28,6 +28,18 @@ export function getNewsList(msg) {
}
});
}
//根据新闻编号获取新闻详情
export
function
getNewsDetail
(
id
)
{
return
request
({
url
:
'/Web/GetWebNews'
,
method
:
"post"
,
data
:
{
Group_Id
:
groupId
,
Domain
:
curDomain
,
Id
:
id
}
});
}
//获取品牌动漫分页列表
export
function
getWebCartoonPage
(
msg
)
{
return
request
({
...
...
src/assets/images/mediaCenter/adv_img.png
0 → 100644
View file @
69e39a7c
8.72 KB
src/assets/images/mediaCenter/logo.png
0 → 100644
View file @
69e39a7c
8.76 KB
src/components/header/header.vue
View file @
69e39a7c
...
...
@@ -44,8 +44,8 @@
class=
"type2"
v-if=
"type == 2"
>
<div
class=
"row items-center full-height"
>
<div
class=
"col
"
style=
"marginLeft:3.125vw
"
>
<div
class=
"row items-center full-height"
>
<div
class=
"col
navImg
"
>
<img
style=
"height: 61px"
src=
"../../assets/images/logo.png"
/>
</div>
<div
class=
"col"
>
...
...
@@ -65,13 +65,6 @@
content-class=
"items-nav"
@
click=
"jumpPage(item.MenuUrl)"
/>
<!--
<q-tab
name=
"home"
label=
"甲鹤教育"
content-class=
"items-nav"
@
click=
"jumpPage('/index')"
/>
<q-tab
name=
"japan"
label=
"日语培训"
content-class=
"items-nav"
@
click=
"jumpPage('/JapaneseTrain')"
/>
<q-tab
name=
"liuxue"
label=
"留学服务"
content-class=
"items-nav"
@
click=
"jumpPage('/studyServe')"
/>
<q-tab
name=
"jiuye"
label=
"就业服务"
content-class=
"items-nav"
@
click=
"jumpPage('/workServe')"
/>
<q-tab
name=
"news"
label=
"媒体中心"
content-class=
"items-nav"
@
click=
"jumpPage('/mediaCenter')"
/>
<q-tab
name=
"about"
label=
"关于我们"
content-class=
"items-nav"
@
click=
"jumpPage('/aboutUs')"
/>
<q-tab
name=
"join"
label=
"加入我们"
content-class=
"items-nav"
@
click=
"jumpPage('')"
/>
-->
</q-tabs>
</div>
</div>
...
...
@@ -151,4 +144,9 @@ export default {
font-family
:
"pingfang-b"
!
important
;
}
}
.navImg
{
margin-left
:
3
.125vw
;
display
:
flex
;
align-items
:
center
;
}
</
style
>
\ No newline at end of file
src/components/noData/noData.vue
0 → 100644
View file @
69e39a7c
<
template
>
<div
class=
"nodata"
>
暂无数据
</div>
</
template
>
<
style
lang=
"scss"
scoped
>
.nodata
{
text-align
:
center
;
font-size
:
1vw
;
}
</
style
>
\ No newline at end of file
src/pages/JapaneseTrain/JapaneseTrain.vue
View file @
69e39a7c
...
...
@@ -51,18 +51,12 @@
</div>
<div
class=
"seemore"
@
click=
"
goEduProductList
"
@
click=
"
seeMore('/eduProductList')
"
v-if=
"courseList.length > 0"
>
查看更多
</div>
<div
v-if=
"courseList.length == 0"
class=
"nodata"
style=
"textalign: center"
>
暂无数据
</div>
<NoData
v-if=
"courseList.length==0"
></NoData>
</div>
<!-- 开班计划 -->
<div
class=
"edu_con"
>
...
...
@@ -155,19 +149,65 @@
</div>
<div
class=
"infoBox4"
>
<div
class=
"title"
>
咨询客服
</div>
<div
class=
"consultBtn"
>
去咨询
</div>
<div
class=
"consultBtn"
@
click=
"show(item.ClassId)"
>
去咨询
</div>
</div>
</div>
</div>
<div
class=
"seemore"
v-if=
"classPlanList.length > 0"
>
查看更多
</div>
<div
v-if=
"classPlanList.length == 0"
class=
"nodata"
style=
"textalign: center"
>
暂无数据
</div>
<div
class=
"seemore"
v-if=
"classPlanList.length > 0"
@
click=
"seeMore('/classPlanList')"
>
查看更多
</div>
<NoData
v-if=
"classPlanList.length==0"
></NoData>
</div>
<
template
>
<q-dialog
ref=
"dialog"
@
hide=
"onDialogHide"
>
<q-card
class=
"q-dialog-plugin"
>
<div
class=
"q-pa-md"
style=
"max-width: 400px"
>
<q-form
@
submit=
"onSubmit"
@
reset=
"onReset"
class=
"q-gutter-md"
>
<q-input
filled
ref=
"name"
v-model=
"advisorymsg.LinkMan"
label=
"联系人"
lazy-rules
:rules=
"[(val) => (val && val.length > 0) || '请输入联系人']"
/>
<q-input
filled
ref=
"phone"
v-model=
"advisorymsg.LinkTel"
label=
"联系电话"
mask=
"###########"
lazy-rules
:rules=
"[
(val) => (val && val.length === 11) || '请输入11位联系电话',
]"
/>
<div
style=
"max-width: 400px"
>
<q-input
label=
"备注"
v-model=
"advisorymsg.Remark"
filled
type=
"textarea"
/>
</div>
<div>
<q-btn
label=
"提交"
type=
"Submit"
color=
"primary"
/>
<q-btn
label=
"重置"
type=
"reset"
color=
"primary"
flat
class=
"q-ml-sm"
/>
</div>
</q-form>
</div>
<!-- 按钮示例 -->
<q-card-actions
align=
"right"
>
<!--
<q-btn
color=
"primary"
label=
"OK"
@
click=
"onOKClick"
/>
-->
<q-btn
color=
"primary"
label=
"关闭"
@
click=
"onCancelClick"
/>
</q-card-actions>
</q-card>
</q-dialog>
</
template
>
<!-- 教师团队 -->
<TeacherTeam
:viewNum=
"4"
:teacherList=
"teacherList"
/>
<!-- 底部 -->
...
...
@@ -179,6 +219,7 @@ import Header from "../../components/header/header";
import
Footer
from
"../../components/footer/footerType2"
;
import
Banner
from
"../../components/banner/banner"
;
import
TeacherTeam
from
"../../components/teacherTeam/teacherTeam"
;
import
NoData
from
"../../components/noData/noData"
;
import
{
getWebNavList
}
from
"../../api/indexApi.js"
;
import
{
getCourseCategoryList
,
...
...
@@ -186,6 +227,7 @@ import {
getClassPlan
,
getCourseList
,
getWebTeacherList
,
addWebAdvisory
}
from
"../../api/JapaneseTrainApi"
;
export
default
{
components
:
{
...
...
@@ -193,6 +235,7 @@ export default {
Footer
,
Banner
,
TeacherTeam
,
NoData
},
data
()
{
return
{
...
...
@@ -204,7 +247,6 @@ export default {
],
swiperData
:
[],
selectCourseText
:
""
,
//课程系列选择框
classSelectSeries
:
""
,
classSelectCourseName
:
""
,
options
:
[],
...
...
@@ -224,6 +266,13 @@ export default {
courseList
:
[],
classPlanList
:
[],
teacherList
:
[],
advisorymsg
:
{
LinkMan
:
""
,
LinkTel
:
""
,
Remark
:
""
,
AdvType
:
2
,
SourceId
:
""
,
},
};
},
watch
:
{
...
...
@@ -273,8 +322,8 @@ export default {
this
.
getClassPlan
();
},
//去教育产品列表//课程查看更多
goEduProductList
(
)
{
this
.
$router
.
push
(
"/eduProductList"
);
seeMore
(
url
)
{
this
.
$router
.
push
(
url
);
},
//查看课程详情
seeDetail
(
id
)
{
...
...
@@ -313,6 +362,57 @@ export default {
return
item
});
},
//对话框
show
(
id
)
{
this
.
$refs
.
dialog
.
show
();
this
.
advisorymsg
.
SourceId
=
id
;
},
hide
()
{
this
.
$refs
.
dialog
.
hide
();
},
onDialogHide
()
{
// QDialog发出“hide”事件时
// 需要发出
this
.
$emit
(
"hide"
);
},
onCancelClick
()
{
// 我们只需要隐藏对话框
this
.
hide
();
},
//提交
onSubmit
()
{
this
.
$refs
.
name
.
validate
();
this
.
$refs
.
phone
.
validate
();
if
(
this
.
$refs
.
name
.
hasError
||
this
.
$refs
.
phone
.
hasError
)
{
this
.
formHasError
=
true
;
}
else
{
this
.
advisory
();
}
},
onReset
()
{
this
.
advisorymsg
.
LinkMan
=
""
;
this
.
advisorymsg
.
LinkTel
=
""
;
this
.
$refs
.
name
.
resetValidation
();
this
.
$refs
.
phone
.
resetValidation
();
},
//咨询
async
advisory
()
{
let
res
=
await
addWebAdvisory
(
this
.
advisorymsg
);
if
(
res
.
Code
===
1
)
{
this
.
$q
.
notify
({
type
:
"positive"
,
icon
:
"done"
,
position
:
"top"
,
color
:
"positive"
,
message
:
res
.
Message
,
});
this
.
hide
()
}
},
},
mounted
()
{
this
.
menuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"menuList"
));
...
...
src/pages/JapaneseTrain/classPlanList.vue
0 → 100644
View file @
69e39a7c
This diff is collapsed.
Click to expand it.
src/pages/JapaneseTrain/eduProductDetail.vue
View file @
69e39a7c
...
...
@@ -11,9 +11,62 @@
<div
class=
"name"
>
{{
courseDetail
.
CourseName
}}
</div>
<div
class=
"line"
></div>
<div
class=
"desc"
v-html=
"courseDetail.CourseIntro"
></div>
<div
class=
"consult"
>
立即咨询
</div>
<div
class=
"consult"
@
click=
"show"
>
立即咨询
</div>
</div>
</div>
<!-- 对话框 -->
<template>
<q-dialog
ref=
"dialog"
@
hide=
"onDialogHide"
>
<q-card
class=
"q-dialog-plugin"
>
<div
class=
"q-pa-md"
style=
"max-width: 400px"
>
<q-form
@
submit=
"onSubmit"
@
reset=
"onReset"
class=
"q-gutter-md"
>
<q-input
filled
ref=
"name"
v-model=
"advisorymsg.LinkMan"
label=
"联系人"
lazy-rules
:rules=
"[(val) => (val && val.length > 0) || '请输入联系人']"
/>
<q-input
filled
ref=
"phone"
v-model=
"advisorymsg.LinkTel"
label=
"联系电话"
mask=
"###########"
lazy-rules
:rules=
"[
(val) => (val && val.length === 11) || '请输入11位联系电话',
]"
/>
<div
style=
"max-width: 400px"
>
<q-input
label=
"备注"
v-model=
"advisorymsg.Remark"
filled
type=
"textarea"
/>
</div>
<div>
<q-btn
label=
"立即咨询"
type=
"Submit"
color=
"primary"
/>
<q-btn
label=
"重置"
type=
"reset"
color=
"primary"
flat
class=
"q-ml-sm"
/>
</div>
</q-form>
</div>
<!-- 按钮示例 -->
<q-card-actions
align=
"right"
>
<!--
<q-btn
color=
"primary"
label=
"OK"
@
click=
"onOKClick"
/>
-->
<q-btn
color=
"primary"
label=
"关闭"
@
click=
"onCancelClick"
/>
</q-card-actions>
</q-card>
</q-dialog>
</
template
>
<!-- 教育相关产品 -->
<div
class=
"edu_con"
>
<div
class=
"edu_name"
>
教育相关产品
</div>
...
...
@@ -40,7 +93,7 @@
<
script
>
import
Header
from
"../../components/header/header"
;
import
Footer
from
"../../components/footer/footerType2"
;
import
{
getCourseDetail
}
from
"../../api/JapaneseTrainApi"
;
import
{
getCourseDetail
,
addWebAdvisory
}
from
"../../api/JapaneseTrainApi"
;
export
default
{
components
:
{
Header
,
...
...
@@ -57,6 +110,13 @@ export default {
courseId
:
0
,
courseDetail
:
{},
RandList
:
[],
advisorymsg
:
{
LinkMan
:
""
,
LinkTel
:
""
,
Remark
:
""
,
AdvType
:
1
,
SourceId
:
""
,
},
};
},
...
...
@@ -66,13 +126,64 @@ export default {
this
.
courseDetail
=
res
.
Data
.
CourseObj
;
this
.
RandList
=
res
.
Data
.
RandList
;
},
//咨询
async
advisory
()
{
this
.
advisorymsg
.
SourceId
=
this
.
$route
.
query
.
CourseId
let
res
=
await
addWebAdvisory
(
this
.
advisorymsg
);
if
(
res
.
Code
===
1
)
{
this
.
$q
.
notify
({
type
:
"positive"
,
icon
:
"done"
,
position
:
"top"
,
color
:
"positive"
,
message
:
res
.
Message
,
});
this
.
hide
()
}
},
//查看详情
seeDetail
(
id
)
{
this
.
$router
.
push
({
path
:
"/eduProductDetail"
,
query
:
{
CourseId
:
id
}
});
},
//对话框
show
()
{
this
.
$refs
.
dialog
.
show
();
},
hide
()
{
this
.
$refs
.
dialog
.
hide
();
},
onDialogHide
()
{
// QDialog发出“hide”事件时
// 需要发出
this
.
$emit
(
"hide"
);
},
onCancelClick
()
{
// 我们只需要隐藏对话框
this
.
hide
();
},
//申请职位表单
onSubmit
()
{
this
.
$refs
.
name
.
validate
();
this
.
$refs
.
phone
.
validate
();
if
(
this
.
$refs
.
name
.
hasError
||
this
.
$refs
.
phone
.
hasError
)
{
this
.
formHasError
=
true
;
}
else
{
this
.
advisory
();
}
},
onReset
()
{
this
.
applymsg
.
LinkMan
=
""
;
this
.
applymsg
.
LinkTel
=
""
;
this
.
$refs
.
name
.
resetValidation
();
this
.
$refs
.
phone
.
resetValidation
();
},
},
mounted
()
{
this
.
menuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"menuList"
))
this
.
menuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"menuList"
));
this
.
courseId
=
this
.
$route
.
query
.
CourseId
;
this
.
getCourseDetail
();
},
...
...
@@ -134,7 +245,7 @@ export default {
margin-bottom
:
2
.083vw
;
}
.desc
{
height
:
10
.26vw
;
//
height: 10.26vw;
width
:
100%
;
overflow
:
hidden
;
font-size
:
0
.729vw
;
...
...
src/pages/JapaneseTrain/eduProductList.vue
View file @
69e39a7c
...
...
@@ -42,7 +42,8 @@
</div>
</div>
</div>
<div
v-if=
"courseList.length==0"
class=
"nodata"
>
暂无数据
</div>
<!-- <div v-if="courseList.length==0" class="nodata">暂无数据</div> -->
<NoData
v-if=
"courseList.length==0"
></NoData>
</div>
<div
class=
"pageBox"
>
<q-pagination
...
...
@@ -64,11 +65,13 @@
<
script
>
import
Header
from
"../../components/header/header"
;
import
Footer
from
"../../components/footer/footerType2"
;
import
NoData
from
"../../components/noData/noData"
;
import
{
getCourseCategoryList
,
getCoursePageList
}
from
"../../api/JapaneseTrainApi"
export
default
{
components
:
{
Header
,
Footer
,
NoData
},
data
()
{
return
{
...
...
@@ -76,9 +79,10 @@ export default {
{
Name
:
""
,
},],
currentPage
:
1
,
selectText
:
""
,
options
:
[],
currentPage
:
1
,
pageCount
:
0
,
msg
:{
pageIndex
:
1
,
...
...
@@ -91,12 +95,12 @@ export default {
},
watch
:{
selectText
(
val
){
this
.
currentPage
=
1
this
.
msg
.
pageIndex
=
1
if
(
val
==
null
){
this
.
msg
.
QCateIds
=
""
// this.msg.CourseName=""
}
else
{
this
.
msg
.
QCateIds
=
val
.
CateId
// this.msg.CourseName=val.CateName
}
this
.
getCoursePageList
()
}
...
...
src/pages/joinUs/jobDetail.vue
0 → 100644
View file @
69e39a7c
<
template
>
<div
class=
"jiahe"
>
<Header
:menuList=
"menuList"
:curMenu=
"menuList[6].Name"
:type=
"2"
/>
<div
class=
"conBox"
>
<div
class=
"con_title"
>
职位详情
</div>
<div
class=
"jobItem"
>
<div
class=
"job_title"
>
{{
dialogData
.
PositionName
}}
</div>
<div
class=
"job_price"
>
薪资:
{{
dialogData
.
Salary
}}
</div>
<div
class=
"job_other"
>
{{
dialogData
.
Experience
}}
<span
style=
"margin: 0 0.5vw"
>
|
</span>
{{
dialogData
.
Education
}}
</div>
<div
class=
"job_price"
>
工作地点:
{{
dialogData
.
WorkPlace
}}
</div>
<div
class=
"job_other"
>
发布时间:
{{
dialogData
.
PublishTimeStr
}}
</div>
<div
class=
"job_price"
>
职位详情:
{{
dialogData
.
PositionDesc
}}
</div>
<div
class=
"apply_job"
@
click=
"show"
>
申请职位
</div>
</div>
</div>
<!-- 对话框 -->
<template>
<q-dialog
ref=
"dialog"
@
hide=
"onDialogHide"
>
<q-card
class=
"q-dialog-plugin"
>
<div
class=
"q-pa-md"
style=
"max-width: 400px"
>
<q-form
@
submit=
"onSubmit"
@
reset=
"onReset"
class=
"q-gutter-md"
>
<q-input
filled
ref=
"name"
v-model=
"applymsg.LinkMan"
label=
"联系人"
lazy-rules
:rules=
"[(val) => (val && val.length > 0) || '请输入联系人']"
/>
<q-input
filled
ref=
"phone"
v-model=
"applymsg.LinkTel"
label=
"联系电话"
mask=
"###########"
lazy-rules
:rules=
"[
(val) => (val && val.length === 11) || '请输入11位联系电话',
]"
/>
<div
style=
"max-width: 400px"
>
<q-input
label=
"备注"
v-model=
"applymsg.Remark"
filled
type=
"textarea"
/>
</div>
<div>
<q-btn
label=
"提交"
type=
"Submit"
color=
"primary"
/>
<q-btn
label=
"重置"
type=
"reset"
color=
"primary"
flat
class=
"q-ml-sm"
/>
</div>
</q-form>
</div>
<!-- 按钮示例 -->
<q-card-actions
align=
"right"
>
<!--
<q-btn
color=
"primary"
label=
"OK"
@
click=
"onOKClick"
/>
-->
<q-btn
color=
"primary"
label=
"关闭"
@
click=
"onCancelClick"
/>
</q-card-actions>
</q-card>
</q-dialog>
</
template
>
<Footer
/>
</div>
</template>
<
script
>
import
Header
from
"../../components/header/header"
;
import
Footer
from
"../../components/footer/footerType2"
;
import
{
getWebRecruitment
,
addWebJobApply
}
from
"../../api/joinUsApi.js"
;
export
default
{
components
:
{
Header
,
Footer
,
},
data
()
{
return
{
menuList
:
[
{},
{},
{},
{},
{},
{},
{
Name
:
""
,
},
],
dialogData
:
{},
applymsg
:
{
LinkMan
:
""
,
LinkTel
:
""
,
Remark
:
""
,
RecruitmentId
:
""
,
},
};
},
methods
:
{
//根据编号获取招聘详情
async
getWebRecruitment
()
{
let
id
=
this
.
$route
.
query
.
id
;
let
res
=
await
getWebRecruitment
(
id
);
this
.
dialogData
=
res
.
Data
;
},
//招聘申请
async
addWebJobApply
()
{
this
.
applymsg
.
RecruitmentId
=
this
.
$route
.
query
.
id
;
let
res
=
await
addWebJobApply
(
this
.
applymsg
);
if
(
res
.
Code
===
1
)
{
this
.
$q
.
notify
({
type
:
"positive"
,
icon
:
"done"
,
position
:
"top"
,
color
:
"positive"
,
message
:
res
.
Message
,
});
this
.
hide
()
}
},
//对话框
show
()
{
this
.
$refs
.
dialog
.
show
();
},
hide
()
{
this
.
$refs
.
dialog
.
hide
();
},
onDialogHide
()
{
// QDialog发出“hide”事件时
// 需要发出
this
.
$emit
(
"hide"
);
},
onCancelClick
()
{
// 我们只需要隐藏对话框
this
.
hide
();
},
//申请职位表单
onSubmit
()
{
this
.
$refs
.
name
.
validate
();
this
.
$refs
.
phone
.
validate
();
if
(
this
.
$refs
.
name
.
hasError
||
this
.
$refs
.
phone
.
hasError
)
{
this
.
formHasError
=
true
;
}
else
{
this
.
addWebJobApply
();
}
},
onReset
()
{
this
.
applymsg
.
LinkMan
=
""
;
this
.
applymsg
.
LinkTel
=
""
;
this
.
$refs
.
name
.
resetValidation
();
this
.
$refs
.
phone
.
resetValidation
();
},
},
mounted
()
{
this
.
menuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"menuList"
));
this
.
getWebRecruitment
();
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.jiahe
{
background-color
:
#f6f6f6
;
}
.conBox
{
width
:
62
.5vw
;
margin
:
2vw
auto
;
.con_title
{
font-size
:
1
.5625vw
;
font-family
:
Microsoft
YaHei
;
font-weight
:
bold
;
color
:
#111111
;
text-align
:
center
;
margin-bottom
:
1vw
;
}
.jobItem
{
width
:
100%
;
background-color
:
#fff
;
box-sizing
:
border-box
;
padding
:
1vw
1
.5vw
;
.job_title
{
width
:
100%
;
font-size
:
1
.5vw
;
font-family
:
"pingfang-b"
!
important
;
color
:
#45766d
;
}
.job_price
{
width
:
100%
;
font-size
:
0
.729vw
;
font-family
:
"pingfang-b"
!
important
;
color
:
#111111
;
margin
:
0
.5vw
0
;
}
.job_other
{
font-size
:
0
.729vw
;
font-family
:
Microsoft
YaHei
;
// font-weight: 400;
// color: #999999;
color
:
#111111
;
margin
:
0
.5vw
0
;
}
.apply_job
{
width
:
100px
;
height
:
30px
;
background-color
:
#45766d
;
font-size
:
0
.625vw
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#ffffff
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
margin-top
:
0
.5vw
;
}
}
}
</
style
>
src/pages/joinUs/joinUs.vue
View file @
69e39a7c
<
template
>
<div
class=
"jiahe"
>
<Header
:menuList=
"menuList"
:curMenu=
"menuList[6].Name"
:type=
"2"
/>
<!--
<Banner
:swiperList=
"swiperData"
/>
-->
<div
class=
"bannerBox"
>
<div
class=
"banner_title"
><span
class=
"jh"
>
甲鹤
</span>
-加入我们
</div>
</div>
<div
class=
"join_main"
>
<div
class=
"imgBox"
>
<div
class=
"
joinUs_
imgBox"
>
<div
v-for=
"item in recruitmentTypeList"
:key=
"item.Id"
class=
"imgItem"
>
<div
class=
"main_title"
>
{{
item
.
TypeName
}}
</div>
<img
:src=
"item.ImgCover"
alt=
""
class=
"imgItem"
/>
<div
class=
"main_title"
>
{{
item
.
TypeName
}}
</div>
<img
:src=
"item.ImgCover"
alt=
""
class=
"imgItem"
/>
</div>
</div>
<div
class=
"conBox"
>
<div
v-for=
"item in jobList"
:key=
"item.Id"
class=
"jobItem"
>
<div
class=
"job_info1"
>
<div
class=
"conBox"
v-if=
"jobList.length>0"
>
<div
v-for=
"item in jobList"
:key=
"item.Id"
class=
"jobItem"
>
<div
class=
"job_info1"
@
click=
"jumpJobDetail(item.Id)"
>
<div
class=
"job_title"
>
{{
item
.
PositionName
}}
</div>
<div
class=
"job_info1_sub"
>
<div
class=
"job_price"
>
{{
item
.
Salary
}}
</div>
<div
class=
"job_other"
>
{{
item
.
Experience
}}
<span>
年
</span>
|
{{
item
.
Education
}}
</div>
<div
class=
"job_other"
>
{{
item
.
Experience
}}
<span
style=
"margin: 0 0.5vw"
>
|
</span>
{{
item
.
Education
}}
</div>
</div>
</div>
<div
class=
"job_info2"
>
<div
class=
"job_info2"
@
click=
"jumpJobDetail(item.Id)"
>
<div
class=
"job_title"
>
{{
item
.
WorkPlace
}}
</div>
<div
class=
"job_other"
>
{{
item
.
PublishTimeStr
}}
</div>
</div>
...
...
@@ -30,18 +31,55 @@
</div>
</div>
</div>
<NoData
v-if=
"jobList.length==0"
></NoData>
<template>
<q-dialog
ref=
"dialog"
@
hide=
"onDialogHide"
>
<q-card
class=
"q-dialog-plugin"
>
<!--
...内容
...使用q-card-section展现它?
-->
<div
class=
"q-pa-md"
style=
"max-width: 400px"
>
<q-form
@
submit=
"onSubmit"
@
reset=
"onReset"
class=
"q-gutter-md"
>
<q-input
filled
ref=
"name"
v-model=
"applymsg.LinkMan"
label=
"联系人"
lazy-rules
:rules=
"[(val) => (val && val.length > 0) || '请输入联系人']"
/>
<q-input
filled
ref=
"phone"
v-model=
"applymsg.LinkTel"
label=
"联系电话"
mask=
"###########"
lazy-rules
:rules=
"[
(val) => (val && val.length === 11) || '请输入11位联系电话',
]"
/>
<div
style=
"max-width: 400px"
>
<q-input
label=
"备注"
v-model=
"applymsg.Remark"
filled
type=
"textarea"
/>
</div>
<div>
<q-btn
label=
"提交"
type=
"Submit"
color=
"primary"
/>
<q-btn
label=
"重置"
type=
"reset"
color=
"primary"
flat
class=
"q-ml-sm"
/>
</div>
</q-form>
</div>
<!-- 按钮示例 -->
<q-card-actions
align=
"right"
>
<!--
<q-btn
color=
"primary"
label=
"OK"
@
click=
"onOKClick"
/>
-->
<!--
<q-btn
color=
"primary"
label=
"OK"
@
click=
"onOKClick"
/>
-->
<q-btn
color=
"primary"
label=
"关闭"
@
click=
"onCancelClick"
/>
</q-card-actions>
</q-card>
...
...
@@ -67,11 +105,18 @@
<
script
>
import
Header
from
"../../components/header/header"
;
import
Footer
from
"../../components/footer/footerType2"
;
import
{
getWebRecruitmentTypeList
,
getWebRecruitmentPage
,
getWebRecruitment
}
from
"../../api/joinUsApi.js"
;
import
NoData
from
"../../components/noData/noData"
;
import
{
getWebRecruitmentTypeList
,
getWebRecruitmentPage
,
getWebRecruitment
,
addWebJobApply
,
}
from
"../../api/joinUsApi.js"
;
export
default
{
components
:
{
Header
,
Footer
,
NoData
},
data
()
{
return
{
...
...
@@ -88,56 +133,99 @@ export default {
Name
:
""
,
},
],
msg
:{
pageIndex
:
1
,
pageSize
:
10
,
TypeId
:
""
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
TypeId
:
""
,
},
recruitmentTypeList
:[],
recruitmentTypeList
:
[],
jobList
:
[],
dialogData
:{}
dialogData
:
{},
applymsg
:
{
LinkMan
:
""
,
LinkTel
:
""
,
Remark
:
""
,
RecruitmentId
:
""
,
},
};
},
methods
:
{
//翻页
changePage
(
val
)
{
this
.
currentPage
=
val
this
.
msg
.
pageIndex
=
val
this
.
getWebRecruitmentPage
()
this
.
currentPage
=
val
;
this
.
msg
.
pageIndex
=
val
;
this
.
getWebRecruitmentPage
();
},
//跳转职位详情
jumpJobDetail
(
id
){
this
.
$router
.
push
({
path
:
"/jobDetail"
,
query
:{
id
:
id
}})
},
//获取招聘信息分页列表
async
getWebRecruitmentTypeList
(){
let
res
=
await
getWebRecruitmentTypeList
()
this
.
recruitmentTypeList
=
res
.
Data
async
getWebRecruitmentTypeList
()
{
let
res
=
await
getWebRecruitmentTypeList
();
this
.
recruitmentTypeList
=
res
.
Data
;
},
//获取招聘信息分页列表
async
getWebRecruitmentPage
(){
let
res
=
await
getWebRecruitmentPage
(
this
.
msg
)
this
.
jobList
=
res
.
Data
.
PageData
this
.
pageCount
=
res
.
Data
.
PageCount
async
getWebRecruitmentPage
()
{
let
res
=
await
getWebRecruitmentPage
(
this
.
msg
);
this
.
jobList
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
},
async
getWebRecruitment
(
id
){
let
res
=
await
getWebRecruitment
(
id
)
//根据编号获取招聘详情
async
getWebRecruitment
(
id
)
{
let
res
=
await
getWebRecruitment
(
id
);
},
show
(
id
)
{
this
.
$refs
.
dialog
.
show
()
this
.
getWebRecruitment
(
id
)
//招聘申请
async
addWebJobApply
()
{
let
res
=
await
addWebJobApply
(
this
.
applymsg
);
if
(
res
.
Code
===
1
)
{
this
.
$q
.
notify
({
type
:
"positive"
,
icon
:
'done'
,
position
:
'top'
,
color
:
'positive'
,
message
:
res
.
Message
})
this
.
hide
()
}
},
//对话框
show
(
id
)
{
this
.
$refs
.
dialog
.
show
();
this
.
applymsg
.
RecruitmentId
=
id
;
},
hide
()
{
this
.
$refs
.
dialog
.
hide
()
hide
()
{
this
.
$refs
.
dialog
.
hide
()
;
},
onDialogHide
()
{
onDialogHide
()
{
// QDialog发出“hide”事件时
// 需要发出
this
.
$emit
(
'hide'
)
this
.
$emit
(
"hide"
);
},
onCancelClick
()
{
onCancelClick
()
{
// 我们只需要隐藏对话框
this
.
hide
()
}
this
.
hide
();
},
//申请职位表单
onSubmit
()
{
this
.
$refs
.
name
.
validate
();
this
.
$refs
.
phone
.
validate
();
if
(
this
.
$refs
.
name
.
hasError
||
this
.
$refs
.
phone
.
hasError
)
{
this
.
formHasError
=
true
;
}
else
{
this
.
addWebJobApply
();
}
},
onReset
()
{
this
.
applymsg
.
LinkMan
=
""
;
this
.
applymsg
.
LinkTel
=
""
;
this
.
$refs
.
name
.
resetValidation
();
this
.
$refs
.
phone
.
resetValidation
();
},
},
mounted
()
{
this
.
menuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"menuList"
));
...
...
@@ -170,7 +258,7 @@ export default {
.join_main
{
width
:
62
.5vw
;
margin
:
5
.729vw
auto
0
;
.imgBox
{
.
joinUs_
imgBox
{
width
:
100%
;
height
:
13
.229vw
;
display
:
flex
;
...
...
@@ -206,9 +294,9 @@ export default {
align-items
:
center
;
margin-bottom
:
1
.041vw
;
.job_info1
{
width
:
16
.25
vw
;
width
:
26
.583
vw
;
height
:
100%
;
margin-right
:
8
.333vw
;
padding-right
:
6
.333vw
;
display
:
flex
;
flex-wrap
:
wrap
;
align-content
:
space-between
;
...
...
@@ -221,7 +309,7 @@ export default {
.job_info1_sub
{
display
:
flex
;
.job_price
{
width
:
7
vw
;
width
:
9
vw
;
font-size
:
0
.729vw
;
font-family
:
"pingfang-b"
!
important
;
color
:
#111111
;
...
...
@@ -237,6 +325,7 @@ export default {
.job_info2
{
width
:
10vw
;
height
:
100%
;
flex-grow
:
5
;
display
:
flex
;
flex-wrap
:
wrap
;
align-content
:
space-between
;
...
...
@@ -253,7 +342,6 @@ export default {
}
}
.job_info3
{
flex-grow
:
5
;
display
:
flex
;
justify-content
:
flex-end
;
.apply_job
{
...
...
src/pages/mediaCenter/mediaCenter.vue
View file @
69e39a7c
...
...
@@ -4,7 +4,7 @@
<div
class=
"bannerBox"
>
<div
class=
"banner_title"
><span
class=
"jh"
>
甲鹤
</span>
-媒体中心
</div>
</div>
<div
class=
"main"
>
<div
class=
"m
eadia_m
ain"
>
<div
class=
"title"
>
集团动态
</div>
<div
class=
"topNews"
v-if=
"newsList[0]"
>
<div
class=
"left"
>
...
...
@@ -18,7 +18,7 @@
{{
newsList
[
0
].
Content
}}
</div>
<div
class=
"time"
>
{{
newsList
[
0
].
CreateTime
}}
</div>
<div
class=
"more"
>
查看更多
</div>
<div
class=
"more"
@
click=
"jumpNewsDetail(newsList[0].Id)"
>
查看详情
</div>
</div>
</div>
<div
class=
"inputBox"
>
...
...
@@ -48,12 +48,12 @@
</q-select>
</div>
<div
class=
"newsLsitBox"
v-if=
"newsList.length > 0"
>
<div
v-for=
"item in newsList"
:key=
"item.Id"
class=
"newsLsitItem"
>
<div
v-for=
"item in newsList"
:key=
"item.Id"
class=
"newsLsitItem"
@
click=
"jumpNewsDetail(item.Id)"
>
<div
class=
"itemTime"
>
{{ item.CreateTime }}
</div>
<div
class=
"itemTitle"
>
{{ item.Title }}
</div>
</div>
</div>
<
div
v-if=
"newsList.length == 0"
style=
"textalign: center"
>
暂无数据
</div
>
<
NoData
v-if=
"newsList.length==0"
></NoData
>
<div
class=
"pageBox"
v-if=
"pageCount > 1"
>
<q-pagination
v-model=
"currentPage"
...
...
@@ -71,18 +71,22 @@
<div
class=
"cartoonBox"
>
<div
class=
"cartoonBox_title"
>
品牌漫画
</div>
<div
class=
"cartoonBox_con"
>
<div
class=
"listCon"
>
<div
class=
"listCon"
v-if=
"cartoonList.length > 0"
>
<div
v-for=
"item in cartoonList"
:key=
"item.Id"
class=
"listConItem"
>
<div
class=
"itemTime"
>
{{ item.CreateDate }}
</div>
<div
class=
"itemTitle"
>
{{ item.Name }}
</div>
</div>
</div>
<div
class=
"listCon"
v-if=
"cartoonList.length==0"
>
<NoData></NoData>
</div>
<div
class=
"cartoonCon"
>
<img
src=
""
alt=
""
class=
"cartoon_img"
/>
<img
src=
""
alt=
""
class=
"cartoon_img"
/>
<img
src=
""
alt=
""
class=
"cartoon_img"
/>
</div>
</div>
<div
class=
"pageBox2"
>
<q-pagination
v-model=
"currentPage_cartoon"
...
...
@@ -145,6 +149,7 @@
<
script
>
import
Header
from
"../../components/header/header"
;
import
Footer
from
"../../components/footer/footerType2"
;
import
NoData
from
"../../components/noData/noData"
;
import
{
getWebNewsTypeList
,
getNewsList
,
...
...
@@ -155,6 +160,7 @@ export default {
components
:
{
Header
,
Footer
,
NoData
},
data
()
{
return
{
...
...
@@ -202,6 +208,8 @@ export default {
},
watch
:
{
selectText
(
val
)
{
this
.
currentPage
=
1
this
.
msg
.
pageIndex
=
1
if
(
val
==
null
)
{
this
.
msg
.
TypeId
=
""
;
}
else
{
...
...
@@ -232,6 +240,10 @@ export default {
this
.
cartoonmsg
.
pageIndex
=
val
;
this
.
getWebCartoonPage
();
},
//跳转新闻详情页、
jumpNewsDetail
(
id
){
this
.
$router
.
push
({
path
:
"/mediaCenterDetail"
,
query
:{
id
:
id
}})
},
//获取新闻类型列表
async
getWebNewsTypeList
()
{
let
res
=
await
getWebNewsTypeList
();
...
...
@@ -327,7 +339,7 @@ export default {
}
}
}
.main
{
.m
eadia_m
ain
{
width
:
62
.5vw
;
margin
:
5
.208vw
auto
;
.title
{
...
...
src/pages/mediaCenter/mediaCenterDetail.vue
View file @
69e39a7c
<
template
>
<div>
<div
class=
"main"
>
<div
class=
"titleBox"
>
<div>
{{
detailData
.
title
}}
</div>
<div></div>
<div
class=
"jiahe"
>
<Header
:menuList=
"menuList"
:curMenu=
"menuList[4].Name"
:type=
"2"
/>
<div
class=
"newsdetail_main"
>
<div
class=
"title"
>
{{
detailData
.
Title
}}
</div>
<div
class=
"date"
>
发布时间:
{{
detailData
.
CreateTime
}}
</div>
<q-img
:src=
"detailData.Img"
:ratio=
"16 / 9"
></q-img>
<div
class=
"con"
>
{{
detailData
.
Content
}}
</div>
</div>
<div
class=
"advisoryBox"
>
<div
class=
"advisory_info1"
>
<q-img
src=
"../../assets/images/mediaCenter/adv_img.png"
spinner-color=
"white"
class=
"adv_img"
/>
<div
class=
"ljzx"
>
立即咨询
</div>
</div>
<div
class=
"advisory_info2"
>
<q-img
src=
""
spinner-color=
"white"
class=
"ewm"
/>
<div
class=
"info"
>
<q-img
src=
"../../assets/images/mediaCenter/logo.png"
spinner-color=
"white"
class=
"info_logo"
/>
<div
class=
"customer_service"
>
微信客服:李小冉
</div>
<div
class=
"customer_service"
>
联系电话:13800138000
</div>
</div>
</div>
</div>
<Footer
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
"mediaCenterDetail.vue"
,
data
(){
return
{
detailData
:{
}
}
},
methods
:{
},
mounted
()
{
}
}
import
Header
from
"../../components/header/header"
;
import
Footer
from
"../../components/footer/footerType2"
;
import
{
getNewsDetail
}
from
"../../api/mediaCenterApi"
;
export
default
{
name
:
"mediaCenterDetail.vue"
,
components
:
{
Header
,
Footer
,
},
data
()
{
return
{
menuList
:
[
{},
{},
{},
{},
{
Name
:
""
,
},
],
detailData
:
{},
};
},
methods
:
{
async
getNewsDetail
()
{
let
id
=
this
.
$route
.
query
.
id
;
let
res
=
await
getNewsDetail
(
id
);
this
.
detailData
=
res
.
Data
;
},
},
mounted
()
{
this
.
menuList
=
JSON
.
parse
(
localStorage
.
getItem
(
"menuList"
));
this
.
getNewsDetail
();
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.mian
{
.jiahe
{
background-color
:
#f6f6f6
;
}
.newsdetail_main
{
width
:
62
.5vw
;
magin
:
5
.208vw
auto
3
.906vw
;
margin
:
5
.208vw
auto
3
.906vw
;
.title
{
font-size
:
1
.5625vw
;
font-family
:
"pingfang-b"
!
important
;
color
:
#111111
;
}
.date
{
font-size
:
0
.833
;
font-family
:
Microsoft
YaHei
;
color
:
#888888
;
margin-bottom
:
2
.6vw
;
}
.con
{
font-size
:
0
.625vwpx
;
font-family
:
"pingfang-b"
!
important
;
color
:
#555555
;
}
}
.advisoryBox
{
position
:
fixed
;
top
:
29
.3vw
;
right
:
0
;
z-index
:
999
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
flex-end
;
width
:
14
.375vw
;
.advisory_info1
{
width
:
5
.208vw
;
height
:
6
.77vw
;
background-color
:
#ffffff
;
box-shadow
:
0px
6px
10px
0px
rgba
(
116
,
116
,
116
,
0
.1
);
box-sizing
:
border-box
;
padding
:
0
.8vw
;
margin-bottom
:
0
.7vw
;
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
center
;
.adv_img
{
width
:
3
.645vw
;
height
:
4
.166vw
;
}
.ljzx
{
text-align
:
center
;
font-size
:
0
.833vw
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#111111
;
white-space
:
nowrap
;
}
}
.advisory_info2
{
width
:
14
.375vw
;
height
:
6
.53vw
;
background-color
:
#ffffff
;
box-shadow
:
0px
6px
10px
0px
rgba
(
116
,
116
,
116
,
0
.1
);
padding
:
1vw
;
display
:
flex
;
justify-content
:
space-between
;
.ewm
{
width
:
4
.6875vw
;
height
:
4
.6875vw
;
background-color
:
#000
;
}
.info
{
width
:
7vw
;
height
:
100%
;
}
.info_logo
{
width
:
6
.145vw
;
height
:
1
.77vw
;
}
.customer_service
{
font-size
:
12px
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#111111
;
margin-top
:
0
.2vw
;
}
}
}
</
style
>
src/pages/mediaCenter/newsList.vue
deleted
100644 → 0
View file @
107241ce
This diff is collapsed.
Click to expand it.
src/router/routes.js
View file @
69e39a7c
...
...
@@ -9,12 +9,14 @@ const routes = [
{
path
:
'/JapaneseTrain'
,
component
:
()
=>
import
(
'src/pages/JapaneseTrain/JapaneseTrain.vue'
)
},
{
path
:
'/eduProductList'
,
component
:
()
=>
import
(
'src/pages/JapaneseTrain/eduProductList.vue'
)
},
{
path
:
'/eduProductDetail'
,
component
:
()
=>
import
(
'src/pages/JapaneseTrain/eduProductDetail.vue'
)
},
{
path
:
'/classPlanList'
,
component
:
()
=>
import
(
'src/pages/JapaneseTrain/classPlanList.vue'
)
},
{
path
:
'/studyServe'
,
component
:
()
=>
import
(
'src/pages/studyServe/studyServe.vue'
)
},
{
path
:
'/workServe'
,
component
:
()
=>
import
(
'src/pages/workServe/workServe.vue'
)
},
{
path
:
'/mediaCenter'
,
component
:
()
=>
import
(
'src/pages/mediaCenter/mediaCenter.vue'
)
},
{
path
:
'/mediaCenterDetail'
,
component
:
()
=>
import
(
'src/pages/mediaCenter/mediaCenterDetail.vue'
)
},
{
path
:
'/aboutUs'
,
component
:
()
=>
import
(
'src/pages/aboutUs/aboutUs.vue'
)
},
{
path
:
'/joinUs'
,
component
:
()
=>
import
(
'src/pages/joinUs/joinUs.vue'
)
},
{
path
:
'/jobDetail'
,
component
:
()
=>
import
(
'src/pages/joinUs/jobDetail.vue'
)
},
]
},
// Always leave this as last one,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment