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
d301834a
Commit
d301834a
authored
Dec 15, 2020
by
Mac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
2d2ac9d1
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 @
d301834a
<
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 @
d301834a
<
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 @
d301834a
...
...
@@ -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 @
d301834a
...
...
@@ -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