Commit 3afc7304 authored by 华国豪's avatar 华国豪 🙄
parents 6262cf0e 66e49166
<template>
<div class="Application">
<div class="Application_content">
<p style="text-align:center">
<span style="font-weight:700;font-size:20px;">現金受取依頼書</span>
<span class="download" @click="downLoad">下载</span>
</p>
<div>
<div style="margin:30px 0">
<el-select @change="CashListChange" v-model="id" placeholder="请选择">
<el-option
v-for="item in CashList"
:key="item.Name"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</div>  
弊社は下記のガイド1名が現金を受け取りします。受取者の本人パスポートを提示して/身分証明書を確認してから現金を渡してください。ご対応お願い致します。
</div>
<table style="margin-top:30px" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>受取日</th>
<th width="200">受取者</th>
<th>受取店舗</th>
<th>金 額</th>
</tr>
<tr>
<td>{{data.GetDate}}</td>
<td>{{data.LeaderName}}</td>
<td>
<el-select v-model="formdata.GetAddress" placeholder="请选择">
<el-option v-if="id=='' || id==item.CashId"
v-for="item in StoreList"
:key="item.Name"
:label="item.Name"
:value="item.Name">
</el-option>
</el-select>
</td>
<td>{{data.Money}}</td>
</tr>
</table>
<div style="text-align:right;margin-top:20px;font-size:14px;">
<p style="padding-bottom: 10px;">会社名 成都印象之旅</p>
<span>{{data.JapNowTime}}</span>
</div>
<div style="margin:50px 0">
{{data.CityName}}{{data.TCNUM}}编号:{{data.FrId}}
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
FrId:0,
CashList:[],
formdata:{},
data:{},
StoreList:[],
id:"",
}
},
created(){
this.FrId = this.$route.query.id;
},
mounted() {
this.GetData();
},
methods: {
downLoad(){
if(this.formdata.Name==""){
this.Error("请选择旅行社")
return;
}
if(this.formdata.GetAddress==""){
this.Error("请选择受取店铺")
return;
}
this.apipost('Financial_get_FinanceCashWithDrawalsDownLoad',this.formdata,res=>{
// console.log(res);
if(res.data.resultCode==1){
const link = document.createElement('a');
let _loadUrl=this.domainManager().DomainUrl
let str = window.location.href
link.href = _loadUrl+res.data.data
document.body.appendChild(link);
link.click();
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
CashListChange(val){
this.id=val;
this.CashList.forEach(item=>{
if(item.Id==this.id){
this.formdata.Name=item.Name;
}
})
this.formdata.GetAddress="";
},
GetData(){
this.apipost('Financial_get_GetFinanceCashWithDrawals',{FrId:this.FrId}, res => {
if(res.data.resultCode == 1) {
this.data = res.data.data;
this.formdata=Object.assign({},res.data.data);
this.CashList= res.data.data.CashList;
this.StoreList= res.data.data.StoreList;
}
}, err => {})
},
}
}
</script>
<style>
.Application .download{
float:right;
cursor: pointer;
font-size: 14px;
color: #3980C8;
}
.Application .download:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.Application tr th{
border: 1px solid #e5e5e5;
}
.Application{
background: #fff;
padding-top: 20px;
min-height:800px;
}
.Application .Application_content{
border: 1px solid #eeeeee;
width:900px;
margin:0 auto;
padding: 20px;
}
</style>
<template>
<div class="DebitNote">
<div class="Application_content">
<p style="text-align:center">
<span style="font-weight:700;font-size:20px;">借支单</span>
<span class="download" @click="downLoad">下载</span>
</p>
<table style="margin-top:40px;text-align:left" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150">公司名称</td>
<td colspan="3">{{data.CityName}}</td>
<td width="100">附件</td>
<td width="200">共 2 张</td>
</tr>
<tr>
<td>申请部门</td>
<td width="100">{{data.DepName}}</td>
<td width="100">申请人</td>
<td width="100">{{data.Name}}</td>
<td>填单日期</td>
<td width="100">{{data.JapNowTime}}</td>
</tr>
<tr>
<td>业务项目</td>
<td class="left" colspan="5">{{data.TCNUM}}</td>
</tr>
<tr>
<td>审批编号</td>
<td class="left" colspan="5">{{data.FrId}}</td>
</tr>
<tr>
<td style="padding: 38px 0;">借款事由</td>
<td class="left" colspan="5">{{data.Description}}</td>
</tr>
<tr>
<td>借款金额</td>
<td class="left">{{data.Money}}</td>
<td colspan="2">预计还款报销日期</td>
<td class="left" colspan="2">{{data.ReimbursementDate}}</td>
</tr>
<tr>
<td>大写:{{data.CurrName}}</td>
<td class="left" colspan="5">{{chinaAllPrice}}</td>
</tr>
<tr>
<td>部门负责人审批</td>
<td></td>
<td>领导审批</td>
<td colspan="3"></td>
</tr>
</table>
<div style="padding: 10px 0;margin-top: 30px;overflow:auto;font-size:14px">
<!-- <span>财务经理: </span>
<span>会计主管:</span>
<span>复核:</span>
<span>出纳:</span> -->
<span style="display: inline-block;width: 200px;float: right;">领款人:</span>
</div>
</div>
</div>
</template>
<script>
export default {
data () {
return {
FrId:0,
data:{},
chinaAllPrice:this.$commonUtils.changeMoneyToChinese(0),
}
},
created(){
this.FrId = this.$route.query.id;
},
mounted() {
this.GetData();
},
methods: {
downLoad(){
this.apipost('Financial_get_FinanceBorrowASingleDownLoad',this.formdata,res=>{
if(res.data.resultCode==1){
const link = document.createElement('a');
let _loadUrl=this.domainManager().DomainUrl
let str = window.location.href
link.href = _loadUrl+res.data.data
document.body.appendChild(link);
link.click();
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
CashListChange(val){
this.id=val;
this.CashList.forEach(item=>{
if(item.Id==this.id){
this.formdata.Name=item.Name;
}
})
},
GetData(){
this.apipost('Financial_get_GetFinanceBorrowASingle',{FrId:this.FrId}, res => {
console.log(res);
if(res.data.resultCode == 1) {
this.data = res.data.data;
this.chinaAllPrice=this.$commonUtils.changeMoneyToChinese(this.data.Money)
this.formdata=Object.assign({},res.data.data);
this.formdata.BigMoney=this.chinaAllPrice;
}
}, err => {})
},
}
}
</script>
<style>
.DebitNote .download{
float:right;
cursor: pointer;
font-size: 14px;
color: #3980C8;
}
.DebitNote .download:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.DebitNote .left{
text-align:left;
padding-left: 15px;
}
.DebitNote tr th{
border: 1px solid #e5e5e5;
}
.DebitNote{
background: #fff;
padding-top: 20px;
min-height:800px;
}
.DebitNote .Application_content{
width: 900px;
margin:0 auto;
padding: 20px;
border: 1px solid #eeeeee;
}
</style>
......@@ -251,7 +251,7 @@
}
._Printing{
position: relative;
left: 766px;
left: 830px;
top: 25px;
z-index: 30;
font-size: 12px;
......@@ -328,12 +328,38 @@
.color_shz{color: #1273BC}
.color_tg{color: #4BCA81}
.color_bh{color: #c94052}
.page_fdd .sqs:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.page_fdd .Note_span:hover{
text-decoration: underline;
color: rgb(255, 0, 0);
}
.page_fdd .sqs{
position: relative;
left: 642px;
top: 25px;
cursor: pointer;
color: #3980C8;
font-size: 12px;
}
.page_fdd .Note_span{
position: relative;
left: 635px;
top: 25px;
cursor: pointer;
color: #3980C8;
font-size: 12px;
}
</style>
<template>
<div class="page_fdd" v-if="GetDetail">
<div class="_none_print">
<span class="_Printing" @click="goPrintPage(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">打印单据</span>
<span v-if="GetDetail.TemplateId==48 || GetDetail.TemplateId==43" class="Note_span" @click="goUrl('DebitNote',GetDetail.FrID)">借支单下载</span>
<span v-if="GetDetail.TemplateId==48 || (GetDetail.TemplateId==43&&GetDetail.IsPublic==4)" class="sqs" @click="goUrl('Application',GetDetail.FrID)">申请书下载</span>
<p class="_tit">{{GetDetail.FinanceName}} <span :class="{color_shz:(GetDetail.StatusStr!=='通过' && GetDetail.StatusStr!=='驳回' && GetDetail.StatusStr!=='作废'),color_tg:GetDetail.StatusStr==='通过',color_bh:GetDetail.StatusStr==='驳回'}">{{GetDetail.StatusStr}}</span></p>
<div class="_conten">
<my-Bill v-if="GetDetail.Type===2 && GetDetail.Type!==5" :isPrintPage="false" :ID="GetDetail.FrID" :width="widthSon" :color="colorSon"></my-Bill>
......@@ -837,6 +863,15 @@ export default {
let userinfo = this.getLocalStorage();
this.bossID = userinfo.EmployeeId;
},methods:{
goUrl(path, id) {
this.$router.push({
name: path,
query: {
id: id,
blank: "y"
}
});
},
inited (viewer){
this.$viewer = viewer
},
......
......@@ -658,6 +658,7 @@ export default {
resultCode:null,
EmployeeId:0,
describeList:[],
isFrompassenger:false,
}
},
methods:{
......@@ -896,6 +897,7 @@ export default {
if(res.data.resultCode==1){
//清除旅客名单数据
sessionStorage.removeItem("saveGuestInfo");
sessionStorage.removeItem("guoji");
// this.$store.commit('saveGuestInfo',[])
this.$confirm(this.$t('tips.czcgsfjxzhidan'), this.$t('tips.tips'), {
confirmButtonText: this.$t('fnc.jxzhidan'),
......@@ -1144,6 +1146,7 @@ export default {
this.apipost('Financial_post_GetCostTypeList',{ID:id}, res => {
if(res.data.resultCode == 1) {
this.GetCostTypeList = res.data.data;
console.log(this.GetCostTypeList,'type');
if(type){
this.msg.detailList.forEach(x=>{
this.GetCostTypeList.forEach(y=>{
......@@ -1265,6 +1268,9 @@ export default {
{
this.msg.Type=this.$route.query.InPay;
}
if(this.isFrompassenger){
this.setDocument();
}
}else{
this.loading=false;
this.$message.error(res.data.message);
......@@ -1309,19 +1315,102 @@ export default {
this.companyList = data;
}, err => {})
},
//设置选中单据名单
setDocument(){
let guojiSessions = JSON.parse(window.sessionStorage.getItem("guoji"));
if(guojiSessions.guojiArr.length>0){
this.msg.detailList.push({
ID:0,
UnitPrice:'',
UnitPriceTo:'',
Number:guojiSessions.guojiArr.length,
Rate:'',
CostTypeId:52,
CurrencyId:'',
Remark:'',
CostTypeName:'',
yTotalPrice:'',
yTotalPriceTo:'',
bTotalPrice:'',
bTotalPriceTo:'',
show:false,
});
}
if(guojiSessions.guoneiArr.length>0){
this.msg.detailList.push({
ID:0,
UnitPrice:'',
UnitPriceTo:'',
Number:guojiSessions.guoneiArr.length,
Rate:'',
CostTypeId:66,
CurrencyId:'',
Remark:'',
CostTypeName:'',
yTotalPrice:'',
yTotalPriceTo:'',
bTotalPrice:'',
bTotalPriceTo:'',
show:false,
});
}
if(guojiSessions.shuijinArr.length>0){
this.msg.detailList.push({
ID:0,
UnitPrice:'',
UnitPriceTo:'',
Number:guojiSessions.shuijinArr.length,
Rate:'',
CostTypeId:80,
CurrencyId:'',
Remark:'',
CostTypeName:'',
yTotalPrice:'',
yTotalPriceTo:'',
bTotalPrice:'',
bTotalPriceTo:'',
show:false,
});
}
if(this.orderObj!=null&&this.orderObj.OrderSource===4&&this.isFrompassenger){
let guojiSessions = JSON.parse(window.sessionStorage.getItem("guoji"));
let guoji='',guonei='',guojizhongduan='',shuijin='',shengcang='';
guojiSessions.guojiArr.forEach(x=>{
guoji+=x+' '
})
guojiSessions.guoneiArr.forEach(x=>{
guonei+=x+' '
})
guojiSessions.gjzdArr.forEach(x=>{
guojizhongduan+=x+' '
})
guojiSessions.shuijinArr.forEach(x=>{
shuijin+=x+' '
})
guojiSessions.shengcangArr.forEach(x=>{
shengcang+=x+' '
})
var gj = guoji==''?'':'国际机票:'+guoji;
var gn = guonei==''?'':'国内航段:'+guonei;
var gjzd = guojizhongduan==''?'':'国际中断:'+guojizhongduan;
var sj = shuijin==''?'':'税金:'+shuijin;
var sc = shengcang==''?'':'升舱:'+shengcang;
this.Description= gj+' '+gn+' '+gjzd+ ' '+ sj+' '+sc
}
}
},created(){
var that=this;
this.orderObj = this.$route.query.orderObj?JSON.parse(this.$route.query.orderObj):null;
this.isFrompassenger = this.orderObj.isFromPassenger;
console.log(this.orderObj,'orderObj');
// console.log(this.$route.query.orderObj)
if(this.orderObj!=null&&this.orderObj.OrderSource===10){
if(this.orderObj!=null&&this.orderObj.OrderSource===10&&this.isFrompassenger==undefined){
that.Description="旅客名单:";
that.describeList=JSON.parse(sessionStorage.getItem("saveGuestInfo"));
console.log("that.describeList",that.describeList)
that.describeList.forEach(item=>{
that.Description+=item.GuestName+" ";
})
console.log("that.Description",that.Description)
}
},mounted(){
let userInfo = this.getLocalStorage();
......@@ -1359,6 +1448,7 @@ export default {
this.returnCode = this.$route.query.Conditon;
}
// this.admin_get_DepartmentGetList();
},components: {
"my-FlowChartModule": myFlowChartModule
}
......
......@@ -304,7 +304,7 @@
</div>
</div>
</td>
<td colspan="8" class="groupTourOrder_tickets" style="height: 40px;cursor: pointer;">
<td colspan="9" class="groupTourOrder_tickets" style="height: 40px;cursor: pointer;">
<div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)">
<div>收款单据:</div>
<div>
......@@ -752,8 +752,7 @@
background: #bdbdbd;
height: 30px;
font-size: 12px;
text-align: left;
text-indent: 15px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
......
......@@ -117,12 +117,18 @@
</li>
<li>
<input type="button" class="normalBtn" value="导出报表" @click="getFlightInfo(),getCombinTeam()" />
<input type="button" class="normalBtn" v-if="isShowGuoji" value="制作财务单据" @click="makeFinacelDoc()" />
<input type="button" class="normalBtn" value="导出报表" @click="exportExcel()" style="display:none;"/>
</li>
</ul>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th v-if="isShowGuoji">国际机票 <input type="checkbox" @change="checkAllbox(checkdGuoji,'guoji')" v-model="checkdGuoji"/></th>
<th v-if="isShowGuoji">国内机票 <input type="checkbox" @change="checkAllbox(checkedGuonei,'guonei')" v-model="checkedGuonei"/></th>
<th v-if="isShowGuoji">国际中断 <input type="checkbox" @change="checkAllbox(checkedGJzd,'gjzd')" v-model="checkedGJzd"/></th>
<th v-if="isShowGuoji">税金 <input type="checkbox" @change="checkAllbox(checkedshuijin,'shuijin')" v-model="checkedshuijin"/></th>
<th v-if="isShowGuoji">升舱 <input type="checkbox" @change="checkAllbox(checkedsc,'shengcang')" v-model="checkedsc"/></th>
<th>旅客姓名</th>
<th>身份证</th>
<th>英文姓</th>
......@@ -135,6 +141,21 @@
<th>客人联系方式</th>
</tr>
<tr v-for="(item,index) in QueryMsg.dataList">
<td v-if="isShowGuoji">
<input v-model="item.guoji" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.guonei" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.gjzd" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.shuijin" type="checkbox"/>
</td>
<td v-if="isShowGuoji">
<input v-model="item.shengcang" type="checkbox"/>
</td>
<td>{{item.GuestName}}</td>
<td>{{item.IdCard}}</td>
<td>{{item.ESurName}}</td>
......@@ -260,6 +281,19 @@
outerVisible: false,
flightList: [],
combineTeamList: [],
isShowGuoji:false,
jipiaoObj:{
guojiArr:[],
guoneiArr:[],
gjzdArr:[],
shuijinArr:[],
shengcangArr:[]
},
checkdGuoji:false,
checkedGuonei:false,
checkedGJzd:false,
checkedshuijin:false,
checkedsc:false,
};
},
methods: {
......@@ -282,6 +316,16 @@
item.Sex = "女";
}
});
if(this.isShowGuoji){
this.QueryMsg.dataList.forEach(x=>{
x.guoji = false;
x.guonei=false;
x.gjzd = false;
x.shuijin = false;
x.shengcang = false;
})
}
console.log(this.QueryMsg.dataList);
}
},
err => {}
......@@ -413,11 +457,69 @@
},
err => {}
);
},
makeFinacelDoc(){
this.jipiaoObj.guojiArr=[];
this.jipiaoObj.guoneiArr=[];
this.jipiaoObj.gjzdArr=[];
this.jipiaoObj.shuijinArr=[];
this.jipiaoObj.shengcangArr=[];
this.QueryMsg.dataList.forEach(x=>{
if(x.guoji){
this.jipiaoObj.guojiArr.push(x.GuestName);
}
if(x.guonei){
this.jipiaoObj.guoneiArr.push(x.GuestName);
}
if(x.gjzd){
this.jipiaoObj.gjzdArr.push(x.GuestName);
}
if(x.shuijin){
this.jipiaoObj.shuijinArr.push(x.GuestName);
}
if(x.shengcang){
this.jipiaoObj.shengcangArr.push(x.GuestName);
}
})
sessionStorage.setItem("guoji",JSON.stringify(this.jipiaoObj));
let orderObj = {
OrderID: 0,
OrderSource: 4,
Obj: {},
SourceID: this.$route.query.id,
TCIDList: [],
isFromPassenger:true,
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
"Type": 2,
"path": "",
'blank': 'y',
'orderObj': JSON.stringify(orderObj)
}
});
},
//设置全选
checkAllbox(x,y){
if(x){
this.QueryMsg.dataList.forEach(x=>{
x[y]=true
})
}else{
this.QueryMsg.dataList.forEach(x=>{
x[y]=false
})
}
}
},
mounted() {
this.QueryMsg.AirTicketId = this.$route.query.id;
this.msg.AirTicketId = this.$route.query.id;
if(this.$route.query.isFromTk!=undefined){
this.isShowGuoji = this.$route.query.isFromTk;
}
var myDate = new Date();
this.QueryMsg.nowDate =
myDate.getFullYear() +
......@@ -426,6 +528,9 @@
"-" +
myDate.getDate();
this.getTeamInfo();
if(this.isShowGuoji){
this.msg.PageSize=200;
}
this.getList();
}
};
......
......@@ -1516,7 +1516,7 @@
</div>
</li>
<!--尾款-->
<li v-if="item.FinalPayment!=''">
<li v-if="item.FinalPayment!=''&&item.FirstDeposit==''&&item.SecondDeposit==''&&item.ThirdDeposit==''&&item.FourthDeposit==''">
<div @click="goFinacePage(item,5)" :class="getClass(item.FinalPaymentStatus)">
<el-tooltip effect="dark" :content="item.FinalPayment" placement="top" popper-class="max-w250">
<span></span>
......@@ -1529,6 +1529,19 @@
</span>
</div>
</li>
<li v-else-if="item.FinalPayment!=''">
<div @click="goCustomList('PassengerList',item,'旅客名单')" :class="getClass(item.FinalPaymentStatus)">
<el-tooltip effect="dark" :content="item.FinalPayment" placement="top" popper-class="max-w250">
<span></span>
</el-tooltip>
</div>
<div class="FinaDetailContent">
<span v-if="item.FinalAuditList!=null" v-for="childItem in item.FinalAuditList">
<span class="FinaceDanList"
@click="goFinaceDetails(childItem.FinaceId)">{{childItem.FinaceId}}</span>
</span>
</div>
</li>
</ul>
</div>
</el-col>
......@@ -2502,6 +2515,20 @@
}
});
},
//跳转至旅客名单
goCustomList(path, obj, title){
this.$router.push({
name: path,
query: {
blank: 'y',
isFromTk:true,
id: obj.ID,
TCIDList: obj.TCIDList,
companyIDList: obj.OutBranchIdList,
tab: title
}
})
},
//导入
getImport(command) {
this.importType = command;
......@@ -2542,6 +2569,7 @@
this.total = res.data.data.count;
this.dataList = res.data.data.pageData;
this.noData = !this.total > 0;
console.log(this.dataList,'datalist');
}
if (this.msg.ID == 0) {
this.msg.ID = "";
......@@ -2772,7 +2800,7 @@
airlineID: AirLineID
};
this.apipost(
"flight_post_GetAirportNameList",
"flight_post_GetAirportNameListExt",
msg,
res => {
if (res.data.resultCode == 1) {
......
......@@ -116,9 +116,9 @@
<td>{{item.B2CMemberPrice}}</td>
<td>{{item.TotalSeat}}</td>
<td>
<span class="Order_RS" :class="{'RS_RedType':item.OrderTotalNum>0}" @click="goUrl('RegistrationList',item.TCID)">{{item.OrderTotalNum-item.OrderLeaderGuestNum}}<span v-if="item.OrderLeaderGuestNum>0">+{{item.OrderLeaderGuestNum}}</span></span>
<span class="Order_RS" :class="{'RS_RedType':item.OrderTotalNum>0}" @click="goUrl('RegistrationList',item.TCID,'设置领队')">{{item.OrderTotalNum-item.OrderLeaderGuestNum}}<span v-if="item.OrderLeaderGuestNum>0">+{{item.OrderLeaderGuestNum}}</span></span>
</td>
<td><span class="Order_RS" @click="goUrl('RegistrationList',item.TCID)">{{item.OrderPaymentNum}}</span></td>
<td><span class="Order_RS" @click="goUrl('RegistrationList',item.TCID,'设置领队')">{{item.OrderPaymentNum}}</span></td>
<td><span :class="item.LeaderName!=''&&item.LeaderName!=null?'PingFangSC Order_RS':'Order_RS'" @click="goUrl('RegistrationList',item.TCID,'报名清单')">{{item.LeaderName!=""&&item.LeaderName!=null ?item.LeaderName:"设置领队"}}</span></td>
<td><span :class="item.GuideName!=''&&item.GuideName!=null?'RS_RedType PingFangSC Order_RS':'Order_RS'" @click="goUrl('leaderArrangement',item.TCID,'设置导游')">{{item.GuideName!=""&&item.GuideName!=null?item.GuideName:"设置导游"}}</span></td>
<td><span class="RS_Nameover">{{item.OPRemark}}</span></td>
......@@ -265,9 +265,10 @@ export default {
"报名统计.xls"
);
},
goUrl(path, id) {
goUrl(path, id,NameStr) {
if (id > 0) {
this.$router.push({name: path, query: {id: id}});
this.$router.push({name: path, query: {id: id,blank: "y",
tab: NameStr}});
} else {
this.$router.push({name: path});
}
......
<style>
.user_time_picker .el-date-editor--date>.el-input__inner {
padding:0 10px;
font-size: 13px;
}
.user_time_picker .el-date-editor--date>span.el-input__prefix {
display: none;
}
.user_time_picker .el-date-editor--date>span.el-input__suffix{
top:-4px;right: 2px;
}
.zidingyiFz i{font-size: 14px!important;}
.TravelInfoList .choose_form .el-form-item{
display: inline-block;
}
.TravelInfoList .info_details p{
padding:4px 0;
}
</style>
<template>
<div class="TravelInfoList flexOne">
<div class="query-box">
<div style="overflow:auto">
<input type="button" class="normalBtn" value="查询" style="float:right" @click="getList"/>
</div>
<el-form class="choose_form" ref="form" :model="form" label-width="80px">
<el-form-item label="处理状态">
<el-select v-model="form.dealStatus" placeholder="请选择平台">
<el-option label="不限" :value="-1"></el-option>
<el-option label="未分配" :value="1"></el-option>
<el-option label="处理中" :value="2"></el-option>
<el-option label="处理完成" :value="3"></el-option>
<el-option label="处理失败" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="开始时间">
<el-date-picker class="w150" type="date" v-model="form.searchStartDate"
:picker-options="pickerBeginDateBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
<el-form-item label="结束时间">
<el-date-picker class="w150" type="date" v-model="form.searchEndDate"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
<el-form-item label="需要提供">
<el-input
type="text"
placeholder="请输入内容"
v-model="form.provideItem"
maxlength="10"
show-word-limit
>
</el-input>
</el-form-item>
</el-form>
</div>
<div class="clearfix"></div>
<!-- <div style="margin: 10px 0;" class="fz14 color333">{{$t('adm.adm_Validaccount')}}:<span class="colorE95252">{{UseNum}}</span>&nbsp;&nbsp;&nbsp;&nbsp;账号限额:<span class="colorE95252">{{TotalNum}}</span></div> -->
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>出发地</th>
<th>目的地</th>
<th>出发日期</th>
<th>人数</th>
<th>人均估算</th>
<th>需要提供</th>
<th>分配销售</th>
<th>处理状态</th>
<th>处理日期</th>
<th>创建日期</th>
<th>操作</th>
</tr>
<tr v-for="(item,index) in DataList" :key="index" v-loading='loading'>
<td>{{item.departureName}}</td>
<td>{{item.destinationNames}}</td>
<td>{{item.startDate | YearMD}}</td>
<td>
<span v-if="item.audltNumber>0">成人:{{item.audltNumber}}</span>
<span v-if="item.childrenNumber>0">儿童:{{item.childrenNumber}}</span>
</td>
<td>{{item.budget}}</td>
<td>{{item.provideItem}}</td>
<td>{{item.salesName}}</td>
<td>
<span v-if="item.dealStatus==1">未分配</span>
<span v-if="item.dealStatus==2">处理中</span>
<span v-if="item.dealStatus==3">处理完成</span>
<span v-if="item.dealStatus==4">处理失败</span>
</td>
<td>{{item.dealDate | YearMD}}</td>
<td>{{item.createDate | YearMD}}</td>
<td>
<el-tooltip class="item" effect="dark" content="处理信息" placement="top">
<el-button type="primary" icon="el-icon-edit" circle @click="Visible=true,Deal(item)"></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div class="noData" v-if="DataList.length==0">
暂无数据
</div>
<el-pagination background @current-change="handleCurrentChange" layout="total,prev, pager, next, jumper" :page-size=form.pageSize :total=total>
</el-pagination>
<el-dialog custom-class='w400' title="处理行程信息" :visible.sync="Visible">
<el-form :model="pwdMsg" label-width="80px">
<el-form-item label="处理状态">
<el-select v-model="pwdMsg.dealStatus" filterable placeholder="请选择销售">
<el-option label="处理完成" :value="3"></el-option>
<el-option label="处理失败" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="处理备注">
<el-input
type="textarea"
:rows="2"
placeholder="请输入处理备注"
v-model="pwdMsg.dealRemark">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="Visible=false">取消</button>
<button class="normalBtn" @click="submitForm1">确定</button>
</div>
</el-dialog>
</div>
</template>
<script>
import moment from "moment"
export default {
data() {
return {
form:{
dealStatus:-1,
searchStartDate:"",
searchEndDate:"",
pageIndex:1,
pageSize:15
},
Visible:false,
total:0,
DataList:[],
loading:false,
pwdMsg:{
dealStatus:"",
dealRemark:"",
},
employee:[],
saleList:[],
pickerBeginDateBefore: {
disabledDate: time => {
if (this.form.searchEndDate == null) {
return false;
} else {
let endTime = new Date(this.form.searchEndDate)
return endTime.getTime() < time.getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.form.searchStartDate)
return startTime.getTime() >= time.getTime()
}
}
}
},
mounted() {
let userInfo=this.getLocalStorage();
this.getList();
},
filters:{
YearMD(val){
let str="";
if(val){
str=moment(val).format("YYYY-MM-DD")
}
return str;
},
},
methods: {
Deal(item){
this.pwdMsg.customId=item.customId;
},
submitForm1() {
if(this.pwdMsg.dealStatus==""){
this.Error("请选择处理状态!");
return;
}
this.apiJavaPost("/api/dmc/travelCoupom/salesDealTravelCoupom",this.pwdMsg, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message)
this.Visible=false;
this.getList();
} else {
this.Error(res.data.message)
}
}, null);
},
getList() { //获取数据
this.loading=true,
this.apiJavaPost("/api/dmc/travelCoupom/getSalesTravelCoupomList",this.form, res => {
this.loading = false;
if (res.data.resultCode === 1) {
this.DataList = res.data.data.pageData;
this.total= res.data.data.count;
} else {
this.Error(res.data.message)
}
}, null);
},
handleCurrentChange(val){
this.form.pageIndex=val;
this.getList();
},
}
}
</script>
\ No newline at end of file
......@@ -568,7 +568,7 @@
<template v-if="subItem.SubList">
<div v-if="subItem.SubList.length==1 && subItem.SubList[0].UseCount>0 ">
{{subItem.SubList[0].HotelName}}
<a style="color:green">{{subItem.SubList[0].RemainingInventory>-3?"【OK】":"【暂定】"}}</a>
<a style="color:green">{{subItem.SubList[0].Status==1?"【OK】":"【暂定】"}}</a>
<a
style="color:green"> 本团使用库存:{{subItem.SubList[0].UseCount}}
{{subItem.SubList[0].CostPrice!=0?"价格:"+subItem.SubList[0].CostPrice:""}}</a></div>
......@@ -1176,7 +1176,8 @@
item.SalePlatList.push(parseInt(y))
})
}
})
console.log("HotelOrderListReports",item.HotelOrderListReports);
});
}
},
err => {}
......@@ -1782,7 +1783,7 @@
if (this.queryCommonData.IsParentCompany != 1) {
this.queryMsg.OutBranchIds.push(this.CurrentUserInfo.RB_Branch_id)
}
this.getControlList()
this.getControlList();
}
}
......
......@@ -55,8 +55,8 @@
v-loading="QueryMsg.loading"
>
<tr>
<th width="50">ID</th>
<th width="50">分房</th>
<th width="50">房间数</th>
<th width="50">房号</th>
<th width="130">酒店及房型</th>
<th width="130">旅客姓名</th>
<th width="110">英文姓</th>
......@@ -82,8 +82,8 @@
</tr>
<tbody v-for="(item,index) in QueryMsg.dataList" :key="index">
<tr v-for="(subItem,subIndex) in item">
<td>{{subItem.Number}}</td>
<td>{{subItem.HouseNo!="10000"?subItem.HouseNo:""}}</td>
<td v-if="subIndex==0" :rowspan="subItem.RowsCount">{{index+1}}</td>
<td v-if="subIndex==0" :rowspan="subItem.RowsCount"></td>
<td>{{getHouseTypeStr(subItem)}}</td>
<td>{{subItem.GuestName}}</td>
<td>{{subItem.ESurName}}</td>
......@@ -106,11 +106,11 @@
</td>
<td>{{subItem.VisaType}}</td>
</tr>
<tr height="30">
<!-- <tr height="30">
<td colspan="21" align="left">
<span class="colorE95252" style="text-align:left">备注:{{item[0].Remarks}}</span>
</td>
</tr>
</tr> -->
</tbody>
</table>
</div>
......
This diff is collapsed.
<style>
.busManagerTalbe {
background: #ccc;
font-size:12px;
}
.busManagerTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.commonBackColor {
background-color: #E6E6E6;
color:#333;
}
.comTextAlign{
text-align: left;
padding-left: 20px;
}
</style>
<template>
<div>
<table border="0" cellspacing="1" cellpadding="0" class="busManagerTalbe" style="width: 100%;">
<tr>
<td colspan="6">印象ジャパンバス手配依頼書</td>
</tr>
<tr>
<td class="commonBackColor">団 體 名:</td>
<td colspan="5" class="comTextAlign">HP20190428A1</td>
</tr>
<tr>
<td class="commonBackColor">ガイド名前:</td>
<td class="comTextAlign">张三丰</td>
<td class="commonBackColor">攜帯番號:</td>
<td colspan="3" class="comTextAlign">123456789</td>
</tr>
<tr>
<td class="commonBackColor">人   數:</td>
<td colspan="5" class="comTextAlign">25+1</td>
</tr>
<tr>
<td class="commonBackColor">バス 種類:</td>
<td colspan="5" class="comTextAlign">1</td>
</tr>
<tr>
<td class="commonBackColor">スケジュール:</td>
<td colspan="5" class="comTextAlign"></td>
</tr>
<tr>
<td class="commonBackColor">日付</td>
<td class="commonBackColor">用車状況</td>
<td class="commonBackColor">便名</td>
<td class="commonBackColor">スケジュール內容</td>
<td class="commonBackColor">ホテル</td>
<td class="commonBackColor">ホテルTEL</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>備考欄:</td>
<td colspan="5" class="comTextAlign">04/28日接机+0天+05/04日东京成田国际机场送机,订房号:HP20190428A1</td>
</tr>
<tr>
<td colspan="6" class="comTextAlign">*迎えや送りは必要・不要となることは、必ず標記してください。</td>
</tr>
<tr>
<td colspan="6" class="comTextAlign">*直接バス會社へ送付するので、必ず日本語でご記入ください。</td>
</tr>
</table>
</div>
</template>
......@@ -39,9 +39,12 @@
v-loading='msg.loading'>
<tr>
<th width="5%">序号</th>
<th width="5%">停车场名称/停车场地址</th>
<th width="5%">停车场名称</th>
<th width="5%">停车场地址</th>
<th width="5%">联系电话</th>
<th width="10%">地区</th>
<th width="10%">总库存/使用库存/剩余库存</th>
<th width="10%">价格</th>
<th width="10%">操作人</th>
<th width="10%">操作</th>
</tr>
......@@ -51,15 +54,22 @@
</td>
<td style="text-align:left;padding:0 20px;">
{{item.ParkName}}
<br />
</td>
<td>
{{item.Address}}
</td>
<td style="text-align:left;padding:0 20px;">
{{item.ParkTel}}
</td>
<td>
{{item.CountryName}}-{{item.ProvinceName}}-{{item.CityName}}-{{item.DistrictName}}
</td>
<td>
{{item.StockNum}}/{{item.UseNum}}/{{item.ShengYu}}
</td>
<td>
{{item.ParkPrice}}
</td>
<td>
{{item.CreatyByName}}
<br />
......@@ -70,16 +80,15 @@
<el-button type="primary" icon="el-icon-edit" @click="IsShow=true,GetPark(item.Id)" circle></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start">
<el-button type="danger" icon="el-icon-delete"
@click="delPark(item.Id)" circle></el-button>
<el-button type="danger" icon="el-icon-delete" @click="delPark(item.Id)" circle></el-button>
</el-tooltip>
</td>
</tr>
</table>
</div>
<div class="noDataNotice" v-if="!DataList||DataList.length==0">
<i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
<i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
......@@ -104,14 +113,14 @@
</el-col>
<el-col :span="5">
<el-form-item label="国家">
<el-select v-model="PostMsg.Country" clearable class="w210" filterable @change="getAddProvince(PostMsg.Country,1)"
:placeholder="$t('hotel.hotel_country')">
<el-select v-model="PostMsg.Country" clearable class="w210" filterable
@change="getAddProvince(PostMsg.Country,1)" :placeholder="$t('hotel.hotel_country')">
<el-option :label="$t('pub.unlimitedSel')" :value="0"></el-option>
<el-option v-for="item in countryList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="5">
<!-- <el-col :span="5">
<el-form-item label="省份">
<el-select v-model="PostMsg.Province" filterable class="w210" @change="getAddProvince(PostMsg.Province,2)"
:placeholder="$t('hotel.hotel_province')">
......@@ -127,13 +136,15 @@
<el-option v-for="item in cityList2" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="5">
<el-form-item label="详细地址">
<el-input v-model="PostMsg.Address" class="w210"></el-input>
<el-input placeholder="请输入内容" class="w210" v-model="PostMsg.Address">
<el-button slot="append" @click="selectAddress = true" icon="iconfont icon-img_dw"></el-button>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<!-- <el-col :span="5">
<el-form-item label="经度">
<el-input v-model="PostMsg.Lng" class="w210"></el-input>
</el-form-item>
......@@ -143,18 +154,37 @@
<el-form-item label="纬度">
<el-input v-model="PostMsg.Lat" class="w210"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="5">
<el-form-item label="电话">
<el-input v-model="PostMsg.ParkTel" class="w210" max-length="30"></el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="价格">
<el-input v-model="PostMsg.ParkPrice" @keyup.native="checkPrice(PostMsg,'ParkPrice')" class="w210"
max-length="15">
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="库存数量">
<el-input v-model="PostMsg.StockNum" @keyup.native="checkInteger(PostMsg,'StockNum')" class="w210"></el-input>
<el-input v-model="PostMsg.StockNum" @keyup.native="checkInteger(PostMsg,'StockNum')" class="w210">
</el-input>
</el-form-item>
</el-col>
</el-form>
</div>
<el-dialog custom-class="mapList" title="地图选址" center :visible.sync="selectAddress">
<googleMap @refList="googleMap" v-bind:address="PostMsg.Address" @headCallBack="headCall"></googleMap>
</el-dialog>
</div>
</template>
<script>
import googleMap from "../commonPage/googleMap.vue";
export default {
data() {
return {
......@@ -182,12 +212,15 @@
Lng: "",
Lat: "",
StockNum: 0,
ParkPrice: 0,
ParkTel: ""
},
countryList:[],
provinceList:[],
cityList:[],
provinceList2:[],
cityList2:[]
countryList: [],
provinceList: [],
cityList: [],
provinceList2: [],
cityList2: [],
selectAddress: false,
}
},
......@@ -218,12 +251,11 @@
}, res => {
if (res.data.resultCode == 1) {
this.PostMsg = res.data.data;
console.log(this.PostMsg);
if(this.PostMsg.Country>0){
this.getPrivince(this.PostMsg.Country,1);
if (this.PostMsg.Country > 0) {
this.getPrivince(this.PostMsg.Country, 1);
}
if(this.PostMsg.Province>0){
this.getPrivince(this.PostMsg.Province,2);
if (this.PostMsg.Province > 0) {
this.getPrivince(this.PostMsg.Province, 2);
}
} else {
this.$message.error(res.data.message)
......@@ -245,6 +277,8 @@
this.PostMsg.Lng = "";
this.PostMsg.Lat = "";
this.PostMsg.StockNum = 0;
this.PostMsg.ParkPrice = 0;
this.PostMsg.ParkTel = "";
this.getList();
} else {
this.$message.error(res.data.message)
......@@ -332,28 +366,28 @@
err => {}
);
}
},
},
//初始化对应下拉
getPrivince(ID,type){
let msg = {
Id: ID
};
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList2 = res.data.data;
} else if (type == 2) {
this.cityList2 = res.data.data;
}
},
err => {}
);
getPrivince(ID, type) {
let msg = {
Id: ID
};
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList2 = res.data.data;
} else if (type == 2) {
this.cityList2 = res.data.data;
}
},
err => {}
);
},
//重置
resetMsg(){
resetMsg() {
let msg = {
Id: 0,
ParkName: "",
......@@ -367,11 +401,25 @@
StockNum: 0,
}
this.PostMsg = msg;
}
},
googleMap() {
this.selectAddress = false;
},
headCall(msg) {
this.PostMsg.Lng = msg.lng;
this.PostMsg.Lat = msg.lat;
this.PostMsg.Address = msg.address;
console.log(msg, 'msssgggg');
console.log(msg.address);
},
},
mounted() {
this.getCountryList();
this.getList();
},
components: {
googleMap: googleMap,
}
}
......@@ -426,10 +474,17 @@
cursor: pointer;
}
.busStockManager .w150 .el-input{
width:150px;
.busStockManager .w150 .el-input {
width: 150px;
}
.busStockManager .el-button.is-circle {
padding: 5px;
}
.busStockManager .el-button.is-circle{
padding:5px;
.busStockManager .mapList {
width: 850px;
height: 510px;
}
</style>
......@@ -136,7 +136,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
}
}
}
......
......@@ -138,7 +138,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -108,7 +108,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -178,7 +178,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -105,7 +105,7 @@ export default {
}else{
if(this.day.jiu2.length==1 && this.day.jiu2[0].name!='温馨的家'){
if(this.isDirect===1){
suffix = "【保证入住】"
suffix = "或同級"
}
}
}
......
......@@ -221,8 +221,8 @@
</div>
</td>
<td>李逍遥</td>
<td>李逍遥</td>
<td></td>
<td></td>
<td>
<div>存款证明单</div>
<div>旅客职业背景表</div>
......
......@@ -810,7 +810,7 @@
<div>
{{index+1}}.{{subItem.HotelName}}&nbsp;&nbsp;
<span v-if="subItem.UseCount>0 && item.SubList.length==1">
<a style="color:green">{{subItem.RemainingInventory>-3?"【OK】":"【暂定】"}}</a>
<a style="color:green">{{subItem.Status==1?"【OK】":"【暂定】"}}</a>
<span style="color:green">本团使用库存:{{subItem.UseCount}}
{{subItem.CostPrice!=0?"价格:"+subItem.CostPrice:""}}</span>
</span>
......
......@@ -1319,6 +1319,14 @@ export default {
title: '添加修改车控页面'
},
},
{
path: '/busHandBook', //首配依赖书
name: 'busHandBook',
component: resolve => require(['@/components/busManagement/busHandBook'], resolve),
meta: {
title: '手配依赖书'
},
},
{ //车控供应商
path: '/busSuplier',
name: 'busSuplier',
......@@ -1498,6 +1506,15 @@ export default {
title: '一日游'
},
},
{
path: '/SalesTravelCoupomList', //一日游销售自主开团用
name: 'SalesTravelCoupomList',
component: resolve => require(['@/components/TravelManager/TravelList/SalesTravelCoupomList'], resolve),
meta: {
title: '行程定制信息'
},
},
{
path: '/priceIncomeConfirmInfo', ///priceIncomeConfirmInfo
name: 'priceIncomeConfirmInfo',
......@@ -2481,7 +2498,27 @@ export default {
component: resolve => require(['@/components/commonPage/TicketFinace'], resolve),
},
]
}, { //财务 财务单据 审核标准单据
},
// 申请书
{
path: '/Application',
name: 'Application',
component: resolve => require(['@/components/FinancialModule/Application'], resolve),
meta: {
title: '申请书'
},
},
// 借支单
{
path: '/DebitNote',
name: 'DebitNote',
component: resolve => require(['@/components/FinancialModule/DebitNote'], resolve),
meta: {
title: '借支单'
},
},
{ //财务 财务单据 审核标准单据
path: '/BasicDocuments',
name: 'BasicDocuments',
component: resolve => require(['@/components/FinancialModule/BasicDocuments'], resolve),
......@@ -3049,6 +3086,15 @@ export default {
title: '行程定制师'
}
},
{
path: '/TravelInfoList',
name: 'TravelInfoList',
component: resolve => require(['@/components/activity/TravelInfoList'], resolve),
meta: {
title: '行程定制信息'
}
},
{
path: '/RegimentLabel',
name: 'RegimentLabel',
......
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