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
2474dc99
Commit
2474dc99
authored
Feb 10, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
b399b1db
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
355 additions
and
595 deletions
+355
-595
customer.vue
src/components/sale/peerInfo/customer.vue
+165
-228
order.vue
src/components/sale/peerInfo/order.vue
+189
-366
b2bAllCustomer.vue
src/pages/sale/b2bAllCustomer.vue
+1
-1
No files found.
src/components/sale/peerInfo/customer.vue
View file @
2474dc99
<
template
>
<div
class=
"b2bcustomer"
>
<div
class=
"full-width flex no-wrap items-center q-mb-sm"
>
<q-tabs
v-model=
"msg.StuStage"
active-color=
"primary"
dense
outside-arrows
align=
"left"
style=
"width:70%"
@
input=
"getStudent"
>
<q-tab
v-for=
"(item, index) in stagelist"
:key=
"index"
:name=
"item.StuStage"
>
<q-tabs
v-model=
"msg.StuStage"
active-color=
"primary"
dense
outside-arrows
align=
"left"
style=
"width:70%"
@
input=
"getStudent"
>
<q-tab
v-for=
"(item, index) in stagelist"
:key=
"index"
:name=
"item.StuStage"
>
{{
item
.
StuStageName
}}
(
{{
item
.
StuNum
}}
)
</q-tab>
</q-tabs>
<q-input
outlined
dense
v-model=
"msg.StuName"
label=
"昵称"
@
input=
"getStudent"
/>
<q-input
outlined
dense
v-model=
"msg.StuName"
label=
"昵称"
@
input=
"getStudent"
/>
</div>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
separator=
"none"
:data=
"list"
:columns=
"columns"
row-key=
"Id"
>
<!--
<template
v-slot:body-cell-StuIcon=
"props"
>
<q-td
auto-width
:props=
"props"
>
<q-avatar
size=
"md"
v-if=
"props.value"
>
<img
:src=
"props.value"
/>
</q-avatar>
<q-avatar
size=
"md"
color=
"teal-10"
text-color=
"white"
v-if=
"!props.value"
>
{{
props
.
row
.
StuName
.
substring
(
0
,
1
)
}}
</q-avatar
>
</q-td>
</
template
>
-->
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
separator=
"none"
:data=
"list"
:columns=
"columns"
row-key=
"Id"
>
<template
v-slot:body-cell-StuName=
"props"
>
<q-td
:props=
"props"
>
<div
class=
"text-blue cursor-pointer"
@
click=
"getStuRight(props.row)"
>
...
...
@@ -61,49 +21,32 @@
</
template
>
<
template
v-slot:body-cell-StuSex=
"props"
>
<q-td
:props=
"props"
>
<q-badge
:color=
"props.value == 1 ? 'negative' : 'primary'"
:label=
"props.value == 1 ? '女' : '男'"
/>
<q-badge
:color=
"props.value == 1 ? 'negative' : 'primary'"
:label=
"props.value == 1 ? '女' : '男'"
/>
</q-td>
</
template
>
<
template
v-slot:body-cell-Status=
"props"
>
<q-td
:props=
"props"
>
<q-toggle
size=
"md"
color=
"primary"
:false-value=
"1"
:true-value=
"0"
v-model=
"props.row.Status"
title=
"注意:关闭后,学员将无法正常使用."
@
input=
"deleteStudentInfo(props.row)"
/>
<q-toggle
size=
"md"
color=
"primary"
:false-value=
"1"
:true-value=
"0"
v-model=
"props.row.Status"
title=
"注意:关闭后,学员将无法正常使用."
@
input=
"deleteStudentInfo(props.row)"
/>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
<stuDetail
v-if=
"isShowStuRight"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
></stuDetail>
<stuDetail
v-if=
"isShowStuRight"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
></stuDetail>
</div>
</template>
<
script
>
import
{
getStudentPage
}
from
"../../../api/school"
;
import
{
getCustomerStuStageStatistics
}
from
"../../../api/sale/peemanagement"
;
import
stuDetail
from
"../../../components/school/student/studentRight-form"
;
export
default
{
import
{
getStudentPage
}
from
"../../../api/school"
;
import
{
getCustomerStuStageStatistics
}
from
"../../../api/sale/peemanagement"
;
import
stuDetail
from
"../../../components/school/student/studentRight-form"
;
export
default
{
components
:
{
stuDetail
},
...
...
@@ -119,12 +62,6 @@ export default {
list
:
[],
pageCount
:
0
,
columns
:
[
// {
// name: "StuIcon",
// label: "",
// field: "StuIcon",
// align: "left"
// },
{
name
:
"StuName"
,
required
:
true
,
...
...
@@ -168,12 +105,6 @@ export default {
field
:
"CreateTimeStr"
,
align
:
"left"
}
// {
// name: "CreateByName",
// label: "负责人",
// align: "left",
// field: "CreateByName"
// }
],
msg
:
{
pageIndex
:
1
,
...
...
@@ -193,7 +124,7 @@ export default {
},
methods
:
{
getStudent
()
{
this
.
msg
.
Customer
Id
=
this
.
Id
;
this
.
msg
.
Category
Id
=
this
.
Id
;
this
.
loading
=
true
;
getStudentPage
(
this
.
msg
)
.
then
(
res
=>
{
...
...
@@ -206,7 +137,9 @@ export default {
});
},
getStage
()
{
getCustomerStuStageStatistics
({
CustomerId
:
this
.
Id
}).
then
(
res
=>
{
getCustomerStuStageStatistics
({
CategoryId
:
this
.
Id
}).
then
(
res
=>
{
this
.
stagelist
=
res
.
Data
;
const
total
=
res
.
Data
.
reduce
((
pre
,
cur
)
=>
{
return
cur
.
StuNum
+
pre
;
...
...
@@ -240,25 +173,29 @@ export default {
this
.
getStudent
();
this
.
getStage
();
}
};
};
</
script
>
<
style
lang=
"scss"
>
.
b2bcustomer
:
:-
webkit-scrollbar
{
.
b2bcustomer
:
:-
webkit-scrollbar
{
width
:
5px
;
height
:
5px
;
}
.
b2bcustomer
:
:-
webkit-scrollbar-track
{
}
.
b2bcustomer
:
:-
webkit-scrollbar-track
{
background
:
#fff
;
border-radius
:
2px
;
}
.
b2bcustomer
:
:-
webkit-scrollbar-thumb
{
}
.
b2bcustomer
:
:-
webkit-scrollbar-thumb
{
background
:
#444
;
border-radius
:
10px
;
}
.
b2bcustomer
:
:-
webkit-scrollbar-thumb
:
hover
{
}
.
b2bcustomer
:
:-
webkit-scrollbar-thumb
:
hover
{
background
:
#999
;
}
.
b2bcustomer
:
:-
webkit-scrollbar-corner
{
}
.
b2bcustomer
:
:-
webkit-scrollbar-corner
{
background
:
#204754
;
}
}
</
style
>
\ No newline at end of file
src/components/sale/peerInfo/order.vue
View file @
2474dc99
...
...
@@ -2,15 +2,7 @@
<div
class=
" myOrder q-pb-lg"
>
<div
class=
"row q-my-xs"
>
<div
class=
"col-6"
>
<q-input
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.OrderId"
label=
"订单号"
dense
maxlength=
"10"
/>
<q-input
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.OrderId"
label=
"订单号"
dense
maxlength=
"10"
/>
</div>
</div>
<div
class=
"row wrap q-gutter-xs q-my-xs"
v-if=
"data.Statistics"
>
...
...
@@ -39,50 +31,39 @@
</div>
<div
style=
"width:100%;overflow:auto"
>
<orderlist
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
:modityOrderType=
"3"
ref=
"orderL"
>
<orderlist
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
:modityOrderType=
"3"
ref=
"orderL"
>
</orderlist>
<div
class=
"row"
style=
"justify-content: flex-end;padding: 5px 20px"
>
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
color=
"primary"
:input=
"true"
>
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
color=
"primary"
:input=
"true"
>
</q-pagination>
</div>
</div>
<classinfo-form
v-if=
"isShowClassInfo"
:seting-obj=
"classObjOption"
@
close=
"closeClass"
@
success=
"refreshClassOrder"
>
<classinfo-form
v-if=
"isShowClassInfo"
:seting-obj=
"classObjOption"
@
close=
"closeClass"
@
success=
"refreshClassOrder"
>
</classinfo-form>
</div>
</
template
>
<
script
>
import
{
import
{
getMyOrderStatisticsPageList
,
//获取订单列表
getOrderStateEnumList
//订单状态
}
from
"../../../api/sale/sale"
;
import
{
}
from
"../../../api/sale/sale"
;
import
{
queryCourseDropdownList
,
getCourseSubject
}
from
"../../../api/course/index"
;
import
myOrderForm
from
"../../../components/sale/myOrder-form"
;
import
classinfoForm
from
"../../../components/course/classinfo-form"
;
import
orderlist
from
"./b2bOrderlist"
;
import
{
queryEmployee
}
from
"../../../api/users/user"
;
import
{
EduDownLoad
}
from
"../../../api/common/common"
;
export
default
{
}
from
"../../../api/course/index"
;
import
myOrderForm
from
"../../../components/sale/myOrder-form"
;
import
classinfoForm
from
"../../../components/course/classinfo-form"
;
import
orderlist
from
"./b2bOrderlist"
;
import
{
queryEmployee
}
from
"../../../api/users/user"
;
import
{
EduDownLoad
}
from
"../../../api/common/common"
;
export
default
{
props
:
{
Id
:
{
type
:
Number
,
...
...
@@ -121,7 +102,8 @@ export default {
ClassNo
:
""
,
//班号
HelpEnterId
:
""
,
//关联教师
CourseSubject
:
""
,
//所属科目
CustomerId
:
0
CustomerId
:
0
,
CategoryId
:
0
,
},
//订单状态
OrderStateList
:
[],
...
...
@@ -142,85 +124,13 @@ export default {
isShowBackClass
:
false
,
//不显示退课
isShowRenewClass
:
false
//不显示续课
},
EmployeeList
:
[],
//业务员
AllemployeeList
:
[],
TeacherList
:
[],
//关联教师
AllTeacherList
:
[],
CourseSubjectList
:
[]
//科目列表
};
},
created
()
{
if
(
this
.
$route
.
query
.
OrderId
)
{
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
;
}
// let nowDay = new Date();
// var year = nowDay.getFullYear(); //年
// var month = nowDay.getMonth() + 1; //月
// var day = nowDay.getDate(); //日
// var currentDay = year + '-' + month + '-' + day;
// this.msg.StartTime = currentDay
// if (this.$route.query.StartTime) {
// this.msg.StartTime = this.$route.query.StartTime + '-01';
// }
// if (this.$route.query.EndTime) {
// this.msg.EndTime = this.$route.query.EndTime + '-01';
// }
if
(
this
.
$route
.
query
.
EnterID
)
{
this
.
msg
.
EnterID
=
Number
(
this
.
$route
.
query
.
EnterID
);
}
if
(
this
.
$route
.
query
.
ClassName
)
{
this
.
msg
.
ClassName
=
decodeURI
(
this
.
$route
.
query
.
ClassName
);
}
this
.
queryCourseSubject
();
this
.
getOrderState
();
this
.
getCourseList
();
},
created
()
{},
mounted
()
{
this
.
getList
();
this
.
getEmployee
(
0
);
this
.
getglteacher
();
},
methods
:
{
queryCourseSubject
()
{
getCourseSubject
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
CourseSubjectList
=
res
.
Data
;
}
});
},
//订单状态
getOrderState
()
{
getOrderStateEnumList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
tempArray
=
res
.
Data
;
if
(
!
tempArray
)
{
tempArray
=
[];
}
tempArray
.
unshift
({
Id
:
0
,
Name
:
"不限"
});
this
.
OrderStateList
=
tempArray
;
}
});
},
//获取课程
getCourseList
()
{
queryCourseDropdownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
tempArray
=
res
.
Data
;
if
(
!
tempArray
)
{
tempArray
=
[];
}
tempArray
.
unshift
({
CourseId
:
0
,
CourseName
:
"不限"
});
this
.
CourseList
=
tempArray
;
}
});
},
//翻页
changePage
(
val
)
{
if
(
this
.
showone
==
true
)
{
...
...
@@ -236,27 +146,13 @@ export default {
},
//获取菜单分页列表
getList
()
{
// if (this.dateList && this.dateList.length > 0) {
// this.msg.StartTime = this.dateList[0];
// this.msg.EndTime = this.dateList[1];
// } else {
// this.msg.StartTime = '';
// this.msg.EndTime = '';
// }
if
(
this
.
dateList2
&&
this
.
dateList2
.
length
>
0
)
{
this
.
msg
.
OPStartTime
=
this
.
dateList2
[
0
];
this
.
msg
.
OPEndTime
=
this
.
dateList2
[
1
];
}
else
{
this
.
msg
.
OPStartTime
=
""
;
this
.
msg
.
OPEndTime
=
""
;
}
this
.
msg
.
CustomerId
=
this
.
Id
;
this
.
msg
.
CategoryId
=
this
.
Id
;
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
if
(
msg
.
OrderId
==
""
||
msg
.
OrderId
==
null
)
{
msg
.
OrderId
=
0
;
}
this
.
loading
=
true
;
console
.
log
(
"msg"
,
msg
);
getMyOrderStatisticsPageList
(
msg
)
.
then
(
res
=>
{
this
.
data
=
res
.
Data
.
PageData
;
...
...
@@ -288,108 +184,35 @@ export default {
closeClass
()
{
this
.
isShowClassInfo
=
false
;
},
getglteacher
()
{
var
qMsg
=
{
AccountTypeStr
:
2
};
queryEmployee
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
let
obj
=
{
Id
:
""
,
EmployeeName
:
"不限"
};
this
.
TeacherList
.
unshift
(
obj
);
this
.
AllTeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
TeacherList
));
}
});
},
//筛选关联老师
filterFn3
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
""
)
{
this
.
TeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllTeacherList
));
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
TeacherList
=
this
.
AllTeacherList
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
});
},
//业务员
getEmployee
(
id
)
{
var
qMsg
=
{
Dept_Id
:
0
};
qMsg
.
Dept_Id
=
id
;
queryEmployee
(
qMsg
)
.
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
EmployeeList
=
res
.
Data
;
let
obj
=
{
Id
:
""
,
EmployeeName
:
"不限"
};
this
.
EmployeeList
.
unshift
(
obj
);
this
.
AllemployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
EmployeeList
)
);
}
})
.
catch
(()
=>
{});
},
//筛选业务员
filterFn2
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
""
)
{
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllemployeeList
));
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
EmployeeList
=
this
.
AllemployeeList
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
});
},
goexport
()
{
//导出
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/order/GetOrderPageListStatisticsToExcel"
,
msg
,
"订单列表.xls"
);
}
}
};
</
script
>
<
style
scoped
>
li
{
li
{
list-style-type
:
none
;
}
}
.myOrder
ul
{
.myOrder
ul
{
padding
:
0px
;
}
}
.myOrder
.price-popup
{
.myOrder
.price-popup
{
border-radius
:
4px
;
}
}
.myOrder
.el-range-editor
.el-range-input
{
.myOrder
.el-range-editor
.el-range-input
{
background
:
transparent
;
}
}
.myOrder
.el-range-editor.el-input__inner
{
.myOrder
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
}
.myOrder
.q-mb-md
{
.myOrder
.q-mb-md
{
margin-bottom
:
0
;
}
}
.myOrder
.stics
{
.myOrder
.stics
{
padding
:
5px
10px
;
background
:
#dddee0
;
border-radius
:
4px
;
...
...
@@ -397,34 +220,34 @@ li {
color
:
#000000
;
font-weight
:
bold
;
white-space
:
nowrap
;
}
}
.myOrder
.stics
.stics-name
{
.myOrder
.stics
.stics-name
{
color
:
#2d2d2d
;
font-weight
:
600
;
margin-right
:
10px
;
}
}
.myOrder
.tis
{
.myOrder
.tis
{
margin
:
10px
0
;
align-items
:
center
;
}
}
.myOrder
.tis
.tis-k
{
.myOrder
.tis
.tis-k
{
width
:
10px
;
height
:
10px
;
margin-right
:
8px
;
}
}
.myOrder
.tis
span
{
.myOrder
.tis
span
{
font-size
:
14px
;
color
:
#2d2d2d
;
font-weight
:
600
;
margin-right
:
20px
;
}
}
.myOrder
.el-input__inner
{
.myOrder
.el-input__inner
{
border
:
none
!important
;
background
:
transparent
!important
;
}
}
</
style
>
\ No newline at end of file
src/pages/sale/b2bAllCustomer.vue
View file @
2474dc99
...
...
@@ -109,7 +109,7 @@
"QQ"
,
"WeChatNo"
,
],
tabCheck
:
1
,
tabCheck
:
2
,
//审核状态列表
ApproveStateList
:
[
{
...
...
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