Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
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
罗超
confucius
Commits
0578bdad
Commit
0578bdad
authored
Dec 10, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
d11eef59
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
328 additions
and
3 deletions
+328
-3
student-shiting.vue
src/components/school/student/student-shiting.vue
+320
-3
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+8
-0
No files found.
src/components/school/student/student-shiting.vue
View file @
0578bdad
<
style
>
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
</
style
>
<
template
>
<div>
试听
<div>
<div
class=
"row wrap"
>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowAdd=true"
/>
<q-btn
label=
"取消"
style=
"margin-left:20px;"
v-if=
"isShowAdd"
flat
color=
"grey-10 q-mb-lg"
size=
"sm"
@
click=
"isShowAdd=false"
/>
<q-btn
label=
"选择试听课"
style=
"margin-left:50px;"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowTeacher=true"
/>
</div>
</
template
>
\ No newline at end of file
<template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"addMsg.ClassDate"
ref=
"ClassDate"
class=
"col-6 q-pb-lg q-pr-lg"
mask=
"date"
label=
"预约日期"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
v-model=
"addMsg.ClassDate"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
<div
class=
"Sysuser_Date col-6"
>
<q-field
filled
class=
"q-pb-lg"
>
<
template
v-slot:control
>
<el-time-select
v-model=
"addMsg.ClassTime"
ref=
"ClassTime"
style=
"width:50%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00',
maxTime:addMsg.EndTime
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select
v-model=
"addMsg.EndTime"
ref=
"EndTime"
style=
"width:50%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00',
minTime:addMsg.ClassTime
}" placeholder="预约结束时间">
</el-time-select>
</
template
>
</q-field>
</div>
</div>
<div
class=
"row wrap"
>
<q-select
filled
stack-label
option-value=
"Name"
option-label=
"Name"
@
input=
"getTeacherChoose(addMsg.ClassContent)"
v-model=
"addMsg.ClassContent"
ref=
"ClassContent"
:options=
"ContentList"
:rules=
"[val => !!val || '请选择主讲内容']"
label=
"主讲内容"
:dense=
"false"
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
<q-select
filled
stack-label
option-value=
"TId"
option-label=
"TeacherName"
v-model=
"addMsg.TeacherId"
ref=
"TeacherId"
:options=
"TeacherList"
label=
"选择教师"
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
</div>
<div
class=
"row wrap"
>
<q-select
filled
stack-label
option-value=
"RoomId"
option-label=
"RoomName"
v-model=
"addMsg.ClassRoomId"
ref=
"ClassRoomId"
:options=
"ClassRoomList"
label=
"关联教室"
:dense=
"false"
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
</div>
<div
class=
"row wrap"
style=
"margin-bottom:10px;"
>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"md"
@
click=
"saveAppointForm()"
/>
</div>
</template>
<!-- <div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
<q-timeline-entry v-for="(tItem,tIndex) in dataList" :key="tIndex">
<template v-slot:title>
<div class="visit_Cont">
<div v-html="tItem.Remark"></div>
<div @click="delFollow(tItem.Id)" class="visit_delete">删除</div>
</div>
</template>
<template v-slot:subtitle>
<div class="Time_TopList">
<div>{{ tItem.CreateTime }}</div>
</div>
</template>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div style="margin:20px 0;">
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="page_Count" input
@input="changePage" />
</div> -->
<audition-form
v-if=
"isShowTeacher"
@
close=
"closeAuditForm"
@
getchildInfo=
"getchildInfo"
></audition-form>
</div>
</template>
<
script
>
import
{
SetVisitorReserve
}
from
"../../../api/scheduling/schedu"
;
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
"../../../api/school/index"
;
import
auditionForm
from
'../../schedul/audition-form'
export
default
{
meta
:
{
title
:
""
},
components
:
{
auditionForm
},
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
isShowAdd
:
false
,
addMsg
:
{
Id
:
0
,
//编号
Visitor_Id
:
0
,
//访客编号
ReserveClassId
:
0
,
//选中的班级编号
ClassDate
:
""
,
//预约日期
ClassTime
:
""
,
//预约开始时间
EndTime
:
""
,
//预约结束时间
TeacherId
:
0
,
//教师编号
ClassRoomId
:
0
,
//教室编号
ClassContent
:
""
,
//主讲内容
},
ContentList
:
[{
Id
:
1
,
Name
:
'少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足'
},
{
Id
:
2
,
Name
:
'兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣'
},
{
Id
:
3
,
Name
:
'实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多'
},
{
Id
:
4
,
Name
:
'留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)'
}],
TeacherList
:
[],
AllTeacherList
:
[],
ClassRoomList
:
[],
dataList
:
[],
page_Count
:
0
,
isShowTeacher
:
false
}
},
mounted
()
{
this
.
getClassRoomList
();
this
.
GetTeacherList
();
// this.getList();
},
methods
:
{
//保存
saveAppointForm
()
{
if
(
this
.
saveObj
)
{
this
.
addMsg
.
Visitor_Id
=
this
.
saveObj
.
StuId
;
}
this
.
$refs
.
ClassDate
.
validate
();
this
.
$refs
.
ClassContent
.
validate
();
if
(
this
.
addMsg
.
ClassTime
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择预约开始时间!'
,
})
return
;
}
if
(
this
.
addMsg
.
EndTime
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择预约结束时间!'
,
})
return
;
}
if
(
!
this
.
$refs
.
ClassDate
.
hasError
&&
!
this
.
$refs
.
ClassContent
.
hasError
)
{
SetVisitorReserve
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
this
.
$emit
(
'success'
);
}
else
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
res
.
Message
,
})
}
this
.
isShowAdd
=
false
;
this
.
clearMsg
();
})
}
},
//获取试听列表
getList
()
{
queryStudentFollowPage
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
page_Count
=
res
.
Data
.
PageCount
;
}
}).
catch
(()
=>
{
})
},
//清除
clearMsg
()
{
this
.
addMsg
.
Id
=
0
;
this
.
addMsg
.
Visitor_Id
=
0
;
this
.
addMsg
.
ReserveClassId
=
0
;
this
.
addMsg
.
ClassDate
=
''
;
this
.
addMsg
.
ClassTime
=
''
;
this
.
addMsg
.
EndTime
=
''
;
this
.
addMsg
.
TeacherId
=
0
;
this
.
addMsg
.
ClassRoomId
=
0
;
this
.
addMsg
.
ClassContent
=
''
;
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
//删除试听
delFollow
(
Id
)
{
let
that
=
this
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除?'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
deleteStudentFollow
({
Id
:
Id
}).
then
((
res
)
=>
{
that
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
that
.
getList
()
})
}).
onCancel
(()
=>
{});
},
//选择主讲内容赋值选择教师
getTeacherChoose
(
content
)
{
var
TList
=
[];
this
.
addMsg
.
TeacherId
=
''
;
this
.
TeacherList
=
this
.
AllTeacherList
;
this
.
TeacherList
.
forEach
(
x
=>
{
this
.
ContentList
.
forEach
(
y
=>
{
if
(
y
.
Name
==
content
)
{
if
(
x
.
TId
>
0
)
{
if
(
x
.
ChooseSpecialty
.
indexOf
(
y
.
Id
)
>
-
1
)
{
TList
.
push
(
x
);
}
}
}
})
})
this
.
TeacherList
=
TList
;
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
var
obj
=
{
RoomName
:
'请选择'
,
RoomId
:
0
}
this
.
ClassRoomList
.
unshift
(
obj
);
}
})
},
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
this
.
AllTeacherList
=
res
.
Data
;
var
obj
=
{
TeacherName
:
'请选择'
,
TId
:
0
}
this
.
TeacherList
.
unshift
(
obj
);
this
.
AllTeacherList
.
unshift
(
obj
);
}
});
},
closeAuditForm
(){
this
.
isShowTeacher
=
false
;
},
//子组件选中传值
getchildInfo
(
obj
)
{
if
(
obj
)
{
this
.
addMsg
.
TeacherId
=
obj
.
TeacherId
;
this
.
addMsg
.
ClassRoomId
=
obj
.
ClassRoomId
;
this
.
addMsg
.
ReserveClassId
=
obj
.
ReserveClassId
;
this
.
addMsg
.
ClassDate
=
obj
.
ClassDateStr
;
this
.
addMsg
.
ClassTime
=
obj
.
ClassTime
;
this
.
addMsg
.
EndTime
=
obj
.
EndTime
;
this
.
addMsg
.
ClassContent
=
obj
.
ClassContent
;
this
.
isShowAdd
=
true
;
}
},
},
}
</
script
>
src/components/school/student/studentRight-form.vue
View file @
0578bdad
...
...
@@ -427,4 +427,12 @@
border-radius
:
4px
;
background
:
#EDEDED
;
}
.Log_Content
{
padding
:
10px
;
border-radius
:
5px
;
background-color
:
#f4f4f6
;
color
:
#818194
;
line-height
:
2
;
margin-top
:
10px
;
}
</
style
>
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