Commit b0776ff3 authored by liudong1993's avatar liudong1993
parents 3cce5d4a 9b1714c6
......@@ -10,9 +10,7 @@
.tripPlanTab tr th {
border: 1px solid#d2d2d2;
text-align: center;
padding-left: 1px;
padding-right: 1px;
min-width: 55px;
min-width: 60px;
height: 29px;
position: sticky;
top: 0;
......@@ -82,8 +80,8 @@
</span>
</li>
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList()" />
<button class="normalBtn" type="button" @click="downLoadPlan()">{{$t('adm.adm_download')}}</button>
<el-button type="primary" size="small" @click="getList()">{{$t('pub.searchBtn')}}</el-button>
<el-button type="primary" size="small" @click="downLoadPlan()">{{$t('adm.adm_download')}}</el-button>
</li>
</ul>
</div>
......@@ -94,9 +92,9 @@
:key="item.Id">
</el-option>
</el-select>
<el-button type="success" size="mini" round @click="SureCar()">确认派车</el-button>
<el-button type="success" size="mini" @click="SureCar()" :loading="saveLoading">确认派车</el-button>
</div>
<div style="width: 98%; overflow-x: hidden;padding-bottom: 50px; " :style="{height: boxHeight + 'px'}"
<div style="width: 99%; overflow-x: hidden;padding-bottom: 50px;margin-top:5px;" :style="{height: boxHeight + 'px'}"
class="ownScrollbarStyle" v-loading="loading">
<table class="tripPlanTab" v-if="dataList&&dataList.length>0">
<thead>
......@@ -129,21 +127,21 @@
<td :key="`d1_`+index+`s1_`+subIndex+`d1`+childIndex"
:class="{'tdTopBorder': childItem.OrderId>0,'tdTopLeftBorder':childItem.DayNum==1&&childItem.OrderId>0,'tdTopRightBorder':childItem.DayNum==childItem.ColumnNum&&childItem.OrderId>0}">
<template v-if="childItem.OrderId>0">
<font :style="{color: childItem.Income>0?'#29b6f6':'#000000'}">
<font >
<template v-if="childItem.UseType==1">
<font style="color:#FF0080"></font>
</template>
<template v-else-if="childItem.UseType==2">
<font style="color:#FF0080"></font>
</template>
<template v-else-if="childItem.UseType==3">
半天
</template>
<template v-else-if="childItem.UseType==4">
<font style="color:#67C23A"></font>
</template>
<template v-else>
X
<font style="color:red;"> X</font>
</template>
</font>
<br/>
......@@ -231,7 +229,8 @@
isHaveAuth: false,
boxHeight: 0,
CarOrderIds:"",
CarId:""
CarId:"",
saveLoading:false,
}
},
components: {
......@@ -356,8 +355,9 @@
});
if(OrderIds.length==0){this.Error('请勾选订单'); return;}
if(this.CarId<=0){this.Error('请选择车辆');return;}
this.saveLoading=true;
this.apipost('travel_post_SetTripUseCar', {OrderIds:OrderIds.join(','),CarId:this.CarId}, res => {
this.loading = false;
this.saveLoading = false;
if (res.data.resultCode == 1) {
this.getList();
} else {
......
<style scoped>
.journeyTripTab {
border-collapse: separate;
border-spacing: 0;
border-radius: 5px;
table-layout: fixed;
background: white;
}
.journeyTripTab tr th {
border: 1px solid#d2d2d2;
text-align: center;
min-width: 60px;
height: 29px;
line-height: 29px;;
position: sticky;
top: 0;
z-index: 10;
background: #E6E6E6;
}
.journeyTripTab tr td {
border: 1px solid #d2d2d2;
text-align: center;
padding-left: 1px;
padding-right: 1px;
height: 28px;
line-height: 28px;
font-size: 14px;
}
.journeyTripTab tr td.tdTopBorder {
border-top: 1px solid black !important;
}
.journeyTripTab tr td.tdTopLeftBorder {
border-left: 1px solid black !important;
}
.journeyTripTab tr td.tdTopRightBorder {
border-right: 1px solid black !important;
}
.journeyTripTab tr td.tdBottomBorder
{
border-bottom: 1px solid black !important;
border-left: 1px solid black !important;
border-right: 1px solid black !important;
}
.journeyTripTab tr td.tdMergeBusTopBorder {
border-top: 1px solid blue !important;
}
.journeyTripTab tr td.tdMergeBusTopLeftBorder {
border-left: 1px solid blue !important;
}
.journeyTripTab tr td.tdMergeBusTopRightBorder {
border-right: 1px solid blue !important;
}
.journeyTripTab tr td.tdMergeBusBottomBorder
{
border-bottom: 1px solid blue !important;
border-left: 1px solid blue !important;
border-right: 1px solid blue !important;
}
</style>
<template>
<div>
<div class="query-box" style="border-bottom: none;">
<ul>
<li><span><em>{{$t('pub.date')}}</em>
<el-date-picker v-model="msg.MonthStr" type="month" placeholder="选择月" format="yyyy-MM" @change="getList()"
value-format="yyyy-MM">
</el-date-picker>
</span>
</li>
<li>
<span><em>公司</em>
<el-select v-model="msg.QBranchId" filterable :placeholder="$t('pub.pleaseSel')" clearable
@clear="getList()" @change="getList()">
<el-option v-for="(item,index) in BranchList" :label="item.BName" :value="item.Id" :key="index">
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>预定情况</em>
<el-select v-model="msg.CarIsPush" filterable :placeholder="$t('pub.pleaseSel')" clearable
@clear="getList()" @change="getList()">
<el-option label="已预订" :value="1" :key="1">
</el-option>
<el-option label="未预定" :value="2" :key="2">
</el-option>
</el-select>
</span>
</li>
<li>
<el-button type="primary" size="small" @click="getList()">{{$t('pub.searchBtn')}}</el-button>
<el-button type="primary" size="small" v-show="this.ArrList.length>1" @click="mergeBus()" :loading="saveLoading">团队套车</el-button>
</li>
</ul>
</div>
<div style="width: 99%; overflow-x: hidden;padding-bottom: 50px; " :style="{height: boxHeight + 'px'}"
class="ownScrollbarStyle" v-loading="loading" :element-loading-text="loadingText">
<table class="journeyTripTab" v-if="dataList&&dataList.length>0">
<thead>
<tr>
<template v-if="headerList&&headerList.length>0">
<template v-for="(hItem,hIndex) in headerList">
<th :key="`h_`+hIndex">
{{hItem.DayStr}}
<span style="display: block;">{{hItem.WeekStr}}</span>
</th>
</template>
</template>
</tr>
</thead>
<tbody v-for="(item,index) in dataList" :key="`d_`+index">
<tr :key="`d1_`+index">
<template v-for="(subItem,subIndex) in item">
<td :key="`d1_`+index+`s1_`+subIndex"
:class="{
'tdTopBorder': subItem.TCID>0&&!subItem.IsMergeBus,
'tdMergeBusTopBorder': subItem.TCID>0&&subItem.IsMergeBus,
'tdTopLeftBorder':subItem.DayNum==1&&subItem.TCID>0,
'tdTopRightBorder':subItem.DayNum==subItem.ColumnNum&&subItem.TCID>0
}">
<template v-if="subItem.TCID>0">
<font>
<template v-if="subItem.AirportPickUp==1">
<font style="color:#FF0080"></font>
</template>
<template v-else-if="subItem.AirportPickUp==2">
<font style="color:#FF0080"></font>
</template>
<template v-else-if="subItem.AirportPickUp==16">
<font style="color:#FF0080">酒店派车</font>
</template>
<template v-else-if="subItem.UseType==1">
<font style="color:#67C23A"></font>
</template>
<template v-else-if="subItem.UseType==2">
半天
</template>
<template v-else-if="subItem.UseType==3">
小时
</template>
<template v-else>
<font style="color:red;"> X</font>
</template>
<br />
<template v-if="subItem.CityName&&subItem.CityName!=''">
{{subItem.CityName}}
</template>
<template v-else>
&nbsp;
</template>
</font>
</template>
</td>
</template>
</tr>
<tr :key="`d2_`+index">
<template v-for="(subItem,subIndex) in item">
<template v-if="subItem.TCID>0">
<td v-if="subItem.DayNum==1" :colspan="subItem.ColumnNum>1? subItem.ColumnNum:0"
:key="`d2_`+index+`s2_`+subIndex" class="tdBottomBorder">
<el-tooltip :content="subItem.TCNUM+`(`+subItem.TCID+`),用车时间:`+subItem.StartDate+`至`+subItem.EndDate">
<div>
<label>
<input :value="subItem.TCID" style="vertical-align: middle;" v-model="ArrList"
type="checkbox"/>
</label>
<font style="cursor:pointer;text-decoration:underline;"
:style="{color:subItem.CarIsPush==1?'blue':''}" @click="gotoTeam(subItem)">
{{subItem.DMCNum&&subItem.DMCNum!=''?subItem.DMCNum:subItem.TCNUM}}<br />(总机位:{{subItem.TotalSeat}}
订单人数:{{subItem.OrderNum}}+{{subItem.LeaderNum}})
</font>
</div>
</el-tooltip>
<template v-if="subItem.MainId>0">
<br />
<font style="color:red">
<template v-if="subItem.BookType==1">
永乐预定
</template>
<template v-else-if="subItem.BookType==2">
公社预定
</template>
<template v-else-if="subItem.BookType==3">
自理
</template>
</font>
<template v-if="subItem.CarName&&subItem.CarName!=''">
{{subItem.CarName}}({{subItem.CarNo}})
<template>
&nbsp;{{subItem.DriverName}}({{subItem.DriverTel}})
</template>
</template>
</template>
&nbsp;
<el-button v-if="subItem.CarIsPush!=1" type="text" @click="setBusOrder(subItem)">同步</el-button>
<!-- <el-button v-else type="text" @click="cancelBusOrder(subItem)" style="color:red;">取消</el-button> -->
<el-button v-if="subItem.IsMergeBus" type="text" @click="splitBus(subItem)" style="color:red;">拆分</el-button>
</td>
</template>
<template v-else>
<td :key="`d2_`+index+`s2_`+subIndex">
</td>
</template>
</template>
</tr>
</tbody>
</table>
</div>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
loadingText: "",
msg: {
MonthStr: "",
QBranchId: "", //出团公司
CarIsPush: "", //预定情况(1-已预订,2-未预定)
},
headerList: [], //表头
dataList: [],
boxHeight: 0,
BranchList: [],
ArrList:[],//合团
saveLoading:false,
}
},
components: {},
methods: {
//同步车订单
setBusOrder(item) {
var that = this;
var tipMsg = "是否要同步信息到车系统?"
that.Confirm(tipMsg, function () {
var orderMsg = {
TCIDS: item.TCID,
NewCombinationNum: ''
};
if (item.DMCNum && item.DMCNum != '') {
orderMsg.NewCombinationNum = item.DMCNum;
} else {
orderMsg.NewCombinationNum = item.TCNUM;
}
that.loading = true;
that.loadingText = "正在同步数据...";
that.apipost('dmcstatistics_get_SetBusJapanOrder', orderMsg, res => {
that.loading = false;
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
//that.goToBus(res.data.data);
} else {
this.Error(res.data.message);
}
})
});
},
//取消车订单
cancelBusOrder(item) {
var that = this;
var tipMsg = "是否要取消【" + (item.DMCNum ? item.DMCNum : item.TCNUM) + "】此车订单?"
that.Confirm(tipMsg, function () {
var orderMsg = {
//MainId: item.MainId,
OrderId: item.OrderId,
CancelRemark: 'ERP取消车订单'
};
that.loading = true;
that.loadingText = "正在取消数据...";
//JapanCar_get_CancelJapanOrder 取消子订单
//JapanCar_get_CancelJapanOrderMain 取消主订单
that.apipost('JapanCar_get_CancelJapanOrder', orderMsg, res => {
that.loading = false;
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
} else {
this.Error(res.data.message);
}
})
});
},
//跳转到车订单
goToBus(mainOrderId) {
let carUrl = this.domainManager().CarUrl;
var nPath = "CarPlaceOrder/" + mainOrderId + "/1";
var that = this;
this.apipost("travel_temp_token", {}, res => {
if (res.data.resultCode == 1) {
let newUrl = carUrl + "/auth/autologin?tk=" + res.data.data + "&gpath=" + nPath;
window.open(newUrl)
}
})
},
//初始化公司
getCompanyList() {
let userInfo = this.getLocalStorage();
var RB_Group_id = userInfo.RB_Group_id;
let msg = {
Status: 0,
is_show: 0,
RB_Group_Id: RB_Group_id,
};
this.apipost(
"admin_get_BranchGetList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.BranchList = res.data.data;
}
}
);
},
//跳转到团队详情
gotoTeam(item) {
var path = "TravelControlList";
if (item.TeamType == 1) {
path = "TravelControlListSale";
} else if (item.TeamType == 2) {
path = "oneDayTrip";
} else if (item.TeamType == 4) {
path = "TravelTeam";
} else {
path = "TravelControlList";
}
this.$router.push({
name: path,
query: {
id: item.TCID,
tcmun: item.TCNUM,
blank: "y",
tab: "团控列表",
},
});
},
getList() {
this.loading = true;
this.loadingText = "数据加载中...";
this.dataList = [];
this.headerList = [];
this.apipost('travel_post_GetJourneyCarPlanList', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.DayList;
this.headerList = res.data.data.HeaderList;
} else {
this.Error(res.data.message);
}
})
},
//合团
mergeBus() {
let sumArr = [];
this.ArrList.forEach(item => {
sumArr.push(item)
});
if (sumArr != null && sumArr.length > 0) {
this.saveLoading=true;
this.apipost('travel_post_MergeUseBus', {
Ids: sumArr
}, res => {
this.saveLoading=false;
if (res.data.resultCode == 1) {
this.$message.success(res.data.message)
this.getList()
this.ArrList = [];
} else {
this.Error(res.data.message)
}
}, err => {
this.saveLoading=true;
});
}
},
//拆团
splitBus(obj) {
let subArr = [];
subArr.push(Number(obj.TCID));
var that = this;
that.Confirm("是否拆团?", function () {
that.apipost('travel_post_SplitUseBus', {
Ids: subArr,
MergeBusNum: obj.MergeBusNum
}, res => {
if (res.data.resultCode == 1) {
that.$message.success(res.data.message);
that.ArrList = [];
that.getList()
} else {
that.Error(res.data.message)
}
}, err => {})
})
},
},
mounted() {
let myDate = new Date();
let yearStr = myDate.getFullYear();
let monthStr = parseInt(myDate.getMonth() + 1);
this.msg.MonthStr = yearStr + "-" + (monthStr < 10 ? '0' + monthStr : monthStr);
let height = window.innerHeight - 65 - 55;
this.boxHeight = height;
this.getCompanyList();
this.getList();
},
}
</script>
......@@ -10,10 +10,9 @@
.journeyTripTab tr th {
border: 1px solid#d2d2d2;
text-align: center;
padding-left: 1px;
padding-right: 1px;
min-width: 60px;
height: 29px;
line-height: 29px;;
position: sticky;
top: 0;
z-index: 10;
......@@ -30,7 +29,6 @@
font-size: 14px;
}
.journeyTripTab tr td.tdTopBorder {
border-top: 1px solid black !important;
}
......@@ -49,6 +47,25 @@
border-left: 1px solid black !important;
border-right: 1px solid black !important;
}
.journeyTripTab tr td.tdMergeBusTopBorder {
border-top: 1px solid blue !important;
}
.journeyTripTab tr td.tdMergeBusTopLeftBorder {
border-left: 1px solid blue !important;
}
.journeyTripTab tr td.tdMergeBusTopRightBorder {
border-right: 1px solid blue !important;
}
.journeyTripTab tr td.tdMergeBusBottomBorder
{
border-bottom: 1px solid blue !important;
border-left: 1px solid blue !important;
border-right: 1px solid blue !important;
}
</style>
<template>
......@@ -82,9 +99,8 @@
</span>
</li>
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList()" />
<input type="button" class="hollowFixedBtn" :value="$t('op.TDHT')" @click="mergeBus"
v-show="this.ArrList.length>1" />
<el-button type="primary" size="small" @click="getList()">{{$t('pub.searchBtn')}}</el-button>
<el-button type="primary" size="small" v-show="this.ArrList.length>1" @click="mergeBus()" :loading="saveLoading">团队套车</el-button>
</li>
</ul>
</div>
......@@ -106,14 +122,20 @@
<tbody v-for="(item,index) in dataList" :key="`d_`+index">
<tr :key="`d1_`+index">
<template v-for="(subItem,subIndex) in item">
<td :key="`d1_`+index+`s1_`+subIndex" :class="{'tdTopBorder': subItem.TCID>0,'tdTopLeftBorder':subItem.DayNum==1&&subItem.TCID>0,'tdTopRightBorder':subItem.DayNum==subItem.ColumnNum&&subItem.TCID>0}">
<td :key="`d1_`+index+`s1_`+subIndex"
:class="{
'tdTopBorder': subItem.TCID>0&&!subItem.IsMergeBus,
'tdMergeBusTopBorder': subItem.TCID>0&&subItem.IsMergeBus,
'tdTopLeftBorder':subItem.DayNum==1&&subItem.TCID>0,
'tdTopRightBorder':subItem.DayNum==subItem.ColumnNum&&subItem.TCID>0
}">
<template v-if="subItem.TCID>0">
<font>
<template v-if="subItem.AirportPickUp==1">
<font style="color:#FF0080"> </font>
<font style="color:#FF0080"></font>
</template>
<template v-else-if="subItem.AirportPickUp==2">
<font style="color:#FF0080"> </font>
<font style="color:#FF0080"></font>
</template>
<template v-else-if="subItem.AirportPickUp==16">
<font style="color:#FF0080">酒店派车</font>
......@@ -183,7 +205,7 @@
&nbsp;
<el-button v-if="subItem.CarIsPush!=1" type="text" @click="setBusOrder(subItem)">同步</el-button>
<!-- <el-button v-else type="text" @click="cancelBusOrder(subItem)" style="color:red;">取消</el-button> -->
<el-button v-if="subItem.TCID+''!=subItem.TCIDs" type="text" @click="splitBus(subItem)" style="color:red;">拆分</el-button>
<el-button v-if="subItem.IsMergeBus" type="text" @click="splitBus(subItem)" style="color:red;">拆分</el-button>
</td>
</template>
<template v-else>
......@@ -213,6 +235,7 @@
boxHeight: 0,
BranchList: [],
ArrList:[],//合团
saveLoading:false,
}
},
components: {},
......@@ -345,9 +368,11 @@
sumArr.push(item)
});
if (sumArr != null && sumArr.length > 0) {
this.saveLoading=true;
this.apipost('travel_post_MergeUseBus', {
Ids: sumArr
}, res => {
this.saveLoading=false;
if (res.data.resultCode == 1) {
this.$message.success(res.data.message)
this.getList()
......@@ -355,7 +380,9 @@
} else {
this.Error(res.data.message)
}
}, err => {});
}, err => {
this.saveLoading=true;
});
}
},
//拆团
......
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