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
d8f80748
Commit
d8f80748
authored
Feb 27, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
领队报账修改
parent
8af2a7ab
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1032 additions
and
514 deletions
+1032
-514
leaderPay.vue
src/components/LeaderManagement/leaderPay.vue
+115
-212
leaderPrint.vue
src/components/LeaderManagement/leaderPrint.vue
+680
-0
productQuery.vue
src/components/SalesModule/productQuery.vue
+2
-5
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+2
-2
teamReimbursement.vue
src/components/dmc/manager/teamReimbursement.vue
+225
-295
config.js
src/router/config.js
+8
-0
No files found.
src/components/LeaderManagement/leaderPay.vue
View file @
d8f80748
...
...
@@ -30,14 +30,14 @@
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.BusList.length+1"
>
车辆使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"
8
0"
>
司机姓名
</td>
<td
width=
"
8
0"
>
司机电话
</td>
<td
width=
"1
0
0"
>
车配号
</td>
<td
width=
"1
0
0"
>
车辆号
</td>
<td
width=
"
6
0"
>
用车方式
</td>
<td
width=
"
30
0"
>
司机姓名
</td>
<td
width=
"
10
0"
>
司机电话
</td>
<td
width=
"1
5
0"
>
车配号
</td>
<td
width=
"1
5
0"
>
车辆号
</td>
<td
width=
"
8
0"
>
用车方式
</td>
<td
width=
"150"
>
实际信息
</td>
<td
width=
"
6
0"
>
总金额
</td>
<td>
备注
</td>
<td
width=
"
15
0"
>
总金额
</td>
<td
width=
"300"
>
备注
</td>
<td>
凭证
</td>
</tr>
<tr
v-for=
'(item,index) in list.BusList'
>
...
...
@@ -63,7 +63,6 @@
</td>
<td
class=
"jdtd"
valign=
"middle"
>
{{item.Remarks}}
<!--<el-input type='textarea' v-model=''></el-input>-->
</td>
<td>
<div
class=
"uploadListDiv ownScrollbarStyle"
>
...
...
@@ -75,24 +74,23 @@
</tr>
</tbody>
</table>
<!--{{outItem.HotelOrderList}}-->
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
rowspan=
"50"
>
酒店使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td>
酒店名称
</td>
<td
width=
"300"
>
酒店名称
</td>
<td
width=
"100"
>
占床/不占床
</td>
<td
width=
"150"
>
房间类型/数量
</td>
<td
width=
"150"
>
实际信息
</td>
<td
width=
"
6
0"
>
总金额
</td>
<td>
备注
</td>
<td
width=
"
8
0"
>
总金额
</td>
<td
width=
"300"
>
备注
</td>
<td>
凭证
</td>
</tr>
<
template
v-for=
"(outItem,outIndex) in list.HotelOrderListReport"
>
<tr
class=
"HotelTr"
v-for=
'(item,index) in outItem.HotelOrderList'
>
<td>
{{
item
.
CheckInDateStr
}}
</td>
<td>
<div
style=
"width: 100%;
"
>
{{
item
.
HotelName
}}
</div>
<div
class=
"itemName
"
>
{{
item
.
HotelName
}}
</div>
</td>
<td>
{{
item
.
HouseStatistics
.
NeedBed
}}
/
{{
item
.
HouseStatistics
.
NoNeedBed
}}
...
...
@@ -128,106 +126,29 @@
</template>
</table>
<!--<table class="leaderReimbursementTable" border="0" cellspacing="1" cellpadding="0">
<tbody>
<tr class="title">
<td width="80" class="bgwhite" :rowspan="list.HotelList.length+1">酒店使用</td>
<td width="100">使用时间</td>
<td width="30%">酒店名称</td>
<td width="100">占床/不占床</td>
<td width="80">实际用房数</td>
<td width="100">房间类型</td>
<td width="60">房间数</td>
<td width="60">免费人数</td>
<td width="60">单价/人</td>
<td width="60">金额小计</td>
<td width="60">返佣</td>
<td width="60">总金额</td>
<td>备注</td>
</tr>
<tr class="HotelTr" v-for='(item,index) in list.HotelList'>
<td>{{item.CheckInDateStr}}</td>
<td>
<div style="width: 100%;">{{item.HotelName}}</div>
</td>
<td>
{{item.HouseStatistics.NeedBed}}/{{item.HouseStatistics.NoNeedBed}}
</td>
<td>{{item.HouseStatistics.RealityRoomNum}}</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.HouseTypeName}}
</p>
</div>
</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.HouseTypeCount}}
</p>
</div>
</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.HotelDiscount}}
</p>
</div>
</td>
<td>
<div class="alcenter">
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.UnitPrice}}
</p>
</div>
</td>
<td>
<div>
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{x.UnitPrice*(x.HouseGuestNum-x.HotelDiscount)}}
</p>
</div>
</td>
<td>
<div>
<p v-for="x in item.HouseStatistics.HouseTypeList">
{{item.RebateRatio}}%
</p>
</div>
</td>
<td>
{{hotelTotalPrice(item.HouseStatistics.HouseTypeList)}}
</td>
<td>
{{item.Remarks}}
</td>
</tr>
</tbody>
</table>-->
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.DiningList.length+1"
>
餐食使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"30
%
"
>
餐厅名称
</td>
<td
width=
"
6
0"
>
类别
</td>
<td
width=
"1
0
0"
>
用餐人数
</td>
<td
width=
"30
0
"
>
餐厅名称
</td>
<td
width=
"
10
0"
>
类别
</td>
<td
width=
"1
5
0"
>
用餐人数
</td>
<td
width=
"150"
>
实际信息
</td>
<td
width=
"
6
0"
>
总金额
</td>
<td>
备注
</td>
<td
width=
"
8
0"
>
总金额
</td>
<td
width=
"300"
>
备注
</td>
<td>
凭证
</td>
</tr>
<
template
v-for=
'(item,index) in list.DiningList'
>
<tr
class=
"splitP ScenicTr"
v-for=
'(titem,tindex) in item.DiningSummaryList'
>
<td>
{{
titem
.
UseTimeStr
}}
</td>
<td>
<
p
style=
"height: 60px!important; display: flex;align-items: center; padding:0 20px;
"
v-for=
"subItem in item.DiningSummaryList"
>
<
div
class=
"itemName
"
v-for=
"subItem in item.DiningSummaryList"
>
{{
subItem
.
DiningName
}}
</
p
>
</
div
>
</td>
<td>
<p
style=
"height: 60px!important; line-height: 60px;"
v-for=
"subItem in item.DiningSummaryList"
>
<p
v-for=
"subItem in item.DiningSummaryList"
>
{{
subItem
.
UseDinnerTypeStr
}}
</p>
</td>
...
...
@@ -240,7 +161,7 @@
</td>
<td>
<template
v-for=
"(ssItem,ssIndex) in titem.ReimburseList.ReimburseDetailsList"
>
<div
v-if=
"ssItem.ID!==0"
>
<div
v-if=
"ssItem.ID!==0"
class=
"itemName"
>
{{
ssItem
.
UserTypeStr
}}
:
{{
ssItem
.
UserNum
}}
*
{{
ssItem
.
UnitPrice
}}
</div>
</
template
>
...
...
@@ -269,20 +190,19 @@
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.ScenicList.length+1"
>
门票使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"30
%
"
>
景点名称
</td>
<td
width=
"
6
0"
>
总人数
</td>
<td
width=
"
6
0"
>
门票类别
</td>
<td
width=
"30
0
"
>
景点名称
</td>
<td
width=
"
10
0"
>
总人数
</td>
<td
width=
"
15
0"
>
门票类别
</td>
<td
width=
"150"
>
实际信息
</td>
<td
width=
"
6
0"
>
总金额
</td>
<td>
备注
</td>
<td
width=
"
8
0"
>
总金额
</td>
<td
width=
"300"
>
备注
</td>
<td>
凭证
</td>
</tr>
<
template
v-for=
'(item,index) in list.ScenicList'
>
<tr
class=
"splitP ScenicTr"
>
<td>
{{
item
.
UseTimeStr
}}
</td>
<td>
<div
v-for=
"subItem in item.ScenicStatisticsList"
>
<div
class=
"itemName"
v-for=
"subItem in item.ScenicStatisticsList"
>
{{
subItem
.
ScenicName
}}
</div>
</td>
...
...
@@ -308,7 +228,7 @@
</template>
</td>
<td>
<div
v-for=
"subItem in item.ScenicStatisticsList"
>
<div
v-for=
"subItem in item.ScenicStatisticsList"
>
{{diningTotalPrice(subItem.ReimburseList.ReimburseDetailsList)}}
</div>
</td>
...
...
@@ -329,69 +249,45 @@
</tr>
</template>
</tbody>
<!-- <tfoot>
<tr>
<td colspan="9">
{{list.ScenicList}}
</td>
</tr>
</tfoot> -->
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.OtherOrderInfo.OtherList.length+1"
>
其他费用
</td>
<td
width=
"1
2
0"
>
使用时间
</td>
<td
width=
"
15
0"
>
费用项目
</td>
<td
width=
"
8
0"
>
总人数
</td>
<td
width=
"
8
0"
>
单价
</td>
<td
width=
"
8
0"
>
金额小计
</td>
<td
width=
"1
0
0"
>
使用时间
</td>
<td
width=
"
30
0"
>
费用项目
</td>
<td
width=
"
10
0"
>
总人数
</td>
<td
width=
"
15
0"
>
单价
</td>
<td
width=
"
15
0"
>
金额小计
</td>
<td
width=
"80"
>
返佣
</td>
<td
width=
"
8
0"
>
总金额
</td>
<td
width=
"
30
0"
>
总金额
</td>
<td>
备注
</td>
<!--<td width="80">-->
<!--<input type="button" value="添加" class="normalBtn" @click="addOtherList()"/>-->
<!--</td>-->
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.OtherList'
>
<td>
<el-date-picker
v-model=
'item.UseDate'
prefix-icon=
"s"
class=
'w105'
value-format=
"yyyy-MM-dd"
type=
"date"
:disabled=
"true"
></el-date-picker>
{{item.UseDateStr}}
</td>
<td>
<el-select
class=
'w120 sel'
v-model=
'item.CostProject'
:placeholder=
"$t('pub.pleaseSel')"
:disabled=
"true"
>
<el-option
label=
'请选择'
value=
'0'
></el-option>
<el-option
label=
'导游津贴'
value=
'1'
></el-option>
<el-option
label=
'司机津贴'
value=
'2'
></el-option>
<el-option
label=
'其他支出'
value=
'3'
></el-option>
</el-select>
{{getCostProjectStr(item.CostProject)}}
</td>
<td>
{{item.TotalNum}}
<!--<el-input v-model='' @keyup.native="checkInteger(item,'TotalNum')" class='w50'></el-input>-->
</td>
<td>
{{item.UnitPrice}}
<!--<el-input v-model='' @keyup.native="checkPrice(item,'UnitPrice')" class='w50'></el-input>-->
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td>
<!--<el-input v-model='' class='w50' @keyup.native="checkInteger(item,'Rebate')"></el-input>-->
{{item.Rebate}}%
</td>
<td
v-if=
'index==0'
:rowspan=
'list.OtherOrderInfo.OtherList.length'
>
{{otherTotalPrice(list.OtherOrderInfo.OtherList)}}
</td>
<td
style=
"padding: 0 10px;
"
>
<td
class=
"jdtd
"
>
{{item.Remark}}
<!--<el-input v-model='' type="textarea" autosize></el-input>-->
</td>
<!--<td>-->
<!--<p @click="deleteOtherListItem(index)">删除</p>-->
<!--</td>-->
</tr>
</tbody>
</table>
...
...
@@ -399,24 +295,21 @@
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
rowspan=
"2"
>
小费收入
</td>
<td
width=
"1
2
0"
>
人数
</td>
<td
width=
"
12
0"
>
单价
</td>
<td
width=
"
8
0"
>
总金额
</td>
<td
width=
"1
0
0"
>
人数
</td>
<td
width=
"
30
0"
>
单价
</td>
<td
width=
"
10
0"
>
总金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.TipList'
>
<td>
{{item.TotalNum}}
<!--<el-input class='w80' @keyup.native="checkInteger(item,'TotalNum')" v-model='item.TotalNum'></el-input>-->
</td>
<td>
{{item.UnitPrice}}
<!--<el-input class='w80' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td
style=
"padding: 0 10px;
"
>
<td
class=
"jdtd
"
>
{{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td>
</tr>
</tbody>
...
...
@@ -425,18 +318,15 @@
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
rowspan=
"2"
>
团费小计
</td>
<td
width=
"1
2
0"
>
金额
</td>
<td
width=
"1
0
0"
>
金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.TeamList'
>
<td>
{{item.UnitPrice}}
<!--<el-input class='w80' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td>
<td
style=
"padding: 0 10px;
"
>
<td
class=
"jdtd
"
>
{{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td>
</tr>
</tbody>
...
...
@@ -445,42 +335,30 @@
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.OtherOrderInfo.SelfPlayingIncomeList.length+1"
>
自费收入
</td>
<td
width=
"1
2
0"
>
使用时间
</td>
<td
width=
"
8
0"
>
人数
</td>
<td
width=
"
8
0"
>
单价
</td>
<td
width=
"
8
0"
>
金额小计
</td>
<td
width=
"
8
0"
>
总金额
</td>
<td
width=
"1
0
0"
>
使用时间
</td>
<td
width=
"
30
0"
>
人数
</td>
<td
width=
"
10
0"
>
单价
</td>
<td
width=
"
15
0"
>
金额小计
</td>
<td
width=
"
15
0"
>
总金额
</td>
<td>
备注
</td>
<!--<td width="80">-->
<!--<input type="button" value="添加" class="normalBtn"-->
<!--@click="addSelfPlayingIncomeList()"/>-->
<!--</td>-->
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.SelfPlayingIncomeList'
>
<td>
<el-date-picker
prefix-icon=
"s"
v-model=
'item.UseDate'
class=
'w105'
value-format=
"yyyy-MM-dd"
type=
"date"
:disabled=
"true"
></el-date-picker>
{{item.UseDate}}
</td>
<td>
{{item.TotalNum}}
<!--<el-input class='w50' @keyup.native="checkInteger(item,'TotalNum')" v-model='item.TotalNum'></el-input>-->
</td>
<td>
{{item.UnitPrice}}
<!--<el-input class='w50' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td
v-if=
'index==0'
:rowspan=
"list.OtherOrderInfo.SelfPlayingIncomeList.length"
>
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingIncomeList)}}
</td>
<td
style=
"padding: 0 10px;
"
>
<td
class=
"jdtd
"
>
{{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td>
<!--<td>-->
<!--<span @click="deleteSelfPlayingIncomeListItem(index)">删除</span>-->
<!--</td>-->
</tr>
</tbody>
</table>
...
...
@@ -488,53 +366,43 @@
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.OtherOrderInfo.SelfPlayingExpendList.length+1"
>
自费支出
</td>
<td
width=
"1
2
0"
>
使用时间
</td>
<td
width=
"
8
0"
>
人数
</td>
<td
width=
"
8
0"
>
单价
</td>
<td
width=
"
8
0"
>
金额小计
</td>
<td
width=
"
8
0"
>
返佣
</td>
<td
width=
"1
0
0"
>
使用时间
</td>
<td
width=
"
30
0"
>
人数
</td>
<td
width=
"
10
0"
>
单价
</td>
<td
width=
"
15
0"
>
金额小计
</td>
<td
width=
"
15
0"
>
返佣
</td>
<td
width=
"80"
>
总金额
</td>
<td>
备注
</td>
<!--<td width="80">-->
<!--<input type="button" value="添加" class="normalBtn"-->
<!--@click="addSelfPlayingExpendList()"/>-->
<!--</td>-->
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.SelfPlayingExpendList'
>
<td>
<el-date-picker
prefix-icon=
"s"
:disabled=
"true"
v-model=
'item.UseDate'
class=
'w105'
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
{{item.UseDate}}
</td>
<td>
{{item.TotalNum}}
<!--<el-input class='w50' @keyup.native="checkInteger(item,'TotalNum')" v-model='item.TotalNum'></el-input>-->
</td>
<td>
{{item.UnitPrice}}
<!--<el-input class='w50' @keyup.native="checkPrice(item,'UnitPrice')" v-model='item.UnitPrice'></el-input>-->
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td>
<!--<el-input class='w50' v-model='item.Rebate'></el-input>-->
{{item.Rebate}}%
</td>
<td
v-if=
'index==0'
:rowspan=
"list.OtherOrderInfo.SelfPlayingExpendList.length"
>
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingExpendList)}}
</td>
<td
style=
"padding: 0 10px;
"
>
<td
class=
"jdtd
"
>
{{item.Remark}}
<!--<el-input v-model='item.Remark' type="textarea" autosize></el-input>-->
</td>
<!--<td>-->
<!--<span @click="deleteSelfPlayingExpendList(index)">删除</span>-->
<!--</td>-->
</tr>
</tbody>
</table>
<el-input
type=
"textarea"
v-model=
"UploadMsg.Remarks"
rows=
"6"
placeholder=
"请输入备注信息"
></el-input>
<br/>
<p
class=
"alcenter"
>
<input
type=
"button"
value=
"保存"
class=
"normalBtn"
@
click=
"saveData()"
/>
<input
type=
"button"
value=
"审核通过"
class=
"normalBtn"
@
click=
"saveData(1)"
/>
<input
type=
"button"
value=
"审核不通过"
class=
"normalBtn"
@
click=
"saveData(2)"
/>
<input
type=
"button"
value=
"打印"
class=
"normalBtn"
@
click=
"goUrl('leaderPay','打印')"
style=
"display:none;"
/>
</p>
<div
v-if=
'picIsShow'
class=
"viewBigPicLayer"
>
<i
class=
"el-icon-circle-close-outline clolseViewBigPicLayer"
@
click=
"picIsShow=false,picObj=[]"
></i>
...
...
@@ -567,10 +435,25 @@
nav
:
[],
TravelDayNum
:
0
,
RealityNum
:
0
,
isShow
:
false
isShow
:
false
,
UploadMsg
:{
Remarks
:
""
},
}
},
methods
:
{
//获取自费项目类型字符串
getCostProjectStr
(
type
)
{
var
str
=
""
;
switch
(
type
)
{
case
"1"
:
str
=
"导游津贴"
;
break
;
case
"2"
:
str
=
"司机津贴"
;
break
;
case
"3"
:
str
=
"其他支出"
;
break
;
}
return
str
;
},
addOtherList
()
{
this
.
list
.
OtherOrderInfo
.
OtherList
.
push
({
OrderType
:
'1'
,
...
...
@@ -628,7 +511,6 @@
busTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
// totalPrice += Number(item.CostPrice) + Number(item.HighSpeedPrice) + Number(item.StopPrice)
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
})
return
totalPrice
...
...
@@ -643,7 +525,6 @@
diningTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
// totalPrice += x.PeoplePrice * (x.PeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
})
return
totalPrice
...
...
@@ -662,7 +543,23 @@
})
return
totalPrice
},
saveData
()
{
saveData
(
type
)
{
//通过
if
(
type
==
1
)
{
this
.
list
.
LeaderApply
.
Status
=
1
;
}
//不通过
else
if
(
type
==
2
)
{
this
.
list
.
LeaderApply
.
Status
=
2
;
if
(
this
.
UploadMsg
.
Remarks
==
""
)
{
this
.
Info
(
"请填写不通过的原因!"
);
return
}
this
.
list
.
LeaderApply
.
AuditReason
=
this
.
UploadMsg
.
Remarks
;
}
this
.
apipost
(
'dmcstatistics_post_SetLeaderApplyExcreteList'
,
this
.
list
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
)
...
...
@@ -715,7 +612,6 @@
this
.
loading
=
true
this
.
apipost
(
'dmcstatistics_post_GetNewLeaderPayMoneyStatics'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//console.log("res.data.data", JSON.stringify(res.data.data));
this
.
loading
=
false
;
this
.
isShow
=
true
;
this
.
list
=
res
.
data
.
data
...
...
@@ -728,8 +624,8 @@
}
},
err
=>
{})
},
uploadImg
(
file
)
{
//上传
uploadImg
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
path
=
"/Upload/Temporary/"
;
...
...
@@ -741,17 +637,24 @@
})
});
},
goUrl
(
path
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
this
.
$route
.
query
.
id
,
blank
:
'y'
,
tab
:
title
}
})
},
},
mounted
()
{
this
.
isUpdate
=
this
.
$route
.
query
.
isUpdate
this
.
msg
.
TCIDs
=
this
.
$route
.
query
.
id
//this.msg.NewCombinationNum=this.$route.query.num
this
.
getNav
()
this
.
getList
()
this
.
isUpdate
=
this
.
$route
.
query
.
isUpdate
;
this
.
msg
.
TCIDs
=
this
.
$route
.
query
.
id
;
this
.
getNav
();
this
.
getList
();
}
}
</
script
>
<
style
>
...
...
@@ -894,8 +797,6 @@
}
.leaderReimbursementTable
.HotelTr
td
>
div
{
/*height: 100px;*/
/*line-height: 100px;*/
border-bottom
:
1px
solid
#ccc
;
}
...
...
@@ -938,13 +839,15 @@
margin
:
3px
;
}
.leaderReimbursementTable
.jdtd
>
div
{
height
:
auto
!important
;
.leaderReimbursementTable
.jdtd
{
padding
:
0
10px
;
text-align
:
left
;
}
.leaderReimbursementTable
.leaderPayTable
.el-input__prefix
{
display
:
none
;
}
.leaderReimbursementTable
.itemName
{
text-align
:
left
;
padding
:
0
10px
;
}
</
style
>
\ No newline at end of file
src/components/LeaderManagement/leaderPrint.vue
0 → 100644
View file @
d8f80748
<
template
>
<div
class=
"mb30"
v-loading=
'loading'
>
<div
v-if=
"isShow"
>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.BusList.length+1"
>
车辆使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"150"
>
车配号
</td>
<td
width=
"150"
>
车辆号
</td>
<td
width=
"150"
>
总金额
</td>
<td
width=
"200"
>
备注
</td>
<td
width=
"200"
>
凭证
</td>
</tr>
<tr
v-for=
'(item,index) in list.BusList'
>
<td>
{{
item
.
PlanDateStr
}}
</td>
<td>
{{
item
.
BusCode
}}
</td>
<td>
{{
item
.
BusNum
}}
</td>
<td>
{{
busTotalPrice
(
item
.
ReimburseList
.
ReimburseDetailsList
)
}}
</td>
<td
class=
"jdtd"
valign=
"middle"
>
{{
item
.
Remarks
}}
</td>
<td>
<div
class=
"uploadListDiv ownScrollbarStyle"
>
<p
v-for=
"(img,index) in item.VoucherPicList"
@
click=
"analyzeItem(item.VoucherPicList,index)"
>
{{
img
.
FileName
}}
</p>
</div>
</td>
</tr>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
rowspan=
"50"
>
酒店使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"300"
>
酒店名称
</td>
<td
width=
"150"
>
总金额
</td>
<td
width=
"200"
>
备注
</td>
<td
width=
"200"
>
凭证
</td>
</tr>
<template
v-for=
"(outItem,outIndex) in list.HotelOrderListReport"
>
<tr
class=
"HotelTr"
v-for=
'(item,index) in outItem.HotelOrderList'
>
<td>
{{
item
.
CheckInDateStr
}}
</td>
<td>
<div
class=
"itemName"
>
{{
item
.
HotelName
}}
</div>
</td>
<td>
{{
hotelTotalPrice
(
item
.
ReimburseList
.
ReimburseDetailsList
)
}}
</td>
<td
class=
"jdtd"
valign=
"middle"
>
{{
item
.
ReimburseList
.
Remarks
}}
</td>
<td>
<div
class=
"uploadListDiv ownScrollbarStyle"
style=
"overflow-y: auto;"
>
<p
v-for=
"(img,index) in item.ReimburseList.VoucherPicList"
@
click=
"analyzeItem(item.VoucherPicList,index)"
>
{{
img
.
FileName
}}
</p>
</div>
</td>
</tr>
</
template
>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.DiningList.length+1"
>
餐食使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"300"
>
餐厅名称
</td>
<td
width=
"150"
>
总金额
</td>
<td
width=
"200"
>
备注
</td>
<td
width=
"200"
>
凭证
</td>
</tr>
<
template
v-for=
'(item,index) in list.DiningList'
>
<tr
class=
"splitP ScenicTr"
v-for=
'(titem,tindex) in item.DiningSummaryList'
>
<td>
{{
titem
.
UseTimeStr
}}
</td>
<td>
<div
class=
"itemName"
v-for=
"subItem in item.DiningSummaryList"
>
{{
subItem
.
DiningName
}}
</div>
</td>
<td>
<div
v-for=
"subItem in item.DiningSummaryList"
>
{{
diningTotalPrice
(
subItem
.
ReimburseList
.
ReimburseDetailsList
)
}}
</div>
</td>
<td
class=
"jdtd"
valign=
"middle"
>
{{
titem
.
Remarks
}}
</td>
<td>
<div
class=
"uploadListDiv ownScrollbarStyle"
style=
"overflow-y: auto;"
>
<p
v-for=
"(img,index) in titem.ReimburseList.VoucherPicList"
@
click=
"analyzeItem(titem.VoucherPicList,index)"
>
{{
img
.
FileName
}}
</p>
</div>
</td>
</tr>
</
template
>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.ScenicList.length+1"
>
门票使用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"300"
>
景点名称
</td>
<td
width=
"150"
>
总金额
</td>
<td
width=
"200"
>
备注
</td>
<td
width=
"200"
>
凭证
</td>
</tr>
<
template
v-for=
'(item,index) in list.ScenicList'
>
<tr
class=
"splitP ScenicTr"
>
<td>
{{
item
.
UseTimeStr
}}
</td>
<td>
<div
class=
"itemName"
v-for=
"subItem in item.ScenicStatisticsList"
>
{{
subItem
.
ScenicName
}}
</div>
</td>
<td>
<div
v-for=
"subItem in item.ScenicStatisticsList"
>
{{
diningTotalPrice
(
subItem
.
ReimburseList
.
ReimburseDetailsList
)
}}
</div>
</td>
<td>
<template
v-for=
'(sitem,sindex) in item.ScenicStatisticsList'
>
{{
sitem
.
Remarks
}}
</
template
>
</td>
<td>
<div
class=
"uploadListDiv ownScrollbarStyle"
style=
"overflow-y: auto;"
>
<
template
v-for=
'(sitem,sindex) in item.ScenicStatisticsList'
>
<p
v-for=
"(img,index) in sitem.ReimburseList.VoucherPicList"
@
click=
"analyzeItem(sitem.VoucherPicList,index)"
>
{{
img
.
FileName
}}
</p>
</
template
>
</div>
</td>
</tr>
</template>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.OtherOrderInfo.OtherList.length+1"
>
其他费用
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"300"
>
费用项目
</td>
<td
width=
"100"
>
总人数
</td>
<td
width=
"150"
>
单价
</td>
<td
width=
"150"
>
金额小计
</td>
<td
width=
"80"
>
返佣
</td>
<td
width=
"300"
>
总金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.OtherList'
>
<td>
{{item.UseDateStr}}
</td>
<td>
{{getCostProjectStr(item.CostProject)}}
</td>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td>
{{item.Rebate}}%
</td>
<td
v-if=
'index==0'
:rowspan=
'list.OtherOrderInfo.OtherList.length'
>
{{otherTotalPrice(list.OtherOrderInfo.OtherList)}}
</td>
<td
class=
"jdtd"
>
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
rowspan=
"2"
>
小费收入
</td>
<td
width=
"100"
>
人数
</td>
<td
width=
"300"
>
单价
</td>
<td
width=
"100"
>
总金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.TipList'
>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td
class=
"jdtd"
>
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
rowspan=
"2"
>
团费小计
</td>
<td
width=
"100"
>
金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.TeamList'
>
<td>
{{item.UnitPrice}}
</td>
<td
class=
"jdtd"
>
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.OtherOrderInfo.SelfPlayingIncomeList.length+1"
>
自费收入
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"300"
>
人数
</td>
<td
width=
"100"
>
单价
</td>
<td
width=
"150"
>
金额小计
</td>
<td
width=
"150"
>
总金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.SelfPlayingIncomeList'
>
<td>
{{item.UseDate}}
</td>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td
v-if=
'index==0'
:rowspan=
"list.OtherOrderInfo.SelfPlayingIncomeList.length"
>
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingIncomeList)}}
</td>
<td
class=
"jdtd"
>
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
<tbody>
<tr
class=
"title"
>
<td
width=
"80"
class=
"bgwhite"
:rowspan=
"list.OtherOrderInfo.SelfPlayingExpendList.length+1"
>
自费支出
</td>
<td
width=
"100"
>
使用时间
</td>
<td
width=
"300"
>
人数
</td>
<td
width=
"100"
>
单价
</td>
<td
width=
"150"
>
金额小计
</td>
<td
width=
"150"
>
返佣
</td>
<td
width=
"80"
>
总金额
</td>
<td>
备注
</td>
</tr>
<tr
v-for=
'(item,index) in list.OtherOrderInfo.SelfPlayingExpendList'
>
<td>
{{item.UseDate}}
</td>
<td>
{{item.TotalNum}}
</td>
<td>
{{item.UnitPrice}}
</td>
<td>
{{item.TotalNum*item.UnitPrice}}
</td>
<td>
{{item.Rebate}}%
</td>
<td
v-if=
'index==0'
:rowspan=
"list.OtherOrderInfo.SelfPlayingExpendList.length"
>
{{otherTotalPrice(list.OtherOrderInfo.SelfPlayingExpendList)}}
</td>
<td
class=
"jdtd"
>
{{item.Remark}}
</td>
</tr>
</tbody>
</table>
<p
class=
"alcenter"
>
<input
type=
"button"
value=
"打印"
class=
"normalBtn"
/>
</p>
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
isUpdate
:
false
,
loading
:
false
,
defaultSelectValue
:
0
,
initialIndex
:
0
,
picObj
:
[],
TemporaryItem
:
{},
msg
:
{
TCIDs
:
''
,
NewCombinationNum
:
''
},
list
:
[],
nav
:
[],
TravelDayNum
:
0
,
RealityNum
:
0
,
isShow
:
false
}
},
methods
:
{
//获取自费项目类型字符串
getCostProjectStr
(
type
)
{
var
str
=
""
;
switch
(
type
)
{
case
"1"
:
str
=
"导游津贴"
;
break
;
case
"2"
:
str
=
"司机津贴"
;
break
;
case
"3"
:
str
=
"其他支出"
;
break
;
}
return
str
;
},
addOtherList
()
{
this
.
list
.
OtherOrderInfo
.
OtherList
.
push
({
OrderType
:
'1'
,
ID
:
0
,
UseDate
:
''
,
CostProject
:
0
,
TotalNum
:
'0'
,
UnitPrice
:
'0'
,
Rebate
:
'0'
,
TotalPrice
:
'0'
,
Remark
:
''
,
TCIDs
:
this
.
list
.
OtherOrderInfo
.
OtherList
[
0
].
TCIDs
,
VoucherPicList
:
[]
})
},
deleteOtherListItem
(
index
)
{
this
.
list
.
OtherOrderInfo
.
OtherList
.
splice
(
index
,
1
)
},
addSelfPlayingIncomeList
()
{
this
.
list
.
OtherOrderInfo
.
SelfPlayingIncomeList
.
push
({
OrderType
:
'4'
,
ID
:
0
,
UseDate
:
''
,
CostProject
:
0
,
TotalNum
:
'0'
,
UnitPrice
:
'0'
,
Rebate
:
'0'
,
TotalPrice
:
'0'
,
Remark
:
''
,
TCIDs
:
this
.
list
.
OtherOrderInfo
.
SelfPlayingIncomeList
[
0
].
TCIDs
,
VoucherPicList
:
[]
})
},
deleteSelfPlayingIncomeListItem
(
index
)
{
this
.
list
.
OtherOrderInfo
.
SelfPlayingIncomeList
.
splice
(
index
,
1
)
},
addSelfPlayingExpendList
()
{
this
.
list
.
OtherOrderInfo
.
SelfPlayingExpendList
.
push
({
OrderType
:
'5'
,
ID
:
0
,
UseDate
:
''
,
CostProject
:
''
,
TotalNum
:
'0'
,
UnitPrice
:
'0'
,
Rebate
:
'0'
,
TotalPrice
:
'0'
,
Remark
:
''
,
TCIDs
:
this
.
list
.
OtherOrderInfo
.
SelfPlayingExpendList
[
0
].
TCIDs
,
VoucherPicList
:
[]
})
},
deleteSelfPlayingExpendList
(
index
)
{
this
.
list
.
OtherOrderInfo
.
SelfPlayingExpendList
.
splice
(
index
,
1
)
},
busTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
})
return
totalPrice
},
hotelTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
})
return
totalPrice
},
diningTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
UserNum
*
x
.
UnitPrice
})
return
totalPrice
},
scenicTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
x
=>
{
totalPrice
+=
x
.
PeoplePrice
*
(
x
.
UsePeopleNum
-
x
.
Discount
)
*
(
1
-
x
.
DiscountPrice
/
100
)
})
return
totalPrice
},
otherTotalPrice
(
obj
)
{
let
totalPrice
=
0
obj
.
forEach
(
item
=>
{
totalPrice
+=
item
.
TotalNum
*
item
.
UnitPrice
*
(
1
-
item
.
Rebate
/
100
)
})
return
totalPrice
},
saveitem
(
obj
)
{
this
.
TemporaryItem
=
obj
},
analyzeItem
(
obj
,
index
)
{
//预览
this
.
picObj
=
[]
obj
.
forEach
(
item
=>
{
this
.
picObj
.
push
(
item
.
url
)
})
this
.
initialIndex
=
index
},
peopleStrToWord
(
str
)
{
if
(
str
==
'1'
)
return
'成人'
if
(
str
==
'2'
)
return
'儿童'
if
(
str
==
'3'
)
return
'婴儿'
},
UseDinnerTypeToWord
(
str
)
{
if
(
str
==
1
)
return
'早餐'
if
(
str
==
2
)
return
'午餐'
if
(
str
==
3
)
return
'晚餐'
},
getNav
()
{
this
.
apipost
(
'dmcstatistics_post_GetHotelStaticsByTCIDs'
,
{
TCIDs
:
this
.
$route
.
query
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
nav
=
res
.
data
.
data
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getList
()
{
this
.
loading
=
true
this
.
apipost
(
'dmcstatistics_post_GetNewLeaderPayMoneyStatics'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
this
.
isShow
=
true
;
this
.
list
=
res
.
data
.
data
this
.
list
.
OtherOrderInfo
.
OtherList
.
forEach
(
item
=>
{
item
.
CostProject
=
item
.
CostProject
.
toString
()
})
}
else
{
this
.
loading
=
false
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
},
mounted
()
{
this
.
isUpdate
=
this
.
$route
.
query
.
isUpdate
;
this
.
msg
.
TCIDs
=
this
.
$route
.
query
.
id
;
this
.
getNav
();
this
.
getList
();
}
}
</
script
>
<
style
>
.leaderReimbursementTableNav
{
background
:
#d6cece
;
width
:
800px
;
margin
:
20px
0
;
}
.leaderReimbursementTableNav
tr
th
{
background
:
#E6E6E6
;
height
:
40px
;
font-size
:
12px
;
color
:
#333
;
}
.leaderReimbursementTableNav
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
font-size
:
12px
;
}
.leaderReimbursementTableNav
tr
td
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
font-size
:
12px
;
padding
:
0
10px
;
}
.leaderReimbursementTable
{
background
:
#d6cece
;
width
:
100%
;
margin
:
20px
0
;
}
.leaderReimbursementTable
tbody
{
margin
:
10px
0
;
}
.leaderReimbursementTable
tr
th
{
background
:
#E6E6E6
;
height
:
40px
;
font-size
:
12px
;
color
:
#333
;
}
.leaderReimbursementTable
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
}
.leaderReimbursementTable
tr
.title
td
{
background
:
#E6E6E6
;
}
.leaderReimbursementTable
tr
td
div
{
word-break
:
normal
;
}
.leaderReimbursementTable
tr
td
.bgwhite
{
background
:
#fff
!important
;
font-weight
:
bold
;
}
.leaderReimbursementTable
tr
td
{
font-size
:
12px
;
}
.leaderReimbursementTable
tr
td
.pDateStyle
{
border-bottom
:
1px
solid
#E6E6E6
;
min-height
:
24px
;
line-height
:
24px
;
margin-top
:
0
;
box-sizing
:
content-box
;
padding
:
0
10px
;
}
.leaderReimbursementTable
tr
td
.pDateStyle
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
tr
td
.pDateStyle
>
span
:after
{
content
:
'/'
;
}
.leaderReimbursementTable
tr
td
.pDateStyle
>
span
:last-child:after
{
content
:
''
}
.leaderReimbursementTable
tr
td
.link
p
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.leaderReimbursementTable
tr
td
.phoverStype
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.leaderReimbursementTable
tr
td
input
[
type
=
'text'
]
{
height
:
20px
!important
;
padding
:
0
;
text-align
:
center
;
}
.leaderReimbursementTable
tr
td
.sel
input
{
height
:
34px
!important
;
}
.leaderReimbursementTable
.splitP
td
>
p
{
height
:
20px
;
line-height
:
20px
;
border-bottom
:
1px
solid
#ccc
;
}
.leaderReimbursementTable
.splitP
td
>
p
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
.ScenicTr
td
>
div
{
height
:
60px
;
line-height
:
60px
;
border-bottom
:
1px
solid
#ccc
;
}
.leaderReimbursementTable
.ScenicTr
td
>
div
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
.ScenicTr
td
>
div
p
{
line-height
:
20px
;
border-bottom
:
1px
solid
#ccc
;
}
.leaderReimbursementTable
.ScenicTr
td
>
div
p
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
.HotelTr
td
>
div
{
border-bottom
:
1px
solid
#ccc
;
}
.leaderReimbursementTable
.HotelTr
td
>
div
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
.HotelTr
td
>
div
p
{
line-height
:
19px
;
border-bottom
:
1px
solid
#ccc
;
}
.leaderReimbursementTable
.HotelTr
td
>
div
p
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
tr
td
.el-upload-list
{
display
:
none
;
}
.leaderReimbursementTable
.uploadListDiv
{
height
:
100%
!important
;
overflow-y
:
auto
;
width
:
100%
;
}
.leaderReimbursementTable
.uploadListDiv
>
p
{
border-bottom
:
1px
solid
#ccc
;
cursor
:
pointer
;
width
:
100%
!important
;
}
.leaderReimbursementTable
.uploadListDiv
>
p
:last-child
{
border-bottom
:
none
;
}
.leaderReimbursementTable
.uploadListDiv
>
p
i
{
color
:
#999
;
vertical-align
:
sub
;
margin
:
3px
;
}
.leaderReimbursementTable
.jdtd
{
padding
:
0
10px
;
text-align
:
left
;
}
.leaderReimbursementTable
.leaderPayTable
.el-input__prefix
{
display
:
none
;
}
.leaderReimbursementTable
.itemName
{
text-align
:
left
;
padding
:
0
10px
;
}
</
style
>
\ No newline at end of file
src/components/SalesModule/productQuery.vue
View file @
d8f80748
...
...
@@ -774,16 +774,13 @@
</p>
</div>
<div
class=
"d7"
>
<!--
<p><input
type=
"button"
:class=
"
{normalBtn:true,disabledBtn:item.IsSubstitution!=1
&&
item.SurplusSeat==0}" :disabled="item.IsSubstitution!=1
&&
item.SurplusSeat==0" value="立即下单" @click="goBuy(item)">
</p>
<p><input
type=
"button"
class=
"hollowFixedBtn"
value=
"下载行程"
></p>
<p><input
type=
"button"
class=
"hollowFixedBtn"
value=
"分享行程"
></p>
<p><input
type=
"button"
class=
"hollowFixedBtn"
value=
"查看报名"
></p>
-->
<el-button-group
style=
"display:block;"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看报名"
placement=
"top-start"
>
<el-button
@
click=
"goUrl('groupTourOrderByTuan',item.TCID,item.TCNUM)"
type=
"primary"
style=
'background:#00C6FF; border-color:#00C6FF'
icon=
"iconfont icon-sousuo"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"立即下单"
placement=
"top-start"
v-if=
"item.IsPayOrder!==1"
>
<!--关内团后不能在报名-->
<el-tooltip
class=
"item"
effect=
"dark"
content=
"立即下单"
placement=
"top-start"
v-if=
"item.IsPayOrder!==1 && item.IsB2B===1"
>
<el-button
type=
"primary"
style=
'background:#F16C3C; border-color:#F16C3C'
v-if=
"!TCIDList"
icon=
"iconfont icon-fukuan1"
@
click=
"goBuy(item)"
></el-button>
</el-tooltip>
...
...
src/components/dmc/manager/dmcTotalTable.vue
View file @
d8f80748
...
...
@@ -215,7 +215,7 @@
</div>
</td>
<td>
<div
class=
"w
18
0"
>
<div
class=
"w
25
0"
>
<el-button-group>
<el-button
@
click=
"goUrlT('teamRevenueExpenditure',item.TCID,'团队收支')"
type=
"primary"
style=
"background:#00C6FF; border-color:#00C6FF"
>
收付款
</el-button>
<el-popover
placement=
"bottom"
width=
"300"
trigger=
"click"
>
...
...
@@ -225,8 +225,8 @@
</p>
<el-button
type=
"primary"
slot=
"reference"
@
click=
'CkedItem(item)'
style=
"background:#AD9AF6; border-color:#AD9AF6; border-radius: 0;"
>
添加备注
</el-button>
</el-popover>
<br/>
<el-button
@
click=
'openChart(item)'
type=
"primary"
style=
"background:#6DD875; border-color:#6DD875"
>
联系OP
</el-button>
<el-popover
placement=
"bottom"
width=
"300"
trigger=
"click"
>
<el-input
class=
'mt10'
v-model=
'NumObj.newCombinationNum'
type=
'textarea'
></el-input>
<p
class=
"alcenter mt10"
>
...
...
src/components/dmc/manager/teamReimbursement.vue
View file @
d8f80748
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
@import
"../../../assets/css/newTravelManager.css"
;
.TravelQueryList
{
width
:
100%
;
...
...
@@ -51,9 +51,7 @@
line-height
:
20px
;
display
:
-webkit-box
;
overflow
:
hidden
;
/*! autoprefixer: off */
-webkit-box-orient
:
vertical
;
/* autoprefixer: on */
text-overflow
:
ellipsis
;
-webkit-line-clamp
:
3
;
}
...
...
@@ -335,92 +333,43 @@
<div
class=
"TC_Content TravelControlList"
>
<div
class=
"query-box"
>
<ul>
<!--
<li>
<span>
<em>
所属线路
</em>
<el-select
class=
"w150"
v-model=
"queryMsg.LineId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
"item.LineName"
:value=
"item.LineID"
:key=
"item.LineID"
></el-option>
</el-select>
</span>
</li>
-->
<li>
<span>
<em>
系列名称
</em>
<el-select
class=
"w150"
v-model=
"queryMsg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineTeamList"
:label=
"item.LtName"
:value=
"item.LtID"
:key=
"item.LtID"
></el-option>
<el-select
class=
"w150"
v-model=
"queryMsg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineTeamList"
:label=
"item.LtName"
:value=
"item.LtID"
:key=
"item.LtID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
maxlength=
"50"
v-model=
"queryMsg.TCNUM"
class=
"permiss-input w150"
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
<el-input
maxlength=
"50"
v-model=
"queryMsg.TCNUM"
class=
"permiss-input w150"
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
发团日期
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.StartGroupDate"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.EndGroupDate"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.StartGroupDate"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.EndGroupDate"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
合团团号
</em>
<el-input
maxlength=
"50"
v-model=
"queryMsg.CombinationNum"
class=
"permiss-input w150"
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getControlList(),resetPageIndex()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"getControlList(),resetPageIndex()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
</li>
</ul>
</div>
<table
class=
"TravelControlListTable TravelQueryList"
>
<tbody
v-for=
"(outItem,i) in queryCommonData.dataList"
:key=
"i"
>
<template
v-for=
"(item,index) in outItem.TravelPriceList"
>
...
...
@@ -433,16 +382,8 @@
<td
width=
"240"
v-if=
"index==0"
:rowspan=
"outItem.TravelPriceList.length*3"
>
<div
class=
"d7"
>
<el-button-group>
<el-button
@
click
.
native=
"goUrl('leaderReimbursement',outItem,'用款计划')"
type=
"primary"
style=
"background:#E95252; border-color:#E95252"
>
领队用款
</el-button>
<el-button
@
click
.
native=
"goUrl('leaderPay',outItem,'领队报账')"
type=
"primary"
style=
"background:#297BEF; border-color:#297BEF"
>
领队报账
<el-button
@
click
.
native=
"goUrl('leaderReimbursement',outItem,'用款计划')"
type=
"primary"
style=
"background:#E95252; border-color:#E95252"
>
领队用款
</el-button>
<el-button
@
click
.
native=
"goUrl('leaderPay',outItem,'领队报账')"
type=
"primary"
style=
"background:#297BEF; border-color:#297BEF"
>
领队报账
</el-button>
</el-button-group>
</div>
...
...
@@ -494,7 +435,8 @@
</tr>
</table>
<div
class=
"FlightDiv-TCL"
slot=
"reference"
>
<div
v-for=
"subItem in item.flightList"
slot=
"reference"
:key=
"subItem.subCode"
class=
"TCL-flighInfoList"
style=
"text-align: center!important"
>
<div
v-for=
"subItem in item.flightList"
slot=
"reference"
:key=
"subItem.subCode"
class=
"TCL-flighInfoList"
style=
"text-align: center!important"
>
<span
class=
"travelnowrap"
>
<span
class=
"TCL-FlightNumber"
>
{{
subItem
.
Flight_number
}}
</span>
{{
subItem
.
DepartureName
}}
{{
subItem
.
StopoverName
==
""
?
""
:
"-"
+
subItem
.
StopoverName
}}
...
...
@@ -545,7 +487,7 @@
</div>
</td>
</tr>
<tr
height=
"40"
>
<tr
height=
"40"
>
<td
colspan=
"4"
style=
"padding-left: 30px;"
>
备注:
{{
item
.
OPRemark
}}
</td>
...
...
@@ -556,19 +498,13 @@
<td
colspan=
"6"
>
{{$t('system.content_noData')}}
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryMsg.pageSize"
:total=
"queryMsg.total"
></el-pagination>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryMsg.pageSize"
:total=
"queryMsg.total"
></el-pagination>
</div>
</div>
</template>
<
script
>
export
default
{
export
default
{
data
()
{
return
{
ArrList
:
[],
...
...
@@ -595,7 +531,9 @@ export default {
total
:
0
,
//是否有数据
noData
:
false
,
currentPage
:
1
currentPage
:
1
,
//合团团号
CombinationNum
:
""
},
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
...
...
@@ -612,8 +550,17 @@ export default {
};
},
methods
:
{
goUrl
(
path
,
obj
,
title
){
this
.
$router
.
push
({
name
:
path
,
query
:{
"id"
:
obj
.
TCIDs
,
'num'
:
obj
.
CombinationNum
,
isUpdate
:
true
,
blank
:
'y'
,
tab
:
title
}})
goUrl
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
obj
.
TCIDs
,
'num'
:
obj
.
CombinationNum
,
isUpdate
:
true
,
blank
:
'y'
,
tab
:
title
}
})
},
//翻页
handleCurrentChange
(
val
)
{
...
...
@@ -662,23 +609,6 @@ export default {
);
}
},
filters
:
{
priceFormat
(
value
)
{
if
(
value
==
null
)
{
return
0.0
;
}
let
nStr
=
value
.
toFixed
(
2
);
nStr
+=
""
;
let
x
=
nStr
.
split
(
"."
);
let
x1
=
x
[
0
];
let
x2
=
x
.
length
>
1
?
"."
+
x
[
1
]
:
""
;
var
rgx
=
/
(\d
+
)(\d{3})
/
;
while
(
rgx
.
test
(
x1
))
{
x1
=
x1
.
replace
(
rgx
,
"$1"
+
","
+
"$2"
);
}
return
x1
+
x2
;
}
},
mounted
()
{
this
.
getLineTeamList
();
},
...
...
@@ -693,5 +623,5 @@ export default {
this
.
queryMsg
.
StartGroupDate
=
nowDate
;
this
.
getControlList
();
}
};
};
</
script
>
\ No newline at end of file
src/router/config.js
View file @
d8f80748
...
...
@@ -1170,6 +1170,14 @@ export default {
title
:
'领队用款计划'
},
},
{
path
:
'/leaderPrint'
,
//领队用款计划
name
:
'leaderPrint'
,
component
:
resolve
=>
require
([
'@/components/LeaderManagement/leaderPrint'
],
resolve
),
meta
:
{
title
:
'领队用款计划打印'
},
},
{
path
:
'/leaderReimbursement'
,
//领队领队报账
name
:
'leaderReimbursement'
,
...
...
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