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
f4fe1a4e
Commit
f4fe1a4e
authored
Jul 22, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
into master
parents
0a210e4d
32af06f6
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
491 additions
and
41 deletions
+491
-41
index.js
src/api/finance/index.js
+17
-0
sale.js
src/api/sale/sale.js
+11
-0
course-form.vue
src/components/course/course-form.vue
+21
-4
lesson-form.vue
src/components/course/lesson-form.vue
+2
-2
continueclass-form.vue
src/components/sale/continueclass-form.vue
+3
-3
editOrder-form.vue
src/components/sale/editOrder-form.vue
+0
-1
orderlist.vue
src/components/sale/orderlist.vue
+111
-25
transferclass-form.vue
src/components/sale/transferclass-form.vue
+3
-3
activityDeploy.vue
src/pages/financial/reportform/activityDeploy.vue
+240
-0
orderStatistics.vue
src/pages/sale/orderStatistics.vue
+37
-0
todaysOrder.vue
src/pages/stuMan/todaysOrder.vue
+40
-3
routes.js
src/router/routes.js
+6
-0
No files found.
src/api/finance/index.js
View file @
f4fe1a4e
...
...
@@ -229,6 +229,23 @@ export function setFinanceMonthStatementInfo(data) {
});
}
// 财务流程 获取活动配置
export
function
getActivityConfigInfo
(
data
)
{
return
request
({
url
:
'/Activity/GetActivityConfigInfo'
,
method
:
'post'
,
data
});
}
// 财务流程 新增/修改 活动配置
export
function
setActivityConfig
(
data
)
{
return
request
({
url
:
'/Activity/SetActivityConfig'
,
method
:
'post'
,
data
});
}
src/api/sale/sale.js
View file @
f4fe1a4e
...
...
@@ -344,4 +344,15 @@ export function GetSelectClassOrderList(data) {
})
}
/**
* 今日订单 修改订单的关联老师
*
*/
export
function
setOrderHelpEnterId
(
data
)
{
return
request
({
url
:
'/Order/SetOrderHelpEnterId'
,
method
:
'post'
,
data
})
}
src/components/course/course-form.vue
View file @
f4fe1a4e
...
...
@@ -81,7 +81,7 @@
</div>
<div
class=
"row wrap"
>
<div
class=
"col-6"
>
<q-input
filled
stack-label
@
keyup
.
native=
"checkPrice(objOption, 'ClassHours')"
reverse-fill-mask
<q-input
filled
stack-label
:disable=
"!isHaveCourseHoursEdit"
@
keyup
.
native=
"checkPrice(objOption, 'ClassHours')"
reverse-fill-mask
v-model=
"objOption.ClassHours"
ref=
"ClassHours"
class=
"col-6 q-pr-lg q-pb-lg"
label=
"课时数量"
:rules=
"[val => !!val || '请填写课时信息']"
/>
</div>
...
...
@@ -130,6 +130,9 @@
UploadSelfFile
}
from
"../../api/common/common"
;
import
extEditor
from
"../common/ext-editor"
;
import
{
mapState
}
from
"vuex"
;
export
default
{
components
:
{
...
...
@@ -172,17 +175,31 @@
SaleplatList
:
[],
//销售端口
choosePlat
:
[],
//选择的平台
chooseTeacher
:
[],
//选择老师
isShowPrice
:
0
//是否显示价格【hk2021-03-05新增】
isShowPrice
:
0
,
//是否显示价格【hk2021-03-05新增】
};
},
created
()
{
this
.
GetTeacherList
();
this
.
getSaleplat
();
},
computed
:
mapState
({
isHaveCourseHoursEdit
(
state
)
{
if
(
state
.
user
.
userInfo
&&
state
.
user
.
userInfo
.
ActionMenuList
&&
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
)
{
let
action
=
state
.
user
.
userInfo
.
ActionMenuList
.
find
(
x
=>
{
if
(
x
.
FunctionCode
==
"Edit_CourseClassHours"
)
{
return
x
;
}
});
if
(
action
){
return
true
}
}
return
false
;
}
}),
mounted
()
{
this
.
initObj
();
},
methods
:
{
//获取教师下拉
...
...
src/components/course/lesson-form.vue
View file @
f4fe1a4e
...
...
@@ -296,7 +296,7 @@
<
template
v-slot:body-cell-CheckNum=
"props"
>
<q-td>
<div
v-for=
"(item,index) in props.row.TimeList"
class=
"lessForm_Class"
>
<span
style=
"color:green;"
>
{{
item
.
CheckNum
}}
</span>
/
<span
style=
"color:red;"
>
{{
item
.
NoCheckNum
}}
</span>
<span
style=
"color:green;"
>
{{
item
.
CheckNum
}}
</span>
/
<span
style=
"color:red;"
>
{{
item
.
NoCheckNum
}}
</span>
/
<span
style=
"color:orange;"
>
{{
item
.
AskForLeaveNum
}}
</span>
</div>
</q-td>
</
template
>
...
...
@@ -711,7 +711,7 @@
},
{
name
:
'CheckNum'
,
label
:
'签到
人数/缺勤人数
'
,
label
:
'签到
/缺勤/请假
'
,
field
:
'CheckNum'
,
align
:
'left'
},
...
...
src/components/sale/continueclass-form.vue
View file @
f4fe1a4e
...
...
@@ -106,9 +106,9 @@
</q-card-section>
<div
style=
"margin:20px;border-bottom:1px solid #E2E2E2"
>
<div
class=
"apply_List"
v-for=
"(item,index) in studentList"
v-if=
"item.IsShow"
>
<span
style=
"width:1
0
%"
>
{{
item
.
GuestName
}}
</span>
<span
style=
"width:
10
%"
>
{{
item
.
SexStr
}}
</span>
<span
style=
"width:
10
%"
>
{{
item
.
Age
}}
</span>
<span
style=
"width:1
5
%"
>
{{
item
.
GuestName
}}
</span>
<span
style=
"width:
7
%"
>
{{
item
.
SexStr
}}
</span>
<span
style=
"width:
8
%"
>
{{
item
.
Age
}}
</span>
<span
style=
"width:20%"
>
{{
item
.
Mobile
}}
</span>
<span
style=
"width:20%"
>
<template
v-if=
"item.ClassHours"
>
已学:
{{
item
.
ClassHours
}}
课时
</
template
>
...
...
src/components/sale/editOrder-form.vue
View file @
f4fe1a4e
...
...
@@ -372,7 +372,6 @@
EmployeeName
:
'不限'
}
this
.
EmployeeList
.
unshift
(
obj
);
this
.
AllemployeeList
.
unshift
(
obj
);
}
}).
catch
(()
=>
{})
},
...
...
src/components/sale/orderlist.vue
View file @
f4fe1a4e
...
...
@@ -73,6 +73,9 @@
<
template
v-if=
"item.JoinType==4"
>
从【
{{
item
.
SourceClassName
}}
】转入。关联订单号
{{
item
.
SourceOrderId
}}
</
template
>
<
template
v-if=
"item.JoinType==5"
>
从【
{{
item
.
SourceClassName
}}
】分拆插班转入。关联订单号
{{
item
.
SourceOrderId
}}
</
template
>
</div>
<div
class=
"order_OferTitle"
v-if=
"item.TargetJoinType==3"
>
续费订单:{{item.TargetOrderId}}
...
...
@@ -80,6 +83,9 @@
<div
class=
"order_OferTitle"
v-if=
"item.TargetJoinType==4"
>
已转班【{{item.TargetClassName}}】,关联订单号{{item.TargetOrderId}}
</div>
<div
class=
"order_OferTitle"
v-if=
"item.TargetJoinType==5"
>
已分拆插班【{{item.TargetClassName}}】,关联订单号{{item.TargetOrderId}}
</div>
<div>
{{item.EnterName}}
</div>
<div
style=
"margin-top: 10px"
>
{{item.CreateTime}}
</div>
<
template
v-if=
"AuthorityObj.isShowName"
>
...
...
@@ -213,10 +219,30 @@
</div>
</td>
<td
style=
"border:none"
v-if=
"viewType==0"
>
<
template
v-if=
"
isEditOrder||AuthorityObj.isShowEdit
"
>
<
template
v-if=
"
(isEditOrder||AuthorityObj.isShowEdit) && comefrom == 0
"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"editOrder(item)"
/>
</
template
>
<
template
v-if=
"comefrom==1"
>
<q-btn
flat
size=
"xs"
color=
"accent"
style=
"font-weight:400"
label=
"关联老师"
@
click=
"gettanchuteacher(item)"
>
<q-popup-proxy
>
<q-banner
v-if=
"isShowteacher"
>
<div
class=
"calenderDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
请选择关联教师
</div>
<q-select
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"teacherMsg.HelpEnterId"
:options=
"TeacherList"
emit-value
map-options
label=
"请选择关联教师"
/>
<q-card-actions
align=
"right"
class=
"bg-white"
style=
"margin-top:20px;"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
size=
"sm"
@
click=
"isShowteacher=false"
style=
"font-weight:400 !important"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important"
@
click=
"setCheckStatus()"
/>
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</q-btn>
</
template
>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
>
...
...
@@ -249,7 +275,7 @@
<q-item-label>
校长备注
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if=
"isEditOrder"
>
<q-item
clickable
v-close-popup
v-if=
"isEditOrder
&& comefrom == 0
"
>
<q-item-section
@
click=
"editOrder(item)"
>
<q-item-label>
总经理修改
</q-item-label>
</q-item-section>
...
...
@@ -270,34 +296,35 @@
<q-item-label>
额外奖励
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
disabled
v-if=
"(item.FinanceList&&item.FinanceList.length>0)||(item.RefundFinanceList&&item.RefundFinanceList.length>0)"
>
<q-item-section>
<q-item-label>
取消订单
</q-item-label>
<q-tooltip
anchor=
"center left"
self=
"center right"
content-class=
"bg-red"
>
已有财务单据无法取消
</q-tooltip>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-else
>
<q-item-section
@
click=
"CancelOrder(item)"
>
<q-item-label>
取消订单
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-close-popup
v-if=
"AuthorityObj.isShowBackClass"
>
<div
v-if=
"comefrom == 0"
>
<q-item
clickable
v-close-popup
disabled
v-if=
"(item.FinanceList&&item.FinanceList.length>0)||(item.RefundFinanceList&&item.RefundFinanceList.length>0) "
>
<q-item-section>
<q-item-label>
取消订单
</q-item-label>
<q-tooltip
anchor=
"center left"
self=
"center right"
content-class=
"bg-red"
>
已有财务单据无法取消
</q-tooltip>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-else
>
<q-item-section
@
click=
"CancelOrder(item)"
>
<q-item-label>
取消订单
</q-item-label>
</q-item-section>
</q-item>
</div>
<q-item
clickable
v-close-popup
v-if=
"AuthorityObj.isShowBackClass"
>
<q-item-section>
<q-item-label
@
click=
"showBackClassForm(item)"
>
退课
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-
close-popup
v-
if=
"AuthorityObj.isShowRenewClass"
>
<q-item
clickable
v-close-popup
v-if=
"AuthorityObj.isShowRenewClass"
>
<q-item-section>
<q-item-label
@
click=
"showContinueClass(item)"
>
续课
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-
close-popup
v-
if=
"AuthorityObj.isShowTransClassOrder"
>
<q-item
clickable
v-close-popup
v-if=
"AuthorityObj.isShowTransClassOrder"
>
<q-item-section>
<q-item-label
@
click=
"transferClass(item,1)"
>
转班
</q-item-label>
</q-item-section>
...
...
@@ -847,6 +874,7 @@
import
eduinfoForm
from
'../sale/eduinfo-form'
import
{
setOrderHelpEnterId
,
//老师关联
cancelClassOrder
,
//取消订单
}
from
'../../api/sale/sale'
...
...
@@ -857,7 +885,9 @@
SetOrderReceiveContract
,
//领取合同
SetEducationContractAudit
}
from
'../../api/sale/contract'
import
{
getTeacherDropDownList
}
from
'../../api/school/index'
export
default
{
components
:
{
editorderForm
,
...
...
@@ -900,6 +930,11 @@
viewType
:
{
type
:
Number
,
default
:
0
},
//因为今天订单 取消了一些操作
comefrom
:{
//来自 1是来自 学管今日订单
type
:
Number
,
default
:
0
}
},
data
()
{
...
...
@@ -954,12 +989,16 @@
newModityOrderType
:
0
,
isChaBan
:
0
,
//是否插班(0-正常报入,1-插班报入)
isShowTransferClass
:
false
,
//是否显示转班
ChangeType
:
1
//1-转班 2-分拆
ChangeType
:
1
,
//1-转班 2-分拆
isShowteacher
:
false
,
//关联教师显示
teacherMsg
:{
OrderId
:
0
,
HelpEnterId
:
''
,},
//关联老师参数
TeacherList
:[],
//下拉老师
}
},
created
()
{
this
.
initAuth
();
this
.
Employee
();
this
.
GetTeacherList
()
//获取老师数据
var
localStorageData
=
window
.
localStorage
[
"loginUserInfo"
];
let
ActionMenuList
=
JSON
.
parse
(
localStorageData
).
data
.
ActionMenuList
if
(
ActionMenuList
&&
ActionMenuList
.
length
>
0
)
{
...
...
@@ -1425,7 +1464,54 @@
this
.
$emit
(
'success'
);
}
})
}
},
//获取教师下拉
GetTeacherList
()
{
var
qMsg
=
{
AccountTypeStr
:
2
}
queryEmployee
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
}
})
},
gettanchuteacher
(
item
){
this
.
isShowteacher
=
true
this
.
teacherMsg
.
OrderId
=
item
.
OrderId
;
this
.
teacherMsg
.
HelpEnterId
=
item
.
HelpEnterId
>
0
?
item
.
HelpEnterId
:
''
;
},
setCheckStatus
(){
if
(
this
.
teacherMsg
.
HelpEnterId
==
0
||
this
.
teacherMsg
.
HelpEnterId
==
''
){
this
.
$q
.
notify
({
icon
:
'close'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'请选择关联老师'
,
position
:
'top'
})
return
}
setOrderHelpEnterId
(
this
.
teacherMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功'
,
position
:
'top'
})
//调用父页面成功方法
this
.
isShowteacher
=
false
this
.
$emit
(
'success'
);
}
})
}
}
}
...
...
src/components/sale/transferclass-form.vue
View file @
f4fe1a4e
...
...
@@ -116,9 +116,9 @@
</q-card-section>
<div
style=
"margin:20px;border-bottom:1px solid #E2E2E2"
>
<div
class=
"apply_List"
v-for=
"(item,index) in studentList"
v-if=
"item.IsShow"
>
<span
style=
"width:1
0
%"
>
{{
item
.
GuestName
}}
</span>
<span
style=
"width:
10
%"
>
{{
item
.
SexStr
}}
</span>
<span
style=
"width:
10
%"
>
{{
item
.
Age
}}
</span>
<span
style=
"width:1
5
%"
>
{{
item
.
GuestName
}}
</span>
<span
style=
"width:
7
%"
>
{{
item
.
SexStr
}}
</span>
<span
style=
"width:
8
%"
>
{{
item
.
Age
}}
</span>
<span
style=
"width:20%"
>
{{
item
.
Mobile
}}
</span>
<span
style=
"width:20%"
>
<template
v-if=
"item.ClassHours"
>
已学:
{{
item
.
ClassHours
}}
课时
</
template
>
...
...
src/pages/financial/reportform/activityDeploy.vue
0 → 100644
View file @
f4fe1a4e
<
style
>
.activityDeploy
.Period-rules
{
display
:
flex
;
margin-bottom
:
24px
;
padding-left
:
20px
;
}
.activityDeploy
.Period_Spreate
{
flex
:
1
;
min-width
:
200px
;
margin-right
:
32px
;
}
.activityDeploy
.Period-rule-title
{
color
:
#646a73
;
margin-bottom
:
4px
;
display
:
flex
;
align-items
:
center
;
}
.activityDeploy
.Period-info-icon
{
margin-left
:
8px
;
color
:
#8f959e
;
line-height
:
1
;
vertical-align
:
top
;
}
.baseSetForm_Dialog
{
margin
:
20px
;
}
.cycle_Title
{
font-size
:
20px
;
font-weight
:
500
;
color
:
#1f2329
;
}
.Period-alert
{
padding
:
9px
16px
;
border-radius
:
4px
;
background-color
:
#f0f4ff
;
line-height
:
22px
;
color
:
#1f2329
;
display
:
flex
;
align-items
:
center
;
margin-top
:
20px
;
margin-bottom
:
12px
;
font-size
:
13px
;
}
.Okr_Length
{
font-weight
:
500
;
color
:
#1f2329
;
margin-top
:
15px
;
}
.FormItem-asterisk
{
position
:
relative
;
top
:
3px
;
margin-left
:
3px
;
color
:
#f54a45
;
line-height
:
1
;
}
.baseSetForm_Dialog
.el-radio
{
display
:
block
;
margin-bottom
:
15px
;
}
</
style
>
<
template
>
<div
class=
"page-body activityDeploy"
>
<div
class=
"page-search row items-center"
style=
"justify-content: space-between;"
>
<span
style=
"font-size: 20px;font-weight: 400;"
>
活动配置
<span
style=
"font-size: 16px;"
></span>
</span>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md"
@
click=
"getedit"
label=
"修改基础配置"
/>
</div>
<div
v-if=
"activityobj"
>
<div
class=
"Period-rules"
>
<div
class=
"Period_Spreate"
>
<div
class=
"Period-rule-title"
>
活动类型
</div>
<div>
{{
activityobj
.
Type
==
1
?
'按人头'
:
'百分比'
}}
</div>
</div>
<div
class=
"Period_Spreate"
>
<div
class=
"Period-rule-title"
>
{{
activityobj
.
Type
==
1
?
'提成金额'
:
'比例'
}}
</div>
<div>
{{
activityobj
.
Type
==
1
?
activityobj
.
CommissionMoney
+
'元'
:
activityobj
.
CommissionMoney
+
'%'
}}
</div>
</div>
</div>
<div
class=
"Period-rules"
>
<div
class=
"Period_Spreate"
>
<div
class=
"Period-rule-title"
>
操作人
</div>
<div>
{{
activityobj
.
UpdateByName
}}
</div>
</div>
<div
class=
"Period_Spreate"
>
<div
class=
"Period-rule-title"
>
操作时间
</div>
<div>
{{
activityobj
.
UpdateTime
}}
</div>
</div>
</div>
</div>
<q-dialog
v-model=
"persistent"
maximized
full-height
seamless
position=
"right"
@
hide=
"closeProcess"
>
<q-card
style=
"margin-top:61px;width:400px"
class=
"no-border-radius classinfo_Dialog"
>
<div
class=
"baseSetForm_Dialog"
>
<div
class=
"cycle_Title"
>
周期设置
</div>
<div
class=
"Okr_Length"
>
活动类型
<span
class=
"FormItem-asterisk"
>
*
</span></div>
<div
class=
"q-gutter-sm"
style=
"margin: 10px 0;"
>
<q-radio
v-model=
"addMsg.Type"
val=
"1"
label=
"人头"
@
input=
"getradio"
/>
<q-radio
v-model=
"addMsg.Type"
val=
"2"
label=
"百分比"
@
input=
"getradio"
/>
</div>
<div
class=
"Okr_Length"
v-if=
"addMsg.Type==1"
>
金额
<span
class=
"FormItem-asterisk"
>
*
</span></div>
<el-input
v-if=
"addMsg.Type==1"
type=
"text"
v-model=
"addMsg.CommissionMoney"
style=
"margin: 10px 0;"
onkeyup=
"this.value= this.value.match(/\d+(\.\d
{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''" size="small">
<template
slot=
"append"
>
元
</
template
>
</el-input>
<div
class=
"Okr_Length"
v-if=
"addMsg.Type==2"
>
百分比
<span
class=
"FormItem-asterisk"
>
*
</span></div>
<el-input
v-if=
"addMsg.Type==2"
type=
"number"
:min=
'1'
:max=
'100'
v-model=
"addMsg.CommissionMoney"
style=
"margin: 10px 0;"
@
input=
"getbaifenbi"
size=
"small"
>
<
template
slot=
"append"
>
%
</
template
>
</el-input>
<q-card-actions
align=
"right"
class=
"bg-white"
style=
"margin-top:20px;"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
size=
"sm"
@
click=
"closeProcess"
style=
"font-weight:400 !important"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important"
@
click=
"setCheckStatus()"
/>
</q-card-actions>
</div>
</q-card>
<div
class=
"dialog-out-close"
@
click=
"closeProcess"
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>
</div>
</template>
<
script
>
import
{
getActivityConfigInfo
,
setActivityConfig
}
from
'../../../api/finance/index'
export
default
{
meta
:
{
title
:
"活动配置"
},
components
:
{
},
data
()
{
return
{
loading
:
false
,
persistent
:
false
,
activityobj
:
null
,
addMsg
:{
Id
:
0
,
Type
:
'1'
,
CommissionMoney
:
1
,
},
}
},
mounted
()
{
this
.
getActivityInfo
()
},
methods
:
{
getActivityInfo
()
{
this
.
loading
=
true
;
getActivityConfigInfo
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
loading
=
false
;
this
.
activityobj
=
res
.
Data
}
})
},
//关闭流程设置
closeProcess
()
{
this
.
persistent
=
false
;
},
getedit
(){
this
.
addMsg
.
Id
=
this
.
activityobj
.
Id
this
.
addMsg
.
Type
=
(
this
.
activityobj
.
Type
).
toString
()
this
.
addMsg
.
CommissionMoney
=
this
.
activityobj
.
CommissionMoney
this
.
persistent
=
true
;
},
getradio
(){
this
.
$forceUpdate
()
if
(
this
.
addMsg
.
Type
==
2
){
if
(
this
.
addMsg
.
CommissionMoney
>
100
){
this
.
addMsg
.
CommissionMoney
=
100
}
else
if
(
this
.
addMsg
.
CommissionMoney
<
1
){
this
.
addMsg
.
CommissionMoney
=
1
}
if
(
this
.
addMsg
.
CommissionMoney
&&
(
this
.
addMsg
.
CommissionMoney
.
toString
()).
indexOf
(
'.'
)
!=-
1
){
this
.
addMsg
.
CommissionMoney
=
this
.
addMsg
.
CommissionMoney
?
this
.
addMsg
.
CommissionMoney
.
toFixed
(
0
):
1
}
}
},
getbaifenbi
(
e
){
this
.
addMsg
.
CommissionMoney
=
this
.
addMsg
.
CommissionMoney
?
this
.
addMsg
.
CommissionMoney
.
replace
(
/
\D
/g
,
''
):
''
if
(
this
.
addMsg
.
CommissionMoney
>
100
){
this
.
addMsg
.
CommissionMoney
=
100
}
else
if
(
this
.
addMsg
.
CommissionMoney
<
1
){
this
.
addMsg
.
CommissionMoney
=
1
}
},
setCheckStatus
(){
if
(
this
.
addMsg
.
CommissionMoney
<
1
){
this
.
$q
.
notify
({
icon
:
'close'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'金额或者百分比数值大于0'
,
position
:
'top'
})
return
}
setActivityConfig
(
this
.
addMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功'
,
position
:
'top'
})
this
.
persistent
=
false
;
this
.
getActivityInfo
()
}
})
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/pages/sale/orderStatistics.vue
View file @
f4fe1a4e
...
...
@@ -68,6 +68,10 @@
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"msg.EnterID"
:options=
"EmployeeList"
emit-value
map-options
label=
"业务员"
use-input
@
filter=
"filterFn2"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"msg.HelpEnterId"
:options=
"TeacherList"
emit-value
map-options
label=
"关联教师"
use-input
@
filter=
"filterFn3"
/>
</div>
</div>
</div>
<div
class=
"col row wrap q-gutter-x-md"
v-if=
"data.Statistics"
>
...
...
@@ -181,6 +185,8 @@
PlatformTax
:
0
,
//平台税金
EnterID
:
''
,
//业务员id
ClassNo
:
''
,
//班号
HelpEnterId
:
''
,
//关联教师
},
//订单状态
OrderStateList
:
[],
...
...
@@ -203,6 +209,8 @@
},
EmployeeList
:[],
//业务员
AllemployeeList
:[],
TeacherList
:[],
//关联教师
AllTeacherList
:[],
}
},
created
()
{
...
...
@@ -234,6 +242,8 @@
mounted
()
{
this
.
getList
();
this
.
getEmployee
(
0
);
this
.
getglteacher
()
},
methods
:
{
//订单状态
...
...
@@ -330,6 +340,33 @@
closeClass
()
{
this
.
isShowClassInfo
=
false
;
},
getglteacher
(){
var
qMsg
=
{
AccountTypeStr
:
2
}
queryEmployee
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
let
obj
=
{
Id
:
""
,
EmployeeName
:
"不限"
}
this
.
TeacherList
.
unshift
(
obj
)
this
.
AllTeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
TeacherList
));
}
})
},
//筛选关联老师
filterFn3
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
''
)
{
this
.
TeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllTeacherList
))
}
else
{
const
needle
=
val
.
toLowerCase
()
this
.
TeacherList
=
this
.
AllTeacherList
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
)
}
})
},
//业务员
getEmployee
(
id
)
{
var
qMsg
=
{
...
...
src/pages/stuMan/todaysOrder.vue
View file @
f4fe1a4e
<
template
>
<div
class=
"page-body myOrder"
>
<div
style=
"width: 100%;display: flex;justify-content: space-between"
>
<span
style=
"font-size: 20px;font-weight: 400; "
>
报名统计
</span>
<span
style=
"font-size: 20px;font-weight: 400; "
>
今日订单
</span>
<div
style=
"display: flex;align-items: center;"
>
<span>
...
...
@@ -68,6 +68,10 @@
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"msg.EnterID"
:options=
"EmployeeList"
emit-value
map-options
label=
"业务员"
use-input
@
filter=
"filterFn2"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"EmployeeName"
v-model=
"msg.HelpEnterId"
:options=
"TeacherList"
emit-value
map-options
label=
"关联教师"
use-input
@
filter=
"filterFn3"
/>
</div>
</div>
</div>
<div
class=
"col row wrap q-gutter-x-md"
v-if=
"data.Statistics"
>
...
...
@@ -119,7 +123,7 @@
</div>
</div>
<div
class=
"page-content"
>
<orderlist
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
:modityOrderType=
"3"
ref=
"orderL"
>
<orderlist
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
:modityOrderType=
"3"
:comefrom=
"comefrom"
ref=
"orderL"
>
</orderlist>
<div
class=
"row"
style=
"justify-content: flex-end;padding: 5px 20px"
>
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
...
...
@@ -149,7 +153,7 @@
}
from
'../../api/common/common'
;
export
default
{
meta
:
{
title
:
"
报名统计
"
title
:
"
今日订单
"
},
components
:
{
myOrderForm
,
...
...
@@ -181,6 +185,7 @@
PlatformTax
:
0
,
//平台税金
EnterID
:
''
,
//业务员id
ClassNo
:
''
,
//班号
HelpEnterId
:
''
,
//关联教师
},
//订单状态
OrderStateList
:
[],
...
...
@@ -201,8 +206,11 @@
isShowBackClass
:
false
,
//不显示退课
isShowRenewClass
:
false
,
//不显示续课
},
comefrom
:
1
,
EmployeeList
:[],
//业务员
AllemployeeList
:[],
TeacherList
:[],
//关联教师
AllTeacherList
:[],
}
},
created
()
{
...
...
@@ -234,6 +242,7 @@
mounted
()
{
this
.
getList
();
this
.
getEmployee
(
0
);
this
.
getglteacher
()
},
methods
:
{
//订单状态
...
...
@@ -330,6 +339,33 @@
closeClass
()
{
this
.
isShowClassInfo
=
false
;
},
getglteacher
(){
var
qMsg
=
{
AccountTypeStr
:
2
}
queryEmployee
(
qMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
TeacherList
=
res
.
Data
;
let
obj
=
{
Id
:
""
,
EmployeeName
:
"不限"
}
this
.
TeacherList
.
unshift
(
obj
)
this
.
AllTeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
TeacherList
));
}
})
},
//筛选关联老师
filterFn3
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
''
)
{
this
.
TeacherList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllTeacherList
))
}
else
{
const
needle
=
val
.
toLowerCase
()
this
.
TeacherList
=
this
.
AllTeacherList
.
filter
(
v
=>
v
.
EmployeeName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
)
}
})
},
//业务员
getEmployee
(
id
)
{
var
qMsg
=
{
...
...
@@ -350,6 +386,7 @@
})
},
//筛选业务员
filterFn2
(
val
,
update
)
{
update
(()
=>
{
...
...
src/router/routes.js
View file @
f4fe1a4e
...
...
@@ -557,6 +557,12 @@ const routes = [{
component
:
()
=>
import
(
"pages/financial/reportform/settleAccounts.vue"
)
},
{
path
:
"/financial/reportform/activityDeploy"
,
//财务流程 获取活动配置
component
:
()
=>
import
(
"pages/financial/reportform/activityDeploy.vue"
)
},
{
path
:
"/administration/document"
,
//行政公告
component
:
()
=>
...
...
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