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
9fc39bb7
Commit
9fc39bb7
authored
Aug 28, 2024
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
9da5fd6c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
572 additions
and
144 deletions
+572
-144
reserveclass-form copy.vue
src/components/school/student/reserveclass-form copy.vue
+321
-0
reserveclass-form.vue
src/components/school/student/reserveclass-form.vue
+21
-136
student-shiting.vue
src/components/school/student/student-shiting.vue
+37
-5
student-studyabroad.vue
src/components/school/student/student-studyabroad.vue
+181
-0
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+9
-1
stulist.vue
src/components/school/student/stulist.vue
+1
-1
noticeSysSet.vue
src/pages/system/noticeSysSet.vue
+2
-1
No files found.
src/components/school/student/reserveclass-form copy.vue
0 → 100644
View file @
9fc39bb7
This diff is collapsed.
Click to expand it.
src/components/school/student/reserveclass-form.vue
View file @
9fc39bb7
...
...
@@ -9,7 +9,7 @@
<
template
>
<div>
<div
class=
"row wrap"
>
<q-btn
label=
"
选择试听课"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowTeacher
= true"
/>
<q-btn
label=
"
新增试听课"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowReserve
= true"
/>
</div>
<template
v-if=
"isShowReserve"
>
<div
class=
"row studentDate"
>
...
...
@@ -20,68 +20,25 @@
</el-date-picker>
</
template
>
</q-field>
<div
class=
"col-6 q-pr-lg Student_Date "
>
<q-field
filled
class=
"q-pb-lg"
dense
>
<
template
v-slot:control
>
<el-time-select
v-model=
"addMsg.ClassTime"
size=
"mini"
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"
size=
"mini"
dense
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"
dense
option-label=
"Name"
@
input=
"getTeacherChoose(addMsg.ClassContent)"
v-model=
"addMsg.ClassContent"
ref=
"ClassContent"
:options=
"ContentList"
:rules=
"[val => !!val || '请选择主讲内容']"
label=
"主讲内容"
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
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
</div>
<div
class=
"row wrap"
>
<q-select
filled
stack-label
option-value=
"RoomId"
dense
option-label=
"RoomName"
v-model=
"addMsg.ClassRoomId"
ref=
"ClassRoomId"
:options=
"ClassRoomList"
label=
"关联教室"
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
<q-select
filled
stack-label
option-value=
"Id"
dense
option-label=
"LessonName"
v-model=
"addMsg.TrialLessonId"
:options=
"TrialList"
label=
"试听课程"
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
</div>
<div
class=
"row wrap"
>
<q-field
label=
"类型"
filled
dense
stack-label
class=
"col-6 q-pb-lg q-pr-lg"
v-if=
"addMsg.ReserveType==1"
>
<
template
v-slot:control
>
<div
>
跟班
</div>
</
template
>
</q-field>
<!-- <q-field label="班级" filled dense stack-label class="col-6 q-pb-lg q-pr-lg" v-if="addMsg.ReserveType==1&&showObj.className">
<template v-slot:control>
<div>{{showObj.className}}</div>
</template>
</q-field> -->
<q-field
label=
"课程"
filled
dense
stack-label
class=
"col-6 q-pb-lg q-pr-lg"
v-if=
"addMsg.ReserveType==1&&showObj.courseName"
>
<
template
v-slot:control
>
<div>
{{
showObj
.
courseName
}}
</div>
</
template
>
</q-field>
</div>
<div
class=
"row studentDate"
>
<q-input
style=
"width:257px;"
v-model=
"addMsg.Demand"
placeholder=
"试听需求"
filled
type=
"textarea"
/>
</div>
<div
class=
"row wrap justify-end q-pr-lg"
style=
"margin-bottom:10px;"
>
<q-btn
label=
"关闭"
flat
color=
"accent q-mb-lg"
size=
"md"
style=
"margin-right:10px;"
@
click=
"closeClassForm"
/>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
size=
"md"
@
click=
"saveAppointForm()"
/>
</div>
</template>
<ShitingCourseList-form
v-if=
"isShowTeacher"
@
close=
"closeAuditForm"
@
getchildInfo=
"getchildInfo"
>
</ShitingCourseList-form>
</div>
</template>
...
...
@@ -95,11 +52,11 @@
GetTrialLessonList
}
from
"../../../api/school/index"
;
// import auditionForm from "../../schedul/audition-form";
import
ShitingCourseListForm
from
"./shitingCourseList-form.vue"
export
default
{
components
:
{
// auditionForm,
ShitingCourseListForm
},
props
:
{
saveObj
:
{
...
...
@@ -123,6 +80,7 @@
TrialLessonId
:
""
,
ReserveType
:
0
,
ClassPlanId
:
0
,
Demand
:
""
,
},
ContentList
:
[{
Id
:
1
,
...
...
@@ -153,9 +111,7 @@
};
},
created
()
{
this
.
GetTrialDrop
();
this
.
getClassRoomList
();
this
.
GetTeacherList
();
},
mounted
()
{
if
(
this
.
saveObj
)
{
...
...
@@ -165,63 +121,11 @@
methods
:
{
//关闭窗口
closeClassForm
()
{
this
.
clearMsg
()
this
.
isShowReserve
=
false
;
this
.
$emit
(
"success"
);
},
//选择主讲内容赋值选择教师
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
;
},
//试听课程列表
GetTrialDrop
()
{
GetTrialLessonList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TrialList
=
res
.
Data
;
}
});
},
//获取教室下拉
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
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
AllTeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
var
obj
=
{
TeacherName
:
"请选择"
,
TId
:
0
};
this
.
TeacherList
.
unshift
(
obj
);
this
.
AllTeacherList
.
unshift
(
obj
);
}
});
},
//清除
clearMsg
()
{
this
.
addMsg
.
Id
=
0
;
...
...
@@ -235,6 +139,7 @@
this
.
addMsg
.
TrialLessonId
=
""
;
this
.
addMsg
.
ReserveType
=
0
;
this
.
addMsg
.
ClassPlanId
=
0
;
this
.
addMsg
.
Demand
=
""
;
},
//保存
saveAppointForm
()
{
...
...
@@ -247,25 +152,6 @@
});
return
;
}
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
.
ClassContent
.
hasError
)
{
SetVisitorReserve
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
...
...
@@ -287,7 +173,6 @@
this
.
clearMsg
();
this
.
isShowReserve
=
false
;
});
}
},
closeAuditForm
()
{
this
.
isShowTeacher
=
false
;
...
...
src/components/school/student/student-shiting.vue
View file @
9fc39bb7
...
...
@@ -31,13 +31,18 @@
<q-chip
color=
"primary"
size=
"xs"
text-color=
"white"
style=
"position:absolute;:top:0;right:0"
v-if=
"tItem.ReserveType==1"
>
跟班
</q-chip>
<div
v-if=
"tItem.ReservationDate&&tItem.ReservationDate.length>0"
>
试听日期:
{{
timeFormatSeconds
(
tItem
.
ReservationDate
)
}}
</div>
<div
v-if=
"tItem.Demand&&tItem.Demand.length>0"
>
试听需求:
{{
tItem
.
Demand
}}
</div>
<div>
预约时间:
{{
tItem
.
ClassDateStr
}}
{{
tItem
.
ClassTime
}}
-
{{
tItem
.
EndTime
}}
预约时间:
{{
tItem
.
ClassDateStr
}}
{{
tItem
.
ClassTime
}}
<template
v-if=
"tItem.ClassDateStr&&tItem.ClassDateStr.length>0"
>
-
</
template
>
{{ tItem.EndTime }}
</div>
<div
class=
"StuCom_Remark"
>
<div
class=
"StuCom_Remark"
v-if=
"false"
>
<div
style=
"flex-shrink:0"
>
主讲内容:
</div>
<div
class=
"StuCom_Inner"
>
{{ tItem.ClassContent }}
</div>
</div>
...
...
@@ -118,6 +123,33 @@
this
.
getList
();
},
methods
:
{
//获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds
(
time
,
type
)
{
let
timeStr
=
""
;
var
d
=
time
?
new
Date
(
time
)
:
new
Date
();
var
year
=
d
.
getFullYear
();
var
month
=
d
.
getMonth
()
+
1
;
var
day
=
d
.
getDate
();
if
(
month
<
10
)
month
=
'0'
+
month
;
if
(
day
<
10
)
day
=
'0'
+
day
;
if
(
type
==
2
){
var
hours
=
d
.
getHours
();
var
min
=
d
.
getMinutes
();
var
seconds
=
d
.
getSeconds
();
if
(
hours
<
0
)
hours
=
'0'
+
hours
;
if
(
min
<
10
)
min
=
'0'
+
min
;
if
(
seconds
<
10
)
seconds
=
'0'
+
seconds
;
timeStr
+=
' '
+
hours
+
':'
+
min
+
':'
+
seconds
;
}
timeStr
=
year
+
'-'
+
month
+
'-'
+
day
+
timeStr
;
return
timeStr
;
// return (year + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + seconds);
},
//获取试听列表
getList
()
{
queryVisitorReservePage
(
this
.
qMsg
).
then
(
res
=>
{
...
...
src/components/school/student/student-studyabroad.vue
0 → 100644
View file @
9fc39bb7
<
style
></
style
>
<
template
>
<div>
<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
class=
"Log_Content"
>
<q-chip
color=
"primary"
size=
"xs"
text-color=
"white"
style=
"position:absolute;:top:0;right:0"
v-if=
"tItem.ReserveType==1"
>
跟班
</q-chip>
<div
v-if=
"tItem.ReservationDate&&tItem.ReservationDate.length>0"
>
试听日期:
{{
timeFormatSeconds
(
tItem
.
ReservationDate
)
}}
</div>
<div
v-if=
"tItem.Demand&&tItem.Demand.length>0"
>
试听需求:
{{
tItem
.
Demand
}}
</div>
<div>
预约时间:
{{
tItem
.
ClassDateStr
}}
{{
tItem
.
ClassTime
}}
<template
v-if=
"tItem.ClassDateStr&&tItem.ClassDateStr.length>0"
>
-
</
template
>
{{ tItem.EndTime }}
</div>
<div
class=
"StuCom_Remark"
v-if=
"false"
>
<div
style=
"flex-shrink:0"
>
主讲内容:
</div>
<div
class=
"StuCom_Inner"
>
{{ tItem.ClassContent }}
</div>
</div>
<div>
主讲老师:{{ tItem.TeacherName }}
</div>
<div>
课程名称:{{ tItem.LessonName }}
</div>
<div
class=
"StuCom_Remark"
>
<span
class=
"StuCom_Left"
>
教室
</span>
:{{ tItem.RoomName }}
</div>
</div>
<div
@
click=
"DeleteVisitorReserve(tItem.Id)"
style=
"margin-top:10px;"
class=
"visit_delete text-negative"
>
删除
</div>
</div>
</template>
<
template
v-slot:subtitle
>
<div
class=
"Time_TopList"
>
<div>
{{
tItem
.
CreateTimeStr2
}}
</div>
<div>
{{
tItem
.
CreateByName
}}
</div>
</div>
</
template
>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div
style=
"margin:20px 0;"
>
<q-pagination
class=
"full-width justify-end"
v-model=
"qMsg.pageIndex"
color=
"primary"
:max=
"page_Count"
input
@
input=
"changePage"
/>
</div>
</div>
</template>
<
script
>
import
{
SetVisitorReserve
,
queryVisitorReservePage
,
RemoveVisitorReserve
}
from
"../../../api/scheduling/schedu"
;
import
{
getTeacherDropDownList
,
queryClassRoomList
,
GetTrialLessonList
}
from
"../../../api/school/index"
;
// import reserveclassForm from "./reserveclass-form";
export
default
{
meta
:
{
title
:
""
},
components
:
{
// reserveclassForm
},
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
isShowAdd
:
false
,
qMsg
:
{
pageIndex
:
1
,
pageSize
:
12
,
Visitor_Id
:
0
},
dataList
:
[],
page_Count
:
0
,
userInfo
:
{}
};
},
created
()
{
if
(
this
.
saveObj
)
{
this
.
qMsg
.
Visitor_Id
=
this
.
saveObj
.
StuId
;
this
.
userInfo
=
this
.
getLocalStorage
();
}
},
mounted
()
{
this
.
getList
();
},
methods
:
{
//获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds
(
time
,
type
)
{
let
timeStr
=
""
;
var
d
=
time
?
new
Date
(
time
)
:
new
Date
();
var
year
=
d
.
getFullYear
();
var
month
=
d
.
getMonth
()
+
1
;
var
day
=
d
.
getDate
();
if
(
month
<
10
)
month
=
'0'
+
month
;
if
(
day
<
10
)
day
=
'0'
+
day
;
if
(
type
==
2
){
var
hours
=
d
.
getHours
();
var
min
=
d
.
getMinutes
();
var
seconds
=
d
.
getSeconds
();
if
(
hours
<
0
)
hours
=
'0'
+
hours
;
if
(
min
<
10
)
min
=
'0'
+
min
;
if
(
seconds
<
10
)
seconds
=
'0'
+
seconds
;
timeStr
+=
' '
+
hours
+
':'
+
min
+
':'
+
seconds
;
}
timeStr
=
year
+
'-'
+
month
+
'-'
+
day
+
timeStr
;
return
timeStr
;
// return (year + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + seconds);
},
//获取试听列表
getList
()
{
queryVisitorReservePage
(
this
.
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
page_Count
=
res
.
Data
.
PageCount
;
}
});
},
changePage
(
val
)
{
this
.
qMsg
.
pageIndex
=
val
;
this
.
getList
();
},
//删除试听
DeleteVisitorReserve
(
Id
)
{
let
that
=
this
;
this
.
$q
.
dialog
({
title
:
"提示信息"
,
message
:
"是否确定此试听信息删除?"
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
})
.
onOk
(()
=>
{
RemoveVisitorReserve
({
Id
:
Id
}).
then
(
res
=>
{
that
.
$q
.
notify
({
icon
:
"iconfont icon-chenggong"
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
"top"
});
that
.
getList
();
});
})
.
onCancel
(()
=>
{});
},
closeReserveForm
()
{
this
.
isShowAdd
=
false
;
this
.
getList
();
}
}
};
</
script
>
src/components/school/student/studentRight-form.vue
View file @
9fc39bb7
...
...
@@ -54,7 +54,7 @@
<div
row
style=
"display: flex;justify-content: space-between;"
v-if=
"ckedTab == 2"
>
<div
class=
"tripTypeContent"
style=
"flex-shrink:0"
>
<div
v-for=
"(qItem, qIndex) in visitList"
:key=
"qIndex"
:class=
"
{ StuCkedType: qI
ndex + 1
== secondType }" @click="getckedType(qItem)">
:class=
"
{ StuCkedType: qI
tem.Id
== secondType }" @click="getckedType(qItem)">
{{
qItem
.
Name
}}
</div>
</div>
...
...
@@ -76,6 +76,8 @@
:save-obj=
"baseObj"
v-if=
"secondType == 3"
@
success=
"refreshStudentPage"
></student-genjin>
<student-shiting
:save-obj=
"baseObj"
v-if=
"secondType == 4"
@
success=
"refreshStudentPage"
>
</student-shiting>
<!--
<student-studyabroad
:save-obj=
"baseObj"
v-if=
"secondType == 6"
@
success=
"refreshStudentPage"
>
</student-studyabroad>
-->
<student-consult
:save-obj=
"baseObj"
v-if=
"secondType == 5"
@
success=
"refreshStudentPage"
>
</student-consult>
</div>
...
...
@@ -125,6 +127,7 @@
import
studentYuefang
from
"../student/student-yuefang"
;
import
studentGenjin
from
"../student/student-genjin"
;
import
studentShiting
from
"../student/student-shiting"
;
import
studentstudyabroad
from
"../student/student-studyabroad"
;
import
studentConsult
from
"../student/student-consult"
import
studentHetong
from
"../student/student-hetong"
;
import
studentOrder
from
"../student/student-order"
;
...
...
@@ -145,6 +148,7 @@
studentYuefang
,
studentGenjin
,
studentShiting
,
studentstudyabroad
,
studentHetong
,
studentOrder
,
studentAssit
,
...
...
@@ -193,6 +197,10 @@
Name
:
"试听"
,
Id
:
4
},
{
Name
:
"留学需求"
,
Id
:
6
},
// {
// Name: "顾问",
// Id: 5
...
...
src/components/school/student/stulist.vue
View file @
9fc39bb7
...
...
@@ -274,7 +274,7 @@
</template>
<
script
>
import
studentForm
from
"./student-form"
;
import
studentRightForm
from
"./studentRight-form"
;
import
studentRightForm
from
"./studentRight-form"
;
//包含试听课程
import
studentAddForm
from
"./studentAdd-form"
;
import
transferOrder
from
"./transfer-order"
;
import
abroadForm
from
"./abroad-form"
;
...
...
src/pages/system/noticeSysSet.vue
View file @
9fc39bb7
...
...
@@ -93,7 +93,8 @@
x.DictKey == 'Push_NewOrder' ||
x.DictKey == 'Push_TeachPreparing' ||
x.DictKey == 'Push_ClassEnd' ||
x.DictKey == 'Applet_Push_AuditEmp') &&
x.DictKey == 'Applet_Push_AuditEmp' ||
x.DictKey == 'TrialClass_Leader' ) &&
x.EditorStatus
"
:dict=
"x"
...
...
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