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
35f7d5da
Commit
35f7d5da
authored
Apr 18, 2022
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
into master
parents
53ff514a
03c4b3c7
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
177 additions
and
169 deletions
+177
-169
student-Assit.vue
src/components/school/student/student-Assit.vue
+41
-44
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+3
-1
studentTracking.vue
src/pages/sale/studentTracking.vue
+0
-1
dayStatic.vue
src/pages/teacher/dayStatic.vue
+2
-1
teacherMonth.vue
src/pages/teacher/teacherMonth.vue
+20
-3
teacherTrack.vue
src/pages/teacher/teacherTrack.vue
+111
-119
No files found.
src/components/school/student/student-Assit.vue
View file @
35f7d5da
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<
template
>
<
template
>
<div>
<div>
<!--课程顾问 或有教师权限-->
<!--课程顾问 或有教师权限-->
<template
v-if=
"userInfo.IsCourseConsultant == 1||isHaveTeacherEdit"
>
<template
v-if=
"userInfo.IsCourseConsultant == 1||isHaveTeacherEdit
||isHaveXueManager
"
>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowAdd = true"
/>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowAdd = true"
/>
</
template
>
</
template
>
<
template
v-else
>
<
template
v-else
>
...
@@ -43,11 +43,14 @@
...
@@ -43,11 +43,14 @@
@
click=
"isShowAdd = false"
/>
@
click=
"isShowAdd = false"
/>
<
template
v-if=
"isShowAdd"
>
<
template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<q-select
filled
stack-label
option-label=
"Name"
@
input=
"
getRole
"
v-model=
"AssitMsg.AssistType"
<q-select
filled
stack-label
option-label=
"Name"
@
input=
"
changeData
"
v-model=
"AssitMsg.AssistType"
option-value=
"Id"
:options=
"AssistDropList"
label=
"角色"
dense
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
option-value=
"Id"
:options=
"AssistDropList"
label=
"角色"
dense
class=
"col-6 q-pb-lg q-pr-lg"
emit-value
map-options
/>
map-options
/>
<q-select
filled
dense
v-if=
"AssitMsg.AssistType == 2"
v-model=
"AssitMsg.AssistId"
:options=
"RoleListData"
<q-select
filled
dense
v-if=
"AssitMsg.AssistType == 2"
v-model=
"AssitMsg.AssistId"
:options=
"RoleListData"
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
map-options
/>
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
map-options
/>
<q-select
filled
dense
v-if=
"AssitMsg.AssistType == 4"
v-model=
"AssitMsg.AssistId"
:options=
"TeacherList"
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
map-options
/>
<q-select
filled
dense
v-else
v-model=
"AssitMsg.AssistId"
@
filter=
"filterEmployee"
use-input
<q-select
filled
dense
v-else
v-model=
"AssitMsg.AssistId"
@
filter=
"filterEmployee"
use-input
:options=
"myEmployeeList"
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
:options=
"myEmployeeList"
option-label=
"EmployeeName"
class=
"col-6 q-pb-lg"
option-value=
"Id"
emit-value
map-options
/>
map-options
/>
...
@@ -70,8 +73,8 @@
...
@@ -70,8 +73,8 @@
<td>
{{ item.AssistTypeName }}
</td>
<td>
{{ item.AssistTypeName }}
</td>
<td>
{{ item.AssistName }}
</td>
<td>
{{ item.AssistName }}
</td>
<td>
<td>
<
template
v-if=
"userInfo.IsCourseConsultant == 1||isHaveTeacherEdit"
>
<
template
v-if=
"userInfo.IsCourseConsultant == 1||isHaveTeacherEdit
||isHaveXueManager
"
>
<div
v-if=
"userInfo.IsCourseConsultant == 1&&
item.AssistType != 2 && item.AssistType != 4
"
>
<div
v-if=
"userInfo.IsCourseConsultant == 1&&
(item.AssistType == 2 ||item.AssistType == 3)
"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"修改"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"修改"
@
click=
"getEditInfo(item)"
></q-btn>
@
click=
"getEditInfo(item)"
></q-btn>
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight:400"
label=
"删除"
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight:400"
label=
"删除"
...
@@ -83,12 +86,7 @@
...
@@ -83,12 +86,7 @@
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight:400"
label=
"删除"
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight:400"
label=
"删除"
@
click=
"deleteAssits(item.Id)"
/>
@
click=
"deleteAssits(item.Id)"
/>
</div>
</div>
<div
v-if=
"isShowBian(item)"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"修改"
@
click=
"getGuwenEditInfo(item)"
></q-btn>
</div>
</
template
>
</
template
>
</td>
</td>
</tr>
</tr>
</table>
</table>
...
@@ -141,6 +139,7 @@
...
@@ -141,6 +139,7 @@
page_Count
:
0
,
page_Count
:
0
,
AssistDropList
:
[],
//下拉数据
AssistDropList
:
[],
//下拉数据
RoleListData
:
[],
//课程顾问下拉数据
RoleListData
:
[],
//课程顾问下拉数据
TeacherList
:
[],
//教师列表
employeeList
:
[],
employeeList
:
[],
myEmployeeList
:
[],
myEmployeeList
:
[],
userInfo
:
{}
userInfo
:
{}
...
@@ -170,12 +169,12 @@
...
@@ -170,12 +169,12 @@
}
}
}
}
return
false
;
return
false
;
}
},
}),
}),
mounted
()
{
mounted
()
{
this
.
getList
();
this
.
getList
();
this
.
GetAssistTypeList
();
this
.
GetAssistTypeList
();
this
.
getEmployeeList
();
},
},
methods
:
{
methods
:
{
//获取协助人员
//获取协助人员
...
@@ -185,41 +184,48 @@
...
@@ -185,41 +184,48 @@
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
let
template
=
res
.
Data
;
let
template
=
res
.
Data
;
template
.
forEach
(
x
=>
{
template
.
forEach
(
x
=>
{
if
(
this
.
userInfo
.
IsCourseConsultant
==
1
&&
this
.
isHaveTeacherEdit
)
{
if
(
this
.
userInfo
.
IsCourseConsultant
==
1
)
{
if
(
x
.
Id
!=
1
)
{
if
(
x
.
Id
!=
1
)
{
this
.
AssistDropList
.
push
(
x
);
this
.
AssistDropList
.
push
(
x
);
}
}
}
else
if
(
this
.
userInfo
.
IsCourseConsultant
==
1
&&
!
this
.
isHaveTeacherEdit
)
{
if
(
x
.
Id
==
4
&&
this
.
isHaveTeacherEdit
)
{
if
(
x
.
Id
!=
1
&&
x
.
Id
!=
4
)
{
this
.
AssistDropList
.
push
(
x
);
this
.
AssistDropList
.
push
(
x
);
}
}
}
else
if
(
this
.
userInfo
.
IsCourseConsultant
==
0
&&
this
.
isHaveTeacherEdit
)
{
}
else
if
(
this
.
userInfo
.
IsCourseConsultant
==
0
)
{
if
(
this
.
isHaveTeacherEdit
)
{
if
(
x
.
Id
==
4
)
{
if
(
x
.
Id
==
4
)
{
this
.
AssistDropList
.
push
(
x
);
this
.
AssistDropList
.
push
(
x
);
}
}
}
}
}
});
});
}
}
});
});
},
},
//获取员工列表
changeData
()
{
getEmployeeList
()
{
var
queryObj
=
{
queryEmployee
({
IsLeave
:
1
,
IsLeave
:
1
,
UserRole
:
0
UserRole
:
0
,
}).
then
(
res
=>
{
AccountTypeStr
:
""
,
};
if
(
this
.
AssitMsg
.
AssistType
==
2
)
{
queryObj
.
UserRole
=
2
;
queryEmployee
(
queryObj
).
then
(
res
=>
{
this
.
RoleListData
=
res
.
Data
;
});
}
if
(
this
.
AssitMsg
.
AssistType
==
4
)
{
queryObj
.
AccountTypeStr
=
"2"
queryEmployee
(
queryObj
).
then
(
res
=>
{
this
.
TeacherList
=
res
.
Data
;
});
}
else
{
queryObj
.
UserRole
=
0
;
queryEmployee
(
queryObj
).
then
(
res
=>
{
this
.
employeeList
=
res
.
Data
;
this
.
employeeList
=
res
.
Data
;
this
.
myEmployeeList
=
res
.
Data
;
this
.
myEmployeeList
=
res
.
Data
;
});
});
},
}
//切换课程顾问
getRole
()
{
queryEmployee
({
IsLeave
:
1
,
UserRole
:
2
}).
then
(
res
=>
{
this
.
RoleListData
=
res
.
Data
;
});
},
},
//筛选员工
//筛选员工
filterEmployee
(
val
,
update
,
abort
)
{
filterEmployee
(
val
,
update
,
abort
)
{
...
@@ -241,6 +247,7 @@
...
@@ -241,6 +247,7 @@
message
:
"数据保存成功!"
,
message
:
"数据保存成功!"
,
position
:
"top"
position
:
"top"
});
});
this
.
$emit
(
"success"
);
this
.
getList
();
this
.
getList
();
this
.
isShowAdd
=
false
;
this
.
isShowAdd
=
false
;
this
.
clearMsg
();
this
.
clearMsg
();
...
@@ -263,16 +270,6 @@
...
@@ -263,16 +270,6 @@
})
})
.
catch
(()
=>
{});
.
catch
(()
=>
{});
},
},
//课程顾问是本人 显示编辑按钮
isShowBian
(
item
)
{
let
isShow
=
false
;
if
(
item
.
AssistTypeName
==
'课程顾问'
)
{
// if (this.userInfo.AccountName == item.AssistName) {
isShow
=
true
// }
}
return
isShow
;
},
//删除协同
//删除协同
deleteAssits
(
Id
)
{
deleteAssits
(
Id
)
{
let
that
=
this
;
let
that
=
this
;
...
...
src/components/school/student/studentRight-form.vue
View file @
35f7d5da
...
@@ -214,7 +214,7 @@
...
@@ -214,7 +214,7 @@
stuData
:
{},
stuData
:
{},
userInfo
:
{},
userInfo
:
{},
isconsult
:
false
,
//学生咨询弹窗
isconsult
:
false
,
//学生咨询弹窗
IsHaveCurseManager
:
false
,
//是否存在课程顾问
IsHaveCurseManager
:
false
,
//是否存在课程顾问
};
};
},
},
created
()
{
created
()
{
...
@@ -264,7 +264,9 @@
...
@@ -264,7 +264,9 @@
},
},
//刷新列表
//刷新列表
refreshStudentPage
()
{
refreshStudentPage
()
{
console
.
log
(
"2222"
);
this
.
$emit
(
"success"
);
this
.
$emit
(
"success"
);
},
},
//客户情况信息的修改
//客户情况信息的修改
consultsuccess
(
data
)
{
consultsuccess
(
data
)
{
...
...
src/pages/sale/studentTracking.vue
View file @
35f7d5da
...
@@ -436,7 +436,6 @@
...
@@ -436,7 +436,6 @@
WeChatNo
:
''
,
WeChatNo
:
''
,
StuType
:
''
,
//学生类型
StuType
:
''
,
//学生类型
StuGuestState
:
''
,
//合同状态
StuGuestState
:
''
,
//合同状态
IsQueryMyStu
:
'1'
,
//是否查询我的学员 1是 0否
SFTime
:
''
,
SFTime
:
''
,
EFTime
:
''
,
EFTime
:
''
,
StuStage
:
''
,
//客户状态
StuStage
:
''
,
//客户状态
...
...
src/pages/teacher/dayStatic.vue
View file @
35f7d5da
...
@@ -147,7 +147,6 @@
...
@@ -147,7 +147,6 @@
分数差距
分数差距
</q-th>
</q-th>
</
template
>
</
template
>
<
template
v-else
>
<
template
v-else
>
<q-th
:key=
"col.name"
:props=
"props"
style=
"max-width:70px"
>
<q-th
:key=
"col.name"
:props=
"props"
style=
"max-width:70px"
>
{{
col
.
label
}}
{{
col
.
label
}}
...
@@ -155,6 +154,7 @@
...
@@ -155,6 +154,7 @@
</
template
>
</
template
>
</template>
</template>
</q-tr>
</q-tr>
<
template
v-slot:bottom
>
<
template
v-slot:bottom
>
</
template
>
</
template
>
</q-table>
</q-table>
...
@@ -191,6 +191,7 @@
...
@@ -191,6 +191,7 @@
field
:
'StudentCount'
,
field
:
'StudentCount'
,
align
:
'left'
align
:
'left'
},
},
{
{
name
:
'AttendClassHourScore'
,
name
:
'AttendClassHourScore'
,
label
:
'上课时数'
,
label
:
'上课时数'
,
...
...
src/pages/teacher/teacherMonth.vue
View file @
35f7d5da
...
@@ -42,7 +42,12 @@
...
@@ -42,7 +42,12 @@
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
""
>
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
""
>
<q-tr
slot=
"header"
slot-scope=
"props"
:props=
"props"
>
<q-tr
slot=
"header"
slot-scope=
"props"
:props=
"props"
>
<
template
v-for=
"col in props.cols"
:props=
"props"
>
<
template
v-for=
"col in props.cols"
:props=
"props"
>
<template
v-if=
"col.label=='线上与学生互动数'"
>
<template
v-if=
"col.label=='班主任学生互动'"
>
<q-th
:key=
"col.name"
:props=
"props"
style=
"max-width:75px;text-align:center;"
>
班主任
<br
/>
学生互动
</q-th>
</
template
>
<
template
v-else-if=
"col.label=='线上与学生互动数'"
>
<q-th
:key=
"col.name"
:props=
"props"
style=
"max-width:90px;text-align:center;"
>
<q-th
:key=
"col.name"
:props=
"props"
style=
"max-width:90px;text-align:center;"
>
线上与学生
<br
/>
互动数
线上与学生
<br
/>
互动数
</q-th>
</q-th>
...
@@ -168,14 +173,22 @@
...
@@ -168,14 +173,22 @@
<span
v-else
>
{{
props
.
row
.
DateStr
}}
</span>
<span
v-else
>
{{
props
.
row
.
DateStr
}}
</span>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-FinishTimesPlanCount=
"props"
>
<q-td
:props=
"props"
>
{{
props
.
row
.
FinishTimes
}}
/
{{
props
.
row
.
FollowCount
}}
</q-td>
</
template
>
<
template
v-slot:bottom-row
>
<
template
v-slot:bottom-row
>
<q-tr>
<q-tr
v-if=
"lastRow"
>
<q-td>
<q-td>
{{
lastRow
.
DateStr
}}
{{
lastRow
.
DateStr
}}
</q-td>
</q-td>
<q-td>
<q-td>
{{
lastRow
.
StudentCount
}}
{{
lastRow
.
StudentCount
}}
</q-td>
</q-td>
<q-td>
{{
lastRow
.
FinishTimes
}}
/
{{
lastRow
.
FollowCount
}}
</q-td>
<q-td>
<q-td>
{{
lastRow
.
AttendClassHourScore
}}
{{
lastRow
.
AttendClassHourScore
}}
</q-td>
</q-td>
...
@@ -241,7 +254,6 @@
...
@@ -241,7 +254,6 @@
</q-td>
</q-td>
</q-tr>
</q-tr>
</
template
>
</
template
>
<
template
v-slot:bottom
>
<
template
v-slot:bottom
>
</
template
>
</
template
>
</q-table>
</q-table>
...
@@ -277,6 +289,11 @@
...
@@ -277,6 +289,11 @@
align
:
'left'
,
align
:
'left'
,
sortable
:
true
sortable
:
true
},
},
{
name
:
'FinishTimesPlanCount'
,
label
:
'班主任学生互动'
,
align
:
'left'
},
{
{
name
:
'AttendClassHourScore'
,
name
:
'AttendClassHourScore'
,
label
:
'上课时数'
,
label
:
'上课时数'
,
...
...
src/pages/teacher/teacherTrack.vue
View file @
35f7d5da
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
position
:
sticky
;
position
:
sticky
;
left
:
0px
;
left
:
0px
;
}
}
.stulistNumber
{
.stulistNumber
{
display
:
inline-block
;
display
:
inline-block
;
width
:
25px
;
width
:
25px
;
...
@@ -32,6 +33,7 @@
...
@@ -32,6 +33,7 @@
cursor
:
pointer
;
cursor
:
pointer
;
color
:
#2961FE
;
color
:
#2961FE
;
}
}
.OCourseTable
{
.OCourseTable
{
width
:
400px
;
width
:
400px
;
text-align
:
center
;
text-align
:
center
;
...
@@ -45,6 +47,7 @@
...
@@ -45,6 +47,7 @@
height
:
40px
;
height
:
40px
;
background-color
:
rgb
(
238
,
238
,
239
);
background-color
:
rgb
(
238
,
238
,
239
);
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"page-body studentTracking"
>
<div
class=
"page-body studentTracking"
>
...
@@ -102,25 +105,27 @@
...
@@ -102,25 +105,27 @@
:options=
"CompanyList"
emit-value
map-options
label=
"校区"
/>
:options=
"CompanyList"
emit-value
map-options
label=
"校区"
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
option-value=
"CourseId"
option-label=
"CourseName"
v-model=
"msg.CourseId"
<q-select
@
input=
"resetSearch"
filled
option-value=
"CourseId"
option-label=
"CourseName"
clearable
emit-value
use-input
:options=
"myCourseList"
label=
"课程"
dense
map-options
@
filter=
"filterFnkec"
/>
v-model=
"msg.CourseId"
clearable
emit-value
use-input
:options=
"myCourseList"
label=
"课程"
dense
map-options
@
filter=
"filterFnkec"
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
dense
filled
option-value=
"Id"
option-label=
"EmployeeName"
<q-select
@
input=
"resetSearch"
dense
filled
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"msg.ConsultantId"
clearable
:options=
"RoleListData"
emit-value
map-options
label=
"课程顾问"
/>
v-model=
"msg.ConsultantId"
clearable
:options=
"RoleListData"
emit-value
map-options
label=
"课程顾问"
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
dense
filled
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.StuGuestStat
e"
<q-select
@
input=
"resetSearch"
dense
filled
option-value=
"Id"
option-label=
"Nam
e"
clearable
:options=
"hetongList"
emit-value
map-options
label=
"合同状态"
/>
v-model=
"msg.StuGuestState"
clearable
:options=
"hetongList"
emit-value
map-options
label=
"合同状态"
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
@
input=
"msg.StuSourceId='',msg.StuChannel='',resetSearch()"
dense
clearable
filled
option-value=
"Id"
<q-select
@
input=
"msg.StuSourceId='',msg.StuChannel='',resetSearch()"
dense
clearable
filled
option-label=
"Name"
v-model=
"msg.CreateType"
:options=
"customFromList"
emit-value
map-options
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.CreateType"
:options=
"customFromList"
emit-value
label=
"客户来源"
/>
map-options
label=
"客户来源"
/>
</div>
</div>
<div
class=
"col-3"
v-if=
"msg.CreateType==1"
>
<div
class=
"col-3"
v-if=
"msg.CreateType==1"
>
<q-select
filled
v-model=
"msg.StuChannel"
@
input=
"resetSearch"
label=
"收客渠道"
dense
:options=
"StuChannelList"
<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"
>
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
use-input
clearable
@
filter=
"filterStuChannel"
>
<template
v-slot:no-option
>
<template
v-slot:no-option
>
<q-item>
<q-item>
<q-item-section
class=
"text-grey"
>
<q-item-section
class=
"text-grey"
>
...
@@ -153,8 +158,12 @@
...
@@ -153,8 +158,12 @@
:options=
"MyTransListData"
option-label=
"StuName"
@
input=
"resetSearch"
clearable
option-value=
"StuId"
:options=
"MyTransListData"
option-label=
"StuName"
@
input=
"resetSearch"
clearable
option-value=
"StuId"
emit-value
map-options
/>
emit-value
map-options
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
filled
v-model=
"msg.HeadTeacherId"
dense
use-input
label=
"班主任"
:options=
"MyTeacherListData"
option-label=
"EmployeeName"
@
input=
"resetSearch"
clearable
option-value=
"Id"
emit-value
map-options
/>
</div>
<div
class=
"col-3"
>
(
(
<q-radio
size=
"xs"
v-model=
"msg.Q_FType"
val=
"1"
label=
"范围内有跟进记录"
@
input=
'resetSearch'
/>
<q-radio
size=
"xs"
v-model=
"msg.Q_FType"
val=
"1"
label=
"范围内有跟进记录"
@
input=
'resetSearch'
/>
<q-radio
size=
"xs"
v-model=
"msg.Q_FType"
val=
"2"
label=
"范围内没有跟进记录"
@
input=
'resetSearch'
/>
)
<q-radio
size=
"xs"
v-model=
"msg.Q_FType"
val=
"2"
label=
"范围内没有跟进记录"
@
input=
'resetSearch'
/>
)
...
@@ -203,7 +212,6 @@
...
@@ -203,7 +212,6 @@
<span>
{{dataList.Stat.DropOutNum?dataList.Stat.DropOutNum:0}}人
</span>
<span>
{{dataList.Stat.DropOutNum?dataList.Stat.DropOutNum:0}}人
</span>
</div>
</div>
</div>
</div>
<div
style=
"width: 100%;margin-top: 20px"
>
<div
style=
"width: 100%;margin-top: 20px"
>
<div
style=
"width: 100%;overflow-x: auto;"
>
<div
style=
"width: 100%;overflow-x: auto;"
>
<table
class=
"po_content singeRowTable"
ref=
"table"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
<table
class=
"po_content singeRowTable"
ref=
"table"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
...
@@ -212,22 +220,18 @@
...
@@ -212,22 +220,18 @@
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
学生
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;z-index: 999;"
>
学生
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
电话
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
电话
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
课程顾问
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
课程顾问
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
协助老师
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 110px;"
>
班主任
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
合同时间
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
合同时间
</th>
<th
width=
"200"
rowspan=
"2"
style=
"min-width: 200px;"
>
所报课程
</th>
<th
width=
"200"
rowspan=
"2"
style=
"min-width: 200px;"
>
所报课程
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
开始时间
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
结束时间
</th>
<th
width=
"80"
rowspan=
"2"
style=
"min-width: 80px;"
>
当前级别
</th>
<th
width=
"80"
rowspan=
"2"
style=
"min-width: 80px;"
>
当前级别
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
生日
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
生日
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
客户来源
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
客户来源
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
学习目的
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
学习目的
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
来源关联人
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
收客渠道
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
收客渠道
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
负责人
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
负责人
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
合同状态
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
合同状态
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 120px;"
>
期望达成协议日期
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
目前状态
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
胜率
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
跟踪记录
</th>
<th
width=
"500"
colspan=
"3"
style=
"min-width: 500px;"
v-for=
" ( item , index ) in RListlength "
<th
width=
"500"
colspan=
"3"
style=
"min-width: 500px;"
v-for=
" ( item , index ) in RListlength "
:key=
'index'
>
:key=
'index'
>
<div>
第{{index+1}}个月
</div>
<div>
第{{index+1}}个月
</div>
...
@@ -254,12 +258,19 @@
...
@@ -254,12 +258,19 @@
<td>
<td>
<span
v-html=
"getTeacherManager(item)"
></span>
<span
v-html=
"getTeacherManager(item)"
></span>
</td>
</td>
<td>
<td>
<span>
{{ item.ContractSTime }}
</span>
<span>
{{ item.ContractSTime }}
</span>
</td>
</td>
<td>
<td>
<span>
{{ item.CourseName }}
</span>
<span>
{{ item.CourseName }}
</span>
</td>
</td>
<td>
<span>
{{ item.BeginClassDate }}
</span>
</td>
<td>
<span>
{{ item.GraduationTime }}
</span>
</td>
<td>
<td>
<span>
{{ item.JapanBaseInfo }}
</span>
<span>
{{ item.JapanBaseInfo }}
</span>
</td>
</td>
...
@@ -272,10 +283,7 @@
...
@@ -272,10 +283,7 @@
<td>
<td>
{{item.StuPurposeName}}
{{item.StuPurposeName}}
</td>
</td>
<td>
<span><span
v-if=
"item.CreateType==2 && item.EnterpriseName"
>
{{item.EnterpriseName}}:
</span>
{{ item.StuSourceIdName?item.StuSourceIdName:'-' }}
</span>
</td>
<td>
<td>
<span>
{{ item.StuChannelName?item.StuChannelName:'-' }}
</span>
<span>
{{ item.StuChannelName?item.StuChannelName:'-' }}
</span>
</td>
</td>
...
@@ -285,50 +293,8 @@
...
@@ -285,50 +293,8 @@
<td>
<td>
<span>
{{ item.StuGuestStateName }}
</span>
<span>
{{ item.StuGuestStateName }}
</span>
</td>
</td>
<td>
{{item.AdvisorExpectDate}}
</td>
<td>
{{item.AdvisorStatusName}}
</td>
<td>
{{item.AdvisorWinRate}}%
</td>
<td>
<
template
v-if=
"item.AdvisorList"
>
<template
v-if=
"item.AdvisorList.length>0"
>
{{
item
.
AdvisorList
[
0
].
AdvisorStatusName
}}
<span
class=
"stulistNumber"
>
{{
item
.
AdvisorList
.
length
}}
<q-popup-proxy>
<q-banner>
<table
class=
"OCourseTable"
style=
"border-collapse:collapse;"
>
<tr>
<th>
跟进状态
</th>
<th>
跟进日期
</th>
<th>
跟进比例
</th>
<th>
跟进备注
</th>
</tr>
<tr
v-for=
"(sItem,sIndex) in item.AdvisorList"
style=
"border-bottom:1px dashed #d1d1d1;"
:key=
"sIndex"
>
<td>
{{
sItem
.
AdvisorStatusName
}}
</td>
<td>
{{
sItem
.
AdvisorDate
}}
</td>
<td>
{{
sItem
.
AdvisorRate
}}
</td>
<td>
{{
sItem
.
AdvisorRemark
}}
</td>
</tr>
</table>
</q-banner>
</q-popup-proxy>
</span>
</
template
>
<
template
v-if=
"item.AdvisorList.length==0"
>
无
</
template
>
</template>
</td>
<td
v-for=
" ( x , y ) in titlelist "
:key=
"y"
>
<td
v-for=
" ( x , y ) in titlelist "
:key=
"y"
>
<div
v-if=
"item.MonthList[x.index]"
>
<div
v-if=
"item.MonthList[x.index]"
>
<div
v-if=
"x.Id==1"
>
<div
v-if=
"x.Id==1"
>
<span>
{{item.MonthList[x.index].Month}}
</span>
<span>
{{item.MonthList[x.index].Month}}
</span>
<span
style=
"margin:0 3px"
>
/
</span>
<span
style=
"margin:0 3px"
>
/
</span>
...
@@ -390,7 +356,8 @@
...
@@ -390,7 +356,8 @@
queryCourseDropdownList
,
queryCourseDropdownList
,
}
from
'../../api/course/index'
}
from
'../../api/course/index'
import
{
import
{
queryEmployee
queryEmployee
,
}
from
"../../api/users/user"
;
}
from
"../../api/users/user"
;
import
{
import
{
queryGuestStateList
,
queryGuestStateList
,
...
@@ -426,6 +393,8 @@
...
@@ -426,6 +393,8 @@
},
},
data
()
{
data
()
{
return
{
return
{
AccountType
:
2
,
IsLeave
:
1
,
msg
:
{
msg
:
{
pageIndex
:
1
,
pageIndex
:
1
,
pageSize
:
12
,
pageSize
:
12
,
...
@@ -449,7 +418,9 @@
...
@@ -449,7 +418,9 @@
CreateType
:
''
,
//客户来源
CreateType
:
''
,
//客户来源
StuChannel
:
""
,
//收客渠道
StuChannel
:
""
,
//收客渠道
StuSourceId
:
''
,
StuSourceId
:
''
,
StuPurpose
:
''
//学习目的
StuPurpose
:
''
,
//学习目的
HeadTeacherId
:
''
,
//老师
},
},
//归属类型列表
//归属类型列表
BelongTypeList
:
[{
BelongTypeList
:
[{
...
@@ -525,6 +496,7 @@
...
@@ -525,6 +496,7 @@
TransListData
:
[],
//转介人数据
TransListData
:
[],
//转介人数据
MyTransListData
:
[],
MyTransListData
:
[],
goalsList
:
[],
//学习目的列表
goalsList
:
[],
//学习目的列表
MyTeacherListData
:
[],
//查询老师列表
}
}
},
},
created
()
{
created
()
{
...
@@ -565,9 +537,19 @@
...
@@ -565,9 +537,19 @@
this
.
getEmployeeList
();
this
.
getEmployeeList
();
this
.
getStudentDorpDown
();
this
.
getStudentDorpDown
();
this
.
queryGoalsList
();
this
.
queryGoalsList
();
// this.downloadStudentFollow
();
this
.
findData
();
},
},
methods
:
{
methods
:
{
findData
()
{
queryEmployee
({
AccountTypeStr
:
"2"
,
IsLeave
:
1
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
MyTeacherListData
=
res
.
Data
;
}
})
},
downloadStudentFollow
()
{
downloadStudentFollow
()
{
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
this
.
loading
=
true
;
this
.
loading
=
true
;
...
@@ -908,9 +890,19 @@
...
@@ -908,9 +890,19 @@
}
}
return
managerName
;
return
managerName
;
},
},
getClassTeacher
(
row
)
{
let
managerName
=
"<span class='text-grey-4'>暂无</span>"
;
if
(
row
.
AssistList
&&
row
.
AssistList
.
length
>
0
)
{
row
.
AssistList
.
forEach
(
y
=>
{
if
(
y
.
AssistType
==
6
)
{
managerName
=
`<span class='text-dark'>
${
y
.
AssistName
}
</span>`
;
}
});
}
return
managerName
;
},
},
}
}
}
</
script
>
</
script
>
<
style
lang=
"sass"
>
<
style
lang=
"sass"
>
...
...
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