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
460e4add
Commit
460e4add
authored
Sep 04, 2024
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
7f86410c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
13 deletions
+78
-13
student-genjin.vue
src/components/school/student/student-genjin.vue
+72
-11
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+5
-1
stulist.vue
src/components/school/student/stulist.vue
+1
-1
No files found.
src/components/school/student/student-genjin.vue
View file @
460e4add
...
@@ -18,31 +18,38 @@
...
@@ -18,31 +18,38 @@
<div
class=
"stuGenJin"
>
<div
class=
"stuGenJin"
>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowAdd = true"
/>
@
click=
"isShowAdd = true
;getStudyAbroadList();flowMsg.StudentType=StudentType
"
/>
<q-btn
label=
"取消"
style=
"margin-left:20px;"
v-if=
"isShowAdd"
flat
color=
"grey-10 q-mb-lg"
size=
"sm"
<q-btn
label=
"取消"
style=
"margin-left:20px;"
v-if=
"isShowAdd"
flat
color=
"grey-10 q-mb-lg"
size=
"sm"
@
click=
"isShowAdd = false"
/>
@
click=
"isShowAdd = false"
/>
</div>
</div>
<template
v-if=
"isShowAdd"
>
<template
v-if=
"isShowAdd"
>
<div
class=
"row q-mb-lg flex justify-between items-center"
>
<div
class=
"row q-mb-lg flex justify-between items-center"
>
<q-select
filled
v-model=
"flowMsg.PurposeType"
dense
:options=
"PurposeTypeList"
option-label=
"ConfigName"
<q-select
v-if=
"StudentType==1"
filled
v-model=
"flowMsg.PurposeType"
dense
:options=
"PurposeTypeList"
option-label=
"ConfigName"
option-value=
"Id"
emit-value
map-options
label=
"意向度"
class=
"col-6 q-pb-lg q-pr-lg"
/>
option-value=
"Id"
emit-value
map-options
label=
"意向度"
class=
"col-6 q-pb-lg q-pr-lg"
/>
<q-select
filled
v-model=
"flowMsg.ConsultCourseIdList"
dense
:options=
"CourseList"
option-label=
"CourseName"
<q-select
v-if=
"StudentType==1"
filled
v-model=
"flowMsg.ConsultCourseIdList"
dense
:options=
"CourseList"
option-label=
"CourseName"
option-value=
"CourseId"
emit-value
map-options
label=
"咨询课程"
class=
"col-6 q-pb-lg"
multiple
use-input
option-value=
"CourseId"
emit-value
map-options
label=
"咨询课程"
class=
"col-6 q-pb-lg
q-pr-lg
"
multiple
use-input
@
filter=
"filterCourse"
/>
@
filter=
"filterCourse"
/>
<q-input
filled
stack-label
maxlength=
"50"
dense
v-model=
"flowMsg.ConsultKeyWords"
class=
"col-6 q-pb-lg q-pr-lg"
<q-input
v-if=
"StudentType==1"
filled
stack-label
maxlength=
"50"
dense
v-model=
"flowMsg.ConsultKeyWords"
class=
"col-6 q-pb-lg q-pr-lg"
label=
"关键词"
/>
label=
"关键词"
/>
<q-field
filled
class=
"col-6 q-pb
-lg"
dense
>
<q-field
v-if=
"StudentType==1"
filled
class=
"col-6 q-pb-lg q-pr
-lg"
dense
>
<template
v-slot:control
>
<template
v-slot:control
>
<el-date-picker
v-model=
"flowMsg.NextVisitDate"
size=
"mini"
style=
"width:228px"
type=
"date"
<el-date-picker
v-model=
"flowMsg.NextVisitDate"
size=
"mini"
style=
"width:228px"
type=
"date"
placeholder=
"回访日期"
>
placeholder=
"回访日期"
>
</el-date-picker>
</el-date-picker>
</
template
>
</
template
>
</q-field>
</q-field>
<q-select
v-if=
"StudentType==1"
filled
v-model=
"stuStageId"
dense
:options=
"cusStateList"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"客户进度"
class=
"col-6 q-pb-lg q-pr-lg"
/>
<q-select
v-if=
"StudentType==2"
filled
multiple
v-model=
"flowMsg.SupplierIdList"
dense
:options=
"SupplierList"
@
filter=
"filterSupper"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"供应商"
class=
"col-6 q-pb-lg q-pr-lg"
/>
</div>
</div>
<UeEditor
v-if=
"isShowAdd"
v-model=
"flowMsg.Remark"
class=
"q-pb-sm"
:config=
"config"
></UeEditor>
<UeEditor
v-if=
"isShowAdd"
v-model=
"flowMsg.Remark"
class=
"q-pb-sm"
:config=
"config"
></UeEditor>
<div
class=
"row q-mb-lg flex justify-between items-center"
>
<div
class=
"row q-mb-lg flex justify-between items-center"
>
<q-select
filled
v-model=
"stuStageId"
dense
:options=
"cusStateList"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"客户进度"
class=
"col-6"
/>
<div>
<div>
<q-btn
label=
"保存"
color=
"accent "
size=
"md"
@
click=
"saveFlow()"
/>
<q-btn
label=
"保存"
color=
"accent "
size=
"md"
@
click=
"saveFlow()"
/>
</div>
</div>
...
@@ -54,22 +61,27 @@
...
@@ -54,22 +61,27 @@
<q-timeline-entry
v-for=
"(tItem, tIndex) in dataList"
:key=
"tIndex"
>
<q-timeline-entry
v-for=
"(tItem, tIndex) in dataList"
:key=
"tIndex"
>
<
template
v-slot:title
>
<
template
v-slot:title
>
<div
class=
"visit_Cont"
>
<div
class=
"visit_Cont"
>
<el-row>
<el-row
v-if=
"tItem.StudentType==1"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
意向度:
{{
tItem
.
PurposeTypeName
}}
意向度:
{{
tItem
.
PurposeTypeName
}}
</el-col>
</el-col>
<el-col
:span=
"12"
>
下次回访:
{{
tItem
.
NextVisitDate
}}
</el-col>
<el-col
:span=
"12"
>
下次回访:
{{
tItem
.
NextVisitDate
}}
</el-col>
</el-row>
</el-row>
<el-row>
<el-row
v-if=
"tItem.StudentType==1"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
关键词:
{{
tItem
.
ConsultKeyWords
}}
关键词:
{{
tItem
.
ConsultKeyWords
}}
</el-col>
</el-col>
</el-row>
</el-row>
<el-row>
<el-row
v-if=
"tItem.StudentType==1"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
咨询课程:
{{
tItem
.
CourseName
}}
咨询课程:
{{
tItem
.
CourseName
}}
</el-col>
</el-col>
</el-row>
</el-row>
<el-row
v-if=
"tItem.StudentType==2"
>
<el-col
:span=
"24"
>
供应商:
{{
tItem
.
SupplierName
}}
</el-col>
</el-row>
<div
class=
"Log_Content"
v-html=
"tItem.Remark"
></div>
<div
class=
"Log_Content"
v-html=
"tItem.Remark"
></div>
<div
style=
"margin-top:10px;"
>
<div
style=
"margin-top:10px;"
>
<a
@
click=
"editFollow(tItem)"
style=
"color:blue;"
class=
"visit_delete"
>
编辑
</a>
<a
@
click=
"editFollow(tItem)"
style=
"color:blue;"
class=
"visit_delete"
>
编辑
</a>
...
@@ -102,6 +114,9 @@
...
@@ -102,6 +114,9 @@
deleteStudentFollow
,
deleteStudentFollow
,
SetStuStage
SetStuStage
}
from
"../../../api/customerstudent/customerstudent"
;
}
from
"../../../api/customerstudent/customerstudent"
;
import
{
querySupplierList
,
}
from
'../../../api/studyabroad/index'
import
{
import
{
queryCourseDropdownList
,
queryCourseDropdownList
,
}
from
'../../../api/course/index'
}
from
'../../../api/course/index'
...
@@ -120,6 +135,10 @@
...
@@ -120,6 +135,10 @@
type
:
Number
,
type
:
Number
,
default
:
0
default
:
0
},
},
StudentType
:
{
type
:
Number
,
default
:
1
},
stateList
:
{
stateList
:
{
type
:
Array
,
type
:
Array
,
default
:
()
=>
[]
default
:
()
=>
[]
...
@@ -146,6 +165,9 @@
...
@@ -146,6 +165,9 @@
ConsultKeyWords
:
""
,
//关键词
ConsultKeyWords
:
""
,
//关键词
NextVisitDate
:
""
,
//下次回访时间
NextVisitDate
:
""
,
//下次回访时间
PurposeType
:
''
,
//意向度
PurposeType
:
''
,
//意向度
SupplierIds
:
""
,
//供应商IDs
SupplierIdList
:[],
//供应商ID
StudentType
:
1
,
},
},
msg
:
{
msg
:
{
pageIndex
:
1
,
pageIndex
:
1
,
...
@@ -156,6 +178,8 @@
...
@@ -156,6 +178,8 @@
page_Count
:
0
,
page_Count
:
0
,
stuStageId
:
0
,
stuStageId
:
0
,
cusStateList
:
[],
cusStateList
:
[],
SupplierList
:[],
//供应商下拉列表
AllSupplierList
:[],
//供应商下拉列表
userInfo
:
{},
userInfo
:
{},
PurposeTypeList
:
[],
//意向度下拉列表
PurposeTypeList
:
[],
//意向度下拉列表
CourseList
:
[],
//课程下拉列表
CourseList
:
[],
//课程下拉列表
...
@@ -182,6 +206,27 @@
...
@@ -182,6 +206,27 @@
this
.
getCourseList
();
this
.
getCourseList
();
},
},
methods
:
{
methods
:
{
//获取下拉框数据
getStudyAbroadList
()
{
querySupplierList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
SupplierList
=
res
.
Data
;
this
.
AllSupplierList
=
res
.
Data
;
let
obj
=
{
Id
:
0
,
Name
:
'请选择'
}
this
.
SupplierList
.
unshift
(
obj
);
}
})
},
filterSupper
(
val
,
update
)
{
update
(()
=>
{
this
.
SupplierList
=
this
.
AllSupplierList
.
filter
(
v
=>
v
.
Name
.
indexOf
(
val
)
>
-
1
);
});
},
//筛选课程
//筛选课程
filterCourse
(
val
,
update
)
{
filterCourse
(
val
,
update
)
{
update
(()
=>
{
update
(()
=>
{
...
@@ -227,6 +272,12 @@
...
@@ -227,6 +272,12 @@
});
});
return
;
return
;
}
}
if
(
this
.
flowMsg
.
SupplierIdList
&&
this
.
flowMsg
.
SupplierIdList
.
length
>
0
){
this
.
flowMsg
.
SupplierIds
=
this
.
flowMsg
.
SupplierIdList
.
toString
()
}
else
{
this
.
flowMsg
.
SupplierIds
=
""
;
}
saveStudentFollow
(
this
.
flowMsg
)
saveStudentFollow
(
this
.
flowMsg
)
.
then
(
res
=>
{
.
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
...
@@ -262,11 +313,14 @@
...
@@ -262,11 +313,14 @@
this
.
flowMsg
.
Id
=
0
;
this
.
flowMsg
.
Id
=
0
;
this
.
flowMsg
.
Remark
=
""
;
this
.
flowMsg
.
Remark
=
""
;
this
.
flowMsg
.
stuState
=
0
;
this
.
flowMsg
.
stuState
=
0
;
this
.
flowMsg
.
StudentType
=
this
.
StudentType
;
this
.
flowMsg
.
ConsultCourseIdList
=
[];
this
.
flowMsg
.
ConsultCourseIdList
=
[];
this
.
flowMsg
.
ConsultCourseIds
=
""
;
this
.
flowMsg
.
ConsultCourseIds
=
""
;
this
.
flowMsg
.
ConsultKeyWords
=
""
;
this
.
flowMsg
.
ConsultKeyWords
=
""
;
this
.
flowMsg
.
NextVisitDate
=
""
;
this
.
flowMsg
.
NextVisitDate
=
""
;
this
.
flowMsg
.
PurposeType
=
""
;
this
.
flowMsg
.
PurposeType
=
""
;
this
.
flowMsg
.
SupplierIds
=
""
;
//供应商IDs
this
.
flowMsg
.
upplierIdList
=
[],
//供应商ID
this
.
isShowAdd
=
false
;
this
.
isShowAdd
=
false
;
},
},
changePage
(
val
)
{
changePage
(
val
)
{
...
@@ -275,6 +329,7 @@
...
@@ -275,6 +329,7 @@
},
},
//修改根据信息
//修改根据信息
editFollow
(
item
)
{
editFollow
(
item
)
{
this
.
getStudyAbroadList
();
this
.
flowMsg
.
Id
=
item
.
Id
;
this
.
flowMsg
.
Id
=
item
.
Id
;
this
.
flowMsg
.
Remark
=
item
.
Remark
;
this
.
flowMsg
.
Remark
=
item
.
Remark
;
this
.
flowMsg
.
ConsultCourseIdList
=
item
.
ConsultCourseIdList
;
this
.
flowMsg
.
ConsultCourseIdList
=
item
.
ConsultCourseIdList
;
...
@@ -282,6 +337,12 @@
...
@@ -282,6 +337,12 @@
this
.
flowMsg
.
ConsultKeyWords
=
item
.
ConsultKeyWords
;
this
.
flowMsg
.
ConsultKeyWords
=
item
.
ConsultKeyWords
;
this
.
flowMsg
.
NextVisitDate
=
item
.
NextVisitDate
;
this
.
flowMsg
.
NextVisitDate
=
item
.
NextVisitDate
;
this
.
flowMsg
.
PurposeType
=
item
.
PurposeType
;
this
.
flowMsg
.
PurposeType
=
item
.
PurposeType
;
this
.
flowMsg
.
StudentType
=
item
.
StudentType
;
this
.
flowMsg
.
SupplierIds
=
item
.
SupplierIds
;
this
.
flowMsg
.
SupplierIdList
=
[];
if
(
this
.
flowMsg
.
SupplierIds
&&
this
.
flowMsg
.
SupplierIds
.
length
>
0
)
{
this
.
flowMsg
.
SupplierIdList
=
item
.
SupplierIds
.
split
(
","
).
map
(
Number
);
}
this
.
isShowAdd
=
true
;
this
.
isShowAdd
=
true
;
},
},
//删除跟进
//删除跟进
...
...
src/components/school/student/studentRight-form.vue
View file @
460e4add
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
</student-visit>
</student-visit>
<student-yuefang
:stateId=
"stateId"
:stateList=
"customStateList"
@
update=
"queryStuInfo"
<student-yuefang
:stateId=
"stateId"
:stateList=
"customStateList"
@
update=
"queryStuInfo"
:save-obj=
"baseObj"
v-if=
"secondType == 2"
@
success=
"refreshStudentPage"
></student-yuefang>
:save-obj=
"baseObj"
v-if=
"secondType == 2"
@
success=
"refreshStudentPage"
></student-yuefang>
<student-genjin
:stateId=
"stateId"
:stateList=
"customStateList"
@
update=
"queryStuInfo"
<student-genjin
:
StudentType=
"StudentType"
:
stateId=
"stateId"
:stateList=
"customStateList"
@
update=
"queryStuInfo"
:save-obj=
"baseObj"
v-if=
"secondType == 3"
@
success=
"refreshStudentPage"
></student-genjin>
:save-obj=
"baseObj"
v-if=
"secondType == 3"
@
success=
"refreshStudentPage"
></student-genjin>
<student-shiting
:save-obj=
"baseObj"
v-if=
"secondType == 4"
@
success=
"refreshStudentPage"
>
<student-shiting
:save-obj=
"baseObj"
v-if=
"secondType == 4"
@
success=
"refreshStudentPage"
>
</student-shiting>
</student-shiting>
...
@@ -161,6 +161,10 @@
...
@@ -161,6 +161,10 @@
type
:
Object
,
type
:
Object
,
default
:
null
default
:
null
},
},
StudentType
:
{
type
:
Number
,
default
:
1
},
//是否显示转交
//是否显示转交
isJudgeTrans
:
{
isJudgeTrans
:
{
type
:
Number
,
type
:
Number
,
...
...
src/components/school/student/stulist.vue
View file @
460e4add
...
@@ -261,7 +261,7 @@
...
@@ -261,7 +261,7 @@
</q-table>
</q-table>
<student-form
v-if=
"isShowStuForm"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
>
<student-form
v-if=
"isShowStuForm"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
>
</student-form>
</student-form>
<studentRight-form
v-if=
"isShowStuRight"
:isJudgeTrans=
"isJudgeTrans"
:BelongType=
"BelongType"
<studentRight-form
v-if=
"isShowStuRight"
:
StudentType=
"StudentType"
:
isJudgeTrans=
"isJudgeTrans"
:BelongType=
"BelongType"
:checkType=
"checkType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
:checkType=
"checkType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
@
reload=
"referDataHandler"
>
@
reload=
"referDataHandler"
>
</studentRight-form>
</studentRight-form>
...
...
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