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
4119b68b
Commit
4119b68b
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
fdc06738
fd82d8f2
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1942 additions
and
1513 deletions
+1942
-1513
schedu.js
src/api/scheduling/schedu.js
+12
-0
active-from.vue
src/components/activity/active-from.vue
+329
-333
record-form.vue
src/components/course/record-form.vue
+0
-1
addDutyItem.vue
src/components/duty/addDutyItem.vue
+0
-1
editOrder-form.vue
src/components/sale/editOrder-form.vue
+0
-1
appoint-form.vue
src/components/schedul/appoint-form.vue
+0
-2
audition-form.vue
src/components/schedul/audition-form.vue
+0
-1
exorder-form.vue
src/components/schedul/exorder-form.vue
+334
-0
yueke-form.vue
src/components/schedul/yueke-form.vue
+56
-21
classroom-form.vue
src/components/school/classroom/classroom-form.vue
+1
-12
activeType.vue
src/pages/activity/activeType.vue
+0
-2
activityList.vue
src/pages/activity/activityList.vue
+0
-2
classroomNav.vue
src/pages/classroom/components/classroomNav.vue
+0
-1
lunarCalendar.js
src/pages/classroom/components/js/lunarCalendar.js
+0
-10
scenicSummary.vue
src/pages/classroom/components/scenicSummary.vue
+1
-29
userHistory.vue
src/pages/classroom/components/userHistory.vue
+159
-147
courseInfo.vue
src/pages/classroom/courseInfo.vue
+1
-2
useRecord.vue
src/pages/classroom/useRecord.vue
+2
-2
teacherLesson.vue
src/pages/course/teacherLesson.vue
+0
-1
CommissionDetail.vue
src/pages/financial/CommissionDetail.vue
+224
-215
cycleOrderList.vue
src/pages/financial/cycleOrderList.vue
+251
-239
FinancialDocuments.vue
src/pages/financial/financalDocument/FinancialDocuments.vue
+0
-1
salesRules.vue
src/pages/financial/salesRules.vue
+264
-247
userCommissionDetails.vue
src/pages/financial/userCommissionDetails.vue
+229
-231
appointManagement.vue
src/pages/sale/appointManagement.vue
+79
-12
No files found.
src/api/scheduling/schedu.js
View file @
4119b68b
...
...
@@ -233,3 +233,15 @@ export function GetReserveClass(data) {
data
})
}
/**
* 修改预约状态
* @param {JSON参数} data
*/
export
function
setVisitorReserveStatus
(
data
)
{
return
request
({
url
:
'/VisitorReserve/UpdateVisitorReserveStatus'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/components/activity/active-from.vue
View file @
4119b68b
<
template
>
<div>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
class=
"addactivetype"
>
<div>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
class=
"addactivetype"
>
<q-card
style=
"width: 450px;max-width:500px;"
>
<q-card-section>
<div
class=
"text-h6"
>
{{
(
saveObj
&&
saveObj
.
Id
>
0
)?
"修改活动"
:
"新增活动"
}}
</div>
...
...
@@ -14,7 +15,8 @@
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<q-input
filled
v-model=
"addMsg.StartTime"
mask=
"date"
label=
"开始时间"
ref=
"StartTime"
:rules=
"[val => !!val || '请选择开始时间']"
>
<q-input
filled
v-model=
"addMsg.StartTime"
mask=
"date"
label=
"开始时间"
ref=
"StartTime"
:rules=
"[val => !!val || '请选择开始时间']"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy"
transition-show=
"scale"
transition-hide=
"scale"
>
...
...
@@ -31,7 +33,8 @@
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<q-input
filled
v-model=
"addMsg.EndTime"
mask=
"date"
label=
"结束时间"
ref=
"EndTime"
:rules=
"[val => !!val || '请选择结束时间']"
>
<q-input
filled
v-model=
"addMsg.EndTime"
mask=
"date"
label=
"结束时间"
ref=
"EndTime"
:rules=
"[val => !!val || '请选择结束时间']"
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy"
transition-show=
"scale"
transition-hide=
"scale"
>
...
...
@@ -48,15 +51,16 @@
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<q-input
filled
v-model=
"addMsg.SignStartTime"
mask=
"####-##-## ##:##:##"
ref=
"SignStartTime"
label=
"报名开始时间"
:rules=
"[val => !!val || '请选择报名开始时间']"
>
<q-input
filled
v-model=
"addMsg.SignStartTime"
mask=
"####-##-## ##:##:##"
ref=
"SignStartTime"
label=
"报名开始时间"
:rules=
"[val => !!val || '请选择报名开始时间']"
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy"
transition-show=
"scale"
transition-hide=
"scale"
>
<div
class=
"q-gutter-md row items-start"
>
<q-date
v-model=
"addMsg.SignStartTimeStr"
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"date"
/>
<q-time
v-model=
"addMsg.SignStartTimeStr"
format24h
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"time"
/>
<q-date
v-model=
"addMsg.SignStartTimeStr"
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"date"
/>
<q-time
v-model=
"addMsg.SignStartTimeStr"
format24h
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"time"
/>
</div>
<q-btn
v-close-popup
label=
"关闭"
color=
"primary"
flat
style=
"float:right"
/>
<q-btn
v-close-popup
label=
"关闭"
color=
"primary"
flat
style=
"float:right"
/>
</q-popup-proxy>
</q-icon>
</
template
>
...
...
@@ -65,15 +69,16 @@
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<q-input
filled
v-model=
"addMsg.SignEndTime"
mask=
"####-##-## ##:##:##"
ref=
"SignEndTime"
label=
"报名结束时间"
:rules=
"[val => !!val || '请选择报名开始时间']"
>
<q-input
filled
v-model=
"addMsg.SignEndTime"
mask=
"####-##-## ##:##:##"
ref=
"SignEndTime"
label=
"报名结束时间"
:rules=
"[val => !!val || '请选择报名开始时间']"
>
<
template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy"
transition-show=
"scale"
transition-hide=
"scale"
>
<div
class=
"q-gutter-md row items-start"
>
<q-date
v-model=
"addMsg.SignEndTimeStr"
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"endDate"
/>
<q-time
v-model=
"addMsg.SignEndTimeStr"
format24h
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"endTime"
/>
<q-date
v-model=
"addMsg.SignEndTimeStr"
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"endDate"
/>
<q-time
v-model=
"addMsg.SignEndTimeStr"
format24h
mask=
"YYYY-MM-DD HH:mm:ss"
@
input=
"endTime"
/>
</div>
<q-btn
v-close-popup
label=
"关闭"
color=
"primary"
flat
style=
"float:right"
/>
<q-btn
v-close-popup
label=
"关闭"
color=
"primary"
flat
style=
"float:right"
/>
</q-popup-proxy>
</q-icon>
</
template
>
...
...
@@ -82,97 +87,94 @@
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<q-select
stack-label
color=
"primary"
filled
clearable
label=
"选择活动类型"
option-value=
"Id"
option-label=
"TypeName
"
:options=
"activeTypeOptions"
v-model=
"addMsg.ActivityType"
ref=
"ActivityType"
emit-value
map-options
:rules=
"[val => !!val || '请选择活动类型']"
/>
<q-select
stack-label
color=
"primary"
filled
clearable
label=
"选择活动类型"
option-value=
"Id
"
option-label=
"TypeName"
:options=
"activeTypeOptions"
v-model=
"addMsg.ActivityType"
ref=
"ActivityType"
emit-value
map-options
:rules=
"[val => !!val || '请选择活动类型']"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12"
>
<q-uploader
:style=
"{ backgroundImage: 'url(' + addMsg.CoverImg + ')' }"
style=
"width:auto;height:300px;background-repeat:no-repeat;background-size:cover; border:1px solid #eee"
flat
hide-upload-btn
max-files=
"1"
label=
"封面图"
accept=
".jpg, image/*"
:factory=
"uploadFile"
auto-upload
>
<q-uploader
:style=
"{ backgroundImage: 'url(' + addMsg.CoverImg + ')' }"
style=
"width:auto;height:300px;background-repeat:no-repeat;background-size:cover; border:1px solid #eee"
flat
hide-upload-btn
max-files=
"1"
label=
"封面图"
accept=
".jpg, image/*"
:factory=
"uploadFile"
auto-upload
>
</q-uploader>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12 q-mt-sm q-mb-sm flex "
style=
"align-items:center"
>
<div>
是否免费:
</div>
<q-toggle
v-model=
"addMsg.IsFree"
:true-value=
"1"
:false-value=
"2"
@
input=
'addMsg.Price=0,addMsg.PointNum=0'
/>
<q-toggle
v-model=
"addMsg.IsFree"
:true-value=
"1"
:false-value=
"2"
@
input=
'addMsg.Price=0,addMsg.PointNum=0'
/>
</div>
</div>
<div
class=
"row wrap"
v-if=
"addMsg.IsFree==2"
>
<div
class=
"col-12"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:step=
"0.01"
:dense=
"false"
v-model=
"addMsg.Price"
ref=
"Price"
class=
"col-12 q-pb-lg"
label=
"现金价格"
:rules=
"[val => !!val || '请填写现金价格']"
suffix=
"元"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:step=
"0.01"
:dense=
"false"
v-model=
"addMsg.Price"
ref=
"Price"
class=
"col-12 q-pb-lg"
label=
"现金价格"
:rules=
"[val => !!val || '请填写现金价格']"
suffix=
"元"
>
</q-input>
</div>
</div>
<div
class=
"row wrap"
v-if=
"addMsg.IsFree==2"
>
<div
class=
"col-12"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.PointNum"
ref=
"
PointNum"
class=
"col-12 q-pb-lg"
label=
"点数"
:rules=
"[val => !!val || '请填写点数']"
suffix=
"点"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.
PointNum"
ref=
"PointNum"
class=
"col-12 q-pb-lg"
label=
"点数"
:rules=
"[val => !!val || '请填写点数']"
suffix=
"点"
>
</q-input>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12 q-mt-sm q-mb-sm flex "
style=
"align-items:center"
>
<div>
是否区分性别:
</div>
<q-toggle
v-model=
"addMsg.Distinguish"
:true-value=
"0"
:false-value=
"1"
@
input=
'addMsg.ManNum=0,addMsg.WoManNum=0'
/>
<q-toggle
v-model=
"addMsg.Distinguish"
:true-value=
"0"
:false-value=
"1"
@
input=
'addMsg.ManNum=0,addMsg.WoManNum=0'
/>
</div>
</div>
<div
class=
"row wrap"
v-if=
"addMsg.Distinguish==0"
>
<div
class=
"col-12"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.ManNum"
ref=
"
ManNum"
class=
"col-12 q-pb-lg"
label=
"男性"
:rules=
"[val => !!val || '请填写男性人数']"
suffix=
"人"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.
ManNum"
ref=
"ManNum"
class=
"col-12 q-pb-lg"
label=
"男性"
:rules=
"[val => !!val || '请填写男性人数']"
suffix=
"人"
>
</q-input>
</div>
</div>
<div
class=
"row wrap"
v-if=
"addMsg.Distinguish==0"
>
<div
class=
"col-12"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.WoManNum"
ref=
"
WoManNum"
class=
"col-12 q-pb-lg"
label=
"女性"
:rules=
"[val => !!val || '请填写女性人数']"
suffix=
"人"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.
WoManNum"
ref=
"WoManNum"
class=
"col-12 q-pb-lg"
label=
"女性"
:rules=
"[val => !!val || '请填写女性人数']"
suffix=
"人"
>
</q-input>
</div>
</div>
<div
class=
"row wrap"
v-if=
"addMsg.Distinguish==1"
>
<div
class=
"col-12"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.ManNum"
ref=
"
ManNum"
class=
"col-12 q-pb-lg"
label=
"总人数"
:rules=
"[val => !!val || '请填写总人数']"
suffix=
"人"
>
<q-input
filled
stack-label
maxlength=
"20"
type=
"number"
:dense=
"false"
v-model=
"addMsg.
ManNum"
ref=
"ManNum"
class=
"col-12 q-pb-lg"
label=
"总人数"
:rules=
"[val => !!val || '请填写总人数']"
suffix=
"人"
>
</q-input>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12 q-mt-sm q-mb-sm flex "
style=
"align-items:center"
>
<div>
是否区分年龄:
</div>
<q-toggle
v-model=
"addMsg.AgeLimit"
:true-value=
"0"
:false-value=
"1"
@
change=
'addMsg.StartAge=0,addMsg.EndAge=0'
/>
<q-toggle
v-model=
"addMsg.AgeLimit"
:true-value=
"0"
:false-value=
"1"
@
change=
'addMsg.StartAge=0,addMsg.EndAge=0'
/>
</div>
</div>
<div
class=
"row wrap"
v-if=
"addMsg.AgeLimit==0"
>
<div
class=
"col-12 q-mt-sm q-mb-sm flex "
style=
"align-items:center"
>
<div>
年龄范围:
</div>
<q-range
v-model=
"labelAge"
:min=
"0"
:max=
"50"
:step=
"1"
label-always
:left-label-value=
"labelAge.min + '岁'"
:right-label-value=
"labelAge.max + '岁'"
color=
"brown"
@
change =
"changeAge"
/>
<q-range
v-model=
"labelAge"
:min=
"0"
:max=
"50"
:step=
"1"
label-always
:left-label-value=
"labelAge.min + '岁'"
:right-label-value=
"labelAge.max + '岁'"
color=
"brown"
@
change=
"changeAge"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12 q-mt-sm q-mb-sm flex "
style=
"align-items:center"
>
<div>
是否内部限制:
</div>
<q-toggle
v-model=
"addMsg.LnsideLimit"
:true-value=
"1"
:false-value=
"0"
/>
<q-toggle
v-model=
"addMsg.LnsideLimit"
:true-value=
"1"
:false-value=
"0"
/>
</div>
</div>
<div
class=
"row wrap"
>
<div
class=
"col-12 q-mt-sm q-mb-sm flex "
style=
"align-items:center"
>
<div>
报名取消确认:
</div>
<q-toggle
v-model=
"addMsg.IsCancelConfirm"
:true-value=
"1"
:false-value=
"2"
/>
<q-toggle
v-model=
"addMsg.IsCancelConfirm"
:true-value=
"1"
:false-value=
"2"
/>
</div>
</div>
<div
class=
"row wrap"
>
...
...
@@ -187,7 +189,7 @@
<q-input
filled
stack-label
maxlength=
"40"
disable
:dense=
"false"
v-model=
"addMsg.LonLat"
ref=
"LonLat"
class=
"col-12 q-pb-lg"
label=
"门店经纬度"
:rules=
"[val => !!val || '请填写门店经纬度']"
>
<
template
v-slot:after
>
<q-btn
round
color=
"black"
icon=
"my_location"
@
click=
"getMapShow"
/>
<q-btn
round
color=
"black"
icon=
"my_location"
@
click=
"getMapShow"
/>
</
template
>
</q-input>
<!-- 地图选址 -->
...
...
@@ -199,16 +201,8 @@
<div
class=
"row wrap"
>
<div
class=
"q-mt-lg q-mb-sm"
>
活动详情
</div>
<div
class=
"col-12"
>
<Ueditor
:value=
"ueditor.value"
:config=
"ueditor.config"
@
input=
"setVal"
ref=
"ue"
no-margin
:isShowInsertImage=
"false"
:isShowAttachment=
"false"
:isShowVoice=
"false"
></Ueditor>
<Ueditor
:value=
"ueditor.value"
:config=
"ueditor.config"
@
input=
"setVal"
ref=
"ue"
no-margin
:isShowInsertImage=
"false"
:isShowAttachment=
"false"
:isShowVoice=
"false"
></Ueditor>
</div>
</div>
</q-card-section>
...
...
@@ -223,7 +217,7 @@
</template>
<
script
>
import
{
import
{
UploadSelfFile
}
from
"../../api/common/common"
;
import
Ueditor
from
"../editor/UeEditor"
;
...
...
@@ -234,19 +228,22 @@ import {
type
:
Object
,
default
:
null
},
activeTypeOptions
:{
activeTypeOptions
:
{
type
:
Array
,
default
:
null
}
},
components
:
{
Ueditor
,
Map
},
components
:
{
Ueditor
,
Map
},
data
()
{
return
{
labelAge
:{
labelAge
:
{
min
:
0
,
max
:
0
},
//年龄范围
},
//年龄范围
addMsg
:
{
Id
:
0
,
//活动编号(主键)
ActivityName
:
""
,
//活动名称
...
...
@@ -259,17 +256,17 @@ import {
SignEndTime
:
""
,
//报名截止时间
IsFree
:
1
,
//是否免费 1是 2否
Price
:
0
,
//价格
PointNum
:
0
,
//点数
PointNum
:
0
,
//点数
IsCancelConfirm
:
1
,
//取消确定1是 2否
Distinguish
:
1
,
//是否区别性别 0区分 1不区分
ManNum
:
0
,
//男数量
WoManNum
:
0
,
//女数量
AgeLimit
:
1
,
//是否区别年龄 0区分 1不区分
StartAge
:
0
,
//最小年龄
EndAge
:
0
,
//最大年龄
LnsideLimit
:
1
,
//内部限制0-否,1-是
LonLat
:
''
,
//经纬度(逗号分隔)
LocationName
:
''
,
//位置名称
Distinguish
:
1
,
//是否区别性别 0区分 1不区分
ManNum
:
0
,
//男数量
WoManNum
:
0
,
//女数量
AgeLimit
:
1
,
//是否区别年龄 0区分 1不区分
StartAge
:
0
,
//最小年龄
EndAge
:
0
,
//最大年龄
LnsideLimit
:
1
,
//内部限制0-否,1-是
LonLat
:
''
,
//经纬度(逗号分隔)
LocationName
:
''
,
//位置名称
},
persistent
:
true
,
isShowMap
:
false
,
//是否显示地图弹窗
...
...
@@ -286,40 +283,39 @@ import {
}
},
mounted
()
{
console
.
log
(
135
,
this
.
saveObj
)
if
(
this
.
saveObj
&&
this
.
saveObj
.
Id
>
0
)
{
this
.
addMsg
.
Id
=
this
.
saveObj
.
Id
this
.
addMsg
.
ActivityName
=
this
.
saveObj
.
ActivityName
this
.
addMsg
.
StartTime
=
this
.
saveObj
.
StartTime
this
.
addMsg
.
EndTime
=
this
.
saveObj
.
EndTime
this
.
addMsg
.
CoverImg
=
this
.
saveObj
.
CoverImg
this
.
addMsg
.
ActivityType
=
this
.
saveObj
.
ActivityType
this
.
addMsg
.
ActivityInfo
=
this
.
saveObj
.
ActivityInfo
this
.
addMsg
.
SignStartTime
=
this
.
saveObj
.
SignStartTime
this
.
addMsg
.
SignStartTimeStr
=
this
.
saveObj
.
SignStartTimeStr
this
.
addMsg
.
SignEndTime
=
this
.
saveObj
.
SignEndTime
this
.
addMsg
.
SignEndTimeStr
=
this
.
saveObj
.
SignEndTimeStr
this
.
addMsg
.
IsFree
=
this
.
saveObj
.
IsFree
this
.
addMsg
.
Price
=
this
.
saveObj
.
Price
this
.
addMsg
.
PointNum
=
this
.
saveObj
.
PointNum
this
.
addMsg
.
IsCancelConfirm
=
this
.
saveObj
.
IsCancelConfirm
this
.
addMsg
.
Distinguish
=
this
.
saveObj
.
Distinguish
this
.
addMsg
.
ManNum
=
this
.
saveObj
.
ManNum
this
.
addMsg
.
WoManNum
=
this
.
saveObj
.
WoManNum
this
.
addMsg
.
AgeLimit
=
this
.
saveObj
.
AgeLimit
this
.
addMsg
.
StartAge
=
this
.
saveObj
.
StartAge
this
.
addMsg
.
EndAge
=
this
.
saveObj
.
EndAge
this
.
labelAge
.
max
=
this
.
saveObj
.
StartAge
this
.
labelAge
.
min
=
this
.
saveObj
.
EndAge
this
.
addMsg
.
LnsideLimit
=
this
.
saveObj
.
LnsideLimit
this
.
addMsg
.
LonLat
=
this
.
saveObj
.
LonLat
this
.
addMsg
.
LocationName
=
this
.
saveObj
.
LocationName
this
.
addMsg
.
Id
=
this
.
saveObj
.
Id
this
.
addMsg
.
ActivityName
=
this
.
saveObj
.
ActivityName
this
.
addMsg
.
StartTime
=
this
.
saveObj
.
StartTime
this
.
addMsg
.
EndTime
=
this
.
saveObj
.
EndTime
this
.
addMsg
.
CoverImg
=
this
.
saveObj
.
CoverImg
this
.
addMsg
.
ActivityType
=
this
.
saveObj
.
ActivityType
this
.
addMsg
.
ActivityInfo
=
this
.
saveObj
.
ActivityInfo
this
.
addMsg
.
SignStartTime
=
this
.
saveObj
.
SignStartTime
this
.
addMsg
.
SignStartTimeStr
=
this
.
saveObj
.
SignStartTimeStr
this
.
addMsg
.
SignEndTime
=
this
.
saveObj
.
SignEndTime
this
.
addMsg
.
SignEndTimeStr
=
this
.
saveObj
.
SignEndTimeStr
this
.
addMsg
.
IsFree
=
this
.
saveObj
.
IsFree
this
.
addMsg
.
Price
=
this
.
saveObj
.
Price
this
.
addMsg
.
PointNum
=
this
.
saveObj
.
PointNum
this
.
addMsg
.
IsCancelConfirm
=
this
.
saveObj
.
IsCancelConfirm
this
.
addMsg
.
Distinguish
=
this
.
saveObj
.
Distinguish
this
.
addMsg
.
ManNum
=
this
.
saveObj
.
ManNum
this
.
addMsg
.
WoManNum
=
this
.
saveObj
.
WoManNum
this
.
addMsg
.
AgeLimit
=
this
.
saveObj
.
AgeLimit
this
.
addMsg
.
StartAge
=
this
.
saveObj
.
StartAge
this
.
addMsg
.
EndAge
=
this
.
saveObj
.
EndAge
this
.
labelAge
.
max
=
this
.
saveObj
.
StartAge
this
.
labelAge
.
min
=
this
.
saveObj
.
EndAge
this
.
addMsg
.
LnsideLimit
=
this
.
saveObj
.
LnsideLimit
this
.
addMsg
.
LonLat
=
this
.
saveObj
.
LonLat
this
.
addMsg
.
LocationName
=
this
.
saveObj
.
LocationName
// this.addMsg.ActivityName=this.saveObj.ActivityName
// this.addMsg.ActivityName=this.saveObj.ActivityName
// this.addMsg.TypeContent=this.saveObj.TypeContent
this
.
setVal
(
this
.
addMsg
.
ActivityInfo
);
}
else
{
this
.
addMsg
=
{
}
else
{
this
.
addMsg
=
{
Id
:
0
,
//活动编号(主键)
ActivityName
:
""
,
//活动名称
StartTime
:
""
,
//开始时间
...
...
@@ -331,40 +327,40 @@ import {
SignEndTime
:
""
,
//报名截止时间
IsFree
:
1
,
//是否免费 1是 2否
Price
:
0
,
//价格
PointNum
:
0
,
//点数
PointNum
:
0
,
//点数
IsCancelConfirm
:
1
,
//取消确定1是 2否
Distinguish
:
1
,
//是否区别性别 0区分 1不区分
ManNum
:
0
,
//男数量
WoManNum
:
0
,
//女数量
AgeLimit
:
1
,
//是否区别年龄 0区分 1不区分
StartAge
:
0
,
//最小年龄
EndAge
:
0
,
//最大年龄
LnsideLimit
:
1
,
//内部限制0-否,1-是
LonLat
:
''
,
//经纬度(逗号分隔)
LocationName
:
''
,
//位置名称
Distinguish
:
1
,
//是否区别性别 0区分 1不区分
ManNum
:
0
,
//男数量
WoManNum
:
0
,
//女数量
AgeLimit
:
1
,
//是否区别年龄 0区分 1不区分
StartAge
:
0
,
//最小年龄
EndAge
:
0
,
//最大年龄
LnsideLimit
:
1
,
//内部限制0-否,1-是
LonLat
:
''
,
//经纬度(逗号分隔)
LocationName
:
''
,
//位置名称
},
this
.
setVal
(
""
);
}
},
methods
:
{
// 选择报名开始时间
date
(
val
)
{
this
.
addMsg
.
SignStartTime
=
val
date
(
val
)
{
this
.
addMsg
.
SignStartTime
=
val
},
time
(
val
)
{
this
.
addMsg
.
SignStartTime
=
val
time
(
val
)
{
this
.
addMsg
.
SignStartTime
=
val
},
// 选择报名结束时间
endDate
(
val
)
{
this
.
addMsg
.
SignEndTime
=
val
endDate
(
val
)
{
this
.
addMsg
.
SignEndTime
=
val
},
endTime
(
val
)
{
this
.
addMsg
.
SignEndTime
=
val
endTime
(
val
)
{
this
.
addMsg
.
SignEndTime
=
val
},
// 选择年龄范围
changeAge
(
val
)
{
this
.
addMsg
.
StartAge
=
val
.
min
this
.
addMsg
.
EndAge
=
val
.
max
changeAge
(
val
)
{
this
.
addMsg
.
StartAge
=
val
.
min
this
.
addMsg
.
EndAge
=
val
.
max
},
uploadFile
(
files
)
{
UploadSelfFile
(
"course"
,
files
[
0
],
res
=>
{
...
...
@@ -375,24 +371,23 @@ import {
},
//保存信息
saveRule
()
{
console
.
log
(
this
.
addMsg
)
this
.
$refs
.
Name
.
validate
();
this
.
$refs
.
StartTime
.
validate
();
this
.
$refs
.
EndTime
.
validate
();
this
.
$refs
.
SignStartTime
.
validate
();
this
.
$refs
.
SignEndTime
.
validate
();
if
(
!
this
.
$refs
.
Name
.
hasError
&&!
this
.
$refs
.
StartTime
.
hasError
&&!
this
.
$refs
.
EndTime
.
hasError
&&!
this
.
$refs
.
SignStartTime
.
hasError
&&
!
this
.
$refs
.
SignEndTime
.
hasError
)
{
if
(
!
this
.
$refs
.
Name
.
hasError
&&
!
this
.
$refs
.
StartTime
.
hasError
&&
!
this
.
$refs
.
EndTime
.
hasError
&&
!
this
.
$refs
.
SignStartTime
.
hasError
&&
!
this
.
$refs
.
SignEndTime
.
hasError
)
{
this
.
apipostDS
(
"/api/Education/SetActivity"
,
this
.
addMsg
,(
res
)
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
apipostDS
(
"/api/Education/SetActivity"
,
this
.
addMsg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
closeRuleForm
();
this
.
$emit
(
'success'
);
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
})
...
...
@@ -416,10 +411,8 @@ import {
},
getMapShow
()
{
this
.
isShowMap
=
true
;
console
.
log
(
this
.
isShowMap
)
},
},
}
</
script
>
...
...
@@ -434,14 +427,17 @@ import {
.el-tag
{
margin-right
:
5px
;
}
.el-form-item__content
{
line-height
:
0
;
}
.el-button
{
.el-button
{
line-height
:
30px
;
padding-top
:
0
;
padding-bottom
:
0
;
height
:
32px
;
margin-top
:
8px
;
}
</
style
>
src/components/course/record-form.vue
View file @
4119b68b
...
...
@@ -276,7 +276,6 @@
this
.
msg
.
ClassId
=
this
.
setingObj
.
ClassId
;
this
.
msg
.
TeacherId
=
this
.
setingObj
.
Teacher_Id
;
GetClassPlanLogPageList
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
"res,"
,
res
.
Data
)
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
pageCount
=
res
.
Data
.
PageCount
;
...
...
src/components/duty/addDutyItem.vue
View file @
4119b68b
...
...
@@ -246,7 +246,6 @@
getSchoolDropdown
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
schoolOptions
=
res
.
Data
;
console
.
log
(
this
.
schoolOptions
,
'schoolOptions'
);
}
})
},
...
...
src/components/sale/editOrder-form.vue
View file @
4119b68b
...
...
@@ -456,7 +456,6 @@
GetSelectClassOrderList
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
beforeOrderList
=
res
.
Data
;
console
.
log
(
res
,
'前置数据'
);
}
})
},
...
...
src/components/schedul/appoint-form.vue
View file @
4119b68b
...
...
@@ -192,11 +192,9 @@
},
//子组件选中传值
getchildInfo
(
obj
){
console
.
log
(
obj
,
'来了'
);
this
.
addMsg
.
TeacherId
=
obj
.
TeacherId
;
this
.
addMsg
.
ClassRoomId
=
obj
.
ClassRoomId
;
this
.
addMsg
.
ReserveClassId
=
obj
.
ReserveClassId
;
}
}
}
...
...
src/components/schedul/audition-form.vue
View file @
4119b68b
...
...
@@ -113,7 +113,6 @@
//获取课程系列分页列表
getList
()
{
GetReserveClassPage
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
){
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
...
...
src/components/schedul/exorder-form.vue
0 → 100644
View file @
4119b68b
<
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"
:dense=
"false"
@
keyup
.
native=
"checkInteger(OrderMsg,'GuestNum')"
v-model=
"OrderMsg.GuestNum"
@
input=
"changePrice(),countPrice()"
class=
"col-12"
label=
"人数"
:rules=
"[val => !!val || '请填写人数']"
/>
<q-select
filled
v-model=
"OrderMsg.ClassId"
class=
"q-pb-lg"
ref=
"ClassId"
:options=
"classList"
option-label=
"ClassName"
option-value=
"ClassId"
emit-value
map-options
:rules=
"[val => !!val || '请选择班级']"
label=
"选择班级"
@
input=
"getClassList(OrderMsg.ClassId)"
/>
<q-select
filled
option-value=
"CourseId"
option-label=
"CourseName"
ref=
"CourseId"
v-model=
"OrderMsg.CourseId"
:options=
"CourseList"
emit-value
map-options
class=
"q-pb-lg"
:rules=
"[val => !!val || '请选择课程']"
label=
"选择课程"
@
input=
"changePrice"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.Unit_Price"
:disable=
"IsShowUpPrice==true?false:true"
@
blur=
"countPrice"
class=
"col-12"
label=
"成交单价"
:rules=
"[val => !!val || '请填成交单价']"
/>
<q-toggle
v-model=
"IsShowUpPrice"
label=
"高于定价收生"
class=
"q-mb-md"
/>
<q-input
filled
stack-label
:dense=
"false"
maxlength=
"10"
@
keyup
.
native=
"checkPrice(OrderMsg,'PreferPrice')"
v-model=
"OrderMsg.PreferPrice"
class=
"col-12 q-pb-lg"
label=
"应收"
/>
<q-select
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
v-model=
"OrderMsg.OrderSource"
:options=
"SourceEnumList"
emit-value
map-options
class=
"q-pb-lg"
label=
"客人来源"
/>
<q-select
v-model=
"OrderMsg.HelpEnterId"
:options=
"EmployeeList"
filled
use-input
label=
"协助人员"
option-label=
"EmployeeName"
option-value=
"Id"
ref=
"EmployeeName"
class=
"col-6 q-pb-lg"
emit-value
map-options
@
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
v-if=
"OrderMsg.OrderSource==3"
filled
stack-label
:dense=
"false"
maxlength=
"50"
v-model=
"OrderMsg.GeneralOccupation"
class=
"col-12 q-pb-lg"
label=
"一般同行"
/>
<q-input
v-if=
"OrderMsg.OrderSource==7"
filled
stack-label
:dense=
"false"
maxlength=
"50"
v-model=
"OrderMsg.EduOccupation"
class=
"col-12 q-pb-lg"
label=
"教育同行"
/>
<q-toggle
v-model=
"OrderMsg.IsLessPrice"
:false-value=
"0"
:true-value=
"1"
label=
"是否少价"
class=
"q-mb-md"
/>
<q-input
v-if=
"OrderMsg.IsLessPrice==1"
@
keyup
.
native=
"checkPrice(OrderMsg,'LessPrice')"
maxlength=
"10"
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.LessPrice"
class=
"col-12"
label=
"少价金额"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"OrderMsg.SaleRemark"
style=
"margin-top: 20px"
type=
"textarea"
class=
"col-12"
label=
"备注"
/>
<div
style=
"margin:30px 10px 70px 0;"
>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"closeEditOrder"
/>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"保存"
@
click=
"saveOrderInfo()"
/>
</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
>
import
{
getOrderSourceEnumList
,
//获取订单来源 枚举
setClassOrder
,
//修改订单
queryChaClassInfo
,
GetSelectClassOrderList
//获取前置下拉
}
from
'../../api/sale/sale'
import
{
queryEmployee
}
from
'../../api/users/user'
;
//获取员工
import
{
getClassPage_ck
}
from
'../../api/school/index'
;
//获取校区列表
import
{
mapState
}
from
"vuex"
;
export
default
{
name
:
"editOrder-form"
,
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
,
}
},
data
()
{
return
{
IsShowEditOrder
:
true
,
classList
:[],
OrderMsg
:
{
VisitorReserveId
:
0
,
ClassId
:
0
,
//班级编号
GuestNum
:
1
,
//人数
Unit_Price
:
0
,
PreferPrice
:
0
,
OrderSource
:
0
,
SaleRemark
:
""
,
Class_Price
:
0
,
OrderId
:
0
,
OrderType
:
1
,
//订单类型(1-班级课程订单,2-留学就业订单)
SourceId
:
0
,
//来源编号
HelpEnterId
:
0
,
//协助人员编号
GeneralOccupation
:
""
,
//一般同行
EduOccupation
:
""
,
//教育同行
IsLessPrice
:
0
,
//是否少价 0 不少 1 少
LessPrice
:
0
,
//少价金额
OrderNature
:
1
,
//订单性质
OldPreferPrice
:
0
,
//原实际应收
IsChaBan
:
0
,
//是否插班报入(1-是)
CourseId
:
''
,
//课程编号
StartClassHours
:
0
,
//已上课时
EffectTime
:
''
,
//生效时间
UpOrderId
:
0
,
//前置订单编号
},
IsShowUpPrice
:
false
,
//是否显示高于定价
UnitPrice
:
0
,
SourceEnumList
:
[],
//订单来源
EmployeeList
:
[],
//员工列表
AllemployeeList
:
[],
//所有员工列表
CourseList
:
[],
//课程列表
courseObj
:
{},
//选择的课程
}
},
created
()
{
this
.
getOrderSEList
();
this
.
getEmployee
();
var
localStorageData
=
window
.
localStorage
[
"loginUserInfo"
];
let
ActionMenuList
=
JSON
.
parse
(
localStorageData
).
data
.
ActionMenuList
if
(
ActionMenuList
&&
ActionMenuList
.
length
>
0
)
{
ActionMenuList
.
forEach
(
x
=>
{
if
(
x
.
FunctionCode
==
'E_ModifyStudyOrderPrice'
)
{
}
})
}
},
mounted
()
{
this
.
getClass
();
},
watch
:
{
},
methods
:
{
//获取课程信息
getClassList
(
ClassId
)
{
this
.
OrderMsg
.
CourseId
=
''
;
this
.
CourseList
=
[];
var
qMsg
=
{
ClassId
:
ClassId
};
queryChaClassInfo
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
CourseList
=
res
.
Data
.
otherCourse
;
}
});
},
//获取班级列表
getClass
()
{
getClassPage_ck
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
let
tempArray
=
res
.
Data
;
if
(
!
tempArray
)
{
tempArray
=
[];
}
tempArray
.
unshift
({
ClassId
:
0
,
ClassName
:
"不限"
})
this
.
classList
=
tempArray
;
}
})
},
//选择课程切换价格
changePrice
()
{
let
temp
=
this
.
CourseList
.
find
(
x
=>
x
.
CourseId
==
this
.
OrderMsg
.
CourseId
);
if
(
temp
)
{
this
.
courseObj
=
temp
;
if
(
this
.
OrderMsg
.
GuestNum
==
1
)
{
if
(
temp
.
CoursePriceList
&&
temp
.
CoursePriceList
.
length
>
0
)
{
if
(
temp
.
CoursePriceList
[
0
].
PriceType
==
0
)
{
let
DisCount
=
(
100
-
temp
.
CoursePriceList
[
0
].
PriceMoney
)
/
100
;
this
.
OrderMsg
.
Unit_Price
=
temp
.
SellPrice
*
DisCount
;
this
.
UnitPrice
=
temp
.
SellPrice
*
DisCount
;
}
else
{
this
.
OrderMsg
.
Unit_Price
=
temp
.
SellPrice
-
item
.
CoursePriceList
[
0
].
PriceMoney
;
this
.
UnitPrice
=
temp
.
SellPrice
-
item
.
CoursePriceList
[
0
].
PriceMoney
;
}
}
else
{
this
.
OrderMsg
.
Unit_Price
=
temp
.
SellPrice
;
this
.
UnitPrice
=
temp
.
SellPrice
;
}
}
if
(
this
.
OrderMsg
.
GuestNum
>
1
)
{
if
(
temp
.
CoursePriceList
&&
temp
.
CoursePriceList
.
length
>
0
)
{
if
(
temp
.
CoursePriceList
[
1
].
PriceType
==
0
)
{
let
DisCount
=
(
100
-
temp
.
CoursePriceList
[
1
].
PriceMoney
)
/
100
;
this
.
OrderMsg
.
Unit_Price
=
temp
.
SellPrice
*
DisCount
;
this
.
UnitPrice
=
temp
.
SellPrice
*
DisCount
;
}
else
{
this
.
OrderMsg
.
Unit_Price
=
temp
.
SellPrice
-
item
.
CoursePriceList
[
1
].
PriceMoney
;
this
.
UnitPrice
=
temp
.
SellPrice
-
item
.
CoursePriceList
[
1
].
PriceMoney
;
}
}
else
{
this
.
OrderMsg
.
Unit_Price
=
temp
.
SellPrice
;
this
.
UnitPrice
=
temp
.
SellPrice
;
}
}
}
else
{
this
.
OrderMsg
.
Unit_Price
=
0
;
this
.
UnitPrice
=
0
;
this
.
courseObj
=
{};
}
this
.
countPrice
();
},
//筛选员工
filterFn
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
''
)
{
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllemployeeList
))
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
EmployeeList
=
this
.
AllemployeeList
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
})
},
//获取业务员
getEmployee
()
{
var
qMsg
=
{
Dept_Id
:
0
}
queryEmployee
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
EmployeeList
=
res
.
Data
;
this
.
AllemployeeList
=
res
.
Data
;
let
obj
=
{
Id
:
0
,
EmployeeName
:
'不限'
}
this
.
EmployeeList
.
unshift
(
obj
);
this
.
AllemployeeList
.
unshift
(
obj
);
}
}).
catch
(()
=>
{})
},
//关闭弹窗
closeEditOrder
()
{
this
.
IsShowEditOrder
=
false
;
this
.
$emit
(
'close'
)
},
//获取订单来源
getOrderSEList
()
{
getOrderSourceEnumList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
var
tempArray
=
res
.
Data
;
this
.
SourceEnumList
=
tempArray
;
this
.
OrderMsg
.
OrderSource
=
tempArray
[
0
].
Id
;
}
})
},
//计算价格
countPrice
()
{
var
guestNum
=
0
;
var
unit_price
=
0
;
if
(
this
.
OrderMsg
.
GuestNum
&&
this
.
OrderMsg
.
GuestNum
>
0
)
{
guestNum
=
Number
(
this
.
OrderMsg
.
GuestNum
);
}
if
(
this
.
OrderMsg
.
Unit_Price
&&
this
.
OrderMsg
.
Unit_Price
>
0
)
{
unit_price
=
Number
(
this
.
OrderMsg
.
Unit_Price
);
}
//计算应收价格
if
(
this
.
OrderMsg
.
IsChaBan
==
1
)
{
var
newPreferPrice
=
0
;
if
(
this
.
courseObj
&&
this
.
courseObj
.
CourseId
&&
this
.
courseObj
.
CourseId
>
0
)
{
newPreferPrice
=
(
this
.
UnitPrice
/
this
.
courseObj
.
ClassHours
)
*
(
this
.
courseObj
.
ClassHours
-
this
.
OrderMsg
.
StartClassHours
)
*
guestNum
}
this
.
OrderMsg
.
PreferPrice
=
Number
(
newPreferPrice
).
toFixed
(
2
);
}
else
{
this
.
OrderMsg
.
PreferPrice
=
Number
(
guestNum
*
unit_price
).
toFixed
(
2
);
}
if
(
this
.
OrderMsg
.
OrderType
==
2
)
{
this
.
OrderMsg
.
OldPreferPrice
=
Number
(
guestNum
*
unit_price
).
toFixed
(
2
);
}
},
//修改订单
saveOrderInfo
()
{
this
.
OrderMsg
.
PreferPrice
=
(
this
.
OrderMsg
.
GuestNum
*
this
.
OrderMsg
.
Unit_Price
)
-
this
.
OrderMsg
.
LessPrice
;
this
.
OrderMsg
.
VisitorReserveId
=
this
.
saveObj
.
Id
;
setClassOrder
(
this
.
OrderMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功!'
,
position
:
'top'
})
//调用父页面成功方法
this
.
$emit
(
'success'
);
this
.
IsShowEditOrder
=
false
}
else
{
this
.
$q
.
notify
({
type
:
'negative'
,
position
:
"top"
,
message
:
res
.
Message
})
}
}).
catch
(()
=>
{})
}
}
}
</
script
>
src/components/schedul/yueke-form.vue
View file @
4119b68b
...
...
@@ -4,18 +4,18 @@
<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>
<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.
r
emark"
type=
"textarea"
class=
"col-12"
label=
"备注"
/>
<q-input
filled
stack-label
:dense=
"false"
v-model=
"msg.
R
emark"
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
/>
<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>
...
...
@@ -30,10 +30,17 @@
</q-dialog>
</template>
<
script
>
import
{
setVisitorReserveStatus
}
from
'../../api/scheduling/schedu'
export
default
{
props
:
{
ChoiceType
:
{
type
:
Number
,
default
:
2
},
saveObj
:
{
type
:
Object
,
default
:
null
}
},
...
...
@@ -42,49 +49,77 @@
persistent
:
true
,
saveLoading
:
false
,
msg
:
{
remark
:
''
Id
:
0
,
ReserveStatus
:
0
,
Remark
:
''
,
},
chooseLiudan
:[],
chooseLiudan
:
[],
reasonList
:
[{
Id
:
1
,
Id
:
"教学环境"
,
Name
:
'教学环境'
},
{
Id
:
2
,
Id
:
"教学内容"
,
Name
:
'教学内容'
},
{
Id
:
3
,
Id
:
"讲师"
,
Name
:
'讲师'
},
{
Id
:
4
,
Id
:
"价格"
,
Name
:
'价格'
},
{
Id
:
5
,
Id
:
"销售跟进"
,
Name
:
'销售跟进'
},
{
Id
:
6
,
Id
:
"同行竞争"
,
Name
:
'同行竞争'
},
{
Id
:
7
,
Id
:
"其他"
,
Name
:
'其他'
}]
}
},
mounted
()
{},
mounted
()
{
if
(
this
.
saveObj
)
{
if
(
this
.
saveObj
.
Id
)
{
this
.
msg
.
Id
=
this
.
saveObj
.
Id
;
}
}
},
methods
:
{
//关闭弹窗
closeSaveForm
()
{
this
.
$emit
(
'close'
)
this
.
persistent
=
false
this
.
persistent
=
false
;
},
//保存菜单
saveYueke
()
{
this
.
saveLoading
=
true
;
if
(
this
.
ChoiceType
==
2
){
if
(
this
.
ChoiceType
==
2
)
{
this
.
msg
.
ReserveStatus
=
2
;
}
if
(
this
.
ChoiceType
==
3
)
{
this
.
msg
.
ReserveStatus
=
3
;
}
if
(
this
.
ChoiceType
==
2
)
{
this
.
msg
.
remark
=
this
.
chooseLiudan
.
toString
();
}
console
.
log
(
this
.
msg
,
'msg'
);
setVisitorReserveStatus
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
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
});
},
}
}
...
...
src/components/school/classroom/classroom-form.vue
View file @
4119b68b
...
...
@@ -223,7 +223,6 @@
uploadFile
(
files
)
{
UploadSelfFile
(
'studentIcon'
,
files
,
res
=>
{
if
(
res
.
Code
==
1
)
{
console
.
log
(
211
,
res
)
this
.
objOption
.
RoomPicList
.
push
(
res
.
FileUrl
);
}
})
...
...
@@ -236,17 +235,7 @@
}
</
script
>
<
style
>
/* .avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 143px;
height: 82px;
line-height: 82px;
text-align: center;
} */
.avatar-uploader
.el-upload
{
border-radius
:
6px
;
cursor
:
pointer
;
...
...
src/pages/activity/activeType.vue
View file @
4119b68b
...
...
@@ -239,8 +239,6 @@ import ActiveTypeForm from '../../components/activity/activeType-from'
this
.
data
=
res
.
data
.
data
.
pageData
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
}
console
.
log
(
257
,
res
)
})
},
delType
(
item
){
...
...
src/pages/activity/activityList.vue
View file @
4119b68b
...
...
@@ -422,8 +422,6 @@ import ActiveForm from '../../components/activity/active-from'
this
.
data
=
res
.
data
.
data
.
pageData
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
}
console
.
log
(
257
,
res
)
})
},
delActive
(
item
){
...
...
src/pages/classroom/components/classroomNav.vue
View file @
4119b68b
...
...
@@ -77,7 +77,6 @@
methods
:{
showNav
(
val
,
id
){
this
.
schoolId
=
id
console
.
log
(
id
)
},
chooseNav
(
i
){
this
.
currentNav
=
i
.
RoomId
...
...
src/pages/classroom/components/js/lunarCalendar.js
View file @
4119b68b
...
...
@@ -204,7 +204,6 @@ var lunarCalendar = {
var
objDate
=
new
Date
();
var
endDate
=
new
Date
();
if
(
dateStr
)
{
console
.
log
(
dateStr
)
let
d
=
Date
.
parse
(
dateStr
)
let
res
=
new
Date
(
d
);
...
...
@@ -216,15 +215,6 @@ var lunarCalendar = {
endDate
.
setDate
(
endDate
.
getDate
()
+
dayNum
);
// let x1 = objDate.getTime();
// console.log(211, x1, objDate)
// let x2 = endDate.getTime();
// console.log(222, x2, endDate)
// let x = x2 - x1
// console.log(x1 == x2, x, 'time');
//修正ymd参数
var
m
=
objDate
.
getMonth
()
+
1
,
d
=
objDate
.
getDate
();
var
totalMonthDay
=
lunarCalendar
.
solarDays
(
yearStr
,
m
);
...
...
src/pages/classroom/components/scenicSummary.vue
View file @
4119b68b
...
...
@@ -398,7 +398,6 @@ export default {
this
.
QStartDate
=
data
[
0
].
CurrentDate
;
this
.
QEndDate
=
data
[
data
.
length
-
1
].
CurrentDate
;
this
.
Calendar
=
this
.
CalendarDataArray
.
slice
(
0
,
7
);
console
.
log
(
"初始化"
,
this
.
Calendar
)
},
//左侧点击
...
...
@@ -445,45 +444,18 @@ export default {
this
.
msg
.
EndDate
=
d
.
Format
(
"yyyy-MM-dd"
);
},
getDayInfo
(
Y
,
M
,
D
)
{
console
.
log
(
148
,
Y
,
M
,
D
)
// let StartDate = Y + "-" + M + "-" + D;
// let msg = {
// StartDate: StartDate
// };
// this.apipost(
// "ticketcoupons_get_GetTicketCouponsSummaryDay",
// msg,
// res => {
// if (res.data.resultCode == 1) {
// this.dayList = res.data.data;
// }
// },
// null
// );
},
getOffSet
(
index
){
let
el
=
document
.
getElementsByClassName
(
'el-timeline-item'
)[
index
]
let
top
=
el
.
getBoundingClientRect
().
top
return
top
},
// timeDifference(startTime,endTime){
// var start1=startTime.split(":");
// var startAll=parseInt(start1[0]*60)+parseInt(start1[1]);
// var end1=endTime.split(":");
// var endAll=parseInt(end1[0]*60)+parseInt(end1[1]);
// let res=Math.ceil((endAll-startAll)/15)
// console.log("时间差===",res);
// return res
// }
},
mounted
()
{
this
.
initData
();
this
.
getEndDay
();
// this.getList();
let
nowDate
=
new
Date
().
Format
(
"yyyy-MM-dd"
);
this
.
nowYear
=
nowDate
.
split
(
"-"
)[
0
];
this
.
nowMonth
=
parseInt
(
nowDate
.
split
(
"-"
)[
1
]);
...
...
src/pages/classroom/components/userHistory.vue
View file @
4119b68b
...
...
@@ -8,7 +8,7 @@
{{
details
.
ErrorTitle
}}
</div>
<img
class=
"img-head-close"
src=
"../../../assets/images/classroom/close.png"
mode=
""
@
click=
"hideDialog"
/>
<img
class=
"img-head-close"
src=
"../../../assets/images/classroom/close.png"
mode=
""
@
click=
"hideDialog"
/>
</div>
<div
class=
"info-box"
>
<div
class=
"user-info"
>
...
...
@@ -46,52 +46,47 @@
</
template
>
<
script
>
import
{
getClassRoomLogDetail
}
from
'../../../api/classroom/index'
;
import
{
getClassRoomLogDetail
}
from
'../../../api/classroom/index'
;
export
default
{
props
:
{
classroomId
:{
type
:
[
Number
,
String
]
classroomId
:
{
type
:
[
Number
,
String
]
},
},
watch
:{
classroomId
(
val
,
oldVal
){
if
(
val
!==
oldVal
){
watch
:
{
classroomId
(
val
,
oldVal
)
{
if
(
val
!==
oldVal
)
{
this
.
getClassRoomDetail
(
val
)
}
},
},
components
:
{
},
data
()
{
return
{
persistent
:
false
,
details
:{}
details
:
{}
}
},
methods
:
{
getClassRoomDetail
(
id
){
getClassRoomLogDetail
({
ID
:
id
}).
then
((
res
)
=>
{
console
.
log
(
51
,
res
)
if
(
res
.
Code
===
1
){
this
.
details
=
res
.
Data
getClassRoomDetail
(
id
)
{
getClassRoomLogDetail
({
ID
:
id
}).
then
((
res
)
=>
{
if
(
res
.
Code
===
1
)
{
this
.
details
=
res
.
Data
}
})
},
changeShow
(){
this
.
persistent
=
true
changeShow
()
{
this
.
persistent
=
true
},
hideDialog
(){
hideDialog
()
{
this
.
$refs
.
historyDialog
.
hide
()
}
},
}
...
...
@@ -138,13 +133,15 @@
font-size
:
12px
;
color
:
#2961FE
;
}
.con
{
.con
{
box-sizing
:
border-box
;
width
:
500px
;
height
:
1080px
;
background
:
#FFFFFF
;
box-shadow
:
0px
0px
76px
0px
rgba
(
2
,
44
,
66
,
0
.2
);
.header
{
.header
{
width
:
500px
;
height
:
56px
;
background-color
:
#F0F5FB
;
...
...
@@ -152,7 +149,8 @@
display
:
flex
;
align-items
:
center
;
position
:
relative
;
.img-head
{
.img-head
{
width
:
35px
;
height
:
35px
;
// border-radius: 50%;
...
...
@@ -160,12 +158,14 @@
margin-right
:
10px
;
object-fit
:
fill
;
}
.head-title
{
.head-title
{
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
}
.img-head-close
{
.img-head-close
{
width
:
15px
;
height
:
15px
;
margin-right
:
10px
;
...
...
@@ -175,54 +175,65 @@
right
:
15px
;
}
}
.info-box
{
.info-box
{
box-sizing
:
border-box
;
padding
:
20px
;
.user-info
{
.user-info
{
height
:
100px
;
border-bottom
:
1px
solid
#E2E2E2
;
font-size
:
12px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
.user-item
{
.user-item
{
display
:
flex
;
margin-top
:
20px
;
.user-label
{
.user-label
{
width
:
100px
;
color
:
#999999
;
}
.user-con
{
.user-con
{
color
:
#111111
;
}
}
}
.use
{
.use
{
padding
:
30px
0
;
border-bottom
:
1px
solid
#E2E2E2
;
.use-title
{
.use-title
{
font-size
:
12px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
bold
;
color
:
#111111
;
margin-bottom
:
20px
;
}
.use-con
{
.use-con
{
font-size
:
12px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#999999
;
}
.img-con
{
.img-con
{
display
:
flex
;
.classroom-img-item
{
.classroom-img-item
{
display
:
flex
;
width
:
145px
;
height
:
80px
;
border-radius
:
4px
;
margin-right
:
10px
;
margin-bottom
:
10px
;
.classroom-img
{
.classroom-img
{
width
:
100%
;
height
:
100%
;
...
...
@@ -235,4 +246,5 @@
}
}
</
style
>
src/pages/classroom/courseInfo.vue
View file @
4119b68b
...
...
@@ -336,8 +336,7 @@
"cover"
:
cover
,
"playauth"
:
auth
,
},
function
(
player
)
{
console
.
log
(
321
,
player
)
console
.
log
(
"The player is created"
);
}
);
},
...
...
src/pages/classroom/useRecord.vue
View file @
4119b68b
...
...
@@ -128,14 +128,14 @@
},
//选择校区教室导航
successNav
(
val
){
console
.
log
(
114
,
val
)
this
.
msg
.
RoomId
=
val
.
RoomId
this
.
msg
.
SchoolId
=
val
.
schoolId
this
.
getClassRoomTimeList
();
this
.
$forceUpdate
()
},
dateChoose
(
value
,
reason
,
details
){
// console.log(112,this.dateModel)
},
//获取结束日期
getEndTime
(
date
){
...
...
src/pages/course/teacherLesson.vue
View file @
4119b68b
...
...
@@ -419,7 +419,6 @@
}
}
})
console
.
log
()
return
Str
;
},
//跳转至备课
...
...
src/pages/financial/CommissionDetail.vue
View file @
4119b68b
...
...
@@ -4,17 +4,23 @@
padding
:
18px
0
0
16px
;
text-align
:
right
;
}
.CommissionDetail
.border-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
.CommissionDetail
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
.CommissionDetail
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.CommissionDetail
._icon_btn
i
.icon-sousuo
{
background-color
:
#47BF8C
;
}
.CommissionDetail
._icon_btn
i
{
width
:
26px
;
height
:
26px
;
...
...
@@ -27,13 +33,14 @@
cursor
:
pointer
;
outline
:
none
;
}
.CommissionDetail
.el-table
td
,
.el-table
th
{
.CommissionDetail
.el-table
td
,
.el-table
th
{
padding
:
5px
0
;
}
</
style
>
<
template
>
</
style
>
<
template
>
<div
class=
"page-body CommissionDetail"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
...
...
@@ -54,33 +61,31 @@
<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"
/>
<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>
<
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=
"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=
"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
label=
"操作"
>
<el-table-column
label=
"操作"
>
<template
slot-scope=
"scope"
>
<div
class=
"_icon_btn"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看"
placement=
"top"
>
<i
class=
"iconfont icon-sousuo"
@
click=
"goUrl('userCommissionDetails',scope.row.UserId)"
></i>
<i
class=
"iconfont icon-sousuo"
@
click=
"goUrl('userCommissionDetails',scope.row.UserId)"
></i>
</el-tooltip>
</div>
</
template
>
...
...
@@ -89,12 +94,12 @@
</template>
</div>
</template>
<
script
>
</template>
<
script
>
import
{
GetClassTypePageList
,
}
from
'../../api/system/index'
;
import
{
import
{
getSellCommissionUserList
,
}
from
'../../api/finance/index'
import
{
...
...
@@ -113,51 +118,48 @@
msg
:
{
PeriodId
:
0
,
UserId
:
0
,
ClassId
:
0
,
OrderId
:
''
,
School_Id
:
'-1'
,
ClassId
:
0
,
OrderId
:
''
,
School_Id
:
'-1'
,
},
pageCount
:
0
,
persistent
:
false
,
listData
:
{},
tableData
:
[],
company
:
[],
department
:
[],
ClassList
:
[],
allClassList
:
[],
see_tcdetailed
:
false
,
SchoolNamelist
:
[],
DeptNamelist
:
[],
UserNamelist
:
[],
listData
:
{},
tableData
:
[],
company
:
[],
department
:
[],
ClassList
:
[],
allClassList
:
[],
see_tcdetailed
:
false
,
SchoolNamelist
:
[],
DeptNamelist
:
[],
UserNamelist
:
[],
}
},
created
()
{
let
userinfo
=
this
.
getLocalStorage
();
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"see_tcdetailed"
){
//判断是否可以查看其他明细
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"see_tcdetailed"
)
{
//判断是否可以查看其他明细
this
.
see_tcdetailed
=
true
;
}
})
if
(
this
.
see_tcdetailed
==
false
){
console
.
log
(
userinfo
)
if
(
this
.
see_tcdetailed
==
false
)
{
this
.
msg
.
UserId
=
userinfo
.
Id
}
},
mounted
()
{
console
.
log
(
this
.
$route
.
query
)
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
id
){
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
id
)
{
this
.
msg
.
PeriodId
=
this
.
$route
.
query
.
id
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
School_Id
)
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
School_Id
)
{
this
.
msg
.
School_Id
=
this
.
$route
.
query
.
School_Id
}
this
.
getList
()
this
.
setClass
()
},
methods
:
{
getList
(){
if
(
this
.
msg
)
getList
()
{
if
(
this
.
msg
)
this
.
loading
=
true
;
getSellCommissionUserList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
@@ -166,10 +168,19 @@
this
.
SchoolNamelist
=
[];
this
.
DeptNamelist
=
[];
this
.
UserNamelist
=
[];
this
.
tableData
.
forEach
(
x
=>
{
let
obj
=
{
text
:
x
.
SchoolName
,
value
:
x
.
SchoolName
}
let
obj2
=
{
text
:
x
.
DeptName
,
value
:
x
.
DeptName
}
let
obj3
=
{
text
:
x
.
UserName
,
value
:
x
.
UserName
}
this
.
tableData
.
forEach
(
x
=>
{
let
obj
=
{
text
:
x
.
SchoolName
,
value
:
x
.
SchoolName
}
let
obj2
=
{
text
:
x
.
DeptName
,
value
:
x
.
DeptName
}
let
obj3
=
{
text
:
x
.
UserName
,
value
:
x
.
UserName
}
this
.
SchoolNamelist
.
push
(
obj
)
this
.
DeptNamelist
.
push
(
obj2
)
this
.
UserNamelist
.
push
(
obj3
)
...
...
@@ -180,7 +191,7 @@
}
})
},
unique
(
arr
,
Name
){
//数组去重
unique
(
arr
,
Name
)
{
//数组去重
const
res
=
new
Map
();
return
arr
.
filter
(
(
list
)
=>
!
res
.
has
(
list
.
text
)
&&
res
.
set
(
list
.
text
,
1
)
...
...
@@ -214,12 +225,12 @@
})
},
goUrl
(
path
,
id
)
{
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
'/financial/'
+
path
,
query
:
{
userId
:
id
,
preriodId
:
this
.
$route
.
query
.
id
,
preriodId
:
this
.
$route
.
query
.
id
,
blank
:
'y'
,
}
})
...
...
@@ -228,29 +239,27 @@
const
property
=
column
[
'property'
];
return
row
[
property
]
===
value
;
},
StudentCount
(
a
,
b
,
c
){
console
.
log
(
a
,
b
,
c
)
StudentCount
(
a
,
b
,
c
)
{
return
a
.
StudentCount
-
b
.
StudentCount
;
},
CurrentPeriodMoney
(
a
,
b
)
{
CurrentPeriodMoney
(
a
,
b
)
{
return
a
.
CurrentPeriodMoney
-
b
.
CurrentPeriodMoney
;
},
CurrentExtraMoney
(
a
,
b
)
{
CurrentExtraMoney
(
a
,
b
)
{
return
a
.
CurrentExtraMoney
-
b
.
CurrentExtraMoney
;
},
CommissionMoney
(
a
,
b
)
{
CommissionMoney
(
a
,
b
)
{
return
a
.
CommissionMoney
-
b
.
CommissionMoney
;
},
goreturn
()
{
goreturn
()
{
this
.
$router
.
go
(
-
1
);
}
},
}
</
script
>
<
style
lang=
"sass"
>
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
</
style
>
src/pages/financial/cycleOrderList.vue
View file @
4119b68b
...
...
@@ -4,17 +4,23 @@
padding
:
18px
0
0
16px
;
text-align
:
right
;
}
.cycleOrderList
.border-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
.cycleOrderList
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
.cycleOrderList
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.cycleOrderList
._icon_btn
i
.icon-sousuo
{
background-color
:
#47BF8C
;
}
.cycleOrderList
._icon_btn
i
{
width
:
30px
;
height
:
30px
;
...
...
@@ -27,42 +33,41 @@
cursor
:
pointer
;
outline
:
none
;
}
.cycleOrderList
.el-table
td
,
.el-table
th
{
.cycleOrderList
.el-table
td
,
.el-table
th
{
padding
:
5px
0
;
}
</
style
>
<
template
>
</
style
>
<
template
>
<div
class=
"page-body cycleOrderList"
>
<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"
/>
<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
width=
'170'
prop=
"ClassName"
label=
"班级信息"
>
<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
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>
<div>
{{
scope
.
row
.
ClassName
}}
{{
scope
.
row
.
ClassTypeName
}}
<span
style=
"color: #409EFF;"
v-if=
'scope.row.IsContinueClass==1'
>
(续)
</span></div>
<div>
学生数量:
{{
scope
.
row
.
StudentCount
}}
人
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"OrderId"
label=
"订单号"
>
<el-table-column
prop=
"OrderId"
label=
"订单号"
>
<
template
slot-scope=
"scope"
>
<div
style=
"cursor: pointer;"
>
{{
scope
.
row
.
OrderId
}}
</div>
<div
style=
"cursor: pointer;"
>
{{
scope
.
row
.
OrderId
}}
</div>
</
template
>
</el-table-column>
...
...
@@ -109,12 +114,12 @@
</template>
</div>
</template>
<
script
>
</template>
<
script
>
import
{
GetClassTypePageList
,
}
from
'../../api/system/index'
;
import
{
import
{
getSellCommissionForOrderList
,
}
from
'../../api/finance/index'
import
{
...
...
@@ -133,38 +138,38 @@
msg
:
{
PeriodId
:
0
,
UserId
:
0
,
ClassId
:
0
,
OrderId
:
''
,
ClassId
:
0
,
OrderId
:
''
,
},
pageCount
:
0
,
persistent
:
false
,
listData
:
{},
tableData
:
[],
company
:
[],
department
:
[],
ClassList
:
[],
allClassList
:
[],
listData
:
{},
tableData
:
[],
company
:
[],
department
:
[],
ClassList
:
[],
allClassList
:
[],
SchoolNamelist
:
[],
DeptNamelist
:
[],
UserNamelist
:
[],
see_tcdetailed
:
false
,
SchoolNamelist
:
[],
DeptNamelist
:
[],
UserNamelist
:
[],
see_tcdetailed
:
false
,
}
},
created
()
{
let
userinfo
=
this
.
getLocalStorage
();
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"see_tcdetailed"
){
//判断是否可以查看其他明细
userinfo
.
ActionMenuList
.
map
(
x
=>
{
//判断权限
if
(
x
.
FunctionCode
==
"see_tcdetailed"
)
{
//判断是否可以查看其他明细
this
.
see_tcdetailed
=
true
;
}
})
if
(
this
.
see_tcdetailed
==
false
)
{
if
(
this
.
see_tcdetailed
==
false
)
{
this
.
msg
.
UserId
=
userinfo
.
Id
}
},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
OrderId
)
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
OrderId
)
{
this
.
msg
.
OrderId
=
this
.
$route
.
query
.
OrderId
}
...
...
@@ -173,8 +178,8 @@
},
methods
:
{
getList
()
{
if
(
this
.
msg
)
getList
()
{
if
(
this
.
msg
)
this
.
loading
=
true
;
getSellCommissionForOrderList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
@@ -184,10 +189,19 @@
this
.
SchoolNamelist
=
[];
this
.
DeptNamelist
=
[];
this
.
UserNamelist
=
[];
this
.
tableData
.
forEach
(
x
=>
{
let
obj
=
{
text
:
x
.
SchoolName
,
value
:
x
.
SchoolName
}
let
obj2
=
{
text
:
x
.
DeptName
,
value
:
x
.
DeptName
}
let
obj3
=
{
text
:
x
.
UserName
,
value
:
x
.
UserName
}
this
.
tableData
.
forEach
(
x
=>
{
let
obj
=
{
text
:
x
.
SchoolName
,
value
:
x
.
SchoolName
}
let
obj2
=
{
text
:
x
.
DeptName
,
value
:
x
.
DeptName
}
let
obj3
=
{
text
:
x
.
UserName
,
value
:
x
.
UserName
}
this
.
SchoolNamelist
.
push
(
obj
)
this
.
DeptNamelist
.
push
(
obj2
)
this
.
UserNamelist
.
push
(
obj3
)
...
...
@@ -198,7 +212,7 @@
}
})
},
unique
(
arr
,
Name
){
//数组去重
unique
(
arr
,
Name
)
{
//数组去重
const
res
=
new
Map
();
return
arr
.
filter
(
(
list
)
=>
!
res
.
has
(
list
.
text
)
&&
res
.
set
(
list
.
text
,
1
)
...
...
@@ -232,7 +246,7 @@
})
},
goUrl
(
path
,
id
)
{
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
'/financial/'
+
path
,
query
:
{
...
...
@@ -246,11 +260,10 @@
const
property
=
column
[
'property'
];
return
row
[
property
]
===
value
;
},
StudentCount
(
a
,
b
){
console
.
log
(
a
,
b
)
StudentCount
(
a
,
b
)
{
return
a
.
StudentCount
-
b
.
StudentCount
;
},
goreturn
()
{
goreturn
()
{
this
.
$router
.
go
(
-
1
);
}
...
...
@@ -259,9 +272,8 @@
},
}
</
script
>
<
style
lang=
"sass"
>
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
</
style
>
src/pages/financial/financalDocument/FinancialDocuments.vue
View file @
4119b68b
...
...
@@ -2532,7 +2532,6 @@
})
},
getAccountListtype
(
AccountId
){
console
.
log
(
AccountId
)
this
.
accountList2
.
map
(
x
=>
{
if
(
x
.
ID
==
AccountId
){
this
.
FinanceTrabeMsg
.
Type
=
x
.
BankType
...
...
src/pages/financial/salesRules.vue
View file @
4119b68b
...
...
@@ -4,27 +4,31 @@
padding
:
18px
0
0
16px
;
text-align
:
right
;
}
.salesRules
.border-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
.salesRules
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.salesRules
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
</
style
>
<
template
>
</
style
>
<
template
>
<div
class=
"page-body salesRules"
>
<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
filled
v-model=
"listData.FirstRate"
:min=
'0'
:max=
'100'
@
input=
"getFirsrate"
label=
"首次发放比例"
type=
"number"
/>
<q-input
filled
v-model=
"listData.FirstRate"
:min=
'0'
:max=
'100'
@
input=
"getFirsrate"
label=
"首次发放比例"
type=
"number"
/>
</div>
</div>
</div>
<template
>
<template
>
<q-table
:loading=
"loading"
:pagination=
"tabeMsg"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-column-table"
separator=
"horizontal"
:data=
"dataList"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top=
"props"
>
...
...
@@ -51,7 +55,8 @@
<div
v-for=
"(item,index) in col.value"
:key=
'index'
>
<div
class=
"border-bottom"
>
<el-input
v-model=
"item.SalesRate"
style=
'width:180px'
type=
"number"
:min=
'1'
:max=
'100'
placeholder=
"请输入内容"
@
blur=
'xiaoshou(props.pageIndex,index)'
size=
"small"
>
<el-input
v-model=
"item.SalesRate"
style=
'width:180px'
type=
"number"
:min=
'1'
:max=
'100'
placeholder=
"请输入内容"
@
blur=
'xiaoshou(props.pageIndex,index)'
size=
"small"
>
<template
slot=
"append"
>
%
</
template
>
</el-input>
</div>
...
...
@@ -59,7 +64,7 @@
</q-td>
<q-td
v-if=
"col.name == 'assistant'"
style=
"width: 100px;text-align: center;"
>
<div
v-for=
"item in col.value"
>
<div
class=
"text-bottom"
>
<div
class=
"text-bottom"
>
{{100-item.SalesRate}}%
</div>
</div>
...
...
@@ -68,7 +73,8 @@
<div
v-for=
"(item,index) in col.value"
:key=
'index'
>
<div
class=
"border-bottom"
>
<span
style=
"margin-right: 10px;"
>
其中( 老师:
</span>
<el-input
v-model=
"item.TeacherRate"
style=
'width:180px'
type=
"number"
:min=
'0'
:max=
'100'
placeholder=
"请输入内容"
@
blur=
'teacherinput(props.pageIndex,index)'
size=
"small"
>
<el-input
v-model=
"item.TeacherRate"
style=
'width:180px'
type=
"number"
:min=
'0'
:max=
'100'
placeholder=
"请输入内容"
@
blur=
'teacherinput(props.pageIndex,index)'
size=
"small"
>
<
template
slot=
"append"
>
%
</
template
>
</el-input>
</div>
...
...
@@ -79,7 +85,8 @@
<div
class=
"border-bottom"
>
<span
style=
"margin-right: 10px;"
>
助教:
</span>
<el-input
v-model=
"item.AssistantRate"
style=
'width:180px'
type=
"number"
:min=
'0'
:max=
'100'
placeholder=
"请输入内容"
@
blur=
'assistantinput(props.pageIndex,index)'
size=
"small"
>
<el-input
v-model=
"item.AssistantRate"
style=
'width:180px'
type=
"number"
:min=
'0'
:max=
'100'
placeholder=
"请输入内容"
@
blur=
'assistantinput(props.pageIndex,index)'
size=
"small"
>
<
template
slot=
"append"
>
%
</
template
>
</el-input>
<span
style=
"margin-left: 10px;"
>
)
</span>
...
...
@@ -100,12 +107,12 @@
</template>
</div>
</template>
<
script
>
</template>
<
script
>
import
{
GetClassTypePageList
,
}
from
'../../api/system/index'
;
import
{
import
{
getSellCommissionRuleList
,
setSellCommissionRule
}
from
'../../api/finance/index'
...
...
@@ -119,8 +126,7 @@
return
{
columns
:
[
{
columns
:
[{
name
:
'CTypeName'
,
label
:
'班级类型'
,
field
:
'CTypeName'
,
...
...
@@ -174,24 +180,24 @@
},
pageCount
:
0
,
persistent
:
false
,
listData
:
{},
listData
:
{},
}
},
created
()
{},
mounted
()
{
this
.
getRuleList
();
//获取规则
this
.
getRuleList
();
//获取规则
},
methods
:
{
getRuleList
()
{
getRuleList
()
{
this
.
loading
=
true
;
getSellCommissionRuleList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
listData
=
res
.
Data
this
.
GetClassTypePageList
();
//获取班级类型列表数据
this
.
GetClassTypePageList
();
//获取班级类型列表数据
}
})
},
...
...
@@ -201,25 +207,38 @@
this
.
loading
=
false
;
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
dataList
.
forEach
((
x
,
i
)
=>
{
x
.
List
=
[]
this
.
listData
.
List
.
forEach
(
j
=>
{
if
(
x
.
CTypeId
==
j
.
ClassType
)
{
this
.
dataList
.
forEach
((
x
,
i
)
=>
{
x
.
List
=
[]
this
.
listData
.
List
.
forEach
(
j
=>
{
if
(
x
.
CTypeId
==
j
.
ClassType
)
{
x
.
List
.
push
(
j
)
}
})
//如果没有相同的但是 班级类型又有 给予默认的值
//注 由于 JavaScript 的限制,Vue 不能检测以下变动的数组:这里使用this.$set方法
if
(
x
.
List
&&
x
.
List
.
length
==
0
)
{
if
(
x
.
List
&&
x
.
List
.
length
==
0
)
{
let
obj
=
{
CTypeName
:
x
.
CTypeName
,
CTypeId
:
x
.
CTypeId
,
List
:[
{
Id
:
0
,
ClassType
:
x
.
CTypeId
,
EnrollType
:
2
,
SalesRate
:
1
,
TeacherRate
:
0
,
AssistantRate
:
0
},
{
Id
:
0
,
ClassType
:
x
.
CTypeId
,
EnrollType
:
1
,
SalesRate
:
1
,
TeacherRate
:
0
,
AssistantRate
:
0
},
CTypeName
:
x
.
CTypeName
,
CTypeId
:
x
.
CTypeId
,
List
:
[{
Id
:
0
,
ClassType
:
x
.
CTypeId
,
EnrollType
:
2
,
SalesRate
:
1
,
TeacherRate
:
0
,
AssistantRate
:
0
},
{
Id
:
0
,
ClassType
:
x
.
CTypeId
,
EnrollType
:
1
,
SalesRate
:
1
,
TeacherRate
:
0
,
AssistantRate
:
0
},
]
}
this
.
$set
(
this
.
dataList
,
i
,
obj
)
this
.
$set
(
this
.
dataList
,
i
,
obj
)
}
})
...
...
@@ -227,55 +246,54 @@
})
},
xiaoshou
(
pageIndex
,
index
)
{
xiaoshou
(
pageIndex
,
index
)
{
let
that
=
this
if
(
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
==
''
||
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
<
0
){
if
(
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
==
''
||
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
<
0
)
{
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
=
1
}
else
if
(
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
>
100
)
{
}
else
if
(
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
>
100
)
{
that
.
dataList
[
pageIndex
].
List
[
index
].
SalesRate
=
100
}
},
teacherinput
(
pageIndex
,
index
){
//老师输入的时候input
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
==
''
)
{
teacherinput
(
pageIndex
,
index
)
{
//老师输入的时候input
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
==
''
)
{
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
=
100
-
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
}
else
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
>
100
||
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
<
0
){
}
else
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
>
100
||
this
.
dataList
[
pageIndex
].
List
[
index
]
.
TeacherRate
<
0
)
{
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
=
0
;
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
=
100
;
}
else
{
}
else
{
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
=
100
-
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
}
},
assistantinput
(
pageIndex
,
index
){
//助教输入的时候input
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
==
''
)
{
assistantinput
(
pageIndex
,
index
)
{
//助教输入的时候input
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
==
''
)
{
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
=
100
-
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
}
else
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
>
100
||
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
<
0
){
}
else
if
(
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
>
100
||
this
.
dataList
[
pageIndex
].
List
[
index
]
.
AssistantRate
<
0
)
{
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
=
0
;
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
=
100
;
}
else
{
}
else
{
this
.
dataList
[
pageIndex
].
List
[
index
].
TeacherRate
=
100
-
this
.
dataList
[
pageIndex
].
List
[
index
].
AssistantRate
}
},
getFirsrate
(){
if
(
this
.
listData
.
FirstRate
>
100
){
getFirsrate
()
{
if
(
this
.
listData
.
FirstRate
>
100
)
{
this
.
listData
.
FirstRate
=
100
}
else
if
(
this
.
listData
.
FirstRate
<
0
)
{
}
else
if
(
this
.
listData
.
FirstRate
<
0
)
{
this
.
listData
.
FirstRate
=
0
}
},
preservation
()
{
//保存规则
console
.
log
(
this
.
listData
)
preservation
()
{
//保存规则
let
addMsg
=
{
FirstRate
:
this
.
listData
.
FirstRate
,
List
:
[],
FirstRate
:
this
.
listData
.
FirstRate
,
List
:
[],
}
this
.
dataList
.
forEach
(
x
=>
{
x
.
List
.
forEach
(
j
=>
{
this
.
dataList
.
forEach
(
x
=>
{
x
.
List
.
forEach
(
j
=>
{
addMsg
.
List
.
push
(
j
)
})
})
console
.
log
(
addMsg
)
setSellCommissionRule
(
addMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
...
...
@@ -288,16 +306,15 @@
}
})
},
changePage
()
{
changePage
()
{
}
},
}
</
script
>
<
style
lang=
"sass"
>
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
</
style
>
src/pages/financial/userCommissionDetails.vue
View file @
4119b68b
...
...
@@ -4,17 +4,23 @@
padding
:
18px
0
0
16px
;
text-align
:
right
;
}
.userCommissionDetails
.border-bottom
{
/* border-bottom: 1px dashed #EEE; */
padding-bottom
:
5px
;
margin-bottom
:
5px
;
}
.userCommissionDetails
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
.userCommissionDetails
.text-bottom
{
height
:
32px
;
line-height
:
32px
;
margin-bottom
:
10px
;
}
.userCommissionDetails
._icon_btn
i
.icon-sousuo
{
background-color
:
#47BF8C
;
}
.userCommissionDetails
._icon_btn
i
{
width
:
30px
;
height
:
30px
;
...
...
@@ -27,23 +33,24 @@
cursor
:
pointer
;
outline
:
none
;
}
.userCommissionDetails
.el-table
td
,
.el-table
th
{
.userCommissionDetails
.el-table
td
,
.el-table
th
{
padding
:
5px
0
;
}
</
style
>
<
template
>
</
style
>
<
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"
/>
<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"
option-label=
"ClassName"
v-model=
"msg.ClassId"
:options=
"ClassList"
label=
"班级"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
option-label=
"ClassName"
v-model=
"msg.ClassId"
:options=
"ClassList"
label=
"班级"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -58,27 +65,23 @@
</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=
"校区"
></el-table-column>
<el-table-column
prop=
"DeptName"
label=
"部门"
></el-table-column>
<el-table-column
prop=
"UserName"
label=
"销售"
>
</el-table-column>
<el-table-column
width=
'170'
prop=
"ClassName"
label=
"班级信息"
>
<
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=
"校区"
></el-table-column>
<el-table-column
prop=
"DeptName"
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>
<div>
{{
scope
.
row
.
ClassName
}}
{{
scope
.
row
.
ClassTypeName
}}
<span
style=
"color: #409EFF;"
v-if=
'scope.row.IsContinueClass==1'
>
(续)
</span></div>
<div>
学生数量:
{{
scope
.
row
.
StudentCount
}}
人
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"OrderId"
label=
"订单号"
>
<el-table-column
prop=
"OrderId"
label=
"订单号"
>
<
template
slot-scope=
"scope"
>
<div
style=
"cursor: pointer;text-decoration: underline;"
@
click=
'goorderUrl(scope.row.OrderId)'
>
{{
scope
.
row
.
OrderId
}}
</div>
<div
style=
"cursor: pointer;text-decoration: underline;"
@
click=
'goorderUrl(scope.row.OrderId)'
>
{{
scope
.
row
.
OrderId
}}
</div>
</
template
>
</el-table-column>
...
...
@@ -123,12 +126,12 @@
</template>
</div>
</template>
<
script
>
</template>
<
script
>
import
{
GetClassTypePageList
,
}
from
'../../api/system/index'
;
import
{
import
{
getSellCommissionUserDetailList
,
}
from
'../../api/finance/index'
import
{
...
...
@@ -147,25 +150,25 @@
msg
:
{
PeriodId
:
0
,
UserId
:
0
,
ClassId
:
0
,
OrderId
:
''
,
ClassId
:
0
,
OrderId
:
''
,
},
pageCount
:
0
,
persistent
:
false
,
listData
:
{},
tableData
:
[],
company
:
[],
department
:
[],
ClassList
:
[],
allClassList
:
[],
listData
:
{},
tableData
:
[],
company
:
[],
department
:
[],
ClassList
:
[],
allClassList
:
[],
}
},
created
()
{},
mounted
()
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
userId
)
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
userId
)
{
this
.
msg
.
UserId
=
this
.
$route
.
query
.
userId
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
preriodId
)
{
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
preriodId
)
{
this
.
msg
.
PeriodId
=
this
.
$route
.
query
.
preriodId
}
this
.
getList
()
...
...
@@ -173,8 +176,8 @@
},
methods
:
{
getList
()
{
if
(
this
.
msg
)
getList
()
{
if
(
this
.
msg
)
this
.
loading
=
true
;
getSellCommissionUserDetailList
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
@@ -211,7 +214,7 @@
})
},
goUrl
(
path
,
id
)
{
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
'/financial/'
+
path
,
query
:
{
...
...
@@ -225,30 +228,25 @@
const
property
=
column
[
'property'
];
return
row
[
property
]
===
value
;
},
StudentCount
(
a
,
b
){
console
.
log
(
a
,
b
)
StudentCount
(
a
,
b
)
{
return
a
.
StudentCount
-
b
.
StudentCount
;
},
goorderUrl
(
id
){
console
.
log
(
id
)
goorderUrl
(
id
)
{
this
.
$router
.
push
({
path
:
'/financial/cycleOrderList'
,
path
:
'/financial/cycleOrderList'
,
query
:
{
OrderId
:
id
,
blank
:
'y'
,
}
})
},
goreturn
()
{
goreturn
()
{
this
.
$router
.
go
(
-
1
);
}
},
}
</
script
>
<
style
lang=
"sass"
>
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
</
style
>
src/pages/sale/appointManagement.vue
View file @
4119b68b
<
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
: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"
>
...
...
@@ -11,7 +39,7 @@
<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
clickable
v-close-popup
@
click=
"
ExchangeOrder(props.row
)"
>
<q-item-section>
<q-item-label>
转订单
</q-item-label>
</q-item-section>
...
...
@@ -21,7 +49,7 @@
<q-item-label>
流单
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"OperateVitior(props.row,3)"
>
<q-item
clickable
v-close-popup
@
click=
"OperateVitior(props.row,3)"
>
<q-item-section>
<q-item-label>
取消
</q-item-label>
</q-item-section>
...
...
@@ -35,7 +63,8 @@
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
<yuekeForm
v-if=
"isShowYue"
:ChoiceType=
"ChoiceType"
@
close=
"closeYuekeForm"
@
success=
"refreshPage"
></yuekeForm>
<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>
</div>
</template>
...
...
@@ -43,20 +72,31 @@
import
{
queryVisitorReservePage
}
from
'../../api/scheduling/schedu'
import
{
getTeacherDropDownList
,
queryClassRoomList
}
from
"../../api/school/index"
;
import
yuekeForm
from
'../../components/schedul/yueke-form'
import
exorderForm
from
'../../components/schedul/exorder-form'
export
default
{
meta
:
{
title
:
"约课管理"
},
components
:
{
yuekeForm
yuekeForm
,
exorderForm
},
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
10
pageSize
:
10
,
rowsPerPage
:
10
,
StartClassDate
:
""
,
//开始日期
EndClassDate
:
""
,
//结束日期
TeacherId
:
""
,
ClassRoomId
:
""
,
},
dataList
:
[],
loading
:
false
,
...
...
@@ -110,14 +150,36 @@
}
],
isShowYue
:
false
,
ChoiceType
:
0
ChoiceType
:
0
,
visitorItem
:{},
//选中的对象
isShowExOrder
:
false
,
}
},
created
()
{
this
.
GetTeacherList
();
this
.
getClassRoomList
();
},
mounted
()
{
this
.
getList
()
},
methods
:
{
//获取教师下拉
GetTeacherList
()
{
getTeacherDropDownList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
}
});
},
//获取教室下拉
getClassRoomList
()
{
queryClassRoomList
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
ClassRoomList
=
res
.
Data
;
}
})
},
//重新查询
resetSearch
()
{
this
.
msg
.
pageIndex
=
1
;
...
...
@@ -130,7 +192,6 @@
//获取课程系列分页列表
getList
()
{
queryVisitorReservePage
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据'
);
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
...
...
@@ -138,20 +199,26 @@
})
},
//预约操作按钮
OperateVitior
(
item
,
type
)
{
OperateVitior
(
item
,
type
)
{
this
.
ChoiceType
=
type
;
this
.
isShowYue
=
true
;
this
.
visitorItem
=
item
;
},
//关闭弹窗
closeYuekeForm
()
{
this
.
isShowYue
=
false
},
closeOrderForm
()
{
this
.
isShowExOrder
=
false
},
//刷新页面
refreshPage
()
{
this
.
getList
();
},
ExchangeOrder
(
item
){
this
.
visitorItem
=
item
;
this
.
isShowExOrder
=
true
;
}
}
}
...
...
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