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
d43d0c75
Commit
d43d0c75
authored
Jan 13, 2022
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
854e55dc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
123 additions
and
50 deletions
+123
-50
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+46
-11
guestConsultation.vue
src/pages/sale/guestConsultation.vue
+20
-20
studentTracking.vue
src/pages/sale/studentTracking.vue
+57
-19
No files found.
src/components/school/student/studentRight-form.vue
View file @
d43d0c75
...
...
@@ -114,20 +114,31 @@
</q-tabs>
<div
class=
"operate_Content"
style=
"flex:1;"
>
<div
class=
"detail_Main"
>
<div
<div
row
style=
"display: flex;justify-content: space-between;"
v-if=
"ckedTab == 2"
>
<div
class=
"tripTypeContent"
style=
"flex-shrink:0"
v-if=
"ckedTab == 2"
>
<div
v-for=
"(qItem, qIndex) in visitList"
:key=
"qIndex"
:class=
"
{ StuCkedType: qIndex + 1 == secondType }"
@click="getckedType(qItem)"
>
{{
qItem
.
Name
}}
v-for=
"(qItem, qIndex) in visitList"
:key=
"qIndex"
:class=
"
{ StuCkedType: qIndex + 1 == secondType }"
@click="getckedType(qItem)"
>
{{
qItem
.
Name
}}
</div>
</div>
<q-btn
label=
"咨询信息"
color=
"accent q-mb-lg"
size=
"sm"
style=
"margin-bottom: 0;"
@
click=
"consultbtn"
/>
</div>
<!-- 记录 -->
<template
v-if=
"ckedTab == 1"
>
<student-record
...
...
@@ -198,6 +209,13 @@
</div>
</div>
</div>
<consultFrom
v-if=
"isconsult"
:save-obj=
"baseObj"
@
close=
"isconsult=false"
@
consultsuccess=
"consultsuccess"
>
</consultFrom>
<div
class=
"dialog-out-close"
@
click=
"closeCutomer"
>
<i
class=
"iconfont icon-close"
style=
"font-size:26px;"
/>
</div>
...
...
@@ -220,6 +238,7 @@ import studentShiting from "../student/student-shiting";
import
studentHetong
from
"../student/student-hetong"
;
import
studentOrder
from
"../student/student-order"
;
import
studentAssit
from
"../student/student-Assit"
;
import
consultFrom
from
"../student/consult-from"
;
import
{
SetStudentAssistBatch
}
from
"../../../api/sale/sale"
;
export
default
{
meta
:
{
...
...
@@ -234,7 +253,8 @@ export default {
studentShiting
,
studentHetong
,
studentOrder
,
studentAssit
studentAssit
,
consultFrom
},
props
:
{
saveObj
:
{
...
...
@@ -287,7 +307,8 @@ export default {
customStateList
:
[],
stateId
:
0
,
stuData
:
{},
userInfo
:
{}
userInfo
:
{},
isconsult
:
false
,
//学生咨询弹窗
};
},
created
()
{
...
...
@@ -335,6 +356,15 @@ export default {
refreshStudentPage
()
{
this
.
$emit
(
"success"
);
},
consultsuccess
(
data
){
//质询信息的修改
this
.
$emit
(
"success"
);
this
.
isconsult
=
false
;
this
.
baseObj
.
PlanPrice
=
data
.
PlanPrice
;
this
.
baseObj
.
BaseCondition
=
data
.
BaseCondition
;
this
.
baseObj
.
DemandPoint
=
data
.
DemandPoint
;
this
.
baseObj
.
ResistPoint
=
data
.
ResistPoint
;
this
.
baseObj
.
ConsultingResults
=
data
.
ConsultingResults
;
},
//点击第二排
getckedType
(
obj
)
{
this
.
secondType
=
obj
.
Id
;
...
...
@@ -389,6 +419,7 @@ export default {
if
(
res
.
Code
==
1
)
{
this
.
stuData
=
res
.
Data
;
this
.
stateId
=
res
.
Data
.
StuStage
;
this
.
baseObj
=
res
.
Data
}
});
},
...
...
@@ -404,7 +435,11 @@ export default {
this
.
baseObj
.
IsHaveCurseManager
=
true
;
this
.
pushing
=
false
;
});
}
},
consultbtn
(){
this
.
isconsult
=
true
},
}
};
</
script
>
...
...
src/pages/sale/guestConsultation.vue
View file @
d43d0c75
...
...
@@ -75,48 +75,48 @@ th:first-child{position: sticky;left:0px;}
<
template
v-slot:body-cell-PlanPrice=
"props"
>
<q-td
:props=
"props"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.PlanPrice"
placement=
"top"
>
<
!--
<
el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.PlanPrice"
placement=
"top"
>
<div
class=
"w200text"
>
{{
props
.
row
.
PlanPrice
}}
</div>
</el-tooltip>
</el-tooltip>
-->
<div
class=
"w200text"
>
{{
props
.
row
.
PlanPrice
}}
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-BaseCondition=
"props"
>
<q-td
:props=
"props"
>
<
!--
<div
class=
"w200text"
>
{{
props
.
row
.
BaseCondition
}}
</div>
--
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.BaseCondition"
placement=
"top"
>
<
div
class=
"w200text"
>
{{
props
.
row
.
BaseCondition
}}
</div
>
<
!--
<
el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.BaseCondition"
placement=
"top"
>
<div
class=
"w200text"
>
{{
props
.
row
.
BaseCondition
}}
</div>
</el-tooltip>
</el-tooltip>
-->
</q-td>
</
template
>
<
template
v-slot:body-cell-DemandPoint=
"props"
>
<q-td
:props=
"props"
>
<
!--
<div
class=
"w200text"
>
{{
props
.
row
.
DemandPoint
}}
</div>
--
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.DemandPoint"
placement=
"top"
>
<
div
class=
"w200text"
>
{{
props
.
row
.
DemandPoint
}}
</div
>
<
!--
<
el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.DemandPoint"
placement=
"top"
>
<div
class=
"w200text"
>
{{
props
.
row
.
DemandPoint
}}
</div>
</el-tooltip>
</el-tooltip>
-->
</q-td>
</
template
>
<
template
v-slot:body-cell-ResistPoint=
"props"
>
<q-td
:props=
"props"
>
<
!--
<div
class=
"w200text"
>
{{
props
.
row
.
ResistPoint
}}
</div>
--
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.ResistPoint"
placement=
"top"
>
<
div
class=
"w200text"
>
{{
props
.
row
.
ResistPoint
}}
</div
>
<
!--
<
el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.ResistPoint"
placement=
"top"
>
<div
class=
"w200text"
>
{{
props
.
row
.
ResistPoint
}}
</div>
</el-tooltip>
</el-tooltip>
-->
</q-td>
</
template
>
<
template
v-slot:body-cell-ConsultingResults=
"props"
>
<q-td
:props=
"props"
>
<
!--
<div
class=
"w200text"
>
{{
props
.
row
.
ConsultingResults
}}
</div>
--
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.ConsultingResults"
placement=
"top"
>
<
div
class=
"w200text"
>
{{
props
.
row
.
ConsultingResults
}}
</div
>
<
!--
<
el-tooltip
class=
"item"
effect=
"dark"
:content=
"props.row.ConsultingResults"
placement=
"top"
>
<div
class=
"w200text"
>
{{
props
.
row
.
ConsultingResults
}}
</div>
</el-tooltip>
</el-tooltip>
-->
</q-td>
</
template
>
<
template
v-slot:body-cell-FURemark=
"props"
>
<q-td
>
<div
style=
"width: 200px;overflow: hidden;white-space: normal;word-break:break-all;max-height: 40px;"
v-if=
"props.row.FURemark"
v-html=
"props.row.FURemark"
></div>
<div
style=
"
max-
width: 200px;overflow: hidden;white-space: normal;word-break:break-all;max-height: 40px;"
v-if=
"props.row.FURemark"
v-html=
"props.row.FURemark"
></div>
<span
style=
"text-decoration: underline;cursor: pointer;color: #2961fe ;"
v-if=
"props.row.FURemark"
@
click=
"lookgengduo(props.row)"
>
查看更多
</span>
</q-td>
</
template
>
...
...
@@ -394,14 +394,14 @@ export default {
border
:
none
;
}
.w200text
{
width
:
150px
;
/*
width: 150px;
overflow: hidden;
white-space: nowrap;
word-wrap: normal;
text-overflow:ellipsis;
cursor
:
pointer
;
/*
min-width: 200px;
white-space: normal;word-break:break-all
*/
cursor: pointer;
*/
min-width
:
200px
;
white-space
:
normal
;
word-break
:
break-all
}
</
style
>
src/pages/sale/studentTracking.vue
View file @
d43d0c75
...
...
@@ -105,14 +105,14 @@ th:first-child{position: sticky;left:0px;}
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 120px;z-index: 999;"
>
学生
</th>
<th
width=
"120"
rowspan=
"2"
style=
"min-width: 120px;"
>
电话
</th>
<th
width=
"100"
rowspan=
"2"
style=
"min-width: 100px;"
>
合同时间
</th>
<th
width=
"200"
rowspan=
"2"
style=
"min-width: 200px;"
>
课程
</th>
<th
width=
"80"
rowspan=
"2"
style=
"min-width: 80px;"
>
基础
</th>
<th
width=
"200"
rowspan=
"2"
style=
"min-width: 200px;"
>
所报
课程
</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=
"500"
colspan=
"3"
style=
"min-width: 500px;"
v-for=
" ( item , index ) in RListlength "
:key =
'index'
>
<div>
第{{index+1}}个月
</div>
<div
v-if=
"dataList.MonthList"
>
(续约:
<span
style=
"color: #F72E52"
>
{{getxuyue(index).RenewNum}}
</span>
<span
style=
"margin-left: 5px;"
>
介绍数量
:{{getxuyue(index).IntroductionNum}}
</span>
)
</div>
<div
v-if=
"dataList.MonthList"
>
(续约:
<span
style=
"color: #F72E52"
>
{{getxuyue(index).RenewNum}}
</span>
<span
style=
"margin-left: 5px;"
>
学员介绍
:{{getxuyue(index).IntroductionNum}}
</span>
)
</div>
</th>
</tr>
<tr
>
...
...
@@ -120,10 +120,13 @@ th:first-child{position: sticky;left:0px;}
</tr>
<tr
v-for=
" ( item , index ) in dataList.RList "
:key=
"index"
v-if=
'dataList.RList && dataList.RList.length>0'
>
<td
style=
" border: 1px solid #d2d2d2;"
>
<span>
{{ item.StuName }}
</span>
<!-- <span>{{ item.StuName }}</span> -->
<div
class=
"text-blue cursor-pointer"
@
click=
"getStuRight(item)"
>
{{ item.StuName }}
</div>
</td>
<td>
<span>
{{ item.Stu
Tel
}}
</span>
<span>
{{ item.Stu
RealMobile
}}
</span>
</td>
<td>
<span>
{{ item.ContractSTime }}
</span>
...
...
@@ -140,24 +143,32 @@ th:first-child{position: sticky;left:0px;}
<td>
<span>
{{ item.StuGuestStateName }}
</span>
</td>
<td
v-for=
" ( x , y ) in titlelist "
:key=
"y"
:style=
"{'background':x.Id==1 && item.MonthList[x.index] && (item.MonthList[x.index].IsRenew==1 || item.MonthList[x.index].IntroductionNum>0)?'red':'#FFF',
'color':x.Id==1 && item.MonthList[x.index] && (item.MonthList[x.index].IsRenew==1 || item.MonthList[x.index].IntroductionNum>0)?'#FFF':'#111'
}"
>
<td
v-for=
" ( x , y ) in titlelist "
:key=
"y"
>
<div
v-if=
"item.MonthList[x.index]"
>
<div
v-if=
"x.Id==1"
>
<span>
{{item.MonthList[x.index].Month}}/
</span>
<span
v-if=
"item.MonthList[x.index].IsRenew==1"
>
是
</span>
<span>
{{item.MonthList[x.index].Month}}
</span>
<span
style=
"margin:0 3px"
>
/
</span>
<span
v-if=
"item.MonthList[x.index].IsRenew==1"
style=
"color: red;"
>
是
</span>
<span
v-if=
"item.MonthList[x.index].IsRenew==2"
>
否
</span>
<span>
/{{item.MonthList[x.index].IntroductionNum}}
</span>
<span
style=
"margin:0 3px"
>
/
</span>
<span
:style=
"{'color':item.MonthList[x.index].IntroductionNum>0?'red':'#111'}"
>
{{item.MonthList[x.index].IntroductionNum}}
</span>
</div>
<div
v-if=
"x.Id==2"
>
<span
v-if=
"item.MonthList[x.index].TeacherTime"
>
{{item.MonthList[x.index].TeacherTime+':'}}
</span>
<span
v-if=
"item.MonthList[x.index].Teacher"
v-html=
"item.MonthList[x.index].Teacher"
></span>
<
template
>
<span
v-if=
"item.MonthList[x.index].Teacher!=''"
v-html=
"item.MonthList[x.index].Teacher"
></span>
<span
v-if=
"item.MonthList[x.index].Teacher==''"
>
-
</span>
</
template
>
</div>
<div
v-if=
"x.Id==3"
>
<span
v-if=
"item.MonthList[x.index].ConsultantTime"
>
{{item.MonthList[x.index].ConsultantTime+':'}}
</span>
<span
v-if=
"item.MonthList[x.index].Consultant"
v-html=
"item.MonthList[x.index].Consultant"
></span>
<
template
>
<span
v-if=
"item.MonthList[x.index].Consultant"
v-html=
"item.MonthList[x.index].Consultant"
></span>
<span
v-if=
"item.MonthList[x.index].Consultant==''"
>
-
</span>
</
template
>
</div>
</div>
</td>
...
...
@@ -174,6 +185,16 @@ th:first-child{position: sticky;left:0px;}
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"PageCount"
:input=
"true"
@
input=
"changePage"
/>
</div>
<studentRight-form
v-if=
"isShowStuRight"
:isJudgeTrans=
"isJudgeTrans"
:BelongType=
"BelongType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"getList"
@
reload=
"getList"
>
</studentRight-form>
</div>
</template>
<
script
>
...
...
@@ -187,13 +208,15 @@ import {
GetStudentTypeList
,
}
from
"../../api/school/index"
;
import
studentRightForm
from
"../../components/school/student/studentRight-form"
;
export
default
{
meta
:
{
title
:
"学员跟踪"
},
props
:
{},
components
:
{
studentRightForm
},
data
()
{
return
{
...
...
@@ -222,7 +245,11 @@ export default {
FTypeList
:[{
Id
:
'-1'
,
Name
:
'不限'
},{
Id
:
'1'
,
Name
:
'范围内有跟进记录'
},{
Id
:
'2'
,
Name
:
'范围内没有跟进记录 '
},],
dateArray
:
[],
//日期数组
RListlength
:
0
,
titlelist
:[]
titlelist
:[],
stuOption
:
null
,
BelongType
:
1
,
isShowStuRight
:
false
,
isJudgeTrans
:
1
,
}
},
...
...
@@ -262,7 +289,7 @@ export default {
getStudentFollowUpPageList
(
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
RListlength
=
res
.
Data
.
PageData
&&
res
.
Data
.
PageData
.
MaxMonth
?
res
.
Data
.
PageData
.
MaxMonth
:
1
;
this
.
titlelist
=
[{
Name
:
'月份/续费/
介绍数量'
,
Id
:
1
,
index
:
0
},{
Name
:
'教师跟进'
,
Id
:
2
,
index
:
0
},{
Name
:
'顾问跟进
'
,
Id
:
3
,
index
:
0
},];
this
.
titlelist
=
[{
Name
:
'月份/续费/
转介'
,
Id
:
1
,
index
:
0
},{
Name
:
'教师跟踪时间及情况说明'
,
Id
:
2
,
index
:
0
},{
Name
:
'顾问跟踪时间及情况说明
'
,
Id
:
3
,
index
:
0
},];
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
// if(this.dataList && this.dataList.RList&& this.dataList.RList.length>0){
...
...
@@ -274,7 +301,7 @@ export default {
// }
this
.
titlelist
=
[];
for
(
let
i
=
0
;
i
<
this
.
RListlength
;
i
++
){
let
obj
=
[{
Name
:
'月份/续费/
介绍数量'
,
Id
:
1
,
index
:
i
},{
Name
:
'教师跟进'
,
Id
:
2
,
index
:
i
},{
Name
:
'顾问跟进
'
,
Id
:
3
,
index
:
i
},]
let
obj
=
[{
Name
:
'月份/续费/
转介'
,
Id
:
1
,
index
:
i
},{
Name
:
'教师跟踪时间及情况说明'
,
Id
:
2
,
index
:
i
},{
Name
:
'顾问跟踪时间及情况说明
'
,
Id
:
3
,
index
:
i
},]
this
.
titlelist
=
[...
this
.
titlelist
,
...
obj
]
}
...
...
@@ -306,7 +333,18 @@ export default {
}
})
return
obj
}
},
//点击学生姓名弹出
getStuRight
(
obj
)
{
if
(
obj
)
{
this
.
stuOption
=
obj
;
this
.
BelongType
=
obj
.
BelongType
;
}
this
.
isShowStuRight
=
true
;
},
closeStuForm
()
{
this
.
isShowStuRight
=
false
;
},
},
}
...
...
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