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
022c736e
Commit
022c736e
authored
Jun 23, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
into master
parents
2d48459d
d8089de9
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
372 additions
and
69 deletions
+372
-69
App.vue
src/App.vue
+1
-1
schedu.js
src/api/scheduling/schedu.js
+12
-0
classinfo-form.vue
src/components/course/classinfo-form.vue
+32
-11
orderlist.vue
src/components/sale/orderlist.vue
+10
-0
appodetail-form.vue
src/components/schedul/appodetail-form.vue
+79
-0
appoint-form.vue
src/components/schedul/appoint-form.vue
+60
-26
reserve-form.vue
src/components/schedul/reserve-form.vue
+13
-3
yueke-form.vue
src/components/schedul/yueke-form.vue
+1
-1
salesRules.vue
src/pages/financial/salesRules.vue
+11
-2
appointManagement.vue
src/pages/sale/appointManagement.vue
+153
-25
No files found.
src/App.vue
View file @
022c736e
...
...
@@ -12,7 +12,7 @@ export default {
<
style
>
@import
url('~assets/css/font.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
v5y4jdrtlx
.css')
;
@import
url('//at.alicdn.com/t/font_2077629_
006c4joct5c8d
.css')
;
html
,
body
,
...
...
src/api/scheduling/schedu.js
View file @
022c736e
...
...
@@ -245,3 +245,15 @@ export function setVisitorReserveStatus(data) {
data
})
}
/**
* 删除约课数据
* @param {JSON参数} data
*/
export
function
RemoveVisitorReserve
(
data
)
{
return
request
({
url
:
'/VisitorReserve/RemoveVisitorReserve'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/components/course/classinfo-form.vue
View file @
022c736e
...
...
@@ -47,29 +47,29 @@
<div
class=
"drawerTop"
>
<div
style=
"display:flex;align-items:center;"
>
<q-avatar
size=
"md"
style=
"background:#d4dfff;color:#2961FE;font-weight:bold;"
>
{{
setingObj
.
ClassName
.
substring
(
0
,
1
)
}}
<template
v-if=
"classObj.ClassName"
>
{{
classObj
.
ClassName
.
substring
(
0
,
1
)
}}
</
template
>
</q-avatar>
<div
class=
"className"
>
<div
class=
"classFirst"
>
{{
seting
Obj
.
ClassName
}}
</div>
<div
style=
"color:#666666;font-size:12px;"
>
{{
seting
Obj
.
CourseName
}}
</div>
<div
class=
"classFirst"
>
{{
class
Obj.ClassName}}
</div>
<div
style=
"color:#666666;font-size:12px;"
>
{{
class
Obj.CourseName}}
</div>
</div>
<div
class=
"classStatus"
>
{{
seting
Obj
.
ClassStatusStr
}}
</div>
<div
class=
"classStatus"
>
{{
class
Obj.ClassStatusStr}}
</div>
</div>
</div>
<div
style=
"margin:20px;font-size:12px;"
>
<div
class=
"row wrap "
>
<div
class=
"col-6"
>
<span
class=
"normalName"
>
老师名称:
</span>
<span
class=
"normalInner"
>
{{
seting
Obj
.
TeacherName
}}
</span>
<span
class=
"normalInner"
>
{{
class
Obj.TeacherName}}
</span>
</div>
<div
class=
"col-6"
>
<span
class=
"normalName"
>
开班时间:
</span>
<span
class=
"normalInner"
>
<template
v-if=
"
seting
Obj.NewPlanDateTime"
>
{{
seting
Obj
.
NewPlanDateTime
}}
<
template
v-if=
"
class
Obj.NewPlanDateTime"
>
{{
class
Obj
.
NewPlanDateTime
}}
</
template
>
<
template
v-else
>
{{
seting
Obj
.
OpenTime
}}
{{
class
Obj
.
OpenTime
}}
</
template
>
</span>
</div>
...
...
@@ -77,9 +77,9 @@
<div
class=
"row wrap"
style=
"margin-top:20px;"
>
<div
class=
"col-6"
style=
"display:flex;align-items:center;"
>
<span
class=
"normalName"
>
课程进度:
</span>
<q-linear-progress
rounded
size=
"20px"
:value=
"getProgress(
seting
Obj.CompleteProgress,100)"
<q-linear-progress
rounded
size=
"20px"
:value=
"getProgress(
class
Obj.CompleteProgress,100)"
style=
"background-color:#EEEEEF;color:#3FC4FF;display:inline-block;width:30%;margin-right:10px;"
/>
{{
seting
Obj.CompleteProgress}}%
{{
class
Obj.CompleteProgress}}%
</div>
</div>
</div>
...
...
@@ -110,6 +110,9 @@
</template>
<
script
>
import
{
getClassInfo
}
from
'../../api/school/index'
import
lessForm
from
'../course/lesson-form'
;
import
recordForm
from
'../course/record-form'
;
import
classlogForm
from
'../course/classlog-form'
;
...
...
@@ -132,15 +135,33 @@
persistent
:
true
,
tabCheck
:
'first'
,
//默认选第一个
loading
:
false
,
classObj
:{},
}
},
created
()
{
},
watch
:
{
setingObj
:
{
handler
(
newValue
)
{
this
.
queryClassInfo
();
},
immediate
:
true
}
},
mounted
()
{
// this.queryClassInfo();
},
methods
:
{
queryClassInfo
()
{
getClassInfo
({
ClassId
:
this
.
setingObj
.
ClassId
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
classObj
=
res
.
Data
;
}
})
},
closeShenheForm
()
{
this
.
persistent
=
false
;
this
.
$emit
(
'close'
);
...
...
src/components/sale/orderlist.vue
View file @
022c736e
...
...
@@ -100,6 +100,10 @@
报价单:
<span
class=
"order_OfferId"
@
click=
"goQuotation(item.OfferId)"
style=
"font-size:14px;"
>
{{item.OfferId}}
</span>
</div>
<div
style=
"margin-top:10px;"
v-if=
"item.VisitorReserveId>0"
>
预约单号:
<span
class=
"order_OfferId"
@
click=
"goVisitorReser(item.VisitorReserveId)"
style=
"font-size:14px;"
>
{{item.VisitorReserveId}}
</span>
</div>
<
template
v-if=
"item.IsCommissionGive==1"
>
<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>
...
...
@@ -965,6 +969,12 @@
Id
:
Id
});
},
//跳转到预约单号
goVisitorReser
(
Id
){
this
.
OpenNewUrl
(
"/sale/appointManagement"
,
{
Id
:
Id
});
},
//弹出退课名单
getTkshow
(
data
)
{
let
Tkshow
=
false
;
...
...
src/components/schedul/appodetail-form.vue
0 → 100644
View file @
022c736e
<
style
>
.editOrderDrawerTop
{
width
:
100%
;
height
:
50px
;
display
:
flex
;
justify-content
:
space-between
;
background-color
:
#f0f5fb
;
padding
:
5px
10px
;
align-items
:
center
;
}
</
style
>
<!--订单操作-->
<
template
>
<q-dialog
v-model=
"IsShowEditOrder"
maximized
full-height
seamless
position=
"right"
>
<q-card
style=
"margin-top:61px;width:500px"
class=
"no-border-radius classinfo_Dialog"
>
<div
class=
"editOrderDrawerTop"
>
<div
style=
"display:flex;align-items:center;margin-left:10px;"
>
<span
class=
"drawer_Span"
>
约课详情
</span>
</div>
</div>
<div
style=
"padding:20px 15px;"
>
<q-input
filled
stack-label
maxlength=
"100"
readonly
:dense=
"false"
v-model=
"saveObj.VisitorName"
class=
"col-12 q-pb-lg"
label=
"客户名称"
/>
<q-input
filled
stack-label
maxlength=
"100"
readonly
:dense=
"false"
v-model=
"saveObj.ClassDateStr"
class=
"col-12 q-pb-lg"
label=
"日期"
/>
<q-input
filled
stack-label
maxlength=
"100"
readonly
:dense=
"false"
v-model=
"saveObj.TeacherName"
class=
"col-12 q-pb-lg"
label=
"老师"
/>
<q-input
filled
stack-label
maxlength=
"100"
readonly
:dense=
"false"
v-model=
"saveObj.RoomName"
class=
"col-12 q-pb-lg"
label=
"教室"
/>
<q-input
filled
stack-label
maxlength=
"100"
readonly
:dense=
"false"
v-model=
"saveObj.OrderId"
class=
"col-12 q-pb-lg"
label=
"订单编号"
/>
<q-input
filled
stack-label
maxlength=
"100"
readonly
:dense=
"false"
v-model=
"saveObj.ReserveStatusStr"
class=
"col-12 q-pb-lg"
label=
"状态"
/>
<q-input
filled
stack-label
:dense=
"false"
readonly
v-model=
"saveObj.ClassContent"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"主讲内容"
/>
<div
style=
"margin:30px 10px 70px 0;"
>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"closeEditOrder"
/>
</div>
</div>
</q-card>
<div
class=
"dialog-out-close"
@
click=
"closeEditOrder"
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>
</q-dialog>
</
template
>
<
script
>
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
,
}
},
data
()
{
return
{
IsShowEditOrder
:
true
}
},
created
()
{
},
mounted
()
{
},
watch
:
{
},
methods
:
{
//关闭弹窗
closeEditOrder
()
{
this
.
IsShowEditOrder
=
false
;
this
.
$emit
(
'close'
)
},
}
}
</
script
>
src/components/schedul/appoint-form.vue
View file @
022c736e
...
...
@@ -24,7 +24,8 @@
<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=
"预约日期"
>
<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"
>
...
...
@@ -36,17 +37,25 @@
<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:
10
0%"
:picker-options=
"
{
<el-time-select
v-model=
"addMsg.ClassTime"
ref=
"ClassTime"
style=
"width:
5
0%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00'
}" placeholder="预约时间">
end: '21:00',
maxTime:addMsg.EndTime
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select
v-model=
"addMsg.EndTime"
ref=
"EndTime"
style=
"width:50%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00',
minTime:addMsg.ClassTime
}" 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"
<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"
...
...
@@ -100,7 +109,8 @@
Visitor_Id
:
0
,
//访客编号
ReserveClassId
:
0
,
//选中的班级编号
ClassDate
:
""
,
//预约日期
ClassTime
:
""
,
//预约时间
ClassTime
:
""
,
//预约开始时间
EndTime
:
""
,
//预约结束时间
TeacherId
:
0
,
//教师编号
ClassRoomId
:
0
,
//教室编号
ClassContent
:
""
,
//主讲内容
...
...
@@ -167,31 +177,55 @@
},
//保存
saveAppointForm
()
{
if
(
this
.
saveObj
)
{
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
){
if
(
this
.
addMsg
.
ClassTime
==
''
)
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择预约开始时间!'
,
})
return
;
}
if
(
this
.
addMsg
.
EndTime
==
''
){
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
'请选择预约结束时间!'
,
})
return
;
}
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
:
'数据保存成功!'
,
message
:
res
.
Message
,
position
:
'top'
})
this
.
$emit
(
'success'
);
this
.
closeAppointForm
();
}
else
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
timeout
:
2000
,
message
:
res
.
Message
,
})
}
this
.
closeAppointForm
();
})
}
},
//子组件选中传值
getchildInfo
(
obj
){
getchildInfo
(
obj
)
{
this
.
addMsg
.
TeacherId
=
obj
.
TeacherId
;
this
.
addMsg
.
ClassRoomId
=
obj
.
ClassRoomId
;
this
.
addMsg
.
ReserveClassId
=
obj
.
ReserveClassId
;
...
...
src/components/schedul/reserve-form.vue
View file @
022c736e
...
...
@@ -24,11 +24,19 @@
<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:
10
0%"
:picker-options=
"
{
<el-time-select
v-model=
"objOption.ClassTime"
ref=
"ClassTime"
style=
"width:
5
0%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00'
}" placeholder="预约时间">
end: '21:00',
maxTime:objOption.EndTime
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select
v-model=
"objOption.EndTime"
ref=
"EndTime"
style=
"width:50%"
:picker-options=
"
{
start: '09:00',
step: '00:15',
end: '21:00',
minTime:objOption.ClassTime
}" placeholder="预约结束时间">
</el-time-select>
</
template
>
</q-field>
...
...
@@ -36,6 +44,7 @@
<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
/>
...
...
@@ -78,6 +87,7 @@
TeacherId
:
""
,
ClassDate
:
""
,
ClassTime
:
""
,
EndTime
:
""
,
ClassRoomId
:
""
,
ClassContent
:
''
},
...
...
src/components/schedul/yueke-form.vue
View file @
022c736e
...
...
@@ -101,7 +101,7 @@
this
.
msg
.
ReserveStatus
=
3
;
}
if
(
this
.
ChoiceType
==
2
)
{
this
.
msg
.
r
emark
=
this
.
chooseLiudan
.
toString
();
this
.
msg
.
R
emark
=
this
.
chooseLiudan
.
toString
();
}
setVisitorReserveStatus
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
src/pages/financial/salesRules.vue
View file @
022c736e
...
...
@@ -34,7 +34,7 @@
<template
v-slot:top=
"props"
>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
icon=
"add"
@
click=
"preservation()"
ref=
"addBtn"
label=
"保存规则"
/>
<q-btn
color=
"accent"
size=
"sm"
v-if=
'isSalerule_preserve == true'
@
click=
"preservation()"
ref=
"addBtn"
label=
"保存规则"
/>
</div>
</
template
>
<
template
v-slot:body=
"props"
>
...
...
@@ -181,9 +181,18 @@
pageCount
:
0
,
persistent
:
false
,
listData
:
{},
isSalerule_preserve
:
false
,
}
},
created
()
{},
created
()
{
let
userinfo
=
this
.
getLocalStorage
();
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"Salerule_preserve"
){
//判断是否有保存的权限
this
.
isSalerule_preserve
=
true
;
return
}
})
},
mounted
()
{
this
.
getRuleList
();
//获取规则
...
...
src/pages/sale/appointManagement.vue
View file @
022c736e
<
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-3"
>
<q-input
@
input=
"resetSearch"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.VisitorName"
label=
"客户名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
stack-label
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
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.Q_ReserveStatus"
ref=
"Q_ReserveStatus"
:options=
"statusList"
label=
"状态"
clearable
:dense=
"false"
class=
"col-6 q-pb-lg"
emit-value
map-options
/>
</div>
<div
class=
"col-4"
>
<div
class=
"col-4 Sysuser_Date"
>
<q-field
filled
>
...
...
@@ -16,28 +41,53 @@
</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
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table sticky-right-column-table"
<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
/>
</
template
>
<
template
v-slot:body-cell-OrderId=
"props"
>
<q-td
:props=
"props"
>
<template
v-if=
"props.row.OrderId && props.row.OrderId>0"
>
<span
style=
"color:blue;cursor:pointer"
@
click=
"goOrderStatistics(props.row.OrderId)"
>
{{
props
.
row
.
OrderId
}}
</span>
</
template
>
</q-td>
</template>
<
template
v-slot:body-cell-ReserveStatusStr=
"props"
>
<q-td
:props=
"props"
>
<template
v-if=
"props.row.ReserveStatus==0"
>
{{
props
.
row
.
ReserveStatusStr
}}
</
template
>
<
template
v-if=
"props.row.ReserveStatus==1"
>
<span
style=
"color:green;cursor:pointer;"
>
{{
props
.
row
.
ReserveStatusStr
}}
</span>
</
template
>
<
template
v-if=
"props.row.ReserveStatus==2"
>
<span
style=
"color:#ff00ff;cursor:pointer;"
>
{{
props
.
row
.
ReserveStatusStr
}}
</span>
<q-tooltip
:offset=
"[10, 10]"
>
{{
props
.
row
.
Remark
}}
</q-tooltip>
</
template
>
<
template
v-if=
"props.row.ReserveStatus==3"
>
<span
style=
"color:red;cursor:pointer;"
>
{{
props
.
row
.
ReserveStatusStr
}}
</span>
<q-tooltip
:offset=
"[10, 10]"
>
{{
props
.
row
.
Remark
}}
</q-tooltip>
</
template
>
</q-td>
</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-btn
flat
size=
"xs"
@
click=
"getDetail(props.row)"
icon=
"iconfont icon-View"
color=
"accent"
style=
"font-weight:400"
label=
"详情"
/>
<q-btn
flat
size=
"xs"
icon=
"delete"
color=
"negative"
style=
"font-weight:400;"
label=
"删除"
@
click=
"deleteAppoint(props.row)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
v-if=
"props.row.ReserveStatus==0"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"ExchangeOrder(props.row)"
>
<q-item-section>
...
...
@@ -63,14 +113,19 @@
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
<yuekeForm
v-if=
"isShowYue"
:ChoiceType=
"ChoiceType"
:save-obj=
"visitorItem"
@
close=
"closeYuekeForm"
@
success=
"refreshPage"
></yuekeForm>
<exorderForm
v-if=
"isShowExOrder"
:save-obj=
"visitorItem"
@
close=
"closeOrderForm"
@
success=
"refreshPage"
></exorderForm>
<yuekeForm
v-if=
"isShowYue"
:ChoiceType=
"ChoiceType"
:save-obj=
"visitorItem"
@
close=
"closeYuekeForm"
@
success=
"refreshPage"
></yuekeForm>
<exorderForm
v-if=
"isShowExOrder"
:save-obj=
"orderObj"
@
close=
"closeOrderForm"
@
success=
"refreshPage"
></exorderForm>
<appodetailForm
v-if=
"isShowDetail"
:save-obj=
"orderObj"
@
close=
"closeAppForm"
></appodetailForm>
<exorderForm
v-if=
"isShowExOrder"
:save-obj=
"visitorItem"
@
close=
"closeOrderForm"
@
success=
"refreshPage"
>
</exorderForm>
</div>
</template>
<
script
>
import
{
queryVisitorReservePage
queryVisitorReservePage
,
RemoveVisitorReserve
}
from
'../../api/scheduling/schedu'
import
{
getTeacherDropDownList
,
...
...
@@ -78,14 +133,15 @@
}
from
"../../api/school/index"
;
import
yuekeForm
from
'../../components/schedul/yueke-form'
import
exorderForm
from
'../../components/schedul/exorder-form'
import
appodetailForm
from
'../../components/schedul/appodetail-form'
export
default
{
meta
:
{
title
:
"约课管理"
},
components
:
{
yuekeForm
,
exorderForm
exorderForm
,
appodetailForm
},
data
()
{
return
{
...
...
@@ -97,6 +153,8 @@
EndClassDate
:
""
,
//结束日期
TeacherId
:
""
,
ClassRoomId
:
""
,
Q_ReserveStatus
:
""
,
//状态
VisitorName
:
""
,
//客户名称
},
dataList
:
[],
loading
:
false
,
...
...
@@ -137,23 +195,50 @@
field
:
'ClassContent'
,
align
:
'left'
},
{
name
:
'ReserveStatusStr'
,
label
:
'状态'
,
field
:
'ReserveStatusStr'
,
align
:
'left'
},
{
name
:
'OrderId'
,
label
:
'订单编号'
,
field
:
'OrderId'
,
align
:
'left'
},
{
name
:
'Id'
,
label
:
'操作'
,
field
:
'Id'
}
],
isShowYue
:
false
,
ChoiceType
:
0
,
visitorItem
:{},
//选中的对象
isShowExOrder
:
false
,
TeacherList
:
[],
ClassRoomList
:
[],
statusList
:
[{
Id
:
0
,
Name
:
"跟进中"
},
{
Id
:
1
,
Name
:
"成交"
},
{
Id
:
2
,
Name
:
"流单"
},
{
Id
:
3
,
Name
:
"取消"
},
],
isShowYue
:
false
,
ChoiceType
:
0
,
visitorItem
:
{},
//选中的对象
isShowExOrder
:
false
,
orderObj
:
{},
isShowDetail
:
false
//显示详情
}
},
created
()
{
...
...
@@ -206,18 +291,61 @@
},
//关闭弹窗
closeYuekeForm
()
{
this
.
isShowYue
=
false
this
.
isShowYue
=
false
;
},
closeOrderForm
()
{
this
.
isShowExOrder
=
false
this
.
isShowExOrder
=
false
;
},
closeAppForm
()
{
this
.
isShowDetail
=
false
;
},
//刷新页面
refreshPage
()
{
this
.
getList
();
},
ExchangeOrder
(
item
){
ExchangeOrder
(
item
)
{
this
.
visitorItem
=
item
;
this
.
isShowExOrder
=
true
;
this
.
isShowExOrder
=
true
;
},
//查看详情
getDetail
(
item
)
{
this
.
orderObj
=
item
;
this
.
isShowDetail
=
true
;
},
//跳转到报名统计
goOrderStatistics
(
id
){
this
.
OpenNewUrl
(
"/sale/orderStatistics"
,
{
OrderId
:
id
});
},
//删除约课管理
deleteAppoint
(
item
){
let
delMsg
=
{
Id
:
item
.
Id
};
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除约课信息?'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
RemoveVisitorReserve
(
delMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'删除成功!'
,
position
:
'top'
})
this
.
getList
();
}
})
}).
onCancel
(()
=>
{
});
}
}
}
...
...
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