Commit 3bdc1a0e authored by Mac's avatar Mac
parents 5c44ec94 4ebd1fed
<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>
...@@ -214,6 +214,7 @@ ...@@ -214,6 +214,7 @@
<th width="110">{{$t('fnc.jine')}}</th> <th width="110">{{$t('fnc.jine')}}</th>
<th width="90">{{$t('hotel.hotel_Currency')}}</th> <th width="90">{{$t('hotel.hotel_Currency')}}</th>
<th width="85">{{$t('hotel.hotel_CurrentRate')}}</th> <th width="85">{{$t('hotel.hotel_CurrentRate')}}</th>
<th>汇兑损益</th>
<th>{{$t('fnc.bwbjine')}}</th> <th>{{$t('fnc.bwbjine')}}</th>
</tr> </tr>
<tr> <tr>
...@@ -224,6 +225,10 @@ ...@@ -224,6 +225,10 @@
<td>{{item.OriginalMoney}}</td> <td>{{item.OriginalMoney}}</td>
<td>{{item.CurrencyName}}</td> <td>{{item.CurrencyName}}</td>
<td>{{item.Rate}}</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> <td>{{item.Money}}</td>
</tr> </tr>
</table> </table>
...@@ -266,6 +271,7 @@ ...@@ -266,6 +271,7 @@
<th width="110">{{$t('fnc.jine')}}</th> <th width="110">{{$t('fnc.jine')}}</th>
<th width="90">{{$t('hotel.hotel_Currency')}}</th> <th width="90">{{$t('hotel.hotel_Currency')}}</th>
<th width="85">{{$t('hotel.hotel_CurrentRate')}}</th> <th width="85">{{$t('hotel.hotel_CurrentRate')}}</th>
<th>汇兑损益</th>
<th>{{$t('fnc.bwbjine')}}</th> <th>{{$t('fnc.bwbjine')}}</th>
</tr> </tr>
<tr> <tr>
...@@ -276,6 +282,10 @@ ...@@ -276,6 +282,10 @@
<td>{{item.OriginalMoney}}</td> <td>{{item.OriginalMoney}}</td>
<td>{{item.CurrencyName}}</td> <td>{{item.CurrencyName}}</td>
<td>{{item.Rate}}</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> <td>{{item.Money}}</td>
</tr> </tr>
</table> </table>
......
...@@ -862,6 +862,7 @@ export default { ...@@ -862,6 +862,7 @@ export default {
e.target.value = (e.target.value.match(/^\d*(\.?\d{0,1})/g)[0]) || null e.target.value = (e.target.value.match(/^\d*(\.?\d{0,1})/g)[0]) || null
}, },
AddFinancial(z){ //保存 AddFinancial(z){ //保存
if(z){ if(z){
this.msg.Status = 0; this.msg.Status = 0;
}else{ }else{
...@@ -904,7 +905,6 @@ export default { ...@@ -904,7 +905,6 @@ export default {
if(this.orderObj!=null&&this.orderObj.OrderSource===10){ if(this.orderObj!=null&&this.orderObj.OrderSource===10){
// console.log("getGuestInfo",this.$store.getters.getGuestInfo) // console.log("getGuestInfo",this.$store.getters.getGuestInfo)
let guestInfo = JSON.parse(sessionStorage.getItem("saveGuestInfo")); let guestInfo = JSON.parse(sessionStorage.getItem("saveGuestInfo"));
console.log("getGuestInfo",guestInfo)
// return; // return;
this.msg.GuestInfoList=[]; this.msg.GuestInfoList=[];
if(guestInfo!=null&&guestInfo.length>0){ if(guestInfo!=null&&guestInfo.length>0){
...@@ -913,7 +913,6 @@ export default { ...@@ -913,7 +913,6 @@ export default {
}) })
} }
} }
console.log("1234",this.msg);
this.loading = true; this.loading = true;
this.msg.Description=this.Description; this.msg.Description=this.Description;
this.apipost('Financial_post_Set',this.msg,res=>{ this.apipost('Financial_post_Set',this.msg,res=>{
...@@ -1306,6 +1305,9 @@ export default { ...@@ -1306,6 +1305,9 @@ export default {
}, err => {}) }, err => {})
}, },
admin_get_DepartmentGetList(Bid, T){ admin_get_DepartmentGetList(Bid, T){
if(Bid==0){
this.chosenPeople=[];
}
// this.msg.RB_Depart_Id = ''; // this.msg.RB_Depart_Id = '';
// this.departmentMsg.RB_Branch_Id = Bid ? Bid : -1; // this.departmentMsg.RB_Branch_Id = Bid ? Bid : -1;
this.departmentMsg.RB_Branch_Id = -1; this.departmentMsg.RB_Branch_Id = -1;
...@@ -1369,7 +1371,7 @@ export default { ...@@ -1369,7 +1371,7 @@ export default {
this.companyList = data; this.companyList = data;
} }
} }
console.log('this.companyList', this.companyList)
}, err => {}) }, err => {})
} }
...@@ -1458,7 +1460,8 @@ export default { ...@@ -1458,7 +1460,8 @@ export default {
this.Description= gj+' '+gn+' '+gjzd+ ' '+ sj+' '+sc this.Description= gj+' '+gn+' '+gjzd+ ' '+ sj+' '+sc
} }
} }
},created(){ },
created(){
var that=this; var that=this;
this.orderObj = this.$route.query.orderObj?JSON.parse(this.$route.query.orderObj):null; this.orderObj = this.$route.query.orderObj?JSON.parse(this.$route.query.orderObj):null;
this.isFrompassenger = this.orderObj.isFromPassenger; this.isFrompassenger = this.orderObj.isFromPassenger;
...@@ -1473,7 +1476,8 @@ export default { ...@@ -1473,7 +1476,8 @@ export default {
} }
} }
},mounted(){ },
mounted(){
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.department = userInfo.DepartName; this.department = userInfo.DepartName;
this.EmployeeId=userInfo.EmployeeId; this.EmployeeId=userInfo.EmployeeId;
......
...@@ -1006,7 +1006,8 @@ ...@@ -1006,7 +1006,8 @@
// 获取供应商 // 获取供应商
initSupplier() { initSupplier() {
this.apipost("supplier_post_GetAllList", { this.apipost("supplier_post_GetAllList", {
Type: 1 Type: 1,
Country:651
}, res => { }, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.SupplierList = res.data.data; this.SupplierList = res.data.data;
......
...@@ -299,11 +299,13 @@ ...@@ -299,11 +299,13 @@
pageIndex: 1, pageIndex: 1,
pageSize: 5, pageSize: 5,
currentPage: 1, currentPage: 1,
total: 0 total: 0,
OpType:0
}, },
postMsg: { postMsg: {
Id: 0, Id: 0,
TipContent: '' TipContent: '',
OpType:0,
}, },
//默认显示弹窗信息 //默认显示弹窗信息
showHQinfo: true, showHQinfo: true,
......
...@@ -240,14 +240,13 @@ ...@@ -240,14 +240,13 @@
{{item.Remarks}} {{item.Remarks}}
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td :colspan="item.colNum" style="text-align: left!important;padding-left: 20px;"> <td :colspan="item.colNum" style="text-align: left!important;padding-left: 20px;">
<div class="link"> <div class="link">
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.Titles}}</p> <p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.Titles}}</p>
<div v-show="outItem.StaticsReportList[0].DMCRemark!=''" class="colorE95252"> <div v-show="outItem.StaticsReportList[0].DMCRemark!=''" class="colorE95252"> 地接备注:{{outItem.StaticsReportList[0].DMCRemark}}</div>
地接备注:{{outItem.StaticsReportList[0].DMCRemark}}</div> <div v-show="item.CommonReport.Complain_Extend.Id>0" class="colorE95252">供应商投诉:{{item.CommonReport.Complain_Extend.ComplainContent}}</div>
</div> </div>
</td> </td>
</tr> </tr>
......
...@@ -95,11 +95,13 @@ ...@@ -95,11 +95,13 @@
.Supplier_AC_content .w757 { .Supplier_AC_content .w757 {
width: 757px !important; width: 757px !important;
} }
.Supplier_TouSu .el-textarea__inner{
height:300px;
}
</style> </style>
<template> <template>
<div class="Supplier_AC_content"> <div class="Supplier_AC_content Supplier_TouSu">
<div class="Supplier_AC_inputGroup"> <div class="Supplier_AC_inputGroup">
<el-input placeholder="请输入团号/编号" class="w757" v-model="QMsg.TCID"> <el-input placeholder="请输入团号/编号" class="w757" v-model="QMsg.TCID">
<el-button slot="append" @click="CheckTCID()">验证</el-button> <el-button slot="append" @click="CheckTCID()">验证</el-button>
...@@ -121,21 +123,21 @@ ...@@ -121,21 +123,21 @@
</ul> </ul>
</div> </div>
<p>投诉情况</p> <p>投诉情况</p>
<div class="Supplier_AC_complaintList"> <!-- <div class="Supplier_AC_complaintList">
<div class="t">主题内容:</div> <div class="t">主题内容:</div>
<ul style="width:90%;"> <ul style="width:90%;">
<li v-for="subItem in themeList" @click="getTheme(subItem)" :class="{'checked':subItem.isCheck}"> <li v-for="subItem in themeList" @click="getTheme(subItem)" :class="{'checked':subItem.isCheck}">
{{subItem.Name}} {{subItem.Name}}
</li> </li>
</ul> </ul>
</div> </div> -->
<el-input type="textarea" style="margin-top:10px;" :rows="5" v-model="EditMsg.ComplainContent" <el-input type="textarea" style="margin-top:10px;" :rows="5" v-model="EditMsg.ComplainContent"
placeholder="具体问题描述,以及投诉人的姓名、联系方式"></el-input> placeholder="具体问题描述"></el-input>
</div> </div>
<p style="text-align: center; margin: 10px 0 15px 0;"> <p style="text-align: center; margin: 35px 0 15px 0;">
<input type="button" class="normalBtn" value="保存" @click="SaveData()" /> <input type="button" class="normalBtn" value="保存" @click="SaveData()" />
<input type="button" class="normalBtn" value="取消" /> <input type="button" class="normalBtn" value="取消" @click="goUrl('roomQuery2')" />
</p> </p>
</div> </div>
</template> </template>
...@@ -196,10 +198,10 @@ ...@@ -196,10 +198,10 @@
}, },
//保存数据 //保存数据
SaveData(status) { SaveData(status) {
if (this.themeCked.length === 0) { // if (this.themeCked.length === 0) {
this.Error("请选择主题内容"); // this.Error("请选择主题内容");
return false; // return false;
} // }
//数据组装 //数据组装
this.EditMsg.ComplainContentrs = ""; this.EditMsg.ComplainContentrs = "";
let contentrArr = []; let contentrArr = [];
...@@ -260,6 +262,12 @@ ...@@ -260,6 +262,12 @@
this.Error(res.data.message); this.Error(res.data.message);
} }
}, err => {}); }, err => {});
},
goUrl(path) {
this.$router.push({
path: path,
query: {}
});
} }
}, },
created() { created() {
......
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
<div class="btn-list" style="width: 350px;position: fixed;right: 20px;top:50px"> <div class="btn-list" style="width: 350px;position: fixed;right: 20px;top:50px">
<span class="common-lefttit"></span> <span class="common-lefttit"></span>
<button class="save-Btn" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button> <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('HotelManagement2')">{{$t('pub.cancelBtn')}}</button>
</div> </div>
</div> </div>
......
...@@ -221,7 +221,7 @@ ...@@ -221,7 +221,7 @@
<template> <template>
<div class="flexOne hotelmanagement"> <div class="flexOne hotelmanagement">
<div class="query-box"> <div class="query-box">
<ul> <ul style="position:relative;">
<li> <li>
<span class="hotel_name"> <span class="hotel_name">
<em>{{$t('hotel.hotel_name')}}</em> <em>{{$t('hotel.hotel_name')}}</em>
...@@ -274,7 +274,7 @@ ...@@ -274,7 +274,7 @@
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li style="position:absolute;top:0;right:10px;">
<button class="hollowFixedBtn" type="button" @click="resetPageIndex(),selectResource()">{{$t('pub.searchBtn')}}</button> <button class="hollowFixedBtn" type="button" @click="resetPageIndex(),selectResource()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" type="button" @click="goSubInfo('HotelInfo2')">{{$t('pub.addBtn')}}</button> <button class="normalBtn" type="button" @click="goSubInfo('HotelInfo2')">{{$t('pub.addBtn')}}</button>
</li> </li>
......
<template> <template>
<div class="hotelProductManage2"> <div class="hotelProductManage2" style="padding:20px;">
<div class="hotelProductManage2_btnList">
<div class="btn_check" @click="getMonths()">查询</div>
<div class="btn_check" @click="goEdit('1')">批量编辑</div>
</div>
<div class="hotelProductManage2_condition"> <div class="hotelProductManage2_condition">
<div> <div>
<em>起始月</em> <em>起始月</em>
<el-date-picker v-model="condition.month" type="month" value-format="yyyy-MM" :clearable="false" <el-date-picker v-model="condition.month" type="month" value-format="yyyy-MM" :clearable="false"
placeholder="选择月"></el-date-picker> placeholder="选择月"></el-date-picker>
</div> </div>
<input type="button" class="normalBtn" value="查询" @click="getMonths()"/>
<input type="button" class="normalBtn" value="批量编辑" style="margin-right:10px;" @click="goEdit('1')"/>
</div> </div>
<div class="hotelProductManage2_tableBox"> <div class="hotelProductManage2_tableBox">
<table class="hotelProductManage2_table" border="0" cellspacing="0" cellpadding="0"> <table class="hotelProductManage2_table" border="0" cellspacing="0" cellpadding="0">
...@@ -29,8 +27,8 @@ ...@@ -29,8 +27,8 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="hotelProductManage2_tableBox"> <div style="margin-bottom:20px;">
<span style="color:#000000;background-color: #ff3737;padding:2px 4px;border-radius:5px">红日</span> <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: #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: #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: #DDDDDD;padding:2px 4px;border-radius:5px">淡季</span>
...@@ -253,7 +251,7 @@ ...@@ -253,7 +251,7 @@
<el-form-item label="供应商" prop="Supplier"> <el-form-item label="供应商" prop="Supplier">
<el-select v-model="msg2.Supplier" placeholder="请选择"> <el-select v-model="msg2.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -268,7 +266,7 @@ ...@@ -268,7 +266,7 @@
</el-form> </el-form>
</div> </div>
<!-- 弹出编辑 --> <!-- 弹出编辑 -->
<div class="hotelProductManage2_edit" v-show="editShow"> <div class="hotelProductManage2_edit" v-show="editShow" style="left:0;">
<div class="hotelProductManage2_edit_header"> <div class="hotelProductManage2_edit_header">
<div>报价管理</div> <div>报价管理</div>
<div> <div>
...@@ -477,7 +475,7 @@ ...@@ -477,7 +475,7 @@
<el-form-item label="供应商" prop="Supplier"> <el-form-item label="供应商" prop="Supplier">
<el-select v-model="msg.Supplier" placeholder="请选择"> <el-select v-model="msg.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" value='0'></el-option> <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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -578,6 +576,7 @@ ...@@ -578,6 +576,7 @@
data: {} data: {}
}, },
editShow: false, editShow: false,
userInfo:{},
msg: { msg: {
Hotel: '0', Hotel: '0',
Supplier: 30, Supplier: 30,
...@@ -609,6 +608,7 @@ ...@@ -609,6 +608,7 @@
TaxesPrice: 0, //税金 TaxesPrice: 0, //税金
BeforeDay:0,//提前还房天数 BeforeDay:0,//提前还房天数
FreeRoomNum:0,//免间数 FreeRoomNum:0,//免间数
OpType:1,//供应商操作
}, },
msg2: { msg2: {
Hotel: '0', Hotel: '0',
...@@ -641,6 +641,7 @@ ...@@ -641,6 +641,7 @@
TaxesPrice: 0, //税金 TaxesPrice: 0, //税金
BeforeDay:0,//提前还房天数 BeforeDay:0,//提前还房天数
FreeRoomNum:0,//免间数 FreeRoomNum:0,//免间数
OpType:1,//供应商操作
}, },
rules: { rules: {
InventoryType: { InventoryType: {
...@@ -1006,7 +1007,7 @@ ...@@ -1006,7 +1007,7 @@
// 获取供应商 // 获取供应商
initSupplier() { initSupplier() {
this.ApiPost2("supplier_post_GetAllList", { this.ApiPost2("supplier_post_GetAllList", {
Type: 1 Type: 1,
}, res => { }, res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.SupplierList = res.data.data; this.SupplierList = res.data.data;
...@@ -1132,6 +1133,7 @@ ...@@ -1132,6 +1133,7 @@
} }
}, },
created: function () { created: function () {
this.userInfo = this.getLocalStorageSupplier();
this.hotelId = this.$route.query.id === undefined ? '0' : this.$route.query.id; 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.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; this.msg2.Hotel = this.$route.query.id === undefined ? '0' : this.$route.query.id;
...@@ -1150,10 +1152,6 @@ ...@@ -1150,10 +1152,6 @@
</script> </script>
<style> <style>
.hotelProductManage2 {
padding: 20px 0;
}
.hotelproductCkbox { .hotelproductCkbox {
width: 10%; width: 10%;
height: 30px; height: 30px;
......
<template> <template>
<div> <div class="hotelQury2">
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <ul style="position:relative;">
<li> <li>
<span> <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)" <el-select v-model="msg.Province" filterable @change="getProvinceList(msg.Province,2)"
:placeholder="$t('hotel.hotel_province')"> :placeholder="$t('hotel.hotel_province')">
<el-option :key="0" :value="0" label="请选择"></el-option> <el-option :key="0" :value="0" label="请选择"></el-option>
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</span> </span>
</li> </li>
<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-select filterable v-model='msg.OutBranchId' :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='-1'></el-option> <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 v-for='item in companyList' :label='item.BName' :value='item.Id' :key="item.Id">
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
</li> </li>
<li> <li>
<span> <span>
<em>星级</em> <em class="HQ_em">星级</em>
<el-select v-model="msg.Star" :placeholder="$t('pub.pleaseSel')"> <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="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option label="3星或商务" :value='3'></el-option> <el-option label="3星或商务" :value='3'></el-option>
<el-option label="4星" :value='4'></el-option> <el-option label="4星" :value='4'></el-option>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
</li> </li>
<li> <li>
<span> <span>
<em>价格区间</em> <em class="HQ_em">价格区间</em>
<el-select v-model="msg.PriceLevel" :placeholder="$t('pub.pleaseSel')"> <el-select v-model="msg.PriceLevel" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option> <el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option label="5000以下" :value='1'></el-option> <el-option label="5000以下" :value='1'></el-option>
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</el-select> </el-select>
</span> </span>
</li> </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 v-model='msg.StartDate' value-format="yyyy-MM-dd" type="date" :picker-options="beforeCheck">
</el-date-picker> </el-date-picker>
<el-date-picker v-model='msg.EndDate' value-format="yyyy-MM-dd" type="date" :picker-options="afterCheck"> <el-date-picker v-model='msg.EndDate' value-format="yyyy-MM-dd" type="date" :picker-options="afterCheck">
...@@ -60,25 +60,25 @@ ...@@ -60,25 +60,25 @@
</li> </li>
<li> <li>
<span> <span>
<em>酒店</em> <em class="HQ_em">酒店</em>
<el-select v-model="msg.HotelChooseArray" :placeholder="$t('pub.pleaseSel')" class="multiple_input w300" <el-select v-model="msg.HotelChooseArray" :placeholder="$t('pub.pleaseSel')" class="multiple_input w300"
filterable multiple :multiple-limit="3"> filterable multiple :multiple-limit="3">
<el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> <el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li style="position:absolute;top:0;right:10px;">
<input type="button" class="normalBtn" value="温馨提示" <input type="button" class="normalBtn" style="padding:0 12px;margin-left:0" value="温馨提示"
@click="showNotice=true,resetPageIndex(),GetHotelTipList()" /> @click="showNotice=true,resetPageIndex(),GetHotelTipList()" />
<input type="button" class="normalBtn" value="查询" @click="getList()" /> <input type="button" class="normalBtn" value="查询" style="padding:0 12px;margin-left:5px" @click="getList()" />
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotelQuery()" /> <input type="button" class="normalBtn" value="下载" style="padding:0 12px;margin-left:5px" @click="DownLoadHotelQuery()" />
</li> </li>
</ul> </ul>
</div> </div>
<div style="width: 100%;min-height:200px; overflow-x: auto;padding:0 20px; " class="HotelQueryList" <div style="width: 100%;min-height:200px; overflow-x: auto;padding:0 20px; " class="HotelQueryList"
v-loading="loading"> 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:#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: #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: #bcd6ee;padding:2px 4px;border-radius:5px">平季</span>
...@@ -86,12 +86,13 @@ ...@@ -86,12 +86,13 @@
<span style="color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px">特别价</span> <span style="color:#000000;background-color: #02F78E;padding:2px 4px;border-radius:5px">特别价</span>
</div> </div>
<template v-if="isShow"> <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"> <el-table-column fixed label="酒店名称" min-width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="text-decoration: underline;cursor:pointer"> <div style="text-decoration: underline;cursor:pointer">
{{scope.row.HotelName}}</div> {{scope.row.HotelName}}</div>
<div>{{scope.row.TotalInventory}}</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> </template>
</el-table-column> </el-table-column>
<el-table-column label="价格&库存" fixed min-width="120"> <el-table-column label="价格&库存" fixed min-width="120">
...@@ -136,7 +137,7 @@ ...@@ -136,7 +137,7 @@
</div> </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-form label-width="80px">
<el-row> <el-row>
<el-col :span="20"> <el-col :span="20">
...@@ -232,6 +233,39 @@ ...@@ -232,6 +233,39 @@
<button class="hollowFixedBtn" @click="showHQinfo = false">关闭</button> <button class="hollowFixedBtn" @click="showHQinfo = false">关闭</button>
</div> </div>
</el-dialog> </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> </div>
</template> </template>
<script> <script>
...@@ -253,6 +287,7 @@ ...@@ -253,6 +287,7 @@
//价格等级 //价格等级
PriceLevel: 0, PriceLevel: 0,
}, },
tableHeight:0,
beforeCheck: { beforeCheck: {
disabledDate: time => { disabledDate: time => {
if (this.msg.StartDate) { if (this.msg.StartDate) {
...@@ -287,14 +322,25 @@ ...@@ -287,14 +322,25 @@
pageIndex: 1, pageIndex: 1,
pageSize: 5, pageSize: 5,
currentPage: 1, currentPage: 1,
total: 0 total: 0,
OpType:1,
}, },
postMsg: { postMsg: {
Id: 0, Id: 0,
TipContent: '' TipContent: '',
OpType:1
},
queryLogMsg:{
pageIndex: 1,
pageSize: 6,
currentPage: 1,
total: 0,
HotelId:0
}, },
//默认显示弹窗信息 //默认显示弹窗信息
showHQinfo: true, showHQinfo: true,
showLogInfo: false,
LogsList:[],
//酒店温馨提示列表 //酒店温馨提示列表
HotelTipList: [], HotelTipList: [],
HotelList: [], HotelList: [],
...@@ -362,6 +408,7 @@ ...@@ -362,6 +408,7 @@
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.dataList = res.data.data; this.dataList = res.data.data;
console.log(this.dataList,'datalist');
this.isShow = true; this.isShow = true;
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
...@@ -439,6 +486,10 @@ ...@@ -439,6 +486,10 @@
this.queryMsg.pageIndex = val; this.queryMsg.pageIndex = val;
this.GetHotelTipList(); this.GetHotelTipList();
}, },
handleCurrentChange2(val){
this.queryLogMsg.pageIndex = val;
this.getLogsList(this.queryLogMsg.HotelId);
},
resetPageIndex() { resetPageIndex() {
this.queryMsg.pageIndex = 1; this.queryMsg.pageIndex = 1;
this.queryMsg.currentPage = 1; this.queryMsg.currentPage = 1;
...@@ -557,6 +608,29 @@ ...@@ -557,6 +608,29 @@
this.loading = false; 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() { mounted() {
this.getBranchList(); this.getBranchList();
...@@ -564,6 +638,10 @@ ...@@ -564,6 +638,10 @@
this.GetHotelList(); this.GetHotelList();
this.getList(); this.getList();
this.GetHotelTipList(); this.GetHotelTipList();
this.com_onresize();
window.onresize = () => {
this.com_onresize();
}
}, },
}; };
...@@ -695,5 +773,10 @@ ...@@ -695,5 +773,10 @@
.HotelQueryList .el-table td { .HotelQueryList .el-table td {
padding: 0; padding: 0;
} }
.hotelQury2 .w150 .el-input{
width:150px;
}
.HQ_em{
min-width: 75px!important;
}
</style> </style>
...@@ -213,10 +213,10 @@ ...@@ -213,10 +213,10 @@
<template> <template>
<div class="flexOne hotelSalesBoard" style="padding:0 20px;"> <div class="flexOne hotelSalesBoard" style="padding:0 20px;">
<div class="query-box Plan_Query"> <div class="query-box Plan_Query">
<ul> <ul style="position:relative;">
<li> <li>
<span> <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)" <el-select v-model="msg.Province" filterable @change="getProvinceList(msg.Province,2)"
:placeholder="$t('hotel.hotel_province')"> :placeholder="$t('hotel.hotel_province')">
<el-option :key="0" :value="0" label="请选择"></el-option> <el-option :key="0" :value="0" label="请选择"></el-option>
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
</span> </span>
</li> </li>
<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-select filterable v-model='msg.OutBranchId' :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='-1'></el-option> <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 v-for='item in companyList' :label='item.BName' :value='item.Id' :key="item.Id">
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
</li> </li>
<li> <li>
<span> <span>
<em>酒店</em> <em style="min-width:60px;">酒店</em>
<el-select v-model="msg.HotelId" :placeholder="$t('pub.pleaseSel')" filterable> <el-select v-model="msg.HotelId" :placeholder="$t('pub.pleaseSel')" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <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> <el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
...@@ -256,7 +256,7 @@ ...@@ -256,7 +256,7 @@
</el-select> </el-select>
</span> </span>
</li> </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> <button class="normalBtn" type="button" @click="GetHoltelInventory()">{{$t('pub.searchBtn')}}</button>
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotelSalesBoard()" /> <input type="button" class="normalBtn" value="下载" @click="DownLoadHotelSalesBoard()" />
</li> </li>
...@@ -307,9 +307,10 @@ ...@@ -307,9 +307,10 @@
<p style="word-break:breakall;" :class="stockColor(subItem.InventoryType)" <p style="word-break:breakall;" :class="stockColor(subItem.InventoryType)"
v-for="subItem in dayItem.dayValue">{{subItem.HotelName}} v-for="subItem in dayItem.dayValue">{{subItem.HotelName}}
(总: {{subItem.Inventory}} &nbsp;&nbsp; (总: {{subItem.Inventory}} &nbsp;&nbsp;
<!--@click="goUrl('roomReservations',subItem,dayItem.DayStr,'订房管理')" text-decoration:underline;-->
<a title="点击跳转到订房管理" v-if="subItem.UseInventory>0" <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> :class="subItem.InventoryType==4 ? 'stock1' : 'stock2'">已用:{{subItem.UseInventory}}</a>
<span v-else>已用:{{subItem.UseInventory}}</span> <span v-else>已用:{{subItem.UseInventory}}</span>
) )
......
...@@ -332,10 +332,10 @@ ...@@ -332,10 +332,10 @@
<template> <template>
<div class="flexOne hotelTS"> <div class="flexOne hotelTS">
<div class="query-box"> <div class="query-box">
<ul> <ul style="position:relative">
<li> <li>
<span> <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)" <el-select v-model="msg.Province" filterable @change="getProvinceList(msg.Province,2)"
:placeholder="$t('hotel.hotel_province')"> :placeholder="$t('hotel.hotel_province')">
<el-option :key="0" :value="0" label="请选择"></el-option> <el-option :key="0" :value="0" label="请选择"></el-option>
...@@ -349,7 +349,7 @@ ...@@ -349,7 +349,7 @@
</li> </li>
<li> <li>
<span> <span>
<em>酒店</em> <em style="min-width:60px;">酒店</em>
<el-select v-model="msg.HotelId" :placeholder="$t('pub.pleaseSel')" filterable> <el-select v-model="msg.HotelId" :placeholder="$t('pub.pleaseSel')" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="DefaultSelectValue"></el-option> <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> <el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
...@@ -358,7 +358,7 @@ ...@@ -358,7 +358,7 @@
</li> </li>
<li style="display:none;"> <li style="display:none;">
<span> <span>
<em>供应商</em> <em style="min-width:60px;">供应商</em>
<el-select v-model="msg.Supplier" placeholder="请选择"> <el-select v-model="msg.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option> <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">
...@@ -378,7 +378,7 @@ ...@@ -378,7 +378,7 @@
</el-date-picker> </el-date-picker>
</div> </div>
</li> </li>
<li> <li style="position:absolute;right:10px;top:0;">
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="getList()" /> <input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="getList()" />
</li> </li>
</ul> </ul>
......
<template> <template>
<div> <div>
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <ul style="position:relative;">
<li> <li>
<span> <span>
<em>{{$t('Operation.Op_Country')}}/{{$t('system.query_dest')}}</em> <em>{{$t('Operation.Op_Country')}}/{{$t('system.query_dest')}}</em>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
:picker-options="pickerBeginDateAfter"></el-date-picker> :picker-options="pickerBeginDateAfter"></el-date-picker>
</span> </span>
</li> </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="getList();resetPageIndex()" />
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotel()" /> <input type="button" class="normalBtn" value="下载" @click="DownLoadHotel()" />
</li> </li>
...@@ -140,7 +140,10 @@ ...@@ -140,7 +140,10 @@
{{childItem.CheckInDateStr}} {{childItem.CheckInDateStr}}
</td> </td>
<td class="tdLeft"> <td class="tdLeft">
{{childItem.NewHotelName}} <template v-if="childItem.SupplierId==UserInfo.SupplierId"> {{childItem.NewHotelName}}</template>
<template v-else>
组团社自理
</template>
</td> </td>
<td> <td>
<span style="color:red;"> <span style="color:red;">
...@@ -149,16 +152,13 @@ ...@@ -149,16 +152,13 @@
<template v-else>{{childItem.DMCState==1?"[地接-OK]":(childItem.DMCState==0?"[未操作]":"[暂定]")}} <template v-else>{{childItem.DMCState==1?"[地接-OK]":(childItem.DMCState==0?"[未操作]":"[暂定]")}}
</template> </template>
</template> </template>
<template v-else>
[组团社自理]
</template>
</span> </span>
</td> </td>
<td v-if="childIndex==0" :rowspan="subItem.hotelList.length"> <td v-if="childIndex==0" :rowspan="subItem.hotelList.length">
<a style="text-decoration:underline;color:blue;cursor:pointer" <a style="text-decoration:underline;color:blue;cursor:pointer"
@click="AddSupplierComplain(subItem.Complain_Extend.Id,subItem.Complain_Extend.TCID)"> @click="AddSupplierComplain(subItem.Complain_Extend.Id,subItem.Complain_Extend.TCID)">
<template v-if="subItem.Complain_Extend.Id>0">编辑</template> <template v-if="subItem.Complain_Extend.Id>0">编辑投诉</template>
<template v-else>添加</template> <template v-else>添加投诉</template>
</a> </a>
<a style="text-decoration:underline;color:red;cursor:pointer" v-if="subItem.Complain_Extend.Id>0" <a style="text-decoration:underline;color:red;cursor:pointer" v-if="subItem.Complain_Extend.Id>0"
@click="DeleteSupplierComplain(subItem.Complain_Extend.Id)">删除</a> @click="DeleteSupplierComplain(subItem.Complain_Extend.Id)">删除</a>
...@@ -512,7 +512,7 @@ ...@@ -512,7 +512,7 @@
.roomQuery_SupplierTable tr td { .roomQuery_SupplierTable tr td {
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
text-align: center; text-align: center;
padding: 10px 0; padding: 5px 0;
} }
.roomQuery_SupplierTable .tdLeft { .roomQuery_SupplierTable .tdLeft {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div style="position: relative;" ref="firstParent"> <div style="position: relative;" ref="firstParent">
<div class="nav"> <div class="nav">
<div class="nav-left"> <div class="nav-left">
<img class="GroupPic" src="../assets/img/default_head_img.jpg" /> <img class="GroupPic" src="../assets/img/daxiang.png" />
</div> </div>
<div class="nav-middle"> <div class="nav-middle">
<ul class="clearfix" :style="{width:`${allWindowWidth}px`}"> <ul class="clearfix" :style="{width:`${allWindowWidth}px`}">
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<div class="el-dropdown-link"> <div class="el-dropdown-link">
<img src="../assets/img/default_head_img.jpg" /> <img src="../assets/img/default_head_img.jpg" />
<span class="name" :title="userInfo.SupplierName">{{userInfo.SupplierName}}</span> <span class="SupplierName" :title="userInfo.SupplierName">{{userInfo.SupplierName}}</span>
</div> </div>
<el-dropdown-menu slot="dropdown" class="_dropdown _more_dropdown"> <el-dropdown-menu slot="dropdown" class="_dropdown _more_dropdown">
<el-dropdown-item class="clearfix _dropdown_other" @click.native="settingSys"> <el-dropdown-item class="clearfix _dropdown_other" @click.native="settingSys">
...@@ -53,6 +53,247 @@ ...@@ -53,6 +53,247 @@
<div class="temDivs"> <div class="temDivs">
<!-- :key="key" --> <!-- :key="key" -->
<router-view></router-view> <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%">&nbsp;</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>
</div> </div>
...@@ -78,16 +319,99 @@ ...@@ -78,16 +319,99 @@
fontPub: "iconfont", fontPub: "iconfont",
icon: 'this.src="' + require("../assets/img/NotificationIcon.png") + '"', icon: 'this.src="' + require("../assets/img/NotificationIcon.png") + '"',
allWindowWidth: '', 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() { created() {
this.userInfo = this.getLocalStorageSupplier(); this.userInfo = this.getLocalStorageSupplier();
console.log("userInfo",this.userInfo);
let language = localStorage.language; let language = localStorage.language;
if (!language) { if (!language) {
this.language = 'zh-CN'; this.language = 'zh-CN';
...@@ -125,11 +449,279 @@ ...@@ -125,11 +449,279 @@
this.$store.dispatch("logout") this.$store.dispatch("logout")
localStorage.removeItem("userInfo"); localStorage.removeItem("userInfo");
localStorage.removeItem("previousPathInfo"); localStorage.removeItem("previousPathInfo");
this.$router.push({ path: "/SupplierLogin" }); this.$router.push({
path: "/SupplierLogin"
});
}, },
settingSys: function () { settingSys: function () {
this.MsgBus.$emit('settingOpen') 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 @@ ...@@ -235,13 +827,13 @@
cursor: pointer; cursor: pointer;
} }
.nav-right ul li.user_head span.name { .nav-right ul li.user_head span.SupplierName {
color: #99a7b3; color: #99a7b3;
font-size: 12px; font-size: 12px;
display: inline-block; display: inline-block;
margin-left: 10px; margin-left: 10px;
overflow: hidden; overflow: hidden;
width: 45px; min-width: 45px;
height: 50px; height: 50px;
} }
...@@ -466,4 +1058,131 @@ ...@@ -466,4 +1058,131 @@
top: 50px !important; 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> </style>
...@@ -2574,6 +2574,14 @@ export default { ...@@ -2574,6 +2574,14 @@ export default {
title: '原路退款查询' title: '原路退款查询'
}, },
}, },
{ //财务 财务单据 汇兑损益查询
path: '/ExchangeLoss',
name: 'ExchangeLoss',
component: resolve => require(['@/components/FinancialModule/ExchangeLoss'], resolve),
meta: {
title: '汇兑损益查询'
},
},
{ //财务 财务单据 出纳工作台 { //财务 财务单据 出纳工作台
path: '/CashierWork', path: '/CashierWork',
name: 'CashierWork', name: 'CashierWork',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment