Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
78b4b7f7
Commit
78b4b7f7
authored
Apr 29, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改购物报账
parent
82b54d5c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
488 additions
and
235 deletions
+488
-235
ShoppingReimbursement.vue
src/components/ShoppingStore/ShoppingReimbursement.vue
+109
-234
ShoppingReimbursement2.vue
src/components/ShoppingStore/ShoppingReimbursement2.vue
+369
-0
config.js
src/router/config.js
+10
-1
No files found.
src/components/ShoppingStore/ShoppingReimbursement.vue
View file @
78b4b7f7
...
...
@@ -36,33 +36,28 @@
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList();resetPageIndex()"
/>
</li>
</ul>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"
roomReservationsTalb
e"
style=
"border: 1px solid rgb(230, 230, 230);
background: #ccc;
min-width: 1600px"
v-loading=
"loading"
>
<tr>
<th
colspan=
"
5
"
>
公司通用信息
</th>
<th
colspan=
"
8
"
>
导游操作
</th>
<th
colspan=
"
10
"
>
地接OP
</th>
</tr>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"
ShoppingTabl
e"
style=
"border: 1px solid rgb(230, 230, 230);min-width: 1600px"
v-loading=
"loading"
>
<
!--
<
tr>
<th
colspan=
"
2
"
>
公司通用信息
</th>
<th
colspan=
"
6
"
>
导游操作
</th>
<th
colspan=
"
9
"
>
地接OP
</th>
</tr>
-->
<tr>
<th
width=
"115"
>
序号
</th>
<th
width=
"70"
>
出发地
</th>
<th
width=
"120"
>
公司团号
</th>
<th
width=
"50"
>
领队
</th>
<th
width=
"50"
>
导游
</th>
<th
width=
"100"
>
进店团号
</th>
<th
width=
"180"
>
店名
</th>
<th
width=
"100"
>
进店时间
</th>
<th
width=
"100"
>
出发地
</th>
<th
width=
"110"
>
公司团号
</th>
<th
width=
"100"
>
领队
</th>
<th
width=
"100"
>
导游
</th>
<th
width=
"190"
>
店名
</th>
<th
width=
"60"
>
进店人数
</th>
<th
width=
"70"
>
公司
</th>
<th
width=
"70"
>
总金额
</th>
<th
width=
"80"
>
佣金领取
<br
/>
状况
</th>
<th
width=
"120"
>
凭证
</th>
<th
width=
"80"
>
领队佣金
<br
/>
(应付)
</th>
<th
width=
"80"
>
导游佣金
<br
/>
(应付)
</th>
<th
width=
"80"
>
公司佣金
<br
/>
(应收)
</th>
...
...
@@ -73,127 +68,79 @@
<th
width=
"80"
>
财务单据
</th>
<th
width=
"80"
>
操作
</th>
</tr>
<tr
v-if=
"
l
ist.length==0"
>
<tr
v-if=
"
shopDataL
ist.length==0"
>
<td
colspan=
"22"
>
暂无数据
</td>
</tr>
<tbody
v-for=
"(outItem,outindex) in list"
:class=
"
{roomReservationsSplitTrCss:outindex%2!=0}">
<template
v-for=
"(item,index) in outItem.StaticsReportList"
>
<tr>
<td
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
style=
"max-width: 100px; min-width: 50px; "
>
{{
outindex
+
1
}}
</div>
<div
v-if=
'outItem.StaticsReportList.length>1'
title=
"合团号"
>
{{
outItem
.
NewCombinationNum
}}
</div>
</td>
<td>
<div
class=
"w80"
>
{{
item
.
StartCityNames
}}
</div>
</td>
<td>
<div
class=
"link"
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{
item
.
TCNUMS
}}
</p>
</div>
</td>
<td
title=
"领队"
>
{{
item
.
LeaderName
}}
</td>
<td
title=
"导游"
>
{{
item
.
GuideName
}}
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{
subItem
.
ShopDetailsList
!=
null
&&
subItem
.
ShopDetailsList
.
length
>
0
?
subItem
.
ShopDetailsList
[
0
].
ShopNum
:
""
}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{
subItem
.
ShopName
}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{
subItem
.
ShopDetailsList
!=
null
&&
subItem
.
ShopDetailsList
.
length
>
0
?
subItem
.
ShopDetailsList
[
0
].
EnterTimeStr
:
""
}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{
subItem
.
ShopDetailsList
!=
null
&&
subItem
.
ShopDetailsList
.
length
>
0
?
subItem
.
ShopDetailsList
[
0
].
EnterNum
:
""
}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<template
v-for=
"subItem in item.CommonReport.PriceShopList"
>
<div
v-for=
"sonItem in subItem.ShopDetailsList"
>
{{
sonItem
.
BName
}}
</div>
</
template
>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<
template
v-for=
"subItem in item.CommonReport.PriceShopList"
>
<div
v-for=
"sonItem in subItem.ShopDetailsList"
>
{{
sonItem
.
TotalMoney
}}
</div>
</
template
>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--佣金领取状况-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{subItem.ShopDetailsList!=null
&&
subItem.ShopDetailsList.length>0? subItem.ShopDetailsList[0].CommissionStatusStr:""}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--凭证上传-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
v-if=
"subItem.ShopDetailsList!=null && subItem.ShopDetailsList.length>0"
>
<p
v-for=
"(img, imgIndex) in subItem.ShopDetailsList[0].imgList"
title=
"点击下载"
@
click=
"downLoadPZ(img)"
v-if=
"img !== ''"
style=
"cursor: pointer;"
>
{{ '凭证' + (imgIndex + 1)}}
</p>
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--领队佣金调整-->
<
template
v-for=
"subItem in item.CommonReport.PriceShopList"
>
<div
v-for=
"sonItem in subItem.ShopDetailsList"
>
{{
sonItem
.
LeaderCommission
}}
</div>
</
template
>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--导游佣金调整-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{subItem.ShopDetailsList!=null
&&
subItem.ShopDetailsList.length>0? subItem.ShopDetailsList[0].GuideCommission:""}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<
template
v-for=
"subItem in item.CommonReport.PriceShopList"
>
<div
v-for=
"sonItem in subItem.ShopDetailsList"
>
{{
sonItem
.
CompanyCommission
}}
</div>
</
template
>
<!--公司佣金调整-->
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--其余扣除(返佣余额)-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{subItem.ShopDetailsList!=null
&&
subItem.ShopDetailsList.length>0? subItem.ShopDetailsList[0].OtherDeduct:""}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--返佣总计(返佣余额)-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{subItem.ShopDetailsList!=null
&&
subItem.ShopDetailsList.length>0? subItem.ShopDetailsList[0].BackTotalMoney:""}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--汇率-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
>
{{subItem.ShopDetailsList!=null
&&
subItem.ShopDetailsList.length>0? subItem.ShopDetailsList[0].DMCRate:""}}
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<!--地接OP凭证-->
<div
v-for=
"subItem in item.CommonReport.PriceShopList"
v-if=
"subItem.ShopDetailsList!=null && subItem.ShopDetailsList.length>0"
>
<p
v-for=
"(img, imgIndex) in subItem.ShopDetailsList[0].dmcImageList"
title=
"点击下载"
@
click=
"downLoadPZ(img)"
v-if=
"img !== ''"
style=
"cursor: pointer;"
>
{{ '凭证' + (imgIndex + 1)}}
</p>
</div>
</td>
<td
class=
"more_td"
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<
template
v-for=
"subItem in item.CommonReport.PriceShopList"
>
<div>
<!--subItem.ShopDetailsList-->
<tbody
v-for=
"(outItem,outindex) in shopDataList"
:class=
"
{roomReservationsSplitTrCss:outindex%2!=0}">
<template
v-for=
"(item,index) in outItem.PriceShopList"
>
<template
v-for=
"(subItem,subIndex) in item.ShopDetailsList"
>
<tr>
<td
:rowspan=
"outItem.rowspanCount"
v-if=
"index==0&&subIndex==0"
>
{{
outItem
.
NewCombinationNum
}}
</td>
<td>
{{
subItem
.
StartCityNames
}}
</td>
<td>
{{
subItem
.
TCNUMS
}}
</td>
<td>
{{
subItem
.
LeaderName
}}
</td>
<td>
{{
subItem
.
GuideName
}}
</td>
<td
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
width=
"180"
style=
"word-wrap:break-word ;"
>
{{
item
.
ShopName
}}
</td>
<td
width=
"60"
>
{{
subItem
.
EnterNum
}}
</td>
<td
width=
"70"
>
{{
subItem
.
BName
}}
</td>
<td
width=
"70"
>
{{
subItem
.
TotalMoney
}}
</td>
<td
width=
"80"
>
{{
subItem
.
LeaderCommission
}}
</td>
<td
width=
"80"
>
{{
subItem
.
GuideCommission
}}
</td>
<td
width=
"80"
>
{{
subItem
.
CompanyCommission
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{
subItem
.
OtherDeduct
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{
subItem
.
BackTotalMoney
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{
subItem
.
DMCRate
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
<p
v-for=
"(img, imgIndex) in subItem.dmcImageList"
title=
"点击下载"
@
click=
"downLoadPZ(img)"
v-if=
"img !== ''"
style=
"cursor: pointer;color:blue;"
>
{{
'凭证'
+
(
imgIndex
+
1
)
}}
</p>
</td>
<td
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
<div>
<p
style=
"cursor: pointer;color:blue;"
@
click=
"CreateBill(
subItem.ShopDetailsList,outItem.StaticsReport
List)"
>
生成单据
</p>
@
click=
"CreateBill(
item.ShopDetails
List)"
>
生成单据
</p>
</div>
</
t
emplate
>
</td>
<td
:rowspan=
"2*outItem.StaticsReportList.length"
v-if=
'index==0'
>
<p
style=
"cursor: pointer;color:blue;margin-top:5px;"
</t
d
>
<td
:rowspan=
"outItem.rowspanCount"
v-if=
"index==0&&subIndex==0"
>
<p
style=
"cursor: pointer;color:blue;margin-top:5px;"
@
click=
"goHuiZhi(outItem.TCIDs, item.LeaderName, item.GuideName, item.StartCityNames, item.TCNUMS)"
>
选择购物店
</p>
<p
style=
"cursor: pointer;color:blue;margin-top:10px"
@
click=
"goUrlT('ShoppingReimbursementDetails',outItem.TCIDs,'购物报账详情')"
>
操作
</p>
</td>
</tr>
</td>
</tr>
</
template
>
</template>
</tbody>
</table>
...
...
@@ -220,16 +167,12 @@
currentPage
:
1
,
total
:
0
,
},
hrefStr
:
""
,
LineList
:
[],
LineTeamList
:
[],
thLengthTitle
:
[],
list
:
[],
colspanTotal
:
0
,
shopDataList
:
[],
}
},
methods
:
{
downLoadPZ
:
function
(
src
)
{
let
dom
=
document
.
querySelector
(
"#blankLink1"
)
dom
.
href
=
src
;
...
...
@@ -320,20 +263,19 @@
},
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_post_Get
Unite
CombinationNumService'
,
this
.
msg
,
res
=>
{
this
.
apipost
(
'dmcstatistics_post_Get
Shop
CombinationNumService'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
let
data
=
res
.
data
.
data
.
pageData
.
data
;
data
.
forEach
(
x
=>
{
x
.
StaticsReportList
.
forEach
(
y
=>
{
y
.
CommonReport
.
PriceShopList
.
forEach
(
z
=>
{
z
.
imgList
=
(
z
.
Credentials
&&
z
.
Credentials
.
length
>
0
)
?
z
.
Credentials
.
split
(
","
)
:
''
;
});
let
shopDataList
=
res
.
data
.
data
.
pageData
;
shopDataList
.
forEach
(
x
=>
{
x
.
PriceShopList
.
forEach
(
z
=>
{
z
.
imgList
=
(
z
.
Credentials
&&
z
.
Credentials
.
length
>
0
)
?
z
.
Credentials
.
split
(
","
)
:
''
;
});
});
this
.
list
=
res
.
data
.
data
.
pageData
.
data
;
console
.
log
(
"shopDataList"
,
shopDataList
);
this
.
shopDataList
=
shopDataList
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
...
...
@@ -345,7 +287,7 @@
this
.
Confirm
(
'是否生成财务单据?'
,
function
()
{
that
.
loading
=
true
;
var
array
=
[];
outItem
.
forEach
(
subItem
=>
{
ShopDetailsList
.
forEach
(
subItem
=>
{
var
obj
=
{
LeaderId
:
subItem
.
LeaderId
!=
null
?
subItem
.
LeaderId
:
0
,
LeaderName
:
subItem
.
LeaderName
!=
null
?
subItem
.
LeaderName
:
""
,
...
...
@@ -381,7 +323,8 @@
"-"
+
myDate
.
getDate
();
this
.
msg
.
StartDate
=
nowDate
;
//this.msg.StartDate = '2019-01-01';
this
.
msg
.
StartDate
=
'2019-01-01'
;
this
.
msg
.
EndDate
=
'2019-02-01'
this
.
getLineList
();
this
.
getList
();
},
...
...
@@ -394,109 +337,41 @@
background
:
#eee
!important
;
}
.roomReservationsTalbe
{
background
:
#ccc
;
}
.roomReservationsTalbe
tr
th
{
background
:
#E6E6E6
;
.more_td
>
div
{
height
:
40px
;
font-size
:
12px
;
color
:
#333
;
/*line-height: 40px;*/
border-bottom
:
1px
solid
rgb
(
204
,
204
,
204
)
;
}
.roomReservationsTalbe
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
.more_td
>
div
:last-child
{
border-bottom
:
0
;
}
.roomReservationsTalbe
tr
td
{
.ShoppingTable
{
width
:
100%
;
font-size
:
12px
;
}
.roomReservationsTalbe
tr
td
.pDateStyle
{
border-bottom
:
1px
solid
#ccc
;
min-height
:
24px
;
line-height
:
24px
;
margin-top
:
0
;
box-sizing
:
content-box
;
padding
:
0
10px
;
}
.roomReservationsTalbe
tr
td
.pDateStyle
:last-child
{
border-bottom
:
none
;
}
.roomReservationsTalbe
tr
td
.pDateStyle
>
span
:after
{
content
:
'/'
;
}
.roomReservationsTalbe
tr
td
.pDateStyle
>
span
:last-child:after
{
content
:
''
}
.roomReservationsTalbe
tr
td
.link
p
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.roomReservationsTalbe
tr
td
.phoverStype
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.roomReservations_tripDetails
{
padding
:
0
;
box-shadow
:
0px
1px
3px
0px
#dedede
;
max-height
:
400px
;
overflow-y
:
auto
;
}
.roomReservations_tripDetails
.popper__arrow
::after
{
border-bottom-color
:
#ededed
!important
;
}
.roomReservations_tripDetails
table
{
padding
:
10px
0
0
20px
;
background-color
:
#ededed
;
color
:
#333
;
margin
:
auto
;
border-collapse
:
collapse
;
border
:
1px
solid
#d2d2d2
;
font-size
:
12px
;
}
.roomReservations_tripDetails
table
th
{
background-color
:
#ededed
;
padding
:
5px
;
}
.roomReservations_tripDetails
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
border
:
1px
solid
#d2d2d2
;
background-color
:
#fff
;
}
.roomReservations_tripDetails
table
td
._d_name
{
background-color
:
#ededed
;
}
.roomReservations_tripDetails
table
._color_666
{
color
:
#666666
;
.ShoppingTable
td
{
border
:
1px
solid
#d1d1d1
;
text-align
:
center
;
padding
:
10px
0
;
}
.
roomReservations_tripDetails
table
tr
._color_666
th
{
padding
:
9px
15px
;
.
ShoppingTable
th
{
background-color
:
#E6E6E6
;
}
.more_td
>
div
{
height
:
40px
;
/*line-height: 40px;*/
border-bottom
:
1px
solid
rgb
(
204
,
204
,
204
);
.SponeTable
td
:first-child
{
border-left
:
0
;
}
.
more_td
>
div
:last-child
{
border-
bottom
:
0
;
.
SponeTable
td
:last-child
{
border-
right
:
0
;
}
</
style
>
src/components/ShoppingStore/ShoppingReimbursement2.vue
0 → 100644
View file @
78b4b7f7
<
template
>
<div>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<li>
<span>
<em>
所属线路
</em>
<el-select
class=
"w150"
v-model=
"msg.LineId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList(msg.LineId)"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in LineList"
:label=
"item.LineName"
:value=
"item.LineID"
:key=
"item.LineID"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
系列
</em>
<el-select
v-model=
"msg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
'0'
></el-option>
<el-option
v-for=
"item in LineTeamList"
:label=
'item.LtName'
:value=
'item.LtID'
:key=
'item.LtID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
v-model=
'msg.TCNUM'
></el-input>
</span>
</li>
<li><span><em>
日期
</em>
<el-date-picker
v-model=
'msg.StartDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
'msg.EndDate'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList();resetPageIndex()"
/>
</li>
</ul>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"ShoppingTable"
style=
"border: 1px solid rgb(230, 230, 230);min-width: 1600px"
v-loading=
"loading"
>
<!--
<tr>
<th
colspan=
"2"
>
公司通用信息
</th>
<th
colspan=
"6"
>
导游操作
</th>
<th
colspan=
"9"
>
地接OP
</th>
</tr>
-->
<tr>
<th
width=
"115"
>
序号
</th>
<th
width=
"100"
>
出发地
</th>
<th
width=
"110"
>
公司团号
</th>
<th
width=
"100"
>
领队
</th>
<th
width=
"100"
>
导游
</th>
<th
width=
"190"
>
店名
</th>
<th
width=
"60"
>
进店人数
</th>
<th
width=
"70"
>
公司
</th>
<th
width=
"70"
>
总金额
</th>
<!--
<th
width=
"80"
>
领队佣金
<br
/>
(应付)
</th>
<th
width=
"80"
>
导游佣金
<br
/>
(应付)
</th>
<th
width=
"80"
>
公司佣金
<br
/>
(应收)
</th>
<th
width=
"80"
>
返佣余额
</th>
-->
<th
width=
"80"
>
返佣总计
</th>
<th
width=
"80"
>
汇率
</th>
<th
width=
"80"
>
凭证
</th>
<th
width=
"80"
>
财务单据
</th>
</tr>
<tr
v-if=
"shopDataList.length==0"
>
<td
colspan=
"22"
>
暂无数据
</td>
</tr>
<tbody
v-for=
"(outItem,outindex) in shopDataList"
:class=
"
{roomReservationsSplitTrCss:outindex%2!=0}">
<template
v-for=
"(item,index) in outItem.PriceShopList"
>
<template
v-for=
"(subItem,subIndex) in item.ShopDetailsList"
>
<tr>
<td
:rowspan=
"outItem.rowspanCount"
v-if=
"index==0&&subIndex==0"
>
{{
outItem
.
NewCombinationNum
}}
</td>
<td>
{{
subItem
.
StartCityNames
}}
</td>
<td>
{{
subItem
.
TCNUMS
}}
</td>
<td>
{{
subItem
.
LeaderName
}}
</td>
<td>
{{
subItem
.
GuideName
}}
</td>
<td
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
width=
"180"
style=
"word-wrap:break-word ;"
>
{{
item
.
ShopName
}}
</td>
<td
width=
"60"
>
{{
subItem
.
EnterNum
}}
</td>
<td
width=
"70"
>
{{
subItem
.
BName
}}
</td>
<td
width=
"70"
>
{{
subItem
.
TotalMoney
}}
</td>
<!--
<td
width=
"80"
>
{{
subItem
.
LeaderCommission
}}
</td>
<td
width=
"80"
>
{{
subItem
.
GuideCommission
}}
</td>
<td
width=
"80"
>
{{
subItem
.
CompanyCommission
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{
subItem
.
OtherDeduct
}}
</td>
-->
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{
subItem
.
BackTotalMoney
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{
subItem
.
DMCRate
}}
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
<p
v-for=
"(img, imgIndex) in subItem.dmcImageList"
title=
"点击下载"
@
click=
"downLoadPZ(img)"
v-if=
"img !== ''"
style=
"cursor: pointer;color:blue;"
>
{{
'凭证'
+
(
imgIndex
+
1
)
}}
</p>
</td>
<td
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
<div>
<p
style=
"cursor: pointer;color:blue;"
@
click=
"CreateBill(item.ShopDetailsList)"
>
生成单据
</p>
</div>
</td>
</tr>
</
template
>
</template>
</tbody>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"msg.total"
></el-pagination>
</div>
<a
id=
'blankLink1'
target=
"_blank"
style=
"display:none"
>
1
</a>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
loading
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
8
,
//购物店
SelectType
:
7
,
LineId
:
0
,
LineteamId
:
0
,
StartDate
:
''
,
EndDate
:
''
,
currentPage
:
1
,
total
:
0
,
},
LineList
:
[],
LineTeamList
:
[],
shopDataList
:
[],
}
},
methods
:
{
downLoadPZ
:
function
(
src
)
{
let
dom
=
document
.
querySelector
(
"#blankLink1"
)
dom
.
href
=
src
;
dom
.
click
();
},
stringToArr
(
str
)
{
return
str
.
split
(
','
)
},
getLineList
()
{
this
.
apipost
(
"line_post_GetAllList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
});
},
//获取系列列表
getLineTeamList
(
lineId
)
{
this
.
LineTeamList
=
[];
this
.
apipost
(
"team_post_GetList"
,
{
lineID
:
lineId
,
isTOOP
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
LineteamId
=
0
;
this
.
LineTeamList
=
res
.
data
.
data
;
}
}
);
},
goUrlR
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"ID"
:
obj
,
blank
:
'y'
,
tab
:
title
}
})
},
goUrlT
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
obj
,
blank
:
'y'
,
tab
:
title
}
})
},
goHuiZhi
(
TCIDS
,
LeaderName
,
GuideName
,
StartCityNames
,
TCIDEN
)
{
this
.
$router
.
push
({
name
:
'ShoppingReceipt'
,
query
:
{
LeaderName
:
LeaderName
,
GuideName
:
GuideName
,
StartCityNames
:
StartCityNames
,
blank
:
'y'
,
TCID
:
TCIDS
,
TCIDEN
:
TCIDEN
}
});
},
goUrl
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
obj
.
TCIDS
,
'TCNUM'
:
obj
.
TCNUMS
,
'flightTotal'
:
obj
.
TotalSeat
,
'GuestNum'
:
obj
.
CommonReport
.
HouseStatistics
.
RealityNum
,
'NewCombinationNum'
:
obj
.
NewCombinationNum
,
blank
:
'y'
,
tab
:
title
}
})
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_post_GetShopCombinationNumService'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
let
shopDataList
=
res
.
data
.
data
.
pageData
;
shopDataList
.
forEach
(
x
=>
{
x
.
PriceShopList
.
forEach
(
z
=>
{
z
.
imgList
=
(
z
.
Credentials
&&
z
.
Credentials
.
length
>
0
)
?
z
.
Credentials
.
split
(
","
)
:
''
;
});
});
console
.
log
(
"shopDataList"
,
shopDataList
);
this
.
shopDataList
=
shopDataList
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
//生成单据
CreateBill
(
ShopDetailsList
,
outItem
)
{
var
that
=
this
;
this
.
Confirm
(
'是否生成财务单据?'
,
function
()
{
that
.
loading
=
true
;
var
array
=
[];
ShopDetailsList
.
forEach
(
subItem
=>
{
var
obj
=
{
LeaderId
:
subItem
.
LeaderId
!=
null
?
subItem
.
LeaderId
:
0
,
LeaderName
:
subItem
.
LeaderName
!=
null
?
subItem
.
LeaderName
:
""
,
TCID
:
subItem
.
TCID
,
GuideId
:
subItem
.
GuideId
!=
null
?
subItem
.
GuideId
:
0
,
GuideName
:
subItem
.
GuideName
!=
null
?
subItem
.
GuideName
:
""
,
TCNUM
:
subItem
.
TCNUMS
,
}
array
.
push
(
obj
)
});
var
billMsg
=
{
ShopDetailsList
:
ShopDetailsList
,
LeaderGuide
:
array
};
that
.
apipost
(
'dmcstatistics_post_ShopCreateBill'
,
billMsg
,
res
=>
{
that
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
});
},
},
mounted
()
{
let
myDate
=
new
Date
();
let
nowDate
=
myDate
.
getFullYear
()
+
"-"
+
parseInt
(
myDate
.
getMonth
()
+
1
)
+
"-"
+
myDate
.
getDate
();
this
.
msg
.
StartDate
=
nowDate
;
this
.
msg
.
StartDate
=
'2019-01-01'
;
this
.
msg
.
EndDate
=
'2019-02-01'
this
.
getLineList
();
this
.
getList
();
},
}
</
script
>
<
style
scoped
>
.roomReservationsSplitTrCss
td
{
background
:
#eee
!important
;
}
.more_td
>
div
{
height
:
40px
;
/*line-height: 40px;*/
border-bottom
:
1px
solid
rgb
(
204
,
204
,
204
);
}
.more_td
>
div
:last-child
{
border-bottom
:
0
;
}
.ShoppingTable
{
width
:
100%
;
font-size
:
12px
;
color
:
#333
;
margin
:
auto
;
border-collapse
:
collapse
;
background-color
:
#fff
;
}
.ShoppingTable
td
{
border
:
1px
solid
#d1d1d1
;
text-align
:
center
;
padding
:
10px
0
;
}
.ShoppingTable
th
{
background-color
:
#E6E6E6
;
height
:
35px
;
}
.SponeTable
td
:first-child
{
border-left
:
0
;
}
.SponeTable
td
:last-child
{
border-right
:
0
;
}
</
style
>
src/router/config.js
View file @
78b4b7f7
...
...
@@ -1170,7 +1170,16 @@ export default {
meta
:
{
title
:
'购物报账'
},
},
{
},
{
path
:
'/ShoppingReimbursement2'
,
//分公司购物报账
name
:
'ShoppingReimbursement2'
,
component
:
resolve
=>
require
([
'@/components/ShoppingStore/ShoppingReimbursement2'
],
resolve
),
meta
:
{
title
:
'分公司购物报账'
},
},
{
path
:
'/ShoppingReimbursementDetails'
,
//购物报账 详情
name
:
'ShoppingReimbursementDetails'
,
component
:
resolve
=>
require
([
'@/components/ShoppingStore/ShoppingReimbursementDetails'
],
resolve
),
...
...
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