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
2d116d47
Commit
2d116d47
authored
Jan 18, 2022
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
筛选处理
parent
311dabea
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
237 additions
and
33 deletions
+237
-33
mystu.vue
src/pages/sale/mystu.vue
+2
-2
studentTracking.vue
src/pages/sale/studentTracking.vue
+105
-7
stuList.vue
src/pages/stuMan/stuList.vue
+130
-24
No files found.
src/pages/sale/mystu.vue
View file @
2d116d47
...
...
@@ -270,8 +270,8 @@ export default {
StuType
:
""
,
CreateIds
:
[],
ExistCourseConsultant
:
""
,
//是否存在课程顾问(1-存在,2=不存在)
CreateType
:
''
,
//客户来源
StuChannel
:
""
//收客渠道
//
CreateType:'', //客户来源
//
StuChannel: "" //收客渠道
},
dateArray
:
[],
//日期数组
pageCount
:
0
,
...
...
src/pages/sale/studentTracking.vue
View file @
2d116d47
...
...
@@ -94,7 +94,7 @@
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
option-value=
"CourseId"
option-label=
"CourseName"
v-model=
"msg.CourseId"
clearable
emit-value
use-input
:options=
"myCourseList"
label=
"课程"
dense
map-options
@
filter=
"filterFn"
map-options
@
filter=
"filterFn
kec
"
/>
</div>
<div
class=
"col-3"
>
...
...
@@ -109,7 +109,7 @@
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"
resetSearch
"
@
input=
"
msg.StuSourceId='',msg.StuChannel='',resetSearch()
"
dense
clearable
filled
...
...
@@ -122,7 +122,7 @@
label=
"客户来源"
/>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
v-if=
"msg.CreateType==1"
>
<q-select
filled
v-model=
"msg.StuChannel"
@
input=
"resetSearch"
label=
"收客渠道"
dense
:options=
"StuChannelList"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
use-input
clearable
@
filter=
"filterStuChannel"
>
<template
v-slot:no-option
>
...
...
@@ -133,6 +133,29 @@
</q-item>
</
template
>
</q-select>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==2"
>
<q-select
filled
v-model=
"msg.StuSourceId"
dense
:options=
"customList"
use-input
label=
"关联同行"
@
filter=
"filterFn"
option-label=
"CustomerName"
@
input=
"resetSearch"
clearable
option-value=
"CustomerId"
emit-value
map-options
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==3"
>
<q-select
filled
v-model=
"msg.StuSourceId"
dense
@
filter=
"filterEmployee"
label=
"介绍人"
use-input
:options=
"myEmployeeList"
option-label=
"EmployeeName"
@
input=
"resetSearch"
clearable
option-value=
"Id"
emit-value
map-options
/>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==4"
>
<q-select
filled
v-model=
"msg.StuSourceId"
dense
use-input
@
filter=
"filterStudent"
label=
"转介人"
:options=
"MyTransListData"
option-label=
"StuName"
@
input=
"resetSearch"
clearable
option-value=
"StuId"
emit-value
map-options
/>
</div>
<div
class=
"col-3"
>
<q-field
filled
dense
>
...
...
@@ -348,17 +371,20 @@ import {
queryCourseDropdownList
,
}
from
'../../api/course/index'
import
{
queryEmployee
}
from
"../../api/users/user"
;
import
{
queryGuestStateList
,
CreateTypeList
,
GetStuChannelList
GetStuChannelList
,
GetCustomerList
}
from
"../../api/sale/sale.js"
;
import
{
queryStuStageList
,
GetStudentTypeList
,
GetPersonalDimension
,
getSchoolDropdown
getSchoolDropdown
,
getStudentDorpDownList
}
from
"../../api/school/index"
;
import
studentRightForm
from
"../../components/school/student/studentRight-form"
;
import
studentFUForm
from
"../../components/school/student/studentFu-form"
;
...
...
@@ -397,7 +423,7 @@ export default {
ConsultantId
:
''
,
//课程顾问
CreateType
:
''
,
//客户来源
StuChannel
:
""
,
//收客渠道
StuSourceId
:
''
},
//归属类型列表
...
...
@@ -447,7 +473,14 @@ export default {
customFromList
:
[],
//客户来源
StuChannelList
:
[],
//收客渠道
allStuChannelList
:
[],
//所有收客渠道
customList
:
[],
//同行列表
allCustomList
:
[],
//所有同行列表
//员工列表
employeeList
:
[],
myEmployeeList
:
[],
TransListData
:
[],
//转介人数据
MyTransListData
:
[],
}
...
...
@@ -471,6 +504,9 @@ export default {
this
.
getRole
()
this
.
getCustomFrom
();
this
.
GetStuChannelList
();
this
.
GetCustomerList
();
this
.
getEmployeeList
()
this
.
getStudentDorpDown
()
},
methods
:
{
...
...
@@ -506,6 +542,65 @@ export default {
}
});
},
//获取客户下拉数据
GetCustomerList
()
{
let
msg
=
{
QCreateBy
:
0
};
GetCustomerList
(
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
customList
=
res
.
Data
;
this
.
allCustomList
=
res
.
Data
;
}
});
},
//筛选客户
filterFn
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
""
)
{
this
.
customList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
allCustomList
));
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
customList
=
this
.
allCustomList
.
filter
(
v
=>
v
.
CustomerName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
});
},
//获取员工列表
getEmployeeList
()
{
queryEmployee
({
IsLeave
:
1
}).
then
(
res
=>
{
this
.
employeeList
=
res
.
Data
;
this
.
myEmployeeList
=
res
.
Data
;
});
},
//筛选员工
filterEmployee
(
val
,
update
,
abort
)
{
update
(()
=>
{
this
.
myEmployeeList
=
this
.
employeeList
.
filter
(
v
=>
v
.
EmployeeName
.
indexOf
(
val
)
>
-
1
);
});
},
//获取转介人下拉
getStudentDorpDown
()
{
getStudentDorpDownList
().
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TransListData
=
res
.
Data
;
this
.
MyTransListData
=
res
.
Data
;
}
});
},
//筛选转介人
filterStudent
(
val
,
update
,
abort
)
{
update
(()
=>
{
this
.
MyTransListData
=
this
.
TransListData
.
filter
(
v
=>
v
.
StuName
.
indexOf
(
val
)
>
-
1
);
});
},
getRole
()
{
queryEmployee
({
IsLeave
:
1
,
...
...
@@ -596,6 +691,9 @@ export default {
if
(
msg
.
CreateType
==
''
||
msg
.
CreateType
==
null
){
msg
.
CreateType
=
0
}
if
(
msg
.
StuSourceId
==
''
||
msg
.
StuSourceId
==
null
){
msg
.
StuSourceId
=
0
}
getStudentFollowUpPageList
(
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
...
...
@@ -676,7 +774,7 @@ export default {
this
.
isShowStuFU
=
true
;
},
filterFn
(
val
,
update
)
{
//课程的栓选
filterFn
kec
(
val
,
update
)
{
//课程的栓选
update
(()
=>
{
if
(
val
===
''
)
{
this
.
myCourseList
=
this
.
allCourseList
...
...
src/pages/stuMan/stuList.vue
View file @
2d116d47
...
...
@@ -232,7 +232,7 @@
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"
resetSearch
"
@
input=
"
msg.StuSourceId='',msg.StuChannelId='',resetSearch()
"
:dense=
"false"
clearable
filled
...
...
@@ -245,7 +245,7 @@
label=
"客户来源"
/>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
v-if=
"msg.CreateType==1"
>
<q-select
filled
v-model=
"msg.StuChannelId"
@
input=
"resetSearch"
label=
"收客渠道"
:dense=
"false"
:options=
"StuChannelList"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
use-input
clearable
@
filter=
"filterStuChannel"
>
<
template
v-slot:no-option
>
...
...
@@ -257,6 +257,30 @@
</
template
>
</q-select>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==2"
>
<q-select
filled
v-model=
"msg.StuSourceId"
:dense=
"false"
:options=
"customList"
use-input
label=
"关联同行"
@
filter=
"filterFn"
option-label=
"CustomerName"
@
input=
"resetSearch"
clearable
option-value=
"CustomerId"
emit-value
map-options
>
<
template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==3"
>
<q-select
filled
v-model=
"msg.StuSourceId"
:dense=
"false"
@
filter=
"filterEmployee"
label=
"介绍人"
use-input
:options=
"myEmployeeList"
option-label=
"EmployeeName"
@
input=
"resetSearch"
clearable
option-value=
"Id"
emit-value
map-options
/>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==4"
>
<q-select
filled
v-model=
"msg.StuSourceId"
:dense=
"false"
use-input
@
filter=
"filterStudent"
label=
"转介人"
:options=
"MyTransListData"
option-label=
"StuName"
@
input=
"resetSearch"
clearable
option-value=
"StuId"
emit-value
map-options
/>
</div>
</div>
</div>
<div
class=
"page-content"
>
...
...
@@ -409,6 +433,7 @@
import
{
getSchoolDropdown
,
getClassDropDownList
,
getStudentDorpDownList
}
from
"../../api/school/index"
;
import
{
queryCourseDropdownList
...
...
@@ -422,7 +447,8 @@
queryGuestStateList
,
CreateTypeList
,
GetStuChannelList
GetStuChannelList
,
GetCustomerList
}
from
"../../api/sale/sale.js"
;
import
MoreQuery
from
"../../components/stuMan/moreQuery.vue"
;
import
StopLessonForm
from
"../../components/teacher/stopLessonForm"
;
...
...
@@ -433,7 +459,9 @@
import
list
from
"../../components/stuMan/makeUpHours.vue"
;
//可补课课时,缺勤次数,请假次数
import
eventLog
from
"../../components/stuMan/eventRecord.vue"
;
//事件记录
import
studentRightForm
from
"../../components/school/student/studentRight-form"
;
import
{
queryEmployee
}
from
"../../api/users/user"
;
export
default
{
meta
:
{
title
:
"学员名单"
,
...
...
@@ -473,7 +501,8 @@
EndOrderTime
:
""
,
//下单结束时间
GuestState
:
""
,
//学员状态
CreateType
:
''
,
//客户来源
StuChannelId
:
""
//收客渠道
StuChannelId
:
""
,
//收客渠道
StuSourceId
:
''
,
},
pageCount
:
0
,
columns
:
[{
...
...
@@ -500,6 +529,22 @@
name
:
"TeacherManager"
,
label
:
"协助老师"
,
align
:
"left"
},
{
name
:
"CreateTypeName"
,
label
:
"客户来源"
,
field
:
"CreateTypeName"
,
align
:
"left"
,
},{
name
:
"StuSourceIdName"
,
label
:
"来源关联人"
,
field
:
"StuSourceIdName"
,
align
:
"left"
,
},{
name
:
"StuChannelName"
,
label
:
"收客渠道"
,
field
:
"StuChannelName"
,
align
:
"left"
,
},
{
name
:
"Mobile"
,
...
...
@@ -615,22 +660,7 @@
field
:
"EventlogNum"
,
align
:
"left"
,
},
{
name
:
"CreateTypeName"
,
label
:
"客户来源"
,
field
:
"CreateTypeName"
,
align
:
"left"
,
},{
name
:
"StuSourceIdName"
,
label
:
"来源关联人"
,
field
:
"StuSourceIdName"
,
align
:
"left"
,
},{
name
:
"StuChannelName"
,
label
:
"收客渠道"
,
field
:
"StuChannelName"
,
align
:
"left"
,
},
{
name
:
"GuestStateStr"
,
label
:
"状态"
,
...
...
@@ -701,9 +731,19 @@
BelongType
:
1
,
isShowStuRight
:
false
,
isJudgeTrans
:
1
,
customFromList
:
[],
//客户来源
StuChannelList
:
[],
//收客渠道
allStuChannelList
:
[],
//所有收客渠道
customFromList
:
[],
//客户来源
StuChannelList
:
[],
//收客渠道
allStuChannelList
:
[],
//所有收客渠道
customList
:
[],
//同行列表
allCustomList
:
[],
//所有同行列表
//员工列表
employeeList
:
[],
myEmployeeList
:
[],
TransListData
:
[],
//转介人数据
MyTransListData
:
[],
};
},
...
...
@@ -717,8 +757,12 @@
this
.
getTypeEnum
();
this
.
getEarlyWarningEnum
();
this
.
getList
();
this
.
getCustomFrom
();
this
.
GetStuChannelList
();
this
.
GetCustomerList
();
this
.
getEmployeeList
()
this
.
getStudentDorpDown
()
},
methods
:
{
//获取收客渠道
...
...
@@ -753,6 +797,68 @@
}
});
},
//获取客户下拉数据
GetCustomerList
()
{
let
msg
=
{
QCreateBy
:
0
};
GetCustomerList
(
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
customList
=
res
.
Data
;
this
.
allCustomList
=
res
.
Data
;
}
});
},
//筛选客户
filterFn
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
""
)
{
this
.
customList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
allCustomList
));
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
customList
=
this
.
allCustomList
.
filter
(
v
=>
v
.
CustomerName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
});
},
//获取员工列表
getEmployeeList
()
{
queryEmployee
({
IsLeave
:
1
}).
then
(
res
=>
{
this
.
employeeList
=
res
.
Data
;
this
.
myEmployeeList
=
res
.
Data
;
});
},
//筛选员工
filterEmployee
(
val
,
update
,
abort
)
{
update
(()
=>
{
this
.
myEmployeeList
=
this
.
employeeList
.
filter
(
v
=>
v
.
EmployeeName
.
indexOf
(
val
)
>
-
1
);
});
},
//获取转介人下拉
getStudentDorpDown
()
{
getStudentDorpDownList
().
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TransListData
=
res
.
Data
;
this
.
MyTransListData
=
res
.
Data
;
}
});
},
//筛选转介人
filterStudent
(
val
,
update
,
abort
)
{
update
(()
=>
{
this
.
MyTransListData
=
this
.
TransListData
.
filter
(
v
=>
v
.
StuName
.
indexOf
(
val
)
>
-
1
);
});
},
//获取学员状态列表
getGuestStateList
()
{
queryGuestStateList
({}).
then
(
res
=>
{
...
...
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