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
35d0524a
Commit
35d0524a
authored
Dec 15, 2020
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
a4f494ae
d301834a
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
636 additions
and
65 deletions
+636
-65
myOrder-form.vue
src/components/sale/myOrder-form.vue
+306
-41
orderlist.vue
src/components/sale/orderlist.vue
+228
-8
japaneseTrain.vue
src/pages/sale/japaneseTrain.vue
+60
-0
myOrder.vue
src/pages/sale/myOrder.vue
+42
-16
No files found.
src/components/sale/myOrder-form.vue
View file @
35d0524a
<
template
>
<q-dialog
v-model=
"dialog"
maximized
full-height
seamless
position=
"right"
>
<q-card
style=
"margin-top:61px;width:900px"
class=
"no-border-radius classinfo_Dialog"
>
<div
class=
"drawerTop row"
>
<div
class=
"drawerTop
2
row"
>
<div
class=
"drawerTop-d"
>
订
</div>
...
...
@@ -106,10 +106,9 @@
</q-td>
</
template
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.
p
ageIndex"
color=
"primary"
:max=
"pageCount"
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.
P
ageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
</q-table>
</div>
<div
v-if=
"tab==3"
style=
"padding: 10px 20px"
>
...
...
@@ -131,36 +130,176 @@
<span>
总经理备注
</span>
</div>
</div>
<div
class=
"q-px-lg q-pb-md"
>
<
q-timeline
color=
"secondary"
>
<
q-timeline-entry
v-for=
"(
x,j) in data2"
:index=
"j
"
:key=
"
j
"
:
title=
"x.CreateByName
"
:subtitle=
"x.CreateTim
e"
<div
class=
"q-px-lg q-pb-md"
style=
"padding-bottom: 50px;"
>
<
el-timeline
>
<
el-timeline-item
v-for=
"(
activity, index) in data2
"
:key=
"
index
"
:
color=
"activity.color
"
size=
"larg
e"
>
<div>
<span>
{{x.Content}}
</span>
<div
class=
"row"
style=
"font-size: 14px;color: #111111"
>
<span>
{{activity.CreateByName}}
</span>
<span
style=
"margin-left: 10px"
>
{{activity.CreateTime}}
</span>
</div>
<div
style=
"width: 100%;padding: 15px;line-height: 20px;background: #F0F5FB;border-radius: 4px;font-size: 12px;color: #333333"
>
{{activity.Content}}
</div>
</div>
</el-timeline-item>
</el-timeline>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg2.PageIndex"
color=
"primary"
:max=
"pageCount2"
:input=
"true"
@
input=
"changePage2"
/>
</div>
</div>
<div
v-if=
"tab==4"
style=
"padding:0 20px"
>
<div
class=
"row "
style=
"align-items: center;margin-bottom: 20px;"
>
<div
style=
"width: 3px;height: 15px;background: #3FC4FF;margin-right: 10px"
></div>
收款单
</div>
<q-table
:pagination=
"msg"
:loading=
"floading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
:hide-pagination=
"true"
:data=
"dataList"
:columns=
"columnsf"
row-key=
"name"
>
<
template
v-slot:body-cell-FrID=
"props"
>
<q-td
:props=
"props"
@
click=
"goUrl('FinancialDocumentsDetail',props.row)"
>
<span
style=
"font-size: 14px;color: #2961FE;font-weight: bold;cursor: pointer;"
>
{{
props
.
row
.
FrID
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-CostTypeList=
"props"
>
<q-td
:props=
"props"
v-for=
"(s,si) in props.row.CostTypeList"
>
<span
style=
"background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #646464;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;margin-right: 4px;"
>
{{
s
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-TradeWayList=
"props"
>
<q-td
:props=
"props"
class=
"row"
style=
"align-items: center;height: auto"
>
<div
v-if=
"props.row.TradeWayList&&props.row.TradeWayList.length>0"
class=
"my-table-details"
>
<div
v-for=
"(tw,twIn) in props.row.TradeWayList"
style=
"line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;width:210px;display: flex;flex-direction: column;align-items: center"
>
<p><span
style=
"font-weight: bold;color:#333333"
>
{{
tw
.
Alias
}}
</span><span
class=
"_bank_name"
style=
"height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px"
>
{{
props
.
row
.
TradeWayList
[
0
].
TypeName
}}
</span><span
style=
"height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;"
:style=
"
{'background-color':tw.AccountType=='私'?'#2AAEF2':'#FF9C01'}">
{{
tw
.
AccountType
==
""
?
'无'
:
tw
.
AccountType
}}
</span>
</p>
<p
style=
"color:#333333"
>
{{
tw
.
BankNo
}}
</p>
</div>
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-zhaungt=
"props"
>
<q-td
:props=
"props"
>
<i
v-if=
"props.row.Status==1"
class=
"iconfont icon-daiqueren"
style=
"color: #4BCA81"
></i>
<i
v-if=
"props.row.Status==4"
class=
"iconfont icon-yiquxiao"
style=
"color: #4BCA81"
></i>
<i
v-if=
"props.row.Status==2"
class=
"iconfont icon-yiqueren"
style=
"color: #959595"
></i>
<i
v-if=
"props.row.Status==3"
class=
"iconfont icon-shenhebohui"
style=
"color: #E95252"
></i>
<i
v-if=
"props.row.Status==0"
class=
"iconfont icon-zancun"
style=
"color: #FF9C01"
></i>
<span
style=
"cursor: pointer;"
@
click=
"Financial_post_GetFinancLogList(props.row.FrID)"
>
{{
props
.
row
.
StatusStr
}}
</span>
<q-popup-proxy
>
<q-banner>
<div
style=
"height: auto;max-height: 220px;background-color: #FFFFFF;width: 230px"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
流程日志
</p>
<ul
style=
"padding-left: 20px;max-height: 180px;overflow: auto;"
v-if=
"GetFinancLogList"
v-loading=
'LogLoading'
>
<li
style=
"border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;"
v-for=
"(log,li) in GetFinancLogList"
>
<span
style=
"background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;"
></span>
<p
class=
"row"
style=
"justify-content: space-between"
>
<span
class=
"_color_blue"
>
{{
log
.
EmName
}}
</span>
<span
class=
"fr changLog_time"
>
{{
log
.
UpdateDate
}}
</span>
</p>
<p
class=
"_dtel"
>
{{
log
.
StartValue
}}
</p>
</li>
</ul>
<ul
v-else
>
<li>
暂无修改日志
</li>
</ul>
</div>
</div>
</q-banner>
</q-popup-proxy>
</q-td>
</
template
>
</q-table>
<!-- 付款单-->
<div
class=
"row "
style=
"align-items: center;margin: 20px 0;"
>
<div
style=
"width: 3px;height: 15px;background: #3FC4FF;margin-right: 10px"
></div>
付款单
</div>
<q-table
:pagination=
"msg"
:loading=
"floading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-tow-column-table"
:hide-pagination=
"true"
:data=
"dataListP"
:columns=
"columnsf"
row-key=
"name"
>
<
template
v-slot:body-cell-FrID=
"props"
>
<q-td
:props=
"props"
@
click=
"goUrl('FinancialDocumentsDetail',props.row)"
>
<span
style=
"font-size: 14px;color: #2961FE;font-weight: bold;cursor: pointer;"
>
{{
props
.
row
.
FrID
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-CostTypeList=
"props"
>
<q-td
:props=
"props"
v-for=
"(s,si) in props.row.CostTypeList"
>
<span
style=
"background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #646464;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;margin-right: 4px;"
>
{{
s
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-TradeWayList=
"props"
>
<q-td
:props=
"props"
class=
"row"
style=
"align-items: center;height: auto"
>
<div
v-if=
"props.row.TradeWayList&&props.row.TradeWayList.length>0"
class=
"my-table-details"
>
<div
v-for=
"(tw,twIn) in props.row.TradeWayList"
style=
"line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;width:210px;display: flex;flex-direction: column;align-items: center"
>
<p><span
style=
"font-weight: bold;color:#333333"
>
{{
tw
.
Alias
}}
</span><span
class=
"_bank_name"
style=
"height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px"
>
{{
props
.
row
.
TradeWayList
[
0
].
TypeName
}}
</span><span
style=
"height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;"
:style=
"
{'background-color':tw.AccountType=='私'?'#2AAEF2':'#FF9C01'}">
{{
tw
.
AccountType
==
""
?
'无'
:
tw
.
AccountType
}}
</span>
</p>
<p
style=
"color:#333333"
>
{{
tw
.
BankNo
}}
</p>
</div>
</q-timeline-entry>
</q-timeline>
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-zhaungt=
"props"
>
<q-td
:props=
"props"
>
<i
v-if=
"props.row.Status==1"
class=
"iconfont icon-daiqueren"
style=
"color: #4BCA81"
></i>
<i
v-if=
"props.row.Status==4"
class=
"iconfont icon-yiquxiao"
style=
"color: #4BCA81"
></i>
<i
v-if=
"props.row.Status==2"
class=
"iconfont icon-yiqueren"
style=
"color: #959595"
></i>
<i
v-if=
"props.row.Status==3"
class=
"iconfont icon-shenhebohui"
style=
"color: #E95252"
></i>
<i
v-if=
"props.row.Status==0"
class=
"iconfont icon-zancun"
style=
"color: #FF9C01"
></i>
<span
style=
"cursor: pointer;"
@
click=
"Financial_post_GetFinancLogList(props.row.FrID)"
>
{{
props
.
row
.
StatusStr
}}
</span>
<q-popup-proxy
>
<q-banner>
<div
style=
"height: auto;max-height: 220px;background-color: #FFFFFF;width: 230px"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
流程日志
</p>
<ul
style=
"padding-left: 20px;max-height: 180px;overflow: auto;"
v-if=
"GetFinancLogList"
v-loading=
'LogLoading'
>
<li
style=
"border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;"
v-for=
"(log,li) in GetFinancLogList"
>
<span
style=
"background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;"
></span>
<p
class=
"row"
style=
"justify-content: space-between"
>
<span
class=
"_color_blue"
>
{{
log
.
EmName
}}
</span>
<span
class=
"fr changLog_time"
>
{{
log
.
UpdateDate
}}
</span>
</p>
<p
class=
"_dtel"
>
{{
log
.
StartValue
}}
</p>
</li>
</ul>
<ul
v-else
>
<li>
暂无修改日志
</li>
</ul>
</div>
</div>
</q-banner>
</q-popup-proxy>
</q-td>
</
template
>
</q-table>
</div>
<div
v-if=
"tab==5"
style=
"padding: 10px 20px"
>
<div
class=
"q-px-lg q-pb-md"
>
<q-timeline
color=
"secondary"
>
<q-timeline-entry
v-for=
"(x,j) in data3"
:index=
"j"
:key=
"j
"
:
title=
"x.CreateByName
"
:subtitle=
"x.CreateTim
e"
<div
class=
"q-px-lg q-pb-md"
style=
"padding-bottom: 50px;"
>
<el-timeline>
<el-timeline-item
v-for=
"(activity, index) in data3
"
:
key=
"index
"
size=
"larg
e"
>
<div>
<span>
{{x.LogContent}}
</span>
<div
class=
"row"
style=
"font-size: 14px;color: #111111"
>
<span>
{{activity.CreateByName}}
</span>
<span
style=
"margin-left: 10px"
>
{{activity.CreateTime}}
</span>
</div>
<div
style=
"width: 100%;padding: 15px;line-height: 20px;background: #F0F5FB;border-radius: 4px;font-size: 12px;color: #333333"
>
{{activity.LogContent}}
</div>
</div>
</q-timeline-entry>
</q-timeline>
</el-timeline-item>
</el-timeline>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg3.PageIndex"
color=
"primary"
:max=
"pageCount3"
:input=
"true"
@
input=
"changePage3"
/>
</div>
</div>
</q-card>
...
...
@@ -241,9 +380,63 @@
align
:
'left'
},
],
columnsf
:[
{
name
:
'FrID'
,
label
:
'单号'
,
align
:
'left'
,
},
{
name
:
'CostTypeList'
,
label
:
'费用类型'
,
align
:
'left'
,
},
{
name
:
'TradeWayList'
,
label
:
'交易方式'
,
align
:
'left'
,
},
{
name
:
'Money'
,
field
:
'Money'
,
label
:
'应收'
,
align
:
'left'
,
},
{
name
:
'PayMoney'
,
field
:
'PayMoney'
,
label
:
'实收'
,
align
:
'left'
,
},
{
name
:
'Fee'
,
field
:
'Fee'
,
label
:
'手续费'
,
align
:
'left'
,
},
{
name
:
'TradeDate'
,
field
:
'TradeDate'
,
label
:
'交易日期'
,
align
:
'left'
,
},
{
name
:
'EmName'
,
field
:
'EmName'
,
label
:
'制单人员'
,
align
:
'left'
,
},
{
name
:
'zhaungt'
,
label
:
'当前状态'
,
align
:
'left'
,
},
],
msg
:{
p
ageIndex
:
1
,
p
ageSize
:
12
,
P
ageIndex
:
1
,
P
ageSize
:
12
,
OrderId
:
0
,
ClassId
:
0
,
GuestName
:
''
,
...
...
@@ -253,18 +446,30 @@
data2
:[],
pageCount2
:
0
,
msg2
:{
p
ageIndex
:
1
,
pageSize
:
12
,
P
ageIndex
:
1
,
PageSize
:
6
,
OrderId
:
0
,
},
loading2
:
false
,
data3
:[],
pageCount3
:
0
,
msg3
:{
p
ageIndex
:
1
,
pageSize
:
12
,
P
ageIndex
:
1
,
PageSize
:
6
,
SourceId
:
0
,
},
financiaMsg
:{
pageIndex
:
1
,
pageSize
:
999
,
TCID
:
0
,
OrderID
:
0
,
Type
:
1
,
},
dataList
:[],
dataListP
:[],
floading
:
false
,
LogLoading
:
false
,
GetFinancLogList
:[]
}
},
created
(){
...
...
@@ -275,17 +480,42 @@
this
.
getRolelist
()
this
.
getRemarkList
()
this
.
OrderLogList
()
this
.
getfinanciaALLPageList
(
1
)
//财务单据
},
methods
:{
Financial_post_GetFinancLogList
:
function
(
id
){
// 获取单据日志
this
.
LogLoading
=
true
;
this
.
apipost
(
'Financial_post_GetFinancLogList'
,{
ID
:
id
,
Type
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
x
.
UpdateDate
=
this
.
$commonUtils
.
formatMsgTime
(
x
.
UpdateDate
)
})
this
.
LogLoading
=
false
;
this
.
GetFinancLogList
=
data
;
}
},
null
)
},
closeSaveForm
(){
this
.
$emit
(
'close'
)
this
.
dialog
=
false
},
//翻页
changePage
(
val
)
{
this
.
msg
.
p
ageIndex
=
val
;
this
.
msg
.
P
ageIndex
=
val
;
this
.
getRolelist
()
},
//翻页
changePage2
(
val
)
{
this
.
msg2
.
PageIndex
=
val
;
this
.
getRemarkList
()
},
//翻页
changePage3
(
val
)
{
this
.
msg3
.
PageIndex
=
val
;
this
.
OrderLogList
()
},
getRolelist
()
{
//名单
this
.
loading
=
true
getOrderGuestPageList
(
this
.
msg
).
then
(
res
=>
{
...
...
@@ -324,17 +554,48 @@
}).
catch
(()
=>
{
})
},
getfinanciaALLPageList
(
Type
){
this
.
floading
=
true
this
.
financiaMsg
.
TCID
=
this
.
saveObj
.
ClassId
this
.
financiaMsg
.
OrderID
=
this
.
saveObj
.
OrderId
this
.
financiaMsg
.
Type
=
Type
this
.
apipost
(
'Financial_post_GetALLPageList'
,
this
.
financiaMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
){
let
data
=
res
.
data
.
data
.
pageData
.
list
;
if
(
Type
===
1
)
{
this
.
dataList
=
data
;
this
.
getfinanciaALLPageList
(
2
)
}
else
{
this
.
dataListP
=
data
;
this
.
floading
=
false
}
}
else
{
this
.
floading
=
false
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
goUrl
(
path
,
rowData
,)
{
this
.
$router
.
push
({
path
:
'/financial/financalDocument/'
+
path
,
query
:
{
"id"
:
rowData
.
FrID
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
},
}
}
</
script
>
<
style
scoped
>
.
drawerTop
{
.
classinfo_Dialog
.drawerTop2
{
padding
:
10px
20px
;
align-items
:
center
;
}
.drawerTop-d
{
.
classinfo_Dialog
.
drawerTop-d
{
width
:
34px
;
height
:
34px
;
border-radius
:
50%
;
...
...
@@ -346,28 +607,32 @@
color
:
#2860FB
;
font-weight
:
bold
;
}
.drawerTop-t
{
.
classinfo_Dialog
.
drawerTop-t
{
margin-left
:
10px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
}
.two-left
{
.
classinfo_Dialog
.
two-left
{
width
:
70px
;
display
:
inline-block
;
font-size
:
12px
;
color
:
#999999
;
}
.two-r
{
.
classinfo_Dialog
.
two-r
{
font-size
:
12px
;
color
:
#111111
;
}
.qtabs
{
.
classinfo_Dialog
.
qtabs
{
border-bottom
:
1px
solid
#E2E2E2
;
}
.tis
{
align-items
:
center
}
.tis
.tis-k
{
width
:
12px
;
height
:
12px
;
border-radius
:
50%
;
margin-right
:
8px
}
.tis
span
{
font-size
:
14px
;
color
:
#2D2D2D
;
font-weight
:
600
;
margin-right
:
20px
}
.classinfo_Dialog
.tis
{
align-items
:
center
}
.classinfo_Dialog
.tis
.tis-k
{
width
:
12px
;
height
:
12px
;
border-radius
:
50%
;
margin-right
:
8px
}
.classinfo_Dialog
.tis
span
{
font-size
:
14px
;
color
:
#2D2D2D
;
font-weight
:
600
;
margin-right
:
20px
}
.classinfo_Dialog
.my-table-details
{
max-width
:
230px
;
white-space
:
normal
;
margin-bottom
:
5px
;}
.classinfo_Dialog
.my-table-details
p
{
margin
:
0
}
.classinfo_Dialog
.q-px-lg
{
padding
:
0
}
</
style
>
src/components/sale/orderlist.vue
View file @
35d0524a
<
template
>
<div>
<div
class=
"classorder"
>
<table
class=
"enrollTotalSearchTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
style=
""
>
<tr>
<th
width=
"12%"
>
单号
</th>
...
...
@@ -24,8 +24,7 @@
@
click=
"goOrderdetails(item)"
>
{{
item
.
OrderId
}}
</div>
<div>
{{
item
.
EnterName
}}
</div>
<div
style=
"margin-top: 10px"
>
{{
item
.
CreateTime
}}
</div>
<div
style=
"margin-top: 30px;margin-bottom: 10px"
>
班级
</div>
<div
style=
"font-weight: bold;color:#2961FE;"
>
{{
item
.
ClassName
}}
</div>
</td>
<td
style=
"border:none"
>
{{
item
.
GuestNum
}}
人
</td>
<td
style=
"border:none"
>
{{
item
.
Class_Price
.
toFixed
(
2
)
}}
</td>
...
...
@@ -202,7 +201,29 @@
</div>
</div>
<div
class=
"col"
>
<div>
收款单据:
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
收款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
</div>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.FinanceList"
:index=
"j"
:style=
"
{
background:x.ColorState==1 ? 'rgba(41, 97, 254, 0.2)':(x.ColorState==2 ? 'rgba(2, 196, 153, 0.2)':(x.ColorState==3 ? 'rgba(242, 140, 29, 0.2)':'rgba(63, 196, 255, 0.2)')),
color: x.ColorState==1 ? '#2961FE':(x.ColorState==2 ? '#02C499':(x.ColorState==3 ? '#F28C1D':'#3FC4FF'))}">
<span>
{{
x
.
FrID
}}
</span>
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.RefundFinanceList"
:index=
"j"
:style=
"
{
background:x.ColorState==1 ? 'rgba(41, 97, 254, 0.2)':(x.ColorState==2 ? 'rgba(2, 196, 153, 0.2)':(x.ColorState==3 ? 'rgba(242, 140, 29, 0.2)':'rgba(63, 196, 255, 0.2)')),
color: x.ColorState==1 ? '#2961FE':(x.ColorState==2 ? '#02C499':(x.ColorState==3 ? '#F28C1D':'#3FC4FF'))}">
<span>
{{
x
.
FrID
}}
</span>
</div>
</div>
</div>
</div>
</td>
...
...
@@ -223,8 +244,6 @@
@
click=
"goOrderdetails(item)"
>
{{
item
.
OrderId
}}
</div>
<div>
{{
item
.
EnterName
}}
</div>
<div
style=
"margin-top: 10px"
>
{{
item
.
CreateTime
}}
</div>
<div
style=
"margin-top: 30px;margin-bottom: 10px"
>
班级
</div>
<div
style=
"font-weight: bold;color:#2961FE;"
>
{{
item
.
ClassName
}}
</div>
</td>
<td
style=
"border:none"
>
{{
item
.
GuestNum
}}
人
</td>
<td
style=
"border:none"
>
{{
item
.
Class_Price
.
toFixed
(
2
)
}}
</td>
...
...
@@ -401,7 +420,29 @@
</div>
</div>
<div
class=
"col"
>
<div>
收款单据:
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
收款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
</div>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.FinanceList"
:index=
"j"
:style=
"
{
background:x.ColorState==1 ? 'rgba(41, 97, 254, 0.2)':(x.ColorState==2 ? 'rgba(2, 196, 153, 0.2)':(x.ColorState==3 ? 'rgba(242, 140, 29, 0.2)':'rgba(63, 196, 255, 0.2)')),
color: x.ColorState==1 ? '#2961FE':(x.ColorState==2 ? '#02C499':(x.ColorState==3 ? '#F28C1D':'#3FC4FF'))}">
<span>
{{
x
.
FrID
}}
</span>
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.RefundFinanceList"
:index=
"j"
:style=
"
{
background:x.ColorState==1 ? 'rgba(41, 97, 254, 0.2)':(x.ColorState==2 ? 'rgba(2, 196, 153, 0.2)':(x.ColorState==3 ? 'rgba(242, 140, 29, 0.2)':'rgba(63, 196, 255, 0.2)')),
color: x.ColorState==1 ? '#2961FE':(x.ColorState==2 ? '#02C499':(x.ColorState==3 ? '#F28C1D':'#3FC4FF'))}">
<span>
{{
x
.
FrID
}}
</span>
</div>
</div>
</div>
</div>
</td>
...
...
@@ -537,6 +578,185 @@
});
},
chanceType
(
obj
,
type
){
let
TCIDARR
=
[]
TCIDARR
.
push
(
obj
.
ClassId
)
let
orderObj
=
{
OrderID
:
obj
.
OrderId
,
OrderSource
:
17
,
Obj
:
{},
SourceID
:
0
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
path
:
'/financial/financalDocument/ChoiceAddFinancialDocuments'
,
query
:{
"Type"
:
type
,
"companyID"
:
this
.
getLocalStorage
().
School_Id
,
"path"
:
""
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'tradeWay'
:
obj
.
tradeWay
,
}
});
},
}
}
</
script
>
<
style
>
li
{
list-style-type
:
none
;
}
.classorder
ul
{
padding
:
0px
}
.classorder
.price-popup
{
border-radius
:
4px
;}
.classorder
.el-range-editor
.el-range-input
{
background
:
none
;
}
.classorder
.el-range-editor.el-input__inner
{
background-color
:
transparent
;
}
.classorder
.q-mb-md
{
margin-bottom
:
0
;
}
.classorder
.stics
{
padding
:
10px
20px
;
background
:
#DDDEE0
;
border-radius
:
4px
;
font-size
:
14px
;
color
:
#000000
;
font-weight
:
bold
}
.classorder
.stics
.stics-name
{
color
:
#2D2D2D
;
font-weight
:
600
;
margin-right
:
10px
}
.classorder
.tis
{
margin
:
10px
0
;
align-items
:
center
}
.classorder
.tis
.tis-k
{
width
:
10px
;
height
:
10px
;
margin-right
:
8px
}
.classorder
.tis
span
{
font-size
:
14px
;
color
:
#2D2D2D
;
font-weight
:
600
;
margin-right
:
20px
}
.classorder
table
{
padding
:
10px
0
;
width
:
100%
;
background-color
:
#ededed
;
border-collapse
:
collapse
;
border
:
1px
solid
#d2d2d2
;
font-size
:
12px
;
}
.classorder
table
th
{
background-color
:
#ededed
;
height
:
34px
;
text-indent
:
15px
;
}
.classorder
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
border
:
1px
solid
rgba
(
138
,
138
,
138
,
0.09
);
text-align
:
center
;
}
.classorder
table
._color_666
{
color
:
#666666
;
}
.classorder
table
tr
._color_666
th
{
padding
:
9px
15px
;
}
.classorder
table
th
{
background-color
:
#ededed
;
height
:
34px
;
text-indent
:
15px
;
}
.classorder
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
/*border: 1px solid #d2d2d2;*/
}
.classorder
table
._color_666
{
color
:
#666666
;
}
.classorder
table
tr
._color_666
th
{
padding
:
9px
15px
;
}
.classorder
.enrollTotalSearchTable
{
width
:
100%
;
font-size
:
14px
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
border-collapse
:
collapse
;
}
.classorder
.enrollTotalSearchTable
tr
{
/* border-bottom: 2px solid #333; */
}
.classorder
.enrollTotalSearchTable
tr
th
{
background
:
#bdbdbd
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.classorder
.enrollTotalSearchTable
tr
{
background
:
#fff
;
text-align
:
left
;
}
.classorder
.enrollTotalSearchTable
tbody
tr
:last-child
{
border-bottom
:
2px
solid
#333
;
}
.classorder
.enrollTotalSearchTable
tr
:first-child
td
:first-child
{
border-bottom
:
2px
solid
#333
;
}
.classorder
.enrollTotalSearchTable
tr
td
{
height
:
66px
;
padding
:
10px
;
/*border-top: 1px solid #cccccc;*/
/*border-left: 1px solid #cccccc;*/
}
.classorder
.enrollTotalSearchTable
tr
td
>
img
{
width
:
32px
;
height
:
32px
;
border-radius
:
16px
;
vertical-align
:
middle
;
margin-right
:
5px
;
}
.classorder
.enrollTotalSearchTable
tr
td
p
{
line-height
:
20px
;
}
.classorder
.remarks
{
font-size
:
14px
;
color
:
#2D2D2D
;
}
.classorder
.remarks-b
{
width
:
100%
;
height
:
94px
;
background
:
#F0F5FB
;
margin-top
:
20px
;
padding
:
15px
;
font-size
:
12px
;
color
:
#999999
;
position
:
relative
;
overflow
:
hidden
;
display
:
-webkit-box
;
line-height
:
20px
;
-webkit-line-clamp
:
4
;
-webkit-box-orient
:
vertical
;
}
.classorder
.remarks-b-b
{
text-align
:
right
;
position
:
absolute
;
right
:
0px
;
bottom
:
0px
}
.classorder
.on-left
{
margin-right
:
5px
;
}
.classorder
.finance
{
padding
:
1px
10px
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
4px
;
margin
:
5px
3px
3px
0
;
}
</
style
>
src/pages/sale/japaneseTrain.vue
View file @
35d0524a
...
...
@@ -72,6 +72,30 @@
<img
src=
"../../assets/images/administration/gou.png"
alt=
""
style=
"width: 16px;height: 12px"
v-if=
"j.select==true"
>
</span>
</div>
<div
v-if=
"item.ClassStyle==2"
class=
"row wrap"
style=
"width: 454px;"
>
<div
v-for=
"(j,k) in item.month"
style=
"width: 45.4px;height: 30px;line-height: 30px;text-align: center;font-size: 12px;color: #2D2D2D;margin-top: 10px;!important"
>
<div
:style=
"{'width': '45.4px','height': '30px',background:j.select==true?'rgba(41, 97, 254, 0.2)':'#FFF'}"
>
{{j.name}}
</div>
</div>
</div>
<div
v-if=
"item.ClassStyle==3"
>
<el-calendar
v-model=
"elvalue"
id=
"calendar"
style=
"width: 454px;"
>
<!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
<
template
slot=
"dateCell"
slot-scope=
"{date, data}"
class=
"row"
style=
"height: 45px"
>
<!--自定义内容-->
<div
class=
"calendar-day"
>
{{
data
.
day
.
split
(
'-'
).
slice
(
2
).
join
(
'-'
)
}}
</div>
<div
v-for=
"x in item.ClassPlanList"
>
<div
v-if=
"x.ClassDate == data.day"
style=
"align-items: center;justify-content: center;margin-top: 10px"
class=
"row"
>
<img
src=
"../../assets/images/administration/gou.png"
alt=
""
style=
"width: 16px;height: 12px"
>
</div>
</div>
</
template
>
</el-calendar>
</div>
<div
style=
"color:#2D2D2D;font-size: 14px;font-weight: bold;"
>
课程安排
</div>
<div
style=
"width: 454px;height: 40px;background: #EEEEEF;font-size: 12px;color: #2D2D2D;font-weight: 600;margin-top: 20px;display: flex;align-items: center"
>
<div
style=
"width: 50%;padding-left: 20px"
>
...
...
@@ -236,6 +260,7 @@
SourceEnumList
:[],
ClassList
:
[],
//关联课程下拉数据
TeacherList
:
[],
//关联教师下拉数据
elvalue
:
new
Date
(),
}
},
created
()
{
...
...
@@ -351,8 +376,25 @@
})
})
x
.
weeks
=
weekList
}
else
if
(
x
.
ClassStyle
==
2
){
let
data
=
[];
for
(
let
i
=
0
;
i
<
31
;
i
++
){
let
obj
=
{
name
:
i
+
1
,
select
:
false
};
x
.
ClassPlanList
.
forEach
(
j
=>
{
if
(
j
.
WeekDay
==
i
+
1
){
obj
.
select
=
true
}
})
data
.
push
(
obj
)
}
x
.
month
=
data
;
}
})
}).
catch
(()
=>
{
...
...
@@ -482,4 +524,22 @@
.japaneseTrain
.q-mb-md
{
margin-bottom
:
0
;
}
.japaneseTrain
.month-item
{
display
:
inline-block
;
width
:
45.5px
;
height
:
45.4px
;
line-height
:
45.4px
;
text-align
:
center
;
font-size
:
12px
;
color
:
#2D2D2D
;
}
.japaneseTrain
.el-calendar
{
width
:
454px
;
}
.japaneseTrain
.el-calendar-table
.el-calendar-day
{
height
:
0
;
}
.japaneseTrain
#calendar
{
width
:
454px
;
}
</
style
>
src/pages/sale/myOrder.vue
View file @
35d0524a
...
...
@@ -122,11 +122,11 @@
<tbody
v-for=
"(item,index) in data.List"
:key=
"index"
>
<tr>
<td
:rowspan=
"3"
style=
"text-align: left"
>
<div
style=
"font-size: 18px;color: #2961FE;margin-bottom: 20px;font-weight: bold"
@
click=
"goOrderdetails(item)"
>
{{item.OrderId}}
</div>
<div
style=
"font-size: 18px;color: #2961FE;margin-bottom: 20px;font-weight: bold
;cursor: pointer;
"
@
click=
"goOrderdetails(item)"
>
{{item.OrderId}}
</div>
<div>
{{item.EnterName}}
</div>
<div
style=
"margin-top: 10px"
>
{{item.CreateTime}}
</div>
<div
style=
"margin-top: 30px;margin-bottom: 10px"
>
班级
</div>
<div
style=
"font-weight: bold;color:#2961FE;"
>
{{item.ClassName}}
</div>
<div
style=
"font-weight: bold;color:#2961FE;
cursor: pointer;"
@
click=
"getClassInfo(item)
"
>
{{item.ClassName}}
</div>
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.Class_Price.toFixed(2)}}
</td>
...
...
@@ -298,18 +298,25 @@
<span>
收款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
</div>
<div
class=
"row wrap"
>
<div
class=
"finance row"
style=
"background: rgba(41, 97, 254, 0.2);color: #2961FE"
>
<span>
124
</span>
</div>
<div
class=
"finance row"
style=
"background: rgba(41, 97, 254, 0.2);color: #2961FE
"
>
<span>
124
</span>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.FinanceList"
:index=
"j"
:style=
"{
background:x.ColorState==1 ? 'rgba(41, 97, 254, 0.2)':(x.ColorState==2 ? 'rgba(2, 196, 153, 0.2)':(x.ColorState==3 ? 'rgba(242, 140, 29, 0.2)':'rgba(63, 196, 255, 0.2)')),
color: x.ColorState==1 ? '#2961FE':(x.ColorState==2 ? '#02C499':(x.ColorState==3 ? '#F28C1D':'#3FC4FF'))}
"
>
<span>
{{x.FrID}}
</span>
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
<div
class=
"row wrap"
>
<div
class=
"finance row"
v-for=
"(x,j) in item.RefundFinanceList"
:index=
"j"
:style=
"{
background:x.ColorState==1 ? 'rgba(41, 97, 254, 0.2)':(x.ColorState==2 ? 'rgba(2, 196, 153, 0.2)':(x.ColorState==3 ? 'rgba(242, 140, 29, 0.2)':'rgba(63, 196, 255, 0.2)')),
color: x.ColorState==1 ? '#2961FE':(x.ColorState==2 ? '#02C499':(x.ColorState==3 ? '#F28C1D':'#3FC4FF'))}"
>
<span>
{{x.FrID}}
</span>
</div>
</div>
</div>
</div>
</td>
...
...
@@ -398,6 +405,8 @@
</div>
</q-dialog>
<myOrder-form
v-if=
"isShowmyorderForm"
:save-obj=
"myorderObjOption"
@
close=
"closeMOSaveForm"
></myOrder-form>
<classinfo-form
v-if=
"isShowClassInfo"
:seting-obj=
"classObjOption"
@
close=
"closeClass"
@
success=
"refreshClass"
></classinfo-form>
</div>
</template>
<
script
>
...
...
@@ -418,10 +427,13 @@
queryCourseDropdownList
,
}
from
'../../api/course/index'
import
myOrderForm
from
'../../components/sale/myOrder-form'
import
classinfoForm
from
'../../components/course/classinfo-form'
;
export
default
{
components
:
{
myOrderForm
myOrderForm
,
classinfoForm
},
data
()
{
return
{
...
...
@@ -466,7 +478,9 @@
UPrice
:
false
,
UnitPrice
:
0
,
//用于可以输入单价的验证
isShowmyorderForm
:
false
,
myorderObjOption
:{}
myorderObjOption
:{},
classObjOption
:
null
,
isShowClassInfo
:
false
,
//是否显示课程信息
}
},
created
()
{
...
...
@@ -571,15 +585,15 @@
this
.
apipost
(
'sellorder_post_GetOrderFinanceListForEdu'
,{
OrderIds
:
msg
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
){
this
.
loading
=
false
;
let
data
=
res
.
data
.
data
;
this
.
data
.
List
.
forEach
(
x
=>
{
res
.
data
.
data
.
forEach
(
j
=>
{
data
.
forEach
(
j
=>
{
if
(
x
.
OrderId
==
j
.
OrderId
){
x
.
FinanceList
=
j
.
FinanceList
x
.
RefundFinanceList
=
j
.
RefundFinanceList
}
})
})
console
.
log
()
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
...
...
@@ -807,9 +821,9 @@
TCIDARR
.
push
(
obj
.
ClassId
)
let
orderObj
=
{
OrderID
:
obj
.
OrderId
,
OrderSource
:
8
,
OrderSource
:
17
,
Obj
:
{},
SourceID
:
17
,
SourceID
:
0
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
...
...
@@ -824,7 +838,19 @@
}
});
}
},
getClassInfo
(
obj
)
{
//打开班级详情组件
this
.
classObjOption
=
obj
;
this
.
isShowClassInfo
=
true
;
},
//关闭班级信息弹窗
closeClass
()
{
this
.
isShowClassInfo
=
false
},
//刷新
refreshClass
()
{
},
}
}
...
...
@@ -983,6 +1009,6 @@
align-items
:
center
;
justify-content
:
center
;
border-radius
:
4px
;
margin
-right
:
5px
;
margin
:
5px
3px
3px
0
;
}
</
style
>
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