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
48896a1f
Commit
48896a1f
authored
Apr 25, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
36a7b8ca
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
628 additions
and
744 deletions
+628
-744
course-form.vue
src/components/course/course-form.vue
+44
-29
orderlist.vue
src/components/sale/orderlist.vue
+0
-1
course.vue
src/pages/course/course.vue
+545
-688
lessonNotes.vue
src/pages/course/lessonNotes.vue
+7
-1
courseList.vue
src/pages/sale/courseList.vue
+32
-25
No files found.
src/components/course/course-form.vue
View file @
48896a1f
...
@@ -83,13 +83,13 @@
...
@@ -83,13 +83,13 @@
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<div
class=
"col-6"
>
<div
class=
"col-6"
>
<q-input
filled
stack-label
:disable=
"!isHaveCourseHoursEdit"
<q-input
filled
stack-label
:disable=
"!isHaveCourseHoursEdit"
@
keyup
.
native=
"checkPrice(objOption, 'C
lassHours')"
reverse-fill-mask
v-model=
"objOption.Class
Hours"
@
keyup
.
native=
"checkPrice(objOption, 'C
hineseHours')"
reverse-fill-mask
v-model=
"objOption.Chinese
Hours"
ref=
"C
lassHours"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"课时数量"
:rules=
"[val => !!val || '请填写课时信息']
"
/>
ref=
"C
hineseHours"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"中教课时
"
/>
</div>
</div>
<div
class=
"col-6"
>
<div
class=
"col-6"
>
<q-
select
filled
stack-label
@
input=
"changeCourseSubject(objOption.CateId)"
option-value=
"CateId
"
<q-
input
filled
stack-label
:disable=
"!isHaveCourseHoursEdit
"
option-label=
"CateName"
v-model=
"objOption.CateId"
ref=
"CateId"
:options=
"TreeCategoryList"
label=
"所属系列
"
@
keyup
.
native=
"checkPrice(objOption, 'ForeignHours')"
reverse-fill-mask
v-model=
"objOption.ForeignHours
"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
:rules=
"[val => !!val || '请选择课程所属系列']
"
/>
ref=
"ForeignHours"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"外教课时
"
/>
</div>
</div>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
...
@@ -99,13 +99,18 @@
...
@@ -99,13 +99,18 @@
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
</div>
</div>
<div
class=
"col-6"
>
<div
class=
"col-6"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.CourseRate
"
<q-select
filled
stack-label
@
input=
"changeCourseSubject(objOption.CateId)"
option-value=
"CateId
"
ref=
"CourseRate"
:options=
"courseLevelList"
label=
"课程等级"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
option-label=
"CateName"
v-model=
"objOption.CateId"
ref=
"CateId"
:options=
"TreeCategoryList"
label=
"所属系列"
map-options
/>
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
:rules=
"[val => !!val || '请选择课程所属系列']"
/>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-6"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.CourseRate"
ref=
"CourseRate"
:options=
"courseLevelList"
label=
"课程等级"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
</div>
<q-field
label=
"是否支持约课报名"
stack-label
filled
class=
"col-6 q-pr-lg q-pb-lg"
>
<q-field
label=
"是否支持约课报名"
stack-label
filled
class=
"col-6 q-pr-lg q-pb-lg"
>
<
template
v-slot:control
>
<
template
v-slot:control
>
<div
class=
"row col-12"
>
<div
class=
"row col-12"
>
...
@@ -114,10 +119,20 @@
...
@@ -114,10 +119,20 @@
</div>
</div>
</
template
>
</
template
>
</q-field>
</q-field>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.CourseTimeId"
ref=
"CourseTime"
:options=
"CourseTimeList"
label=
"关联上课时段"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-6"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.CourseTimeId"
ref=
"CourseTime"
:options=
"CourseTimeList"
label=
"关联上课时段"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
</div>
<div
class=
"col-6"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.OpenBankLevelList"
multiple
use-chips
ref=
"LevelData"
:options=
"LevelData"
label=
"课程关联题库"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
</div>
</div>
<div
class=
"row"
v-if=
"objOption.IsScrollClass==1"
>
<div
class=
"row"
v-if=
"objOption.IsScrollClass==1"
>
<q-input
filled
stack-label
v-model=
"objOption.ScrollMinNum"
ref=
"ScrollMinNum"
class=
"col-6 q-pr-lg q-pb-lg"
<q-input
filled
stack-label
v-model=
"objOption.ScrollMinNum"
ref=
"ScrollMinNum"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"最小上课人数"
:rules=
"[val => !!val || '请填写最小上课人数']"
/>
label=
"最小上课人数"
:rules=
"[val => !!val || '请填写最小上课人数']"
/>
...
@@ -125,10 +140,10 @@
...
@@ -125,10 +140,10 @@
label=
"最大上课人数"
:rules=
"[val => !!val || '请填写最大上课人数']"
/>
label=
"最大上课人数"
:rules=
"[val => !!val || '请填写最大上课人数']"
/>
</div>
</div>
<div
class=
"row"
>
<div
class=
"row"
>
<q-input
filled
stack-label
v-model=
"objOption.FreeCoffeeNum"
ref=
"FreeCoffeeNum"
class=
"col-6 q-pr-lg q-pb-lg"
<q-input
filled
stack-label
v-model=
"objOption.FreeCoffeeNum"
ref=
"FreeCoffeeNum"
label=
"赠送咖啡杯数"
:rules=
"[val => val >=0 || '请填写赠送咖啡杯数']"
/>
class=
"col-6 q-pr-lg q-pb-lg"
label=
"赠送咖啡杯数"
:rules=
"[val => val >=0 || '请填写赠送咖啡杯数']"
/>
<q-input
filled
stack-label
v-model=
"objOption.AddHoursMoney"
ref=
"AddHoursMoney"
class=
"col-6 q-pr-lg q-pb-lg"
<q-input
filled
stack-label
v-model=
"objOption.AddHoursMoney"
ref=
"AddHoursMoney"
label=
"课程增加课时费"
:rules=
"[val => val >=0 || '请填写课程增加课时费']"
/>
class=
"col-6 q-pr-lg q-pb-lg"
label=
"课程增加课时费"
:rules=
"[val => val >=0 || '请填写课程增加课时费']"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<div
class=
"col-6"
>
<div
class=
"col-6"
>
...
@@ -153,13 +168,7 @@
...
@@ -153,13 +168,7 @@
style=
"display:none"
/>
style=
"display:none"
/>
</div>
</div>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-6"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.OpenBankLevelList"
multiple
use-chips
ref=
"LevelData"
:options=
"LevelData"
label=
"课程关联题库"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"row wrap"
>
<div
class=
"col-12 q-pr-lg q-pb-lg"
>
<div
class=
"col-12 q-pr-lg q-pb-lg"
>
<q-input
v-model=
"objOption.ContractInfo"
filled
type=
"textarea"
placeholder=
"合同补充协议"
/>
<q-input
v-model=
"objOption.ContractInfo"
filled
type=
"textarea"
placeholder=
"合同补充协议"
/>
...
@@ -267,8 +276,10 @@
...
@@ -267,8 +276,10 @@
FreeCoffeeNum
:
0
,
// 赠送咖啡
FreeCoffeeNum
:
0
,
// 赠送咖啡
AddHoursMoney
:
0
,
// 课程增加课时费
AddHoursMoney
:
0
,
// 课程增加课时费
CourseTimeId
:
0
,
// 关联上课时段
CourseTimeId
:
0
,
// 关联上课时段
ContractInfo
:
""
,
//合同补充协议
ContractInfo
:
""
,
//合同补充协议
OpenBankLevelList
:
[]
OpenBankLevelList
:
[],
//开放题库
ChineseHours
:
""
,
//中教课时
ForeignHours
:
""
,
//外教课时
},
},
CourseTimeList
:
[],
//上课时段列表
CourseTimeList
:
[],
//上课时段列表
CourseEmphasis
:
[],
//数据临时存放
CourseEmphasis
:
[],
//数据临时存放
...
@@ -288,7 +299,7 @@
...
@@ -288,7 +299,7 @@
courseLevelList
:
[],
//课程等级列表
courseLevelList
:
[],
//课程等级列表
courseSubjectList
:
[],
//课程科目列表
courseSubjectList
:
[],
//课程科目列表
keynoteList
:
[],
//重点枚举列表
keynoteList
:
[],
//重点枚举列表
LevelData
:[]
LevelData
:
[]
};
};
},
},
created
()
{
created
()
{
...
@@ -327,9 +338,9 @@
...
@@ -327,9 +338,9 @@
},
},
methods
:
{
methods
:
{
//获取关联考试等级
//获取关联考试等级
getLevel
(){
getLevel
()
{
GetBankTypeList
({}).
then
(
res
=>
{
GetBankTypeList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
LevelData
=
res
.
Data
;
this
.
LevelData
=
res
.
Data
;
}
}
})
})
...
@@ -510,6 +521,8 @@
...
@@ -510,6 +521,8 @@
this
.
objOption
.
AddHoursMoney
=
res
.
Data
.
AddHoursMoney
;
this
.
objOption
.
AddHoursMoney
=
res
.
Data
.
AddHoursMoney
;
this
.
objOption
.
CourseTimeId
=
res
.
Data
.
CourseTimeId
;
this
.
objOption
.
CourseTimeId
=
res
.
Data
.
CourseTimeId
;
this
.
objOption
.
OpenBankLevelList
=
res
.
Data
.
OpenBankLevelList
;
this
.
objOption
.
OpenBankLevelList
=
res
.
Data
.
OpenBankLevelList
;
this
.
objOption
.
ChineseHours
=
res
.
Data
.
ChineseHours
;
this
.
objOption
.
ForeignHours
=
res
.
Data
.
ForeignHours
;
this
.
CourseEmphasis
=
[];
this
.
CourseEmphasis
=
[];
setTimeout
(()
=>
{
setTimeout
(()
=>
{
//Todo 暂时不知道什么原因 偶尔会出现2个 所以加了一个延迟
//Todo 暂时不知道什么原因 偶尔会出现2个 所以加了一个延迟
...
@@ -570,6 +583,8 @@
...
@@ -570,6 +583,8 @@
this
.
objOption
.
AddHoursMoney
=
0
;
this
.
objOption
.
AddHoursMoney
=
0
;
this
.
objOption
.
CourseTimeId
=
0
;
this
.
objOption
.
CourseTimeId
=
0
;
this
.
objOption
.
OpenBankLevelList
=
[];
this
.
objOption
.
OpenBankLevelList
=
[];
this
.
objOption
.
ChineseHours
=
""
;
this
.
objOption
.
ForeignHours
=
""
;
}
}
},
},
//关闭弹窗
//关闭弹窗
...
@@ -580,13 +595,13 @@
...
@@ -580,13 +595,13 @@
//保存菜单
//保存菜单
saveCourse
()
{
saveCourse
()
{
this
.
$refs
.
CourseName
.
validate
();
this
.
$refs
.
CourseName
.
validate
();
this
.
$refs
.
ClassHours
.
validate
();
//
this.$refs.ClassHours.validate();
this
.
$refs
.
CateId
.
validate
();
this
.
$refs
.
CateId
.
validate
();
this
.
$refs
.
FreeCoffeeNum
.
validate
();
this
.
$refs
.
FreeCoffeeNum
.
validate
();
this
.
$refs
.
AddHoursMoney
.
validate
();
this
.
$refs
.
AddHoursMoney
.
validate
();
//!this.$refs.ClassHours.hasError &&
if
(
if
(
!
this
.
$refs
.
CourseName
.
hasError
&&
!
this
.
$refs
.
CourseName
.
hasError
&&
!
this
.
$refs
.
ClassHours
.
hasError
&&
!
this
.
$refs
.
CateId
.
hasError
&&
!
this
.
$refs
.
CateId
.
hasError
&&
!
this
.
$refs
.
FreeCoffeeNum
.
hasError
&&
!
this
.
$refs
.
FreeCoffeeNum
.
hasError
&&
!
this
.
$refs
.
AddHoursMoney
.
hasError
!
this
.
$refs
.
AddHoursMoney
.
hasError
...
...
src/components/sale/orderlist.vue
View file @
48896a1f
...
@@ -1640,7 +1640,6 @@
...
@@ -1640,7 +1640,6 @@
item
.
tab
=
tab
;
item
.
tab
=
tab
;
this
.
myorderObjOption
=
item
;
this
.
myorderObjOption
=
item
;
this
.
isShowmyorderForm
=
true
;
this
.
isShowmyorderForm
=
true
;
console
.
log
(
this
.
myorderObjOption
,
'===='
)
},
},
//关闭订单详情
//关闭订单详情
closeMOSaveForm
()
{
closeMOSaveForm
()
{
...
...
src/pages/course/course.vue
View file @
48896a1f
...
@@ -3,109 +3,50 @@
...
@@ -3,109 +3,50 @@
<div
class=
"page-search row items-center"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-input
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.CourseName"
label=
"课程名称"
@
input=
"resetSearch"
@
clear=
"resetSearch"
maxlength=
"20"
/>
clearable
standout=
"bg-primary text-white"
v-model=
"msg.CourseName"
label=
"课程名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<select-tree
<select-tree
:treeData=
"TreeCategoryList"
:defaultArray=
"returnString"
nodeKey=
"CateId"
:multiple=
"true"
:treeData=
"TreeCategoryList"
labelKey=
"CateName"
childrenKey=
"ChildList"
tipText=
"课程系列"
@
getChild=
"getChild"
></select-tree>
:defaultArray=
"returnString"
nodeKey=
"CateId"
:multiple=
"true"
labelKey=
"CateName"
childrenKey=
"ChildList"
tipText=
"课程系列"
@
getChild=
"getChild"
></select-tree>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
v-model=
"msg.CourseSubject"
@
input=
"resetSearch"
:options=
"CourseSubjectList"
option-label=
"SubjectName"
option-value=
"Id"
emit-value
map-options
standout=
"bg-primary text-white"
label=
"所属科目"
clearable
/>
v-model=
"msg.CourseSubject"
:options=
"CourseSubjectList"
option-label=
"SubjectName"
option-value=
"Id"
emit-value
map-options
label=
"所属科目"
clearable
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
v-model=
"msg.Status"
:options=
"ShowOpts"
@
input=
"resetSearch"
emit-value
map-options
label=
"状态"
/>
standout=
"bg-primary text-white"
v-model=
"msg.Status"
:options=
"ShowOpts"
emit-value
map-options
label=
"状态"
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
v-model=
"msg.Saleplat"
:options=
"platOpts"
@
input=
"resetSearch"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"上架渠道"
/>
standout=
"bg-primary text-white"
v-model=
"msg.Saleplat"
:options=
"platOpts"
option-label=
"Name"
option-value=
"Id"
emit-value
map-options
label=
"上架渠道"
/>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"page-content"
>
<div
class=
"page-content"
>
<q-table
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-two-header-table sticky-tow-column-table sticky-right-column-table"
class=
"sticky-two-header-table sticky-tow-column-table sticky-right-column-table"
style=
"height: calc(100vh - 250px) !important;"
style=
"height: calc(100vh - 250px) !important;"
separator=
"none"
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
separator=
"none"
<template
v-slot:top
>
:data=
"data"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
课程信息
</div>
<div
class=
"col-2 q-table__title"
>
课程信息
</div>
<q-space
/>
<q-space
/>
<div
class=
"page-option"
>
<div
class=
"page-option"
>
<q-btn
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增课程"
@
click=
"EditCourse(null, 1)"
/>
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"新增课程"
@
click=
"EditCourse(null, 1)"
/>
</div>
</div>
</
template
>
</
template
>
<
template
v-slot:body-cell-CoverImg=
"props"
>
<
template
v-slot:body-cell-CoverImg=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<q-img
<q-img
:src=
"props.value"
spinner-color=
"white"
style=
"height: 54px; max-width: 100px"
:src=
"props.value"
class=
"rounded-borders"
>
spinner-color=
"white"
style=
"height: 54px; max-width: 100px"
class=
"rounded-borders"
>
</q-img>
</q-img>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-OpenBankLevelNameList=
"props"
>
<
template
v-slot:body-cell-OpenBankLevelNameList=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
style=
"margin-right:10px;"
v-for=
"x in props.row.OpenBankLevelNameList"
>
{{
x
}}
</span>
<span
style=
"margin-right:10px;"
v-for=
"(x,xIndex) in props.row.OpenBankLevelNameList"
:key=
"xIndex"
>
{{
x
}}
</span>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-CourseIntro=
"props"
>
<
template
v-slot:body-cell-CourseIntro=
"props"
>
...
@@ -113,7 +54,6 @@
...
@@ -113,7 +54,6 @@
<span
v-html=
"props.value"
></span>
<span
v-html=
"props.value"
></span>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-B2CRatio=
"props"
>
<
template
v-slot:body-cell-B2CRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span>
{{
props
.
row
.
B2CRatio
}}
%
</span>
<span>
{{
props
.
row
.
B2CRatio
}}
%
</span>
...
@@ -126,88 +66,68 @@
...
@@ -126,88 +66,68 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-B2BRebateRatio=
"props"
>
<
template
v-slot:body-cell-B2BRebateRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
B2BRebateRatio
>
{{
props
.
row
.
B2BRebateRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-B2BReNewRatio=
"props"
>
<
template
v-slot:body-cell-B2BReNewRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
B2BReNewRatio
>
{{
props
.
row
.
B2BReNewRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-SchoolRebateRatio=
"props"
>
<
template
v-slot:body-cell-SchoolRebateRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
SchoolRebateRatio
>
{{
props
.
row
.
SchoolRebateRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-SchoolReNewRatio=
"props"
>
<
template
v-slot:body-cell-SchoolReNewRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
SchoolReNewRatio
>
{{
props
.
row
.
SchoolReNewRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-TransIntroductceRatio=
"props"
>
<
template
v-slot:body-cell-TransIntroductceRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
TransIntroductceRatio
>
{{
props
.
row
.
TransIntroductceRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-TransIntroductceReNewRatio=
"props"
>
<
template
v-slot:body-cell-TransIntroductceReNewRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
TransIntroductceReNewRatio
>
{{
props
.
row
.
TransIntroductceReNewRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-InnerRecommendRatio=
"props"
>
<
template
v-slot:body-cell-InnerRecommendRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
InnerRecommendRatio
>
{{
props
.
row
.
InnerRecommendRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-InnerRecommendReNewRatio=
"props"
>
<
template
v-slot:body-cell-InnerRecommendReNewRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
InnerRecommendReNewRatio
>
{{
props
.
row
.
InnerRecommendReNewRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-B2CRbRatio=
"props"
>
<
template
v-slot:body-cell-B2CRbRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
B2CRbRatio
>
{{
props
.
row
.
B2CRbRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-B2CRNRatio=
"props"
>
<
template
v-slot:body-cell-B2CRNRatio=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<span
<span>
{{
props
.
row
.
B2CRNRatio
>
{{
props
.
row
.
B2CRNRatio
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span>
}}{{
props
.
row
.
CommissionReType
==
1
?
"%"
:
""
}}
</span
>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-PreferentialList=
"props"
>
<
template
v-slot:body-cell-PreferentialList=
"props"
>
<q-td
:props=
"props"
style=
"padding-right: 0px"
>
<q-td
:props=
"props"
style=
"padding-right: 0px"
>
<div
v-for=
"
x in props.value
"
>
<div
v-for=
"
(x,cIndex) in props.value"
:key=
"cIndex
"
>
<div
class=
"border-bottom"
v-if=
"x.PriceDiscountType == 1"
>
<div
class=
"border-bottom"
v-if=
"x.PriceDiscountType == 1"
>
买
{{
x
.
BuyNum
}}
送
{{
x
.
SendNum
}}
买
{{
x
.
BuyNum
}}
送
{{
x
.
SendNum
}}
</div>
</div>
...
@@ -231,13 +151,9 @@
...
@@ -231,13 +151,9 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-PreferentialListSellCommission=
"props"
>
<
template
v-slot:body-cell-PreferentialListSellCommission=
"props"
>
<q-td
:props=
"props"
style=
"padding-right: 0px; padding-left: 0px"
>
<q-td
:props=
"props"
style=
"padding-right: 0px; padding-left: 0px"
>
<div
v-for=
"x in props.value"
>
<div
v-for=
"(x,dIndex) in props.value"
:key=
"dIndex"
>
<div
<div
class=
"border-bottom"
style=
"padding-left: 16px; padding-right: 16px"
class=
"border-bottom"
:class=
"
{ 'text-red': x.SaleCommissionType == 1 }" v-if="x.PriceDiscountType != 0">
style=
"padding-left: 16px; padding-right: 16px"
:class=
"
{ 'text-red': x.SaleCommissionType == 1 }"
v-if="x.PriceDiscountType != 0"
>
{{
x
.
SaleCommissionType
==
1
?
"¥"
:
""
{{
x
.
SaleCommissionType
==
1
?
"¥"
:
""
}}{{
x
.
SaleCommissionMoney
}}{{
x
.
SaleCommissionMoney
}}{{
x
.
SaleCommissionType
==
0
?
"%"
:
""
}}
}}{{
x
.
SaleCommissionType
==
0
?
"%"
:
""
}}
...
@@ -253,13 +169,9 @@
...
@@ -253,13 +169,9 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-PreferentialListB2BCommission=
"props"
>
<
template
v-slot:body-cell-PreferentialListB2BCommission=
"props"
>
<q-td
:props=
"props"
style=
"padding-left: 0px"
>
<q-td
:props=
"props"
style=
"padding-left: 0px"
>
<div
v-for=
"x in props.value"
>
<div
v-for=
"(x,fIndex) in props.value"
:key=
"fIndex"
>
<div
<div
class=
"border-bottom"
style=
"padding-left: 16px"
:class=
"
{ 'text-red': x.B2BCommissionType == 1 }"
class=
"border-bottom"
v-if="x.PriceDiscountType != 0">
style=
"padding-left: 16px"
:class=
"
{ 'text-red': x.B2BCommissionType == 1 }"
v-if="x.PriceDiscountType != 0"
>
{{
x
.
B2BCommissionType
==
1
?
"¥"
:
""
{{
x
.
B2BCommissionType
==
1
?
"¥"
:
""
}}{{
x
.
B2BCommissionMoney
}}{{
x
.
B2BCommissionMoney
}}{{
x
.
B2BCommissionType
==
0
?
"%"
:
""
}}
}}{{
x
.
B2BCommissionType
==
0
?
"%"
:
""
}}
...
@@ -275,13 +187,9 @@
...
@@ -275,13 +187,9 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-EducationCommission=
"props"
>
<
template
v-slot:body-cell-EducationCommission=
"props"
>
<q-td
:props=
"props"
style=
"padding-left: 0px"
>
<q-td
:props=
"props"
style=
"padding-left: 0px"
>
<div
v-for=
"x in props.value"
>
<div
v-for=
"(x,gIndex) in props.value"
:key=
"gIndex"
>
<div
<div
class=
"border-bottom"
style=
"padding-left: 16px"
:class=
"
{ 'text-red': x.EduCommissionType == 1 }"
class=
"border-bottom"
v-if="x.PriceDiscountType != 0">
style=
"padding-left: 16px"
:class=
"
{ 'text-red': x.EduCommissionType == 1 }"
v-if="x.PriceDiscountType != 0"
>
{{
x
.
EduCommissionType
==
1
?
"¥"
:
""
{{
x
.
EduCommissionType
==
1
?
"¥"
:
""
}}{{
x
.
EduCommissionMoney
}}{{
x
.
EduCommissionMoney
}}{{
x
.
EduCommissionType
==
0
?
"%"
:
""
}}
}}{{
x
.
EduCommissionType
==
0
?
"%"
:
""
}}
...
@@ -297,19 +205,12 @@
...
@@ -297,19 +205,12 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-plat=
"props"
>
<
template
v-slot:body-cell-plat=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<q-badge
<q-badge
color=
"green"
label=
"小程序"
v-if=
"props.row.Saleplat.includes(4)"
/>
color=
"green"
label=
"小程序"
v-if=
"props.row.Saleplat.includes(4)"
/>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-Status=
"props"
>
<
template
v-slot:body-cell-Status=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<q-badge
<q-badge
:color=
"props.value == 1 ? 'negative' : 'primary'"
:label=
"props.value == 0 ? '正常' : '删除'"
/>
:color=
"props.value == 1 ? 'negative' : 'primary'"
:label=
"props.value == 0 ? '正常' : '删除'"
/>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-IsScrollClass=
"props"
>
<
template
v-slot:body-cell-IsScrollClass=
"props"
>
...
@@ -317,61 +218,31 @@
...
@@ -317,61 +218,31 @@
<span>
{{
props
.
row
.
IsScrollClass
==
0
?
"否"
:
"是"
}}
</span>
<span>
{{
props
.
row
.
IsScrollClass
==
0
?
"否"
:
"是"
}}
</span>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-ClassHours=
"props"
>
<q-td
:props=
"props"
>
<span>
总
课
时:
{{
props
.
row
.
ClassHours
}}
</span><br
/>
<span>
中教课时:
{{
props
.
row
.
ChineseHours
}}
</span><br
/>
<span>
外教课时:
{{
props
.
row
.
ForeignHours
}}
</span>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<
template
v-slot:bottom
>
<q-pagination
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
class=
"full-width justify-end"
:input=
"true"
@
input=
"changePage"
/>
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<q-btn
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"编辑"
flat
@
click=
"EditCourse(props.row, 1)"
/>
size=
"xs"
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"价格设置"
icon=
"edit"
@
click=
"EditCourse(props.row, 2)"
v-if=
"isHavePriceAction"
/>
color=
"accent"
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left: 10px"
>
style=
"font-weight: 400"
label=
"编辑"
@
click=
"EditCourse(props.row, 1)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight: 400"
label=
"价格设置"
@
click=
"EditCourse(props.row, 2)"
v-if=
"isHavePriceAction"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left: 10px"
>
<q-list>
<q-list>
<q-item
<q-item
clickable
v-close-popup
@
click=
"DeleteCourse(props.row, 1)"
v-if=
"props.row.Status == 0"
>
clickable
v-close-popup
@
click=
"DeleteCourse(props.row, 1)"
v-if=
"props.row.Status == 0"
>
<q-item-section>
<q-item-section>
<q-item-label>
删除
</q-item-label>
<q-item-label>
删除
</q-item-label>
</q-item-section>
</q-item-section>
</q-item>
</q-item>
<q-item
<q-item
clickable
v-close-popup
@
click=
"DeleteCourse(props.row, 0)"
v-if=
"props.row.Status == 1"
>
clickable
v-close-popup
@
click=
"DeleteCourse(props.row, 0)"
v-if=
"props.row.Status == 1"
>
<q-item-section>
<q-item-section>
<q-item-label>
恢复
</q-item-label>
<q-item-label>
恢复
</q-item-label>
</q-item-section>
</q-item-section>
...
@@ -381,20 +252,12 @@
...
@@ -381,20 +252,12 @@
<q-item-label>
课程详情
</q-item-label>
<q-item-label>
课程详情
</q-item-label>
</q-item-section>
</q-item-section>
</q-item>
</q-item>
<q-item
<q-item
clickable
v-close-popup
@
click=
"goMyroster(props.row, 1)"
>
clickable
v-close-popup
@
click=
"goMyroster(props.row, 1)"
>
<q-item-section>
<q-item-section>
<q-item-label>
学员名单
</q-item-label>
<q-item-label>
学员名单
</q-item-label>
</q-item-section>
</q-item-section>
</q-item>
</q-item>
<q-item
<q-item
clickable
v-close-popup
@
click=
"goMyroster(props.row, 2)"
>
clickable
v-close-popup
@
click=
"goMyroster(props.row, 2)"
>
<q-item-section>
<q-item-section>
<q-item-label>
学员订单
</q-item-label>
<q-item-label>
学员订单
</q-item-label>
</q-item-section>
</q-item-section>
...
@@ -404,507 +267,501 @@
...
@@ -404,507 +267,501 @@
</q-td>
</q-td>
</
template
>
</
template
>
</q-table>
</q-table>
<course-form
<course-form
v-if=
"isShowCourseForm"
:save-obj=
"courseObjOption"
@
close=
"closeMenuSaveForm"
v-if=
"isShowCourseForm"
@
success=
"refreshPage"
>
:save-obj=
"courseObjOption"
@
close=
"closeMenuSaveForm"
@
success=
"refreshPage"
>
</course-form>
</course-form>
<courseprice-form
<courseprice-form
v-if=
"isShowCoursePriceForm"
:save-obj=
"courseObjOption"
@
close=
"closeMenuSaveForm"
v-if=
"isShowCoursePriceForm"
@
success=
"refreshPage"
>
:save-obj=
"courseObjOption"
@
close=
"closeMenuSaveForm"
@
success=
"refreshPage"
>
</courseprice-form>
</courseprice-form>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
queryCoursePage
,
queryCoursePage
,
queryCourseCategoryTree
,
queryCourseCategoryTree
,
deleteCourseInfo
,
deleteCourseInfo
,
querySaleplatList
,
querySaleplatList
,
getCourseSubject
getCourseSubject
}
from
"../../api/course/index"
;
}
from
"../../api/course/index"
;
import
courseForm
from
"../../components/course/course-form"
;
import
courseForm
from
"../../components/course/course-form"
;
import
coursepriceForm
from
"../../components/course/courseprice-form"
;
import
coursepriceForm
from
"../../components/course/courseprice-form"
;
import
selectTree
from
"../../components/common/select-tree"
;
import
selectTree
from
"../../components/common/select-tree"
;
import
{
openURL
}
from
"quasar"
;
import
{
import
{
mapState
}
from
"vuex"
;
openURL
export
default
{
}
from
"quasar"
;
meta
:
{
import
{
title
:
"课程管理"
mapState
},
}
from
"vuex"
;
components
:
{
export
default
{
courseForm
,
meta
:
{
selectTree
,
title
:
"课程管理"
coursepriceForm
},
},
components
:
{
data
()
{
courseForm
,
return
{
selectTree
,
currentUrl
:
""
,
coursepriceForm
columns
:
[
},
{
data
()
{
name
:
"CoverImg"
,
return
{
label
:
"课程封面"
,
currentUrl
:
""
,
field
:
"CoverImg"
,
columns
:
[{
align
:
"left"
name
:
"CoverImg"
,
},
label
:
"课程封面"
,
{
field
:
"CoverImg"
,
name
:
"CourseName"
,
align
:
"left"
required
:
true
,
},
label
:
"课程名称"
,
{
align
:
"left"
,
name
:
"CourseName"
,
field
:
row
=>
row
.
CourseName
required
:
true
,
},
label
:
"课程名称"
,
{
align
:
"left"
,
name
:
"OpenBankLevelNameList"
,
field
:
row
=>
row
.
CourseName
label
:
"课程关联题库"
,
},
field
:
"OpenBankLevelNameList"
,
{
align
:
"left"
name
:
"OpenBankLevelNameList"
,
},
label
:
"课程关联题库"
,
{
field
:
"OpenBankLevelNameList"
,
name
:
"CourseSubjectName"
,
align
:
"left"
required
:
true
,
},
label
:
"所属科目"
,
{
align
:
"left"
,
name
:
"CourseSubjectName"
,
field
:
row
=>
row
.
CourseSubjectName
required
:
true
,
},
label
:
"所属科目"
,
{
align
:
"left"
,
name
:
"CateName"
,
field
:
row
=>
row
.
CourseSubjectName
required
:
true
,
},
label
:
"系列"
,
{
align
:
"left"
,
name
:
"CateName"
,
field
:
row
=>
row
.
CateName
required
:
true
,
},
label
:
"系列"
,
{
align
:
"left"
,
name
:
"GuestNum"
,
field
:
row
=>
row
.
CateName
label
:
"学员数量"
,
},
align
:
"left"
,
{
field
:
"GuestNum"
,
name
:
"GuestNum"
,
sortable
:
true
,
label
:
"学员数量"
,
sort
:
(
a
,
b
,
rowA
,
rowB
)
=>
parseInt
(
a
,
10
)
-
parseInt
(
b
,
10
)
align
:
"left"
,
},
field
:
"GuestNum"
,
{
sortable
:
true
,
name
:
"OrderNum"
,
sort
:
(
a
,
b
,
rowA
,
rowB
)
=>
parseInt
(
a
,
10
)
-
parseInt
(
b
,
10
)
label
:
"订单数量"
,
},
align
:
"left"
,
{
field
:
"OrderNum"
,
name
:
"OrderNum"
,
sortable
:
true
,
label
:
"订单数量"
,
sort
:
(
a
,
b
,
rowA
,
rowB
)
=>
parseInt
(
a
,
10
)
-
parseInt
(
b
,
10
)
align
:
"left"
,
},
field
:
"OrderNum"
,
{
sortable
:
true
,
name
:
"SellPrice"
,
sort
:
(
a
,
b
,
rowA
,
rowB
)
=>
parseInt
(
a
,
10
)
-
parseInt
(
b
,
10
)
required
:
true
,
},
label
:
"直客价"
,
{
align
:
"left"
,
name
:
"SellPrice"
,
field
:
row
=>
row
.
SellPrice
.
toFixed
(
2
)
required
:
true
,
},
label
:
"直客价"
,
{
align
:
"left"
,
name
:
"B2CRatio"
,
field
:
row
=>
row
.
SellPrice
.
toFixed
(
2
)
required
:
true
,
},
label
:
"直客优惠比例"
,
{
align
:
"left"
,
name
:
"B2CRatio"
,
field
:
row
=>
row
.
B2CRatio
required
:
true
,
},
label
:
"直客优惠比例"
,
{
align
:
"left"
,
name
:
"B2CReNewRatio"
,
field
:
row
=>
row
.
B2CRatio
required
:
true
,
},
label
:
"直客优惠续费比例"
,
{
align
:
"left"
,
name
:
"B2CReNewRatio"
,
field
:
row
=>
row
.
B2CReNewRatio
required
:
true
,
},
label
:
"直客优惠续费比例"
,
{
align
:
"left"
,
name
:
"B2BRebateRatio"
,
field
:
row
=>
row
.
B2CReNewRatio
required
:
true
,
},
label
:
"一般同行返佣"
,
{
align
:
"left"
,
name
:
"B2BRebateRatio"
,
field
:
row
=>
row
.
B2BRebateRatio
required
:
true
,
},
label
:
"一般同行返佣"
,
{
align
:
"left"
,
name
:
"B2BReNewRatio"
,
field
:
row
=>
row
.
B2BRebateRatio
required
:
true
,
},
label
:
"一般同行续费返佣"
,
{
align
:
"left"
,
name
:
"B2BReNewRatio"
,
field
:
row
=>
row
.
B2BReNewRatio
required
:
true
,
},
label
:
"一般同行续费返佣"
,
{
align
:
"left"
,
name
:
"SchoolRebateRatio"
,
field
:
row
=>
row
.
B2BReNewRatio
required
:
true
,
},
label
:
"校园同行返佣"
,
{
align
:
"left"
,
name
:
"SchoolRebateRatio"
,
field
:
row
=>
row
.
SchoolRebateRatio
required
:
true
,
},
label
:
"校园同行返佣"
,
{
align
:
"left"
,
name
:
"SchoolReNewRatio"
,
field
:
row
=>
row
.
SchoolRebateRatio
required
:
true
,
},
label
:
"校园同行续费返佣"
,
{
align
:
"left"
,
name
:
"SchoolReNewRatio"
,
field
:
row
=>
row
.
SchoolReNewRatio
required
:
true
,
},
label
:
"校园同行续费返佣"
,
{
align
:
"left"
,
name
:
"TransIntroductceRatio"
,
field
:
row
=>
row
.
SchoolReNewRatio
required
:
true
,
},
label
:
"转介返佣"
,
{
align
:
"left"
,
name
:
"TransIntroductceRatio"
,
field
:
row
=>
row
.
TransIntroductceRatio
required
:
true
,
},
label
:
"转介返佣"
,
{
align
:
"left"
,
name
:
"TransIntroductceReNewRatio"
,
field
:
row
=>
row
.
TransIntroductceRatio
required
:
true
,
},
label
:
"转介续费返佣"
,
{
align
:
"left"
,
name
:
"TransIntroductceReNewRatio"
,
field
:
row
=>
row
.
TransIntroductceReNewRatio
required
:
true
,
},
label
:
"转介续费返佣"
,
{
align
:
"left"
,
name
:
"InnerRecommendRatio"
,
field
:
row
=>
row
.
TransIntroductceReNewRatio
required
:
true
,
},
label
:
"内推返佣"
,
{
align
:
"left"
,
name
:
"InnerRecommendRatio"
,
field
:
row
=>
row
.
InnerRecommendRatio
required
:
true
,
},
label
:
"内推返佣"
,
{
align
:
"left"
,
name
:
"InnerRecommendReNewRatio"
,
field
:
row
=>
row
.
InnerRecommendRatio
required
:
true
,
},
label
:
"内推续费返佣"
,
{
align
:
"left"
,
name
:
"InnerRecommendReNewRatio"
,
field
:
row
=>
row
.
InnerRecommendReNewRatio
required
:
true
,
},
label
:
"内推续费返佣"
,
{
align
:
"left"
,
name
:
"B2CRbRatio"
,
field
:
row
=>
row
.
InnerRecommendReNewRatio
required
:
true
,
},
label
:
"直客返佣"
,
{
align
:
"left"
,
name
:
"B2CRbRatio"
,
field
:
row
=>
row
.
B2CRbRatio
required
:
true
,
},
label
:
"直客返佣"
,
{
align
:
"left"
,
name
:
"B2CRNRatio"
,
field
:
row
=>
row
.
B2CRbRatio
required
:
true
,
},
label
:
"直客续费返佣"
,
{
align
:
"left"
,
name
:
"B2CRNRatio"
,
field
:
row
=>
row
.
B2CRNRatio
required
:
true
,
},
label
:
"直客续费返佣"
,
align
:
"left"
,
field
:
row
=>
row
.
B2CRNRatio
},
// {
// {
// name: "PreferentialList",
// name: "PreferentialList",
// required: true,
// required: true,
// label: "优惠政策",
// label: "优惠政策",
// align: "left",
// align: "left",
// field: (row) => row.PreferentialList,
// field: (row) => row.PreferentialList,
// },
// },
// {
// {
// name: "PreferentialListSellCommission",
// name: "PreferentialListSellCommission",
// required: true,
// required: true,
// label: "销售佣金",
// label: "销售佣金",
// align: "left",
// align: "left",
// field: (row) => row.PreferentialList,
// field: (row) => row.PreferentialList,
// },
// },
// {
// {
// name: "PreferentialListB2BCommission",
// name: "PreferentialListB2BCommission",
// required: true,
// required: true,
// label: "同行佣金",
// label: "同行佣金",
// align: "left",
// align: "left",
// field: (row) => row.PreferentialList,
// field: (row) => row.PreferentialList,
// },
// },
// {
// {
// name: "EducationCommission",
// name: "EducationCommission",
// required: true,
// required: true,
// label: "教育同行佣金",
// label: "教育同行佣金",
// align: "left",
// align: "left",
// field: (row) => row.PreferentialList,
// field: (row) => row.PreferentialList,
// },
// },
{
{
name
:
"ClassHours"
,
name
:
"ClassHours"
,
label
:
"课时长度"
,
label
:
"课时长度"
,
field
:
"ClassHours"
,
field
:
"ClassHours"
,
align
:
"left"
,
align
:
"left"
,
format
:
(
val
,
row
)
=>
`
${
val
}
课时`
},
},
{
{
name
:
"plat"
,
name
:
"plat"
,
label
:
"上架渠道"
,
label
:
"上架渠道"
,
field
:
"plat"
,
field
:
"plat"
,
align
:
"left"
align
:
"left"
},
},
{
{
name
:
"CreateByName"
,
name
:
"CreateByName"
,
label
:
"创建人"
,
label
:
"创建人"
,
field
:
"CreateByName"
,
field
:
"CreateByName"
,
align
:
"left"
align
:
"left"
},
},
{
{
name
:
"UpdateTimeStr"
,
name
:
"UpdateTimeStr"
,
label
:
"更新时间"
,
label
:
"更新时间"
,
field
:
"UpdateTimeStr"
,
field
:
"UpdateTimeStr"
,
align
:
"left"
align
:
"left"
},
},
{
{
name
:
"Status"
,
name
:
"Status"
,
label
:
"状态"
,
label
:
"状态"
,
align
:
"left"
,
align
:
"left"
,
field
:
"Status"
field
:
"Status"
},
},
{
{
name
:
"IsScrollClass"
,
name
:
"IsScrollClass"
,
label
:
"是否开启滚动开班"
,
label
:
"是否开启滚动开班"
,
align
:
"left"
,
align
:
"left"
,
field
:
"IsScrollClass"
field
:
"IsScrollClass"
},
},
{
{
name
:
"ScrollMinNum"
,
name
:
"ScrollMinNum"
,
label
:
"最小上课人数"
,
label
:
"最小上课人数"
,
align
:
"left"
,
align
:
"left"
,
field
:
"ScrollMinNum"
field
:
"ScrollMinNum"
},
},
{
{
name
:
"ScrollMaxNum"
,
name
:
"ScrollMaxNum"
,
label
:
"最大上课人数"
,
label
:
"最大上课人数"
,
align
:
"left"
,
align
:
"left"
,
field
:
"ScrollMaxNum"
field
:
"ScrollMaxNum"
},
},
{
{
name
:
"optioned"
,
name
:
"optioned"
,
label
:
"操作"
,
label
:
"操作"
,
field
:
"CourseId"
field
:
"CourseId"
}
],
data
:
[],
loading
:
true
,
ShowOpts
:
[
{
label
:
"全部"
,
value
:
"-1"
},
{
label
:
"正常"
,
value
:
"0"
},
{
label
:
"删除"
,
value
:
"1"
}
],
platOpts
:
[],
//上架渠道
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
rowsPerPage
:
12
,
CourseName
:
""
,
QCateIds
:
""
,
IsQPrice
:
1
,
Status
:
"0"
,
Saleplat
:
0
,
CourseSubject
:
""
//所属科目
},
//课程分类树形列表
TreeCategoryList
:
[],
returnString
:
[],
//默认值
pageCount
:
0
,
isShowCourseForm
:
false
,
//是否显示课程表单
isShowCoursePriceForm
:
false
,
//是否显示课程价格表单
courseObjOption
:
null
,
//课程对象
isShowPriceEditBtn
:
1
,
//是否显示价格设置
CourseSubjectList
:
[]
//科目列表
};
},
computed
:
mapState
({
isHavePriceAction
(
state
)
{
if
(
state
.
user
.
userInfo
&&
state
.
user
.
userInfo
.
ActionMenuList
&&
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
)
{
let
action
=
state
.
user
.
userInfo
.
ActionMenuList
.
find
(
x
=>
{
if
(
x
.
FunctionCode
==
"Edit_CoursePrice"
)
{
return
x
;
}
}
});
],
return
action
&&
action
.
FunctionCode
;
data
:
[],
}
loading
:
true
,
return
false
;
ShowOpts
:
[{
}
label
:
"全部"
,
}),
value
:
"-1"
mounted
()
{
},
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
Name
)
{
{
//从订单完成统计跳转过来的带的参数
label
:
"正常"
,
this
.
msg
.
CourseName
=
decodeURI
(
this
.
$route
.
query
.
Name
);
value
:
"0"
}
},
this
.
queryCourseSubject
();
{
this
.
getSaleplat
();
label
:
"删除"
,
this
.
getCategorytree
();
value
:
"1"
this
.
currentUrl
=
this
.
$route
.
path
;
}
this
.
getcourselist
();
],
},
platOpts
:
[],
//上架渠道
methods
:
{
msg
:
{
queryCourseSubject
()
{
pageIndex
:
1
,
getCourseSubject
({}).
then
(
res
=>
{
pageSize
:
12
,
if
(
res
.
Code
==
1
)
{
rowsPerPage
:
12
,
this
.
CourseSubjectList
=
res
.
Data
;
CourseName
:
""
,
}
QCateIds
:
""
,
});
IsQPrice
:
1
,
},
Status
:
"0"
,
//删除课程
Saleplat
:
0
,
DeleteCourse
(
item
,
status
)
{
CourseSubject
:
""
//所属科目
let
delMsg
=
{
},
CourseId
:
item
.
CourseId
,
//课程分类树形列表
Status
:
status
TreeCategoryList
:
[],
returnString
:
[],
//默认值
pageCount
:
0
,
isShowCourseForm
:
false
,
//是否显示课程表单
isShowCoursePriceForm
:
false
,
//是否显示课程价格表单
courseObjOption
:
null
,
//课程对象
isShowPriceEditBtn
:
1
,
//是否显示价格设置
CourseSubjectList
:
[]
//科目列表
};
};
var
message
=
"是否要删除该课程?"
;
},
if
(
status
==
0
)
{
computed
:
mapState
({
message
=
"是否要恢复该课程?"
;
isHavePriceAction
(
state
)
{
}
if
(
this
.
$q
state
.
user
.
userInfo
&&
.
dialog
({
state
.
user
.
userInfo
.
ActionMenuList
&&
title
:
"提示信息"
,
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
message
:
message
,
)
{
cancel
:
true
,
let
action
=
state
.
user
.
userInfo
.
ActionMenuList
.
find
(
x
=>
{
persistent
:
true
,
if
(
x
.
FunctionCode
==
"Edit_CoursePrice"
)
{
ok
:
"确定"
,
return
x
;
cancel
:
"取消"
})
.
onOk
(()
=>
{
deleteCourseInfo
(
delMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
"iconfont icon-chenggong"
,
color
:
"accent"
,
timeout
:
2000
,
message
:
"删除成功!"
,
position
:
"top"
});
this
.
getcourselist
();
}
else
{
this
.
$q
.
notify
({
icon
:
"iconfont icon-chenggong"
,
color
:
"accent"
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
"top"
});
}
}
});
});
})
return
action
&&
action
.
FunctionCode
;
.
onCancel
(()
=>
{});
}
},
return
false
;
gotoSub
(
obj
,
routeStr
)
{
var
tempStr
=
"/course/"
+
routeStr
+
"?CourseId="
+
obj
.
CourseId
;
this
.
$router
.
push
({
path
:
tempStr
});
},
//分类改变
getChild
(
cateObj
)
{
var
tempStr
=
""
;
if
(
cateObj
&&
cateObj
!=
""
)
{
tempStr
=
cateObj
;
}
this
.
msg
.
QCateIds
=
tempStr
;
this
.
msg
.
pageIndex
=
1
;
this
.
getcourselist
();
},
getCategorytree
()
{
this
.
TreeCategoryList
=
[];
var
qMsg
=
{};
queryCourseCategoryTree
(
qMsg
).
then
(
res
=>
{
this
.
TreeCategoryList
=
res
.
Data
;
});
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getcourselist
();
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getcourselist
();
},
//获取菜单分页列表
getcourselist
()
{
this
.
loading
=
true
;
queryCoursePage
(
this
.
msg
)
.
then
(
res
=>
{
this
.
loading
=
false
;
this
.
data
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
})
.
catch
(()
=>
{
this
.
loading
=
false
;
});
},
//刷新页面
refreshPage
()
{
this
.
isShowCourseForm
=
false
;
this
.
isShowCoursePriceForm
=
false
;
this
.
getcourselist
();
},
//新增修改课程及价格
EditCourse
(
obj
,
type
)
{
if
(
obj
)
{
this
.
courseObjOption
=
obj
;
}
else
{
this
.
courseObjOption
=
null
;
}
}
if
(
type
==
1
)
{
}),
this
.
isShowCourseForm
=
true
;
mounted
()
{
}
else
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
Name
)
{
this
.
isShowCoursePriceForm
=
true
;
//从订单完成统计跳转过来的带的参数
this
.
msg
.
CourseName
=
decodeURI
(
this
.
$route
.
query
.
Name
);
}
}
this
.
queryCourseSubject
();
this
.
getSaleplat
();
this
.
getCategorytree
();
this
.
currentUrl
=
this
.
$route
.
path
;
this
.
getcourselist
();
},
},
//关闭弹窗
methods
:
{
closeMenuSaveForm
()
{
queryCourseSubject
()
{
this
.
isShowCourseForm
=
false
;
getCourseSubject
({}).
then
(
res
=>
{
this
.
isShowCoursePriceForm
=
false
;
if
(
res
.
Code
==
1
)
{
},
this
.
CourseSubjectList
=
res
.
Data
;
//跳转至我的课程
}
goMycourse
(
obj
)
{
var
tempStr
=
window
.
location
.
origin
+
"/#/course/courseinfo?CourseId="
+
obj
.
CourseId
;
openURL
(
tempStr
);
},
//获取销售端口列表
getSaleplat
()
{
querySaleplatList
().
then
(
res
=>
{
this
.
platOpts
=
res
.
Data
;
this
.
platOpts
.
unshift
({
Name
:
"不限"
,
Id
:
0
});
});
});
},
},
//删除课程
goMyroster
(
row
,
type
)
{
DeleteCourse
(
item
,
status
)
{
//type 1 是学员名单 2 学员订单
let
delMsg
=
{
if
(
type
==
1
)
{
CourseId
:
item
.
CourseId
,
const
obj
=
{
Status
:
status
CourseId
:
row
.
CourseId
,
CourseName
:
encodeURIComponent
(
row
.
CourseName
),
source
:
1
};
this
.
OpenNewUrl
(
"/stuMan/stuList"
,
obj
);
}
else
if
(
type
==
2
)
{
const
obj
=
{
CourseId
:
row
.
CourseId
,
CourseName
:
encodeURIComponent
(
row
.
CourseName
),
source
:
1
};
};
this
.
OpenNewUrl
(
"/sale/orderStatistics"
,
obj
);
var
message
=
"是否要删除该课程?"
;
if
(
status
==
0
)
{
message
=
"是否要恢复该课程?"
;
}
this
.
$q
.
dialog
({
title
:
"提示信息"
,
message
:
message
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
})
.
onOk
(()
=>
{
deleteCourseInfo
(
delMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
"iconfont icon-chenggong"
,
color
:
"accent"
,
timeout
:
2000
,
message
:
"删除成功!"
,
position
:
"top"
});
this
.
getcourselist
();
}
else
{
this
.
$q
.
notify
({
icon
:
"iconfont icon-chenggong"
,
color
:
"accent"
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
"top"
});
}
});
})
.
onCancel
(()
=>
{});
},
gotoSub
(
obj
,
routeStr
)
{
var
tempStr
=
"/course/"
+
routeStr
+
"?CourseId="
+
obj
.
CourseId
;
this
.
$router
.
push
({
path
:
tempStr
});
},
//分类改变
getChild
(
cateObj
)
{
var
tempStr
=
""
;
if
(
cateObj
&&
cateObj
!=
""
)
{
tempStr
=
cateObj
;
}
this
.
msg
.
QCateIds
=
tempStr
;
this
.
msg
.
pageIndex
=
1
;
this
.
getcourselist
();
},
getCategorytree
()
{
this
.
TreeCategoryList
=
[];
var
qMsg
=
{};
queryCourseCategoryTree
(
qMsg
).
then
(
res
=>
{
this
.
TreeCategoryList
=
res
.
Data
;
});
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getcourselist
();
},
//翻页
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getcourselist
();
},
//获取菜单分页列表
getcourselist
()
{
this
.
loading
=
true
;
queryCoursePage
(
this
.
msg
)
.
then
(
res
=>
{
this
.
loading
=
false
;
this
.
data
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
})
.
catch
(()
=>
{
this
.
loading
=
false
;
});
},
//刷新页面
refreshPage
()
{
this
.
isShowCourseForm
=
false
;
this
.
isShowCoursePriceForm
=
false
;
this
.
getcourselist
();
},
//新增修改课程及价格
EditCourse
(
obj
,
type
)
{
if
(
obj
)
{
this
.
courseObjOption
=
obj
;
}
else
{
this
.
courseObjOption
=
null
;
}
if
(
type
==
1
)
{
this
.
isShowCourseForm
=
true
;
}
else
{
this
.
isShowCoursePriceForm
=
true
;
}
},
//关闭弹窗
closeMenuSaveForm
()
{
this
.
isShowCourseForm
=
false
;
this
.
isShowCoursePriceForm
=
false
;
},
//跳转至我的课程
goMycourse
(
obj
)
{
var
tempStr
=
window
.
location
.
origin
+
"/#/course/courseinfo?CourseId="
+
obj
.
CourseId
;
openURL
(
tempStr
);
},
//获取销售端口列表
getSaleplat
()
{
querySaleplatList
().
then
(
res
=>
{
this
.
platOpts
=
res
.
Data
;
this
.
platOpts
.
unshift
({
Name
:
"不限"
,
Id
:
0
});
});
},
goMyroster
(
row
,
type
)
{
//type 1 是学员名单 2 学员订单
if
(
type
==
1
)
{
const
obj
=
{
CourseId
:
row
.
CourseId
,
CourseName
:
encodeURIComponent
(
row
.
CourseName
),
source
:
1
};
this
.
OpenNewUrl
(
"/stuMan/stuList"
,
obj
);
}
else
if
(
type
==
2
)
{
const
obj
=
{
CourseId
:
row
.
CourseId
,
CourseName
:
encodeURIComponent
(
row
.
CourseName
),
source
:
1
};
this
.
OpenNewUrl
(
"/sale/orderStatistics"
,
obj
);
}
}
}
}
}
}
};
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.border-bottom
{
.border-bottom
{
border-bottom
:
1px
dashed
#eee
;
border-bottom
:
1px
dashed
#eee
;
padding-bottom
:
5px
;
padding-bottom
:
5px
;
margin-bottom
:
5px
;
margin-bottom
:
5px
;
}
}
</
style
>
</
style
>
<
style
lang=
"sass"
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.sass')
</
style
>
</
style
>
\ No newline at end of file
src/pages/course/lessonNotes.vue
View file @
48896a1f
...
@@ -95,6 +95,13 @@
...
@@ -95,6 +95,13 @@
</div>
</div>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-ClassHours=
"props"
>
<q-td
:props=
"props"
>
<span>
总
课
时:
{{
props
.
row
.
ClassHours
}}
</span><br
/>
<span>
中教课时:
{{
props
.
row
.
ChineseHours
}}
</span><br
/>
<span>
外教课时:
{{
props
.
row
.
ForeignHours
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-Status=
"props"
>
<
template
v-slot:body-cell-Status=
"props"
>
<q-td
:props=
"props"
>
<q-td
:props=
"props"
>
<q-badge
:color=
"props.value == 1 ? 'negative' : 'primary'"
:label=
"props.value == 0 ? '正常' : '删除'"
/>
<q-badge
:color=
"props.value == 1 ? 'negative' : 'primary'"
:label=
"props.value == 0 ? '正常' : '删除'"
/>
...
@@ -170,7 +177,6 @@
...
@@ -170,7 +177,6 @@
label
:
"课时长度"
,
label
:
"课时长度"
,
field
:
"ClassHours"
,
field
:
"ClassHours"
,
align
:
"left"
,
align
:
"left"
,
format
:
(
val
,
row
)
=>
`
${
val
}
课时`
},
},
{
{
name
:
"UpdateTimeStr"
,
name
:
"UpdateTimeStr"
,
...
...
src/pages/sale/courseList.vue
View file @
48896a1f
...
@@ -109,7 +109,6 @@
...
@@ -109,7 +109,6 @@
line-height
:
25px
;
line-height
:
25px
;
background-color
:
#004d40
;
background-color
:
#004d40
;
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"page-body courseList"
>
<div
class=
"page-body courseList"
>
...
@@ -117,8 +116,8 @@
...
@@ -117,8 +116,8 @@
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
v-model=
"msg.CourseSubject"
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
v-model=
"msg.CourseSubject"
:options=
"CourseSubjectList"
option-label=
"SubjectName"
option-value=
"Id"
emit-value
map-options
label=
"所属科目"
:options=
"CourseSubjectList"
option-label=
"SubjectName"
option-value=
"Id"
emit-value
map-options
clearable
/>
label=
"所属科目"
clearable
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.CourseName"
label=
"课程名称"
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.CourseName"
label=
"课程名称"
...
@@ -136,11 +135,6 @@
...
@@ -136,11 +135,6 @@
<!--
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"创建报价单"
@
click=
"createQuotation"
/>
-->
<!--
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"创建报价单"
@
click=
"createQuotation"
/>
-->
</div>
</div>
</
template
>
</
template
>
<!-- <template v-slot:body-cell-OpenBankLevelNameList="props">
<q-td auto-width :props="props">
<span v-for="item in props.row.OpenBankLevelNameList">{{item}}</span>
</q-td>
</template> -->
<
template
v-slot:body=
"props"
>
<
template
v-slot:body=
"props"
>
<q-tr
:props=
"props"
>
<q-tr
:props=
"props"
>
<q-td
auto-width
>
<q-td
auto-width
>
...
@@ -154,7 +148,7 @@
...
@@ -154,7 +148,7 @@
</q-img>
</q-img>
</q-td>
</q-td>
<q-td
v-else-if=
"col.name=='OpenBankLevelNameList'"
:key=
"col.name"
>
<q-td
v-else-if=
"col.name=='OpenBankLevelNameList'"
:key=
"col.name"
>
<span
style=
"margin-right:10px;"
v-for=
"
x in col.value
"
>
{{
x
}}
</span>
<span
style=
"margin-right:10px;"
v-for=
"
(x,index) in col.value"
:key=
"index
"
>
{{
x
}}
</span>
</q-td>
</q-td>
<q-td
v-else-if=
"col.name == 'PreferentialList'"
style=
"padding-right:0px"
:key=
"col.name"
>
<q-td
v-else-if=
"col.name == 'PreferentialList'"
style=
"padding-right:0px"
:key=
"col.name"
>
<div
v-for=
"(x,index) in col.value"
:key=
"index"
>
<div
v-for=
"(x,index) in col.value"
:key=
"index"
>
...
@@ -193,7 +187,8 @@
...
@@ -193,7 +187,8 @@
<div
class=
"remark-font"
>
暂无优惠政策
</div>
<div
class=
"remark-font"
>
暂无优惠政策
</div>
</div>
</div>
</q-td>
</q-td>
<q-td
v-else-if=
"col.name == 'PreferentialListSellCommission'"
style=
"padding-right:0px;padding-left:0px"
:key=
"col.name"
>
<q-td
v-else-if=
"col.name == 'PreferentialListSellCommission'"
style=
"padding-right:0px;padding-left:0px"
:key=
"col.name"
>
<div
v-for=
"(x,index) in col.value"
:key=
"index"
>
<div
v-for=
"(x,index) in col.value"
:key=
"index"
>
<div
class=
"border-bottom"
style=
"padding-left: 16px;padding-right: 16px"
<div
class=
"border-bottom"
style=
"padding-left: 16px;padding-right: 16px"
:class=
"{'text-red':x.SaleCommissionType==1}"
v-if=
"x.PriceDiscountType!=0"
>
:class=
"{'text-red':x.SaleCommissionType==1}"
v-if=
"x.PriceDiscountType!=0"
>
...
@@ -211,7 +206,6 @@
...
@@ -211,7 +206,6 @@
<div
class=
"border-bottom"
style=
"padding-left: 16px"
:class=
"{'text-red':x.B2BCommissionType==1}"
<div
class=
"border-bottom"
style=
"padding-left: 16px"
:class=
"{'text-red':x.B2BCommissionType==1}"
v-if=
"x.PriceDiscountType!=0"
>
v-if=
"x.PriceDiscountType!=0"
>
{{x.B2BCommissionType==1?'¥':''}}{{x.B2BCommissionMoney}}{{x.B2BCommissionType==0?'%':''}}
</div>
{{x.B2BCommissionType==1?'¥':''}}{{x.B2BCommissionMoney}}{{x.B2BCommissionType==0?'%':''}}
</div>
<div
v-if=
"x.PriceDiscountType == 0"
>
<div
v-if=
"x.PriceDiscountType == 0"
>
<div
class=
"remark-font"
>
暂无佣金信息
</div>
<div
class=
"remark-font"
>
暂无佣金信息
</div>
</div>
</div>
...
@@ -226,7 +220,7 @@
...
@@ -226,7 +220,7 @@
<q-td
v-else-if=
"col.name == 'B2CReNewRatio' "
style=
"padding-left:0px"
:key=
"col.name"
>
<q-td
v-else-if=
"col.name == 'B2CReNewRatio' "
style=
"padding-left:0px"
:key=
"col.name"
>
{{col.value}}%
{{col.value}}%
</q-td>
</q-td>
<q-td
v-else-if=
"col.name == 'CommissionReType' "
style=
"padding-left:0px"
:key=
"col.name"
>
<q-td
v-else-if=
"col.name == 'CommissionReType' "
style=
"padding-left:0px"
:key=
"col.name"
>
<span
v-if=
"col.value==1"
>
比例返佣
</span>
<span
v-if=
"col.value==1"
>
比例返佣
</span>
<span
v-if=
"col.value==2"
>
固定金额
</span>
<span
v-if=
"col.value==2"
>
固定金额
</span>
</q-td>
</q-td>
...
@@ -265,6 +259,12 @@
...
@@ -265,6 +259,12 @@
</q-chip>
</q-chip>
</div>
</div>
</q-td>
</q-td>
<q-td
v-else-if=
"col.name=='ClassHours'"
:key=
"col.name"
>
<span>
总
课
时:{{ props.row.ClassHours }}
</span><br
/>
<span>
中教课时:{{ props.row.ChineseHours }}
</span><br
/>
<span>
外教课时:{{ props.row.ForeignHours }}
</span>
</q-td>
<q-td
v-else-if=
"col.name=='CourseIntro'"
:key=
"col.name"
>
<q-td
v-else-if=
"col.name=='CourseIntro'"
:key=
"col.name"
>
<q-btn
flat
color=
"primary"
label=
"查看详情"
@
click=
"showContentDialog(col.value)"
/>
<q-btn
flat
color=
"primary"
label=
"查看详情"
@
click=
"showContentDialog(col.value)"
/>
</q-td>
</q-td>
...
@@ -311,7 +311,9 @@
...
@@ -311,7 +311,9 @@
getCourseSubject
getCourseSubject
}
from
"../../api/course/index"
;
}
from
"../../api/course/index"
;
import
quotationForm
from
'../../components/sale/quotation-form'
import
quotationForm
from
'../../components/sale/quotation-form'
import
{
mapState
}
from
"vuex"
;
import
{
mapState
}
from
"vuex"
;
export
default
{
export
default
{
meta
:
{
meta
:
{
title
:
"课程报价表"
title
:
"课程报价表"
...
@@ -395,7 +397,7 @@
...
@@ -395,7 +397,7 @@
field
:
row
=>
row
.
PreferentialList
field
:
row
=>
row
.
PreferentialList
},
},
// 12月15号新增参数
// 12月15号新增参数
{
{
name
:
"B2CRatio"
,
name
:
"B2CRatio"
,
label
:
"直客优惠比例"
,
label
:
"直客优惠比例"
,
align
:
"left"
,
align
:
"left"
,
...
@@ -413,7 +415,7 @@
...
@@ -413,7 +415,7 @@
align
:
"left"
,
align
:
"left"
,
field
:
(
row
)
=>
row
.
CommissionReType
field
:
(
row
)
=>
row
.
CommissionReType
},
},
{
{
name
:
"B2BRebateRatio"
,
name
:
"B2BRebateRatio"
,
label
:
"一般同行返佣比例"
,
label
:
"一般同行返佣比例"
,
...
@@ -518,10 +520,10 @@
...
@@ -518,10 +520,10 @@
CourseSubjectList
:
[],
//科目列表
CourseSubjectList
:
[],
//科目列表
};
};
},
},
created
(){
created
()
{
var
localStorageData
=
window
.
localStorage
[
"loginUserInfo"
];
var
localStorageData
=
window
.
localStorage
[
"loginUserInfo"
];
let
ActionMenuList
=
JSON
.
parse
(
localStorageData
).
data
.
ActionMenuList
;
let
ActionMenuList
=
JSON
.
parse
(
localStorageData
).
data
.
ActionMenuList
;
var
isShowPrice
=
false
;
var
isShowPrice
=
false
;
if
(
ActionMenuList
&&
ActionMenuList
.
length
>
0
)
{
if
(
ActionMenuList
&&
ActionMenuList
.
length
>
0
)
{
ActionMenuList
.
forEach
((
x
)
=>
{
ActionMenuList
.
forEach
((
x
)
=>
{
if
(
x
.
FunctionCode
==
"IsShow_CoursePrice"
)
{
if
(
x
.
FunctionCode
==
"IsShow_CoursePrice"
)
{
...
@@ -529,13 +531,19 @@
...
@@ -529,13 +531,19 @@
}
}
});
});
}
}
if
(
isShowPrice
){
if
(
isShowPrice
)
{
this
.
visibleColumns
=
[
'CourseFeature'
,
'CoverImg'
,
'CourseSubjectName'
,
'CourseName'
,
'OpenBankLevelNameList'
,
'CateName'
,
'OriginalPrice'
,
'SellPrice'
,
'PreferentialListSellCommission'
,
this
.
visibleColumns
=
[
'CourseFeature'
,
'CoverImg'
,
'CourseSubjectName'
,
'CourseName'
,
'OpenBankLevelNameList'
,
'PreferentialListB2BCommission'
,
'B2CRatio'
,
'B2CReNewRatio'
,
'CommissionReType'
,
'B2BRebateRatio'
,
'B2BReNewRatio'
,
'SchoolRebateRatio'
,
'CateName'
,
'OriginalPrice'
,
'SellPrice'
,
'PreferentialListSellCommission'
,
'SchoolReNewRatio'
,
'TransIntroductceRatio'
,
'TransIntroductceReNewRatio'
,
'InnerRecommendRatio'
,
'InnerRecommendReNewRatio'
,
'B2CRbRatio'
,
'PreferentialListB2BCommission'
,
'B2CRatio'
,
'B2CReNewRatio'
,
'CommissionReType'
,
'B2BRebateRatio'
,
'B2CRNRatio'
,
'TeacherList'
,
'ClassHours'
,
'CourseIntro'
,
'UpdateTimeStr'
]
'B2BReNewRatio'
,
'SchoolRebateRatio'
,
}
else
{
'SchoolReNewRatio'
,
'TransIntroductceRatio'
,
'TransIntroductceReNewRatio'
,
'InnerRecommendRatio'
,
this
.
visibleColumns
=
[
'CourseFeature'
,
'CoverImg'
,
'CourseSubjectName'
,
'CourseName'
,
'OpenBankLevelNameList'
,
'CateName'
,
'TeacherList'
,
'ClassHours'
,
'CourseIntro'
,
'UpdateTimeStr'
]
'InnerRecommendReNewRatio'
,
'B2CRbRatio'
,
'B2CRNRatio'
,
'TeacherList'
,
'ClassHours'
,
'CourseIntro'
,
'UpdateTimeStr'
]
}
else
{
this
.
visibleColumns
=
[
'CourseFeature'
,
'CoverImg'
,
'CourseSubjectName'
,
'CourseName'
,
'OpenBankLevelNameList'
,
'CateName'
,
'TeacherList'
,
'ClassHours'
,
'CourseIntro'
,
'UpdateTimeStr'
]
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -590,7 +598,6 @@
...
@@ -590,7 +598,6 @@
}
}
}
}
};
};
</
script
>
</
script
>
<
style
lang=
"sass"
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
@import
url('~assets/css/table.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