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
3bdc1a0e
Commit
3bdc1a0e
authored
Jun 05, 2019
by
Mac
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
5c44ec94
4ebd1fed
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1863 additions
and
91 deletions
+1863
-91
daxiang.png
src/assets/img/daxiang.png
+0
-0
ExchangeLoss.vue
src/components/FinancialModule/ExchangeLoss.vue
+939
-0
NewBillModule.vue
...ents/FinancialModule/FinancialSubmodule/NewBillModule.vue
+10
-0
addFinancialDocuments.vue
src/components/FinancialModule/addFinancialDocuments.vue
+9
-5
HotelProductManage2.vue
src/components/Hotel/HotelProductManage2.vue
+2
-1
HotelQueryList.vue
src/components/Hotel/HotelQueryList.vue
+4
-2
roomReservations.vue
src/components/Hotel/roomReservations.vue
+2
-3
AddSupplierComplaints.vue
src/components/Supplier/AddSupplierComplaints.vue
+19
-11
HotelInfo.vue
src/components/Supplier/HotelInfo.vue
+1
-1
HotelManagement.vue
src/components/Supplier/HotelManagement.vue
+2
-2
HotelProductManage.vue
src/components/Supplier/HotelProductManage.vue
+13
-15
HotelQueryList.vue
src/components/Supplier/HotelQueryList.vue
+102
-19
HotelSalesBoard.vue
src/components/Supplier/HotelSalesBoard.vue
+8
-7
HotelTotalStock.vue
src/components/Supplier/HotelTotalStock.vue
+5
-5
roomQuery.vue
src/components/Supplier/roomQuery.vue
+9
-9
SupplierIndex.vue
src/components/SupplierIndex.vue
+730
-11
config.js
src/router/config.js
+8
-0
No files found.
src/assets/img/daxiang.png
0 → 100644
View file @
3bdc1a0e
5.09 KB
src/components/FinancialModule/ExchangeLoss.vue
0 → 100644
View file @
3bdc1a0e
<
style
scoped
>
.page_fnDm
{
background-color
:
white
}
.query-box
{
overflow
:
inherit
}
._nav
{
margin
:
20px
0
0
0
;
background-color
:
#f5f5f5
;}
._nav
li
{
float
:
left
;
font-size
:
14px
;
color
:
#666666
;
padding
:
15px
20px
;
cursor
:
pointer
;
position
:
relative
;
background-color
:
#f1f1f1
;
margin-right
:
5px
}
._nav
li
._active
{
background-color
:
#FFFFFF
;
color
:
#333333
}
._nav
li
._active
::after
{
content
:
""
;
width
:
20px
;
height
:
3px
;
background-color
:
#E95252
;
display
:
inline-block
;
position
:
absolute
;
bottom
:
0
;
left
:
38%
;}
.el-range-editor.el-input__inner
{
border-radius
:
0
}
.query-box
{
border
:
none
}
.hight_query
{
position
:
relative
;}
.hight_query
span
{
height
:
34px
;
line-height
:
34px
;
color
:
#E95252
}
.hight_query
span
.icon-gengduo
{
font-size
:
12px
}
.hight_query
span
em
{
text-decoration
:
underline
;
cursor
:
pointer
;}
.hight_query_box
{
position
:
absolute
;
background-color
:
white
;
z-index
:
2000
;
right
:
200px
;
width
:
800px
;}
._hqb_shadow
{
box-shadow
:
3px
2px
10px
rgb
(
204
,
203
,
203
);
border
:
1px
solid
#ececec
;}
.query-box
ul
{
overflow
:
initial
;}
.hqb_t
{
padding
:
10px
20px
;
font-size
:
16px
;
background-color
:
#E95252
;
border
:
1px
solid
#E95252
;
color
:
#fff
;
text-align
:
center
;
margin-bottom
:
15px
}
.query-box
li
:last-child
{
float
:
left
}
.query-box
>
ul
>
li
:last-child
{
float
:
right
;}
.query-box
.hight_query
ul
.el-input
{
width
:
inherit
}
.hight_query_box
ul
li
{
margin-top
:
0
;
float
:
left
;
margin-right
:
15px
}
.hight_query_box
ul
li
label
{
font-size
:
14px
}
.hight_query_box
.el-form
{
padding
:
0
20px
}
.hight_query_box
ul
li
._hqb_btn
{
float
:
right
;
margin-right
:
25px
;
padding-top
:
5px
;
position
:
inherit
}
.Receipt_box
{
padding
:
15px
;
color
:
#c94052
;
width
:
614px
;
background-color
:
rgba
(
242
,
242
,
242
,
1
);
border
:
1px
solid
rgba
(
228
,
228
,
228
,
1
)}
.Receipt_box.color_blur
{
color
:
#106BAF
;}
.Receipt_box.color_blur
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#106BAF
;
padding
:
0
20px
}
.rb_tit
{
font-size
:
18px
;
text-align
:
center
}
.rb_stit
{
font-size
:
14px
;
text-align
:
center
}
.rb_stit
span
{
display
:
inline-block
;
border-bottom
:
2px
solid
#C94052
;
padding
:
0
20px
}
.rb_top_row
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;}
.rb_top_row
span
._r_name
{
color
:
#333333
}
.rb_top_row
span
._r_bold
{
font-weight
:
bold
}
.rb_top_row
._r_time
span
{
color
:
#333333
}
._r_mb5
{
margin-bottom
:
5px
;}
.Receipt_table
{
width
:
100%
;
font-size
:
14px
;
text-align
:
center
}
.Receipt_table
.th
{
font-weight
:
200
!important
}
._r_mt10
{
margin-top
:
10px
;}
._bg__
{
display
:
inline-block
;
padding
:
2px
8px
;
color
:
white
;
border-radius
:
4px
}
._bg_red
{
background-color
:
#E95252
;}
._bg_green
{
background-color
:
#2BB87C
}
.text_d
{
text-decoration
:
underline
;
cursor
:
pointer
;}
.PingFangSC
{
font-weight
:
bold
}
.Bill_par
{
position
:
relative
;}
tr
th
,
tr
td
{
text-align
:
left
;
padding-left
:
20px
;}
tr
._item_list
{
border-bottom
:
1px
solid
#E5E5E5
;
height
:
78px
;}
tr
._item_list
td
{
border-bottom
:
1px
solid
#e5e5e5
;
padding
:
10px
;}
/* tr._t_head th{border-top: 1px solid #e5e5e5;} */
tr
._item_list
td
:first-child
{
border-left
:
1px
solid
#e5e5e5
;}
tr
._item_list
td
:last-child
{
border-right
:
1px
solid
#e5e5e5
;}
._head_img
{
width
:
28px
;
height
:
28px
;
border-radius
:
50%
;
vertical-align
:
middle
;}
._btn_group
{
font-size
:
14px
;}
.icon-daiqueren
{
color
:
#4BCA81
}
.icon-yiqueren
{
color
:
#4BCA81
}
.icon-yiquxiao
{
color
:
#959595
}
.icon-shenhebohui
{
color
:
#E95252
}
.icon-icon-zancun
{
color
:
#FF9C01
}
.singeRowTable
tr
:hover
{
background-color
:
white
}
._TradeWayList
{
padding
:
5px
10px
;
background-color
:
#EEEEEE
;
border-radius
:
4px
;
margin
:
10px
0
;
width
:
230px
}
._bold
{
font-weight
:
bold
}
._bank_name
,
._bank_type
{
display
:
inline-block
;
background-color
:
#333333
;
color
:
white
;
padding
:
2px
4px
;
border-radius
:
4px
;
margin-left
:
10px
;}
._bank_name
{
margin-left
:
10px
;}
._bank_type
{
background-color
:
#2AAEF2
}
._bank_type2
{
background-color
:
#FF9C01
}
._font_init
{
color
:
#333333
;
font-size
:
12px
;
vertical-align
:
top
;}
.InfoChangeLog
{
height
:
auto
;
max-height
:
220px
;
background-color
:
#FFFFFF
;}
.changLogList
{
padding-left
:
20px
;
max-height
:
180px
;
overflow
:
auto
;}
.changLogList_l
{
border-left
:
1px
solid
#E9E9E9
;
position
:
relative
;
padding-bottom
:
10px
;
padding-left
:
20px
;
padding-top
:
10px
;}
._radius_green
{
background-color
:
#47BF8C
;
width
:
7px
;
height
:
7px
;
border-radius
:
50%
;
display
:
inline-block
;
position
:
absolute
;
left
:
-4px
;
top
:
19px
;}
.changLog_time
{
color
:
#666666
;
font-size
:
12px
;
display
:
inline-block
;
padding-right
:
10px
}
._icon_btn
i
{
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
color
:
white
!important
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
30px
;
margin-right
:
10px
;
cursor
:
pointer
;
outline
:
none
;}
._icon_btn
i
.edit
{
background-color
:
#00C6FF
;
font-size
:
16px
;}
._icon_btn
i
.edit
:hover
{
background-color
:
#59daff
}
._icon_btn
i
.edit
:active
{
background-color
:
#00b8ec
}
._icon_btn
i
.icon-sousuo
{
background-color
:
#47BF8C
;}
._icon_btn
i
.icon-sousuo
:hover
{
background-color
:
#66bb97
}
._icon_btn
i
.icon-sousuo
:active
{
background-color
:
#35ab79
}
._icon_btn
i
.icon-ico_commodity_defaul
{
background-color
:
#F16C3C
;}
._icon_btn
i
.icon-ico_commodity_defaul
:hover
{
background-color
:
#e87c54
}
._icon_btn
i
.icon-ico_commodity_defaul
:active
{
background-color
:
#f76630
}
._icon_btn
i
.icon-quxiao1
{
background-color
:
#E95252
;}
._icon_btn
i
.icon-quxiao1
:hover
{
background-color
:
#ea6d6d
}
._icon_btn
i
.icon-quxiao1
:active
{
background-color
:
#e42d2d
}
._icon_btn
i
.icon-zhuanjiao1
{
background-color
:
#E6A014
;
font-size
:
16px
;}
._icon_btn
i
.icon-zhuanjiao1
:hover
{
background-color
:
rgb
(
235
,
184
,
84
)}
._icon_btn
i
.icon-zhuanjiao1
:active
{
background-color
:
rgb
(
223
,
150
,
6
)}
._tag_span
{
background-color
:
rgba
(
64
,
158
,
255
,
.1
);
display
:
inline-block
;
padding
:
0
5px
;
height
:
22px
;
line-height
:
20px
;
font-size
:
12px
;
color
:
#409eff
;
border-radius
:
4px
;
box-sizing
:
border-box
;
border
:
1px
solid
rgba
(
64
,
158
,
255
,
.2
);
white-space
:
nowrap
;
margin-bottom
:
4px
;}
._tag_span._tag_warr
{
background-color
:
rgba
(
103
,
194
,
58
,
.1
);
border-color
:
rgba
(
103
,
194
,
58
,
.2
);
color
:
#67c23a
;}
._fex_cen
{
display
:
flex
;
align-items
:
center
}
._pad5
{
padding
:
5px
10px
;}
._color_gar
{
color
:
gray
}
._TCIDAndTCNUMList
{
display
:
flex
;
}
.JumpDivTitleOne
{
margin-left
:
20px
;
font-size
:
14px
;
}
.JumpDivTitleTwo
{
margin
:
10px
0
0
20px
;
font-size
:
14px
;
}
.JumpSpan
{
margin
:
0
20px
;
}
</
style
>
<
template
>
<div
class=
"page_fnDm page_RecPayQuery"
@
keyup
.
enter=
"resetPageIndex(),getPageList()"
>
<div
class=
"query-box"
>
<el-form
class=
"_info_box clearfix"
label-width=
"110px"
>
<el-row
style=
"padding:15px 20px 0 0;"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"单号:"
>
<el-input
placeholder=
""
class=
""
v-model=
"msg.FrID"
></el-input>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"4"
>
<el-form-item
label=
"团队编号:"
>
<el-input
v-model=
"msg.TCID"
class=
""
></el-input>
</el-form-item>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
label=
"所属公司:"
>
<el-select
filterable
v-model=
'msg.RB_Branch_Id'
@
change=
"getDepartmentMsg.RB_Branch_Id=msg.RB_Branch_Id,msg.RB_Depart_Id='',msg.UpdateBy=''"
class=
""
>
<el-option
:value=
"-1"
label=
"不限"
></el-option>
<el-option
v-for=
'item in CompanyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<template>
<el-col
:span=
"4"
>
<el-form-item
label=
"审核状态:"
>
<el-select
filterable
v-model=
'msg.Status'
class=
""
>
<el-option
key=
"-1"
:value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"0"
value=
"0"
label=
"暂存"
></el-option>
<el-option
key=
"1"
value=
"1"
label=
"审核中"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"通过"
></el-option>
<el-option
key=
"3"
value=
"3"
label=
"驳回"
></el-option>
<el-option
key=
"4"
value=
"4"
label=
"作废"
></el-option>
<el-option
key=
"5"
value=
"5"
label=
"出纳暂存"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"类型:"
>
<el-select
filterable
v-model=
'msg.Type'
>
<el-option
key=
"0"
:value=
"0"
label=
"不限"
></el-option>
<el-option
key=
"1"
:value=
"1"
label=
"收入"
></el-option>
<el-option
key=
"2"
:value=
"2"
label=
"支出"
></el-option>
<el-option
key=
"4"
:value=
"4"
label=
"资金调拨"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"制单人员:"
>
<el-select
filterable
v-model=
'msg.UpdateBy'
class=
""
>
<el-option
:value=
"0"
label=
"不限"
></el-option>
<el-option
v-for=
'item in EmployeeList'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"交易日期:"
>
<el-date-picker
class=
"h34"
v-model=
"transactionDate"
@
change=
"timeAdd(3)"
type=
"daterange"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"制单日期:"
>
<el-date-picker
class=
"h34"
@
change=
"timeAdd(1)"
v-model=
"productionDate"
type=
"daterange"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</
template
>
</el-row>
</el-form>
<ul
class=
"clearfix"
>
<li
class=
"hight_query"
>
<!-- <span>
<em @click.stop="heightQueryBox=!heightQueryBox">高级查询 <i class="iconfont icon-gengduo"></i></em>
</span> -->
<button
class=
"hollowFixedBtn"
@
click=
"resetPageIndex(),getPageList()"
>
{{$t('pub.searchBtn')}}
</button>
<!-- <button class="normalBtn" @click="method5()">导出</button> -->
</li>
</ul>
<div
class=
"JumpDivTitleOne"
>
应收金额:{{SumYingShou}}
<span
class=
"JumpSpan"
>
实收金额:{{SumShiShou}}
</span>
待收金额:{{SumDaiShou}}
</div>
<div
class=
"JumpDivTitleTwo"
>
应付金额:{{SumYingFu}}
<span
class=
"JumpSpan"
>
实付金额:{{SumShiFu}}
</span>
待付金额:{{SumDaiFu}}
</div>
</div>
<div
class=
"_fnDm_content"
v-loading=
'loading'
>
<v-table
is-horizontal-resize
column-width-drag
style=
"width:100%"
:columns=
"columns"
:table-data=
"DataList"
:filter-method=
"filterMethod"
:total=
'total'
:pageSize=
'pageSize'
:pageIndex=
'pageIndex'
:handleCurrentChange=
'handleCurrentChanges'
:row-height=
'100'
@
on-custom-comp=
"customCompFunc"
@
sort-change=
"sortChange"
multiple-sort
>
<!-- 多个排序 -->
</v-table>
</div>
</div>
</template>
<
script
>
import
myBill
from
"./FinancialSubmodule/BillModule.vue"
;
import
myrbvBill
from
"./FinancialSubmodule/ReceivablesModule.vue"
;
import
myhrBill
from
"./FinancialSubmodule/MergeBillModule.vue"
;
import
Vue
from
'vue'
// 自定义列组件
Vue
.
component
(
'table-BranchName'
,{
//查看操作按钮
template
:
`<span>{{rowData.BranchName}}</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goUrl
(
path
){
// let routeData = this.$router.resolve({
// name: path,
// query: {id:this.rowData.FrID}
// });
// window.open(routeData.href, "_blank");
this
.
$router
.
push
({
path
:
'/'
+
path
,
query
:
{
id
:
this
.
rowData
.
FrID
,
blank
:
'y'
,
tab
:
this
.
rowData
.
FrID
+
'单据详情'
}
})
},
}
})
Vue
.
component
(
'table-operation'
,{
//查看操作按钮
template
:
`<span>
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i style="width: 30px;
height: 30px;
display: inline-block;
color: white !important;
border-radius: 50%;
text-align: center;
line-height: 30px;
margin-right: 10px;
cursor: pointer;
background-color: #47BF8C;
outline: none;"
class="iconfont icon-sousuo" @click="goUrl">
</i>
</el-tooltip>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goUrl
(){
let
status
=
false
;
if
(
this
.
rowData
.
CostTypeList
){
this
.
rowData
.
CostTypeList
.
forEach
(
cost
=>
{
if
(
cost
==
"资金调拨"
){
status
=
true
;
}
})
}
if
(
status
){
this
.
$router
.
push
({
name
:
"CapitalAllocationDetail"
,
query
:{
id
:
this
.
rowData
.
FrID
,
blank
:
'y'
}
})
}
else
{
this
.
$router
.
push
({
name
:
"FinancialDocumentsDetail"
,
query
:
{
id
:
this
.
rowData
.
FrID
,
blank
:
'y'
,
tab
:
this
.
rowData
.
FrID
+
'单据详情'
}})
}
// this.$router.push({
// path: '/' + path,
// query: {id:this.rowData.FrID,blank:'y',tab:this.rowData.FrID+'单据详情'}
// })
},
}
})
Vue
.
component
(
'table-RecPay'
,{
//收支样式
template
:
`
<span>
<span v-if="rowData.Type==2" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #E95252;
line-height: 16px;
border-radius: 4px;">
支出
</span>
<span v-if="rowData.Type==1" style="display: inline-block;
padding: 2px 8px;
color: white;
background-color: #2BB87C;
line-height: 16px;
border-radius: 4px;">
收入
</span>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
}
})
Vue
.
component
(
'table-BillRVB'
,{
//单据样式
template
:
`
<el-popover
popper-class="detailsIT_Journal"
placement="bottom-start"
trigger="click">
<template v-if="rowData.Type!=1&&rowData.modelShow&&(rowData.Is_Merge==0||rowData.Is_Merge==null)">
<my-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-Bill>
</template>
<template v-else-if="rowData.Type==1&&rowData.modelShow&&(rowData.Is_Merge==0||rowData.Is_Merge==null)">
<my-RVB-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-RVB-Bill>
</template>
<template v-else-if="rowData.Is_Merge==1&&rowData.modelShow">
<my-HB-Bill :ID="rowData.FrID" :width="widthSon" :color="colorSon"></my-HB-Bill>
</template>
<span slot="reference" @click="rowData.modelShow = true,conSole(rowData)" style="text-decoration: underline;cursor: pointer;font-weight: bold" >{{rowData.FrID}}</span>
</el-popover>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
components
:
{
"my-Bill"
:
myBill
,
"my-RVB-Bill"
:
myrbvBill
,
"my-HB-Bill"
:
myhrBill
,
},
data
(){
return
{
widthSon
:
'700px'
,
colorSon
:
"#f5f5f5"
,
}
},
methods
:{
conSole
(
rowData
){
console
.
log
(
rowData
)
}
}
})
Vue
.
component
(
'table-Info'
,{
//关联信息
template
:
`
<div>
<template v-if="rowData.TCIDAndTCNUMList.length>0">
<p class="_TCIDAndTCNUMList" style="display: flex;">
<span>团号:</span>
<template v-if="rowData.TCIDAndTCNUMList&&rowData.TCIDAndTCNUMList.length>0">
<p><span v-for="(i,ix) in rowData.TCIDAndTCNUMList">{{i.TCNUM}}({{i.TCID}}) <span v-if="ix!=rowData.TCIDAndTCNUMList.length-1">,</br></span></span></p>
</template>
<template v-else>
<span>无</span>
</template>
</p>
<p v-if="rowData.OrderID>0 && rowData.OrderSource==8">单号:<span class="">{{rowData.OrderID}}</span></p>
</template>
<template v-else-if="rowData.OrderSource==8 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">暂无团期信息</p>
</template>
<template v-else-if="rowData.OrderSource==4 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList" style="text-decoration: underline;cursor: pointer;" @click="goTicketPage(rowData)">机票编号:{{rowData.SourceID}}</p>
<p style="margin-top: 5px;">线路:<span>{{rowData.LineName?rowData.LineName:'机票尚未选择线路'}}</span></p>
</template>
<template v-else-if="rowData.OrderSource==9 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">国内票务期数:{{rowData.Term}}</p>
</template>
<template v-else-if="rowData.OrderSource==10 && rowData.TCIDAndTCNUMList.length==0">
<p class="_TCIDAndTCNUMList">签证产品编号:{{rowData.SourceID}}</p>
</template>
<template v-else-if="rowData.OrderSource==0 || rowData.OrderSource==null">
<p class="_TCIDAndTCNUMList">{{ rowData.BranchName }}-{{rowData.DepartName}} </p>
</template>
<template v-else>
<p class="_TCIDAndTCNUMList">暂无</p>
</template>
</div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
goTicketPage
(
data
)
{
// 跳转机票
this
.
$router
.
push
({
name
:
'TicketManager'
,
query
:{
id
:
data
.
SourceID
,
blank
:
'y'
,
tab
:
'票务管理'
}
})
},
}
})
Vue
.
component
(
'table-CostType'
,{
//费用类型
template
:
`
<div>
<template v-for="(s,si) in rowData.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;">{{s}}</span></br>
</template>
</div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
}
})
Vue
.
component
(
'table-TradeWay'
,{
//交易方式
template
:
`
<div>
<template v-if="rowData.TradeWayList&&rowData.TradeWayList.length>0">
<div class="_TradeWayList" v-for="(tw,twIn) in rowData.TradeWayList" style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
<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">{{rowData.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>
</template>
<template v-else>
<div class="_pad5">
无
</div>
</template>
</div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
}
})
Vue
.
component
(
'table-Money'
,{
//金额
template
:
`
<span>
<p style="line-height:20px">{{rowData.Type==1?'应收':'应付'}}:<span>{{rowData.Money}}</span></p>
<p style="line-height:20px">{{rowData.Type==1?'实收':'实付'}}:<span>{{rowData.PayMoney}}</span></p>
</span>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
}
})
Vue
.
component
(
'table-ClientTypeName'
,{
//付款对象
template
:
`
<span>
<span style="color: gray">{{rowData.Type==2?rowData.ClientTypeName+':':'汇款人:'}}</span><span>{{rowData.RemitterName}}</span>
</span>
`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
}
})
Vue
.
component
(
'table-StatusStr'
,{
//单据状态
template
:
`
<i v-if="rowData.Status==1" class="iconfont icon-daiqueren" style="color: #4BCA81"></i>
<i v-if="rowData.Status==4" class="iconfont icon-yiquxiao" style="color: #4BCA81"></i>
<i v-if="rowData.Status==2" class="iconfont icon-yiqueren" style="color: #959595"></i>
<i v-if="rowData.Status==3" class="iconfont icon-shenhebohui" style="color: #E95252"></i>
<i v-if="rowData.Status==0" class="iconfont icon-zancun" style="color: #FF9C01"></i>
<el-popover
popper-class="detailsIT_Journal"
width="250"
trigger="click">
<div style="height: auto;max-height: 220px;background-color: #FFFFFF;">
<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> <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>
<span slot="reference" class="text_d _font_init" @click="Financial_post_GetFinancLogList(rowData.FrID)">{{rowData.StatusStr}}</span>
</el-popover>
`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
data
(){
return
{
GetFinancLogList
:[],
}
},
methods
:{
Financial_post_GetFinancLogList
(
id
){
// 获取单据日志
if
(
this
.
checkboxShow
)
return
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
;
}
},
err
=>
{})
}
}
})
export
default
{
data
(){
return
{
showID
:
false
,
active
:
1
,
userId
:
0
,
msg
:{
pageIndex
:
1
,
pageSize
:
5
,
FrID
:
''
,
sDate
:
''
,
eDate
:
''
,
RB_Branch_Id
:
''
,
RB_Depart_Id
:
''
,
sTradeDate
:
''
,
eTradeDate
:
''
,
Type
:
0
,
UpdateBy
:
''
,
Status
:
-
1
,
sDate
:
""
,
eDate
:
""
,
CostTypeIDslist
:[],
},
getCompanyMsg
:{
// 公司
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
getDepartmentMsg
:{
// 部门
RB_Group_Id
:
''
,
RB_Branch_Id
:
''
,
Status
:
0
,
ParentId
:
-
1
,
Tier
:
0
,
},
employeeMsg
:{
// 员工
GroupId
:
''
,
BranchId
:
-
1
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
DataList
:[],
GetFinancLogList
:[],
EmployeeList
:[],
CompanyList
:[],
approvalDate
:[],
transactionDate
:[],
GetCostTypeList
:[],
checkList
:[],
checkAllList
:[],
dateStart
:
''
,
dateEnd
:
''
,
dateArr
:
''
,
status
:
'1'
,
type
:
'1'
,
productionDate
:[],
loading
:
false
,
LogLoading
:
false
,
isCkedAll
:
false
,
currentPage
:
1
,
total
:
0
,
SumYingShou
:
0
,
SumShiShou
:
0
,
SumDaiShou
:
0
,
SumYingFu
:
0
,
SumShiFu
:
0
,
SumDaiFu
:
0
,
ChineseStr
:
''
,
mathNumber
:
''
,
DepartIDs
:
''
,
loading2
:
false
,
tableData
:
[],
columns
:
[
{
field
:
'BranchName'
,
title
:
'所属公司'
,
width
:
80
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-BranchName'
},
{
field
:
'FrID'
,
title
:
'单号'
,
width
:
80
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
//orderBy排序 asc 升序 desc降序
// filterMultiple: true, // 筛选项是否多选
// filters: [
// {}
// //筛选项 无筛选项 传[{}]
// ],
result
:[],
//筛选项默认值 单选传字符串'1' 多选数组 [1,2,2]
type
:
'select'
,
// 筛选项方式 select 下拉 check 单选、多选 text搜索 datetime时间
isFrozen
:
true
,
componentName
:
'table-BillRVB'
},
{
field
:
'custome-RecPay'
,
title
:
'单据类型'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-RecPay'
},
{
field
:
'custome-Info'
,
title
:
'关联信息'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
result
:
''
,
filterMultiple
:
false
,
type
:
'text'
,
componentName
:
'table-Info'
},
{
field
:
'dateRange'
,
title
:
'费用类型'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
result
:{},
filterMultiple
:
false
,
type
:
'datetime'
,
componentName
:
'table-CostType'
},
{
field
:
'TradeWay'
,
title
:
'交易方式'
,
width
:
210
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-TradeWay'
},
{
field
:
'Money'
,
title
:
'金额'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-Money'
},
{
field
:
'ClientTypeName'
,
title
:
'付款对象'
,
width
:
180
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
,
componentName
:
'table-ClientTypeName'
},
{
field
:
'EmName'
,
title
:
'制单人员'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
{
field
:
'StatusStr'
,
title
:
'当前状态'
,
width
:
120
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
isResize
:
true
},
{
field
:
'custome-operation'
,
title
:
'操作'
,
width
:
200
,
titleAlign
:
'left'
,
columnAlign
:
'left'
,
componentName
:
'table-operation'
,
isResize
:
true
}
],
pageSize
:
6
,
pageIndex
:
1
,
heightQueryBox
:
false
,
}
},
created
(){
},
components
:
{
"my-Bill"
:
myBill
,
"my-RVB-Bill"
:
myrbvBill
,
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
this
.
employeeMsg
.
GroupId
=
this
.
getDepartmentMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
this
.
DepartIDs
=
userInfo
.
RB_Department_Id
;
this
.
userId
=
userInfo
.
EmployeeId
;
this
.
msg
.
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
financeinfo_post_GetCostTypeList
();
this
.
getCompanyList
();
this
.
getEmployee
();
this
.
getPageList
();
},
methods
:{
getEmployee
()
{
//员工
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
customCompFunc
(
params
){
console
.
log
(
params
);
},
sortChange
(
param
){
console
.
log
(
param
)
//自己写实现
},
// 数据筛选
filterMethod
(
filters
){
console
.
log
(
filters
)
// let tableData = this.DataList;
// if (filters.FrID && filters.FrID.length>0){
// tableData = tableData.filter(item => filters.FrID.indexOf(item.FrID)!=-1)
// }
// if (filters.name!='' && filters.name!='-1'){
// if(!Array.isArray(filters.name))
// tableData = tableData.filter(item => filters.name==item.id);
// else
// tableData = tableData.filter(item => filters.name==item.id);
// }
// if (filters.hobby!=''){
// tableData = tableData.filter(item => item.hobby.indexOf(filters.hobby)!=-1);
// }
// if(filters.dateRange.beginDate){
// tableData = tableData.filter(item => new Date(filters.dateRange.beginDate).getTime()
<=
new
Date
(
item
.
dateRange
).
getTime
());
// }
// if(filters.dateRange.endDate){
// tableData = tableData.filter(item => new Date(filters.dateRange.endDate).getTime()>=new Date(item.dateRange).getTime());
// }
// this.pageIndex = 1
// this.total=tableData.length
// this.tableData = tableData.filter((item,index)=>index==0);
},
handleCurrentChanges
(
val
){
this
.
pageIndex
=
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
getPageList
(){
// 获取列表数据
if
(
!
this
.
msg
.
ClientID
)
this
.
msg
.
ClientID
=
0
;
if
(
!
this
.
msg
.
ClientType
)
this
.
msg
.
ClientType
=
0
;
if
(
!
this
.
msg
.
CostTypeID
)
this
.
msg
.
CostTypeID
=
0
;
if
(
this
.
msg
.
RB_Branch_Id
==
'undefined'
)
this
.
msg
.
RB_Branch_Id
=-
1
;
if
(
!
this
.
msg
.
RB_Depart_Id
)
this
.
msg
.
RB_Depart_Id
=
0
;
if
(
!
this
.
msg
.
UpdateBy
)
this
.
msg
.
UpdateBy
=
0
;
if
(
!
this
.
msg
.
TCID
)
this
.
msg
.
TCID
=
0
;
if
(
!
this
.
msg
.
OrderID
)
this
.
msg
.
OrderID
=
0
;
if
(
!
this
.
msg
.
Status
)
this
.
msg
.
Status
=
0
;
if
(
!
this
.
msg
.
FrID
)
this
.
msg
.
FrID
=
0
;
if
(
!
this
.
msg
.
Conditon
)
this
.
msg
.
Conditon
=
1
;
if
(
this
.
msg
.
CostTypeIDslist
.
length
)
{
this
.
msg
.
CostTypeIDs
=
''
this
.
msg
.
CostTypeIDslist
.
forEach
(
x
=>
{
this
.
msg
.
CostTypeIDs
+=
x
+
','
})
console
.
log
(
this
.
msg
.
CostTypeIDs
)
}
this
.
loading
=
true
;
this
.
apipost
(
'Financial_post_GetExChangeDiffPageList'
,
this
.
msg
,
res
=>
{
// console.log("res",res);
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
.
list
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
SumYingShou
=
res
.
data
.
data
.
pageData
.
SumYingShou
;
this
.
SumShiShou
=
res
.
data
.
data
.
pageData
.
SumShiShou
;
this
.
SumDaiShou
=
res
.
data
.
data
.
pageData
.
SumDaiShou
;
this
.
SumYingFu
=
res
.
data
.
data
.
pageData
.
SumYingFu
;
this
.
SumShiFu
=
res
.
data
.
data
.
pageData
.
SumShiFu
;
this
.
SumDaiFu
=
res
.
data
.
data
.
pageData
.
SumDaiFu
;
if
(
this
.
total
==
0
){
this
.
DataList
=
[];
}
else
{
data
.
forEach
(
x
=>
{
// this.columns[0].filters.push({label:x.FrID,value:x.FrID})
x
.
modelShow
=
false
;
})
this
.
DataList
=
data
;
}
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
this
.
msg
.
TCID
=
this
.
msg
.
TCID
=
0
?
this
.
msg
.
TCID
:
''
;
// this.queryInfoInit();
this
.
currentPage
=
parseInt
(
this
.
msg
.
pageIndex
);
},
err
=>
{})
},
method5
:
function
()
{
if
(
!
this
.
msg
.
ClientID
)
this
.
msg
.
ClientID
=
0
;
if
(
!
this
.
msg
.
ClientType
)
this
.
msg
.
ClientType
=
0
;
if
(
!
this
.
msg
.
CostTypeID
)
this
.
msg
.
CostTypeID
=
0
;
if
(
!
this
.
msg
.
RB_Branch_Id
)
this
.
msg
.
RB_Branch_Id
=-
1
;
if
(
!
this
.
msg
.
RB_Depart_Id
)
this
.
msg
.
RB_Depart_Id
=
0
;
if
(
!
this
.
msg
.
UpdateBy
)
this
.
msg
.
UpdateBy
=
0
;
if
(
!
this
.
msg
.
TCID
)
this
.
msg
.
TCID
=
0
;
if
(
!
this
.
msg
.
OrderID
)
this
.
msg
.
OrderID
=
0
;
if
(
!
this
.
msg
.
Status
)
this
.
msg
.
Status
=
0
;
if
(
!
this
.
msg
.
FrID
)
this
.
msg
.
FrID
=
0
;
if
(
!
this
.
msg
.
Conditon
)
this
.
msg
.
Conditon
=
1
;
this
.
GetLocalFile
(
"Financial_post_DownInOrOut"
,
this
.
msg
,
"收支款.xls"
);
}
,
Financial_post_GetFinancLogList
(
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
;
}
},
err
=>
{})
},
mathMoney
(
n
){
// 数字转中文大写 1
this
.
ChineseStr
=
this
.
$commonUtils
.
changeMoneyToChinese
(
n
)
},
getEmployee
()
{
//员工
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getCompanyList
(){
//获取公司列表
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
CompanyList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
financeinfo_post_GetCostTypeList
(){
// 费用类型
this
.
apipost
(
'financeinfo_post_GetCostTypeList'
,{
Name
:
''
,
type
:
0
,
DepartIDs
:
this
.
DepartIDs
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
GetCostTypeList
=
res
.
data
.
data
;
}
else
{
}
},
err
=>
{})
},
timeAdd
(
t
){
// 日期格式
if
(
t
==
1
){
//制单日期
if
(
!
this
.
productionDate
){
this
.
msg
.
sDate
=
''
;
this
.
msg
.
eDate
=
''
;
return
}
this
.
msg
.
sDate
=
this
.
productionDate
[
0
];
this
.
msg
.
eDate
=
this
.
productionDate
[
1
];
}
if
(
t
==
2
){
//审批日期
if
(
!
this
.
approvalDate
){
this
.
dateStart
=
''
;
this
.
dateEnd
=
''
;
return
}
this
.
dateStart
=
this
.
approvalDate
[
0
];
this
.
dateEnd
=
this
.
approvalDate
[
1
];
}
if
(
t
==
3
){
//交易日期
if
(
!
this
.
transactionDate
){
this
.
msg
.
sTradeDate
=
''
;
this
.
msg
.
eTradeDate
=
''
;
return
}
this
.
msg
.
sTradeDate
=
this
.
transactionDate
[
0
];
this
.
msg
.
eTradeDate
=
this
.
transactionDate
[
1
];
}
},
queryInfoInit
(){
// 初始化msg
let
msg
=
{
pageIndex
:
this
.
msg
.
pageIndex
,
pageSize
:
6
,
FrID
:
this
.
msg
.
FrID
==
0
?
''
:
this
.
msg
.
FrID
,
sDate
:
this
.
msg
.
sDate
,
eDate
:
this
.
msg
.
sDate
,
Status
:
this
.
msg
.
Status
,
RB_Branch_Id
:
this
.
msg
.
RB_Branch_Id
,
RB_Depart_Id
:
this
.
msg
.
RB_Depart_Id
,
UpdateBy
:
this
.
msg
.
UpdateBy
,
sTradeDate
:
this
.
msg
.
sTradeDate
,
eTradeDate
:
this
.
msg
.
eTradeDate
,
ClientType
:
this
.
msg
.
ClientType
,
RemitterName
:
this
.
msg
.
RemitterName
,
ClientID
:
this
.
msg
.
ClientID
,
eMoney
:
this
.
msg
.
eMoney
,
CostTypeID
:
this
.
msg
.
CostTypeID
,
CostTypeIDs
:
this
.
msg
.
CostTypeIDs
,
CostTypeIDslist
:
this
.
msg
.
CostTypeIDslist
,
Conditon
:
this
.
msg
.
Conditon
,
TCID
:
this
.
msg
.
TCID
,
Type
:
this
.
msg
.
Type
,
QEndDate
:
this
.
msg
.
QEndDate
,
QStartDate
:
this
.
msg
.
QStartDate
,
OrderID
:
this
.
msg
.
OrderID
==
0
?
''
:
this
.
msg
.
OrderID
,
EmployeeId
:
this
.
msg
.
EmployeeId
,
}
this
.
msg
=
msg
;
},
handleCurrentChange
(
val
)
{
//翻页
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
resetPageIndex
(){
// 重置页码
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
goUrl
(
path
,
id
,
Conditon
,
pageIndex
){
this
.
$router
.
push
({
name
:
path
,
query
:{
"id"
:
id
,
"Conditon"
:
Conditon
,
"pageIndex"
:
pageIndex
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
},
goEit
(
path
,
type
,
id
,
edit
,
Conditon
,
pageIndex
){
this
.
$router
.
push
({
name
:
path
,
query
:{
"type"
:
type
,
"FrID"
:
id
,
"edit"
:
edit
,
"Conditon"
:
Conditon
,
"pageIndex"
:
pageIndex
}
})
}
}
}
</
script
>
src/components/FinancialModule/FinancialSubmodule/NewBillModule.vue
View file @
3bdc1a0e
...
...
@@ -214,6 +214,7 @@
<th
width=
"110"
>
{{
$t
(
'fnc.jine'
)
}}
</th>
<th
width=
"90"
>
{{
$t
(
'hotel.hotel_Currency'
)
}}
</th>
<th
width=
"85"
>
{{
$t
(
'hotel.hotel_CurrentRate'
)
}}
</th>
<th>
汇兑损益
</th>
<th>
{{
$t
(
'fnc.bwbjine'
)
}}
</th>
</tr>
<tr>
...
...
@@ -224,6 +225,10 @@
<td>
{{
item
.
OriginalMoney
}}
</td>
<td>
{{
item
.
CurrencyName
}}
</td>
<td>
{{
item
.
Rate
}}
</td>
<td>
<span
v-if=
"item.IsExChange==0"
>
否
</span>
<span
v-if=
"item.IsExChange==1"
>
是
</span>
</td>
<td>
{{
item
.
Money
}}
</td>
</tr>
</table>
...
...
@@ -266,6 +271,7 @@
<th
width=
"110"
>
{{$t('fnc.jine')}}
</th>
<th
width=
"90"
>
{{$t('hotel.hotel_Currency')}}
</th>
<th
width=
"85"
>
{{$t('hotel.hotel_CurrentRate')}}
</th>
<th>
汇兑损益
</th>
<th>
{{$t('fnc.bwbjine')}}
</th>
</tr>
<tr>
...
...
@@ -276,6 +282,10 @@
<td>
{{item.OriginalMoney}}
</td>
<td>
{{item.CurrencyName}}
</td>
<td>
{{item.Rate}}
</td>
<td>
<span
v-if=
"item.IsExChange==0"
>
否
</span>
<span
v-if=
"item.IsExChange==1"
>
是
</span>
</td>
<td>
{{item.Money}}
</td>
</tr>
</table>
...
...
src/components/FinancialModule/addFinancialDocuments.vue
View file @
3bdc1a0e
...
...
@@ -862,6 +862,7 @@ export default {
e
.
target
.
value
=
(
e
.
target
.
value
.
match
(
/^
\d
*
(\.?\d{0,1})
/g
)[
0
])
||
null
},
AddFinancial
(
z
){
//保存
if
(
z
){
this
.
msg
.
Status
=
0
;
}
else
{
...
...
@@ -904,7 +905,6 @@ export default {
if
(
this
.
orderObj
!=
null
&&
this
.
orderObj
.
OrderSource
===
10
){
// console.log("getGuestInfo",this.$store.getters.getGuestInfo)
let
guestInfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"saveGuestInfo"
));
console
.
log
(
"getGuestInfo"
,
guestInfo
)
// return;
this
.
msg
.
GuestInfoList
=
[];
if
(
guestInfo
!=
null
&&
guestInfo
.
length
>
0
){
...
...
@@ -913,7 +913,6 @@ export default {
})
}
}
console
.
log
(
"1234"
,
this
.
msg
);
this
.
loading
=
true
;
this
.
msg
.
Description
=
this
.
Description
;
this
.
apipost
(
'Financial_post_Set'
,
this
.
msg
,
res
=>
{
...
...
@@ -1306,6 +1305,9 @@ export default {
},
err
=>
{})
},
admin_get_DepartmentGetList
(
Bid
,
T
){
if
(
Bid
==
0
){
this
.
chosenPeople
=
[];
}
// this.msg.RB_Depart_Id = '';
// this.departmentMsg.RB_Branch_Id = Bid ? Bid : -1;
this
.
departmentMsg
.
RB_Branch_Id
=
-
1
;
...
...
@@ -1369,7 +1371,7 @@ export default {
this
.
companyList
=
data
;
}
}
console
.
log
(
'this.companyList'
,
this
.
companyList
)
},
err
=>
{})
}
...
...
@@ -1458,7 +1460,8 @@ export default {
this
.
Description
=
gj
+
' '
+
gn
+
' '
+
gjzd
+
' '
+
sj
+
' '
+
sc
}
}
},
created
(){
},
created
(){
var
that
=
this
;
this
.
orderObj
=
this
.
$route
.
query
.
orderObj
?
JSON
.
parse
(
this
.
$route
.
query
.
orderObj
):
null
;
this
.
isFrompassenger
=
this
.
orderObj
.
isFromPassenger
;
...
...
@@ -1473,7 +1476,8 @@ export default {
}
}
},
mounted
(){
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
department
=
userInfo
.
DepartName
;
this
.
EmployeeId
=
userInfo
.
EmployeeId
;
...
...
src/components/Hotel/HotelProductManage2.vue
View file @
3bdc1a0e
...
...
@@ -1006,7 +1006,8 @@
// 获取供应商
initSupplier
()
{
this
.
apipost
(
"supplier_post_GetAllList"
,
{
Type
:
1
Type
:
1
,
Country
:
651
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
SupplierList
=
res
.
data
.
data
;
...
...
src/components/Hotel/HotelQueryList.vue
View file @
3bdc1a0e
...
...
@@ -299,11 +299,13 @@
pageIndex
:
1
,
pageSize
:
5
,
currentPage
:
1
,
total
:
0
total
:
0
,
OpType
:
0
},
postMsg
:
{
Id
:
0
,
TipContent
:
''
TipContent
:
''
,
OpType
:
0
,
},
//默认显示弹窗信息
showHQinfo
:
true
,
...
...
src/components/Hotel/roomReservations.vue
View file @
3bdc1a0e
...
...
@@ -240,14 +240,13 @@
{{item.Remarks}}
</div>
</td>
</tr>
<tr>
<td
:colspan=
"item.colNum"
style=
"text-align: left!important;padding-left: 20px;"
>
<div
class=
"link"
>
<p
@
click=
"goUrlT('productQuery',item.TCNUMS,'产品查询')"
>
{{item.Titles}}
</p>
<div
v-show=
"outItem.StaticsReportList[0].DMCRemark!=''"
class=
"colorE95252"
>
地接备注:{{outItem.StaticsReportList[0].DMCRemark
}}
</div>
<div
v-show=
"outItem.StaticsReportList[0].DMCRemark!=''"
class=
"colorE95252"
>
地接备注:{{outItem.StaticsReportList[0].DMCRemark}}
</div>
<div
v-show=
"item.CommonReport.Complain_Extend.Id>0"
class=
"colorE95252"
>
供应商投诉:{{item.CommonReport.Complain_Extend.ComplainContent
}}
</div>
</div>
</td>
</tr>
...
...
src/components/Supplier/AddSupplierComplaints.vue
View file @
3bdc1a0e
...
...
@@ -95,11 +95,13 @@
.Supplier_AC_content
.w757
{
width
:
757px
!important
;
}
.Supplier_TouSu
.el-textarea__inner
{
height
:
300px
;
}
</
style
>
<
template
>
<div
class=
"Supplier_AC_content"
>
<div
class=
"Supplier_AC_content
Supplier_TouSu
"
>
<div
class=
"Supplier_AC_inputGroup"
>
<el-input
placeholder=
"请输入团号/编号"
class=
"w757"
v-model=
"QMsg.TCID"
>
<el-button
slot=
"append"
@
click=
"CheckTCID()"
>
验证
</el-button>
...
...
@@ -121,21 +123,21 @@
</ul>
</div>
<p>
投诉情况
</p>
<div
class=
"Supplier_AC_complaintList"
>
<
!--
<
div
class=
"Supplier_AC_complaintList"
>
<div
class=
"t"
>
主题内容:
</div>
<ul
style=
"width:90%;"
>
<li
v-for=
"subItem in themeList"
@
click=
"getTheme(subItem)"
:class=
"
{'checked':subItem.isCheck}">
{{
subItem
.
Name
}}
</li>
</ul>
</div>
</div>
-->
<el-input
type=
"textarea"
style=
"margin-top:10px;"
:rows=
"5"
v-model=
"EditMsg.ComplainContent"
placeholder=
"具体问题描述
,以及投诉人的姓名、联系方式
"
></el-input>
placeholder=
"具体问题描述"
></el-input>
</div>
<p
style=
"text-align: center; margin:
10
px 0 15px 0;"
>
<p
style=
"text-align: center; margin:
35
px 0 15px 0;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"SaveData()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"取消"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"取消"
@
click=
"goUrl('roomQuery2')"
/>
</p>
</div>
</
template
>
...
...
@@ -196,10 +198,10 @@
},
//保存数据
SaveData
(
status
)
{
if
(
this
.
themeCked
.
length
===
0
)
{
this
.
Error
(
"请选择主题内容"
);
return
false
;
}
//
if (this.themeCked.length === 0) {
//
this.Error("请选择主题内容");
//
return false;
//
}
//数据组装
this
.
EditMsg
.
ComplainContentrs
=
""
;
let
contentrArr
=
[];
...
...
@@ -260,6 +262,12 @@
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{});
},
goUrl
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{}
});
}
},
created
()
{
...
...
src/components/Supplier/HotelInfo.vue
View file @
3bdc1a0e
...
...
@@ -259,7 +259,7 @@
<div
class=
"btn-list"
style=
"width: 350px;position: fixed;right: 20px;top:50px"
>
<span
class=
"common-lefttit"
></span>
<button
class=
"save-Btn"
@
click=
"submitForm('addMsg')"
>
{{$t('pub.saveBtn')}}
</button>
<button
class=
"cancel-Btn"
@
click=
"goUrl('HotelManagement')"
>
{{$t('pub.cancelBtn')}}
</button>
<button
class=
"cancel-Btn"
@
click=
"goUrl('HotelManagement
2
')"
>
{{$t('pub.cancelBtn')}}
</button>
</div>
</div>
...
...
src/components/Supplier/HotelManagement.vue
View file @
3bdc1a0e
...
...
@@ -221,7 +221,7 @@
<
template
>
<div
class=
"flexOne hotelmanagement"
>
<div
class=
"query-box"
>
<ul>
<ul
style=
"position:relative;"
>
<li>
<span
class=
"hotel_name"
>
<em>
{{
$t
(
'hotel.hotel_name'
)
}}
</em>
...
...
@@ -274,7 +274,7 @@
</el-select>
</span>
</li>
<li>
<li
style=
"position:absolute;top:0;right:10px;"
>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"resetPageIndex(),selectResource()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"button"
@
click=
"goSubInfo('HotelInfo2')"
>
{{
$t
(
'pub.addBtn'
)
}}
</button>
</li>
...
...
src/components/Supplier/HotelProductManage.vue
View file @
3bdc1a0e
<
template
>
<div
class=
"hotelProductManage2"
>
<div
class=
"hotelProductManage2_btnList"
>
<div
class=
"btn_check"
@
click=
"getMonths()"
>
查询
</div>
<div
class=
"btn_check"
@
click=
"goEdit('1')"
>
批量编辑
</div>
</div>
<div
class=
"hotelProductManage2"
style=
"padding:20px;"
>
<div
class=
"hotelProductManage2_condition"
>
<div>
<em>
起始月
</em>
<el-date-picker
v-model=
"condition.month"
type=
"month"
value-format=
"yyyy-MM"
:clearable=
"false"
placeholder=
"选择月"
></el-date-picker>
</div>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getMonths()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"批量编辑"
style=
"margin-right:10px;"
@
click=
"goEdit('1')"
/>
</div>
<div
class=
"hotelProductManage2_tableBox"
>
<table
class=
"hotelProductManage2_table"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
...
...
@@ -29,8 +27,8 @@
</tbody>
</table>
</div>
<div
class=
"hotelProductManage2_tableBox
"
>
<span
style=
"color:#000000;background-color: #ff3737;padding:2px 4px;border-radius:5px"
>
红日
</span>
<div
style=
"margin-bottom:20px;
"
>
<span
style=
"color:#000000;background-color: #ff3737;padding:2px 4px;border-radius:5px
;color:#fff;
"
>
红日
</span>
<span
style=
"color:#000000;background-color: #ff99cc;padding:2px 4px;border-radius:5px"
>
旺季
</span>
<span
style=
"color:#000000;background-color: #bcd6ee;padding:2px 4px;border-radius:5px"
>
平季
</span>
<span
style=
"color:#000000;background-color: #DDDDDD;padding:2px 4px;border-radius:5px"
>
淡季
</span>
...
...
@@ -253,7 +251,7 @@
<el-form-item
label=
"供应商"
prop=
"Supplier"
>
<el-select
v-model=
"msg2.Supplier"
placeholder=
"请选择"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
v-if=
"userInfo.SupplierId==item.ID"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -268,7 +266,7 @@
</el-form>
</div>
<!-- 弹出编辑 -->
<div
class=
"hotelProductManage2_edit"
v-show=
"editShow"
>
<div
class=
"hotelProductManage2_edit"
v-show=
"editShow"
style=
"left:0;"
>
<div
class=
"hotelProductManage2_edit_header"
>
<div>
报价管理
</div>
<div>
...
...
@@ -477,7 +475,7 @@
<el-form-item
label=
"供应商"
prop=
"Supplier"
>
<el-select
v-model=
"msg.Supplier"
placeholder=
"请选择"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
v-if=
"userInfo.SupplierId==item.ID"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -578,6 +576,7 @@
data
:
{}
},
editShow
:
false
,
userInfo
:{},
msg
:
{
Hotel
:
'0'
,
Supplier
:
30
,
...
...
@@ -609,6 +608,7 @@
TaxesPrice
:
0
,
//税金
BeforeDay
:
0
,
//提前还房天数
FreeRoomNum
:
0
,
//免间数
OpType
:
1
,
//供应商操作
},
msg2
:
{
Hotel
:
'0'
,
...
...
@@ -641,6 +641,7 @@
TaxesPrice
:
0
,
//税金
BeforeDay
:
0
,
//提前还房天数
FreeRoomNum
:
0
,
//免间数
OpType
:
1
,
//供应商操作
},
rules
:
{
InventoryType
:
{
...
...
@@ -1006,7 +1007,7 @@
// 获取供应商
initSupplier
()
{
this
.
ApiPost2
(
"supplier_post_GetAllList"
,
{
Type
:
1
Type
:
1
,
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
SupplierList
=
res
.
data
.
data
;
...
...
@@ -1132,6 +1133,7 @@
}
},
created
:
function
()
{
this
.
userInfo
=
this
.
getLocalStorageSupplier
();
this
.
hotelId
=
this
.
$route
.
query
.
id
===
undefined
?
'0'
:
this
.
$route
.
query
.
id
;
this
.
msg
.
Hotel
=
this
.
$route
.
query
.
id
===
undefined
?
'0'
:
this
.
$route
.
query
.
id
;
this
.
msg2
.
Hotel
=
this
.
$route
.
query
.
id
===
undefined
?
'0'
:
this
.
$route
.
query
.
id
;
...
...
@@ -1150,10 +1152,6 @@
</
script
>
<
style
>
.hotelProductManage2
{
padding
:
20px
0
;
}
.hotelproductCkbox
{
width
:
10%
;
height
:
30px
;
...
...
src/components/Supplier/HotelQueryList.vue
View file @
3bdc1a0e
<
template
>
<div>
<div
class=
"hotelQury2"
>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<ul
style=
"position:relative;"
>
<li>
<span>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<em
class=
"HQ_em"
>
{{
$t
(
'system.quety_area'
)
}}
</em>
<el-select
v-model=
"msg.Province"
filterable
@
change=
"getProvinceList(msg.Province,2)"
:placeholder=
"$t('hotel.hotel_province')"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
...
...
@@ -17,7 +17,7 @@
</span>
</li>
<li>
<span><em>
{{
$t
(
'admin.admin_company'
)
}}
</em>
<span><em
class=
"HQ_em"
>
{{
$t
(
'admin.admin_company'
)
}}
</em>
<el-select
filterable
v-model=
'msg.OutBranchId'
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'-1'
></el-option>
<el-option
v-for=
'item in companyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
"item.Id"
>
...
...
@@ -27,8 +27,8 @@
</li>
<li>
<span>
<em>
星级
</em>
<el-select
v-model=
"msg.Star"
:placeholder=
"$t('pub.pleaseSel')"
>
<em
class=
"HQ_em"
>
星级
</em>
<el-select
v-model=
"msg.Star"
class=
"w150"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
label=
"3星或商务"
:value=
'3'
></el-option>
<el-option
label=
"4星"
:value=
'4'
></el-option>
...
...
@@ -38,7 +38,7 @@
</li>
<li>
<span>
<em>
价格区间
</em>
<em
class=
"HQ_em"
>
价格区间
</em>
<el-select
v-model=
"msg.PriceLevel"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
label=
"5000以下"
:value=
'1'
></el-option>
...
...
@@ -51,7 +51,7 @@
</el-select>
</span>
</li>
<li><span><em>
日期
</em>
<li><span><em
class=
"HQ_em"
>
日期
</em>
<el-date-picker
v-model=
'msg.StartDate'
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"beforeCheck"
>
</el-date-picker>
<el-date-picker
v-model=
'msg.EndDate'
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"afterCheck"
>
...
...
@@ -60,25 +60,25 @@
</li>
<li>
<span>
<em>
酒店
</em>
<em
class=
"HQ_em"
>
酒店
</em>
<el-select
v-model=
"msg.HotelChooseArray"
:placeholder=
"$t('pub.pleaseSel')"
class=
"multiple_input w300"
filterable
multiple
:multiple-limit=
"3"
>
<el-option
v-for=
"item in HotelList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"温馨提示"
<li
style=
"position:absolute;top:0;right:10px;"
>
<input
type=
"button"
class=
"normalBtn"
style=
"padding:0 12px;margin-left:0"
value=
"温馨提示"
@
click=
"showNotice=true,resetPageIndex(),GetHotelTipList()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"下载"
@
click=
"DownLoadHotelQuery()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
style=
"padding:0 12px;margin-left:5px"
@
click=
"getList()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"下载"
style=
"padding:0 12px;margin-left:5px"
@
click=
"DownLoadHotelQuery()"
/>
</li>
</ul>
</div>
<div
style=
"width: 100%;min-height:200px; overflow-x: auto;padding:0 20px; "
class=
"HotelQueryList"
v-loading=
"loading"
>
<div
class=
"hotelProductManage2_tableBox"
style=
"margin-bottom:20px;"
>
<div
style=
"margin-bottom:20px;"
>
<span
style=
"color:#fff;background-color: #ff3737;padding:2px 4px;border-radius:5px"
>
红日
</span>
<span
style=
"color:#000000;background-color: #ff99cc;padding:2px 4px;border-radius:5px"
>
旺季
</span>
<span
style=
"color:#000000;background-color: #bcd6ee;padding:2px 4px;border-radius:5px"
>
平季
</span>
...
...
@@ -86,12 +86,13 @@
<span
style=
"color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px"
>
特别价
</span>
</div>
<template
v-if=
"isShow"
>
<el-table
v-if=
"dataList.length>0"
:data=
"dataList"
style=
"width:100%"
border
v-loading=
'loading'
height=
"500
"
>
<el-table
v-if=
"dataList.length>0"
:data=
"dataList"
style=
"width:100%"
border
v-loading=
'loading'
:height=
"tableHeight
"
>
<el-table-column
fixed
label=
"酒店名称"
min-width=
"180"
>
<template
slot-scope=
"scope"
>
<div
style=
"text-decoration: underline;cursor:pointer"
>
{{
scope
.
row
.
HotelName
}}
</div>
<div>
{{
scope
.
row
.
TotalInventory
}}
</div>
<input
type=
"button"
class=
"normalBtn"
style=
"margin-left:0;height:22px;padding:0 10px;"
@
click=
"getLogsList(scope.row.HotelId)"
value=
"操作日志"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"价格&库存"
fixed
min-width=
"120"
>
...
...
@@ -136,7 +137,7 @@
</div>
<div
class=
"combottomDiv HqCom_bottom"
v-if=
"showNotice"
>
<div
class=
"combottomDiv HqCom_bottom"
v-if=
"showNotice"
style=
"left:0;"
>
<el-form
label-width=
"80px"
>
<el-row>
<el-col
:span=
"20"
>
...
...
@@ -232,6 +233,39 @@
<button
class=
"hollowFixedBtn"
@
click=
"showHQinfo = false"
>
关闭
</button>
</div>
</el-dialog>
<el-dialog
custom-class=
"w800"
title=
"操作日志"
:visible
.
sync=
"showLogInfo"
center
>
<el-form>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"HouseTypeList Hq_addTable logsTable"
style=
"width:100%;"
>
<tr>
<th
width=
"50"
>
操作人
</th>
<th>
日期
</th>
<th>
操作时间
</th>
<th
width=
"70"
>
内容
</th>
</tr>
<
template
v-if=
"LogsList.length>0"
>
<tr
v-for=
"(item,index) in LogsList"
>
<td
width=
"50"
>
{{
item
.
CreateByName
}}
</td>
<td
width=
"50"
>
{{
item
.
UseTimeStr
}}
</td>
<td
width=
"80"
>
{{
item
.
CreateTimeStr
}}
</td>
<td>
{{
item
.
Remarks
}}
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"5"
>
暂无数据...
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange2"
:current-page
.
sync=
"queryLogMsg.currentPage"
:page-size=
"queryLogMsg.pageSize"
layout=
"total,prev, pager, next, jumper"
:total=
"queryLogMsg.total"
>
</el-pagination>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"showLogInfo = false"
>
关闭
</button>
</div>
</el-dialog>
</div>
</template>
<
script
>
...
...
@@ -253,6 +287,7 @@
//价格等级
PriceLevel
:
0
,
},
tableHeight
:
0
,
beforeCheck
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
StartDate
)
{
...
...
@@ -287,14 +322,25 @@
pageIndex
:
1
,
pageSize
:
5
,
currentPage
:
1
,
total
:
0
total
:
0
,
OpType
:
1
,
},
postMsg
:
{
Id
:
0
,
TipContent
:
''
TipContent
:
''
,
OpType
:
1
},
queryLogMsg
:{
pageIndex
:
1
,
pageSize
:
6
,
currentPage
:
1
,
total
:
0
,
HotelId
:
0
},
//默认显示弹窗信息
showHQinfo
:
true
,
showLogInfo
:
false
,
LogsList
:[],
//酒店温馨提示列表
HotelTipList
:
[],
HotelList
:
[],
...
...
@@ -362,6 +408,7 @@
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
;
console
.
log
(
this
.
dataList
,
'datalist'
);
this
.
isShow
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
@@ -439,6 +486,10 @@
this
.
queryMsg
.
pageIndex
=
val
;
this
.
GetHotelTipList
();
},
handleCurrentChange2
(
val
){
this
.
queryLogMsg
.
pageIndex
=
val
;
this
.
getLogsList
(
this
.
queryLogMsg
.
HotelId
);
},
resetPageIndex
()
{
this
.
queryMsg
.
pageIndex
=
1
;
this
.
queryMsg
.
currentPage
=
1
;
...
...
@@ -557,6 +608,29 @@
this
.
loading
=
false
;
});
},
com_onresize
(){
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var
contentsHeight
=
document
.
body
.
clientHeight
;
var
h
=
contentsHeight
-
50
-
134
-
50
;
if
(
h
<
110
){
return
;
}
//设置table的行高
this
.
tableHeight
=
h
;
},
//获取日志
getLogsList
(
HotelId
){
this
.
showLogInfo
=
true
;
this
.
queryLogMsg
.
HotelId
=
HotelId
;
this
.
ApiPost2
(
'DmcInfoChangeLog_get_GetHotelLogList'
,
this
.
queryLogMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LogsList
=
res
.
data
.
data
.
pageData
;
console
.
log
(
this
.
LogsList
,
'loglist'
);
this
.
queryLogMsg
.
total
=
res
.
data
.
data
.
count
;
}
},
err
=>
{})
}
},
mounted
()
{
this
.
getBranchList
();
...
...
@@ -564,6 +638,10 @@
this
.
GetHotelList
();
this
.
getList
();
this
.
GetHotelTipList
();
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
this
.
com_onresize
();
}
},
};
...
...
@@ -695,5 +773,10 @@
.HotelQueryList
.el-table
td
{
padding
:
0
;
}
.hotelQury2
.w150
.el-input
{
width
:
150px
;
}
.HQ_em
{
min-width
:
75px
!important
;
}
</
style
>
src/components/Supplier/HotelSalesBoard.vue
View file @
3bdc1a0e
...
...
@@ -213,10 +213,10 @@
<
template
>
<div
class=
"flexOne hotelSalesBoard"
style=
"padding:0 20px;"
>
<div
class=
"query-box Plan_Query"
>
<ul>
<ul
style=
"position:relative;"
>
<li>
<span>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<em
style=
"min-width:60px;"
>
{{
$t
(
'system.quety_area'
)
}}
</em>
<el-select
v-model=
"msg.Province"
filterable
@
change=
"getProvinceList(msg.Province,2)"
:placeholder=
"$t('hotel.hotel_province')"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
...
...
@@ -229,7 +229,7 @@
</span>
</li>
<li>
<span><em>
{{
$t
(
'admin.admin_company'
)
}}
</em>
<span><em
style=
"min-width:60px;"
>
{{
$t
(
'admin.admin_company'
)
}}
</em>
<el-select
filterable
v-model=
'msg.OutBranchId'
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'-1'
></el-option>
<el-option
v-for=
'item in companyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
"item.Id"
>
...
...
@@ -239,7 +239,7 @@
</li>
<li>
<span>
<em>
酒店
</em>
<em
style=
"min-width:60px;"
>
酒店
</em>
<el-select
v-model=
"msg.HotelId"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"defaultSelectValue"
></el-option>
<el-option
v-for=
"item in HotelList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
...
...
@@ -256,7 +256,7 @@
</el-select>
</span>
</li>
<li
style=
"
margin-right:50px
;"
>
<li
style=
"
position:absolute;right:10px;top:0
;"
>
<button
class=
"normalBtn"
type=
"button"
@
click=
"GetHoltelInventory()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<input
type=
"button"
class=
"normalBtn"
value=
"下载"
@
click=
"DownLoadHotelSalesBoard()"
/>
</li>
...
...
@@ -307,9 +307,10 @@
<p
style=
"word-break:breakall;"
:class=
"stockColor(subItem.InventoryType)"
v-for=
"subItem in dayItem.dayValue"
>
{{
subItem
.
HotelName
}}
(总:
{{
subItem
.
Inventory
}}
<!--@click="goUrl('roomReservations',subItem,dayItem.DayStr,'订房管理')" text-decoration:underline;-->
<a
title=
"点击跳转到订房管理"
v-if=
"subItem.UseInventory>0"
@
click=
"goUrl('roomReservations',subItem,dayItem.DayStr,'订房管理')"
style=
"cursor:pointer;
text-decoration:underline;
"
style=
"cursor:pointer;"
:class=
"subItem.InventoryType==4 ? 'stock1' : 'stock2'"
>
已用:
{{
subItem
.
UseInventory
}}
</a>
<span
v-else
>
已用:
{{
subItem
.
UseInventory
}}
</span>
)
...
...
src/components/Supplier/HotelTotalStock.vue
View file @
3bdc1a0e
...
...
@@ -332,10 +332,10 @@
<
template
>
<div
class=
"flexOne hotelTS"
>
<div
class=
"query-box"
>
<ul>
<ul
style=
"position:relative"
>
<li>
<span>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<em
style=
"min-width:60px;"
>
{{
$t
(
'system.quety_area'
)
}}
</em>
<el-select
v-model=
"msg.Province"
filterable
@
change=
"getProvinceList(msg.Province,2)"
:placeholder=
"$t('hotel.hotel_province')"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
...
...
@@ -349,7 +349,7 @@
</li>
<li>
<span>
<em>
酒店
</em>
<em
style=
"min-width:60px;"
>
酒店
</em>
<el-select
v-model=
"msg.HotelId"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"DefaultSelectValue"
></el-option>
<el-option
v-for=
"item in HotelList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
...
...
@@ -358,7 +358,7 @@
</li>
<li
style=
"display:none;"
>
<span>
<em>
供应商
</em>
<em
style=
"min-width:60px;"
>
供应商
</em>
<el-select
v-model=
"msg.Supplier"
placeholder=
"请选择"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in SupplierList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
...
...
@@ -378,7 +378,7 @@
</el-date-picker>
</div>
</li>
<li>
<li
style=
"position:absolute;right:10px;top:0;"
>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"getList()"
/>
</li>
</ul>
...
...
src/components/Supplier/roomQuery.vue
View file @
3bdc1a0e
<
template
>
<div>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<ul
style=
"position:relative;"
>
<li>
<span>
<em>
{{
$t
(
'Operation.Op_Country'
)
}}
/
{{
$t
(
'system.query_dest'
)
}}
</em>
...
...
@@ -95,7 +95,7 @@
:picker-options=
"pickerBeginDateAfter"
></el-date-picker>
</span>
</li>
<li>
<li
style=
"position:absolute;right:10px;top:0;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList();resetPageIndex()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"下载"
@
click=
"DownLoadHotel()"
/>
</li>
...
...
@@ -140,7 +140,10 @@
{{
childItem
.
CheckInDateStr
}}
</td>
<td
class=
"tdLeft"
>
{{
childItem
.
NewHotelName
}}
<template
v-if=
"childItem.SupplierId==UserInfo.SupplierId"
>
{{
childItem
.
NewHotelName
}}
</
template
>
<
template
v-else
>
组团社自理
</
template
>
</td>
<td>
<span
style=
"color:red;"
>
...
...
@@ -149,16 +152,13 @@
<
template
v-else
>
{{
childItem
.
DMCState
==
1
?
"[地接-OK]"
:(
childItem
.
DMCState
==
0
?
"[未操作]"
:
"[暂定]"
)
}}
</
template
>
</template>
<
template
v-else
>
[组团社自理]
</
template
>
</span>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.hotelList.length"
>
<a
style=
"text-decoration:underline;color:blue;cursor:pointer"
@
click=
"AddSupplierComplain(subItem.Complain_Extend.Id,subItem.Complain_Extend.TCID)"
>
<
template
v-if=
"subItem.Complain_Extend.Id>0"
>
编辑
</
template
>
<
template
v-else
>
添加
</
template
>
<
template
v-if=
"subItem.Complain_Extend.Id>0"
>
编辑
投诉
</
template
>
<
template
v-else
>
添加
投诉
</
template
>
</a>
<a
style=
"text-decoration:underline;color:red;cursor:pointer"
v-if=
"subItem.Complain_Extend.Id>0"
@
click=
"DeleteSupplierComplain(subItem.Complain_Extend.Id)"
>
删除
</a>
...
...
@@ -512,7 +512,7 @@
.roomQuery_SupplierTable
tr
td
{
border
:
1px
solid
#d1d1d1
;
text-align
:
center
;
padding
:
10
px
0
;
padding
:
5
px
0
;
}
.roomQuery_SupplierTable
.tdLeft
{
...
...
src/components/SupplierIndex.vue
View file @
3bdc1a0e
...
...
@@ -2,7 +2,7 @@
<div
style=
"position: relative;"
ref=
"firstParent"
>
<div
class=
"nav"
>
<div
class=
"nav-left"
>
<img
class=
"GroupPic"
src=
"../assets/img/d
efault_head_img.jp
g"
/>
<img
class=
"GroupPic"
src=
"../assets/img/d
axiang.pn
g"
/>
</div>
<div
class=
"nav-middle"
>
<ul
class=
"clearfix"
:style=
"
{width:`${allWindowWidth}px`}">
...
...
@@ -19,7 +19,7 @@
<el-dropdown
trigger=
"click"
>
<div
class=
"el-dropdown-link"
>
<img
src=
"../assets/img/default_head_img.jpg"
/>
<span
class=
"
n
ame"
:title=
"userInfo.SupplierName"
>
{{
userInfo
.
SupplierName
}}
</span>
<span
class=
"
SupplierN
ame"
:title=
"userInfo.SupplierName"
>
{{
userInfo
.
SupplierName
}}
</span>
</div>
<el-dropdown-menu
slot=
"dropdown"
class=
"_dropdown _more_dropdown"
>
<el-dropdown-item
class=
"clearfix _dropdown_other"
@
click
.
native=
"settingSys"
>
...
...
@@ -53,6 +53,247 @@
<div
class=
"temDivs"
>
<!-- :key="key" -->
<router-view></router-view>
<template
v-if=
"showPage"
>
<div>
<div
class=
"query-box"
style=
"border-bottom: none;display:none;"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'system.quety_area'
)
}}
</em>
<el-select
v-model=
"msg.Province"
filterable
@
change=
"getProvinceList(msg.Province,2)"
:placeholder=
"$t('hotel.hotel_province')"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
<el-option
v-for=
"item in provinceList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
<el-select
v-model=
"msg.City"
filterable
:placeholder=
"$t('hotel.hotel_city')"
>
<el-option
:key=
"0"
:value=
"0"
label=
"请选择"
></el-option>
<el-option
v-for=
"item in cityList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li>
<span><em>
{{
$t
(
'admin.admin_company'
)
}}
</em>
<el-select
filterable
v-model=
'msg.OutBranchId'
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'-1'
></el-option>
<el-option
v-for=
'item in companyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
星级
</em>
<el-select
v-model=
"msg.Star"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
label=
"3星或商务"
:value=
'3'
></el-option>
<el-option
label=
"4星"
:value=
'4'
></el-option>
<el-option
label=
"5星"
:value=
'5'
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
价格区间
</em>
<el-select
v-model=
"msg.PriceLevel"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
label=
"5000以下"
:value=
'1'
></el-option>
<el-option
label=
"5000~6000"
:value=
'2'
></el-option>
<el-option
label=
"6000~7000"
:value=
'3'
></el-option>
<el-option
label=
"7000~8000"
:value=
'4'
></el-option>
<el-option
label=
"8000~9000"
:value=
'5'
></el-option>
<el-option
label=
"9000~10000"
:value=
'6'
></el-option>
<el-option
label=
"10000以上"
:value=
'7'
></el-option>
</el-select>
</span>
</li>
<li><span><em>
日期
</em>
<el-date-picker
v-model=
'msg.StartDate'
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"beforeCheck"
>
</el-date-picker>
<el-date-picker
v-model=
'msg.EndDate'
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"afterCheck"
>
</el-date-picker>
</span>
</li>
<li>
<span>
<em>
酒店
</em>
<el-select
v-model=
"msg.HotelChooseArray"
:placeholder=
"$t('pub.pleaseSel')"
class=
"multiple_input w300"
filterable
multiple
:multiple-limit=
"3"
>
<el-option
v-for=
"item in HotelList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"温馨提示"
@
click=
"showNotice=true,resetPageIndex(),GetHotelTipList()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"下载"
@
click=
"DownLoadHotelQuery()"
/>
</li>
</ul>
</div>
<div
style=
"width: 100%;min-height:200px; overflow-x: auto;padding:0 20px; "
class=
"HotelQueryList"
v-loading=
"loading"
>
<div
class=
"hotelProductManage2_tableBox"
style=
"margin:20px 0;"
>
<span
style=
"color:#fff;background-color: #ff3737;padding:2px 4px;border-radius:5px"
>
红日
</span>
<span
style=
"color:#000000;background-color: #ff99cc;padding:2px 4px;border-radius:5px"
>
旺季
</span>
<span
style=
"color:#000000;background-color: #bcd6ee;padding:2px 4px;border-radius:5px"
>
平季
</span>
<span
style=
"color:#000000;background-color: #DDDDDD;padding:2px 4px;border-radius:5px"
>
淡季
</span>
<span
style=
"color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px"
>
特别价
</span>
</div>
<template
v-if=
"isShow"
>
<el-table
v-if=
"dataList.length>0"
:data=
"dataList"
style=
"width:100%"
border
v-loading=
'loading'
:height=
"tableHeight"
>
<el-table-column
fixed
label=
"酒店名称"
min-width=
"180"
>
<template
slot-scope=
"scope"
>
<div
style=
"text-decoration: underline;cursor:pointer"
>
{{
scope
.
row
.
HotelName
}}
</div>
<div>
{{
scope
.
row
.
TotalInventory
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"价格&库存"
fixed
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
<div
class=
"Hotel_kong"
>
价格
</div>
<div
class=
"Hotel_kong"
style=
"min-width:60px;"
>
总/用/剩
</div>
<div
class=
"Hotel_kong"
>
超定
</div>
</
template
>
</el-table-column>
<el-table-column
v-for=
'(item,index) in dataList[0].subList'
:label=
"getDateList(item.DateStr)"
:key=
'index'
min-width=
"120"
>
<
template
slot-scope=
"scope"
>
<div
class=
"Hotel_kong Com_hoteldiv"
>
<template
v-if=
"scope.row.subList[index].PriceList.length>0"
>
<template
v-for=
"childItem in scope.row.subList[index].PriceList"
>
<div
:class=
"getClass(1,childItem.InventoryType)"
style=
"height:100%;float:left;width:100%"
:style=
"
{width:(100/scope.row.subList[index].PriceList.length)+'%'}">
{{
childItem
.
CostPrice
}}
</div>
</
template
>
</template>
<
template
v-else
>
<div
:class=
"getClass(0,0)"
style=
"width:100%;height:100%"
>
</div>
</
template
>
</div>
<div
class=
"Hotel_kong Com_hoteldiv Hq_duoge"
>
{{scope.row.subList[index].Inventory}}/{{scope.row.subList[index].UseInventory}}/{{scope.row.subList[index].RemainingInventory}}
</div>
<div
class=
"Hotel_kong Com_hoteldiv"
>
<span
v-if=
"scope.row.subList[index].UseInventory-scope.row.subList[index].Inventory>0"
style=
"color:red;"
>
{{scope.row.subList[index].UseInventory-scope.row.subList[index].Inventory}}
</span>
</div>
</template>
</el-table-column>
</el-table>
<div
class=
"noDataNotice"
v-else
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{$t("active.ld_noData")}}
</p>
</div>
</template>
</div>
<div
class=
"combottomDiv HqCom_bottom"
v-if=
"showNotice"
>
<el-form
label-width=
"80px"
>
<el-row>
<el-col
:span=
"20"
>
<el-form-item
label=
"日期"
>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.QStartDate"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.QEndDate"
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"resetPageIndex(),GetHotelTipList()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"关闭"
@
click=
"showNotice=false"
/>
</el-col>
</el-row>
<div
class=
"Hq_addDetail"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"说明"
>
<quill-editor
class=
"w595"
:options=
"editorOption"
v-model=
"postMsg.TipContent"
></quill-editor>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"SaveHotelTip()"
/>
</el-col>
</el-row>
</div>
</el-form>
<div>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"HouseTypeList Hq_addTable"
style=
"width:97%;"
>
<tr>
<th
width=
"50"
>
编号
</th>
<th>
内容
</th>
<th
width=
"70"
>
操作人
</th>
<th
width=
"150"
>
操作时间
</th>
<th
width=
"80"
>
操作
</th>
</tr>
<
template
v-if=
"queryMsg.total>0"
>
<tr
v-for=
"(item,index) in HotelTipList"
>
<td>
{{
item
.
Id
}}
</td>
<td>
<p
style=
"text-align:left;padding-left:5px;"
v-html=
"item.TipContent"
></p>
</td>
<td>
{{
item
.
CreateByName
}}
</td>
<td>
{{
item
.
CreateTimeStr
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"编辑"
placement=
"top"
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
circle
@
click=
"GetHotelTip(item.Id)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
circle
@
click=
"RemoveHotelTip(item.Id)"
>
</el-button>
</el-tooltip>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"5"
>
暂无数据...
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
:page-size=
"queryMsg.pageSize"
layout=
"total,prev, pager, next, jumper"
:total=
"queryMsg.total"
>
</el-pagination>
</div>
</div>
<el-dialog
custom-class=
"w800"
title=
"信息"
:visible
.
sync=
"showHQinfo"
center
>
<el-form>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"HouseTypeList Hq_addTable"
style=
"width:100%;"
>
<tr>
<th
width=
"50"
>
编号
</th>
<th>
内容
</th>
<th
width=
"70"
>
操作人
</th>
<th
width=
"140"
>
操作时间
</th>
</tr>
<
template
v-if=
"queryMsg.total>0"
>
<tr
v-for=
"(item,index) in HotelTipList"
>
<td>
{{
item
.
Id
}}
</td>
<td>
<p
style=
"text-align:left;padding:0 5px;"
v-html=
"item.TipContent"
></p>
</td>
<td>
{{
item
.
CreateByName
}}
</td>
<td>
{{
item
.
CreateTimeStr
}}
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"5"
>
暂无数据...
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
:page-size=
"queryMsg.pageSize"
layout=
"total,prev, pager, next, jumper"
:total=
"queryMsg.total"
>
</el-pagination>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"showHQinfo = false"
>
关闭
</button>
</div>
</el-dialog>
</div>
</template>
</div>
</div>
...
...
@@ -78,16 +319,99 @@
fontPub
:
"iconfont"
,
icon
:
'this.src="'
+
require
(
"../assets/img/NotificationIcon.png"
)
+
'"'
,
allWindowWidth
:
''
,
showPage
:
true
,
tableHeight
:
0
,
msg
:
{
//酒店选择数组
HotelChooseArray
:
[],
StartDate
:
new
Date
().
Format
(
"yyyy-MM-dd"
),
EndDate
:
this
.
setEdate
(),
//只查询日本
Country
:
"651"
,
Province
:
0
,
City
:
0
,
OutBranchId
:
-
1
,
//星级
Star
:
0
,
//价格等级
PriceLevel
:
0
,
},
beforeCheck
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
StartDate
)
{
let
endTime
=
new
Date
(
this
.
msg
.
EndDate
);
return
time
&&
endTime
.
getTime
()
<
time
.
getTime
();
}
else
{
return
false
;
}
}
},
afterCheck
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
StartDate
)
{
let
startTime
=
new
Date
(
this
.
msg
.
StartDate
);
//可以选择当天
return
time
&&
time
.
getTime
()
<
startTime
.
getTime
()
-
1
*
24
*
60
*
60
*
1000
;
}
else
{
return
false
;
}
}
},
//分公司列表
companyList
:
[],
defaultSelectValue
:
0
,
//国家 省市 区
provinceList
:
[],
cityList
:
[],
district
:
[],
queryMsg
:
{
QStartDate
:
''
,
QEndDate
:
''
,
pageIndex
:
1
,
pageSize
:
5
,
currentPage
:
1
,
total
:
0
,
OpType
:
1
,
},
postMsg
:
{
Id
:
0
,
TipContent
:
''
},
//默认显示弹窗信息
showHQinfo
:
true
,
//酒店温馨提示列表
HotelTipList
:
[],
HotelList
:
[],
dataList
:
[],
isShow
:
false
,
loading
:
false
,
showNotice
:
false
,
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
queryMsg
.
QStartDate
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
queryMsg
.
QEndDate
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
editorOption
:
{
placeholder
:
'请输入内容'
,
modules
:
{
toolbar
:
[
[
'bold'
,
'italic'
,
'underline'
,
'strike'
],
// toggled buttons
[
'blockquote'
,
'code-block'
,
'align'
]
]
}
},
};
},
mounted
()
{
let
that
=
this
;
document
.
title
=
this
.
userInfo
.
GroupName
;
this
.
getMenu
();
},
created
()
{
this
.
userInfo
=
this
.
getLocalStorageSupplier
();
console
.
log
(
"userInfo"
,
this
.
userInfo
);
let
language
=
localStorage
.
language
;
if
(
!
language
)
{
this
.
language
=
'zh-CN'
;
...
...
@@ -125,11 +449,279 @@
this
.
$store
.
dispatch
(
"logout"
)
localStorage
.
removeItem
(
"userInfo"
);
localStorage
.
removeItem
(
"previousPathInfo"
);
this
.
$router
.
push
({
path
:
"/SupplierLogin"
});
this
.
$router
.
push
({
path
:
"/SupplierLogin"
});
},
settingSys
:
function
()
{
this
.
MsgBus
.
$emit
(
'settingOpen'
)
},
GotoHotel
(
HotelId
)
{
this
.
$router
.
push
({
path
:
"HotelManagement"
,
query
:
{
ID
:
HotelId
,
tab
:
"酒店查询"
,
blank
:
'y'
,
}
});
},
GotoUrl
(
item
,
subIndex
,
UseInventory
)
{
if
(
UseInventory
>
0
)
{
this
.
$router
.
push
({
path
:
"TravelControlList"
,
query
:
{
HotelId
:
item
.
HotelId
,
HotelUseTime
:
item
.
subList
[
subIndex
].
DateStr
,
blank
:
'y'
,
tab
:
"团控查询"
,
}
});
}
},
getList
()
{
this
.
loading
=
true
;
if
(
this
.
msg
.
StartDate
==
null
)
{
this
.
msg
.
StartDate
=
new
Date
().
Format
(
"yyyy-MM-dd"
);
}
if
(
this
.
msg
.
EndDate
==
null
)
{
this
.
msg
.
EndDate
=
this
.
setEdate
();
}
this
.
ApiPost2
(
"dict_post_HotelOffer_GetHotelStatics_Supplier"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
;
this
.
isShow
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//获取酒店列表
GetHotelList
()
{
this
.
ApiPost2
(
"hotel_post_GetHasStockHotelList_Supplier"
,
{
Country
:
651
,
IsMoreThanZero
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
setEdate
()
{
return
this
.
addMoth
(
new
Date
().
Format
(
"yyyy-MM-dd"
),
1
)
},
addMoth
(
d
,
m
)
{
let
ds
=
d
.
split
(
'-'
),
_d
=
ds
[
2
]
-
0
;
let
nextM
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
+
1
,
0
);
let
max
=
nextM
.
getDate
();
d
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
,
_d
>
max
?
max
:
_d
);
return
d
.
toLocaleDateString
().
match
(
/
\d
+/g
).
join
(
'-'
)
},
//格式化返回显示日期
getDateList
(
dateStr
)
{
var
str
=
dateStr
.
split
(
'-'
);
var
weekDay
=
[
"天"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
];
var
myDate
=
new
Date
(
Date
.
parse
(
dateStr
));
return
str
[
1
]
+
'/'
+
str
[
2
]
+
"("
+
weekDay
[
myDate
.
getDay
()]
+
")"
;
},
//获取星期几
getWeek
(
dateStr
)
{
var
weekDay
=
[
"天"
,
"一"
,
"二"
,
"三"
,
"四"
,
"五"
,
"六"
];
var
myDate
=
new
Date
(
Date
.
parse
(
dateStr
));
return
weekDay
[
myDate
.
getDay
()]
},
//获取颜色状态
getClass
(
Status
,
InventoryType
)
{
var
classStr
=
""
;
if
(
Status
==
0
)
{
classStr
=
'noKucun'
;
}
switch
(
InventoryType
)
{
case
1
:
classStr
=
"classHong"
;
break
;
case
2
:
classStr
=
"classWang"
;
break
;
case
3
:
classStr
=
"classPing"
;
break
;
case
4
:
classStr
=
"classDan"
;
break
;
case
5
:
classStr
=
"classTe"
;
break
;
}
return
classStr
;
},
handleCurrentChange
(
val
)
{
this
.
queryMsg
.
pageIndex
=
val
;
this
.
GetHotelTipList
();
},
resetPageIndex
()
{
this
.
queryMsg
.
pageIndex
=
1
;
this
.
queryMsg
.
currentPage
=
1
;
},
//获取酒店列表
GetHotelTipList
()
{
this
.
ApiPost2
(
"hoteltip_get_GetPageList"
,
this
.
queryMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelTipList
=
res
.
data
.
data
.
pageData
;
this
.
queryMsg
.
total
=
res
.
data
.
data
.
count
;
}
},
err
=>
{}
);
},
SaveHotelTip
()
{
this
.
ApiPost2
(
"hoteltip_post_SetHotelTip"
,
this
.
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"保存成功!"
);
this
.
postMsg
.
Id
=
0
;
this
.
postMsg
.
TipContent
=
""
;
this
.
GetHotelTipList
();
}
else
{
this
.
Error
(
"保存失败!"
);
}
},
err
=>
{}
);
},
RemoveHotelTip
(
Id
)
{
var
that
=
this
;
this
.
Confirm
(
'是否要删除此数据?'
,
function
()
{
that
.
ApiPost2
(
"hoteltip_post_RemoveHotelTip"
,
{
ID
:
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
"删除成功!"
);
that
.
GetHotelTipList
();
}
else
{
that
.
Error
(
"删除失败!"
);
}
},
err
=>
{}
);
})
},
GetHotelTip
(
Id
)
{
this
.
ApiPost2
(
"hoteltip_get_GetHotelTip"
,
{
ID
:
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
postMsg
.
Id
=
res
.
data
.
data
.
Id
;
this
.
postMsg
.
TipContent
=
res
.
data
.
data
.
TipContent
;
}
else
{
this
.
Error
(
"获取数据失败!"
);
}
},
err
=>
{}
);
},
getProvinceList
(
ID
,
type
)
{
//根据省份获取城市
let
msg
=
{
Id
:
ID
};
if
(
type
==
1
)
{
this
.
msg
.
Province
=
0
;
this
.
msg
.
City
=
0
;
this
.
provinceList
=
[];
this
.
cityList
=
[];
}
else
if
(
type
==
2
)
{
this
.
msg
.
City
=
0
;
this
.
cityList
=
[];
}
this
.
ApiPost2
(
"dict_post_Destination_GetChildList"
,
msg
,
res
=>
{
if
(
type
==
1
)
{
this
.
provinceList
=
res
.
data
.
data
;
}
else
if
(
type
==
2
)
{
this
.
cityList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
getBranchList
()
{
this
.
ApiPost2
(
'admin_get_BranchGetList'
,
{
RB_Group_Id
:
'2'
,
Status
:
0
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
companyList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
//Excel下载
DownLoadHotelQuery
()
{
this
.
loading
=
true
;
let
qMsg
=
{
queryMsg
:
this
.
msg
,
uid
:
this
.
getLocalStorageSupplier
().
SupplierAccountId
};
let
fileName
=
"酒店查询统计"
+
this
.
$commonUtils
.
getCurrentDate
()
+
".xls"
;
this
.
GetLocalFile
(
"hotel_get_downloadHotelQuery_Supplier"
,
qMsg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
});
},
com_onresize
()
{
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var
contentsHeight
=
document
.
body
.
clientHeight
;
var
h
=
contentsHeight
-
50
-
80
;
if
(
h
<
110
)
{
return
;
}
//设置table的行高
this
.
tableHeight
=
h
;
}
},
mounted
()
{
document
.
title
=
this
.
userInfo
.
GroupName
;
this
.
getMenu
();
this
.
getBranchList
();
this
.
getProvinceList
(
651
,
1
);
this
.
GetHotelList
();
this
.
getList
();
this
.
GetHotelTipList
();
var
url
=
window
.
location
.
href
;
if
(
String
(
url
).
indexOf
(
'SupplierIndex'
)
>=
0
)
{
this
.
showPage
=
true
;
}
else
{
this
.
showPage
=
false
;
};
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
this
.
com_onresize
();
}
},
watch
:
{
$route
(
val
)
{
this
.
showPage
=
false
;
}
}
};
...
...
@@ -235,13 +827,13 @@
cursor: pointer;
}
.nav-right ul li.user_head span.
n
ame {
.nav-right ul li.user_head span.
SupplierN
ame {
color: #99a7b3;
font-size: 12px;
display: inline-block;
margin-left: 10px;
overflow: hidden;
width: 45px;
min-
width: 45px;
height: 50px;
}
...
...
@@ -466,4 +1058,131 @@
top: 50px !important;
}
.Hq_duoge {
cursor: pointer;
text-decoration: underline;
}
.HqCom_bottom .ql-container {
min-height: 100px;
}
.classHong {
background-color: rgb(255, 55, 55);
color: #fff;
}
.classWang {
background-color: rgb(255, 153, 204);
}
.classPing {
background-color: rgb(188, 214, 238);
}
.classDan {
background-color: rgb(221, 221, 221);
}
.classTe {
background-color: rgb(2, 247, 142);
}
.HouseTypeList {
background: #ccc;
width: 100%;
margin-top: 20px;
}
.Com_hoteldiv {
min-width: 70px;
white-space: nowrap;
}
.noKucun {
background-color: black !important;
}
.Hotel_kong {
width: 100%;
height: 35px;
text-align: center;
line-height: 35px;
border-bottom: 1px solid #d1d1d1;
}
.Hotel_kong:last-child {
border: 0;
}
.HouseTypeList tr th {
background: #e6e6e6;
height: 35px;
font-size: 12px;
color: #333;
}
.HouseTypeList tr {
background: #fff;
text-align: center;
height: 35px;
}
.HouseTypeList tr td {
font-size: 12px;
}
.hotelProductManage2_tableBox span {
margin: 0 10px 10px 0;
}
.Hq_addDetail {
margin-top: 20px;
}
.Hq_addDetail .el-textarea__inner {
resize: none;
}
.Hq_addTable .el-button.is-circle {
padding: 5px;
}
.HqCom_bottom .el-form-item {
margin-bottom: 0
}
.HqCom_bottom {
height: 350px;
padding-top: 35px;
}
.HQ_miaoshu {
color: #E95252;
font-size: 12px;
}
.HQ_miaoshu:first-child {
margin-top: 10px;
}
.HotelQueryList .has-gutter tr th,
.el-table th.is-leaf {
background: #EAEAEA !important;
}
.HotelQueryList .el-table td,
.el-table th.is-leaf {
border-bottom: 1px solid #ebeef5;
}
.HotelQueryList .el-table .cell {
padding: 0;
}
.HotelQueryList .el-table td {
padding: 0;
}
</
style
>
src/router/config.js
View file @
3bdc1a0e
...
...
@@ -2574,6 +2574,14 @@ export default {
title
:
'原路退款查询'
},
},
{
//财务 财务单据 汇兑损益查询
path
:
'/ExchangeLoss'
,
name
:
'ExchangeLoss'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/ExchangeLoss'
],
resolve
),
meta
:
{
title
:
'汇兑损益查询'
},
},
{
//财务 财务单据 出纳工作台
path
:
'/CashierWork'
,
name
:
'CashierWork'
,
...
...
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