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
09f65d06
Commit
09f65d06
authored
Jun 22, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
into master
# Conflicts: # src/router/routes.js
parents
d9abab24
17aa2574
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
1748 additions
and
86 deletions
+1748
-86
App.vue
src/App.vue
+1
-1
index.js
src/api/finance/index.js
+19
-0
schedu.js
src/api/scheduling/schedu.js
+74
-0
index.js
src/api/school/index.js
+12
-1
lesson-form.vue
src/components/course/lesson-form.vue
+19
-5
lessoncheck-form.vue
src/components/course/lessoncheck-form.vue
+0
-1
record-form.vue
src/components/course/record-form.vue
+0
-2
orderlist.vue
src/components/sale/orderlist.vue
+12
-7
appoint-form.vue
src/components/schedul/appoint-form.vue
+204
-0
audition-form.vue
src/components/schedul/audition-form.vue
+139
-0
reserve-form.vue
src/components/schedul/reserve-form.vue
+174
-0
visitor-form.vue
src/components/schedul/visitor-form.vue
+1
-1
yueke-form.vue
src/components/schedul/yueke-form.vue
+91
-0
manager-form.vue
src/components/school/manager/manager-form.vue
+31
-2
menu-form.vue
src/components/system/menu-form.vue
+33
-11
CommissionDetail.vue
src/pages/financial/CommissionDetail.vue
+16
-2
cycleList.vue
src/pages/financial/cycleList.vue
+406
-0
cycleOrderList.vue
src/pages/financial/cycleOrderList.vue
+23
-3
CapitalAllocation.vue
src/pages/financial/financalDocument/CapitalAllocation.vue
+6
-3
FinancialDocumentsDetail.vue
...s/financial/financalDocument/FinancialDocumentsDetail.vue
+1
-1
RecPayQuery.vue
src/pages/financial/financalDocument/RecPayQuery.vue
+12
-9
salesCommission.vue
src/pages/financial/salesCommission.vue
+7
-9
salesRules.vue
src/pages/financial/salesRules.vue
+2
-2
userCommissionDetails.vue
src/pages/financial/userCommissionDetails.vue
+11
-1
appointManagement.vue
src/pages/sale/appointManagement.vue
+162
-0
reserveClass.vue
src/pages/sale/reserveClass.vue
+240
-0
visitorRegistrat.vue
src/pages/sale/visitorRegistrat.vue
+36
-24
routes.js
src/router/routes.js
+16
-1
No files found.
src/App.vue
View file @
09f65d06
...
...
@@ -12,7 +12,7 @@ export default {
<
style
>
@import
url('~assets/css/font.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
9jvzm3idarn
.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
v5y4jdrtlx
.css')
;
html
,
body
,
...
...
src/api/finance/index.js
View file @
09f65d06
...
...
@@ -129,4 +129,23 @@ export function setSellCommissionInfo(data) {
});
}
// 财务工作台 获取周期提成 提成统计
export
function
getSellCommissionStatistics
(
data
)
{
return
request
({
url
:
'/SellCommission/GetSellCommissionStatistics'
,
method
:
'post'
,
data
});
}
// 财务工作台 获取周期提成 周期列表下拉选择
export
function
getSellCommissionPeriodsList
(
data
)
{
return
request
({
url
:
'/SellCommission/GetSellCommissionPeriodsList'
,
method
:
'post'
,
data
});
}
src/api/scheduling/schedu.js
View file @
09f65d06
...
...
@@ -159,3 +159,77 @@ export function saveDutyCheck(data) {
data
})
}
/**
* 约课管理
* @param {JSON参数} data
*/
export
function
GetReserveClassPage
(
data
)
{
return
request
({
url
:
'/VisitorReserve/GetReserveClassPage'
,
method
:
'post'
,
data
})
}
/**
* 设置约课信息
* @param {JSON参数} data
*/
export
function
SetVisitorReserve
(
data
)
{
return
request
({
url
:
'/VisitorReserve/SetVisitorReserve'
,
method
:
'post'
,
data
})
}
/**
* 约课管理
* @param {JSON参数} data
*/
export
function
queryVisitorReservePage
(
data
)
{
return
request
({
url
:
'/VisitorReserve/GetVisitorReservePage'
,
method
:
'post'
,
data
})
}
/**
* 删除试听课程
* @param {JSON参数} data
*/
export
function
RemoveReserveClass
(
data
)
{
return
request
({
url
:
'/VisitorReserve/RemoveReserveClass'
,
method
:
'post'
,
data
})
}
/**
* 保存修改听课程
* @param {JSON参数} data
*/
export
function
SetReserveClass
(
data
)
{
return
request
({
url
:
'/VisitorReserve/SetReserveClass'
,
method
:
'post'
,
data
})
}
/**
* 获取约课班级详情
* @param {JSON参数} data
*/
export
function
GetReserveClass
(
data
)
{
return
request
({
url
:
'/VisitorReserve/GetReserveClass'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/api/school/index.js
View file @
09f65d06
...
...
@@ -532,4 +532,15 @@ export function propertyGetPageList(data) {
method
:
'post'
,
data
})
}
\ No newline at end of file
}
/**
* 验证用户是否有 需补交提成订单
*/
export
function
getUserLeaveOrderCommission
(
data
)
{
return
request
({
url
:
'/SellCommission/GetUserLeaveOrderCommission'
,
method
:
'post'
,
data
});
}
src/components/course/lesson-form.vue
View file @
09f65d06
...
...
@@ -178,12 +178,14 @@
margin-right
:
5px
;
}
.lesson_Form
.lessForm_Class
{
border-bottom
:
1px
dashed
#EEE
;
.lesson_Form
.lessForm_Class
{
border-bottom
:
1px
dashed
#EEE
;
}
.lesson_Form
.q-btn__wrapper
{
.lesson_Form
.q-btn__wrapper
{
padding
:
4px
5px
;
}
</
style
>
<
template
>
<div
v-if=
"!isShowSign"
>
...
...
@@ -348,7 +350,7 @@
<template
slot=
"dateCell"
slot-scope=
"
{date, data}">
<!--自定义内容-->
<div
class=
"calendar-day"
>
{{
data
.
day
.
split
(
'-'
).
slice
(
2
).
join
(
'-'
)
}}
</div>
<div
v-for=
"item in calendarData"
>
<div
v-for=
"item in calendarData"
>
<div
v-if=
"item.ClassDateStr==data.day"
>
<div
class=
"calendarTop"
>
<div>
{{
item
.
RoomName
}}
</div>
...
...
@@ -470,7 +472,19 @@
</q-avatar>
<q-avatar
size=
"sm"
color=
"teal-10"
style=
"margin:5px 0 5px 0"
text-color=
"white"
v-if=
"!props.row.UserIcon"
>
{{
props
.
row
.
GuestName
[
0
]
}}
</q-avatar><span
style=
"margin-left:5px;"
>
{{
props
.
row
.
GuestName
}}
</span>
{{
props
.
row
.
GuestName
[
0
]
}}
</q-avatar><span
style=
"margin-left:5px;"
>
<template
v-if=
"props.row.IsChaBan==0"
>
{{
props
.
row
.
GuestName
}}
</
template
>
<
template
v-else
><span
style=
"color:red;"
>
{{
props
.
row
.
GuestName
}}
</span></
template
>
<q-tooltip
:offset=
"[0, 10]"
v-if=
"props.row.IsChaBan==1"
>
插班报入
<br
/>
开始课时:{{props.row.StartClassHours}}
<br
/>
生效状态:{{props.row.EffectStatusStr}}
<br
/>
生效时间:{{props.row.EffectTime}}
<br
/>
<
template
v-if=
"props.row.UpOrderId&&props.row.UpOrderId>0"
>
前置订单:
{{
props
.
row
.
UpOrderId
}}
<br
/>
</
template
>
</q-tooltip>
</span>
</div>
</q-td>
</template>
...
...
src/components/course/lessoncheck-form.vue
View file @
09f65d06
...
...
@@ -50,7 +50,6 @@
//初始化表单
initObj
()
{
GetClassLessPlanList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
tableData
=
res
.
Data
;
this
.
tableData
.
forEach
(
x
=>
{
...
...
src/components/course/record-form.vue
View file @
09f65d06
...
...
@@ -121,7 +121,6 @@
<div
v-for=
"(item,index) in props.row.TimeList"
>
{{
index
+
1
}}
节课
{{
item
.
StartTime
}}
-
{{
item
.
EndTime
}}
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-CheckNum=
"props"
>
...
...
@@ -156,7 +155,6 @@
</q-popup-proxy>
</span>
</div>
</q-td>
</
template
>
<
template
v-slot:bottom
>
...
...
src/components/sale/orderlist.vue
View file @
09f65d06
...
...
@@ -101,12 +101,12 @@
style=
"font-size:14px;"
>
{{item.OfferId}}
</span>
</div>
<
template
v-if=
"item.IsCommissionGive==1"
>
<div
style=
"margin-top:30px;"
>
提成:
{{
item
.
CommissionMoney
}}
</div>
</
template
>
<
template
>
<div
style=
"margin-top:30px;color:red;"
v-if=
"item.ExtraRewardMoney>0"
>
额外奖励:
{{
item
.
ExtraRewardMoney
}}
</div>
<div
style=
"color:red"
v-if=
"item.YFCommissionMoney>0"
>
应发提成:
{{
item
.
YFCommissionMoney
}}
</div>
<div
style=
"color:red;cursor: pointer;text-decoration: underline;"
@
click=
'gourltx(item.OrderId)'
>
已发提成:
{{
item
.
CommissionMoney
}}
</div>
<div
style=
"color:red"
v-if=
"item.ExtraCommissionMoney>0"
>
额外奖励实发:
{{
item
.
ExtraCommissionMoney
}}
</div>
<div
style=
"color:red;"
v-if=
"item.ExtraRewardMoney>0"
>
额外奖励:
{{
item
.
ExtraRewardMoney
}}
</div>
<div
style=
"color:red"
v-if=
"item.ExtraDeductMoney>0"
>
额外扣除:
{{
item
.
ExtraDeductMoney
}}
</div>
<div
style=
"color:red"
v-if=
"item.CommissionBack>0"
>
补交提成:
{{
item
.
CommissionBack
}}
</div>
</
template
>
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
...
...
@@ -210,11 +210,11 @@
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if=
"AuthorityObj.isShowCommissionEdit&&item.IsCommissionGive==1"
>
<
!-- <
q-item clickable v-close-popup v-if="AuthorityObj.isShowCommissionEdit&&item.IsCommissionGive==1">
<q-item-section @click="upDateMoney(item,1)">
<q-item-label>修改提成</q-item-label>
</q-item-section>
</q-item>
</q-item>
-->
<q-item
clickable
v-close-popup
v-if=
"AuthorityObj.isShowRewardEdit&&isShowReward"
>
<q-item-section
@
click=
"upDateMoney(item,2)"
>
<q-item-label>
额外奖励
</q-item-label>
...
...
@@ -1287,6 +1287,11 @@
path
:
'/sale/contractManage'
,
query
:
{}
});
},
gourltx
(
OrderId
){
this
.
OpenNewUrl
(
"/financial/cycleOrderList"
,
{
OrderId
:
OrderId
});
}
}
}
...
...
src/components/schedul/appoint-form.vue
0 → 100644
View file @
09f65d06
<
style
>
.Appoint_Line
{
width
:
3px
;
height
:
11px
;
margin-right
:
10px
;
background-color
:
#3FC4FF
;
display
:
inline-block
;
}
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
.time-select
{
z-index
:
9999
!important
;
}
</
style
>
<
template
>
<q-dialog
v-model=
"persistent"
maximized
full-height
seamless
position=
"right"
@
hide=
"closeAppointForm"
>
<q-card
style=
"margin-top:61px;width:400px"
class=
"no-border-radius classinfo_Dialog"
>
<div
style=
"padding:15px;"
>
<div
style=
"margin-bottom:20px;"
>
<div
class=
"Appoint_Line"
></div>
预约申请
</div>
<q-input
filled
v-model=
"addMsg.ClassDate"
class=
"col-6 q-pb-lg"
:rules=
"[val => !!val || '请选择预约日期']"
ref=
"ClassDate"
mask=
"date"
label=
"预约日期"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
v-model=
"addMsg.ClassDate"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
<div
class=
"Sysuser_Date"
>
<q-field
filled
class=
"q-pb-lg"
>
<
template
v-slot:control
>
<el-time-select
v-model=
"addMsg.ClassTime"
ref=
"ClassTime"
style=
"width:100%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00'
}" placeholder="预约时间">
</el-time-select>
</
template
>
</q-field>
</div>
<q-select
filled
stack-label
option-value=
"Name"
option-label=
"Name"
v-model=
"addMsg.ClassContent"
ref=
"ClassContent"
:options=
"ContentList"
:rules=
"[val => !!val || '请选择主讲内容']"
label=
"主讲内容"
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
<div
style=
"display:flex;align-items:center;"
>
<q-select
filled
stack-label
option-value=
"TId"
style=
"width:90%"
option-label=
"TeacherName"
v-model=
"addMsg.TeacherId"
ref=
"TeacherId"
:options=
"TeacherList"
label=
"选择教师"
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
<div
style=
"margin:-20px 0 0 9px;cursor:pointer;"
@
click=
"isShowTeacher=true"
>
选择
</div>
</div>
<q-select
filled
stack-label
option-value=
"RoomId"
option-label=
"RoomName"
v-model=
"addMsg.ClassRoomId"
ref=
"ClassRoomId"
:options=
"ClassRoomList"
label=
"关联教室"
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
</div>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
size=
"sm"
style=
"font-weight:400 !important"
@
click=
"closeAppointForm"
/>
<q-btn
label=
"保存"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important"
:loading=
"saveAppointLoading"
@
click=
"saveAppointForm"
/>
</q-card-actions>
</q-card>
<div
class=
"dialog-out-close"
@
click=
"closeAppointForm"
style=
"height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;"
>
<q-icon
name=
"iconfont icon-jujue1"
size=
"26px"
/>
</div>
<audition-form
v-if=
"isShowTeacher"
@
close=
"closeAuditForm"
@
getchildInfo=
"getchildInfo"
></audition-form>
</q-dialog>
</template>
<
script
>
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
"../../api/school/index"
;
import
{
SetVisitorReserve
}
from
"../../api/scheduling/schedu"
;
import
auditionForm
from
'../schedul/audition-form'
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
components
:
{
auditionForm
},
data
()
{
return
{
persistent
:
true
,
loading
:
false
,
addMsg
:
{
Id
:
0
,
//编号
Visitor_Id
:
0
,
//访客编号
ReserveClassId
:
0
,
//选中的班级编号
ClassDate
:
""
,
//预约日期
ClassTime
:
""
,
//预约时间
TeacherId
:
0
,
//教师编号
ClassRoomId
:
0
,
//教室编号
ClassContent
:
""
,
//主讲内容
},
TeacherList
:
[],
//教师
ClassRoomList
:
[],
//教室
saveAppointLoading
:
false
,
isShowTeacher
:
false
,
//显示选择框
ContentList
:
[{
Id
:
1
,
Name
:
'少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足'
},
{
Id
:
2
,
Name
:
'兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣'
},
{
Id
:
3
,
Name
:
'实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多'
},
{
Id
:
4
,
Name
:
'留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)'
}]
}
},
created
()
{
},
mounted
()
{
this
.
GetTeacherList
();
this
.
getClassRoomList
();
},
methods
:
{
closeAppointForm
()
{
this
.
persistent
=
false
;
this
.
$emit
(
'close'
);
},
closeAuditForm
()
{
this
.
isShowTeacher
=
false
;
},
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
var
obj
=
{
TeacherName
:
'请选择'
,
TId
:
0
}
this
.
TeacherList
.
unshift
(
obj
);
}
});
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
var
obj
=
{
RoomName
:
'请选择'
,
RoomId
:
0
}
this
.
ClassRoomList
.
unshift
(
obj
);
}
})
},
//保存
saveAppointForm
()
{
if
(
this
.
saveObj
){
this
.
addMsg
.
Visitor_Id
=
this
.
saveObj
.
Id
;
}
this
.
$refs
.
ClassDate
.
validate
();
this
.
$refs
.
ClassContent
.
validate
();
if
(
!
this
.
$refs
.
ClassDate
.
hasError
&&
!
this
.
$refs
.
ClassContent
.
hasError
){
SetVisitorReserve
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
$emit
(
'success'
);
this
.
closeAppointForm
();
}
})
}
},
//子组件选中传值
getchildInfo
(
obj
){
console
.
log
(
obj
,
'来了'
);
this
.
addMsg
.
TeacherId
=
obj
.
TeacherId
;
this
.
addMsg
.
ClassRoomId
=
obj
.
ClassRoomId
;
this
.
addMsg
.
ReserveClassId
=
obj
.
ReserveClassId
;
}
}
}
</
script
>
src/components/schedul/audition-form.vue
0 → 100644
View file @
09f65d06
<
template
>
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 800px;max-width:900px;"
>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
style=
"margin-top:20px;"
flat
class=
"sticky-column-table sticky-right-column-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
人员信息
</div>
<q-space
/>
</
template
>
<
template
v-slot:body-cell-Id=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
@
click=
"getStuInfo(props.row)"
style=
"font-weight:400"
label=
"报入"
/>
</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"
/>
</
template
>
</q-table>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
import
{
GetReserveClassPage
}
from
'../../api/scheduling/schedu'
export
default
{
components
:
{},
data
()
{
return
{
persistent
:
true
,
loading
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
rowsPerPage
:
10
,
StartClassDate
:
''
},
PageCount
:
0
,
columns
:
[{
name
:
'TeacherName'
,
label
:
'老师'
,
field
:
'TeacherName'
,
align
:
'left'
},
{
name
:
'ClassDateStr'
,
field
:
'ClassDateStr'
,
label
:
'日期'
,
align
:
'left'
,
},
{
name
:
'ClassTime'
,
field
:
'ClassTime'
,
label
:
'时间'
,
align
:
'left'
},
{
name
:
'RoomName'
,
label
:
'教室'
,
field
:
'RoomName'
,
align
:
'left'
},
{
name
:
'RoomNum'
,
label
:
'人数'
,
field
:
'RoomNum'
,
align
:
'left'
},
{
name
:
'ClassContent'
,
label
:
'主讲内容'
,
field
:
'ClassContent'
,
align
:
'left'
},
{
name
:
'Id'
,
label
:
'操作'
,
}
],
dataList
:[],
StuObj
:{}
}
},
created
()
{},
mounted
()
{
var
day
=
new
Date
();
this
.
msg
.
StartClassDate
=
day
.
getFullYear
()
+
"-"
+
(
day
.
getMonth
()
+
1
)
+
"-"
+
day
.
getDate
();
this
.
getList
();
},
methods
:
{
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
//获取课程系列分页列表
getList
()
{
GetReserveClassPage
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
){
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
}
})
},
//点击报入
getStuInfo
(
item
){
if
(
item
){
this
.
StuObj
.
ClassRoomId
=
item
.
ClassRoomId
;
this
.
StuObj
.
TeacherId
=
item
.
TeacherId
;
this
.
StuObj
.
ReserveClassId
=
item
.
ReserveClassId
;
}
this
.
$emit
(
'getchildInfo'
,
this
.
StuObj
);
this
.
closeSaveForm
();
}
},
}
</
script
>
<
style
>
</
style
>
src/components/schedul/reserve-form.vue
0 → 100644
View file @
09f65d06
<
style
>
.time-select
{
z-index
:
9999
!important
;
}
</
style
>
<
template
>
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 800px;max-width:900px;"
>
<q-card-section>
<div
class=
"text-h6"
>
{{
objOption
.
ReserveClassId
==
0
?
'新增试听课程'
:
'修改试听课程'
}}
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"objOption.ClassDate"
class=
"col-6 q-pr-lg q-pb-lg"
:rules=
"[val => !!val || '请选择预约日期']"
ref=
"ClassDate"
mask=
"date"
label=
"预约日期"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
v-model=
"objOption.ClassDate"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
<div
class=
"Sysuser_Date col-6 q-pb-lg"
>
<q-field
filled
>
<
template
v-slot:control
>
<el-time-select
v-model=
"objOption.ClassTime"
ref=
"ClassTime"
style=
"width:100%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00'
}" placeholder="预约时间">
</el-time-select>
</
template
>
</q-field>
</div>
<q-select
filled
stack-label
option-value=
"TId"
option-label=
"TeacherName"
v-model=
"objOption.TeacherId"
ref=
"TeacherId"
:options=
"TeacherList"
label=
"选择教师"
:dense=
"false"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
<q-select
filled
stack-label
option-value=
"RoomId"
option-label=
"RoomName"
v-model=
"objOption.ClassRoomId"
ref=
"ClassRoomId"
:options=
"ClassRoomList"
label=
"关联教室"
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
<q-select
filled
stack-label
option-value=
"Name"
option-label=
"Name"
v-model=
"objOption.ClassContent"
ref=
"ClassContent"
:options=
"ContentList"
label=
"主讲内容"
:dense=
"false"
class=
"col-12 q-pb-lg"
emit-value
map-options
/>
</div>
</div>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveLoading"
@
click=
"saveCategory"
/>
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
"../../api/school/index"
;
import
{
GetReserveClass
,
SetReserveClass
}
from
'../../api/scheduling/schedu'
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
objOption
:
{
ReserveClassId
:
0
,
TeacherId
:
""
,
ClassDate
:
""
,
ClassTime
:
""
,
ClassRoomId
:
""
,
ClassContent
:
''
},
saveLoading
:
false
,
TeacherList
:
[],
ClassRoomList
:
[],
ContentList
:
[{
Id
:
1
,
Name
:
'少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足'
},
{
Id
:
2
,
Name
:
'兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣'
},
{
Id
:
3
,
Name
:
'实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多'
},
{
Id
:
4
,
Name
:
'留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)'
}]
}
},
mounted
()
{
this
.
GetTeacherList
();
this
.
getClassRoomList
();
this
.
initObj
()
},
methods
:
{
//初始化表单
initObj
()
{
if
(
this
.
saveObj
&&
this
.
saveObj
.
ReserveClassId
>
0
)
{
GetReserveClass
({
ReserveClassId
:
this
.
saveObj
.
ReserveClassId
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
objOption
.
ReserveClassId
=
res
.
Data
.
ReserveClassId
;
this
.
objOption
.
TeacherId
=
res
.
Data
.
TeacherId
;
this
.
objOption
.
ClassDate
=
res
.
Data
.
ClassDateStr
;
this
.
objOption
.
ClassTime
=
res
.
Data
.
ClassTime
;
this
.
objOption
.
ClassRoomId
=
res
.
Data
.
ClassRoomId
;
this
.
objOption
.
ClassContent
=
res
.
Data
.
ClassContent
;
}
else
{
this
.
objOption
.
TeacherId
=
0
;
this
.
objOption
.
ClassDate
=
''
;
this
.
objOption
.
ClassTime
=
''
;
this
.
objOption
.
ClassRoomId
=
0
;
this
.
objOption
.
ClassContent
=
''
;
}
})
}
},
//关闭弹窗
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
//保存菜单
saveCategory
()
{
this
.
saveLoading
=
true
SetReserveClass
(
this
.
objOption
).
then
(
res
=>
{
this
.
saveLoading
=
false
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
$emit
(
"success"
)
this
.
closeSaveForm
()
}).
catch
(()
=>
{
this
.
saveLoading
=
false
})
},
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
}
});
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
}
})
},
}
}
</
script
>
src/components/schedul/visitor-form.vue
View file @
09f65d06
...
...
@@ -31,7 +31,7 @@
ref=
"VisitorStatus"
v-model=
"objOption.VisitorStatus"
:options=
"statusList"
:rules=
"[val => !!val || '请选择状态']"
emit-value
map-options
label=
"状态"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"objOption.Evaluate"
ref=
"Evaluate"
class=
"col-6 q-pb-lg"
label=
"
兴趣课程"
:rules=
"[val => !!val || '请输入兴趣课程
']"
/>
label=
"
意向评估"
:rules=
"[val => !!val || '请输入意向评估
']"
/>
</div>
<div
class=
"row wrap"
>
<q-input
filled
stack-label
type=
"textarea"
maxlength=
"500"
:dense=
"false"
v-model=
"objOption.Remark"
...
...
src/components/schedul/yueke-form.vue
0 → 100644
View file @
09f65d06
<
template
>
<q-dialog
v-model=
"persistent"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 400px;max-width:400px;"
>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<q-card-section>
<div
class=
"text-h6"
>
<span
v-if=
"ChoiceType==3"
>
请填写取消备注
</span>
<span
v-if=
"ChoiceType==2"
>
请选择流单原因
</span>
</div>
</q-card-section>
<div
class=
"row wrap"
>
<template
v-if=
"ChoiceType==3"
>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"msg.remark"
type=
"textarea"
class=
"col-12"
label=
"备注"
/>
</
template
>
<
template
v-if=
"ChoiceType==2"
>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"chooseLiudan"
ref=
"remark"
:options=
"reasonList"
label=
"流单原因"
:dense=
"false"
class=
"col-12 q-pb-lg"
emit-value
map-options
multiple
/>
</
template
>
</div>
</div>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
@
click=
"closeSaveForm"
/>
<q-btn
label=
"立即提交"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
:loading=
"saveLoading"
@
click=
"saveYueke"
/>
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
export
default
{
props
:
{
ChoiceType
:
{
type
:
Number
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
saveLoading
:
false
,
msg
:
{
remark
:
''
},
chooseLiudan
:[],
reasonList
:
[{
Id
:
1
,
Name
:
'教学环境'
},
{
Id
:
2
,
Name
:
'教学内容'
},
{
Id
:
3
,
Name
:
'讲师'
},
{
Id
:
4
,
Name
:
'价格'
},
{
Id
:
5
,
Name
:
'销售跟进'
},
{
Id
:
6
,
Name
:
'同行竞争'
},
{
Id
:
7
,
Name
:
'其他'
}]
}
},
mounted
()
{},
methods
:
{
//关闭弹窗
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
},
//保存菜单
saveYueke
()
{
this
.
saveLoading
=
true
;
if
(
this
.
ChoiceType
==
2
){
this
.
msg
.
remark
=
this
.
chooseLiudan
.
toString
();
}
console
.
log
(
this
.
msg
,
'msg'
);
},
}
}
</
script
>
src/components/school/manager/manager-form.vue
View file @
09f65d06
...
...
@@ -57,7 +57,7 @@
<q-input
v-if=
"objOption.AccountId==0"
filled
stack-label
maxlength=
"20"
:dense=
"false"
v-model=
"objOption.Password"
ref=
"Password"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"密码"
:rules=
"[val => !!val || '密码']"
/>
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.LeaveStatus"
<q-select
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"objOption.LeaveStatus"
@
input=
'getLeave'
ref=
"Education"
:options=
"LeaveStatusList"
label=
"在职状态"
:dense=
"false"
class=
"col-6 q-pr-lg q-pb-lg"
emit-value
map-options
/>
<q-input
v-show=
"objOption.AccountId>0 && objOption.LeaveStatus==4"
filled
v-model=
"objOption.LeaveTime"
...
...
@@ -100,7 +100,8 @@
saveManager
,
queryEmployeeInfo
,
getEducation
,
GetLeaveStatus
GetLeaveStatus
,
getUserLeaveOrderCommission
}
from
'../../../api/school/index'
//部门
import
{
...
...
@@ -185,6 +186,7 @@
},
],
EmployeeList
:
[],
//员工列表
errdata
:
''
,
//提示语言
}
},
created
()
{
...
...
@@ -224,6 +226,7 @@
this
.
PostList
=
[];
this
.
queryDeptTree
();
},
//部门改变
deptChange
()
{
this
.
objOption
.
Post_Id
=
0
;
...
...
@@ -274,6 +277,22 @@
}
})
},
GetUserLeave
(
UserId
){
getUserLeaveOrderCommission
({
UserId
:
UserId
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
){
this
.
errdata
=
''
}
}).
catch
(
err
=>
{
if
(
err
.
Code
==
0
){
///返回来是0 的时候保存提示语言
this
.
errdata
=
err
.
Message
;
}
})
},
getLeave
(
val
){
if
(
val
==
4
){
this
.
GetUserLeave
(
this
.
saveObj
.
EmAccountId
)
}
},
initObj
()
{
if
(
this
.
saveObj
)
{
this
.
optionTitle
=
"修改员工信息"
...
...
@@ -397,6 +416,16 @@
})
return
;
}
if
(
this
.
objOption
.
LeaveStatus
==
4
&&
this
.
errdata
!=
''
){
//选择离职的时候看接口返回是否可以离职
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
this
.
errdata
,
})
return
}
this
.
saveLoading
=
true
;
saveManager
(
this
.
objOption
).
then
(
res
=>
{
this
.
saveLoading
=
false
...
...
src/components/system/menu-form.vue
View file @
09f65d06
...
...
@@ -17,11 +17,19 @@
</div>
<q-select
class=
"col-6 q-pr-lg"
v-model=
"objOption.MenuType"
:options=
"MenuTypeOpts"
emit-value
map-options
label=
"菜单类型"
@
input=
"queryMenuList()"
/>
<q-select
class=
"col-6 q-pr-lg q-pb-lg"
v-if=
"objOption.IsUserCenter==0"
v-model=
"objOption.MenuLevel"
:options=
"MenuLevelOpts"
emit-value
map-options
label=
"菜单等级"
@
input=
"queryMenuList()"
/>
<q-select
v-if=
"objOption.IsUserCenter==0"
:option-value=
"(item) => item === null ? null : item.MenuId"
option-label=
"MenuName"
v-model=
"objOption.ParentId"
:options=
"MenuList"
label=
"上级菜单"
:dense=
"false"
emit-value
map-options
class=
"col-6 q-pr-lg q-pb-lg"
/>
<q-select
class=
"col-6 q-pr-lg q-pb-lg"
v-if=
"objOption.IsUserCenter==0"
v-model=
"objOption.MenuLevel"
:options=
"MenuLevelOpts"
emit-value
map-options
label=
"菜单等级"
@
input=
"queryMenuList()"
/>
<q-select
v-if=
"objOption.IsUserCenter==0"
filled
clearable
use-input
option-value=
"MenuId"
option-label=
"MenuName"
v-model=
"objOption.ParentId"
:options=
"MenuList"
label=
"上级菜单"
:dense=
"false"
emit-value
map-options
class=
"col-6 q-pr-lg q-pb-lg"
@
filter=
"filterFn"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
<q-input
stack-label
maxlength=
"60"
:dense=
"false"
v-model=
"objOption.MenuIcon"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"图标"
/>
<q-input
filled
stack-label
maxlength=
"10"
:dense=
"false"
v-model=
"objOption.SortNum"
...
...
@@ -31,7 +39,7 @@
v-model=
"objOption.Status"
/>
<div
class=
"text-grey-6 text-caption"
>
注意:关闭后,菜单将无法正常使用.
</div>
</div>
<q-select
class=
"col-6 q-pr-lg"
v-model=
"objOption.TeamType"
:options=
"TeamTypeOpts"
emit-value
map-options
<q-select
class=
"col-6 q-pr-lg"
v-model=
"objOption.TeamType"
:options=
"TeamTypeOpts"
emit-value
map-options
label=
"项目类型"
/>
</div>
</q-card-section>
...
...
@@ -66,15 +74,15 @@
MenuLevelOpts
:
[],
//菜单类型
MenuTypeOpts
:
[],
TeamTypeOpts
:
[
{
TeamTypeOpts
:
[{
label
:
'教育菜单'
,
value
:
1
},
{
label
:
'资产菜单'
,
value
:
2
}],
}
],
persistent
:
true
,
objOption
:
{
MenuId
:
0
,
//菜单编号
...
...
@@ -92,6 +100,7 @@
optionTitle
:
""
,
//菜单列表
MenuList
:
[],
AllMenuList
:
[],
saveLoading
:
false
,
}
},
...
...
@@ -100,9 +109,21 @@
this
.
initObj
()
},
methods
:
{
//筛选员工
filterFn
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
''
)
{
this
.
MenuList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllMenuList
))
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
MenuList
=
this
.
AllMenuList
.
filter
(
v
=>
v
.
MenuName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
})
},
//获取菜单列表
queryMenuList
()
{
this
.
MenuList
=
[];
this
.
AllMenuList
=
[];
var
qMsg
=
{
MenuLevel
:
Number
(
this
.
objOption
.
MenuLevel
-
1
),
MenuType
:
this
.
objOption
.
MenuType
...
...
@@ -119,6 +140,7 @@
});
}
this
.
MenuList
=
tempArray
;
this
.
AllMenuList
=
tempArray
;
this
.
$forceUpdate
();
})
},
...
...
@@ -148,7 +170,7 @@
this
.
objOption
.
TeamType
=
res
.
Data
.
TeamType
;
this
.
objOption
.
SortNum
=
res
.
Data
.
SortNum
;
this
.
objOption
.
Status
=
res
.
Data
.
Status
;
this
.
objOption
.
IsUserCenter
=
res
.
Data
.
IsUserCenter
;
this
.
objOption
.
IsUserCenter
=
res
.
Data
.
IsUserCenter
;
})
this
.
optionTitle
=
"修改菜单信息"
}
else
{
...
...
@@ -163,7 +185,7 @@
this
.
objOption
.
TeamType
=
1
;
this
.
objOption
.
SortNum
=
0
;
this
.
objOption
.
Status
=
0
;
this
.
objOption
.
IsUserCenter
=
0
;
this
.
objOption
.
IsUserCenter
=
0
;
}
},
//关闭弹窗
...
...
src/pages/financial/CommissionDetail.vue
View file @
09f65d06
...
...
@@ -53,22 +53,28 @@
<div
class=
"col-3"
>
<q-input
filled
v-model=
"msg.OrderId"
@
keyup
.
enter
.
native=
"getList()"
label=
"订单号"
/>
</div>
-->
<div
class=
"col-3"
>
<q-btn
color=
"primary"
size=
"11px"
label=
"返回"
@
click=
"goreturn"
style=
"margin-left:10px"
/>
</div>
</div>
</div>
<
template
>
<el-table
ref=
"filterTable"
:data=
"tableData"
v-loading =
'loading'
:header-cell-style=
"
{backgroundColor:'#f5f6f7', color: '#a8a8b3'}"
border
style="width: 100%">
<el-table-column
prop=
"SchoolName"
label=
"校区"
:filters=
'SchoolNamelist'
:filter-method=
"filterHandler"
></el-table-column>
<el-table-column
prop=
"DeptName"
label=
"部门"
:filters=
'DeptNamelist'
:filter-method=
"filterHandler"
></el-table-column>
<el-table-column
prop=
"UserName"
label=
"
用户
"
:filters=
'UserNamelist'
:filter-method=
"filterHandler"
>
</el-table-column>
<el-table-column
prop=
"UserName"
label=
"
销售
"
:filters=
'UserNamelist'
:filter-method=
"filterHandler"
>
</el-table-column>
<el-table-column
prop=
"StudentCount"
label=
"学生数量"
sortable
:sort-method=
"StudentCount"
>
</el-table-column>
<el-table-column
prop=
"CurrentPeriodMoney"
label=
"提成金额"
sortable
:sort-method=
"CurrentPeriodMoney"
>
</el-table-column>
<el-table-column
prop=
"CurrentExtraMoney"
label=
"奖励金额"
sortable
:sort-method=
"CurrentExtraMoney"
>
</el-table-column>
<el-table-column
prop=
"CommissionMoney"
label=
"最终提成"
sortable
:sort-method=
"CommissionMoney"
>
</el-table-column>
<
el-table-column
prop=
"Periods"
label=
"周期"
>
</el-table-column
>
<
!--
<el-table-column
prop=
"Periods"
label=
"周期"
>
</el-table-column>
--
>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<div
class=
"_icon_btn"
>
...
...
@@ -109,6 +115,7 @@
UserId
:
0
,
ClassId
:
0
,
OrderId
:
''
,
School_Id
:
'-1'
,
},
pageCount
:
0
,
persistent
:
false
,
...
...
@@ -141,6 +148,9 @@
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
id
){
this
.
msg
.
PeriodId
=
this
.
$route
.
query
.
id
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
School_Id
){
this
.
msg
.
School_Id
=
this
.
$route
.
query
.
School_Id
}
this
.
getList
()
this
.
setClass
()
},
...
...
@@ -151,6 +161,7 @@
this
.
loading
=
true
;
getSellCommissionUserList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
Data
;
this
.
SchoolNamelist
=
[];
this
.
DeptNamelist
=
[];
...
...
@@ -229,6 +240,9 @@
},
CommissionMoney
(
a
,
b
){
return
a
.
CommissionMoney
-
b
.
CommissionMoney
;
},
goreturn
(){
this
.
$router
.
go
(
-
1
);
}
},
...
...
src/pages/financial/cycleList.vue
0 → 100644
View file @
09f65d06
This diff is collapsed.
Click to expand it.
src/pages/financial/cycleOrderList.vue
View file @
09f65d06
...
...
@@ -38,7 +38,7 @@
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
周期提成 订单提成查询
<q-btn
color=
"primary"
size=
"11px"
label=
"返回"
@
click=
"goreturn"
style=
"margin-left:10px"
/>
</div>
</div>
</div>
...
...
@@ -46,11 +46,14 @@
<el-table
ref=
"filterTable"
:data=
"tableData"
v-loading =
'loading'
:header-cell-style=
"
{backgroundColor:'#f5f6f7', color: '#a8a8b3'}"
border
style="width: 100%">
<el-table-column
prop=
"SchoolName"
label=
"校区"
:filters=
'SchoolNamelist'
:filter-method=
"filterHandler"
></el-table-column>
<el-table-column
prop=
"DeptName"
label=
"部门"
:filters=
'DeptNamelist'
:filter-method=
"filterHandler"
></el-table-column>
<el-table-column
prop=
"UserName"
label=
"
用户
"
:filters=
'UserNamelist'
:filter-method=
"filterHandler"
>
</el-table-column>
<el-table-column
prop=
"UserName"
label=
"
销售
"
:filters=
'UserNamelist'
:filter-method=
"filterHandler"
>
</el-table-column>
<el-table-column
width=
'170'
prop=
"ClassName"
label=
"班级信息"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
ClassName
}}
{{
scope
.
row
.
ClassTypeName
}}
<span
style=
"color: #409EFF;"
v-if=
'scope.row.IsContinueClass==1'
>
(续)
</span></div>
...
...
@@ -145,9 +148,21 @@
SchoolNamelist
:[],
DeptNamelist
:[],
UserNamelist
:[],
see_tcdetailed
:
false
,
}
},
created
()
{
let
userinfo
=
this
.
getLocalStorage
();
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"see_tcdetailed"
){
//判断是否可以查看其他明细
this
.
see_tcdetailed
=
true
;
}
})
if
(
this
.
see_tcdetailed
==
false
){
this
.
msg
.
UserId
=
userinfo
.
Id
}
},
created
()
{},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
OrderId
){
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
...
...
@@ -163,6 +178,8 @@
this
.
loading
=
true
;
getSellCommissionForOrderList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
Data
this
.
SchoolNamelist
=
[];
this
.
DeptNamelist
=
[];
...
...
@@ -233,6 +250,9 @@
console
.
log
(
a
,
b
)
return
a
.
StudentCount
-
b
.
StudentCount
;
},
goreturn
(){
this
.
$router
.
go
(
-
1
);
}
...
...
src/pages/financial/financalDocument/CapitalAllocation.vue
View file @
09f65d06
...
...
@@ -529,9 +529,12 @@
},
goDetail
:
function
(
url
,
id
)
{
// this.$router.push({ name: url,query:{id: id, blank: 'y', tab: '资金调拨详情'}})
var
tempStr
=
'/financial/financalDocument/'
+
url
+
'?id='
+
id
;
this
.
$router
.
push
({
path
:
tempStr
// var tempStr = '/financial/financalDocument/' + url + '?id=' + id;
// this.$router.push({
// path: tempStr
// });
this
.
OpenNewUrl
(
"/financial/financalDocument/"
+
url
,
{
id
:
id
});
},
Financial_post_GetFinancLogList
:
function
(
id
)
{
// 获取单据日志
...
...
src/pages/financial/financalDocument/FinancialDocumentsDetail.vue
View file @
09f65d06
...
...
@@ -2156,7 +2156,7 @@
}
else
if
(
OtherType
==
33
){
tempStr
=
'/financial/financalDocument/InAndOutDdetails?id='
+
ID
;
}
else
if
(
OtherType
==
39
){
tempStr
=
'/financial/CommissionDetail?id='
+
ID
;
tempStr
=
'/financial/CommissionDetail?id='
+
ID
+
'&School_Id='
+
this
.
GetDetail
.
RB_Branch_Id
;
}
this
.
$router
.
push
({
...
...
src/pages/financial/financalDocument/RecPayQuery.vue
View file @
09f65d06
...
...
@@ -1761,15 +1761,18 @@ import treeItemVue from 'src/components/common/tree-table/tree-item.vue';
this
.
currentPage
=
1
;
},
goUrl
(
path
,
rowData
,
Conditon
,
pageIndex
)
{
this
.
$router
.
push
({
path
:
'/financial/financalDocument/'
+
path
,
query
:
{
"id"
:
rowData
.
FrID
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
// this.$router.push({
// path: '/financial/financalDocument/' + path,
// query: {
// "id": rowData.FrID,
// blank: 'y',
// tab: '单据详情'
// }
// })
this
.
OpenNewUrl
(
"/financial/financalDocument/"
+
path
,
{
id
:
rowData
.
FrID
});
},
goEit
(
path
,
type
,
id
,
edit
,
Conditon
,
pageIndex
)
{
this
.
$router
.
push
({
...
...
src/pages/financial/salesCommission.vue
View file @
09f65d06
...
...
@@ -50,7 +50,7 @@
</el-select>
</div>
</div>
<div
class=
"col-3"
v-if=
'isgenerate==true'
>
<div
v-if=
'isgenerate==true'
>
<div
class=
"block"
style=
"display:flex"
>
<span
style=
"margin-right: 5px;"
>
选择月份
</span>
<el-date-picker
...
...
@@ -68,10 +68,11 @@
<el-table
ref=
"filterTable"
:data=
"tableData"
v-loading =
'loading'
:header-cell-style=
"
{backgroundColor:'#f5f6f7', color: '#a8a8b3'}"
border
style="width: 100%">
<
el-table-column
prop=
"Id"
label=
"ID"
></el-table-column
>
<
!--
<el-table-column
prop=
"Id"
label=
"ID"
></el-table-column>
--
>
<el-table-column
prop=
"Periods"
label=
"周期"
></el-table-column>
<el-table-column
prop=
"SumPrice"
label=
"提成总金额"
>
</el-table-column>
<el-table-column
prop=
"SchooldCommission"
label=
"校区提成总金额"
>
...
...
@@ -183,6 +184,7 @@
this
.
loading
=
true
;
getSellCommissionPeriodsPageList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
Data
.
PageData
this
.
total
=
res
.
Data
.
Count
}
...
...
@@ -225,13 +227,9 @@
})
},
gocaiwuxiangq
(
id
){
this
.
$router
.
push
({
path
:
'/financial/financalDocument/FinancialDocumentsDetail'
,
query
:
{
"id"
:
id
,
blank
:
'y'
,
}
})
this
.
OpenNewUrl
(
"/financial/financalDocument/FinancialDocumentsDetail"
,
{
id
:
id
});
},
generalFinancacls
(
item
)
{
if
(
this
.
msg
.
SchoolId
==
-
1
){
...
...
src/pages/financial/salesRules.vue
View file @
09f65d06
...
...
@@ -92,8 +92,8 @@
</q-tr>
</template>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"tabeMsg.pageIndex"
color=
"primary"
:max=
"1"
:input=
"true"
@
input=
"changePage"
/>
<
!--
<
q-pagination
class=
"full-width justify-end"
v-model=
"tabeMsg.pageIndex"
color=
"primary"
:max=
"1"
:input=
"true"
@
input=
"changePage"
/>
-->
</
template
>
</q-table>
...
...
src/pages/financial/userCommissionDetails.vue
View file @
09f65d06
...
...
@@ -36,6 +36,9 @@
<
template
>
<div
class=
"page-body userCommissionDetails"
>
<div
class=
"page-search row items-center"
>
<div
style=
"margin-right: 10px;"
>
<q-btn
color=
"primary"
size=
"11px"
label=
"返回"
@
click=
"goreturn"
style=
"margin-left:10px"
/>
</div>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-select
filled
stack-label
use-input
input-debounce=
"0"
option-value=
"ClassId"
clearable
@
input=
"getList"
...
...
@@ -59,11 +62,14 @@
<el-table
ref=
"filterTable"
:data=
"tableData"
v-loading =
'loading'
:header-cell-style=
"
{backgroundColor:'#f5f6f7', color: '#a8a8b3'}"
border
style="width: 100%">
<el-table-column
prop=
"SchoolName"
label=
"校区"
></el-table-column>
<el-table-column
prop=
"DeptName"
label=
"部门"
></el-table-column>
<el-table-column
prop=
"UserName"
label=
"
用户
"
>
</el-table-column>
<el-table-column
prop=
"UserName"
label=
"
销售
"
>
</el-table-column>
<el-table-column
width=
'170'
prop=
"ClassName"
label=
"班级信息"
>
<template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
ClassName
}}
{{
scope
.
row
.
ClassTypeName
}}
<span
style=
"color: #409EFF;"
v-if=
'scope.row.IsContinueClass==1'
>
(续)
</span></div>
...
...
@@ -172,6 +178,7 @@
this
.
loading
=
true
;
getSellCommissionUserDetailList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
Data
}
})
...
...
@@ -231,6 +238,9 @@
blank
:
'y'
,
}
})
},
goreturn
(){
this
.
$router
.
go
(
-
1
);
}
},
...
...
src/pages/sale/appointManagement.vue
0 → 100644
View file @
09f65d06
<
template
>
<div
class=
"page-body"
>
<q-table
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-right-column-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
约课管理
</div>
<q-space
/>
</
template
>
<
template
v-slot:body-cell-Id=
"props"
>
<q-td
:props=
"props"
>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"OperateVitior(props.row,1)"
>
<q-item-section>
<q-item-label>
转订单
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"OperateVitior(props.row,2)"
>
<q-item-section>
<q-item-label>
流单
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"OperateVitior(props.row,3)"
>
<q-item-section>
<q-item-label>
取消
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</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"
/>
</
template
>
</q-table>
<yuekeForm
v-if=
"isShowYue"
:ChoiceType=
"ChoiceType"
@
close=
"closeYuekeForm"
@
success=
"refreshPage"
></yuekeForm>
</div>
</template>
<
script
>
import
{
queryVisitorReservePage
}
from
'../../api/scheduling/schedu'
import
yuekeForm
from
'../../components/schedul/yueke-form'
export
default
{
meta
:
{
title
:
"约课管理"
},
components
:
{
yuekeForm
},
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
10
},
dataList
:
[],
loading
:
false
,
PageCount
:
0
,
columns
:
[{
name
:
'VisitorName'
,
label
:
'客户名称'
,
field
:
'VisitorName'
,
align
:
'left'
},
{
name
:
'ClassDateStr'
,
label
:
'日期'
,
field
:
'ClassDateStr'
,
align
:
'left'
},
{
name
:
'ClassTime'
,
label
:
'时间'
,
field
:
'ClassTime'
,
align
:
'left'
},
{
name
:
'TeacherName'
,
label
:
'老师'
,
field
:
'TeacherName'
,
align
:
'left'
},
{
name
:
'RoomName'
,
label
:
'教室'
,
field
:
'RoomName'
,
align
:
'left'
},
{
name
:
'ClassContent'
,
label
:
'主讲内容'
,
field
:
'ClassContent'
,
align
:
'left'
},
{
name
:
'ReserveStatusStr'
,
label
:
'状态'
,
field
:
'ReserveStatusStr'
,
align
:
'left'
},
{
name
:
'Id'
,
label
:
'操作'
,
field
:
'Id'
}
],
isShowYue
:
false
,
ChoiceType
:
0
}
},
mounted
()
{
this
.
getList
()
},
methods
:
{
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
//获取课程系列分页列表
getList
()
{
queryVisitorReservePage
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
}
})
},
//预约操作按钮
OperateVitior
(
item
,
type
)
{
this
.
ChoiceType
=
type
;
this
.
isShowYue
=
true
;
},
//关闭弹窗
closeYuekeForm
()
{
this
.
isShowYue
=
false
},
//刷新页面
refreshPage
()
{
this
.
getList
();
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/pages/sale/reserveClass.vue
0 → 100644
View file @
09f65d06
<
style
>
.Sysuser_Date
.el-input__inner
{
background
:
transparent
!important
;
border
:
0
!important
;
}
</
style
>
<
template
>
<div
class=
"page-body"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-4"
>
<div
class=
"col-4 Sysuser_Date"
>
<q-field
filled
>
<template
v-slot:control
>
<el-date-picker
v-model=
"msg.StartClassDate"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"开始时间"
size=
"small"
style=
"width:47%;"
@
change=
"resetSearch"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker>
至
<el-date-picker
v-model=
"msg.EndClassDate"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"结束时间"
size=
"small"
style=
"width:47%;"
@
change=
"resetSearch"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker>
</
template
>
</q-field>
</div>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
option-value=
"TId"
option-label=
"TeacherName"
v-model=
"msg.TeacherId"
:options=
"TeacherList"
emit-value
map-options
label=
"老师"
clearable
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
stack-label
option-value=
"RoomId"
option-label=
"RoomName"
v-model=
"msg.ClassRoomId"
ref=
"ClassRoomId"
:options=
"ClassRoomList"
label=
"关联教室"
clearable
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
</div>
</div>
</div>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-right-column-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"name"
>
<
template
v-slot:top=
"props"
>
<div
class=
"col-2 q-table__title"
>
试听课管理
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
icon=
"add"
label=
"添加试听"
@
click=
"editVisitor(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-TeacherId=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
@
click=
"editVisitor(props.row)"
style=
"font-weight:400"
label=
"修改"
/>
<q-btn
flat
size=
"xs"
icon=
"delete"
@
click=
"deleteReserve(props.row)"
color=
"negative"
style=
"font-weight:400"
label=
"删除"
/>
</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"
/>
</
template
>
</q-table>
<reserveForm
v-if=
"isShowReserve"
:save-obj=
"reserveObj"
@
close=
"closeReserveForm"
@
success=
"refreshPage"
></reserveForm>
</div>
</template>
<
script
>
import
{
GetReserveClassPage
,
RemoveReserveClass
}
from
'../../api/scheduling/schedu'
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
"../../api/school/index"
;
import
reserveForm
from
'../../components/schedul/reserve-form'
export
default
{
meta
:
{
title
:
"试听课管理"
},
components
:
{
reserveForm
},
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
rowsPerPage
:
10
,
StartClassDate
:
""
,
//开始时间
EndClassDate
:
""
,
//结束时间
TeacherId
:
""
,
//教师编号
ClassRoomId
:
""
,
//教室编号
},
dataList
:
[],
loading
:
false
,
PageCount
:
0
,
columns
:
[{
name
:
'TeacherName'
,
label
:
'老师'
,
field
:
'TeacherName'
,
align
:
'left'
},
{
name
:
'ClassDateStr'
,
label
:
'日期'
,
align
:
'left'
,
field
:
'ClassDateStr'
,
},
{
name
:
'ClassTime'
,
label
:
'上课时间'
,
align
:
'left'
,
field
:
'ClassTime'
,
},
{
name
:
'RoomName'
,
label
:
'教室'
,
align
:
'left'
,
field
:
'RoomName'
,
},
{
name
:
'RoomNum'
,
label
:
'人数'
,
align
:
'left'
,
field
:
'RoomNum'
,
},
{
name
:
'JoinNum'
,
label
:
'报名人数'
,
align
:
'left'
,
field
:
'JoinNum'
,
},
{
name
:
'ClassContent'
,
label
:
'主讲内容'
,
align
:
'left'
,
field
:
'ClassContent'
,
},
{
name
:
'TeacherId'
,
label
:
'操作'
,
field
:
'TeacherId'
}
],
TeacherList
:
[],
ClassRoomList
:
[],
isShowReserve
:
false
,
reserveObj
:
{}
}
},
mounted
()
{
this
.
GetTeacherList
();
this
.
getClassRoomList
();
this
.
getList
()
},
methods
:
{
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
()
},
//获取课程系列分页列表
getList
()
{
GetReserveClassPage
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
}
})
},
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
}
});
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
}
})
},
//编辑试听
editVisitor
(
obj
){
if
(
obj
)
{
this
.
reserveObj
=
obj
}
else
{
this
.
reserveObj
=
null
}
this
.
isShowReserve
=
true
;
},
//删除试听课
deleteReserve
(
item
){
let
delMsg
=
{
ReserveClassId
:
item
.
ReserveClassId
,
};
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除该试听课?'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
RemoveReserveClass
(
delMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'删除成功!'
,
position
:
'top'
})
this
.
getList
();
}
})
}).
onCancel
(()
=>
{
});
},
//关闭弹窗
closeReserveForm
()
{
this
.
isShowReserve
=
false
},
//刷新页面
refreshPage
()
{
this
.
getList
();
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/pages/sale/visitorRegistrat.vue
View file @
09f65d06
...
...
@@ -38,8 +38,13 @@
</
template
>
<
template
v-slot:body-cell-Id=
"props"
>
<q-td
:props=
"props"
>
<q-btn
flat
size=
"xs"
@
click=
"editVisitor(props.row)"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
/>
<q-btn
flat
size=
"xs"
@
click=
"getDetail(props.row)"
icon=
"iconfont icon-View"
color=
"accent"
style=
"font-weight:400"
label=
"详情"
/>
<q-btn
flat
size=
"xs"
@
click=
"editVisitor(props.row)"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
/>
<q-btn
flat
size=
"xs"
@
click=
"getDetail(props.row)"
icon=
"iconfont icon-View"
color=
"accent"
style=
"font-weight:400"
label=
"详情"
/>
<q-btn
flat
size=
"xs"
@
click=
"getAppointment(props.row)"
icon=
"iconfont icon-ziyuan1"
color=
"accent"
style=
"font-weight:400;display:none;"
label=
"申请约课"
/>
</q-td>
</
template
>
<
template
v-slot:bottom
>
...
...
@@ -48,11 +53,10 @@
</
template
>
</q-table>
</div>
<schedulFanke
v-if=
"isShowDetail"
@
close=
"closeDetail"
:save-obj=
"sendObj"
></schedulFanke>
<visitor-form
v-if=
"isShowVisitor"
:save-obj=
"visitObjOption"
@
close=
"closeVisitorForm"
@
success=
"refreshPage"
>
<visitor-form
v-if=
"isShowVisitor"
:save-obj=
"visitObjOption"
@
close=
"closeVisitorForm"
@
success=
"refreshPage"
>
</visitor-form>
<schedulFanke
v-if=
"isShowDetail"
@
close=
"closeDetail"
:save-obj=
"sendObj"
></schedulFanke>
<appoint-form
v-if=
"isShowFangke"
:save-obj=
"visitObjOption"
@
close=
"closeAppoint"
@
success=
"refreshPage"
></appoint-form>
</div>
</template>
...
...
@@ -62,13 +66,15 @@
}
from
'../../api/scheduling/schedu'
import
schedulFanke
from
'../../components/schedul/schedul-fanke'
import
visitorForm
from
'../../components/schedul/visitor-form'
import
appointForm
from
'../../components/schedul/appoint-form'
export
default
{
meta
:
{
title
:
"访客登记"
},
components
:
{
schedulFanke
,
visitorForm
visitorForm
,
appointForm
},
data
()
{
return
{
...
...
@@ -159,10 +165,11 @@
label
:
'操作'
,
}
],
sendObj
:{},
isShowDetail
:
false
,
isShowVisitor
:
false
,
visitObjOption
:
null
sendObj
:
{},
isShowDetail
:
false
,
isShowVisitor
:
false
,
visitObjOption
:
null
,
isShowFangke
:
false
,
//是否显示填写预约
}
},
mounted
()
{
...
...
@@ -173,9 +180,7 @@
},
methods
:
{
//新增访客
editVisitor
(
obj
){
console
.
log
(
obj
);
editVisitor
(
obj
)
{
if
(
obj
)
{
this
.
visitObjOption
=
obj
;
}
else
{
...
...
@@ -202,24 +207,24 @@
this
.
getVisitoryPage
();
},
//过滤备注显示
getRemarks
(
remark
){
if
(
remark
.
length
>
10
)
{
return
remark
.
substring
(
0
,
10
)
+
'...'
;
}
else
{
getRemarks
(
remark
)
{
if
(
remark
.
length
>
10
)
{
return
remark
.
substring
(
0
,
10
)
+
'...'
;
}
else
{
return
remark
;
}
},
//获取详情
getDetail
(
obj
){
getDetail
(
obj
)
{
this
.
sendObj
=
obj
;
this
.
isShowDetail
=
true
;
this
.
isShowDetail
=
true
;
},
//关闭
closeDetail
(){
this
.
isShowDetail
=
false
;
closeDetail
()
{
this
.
isShowDetail
=
false
;
},
//关闭访客弹窗
closeVisitorForm
(){
closeVisitorForm
()
{
this
.
isShowVisitor
=
false
;
this
.
isShowDetail
=
false
;
},
...
...
@@ -229,7 +234,14 @@
this
.
isShowDetail
=
false
;
this
.
getList
();
},
//打开约课
getAppointment
(
item
)
{
this
.
visitObjOption
=
item
;
this
.
isShowFangke
=
true
;
},
closeAppoint
()
{
this
.
isShowFangke
=
false
;
}
}
}
...
...
src/router/routes.js
View file @
09f65d06
...
...
@@ -263,7 +263,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/financial/cycleOrderList.vue"
)
},
{
path
:
"/financial/cycleList"
,
//销售提成统计
component
:
()
=>
import
(
"pages/financial/cycleList.vue"
)
},
{
path
:
"/financial/TeamRevenueReport"
,
//营收报表
...
...
@@ -647,6 +651,7 @@ const routes = [{
import
(
"pages/sale/visitorRegistrat.vue"
)
},
{
<<<<<<<
HEAD
path
:
"/activity/activeType"
,
//活动 活动类型
component
:
()
=>
import
(
"pages/activity/activeType.vue"
)
...
...
@@ -670,6 +675,16 @@ const routes = [{
path
:
"/activity/materialMan"
,
//活动 活动图片与视频
component
:
()
=>
import
(
"pages/activity/materialMan.vue"
)
=======
path
:
"/sale/appointManagement"
,
//销售 约课管理
component
:
()
=>
import
(
"pages/sale/appointManagement.vue"
)
},
{
path
:
"/sale/reserveClass"
,
//销售 约课班级管理
component
:
()
=>
import
(
"pages/sale/reserveClass.vue"
)
>>>>>>>
17
aa2574ae5325e01bd1752d815f8d667cb683e2
},
{
path
:
"/course/teacherHours"
,
//教学奖励 教师课时统计
...
...
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