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
713e2985
Commit
713e2985
authored
Dec 14, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
cc081d27
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
153 additions
and
101 deletions
+153
-101
student-Assit.vue
src/components/school/student/student-Assit.vue
+24
-14
student-genjin.vue
src/components/school/student/student-genjin.vue
+9
-0
student-left.vue
src/components/school/student/student-left.vue
+43
-42
student-shiting.vue
src/components/school/student/student-shiting.vue
+19
-15
student-visit.vue
src/components/school/student/student-visit.vue
+28
-4
student-yuefang.vue
src/components/school/student/student-yuefang.vue
+29
-25
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+1
-1
No files found.
src/components/school/student/student-Assit.vue
View file @
713e2985
...
...
@@ -33,17 +33,22 @@
</
style
>
<
template
>
<div>
<div
class=
"row wrap"
>
<q-select
filled
stack-label
option-label=
"Name"
v-model=
"AssitMsg.AssistType"
option-value=
"Id"
:options=
"AssistDropList"
label=
"角色"
dense
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
<q-select
filled
dense
v-model=
"AssitMsg.AssistId"
@
filter=
"filterEmployee"
use-input
:options=
"myEmployeeList"
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
map-options
/>
<i
class=
"iconfont icon-close delAssist"
></i>
</div>
<div
class=
"row wrap"
style=
"margin-bottom:10px;float:right;"
>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
size=
"md"
@
click=
"saveAssit()"
/>
</div>
<div>
<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"
/>
<template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<q-select
filled
stack-label
option-label=
"Name"
v-model=
"AssitMsg.AssistType"
option-value=
"Id"
:options=
"AssistDropList"
label=
"角色"
dense
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
<q-select
filled
dense
v-model=
"AssitMsg.AssistId"
@
filter=
"filterEmployee"
use-input
:options=
"myEmployeeList"
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
map-options
/>
<i
class=
"iconfont icon-close delAssist"
></i>
</div>
<div
class=
"row wrap"
style=
"margin-bottom:10px;float:right;"
>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
size=
"md"
@
click=
"saveAssit()"
/>
</div>
</
template
>
<div
v-if=
"dataList.length>0"
>
<table
class=
"studentAssitTable"
style=
"border:1px solid #f2f2f2;border-collapse:collapse;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
...
...
@@ -158,13 +163,17 @@
position
:
'top'
})
this
.
getList
();
this
.
isShowAdd
=
false
;
this
.
clearMsg
();
}
}).
catch
(()
=>
{
})
},
clearMsg
(){
clearMsg
()
{
this
.
AssitMsg
.
Id
=
0
;
this
.
AssitMsg
.
AssistId
=
1
;
this
.
AssitMsg
.
AssistType
=
1
;
},
//获取数据
getList
()
{
...
...
@@ -198,13 +207,14 @@
})
that
.
getList
()
})
}).
onCancel
(()
=>
{});
}).
onCancel
(()
=>
{});
},
//获取修改数据
getEditInfo
(
obj
)
{
this
.
AssitMsg
.
Id
=
obj
.
Id
;
this
.
AssitMsg
.
AssistId
=
obj
.
AssistId
;
this
.
AssitMsg
.
AssistType
=
obj
.
AssistType
;
this
.
isShowAdd
=
true
;
}
}
}
...
...
src/components/school/student/student-genjin.vue
View file @
713e2985
...
...
@@ -91,6 +91,15 @@
methods
:
{
//保存跟进
saveFlow
()
{
if
(
this
.
flowMsg
.
Remark
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请输入内容!'
,
})
return
;
}
saveStudentFollow
(
this
.
flowMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
...
...
src/components/school/student/student-left.vue
View file @
713e2985
...
...
@@ -66,9 +66,9 @@
<div
class=
"info_content"
style=
"margin-bottom:0;"
>
<div
class=
"customer_info_component"
>
<div
class=
"customer_info_Stage"
>
<div
class=
"stage_label"
>
客户名称
</div>
<div
class=
"stage_label"
style=
"margin-top:-16px;"
>
客户名称
</div>
<div
class=
"stage_value"
>
<q-input
filled
v-model=
"customObj.StuName"
dense
></q-input>
<q-input
filled
v-model=
"customObj.StuName"
style=
"width:182px;"
:rules=
"[val => !!val || '请输入客户名称']"
ref=
"StuName"
dense
></q-input>
</div>
</div>
</div>
...
...
@@ -83,32 +83,27 @@
</div>
<div
class=
"customer_info_component"
>
<div
class=
"customer_info_Stage"
>
<div
class=
"stage_label"
>
电话
</div>
<div
class=
"stage_label"
style=
"margin-top:-16px;"
>
电话
</div>
<div
class=
"stage_value"
>
<q-input
filled
v-model=
"customObj.StuTel"
dense
></q-input>
<q-input
filled
v-model=
"customObj.StuTel"
style=
"width:182px;"
:rules=
"[val => !!val || '请输入电话号码']"
ref=
"StuTel"
dense
></q-input>
</div>
</div>
</div>
<div
class=
"customer_info_component"
>
<div
class=
"customer_info_Stage"
>
<div
class=
"stage_label"
>
出生日期
</div>
<div
class=
"stage_value"
>
<q-input
filled
v-model=
"customObj.StuBirth"
dense
style=
"width:182px;"
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=
"customObj.StuBirth"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy>
</q-icon>
<div
class=
"custom_Line"
></div>
<div
class=
"info_title"
>
基本资料
</div>
<div
class=
"info_content"
>
<div
class=
"info_item studentDate"
>
<div
class=
"item_label"
>
出生日期
</div>
<div
class=
"item_value"
>
<q-field
filled
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"customObj.StuBirth"
style=
"height:28px;width:150px"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</
template
>
</q-
input
>
</q-
field
>
</div>
</div>
</div>
<div
class=
"custom_Line"
></div>
<div
class=
"info_title"
>
基本资料
</div>
<div
class=
"info_content"
>
<div
class=
"info_item"
>
<div
class=
"item_label"
>
客户来源
</div>
<div
class=
"item_value"
>
...
...
@@ -230,14 +225,7 @@
StuId
:
0
,
},
//客户对象
customObj
:
{
AssistList
:[{
Id
:
0
,
//编号
AssistId
:
1
,
//员工编号
AssistType
:
1
,
//类型
StuId
:
1
,
//学员编号
}]
},
customObj
:
{},
//日语基础列表
basicList
:
[],
//学历列表
...
...
@@ -268,21 +256,34 @@
methods
:
{
//保存学员信息
saveStu
()
{
saveStudent
(
this
.
customObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
$emit
(
'success'
);
if
(
this
.
AddType
==
1
){
this
.
$emit
(
'close'
);
}
this
.
$refs
.
StuName
.
validate
();
this
.
$refs
.
StuTel
.
validate
();
if
(
!
this
.
$refs
.
StuName
.
hasError
&&!
this
.
$refs
.
StuTel
.
hasError
){
var
myreg
=
/^
(((
13
[
0-9
]{1})
|
(
15
[
0-9
]{1})
|
(
18
[
0-9
]{1}))
+
\d{8})
$/
;
if
(
!
myreg
.
test
(
this
.
customObj
.
StuTel
)){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
`请输入正确的电话号码`
})
return
}
})
saveStudent
(
this
.
customObj
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
$emit
(
'success'
);
if
(
this
.
AddType
==
1
){
this
.
$emit
(
'close'
);
}
}
})
}
},
//获取员工列表
getEmployeeList
()
{
...
...
src/components/school/student/student-shiting.vue
View file @
713e2985
...
...
@@ -15,18 +15,15 @@
<q-btn
label=
"选择试听课"
style=
"margin-left:50px;"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowTeacher=true"
/>
</div>
<template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"addMsg.ClassDate"
dense
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>
<div
class=
"row wrap studentDate"
>
<q-field
filled
class=
"q-pb-lg q-pr-lg"
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"addMsg.ClassDate"
ref=
"ClassDate"
:rules=
"[val => !!val || '请选择预约日期']"
style=
"height:28px;width:228px"
type=
"date"
placeholder=
"预约日期"
>
</el-date-picker>
</
template
>
</q-
input
>
<div
class=
"Student_Date col-6"
>
</q-
field
>
<div
class=
"Student_Date col-6
q-pr-lg
"
>
<q-field
filled
class=
"q-pb-lg"
dense
>
<
template
v-slot:control
>
<el-time-select
v-model=
"addMsg.ClassTime"
size=
"small"
ref=
"ClassTime"
style=
"width:50%"
:picker-options=
"
{
...
...
@@ -53,7 +50,7 @@
: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"
emit-value
ref=
"TeacherId"
:options=
"TeacherList"
label=
"选择教师"
dense
class=
"col-6 q-pb-lg
q-pr-lg
"
emit-value
map-options
/>
</div>
<div
class=
"row wrap"
>
...
...
@@ -182,8 +179,15 @@
methods
:
{
//保存
saveAppointForm
()
{
this
.
$refs
.
ClassDate
.
validate
();
this
.
$refs
.
ClassContent
.
validate
();
if
(
this
.
addMsg
.
ClassDate
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择预约日期!'
,
})
return
;
}
if
(
this
.
addMsg
.
ClassTime
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
...
...
@@ -202,7 +206,7 @@
})
return
;
}
if
(
!
this
.
$refs
.
Class
Date
.
hasError
&&
!
this
.
$refs
.
Class
Content
.
hasError
)
{
if
(
!
this
.
$refs
.
ClassContent
.
hasError
)
{
SetVisitorReserve
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
...
...
src/components/school/student/student-visit.vue
View file @
713e2985
...
...
@@ -22,7 +22,7 @@
v-model=
"VisitMsg.School_Id"
:options=
"schoolList"
emit-value
map-options
label=
"到访校区"
/>
<q-field
filled
class=
"q-pb-lg"
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"VisitMsg.Date"
style=
"height:28px;width:2
32px"
type=
"date"
placeholder=
"选择
日期"
>
<el-date-picker
v-model=
"VisitMsg.Date"
style=
"height:28px;width:2
28px"
type=
"date"
placeholder=
"到访
日期"
>
</el-date-picker>
</
template
>
</q-field>
...
...
@@ -30,7 +30,7 @@
<div
class=
"row warp studentDate"
>
<q-field
filled
class=
"q-pb-lg q-pr-lg"
dense
>
<
template
v-slot:control
>
<el-time-select
v-model=
"VisitMsg.VisitTime"
size=
"small"
ref=
"ClassTime"
style=
"width:2
1
0px"
:picker-options=
"
{
<el-time-select
v-model=
"VisitMsg.VisitTime"
size=
"small"
ref=
"ClassTime"
style=
"width:2
3
0px"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00',
...
...
@@ -38,12 +38,12 @@
</el-time-select>
</
template
>
</q-field>
<q-select
filled
v-model=
"VisitMsg.ReceptionPersion"
dense
@
filter=
"filterEmployee"
class=
"col-6 q-pb-lg"
<q-select
filled
v-model=
"VisitMsg.ReceptionPersion"
style=
"width:250px;"
dense
@
filter=
"filterEmployee"
class=
"col-6 q-pb-lg"
:options=
"myEmployeeList"
option-label=
"EmployeeName"
use-input
option-value=
"Id"
emit-value
map-options
label=
"接待人"
/>
</div>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"VisitMsg.Remark"
dense
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"备注"
>
<q-input
filled
v-model=
"VisitMsg.Remark"
dense
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg
q-pr-lg
"
label=
"备注"
>
</q-input>
</div>
...
...
@@ -187,12 +187,18 @@
this
.
getSchool
();
this
.
getEmployeeList
();
this
.
getList
();
let
userInfo
=
this
.
getLocalStorage
();
if
(
userInfo
){
this
.
VisitMsg
.
ReceptionPersion
=
parseInt
(
userInfo
.
AccountId
);
}
},
methods
:
{
//点击到访
clickItem
(
item
)
{
this
.
feedBackMsg
.
Id
=
item
.
Id
;
this
.
feedBackMsg
.
Feedback
=
item
.
Feedback
;
this
.
feedBackMsg
.
IsVisit
=
item
.
IsVisit
;
this
.
isShowEdit
=
true
;
},
SetFeedBack
()
{
...
...
@@ -256,6 +262,24 @@
//保存数据
saveVisit
()
{
this
.
VisitMsg
.
StuId
=
this
.
saveObj
.
StuId
;
if
(
this
.
VisitMsg
.
Date
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择到访日期!'
,
})
return
;
}
if
(
this
.
VisitMsg
.
VisitTime
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择到访时间!'
,
})
return
;
}
saveStudentVisit
(
this
.
VisitMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
...
...
src/components/school/student/student-yuefang.vue
View file @
713e2985
...
...
@@ -9,35 +9,21 @@
@
click=
"isShowAdd=false"
/>
</div>
<template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<div
class=
"row wrap
studentDate
"
>
<q-input
filled
class=
"col-6 q-pb-lg q-pr-lg"
dense
v-model=
"yueMsg.AppointmentPoint"
label=
"约访地点"
></q-input>
<q-input
filled
v-model=
"yueMsg.AppointmentTime"
dense
>
<template
v-slot:prepend
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
v-model=
"yueMsg.AppointmentTime"
mask=
"YYYY-MM-DD HH:mm"
>
<div
class=
"row items-center justify-end"
>
<q-btn
v-close-popup
label=
"Close"
color=
"primary"
flat
/>
</div>
</q-date>
</q-popup-proxy>
</q-icon>
</
template
>
<
template
v-slot:append
>
<q-icon
name=
"access_time"
class=
"cursor-pointer"
>
<q-popup-proxy
transition-show=
"scale"
transition-hide=
"scale"
>
<q-time
v-model=
"yueMsg.AppointmentTime"
mask=
"YYYY-MM-DD HH:mm"
format24h
>
<div
class=
"row items-center justify-end"
>
<q-btn
v-close-popup
label=
"Close"
color=
"primary"
flat
/>
</div>
</q-time>
</q-popup-proxy>
</q-icon>
<q-field
filled
class=
"q-pb-lg"
dense
>
<template
v-slot:control
>
<el-date-picker
v-model=
"yueMsg.AppointmentTime"
type=
"datetime"
style=
"width:228px"
placeholder=
"选择约访日期时间!"
>
</el-date-picker>
</
template
>
</q-
input
>
</q-
field
>
</div>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"yueMsg.Remark"
dense
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"备注"
>
<q-input
filled
v-model=
"yueMsg.Remark"
dense
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg
q-pr-lg
"
label=
"备注"
>
</q-input>
</div>
<div
class=
"row wrap"
style=
"margin-bottom:10px;"
>
...
...
@@ -180,6 +166,24 @@
//保存约访
savePoint
()
{
this
.
yueMsg
.
StuId
=
this
.
saveObj
.
StuId
;
if
(
this
.
yueMsg
.
AppointmentPoint
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请输入约访地点!'
,
})
return
;
}
if
(
this
.
yueMsg
.
AppointmentTime
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择约访日期时间!'
,
})
return
;
}
saveStudentAppointment
(
this
.
yueMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
...
...
src/components/school/student/studentRight-form.vue
View file @
713e2985
...
...
@@ -424,7 +424,7 @@
.operate_Content
{
overflow
:
auto
;
padding-right
:
20px
;
/* padding-right: 20px; */
}
.operate_Content
::-webkit-scrollbar
{
...
...
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