Commit 16c77812 authored by 黄奎's avatar 黄奎
parents 40f8e48a 8845512b
......@@ -104,7 +104,7 @@
<td>{{item.OrderProfit}}</td>
<td>{{item.YCommission}}</td>
<td>{{item.Commission}}</td>
<td>{{item.LimitCommission>0?item.LimitCommission:'-'}}</td>
<td>{{item.LimitCommission != 0?item.LimitCommission:'-'}}</td>
<td>{{item.CommissionRate}}%</td>
<td @click="GenerateScale(item)">
<span
......
......@@ -200,7 +200,7 @@
:class="item.WageReId?'cursor-p':''">{{item.WageType==1?'新员工比例':item.WageType==2?'上季度定档':'-'}}</span>
</td>
<td>{{item.Commission}}</td>
<td>{{item.LimitCommission>0?item.LimitCommission:'-'}}</td>
<td>{{item.LimitCommission != 0?item.LimitCommission:'-'}}</td>
<td>{{item.CommissionRate}}%</td>
<td>{{item.EmName!='微途'?item.BonusMoney:'-'}}</td>
<td>{{item.EmName!='微途'?item.BonusRate+'%':'-'}}</td>
......
......@@ -26,12 +26,14 @@
<el-date-picker v-model='msg.EndTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<!-- <li><span><em>确认状态</em></span>
<el-select v-model='msg.QSureState'>
<el-option label='已确认' value='1' key='1'></el-option>
<el-option label='未确认' value='2' key='2'></el-option>
<li><span><em>状态</em></span>
<el-select v-model='msg.OfferState' clearable>
<el-option label='等待报价' value='2' key='2'></el-option>
<el-option label='已报价' value='3' key='3'></el-option>
<el-option label='确认报价' value='4' key='4'></el-option>
<el-option label='取消报价' value='5' key='5'></el-option>
</el-select>
</li> -->
</li>
<li>
<input type="button" class="normalBtn" value="查询" @click="getList(); resetPageIndex()" />
</li>
......@@ -107,11 +109,11 @@
<td>
<div class="link" style="display: flex;
flex-flow: wrap; width: 135px;justify-content: space-around;">
<el-button size="mini" v-if="item.OfferState == 2" @click="SetTripBusPrice(item, 1)"
type="primary">报价</el-button>
<el-button size="mini" v-if="item.OfferState == 2" @click="SetTripBusPrice(item, 1)" type="primary">报价
</el-button>
<el-button size="mini" @click="SetTripBusPrice(item, 2)" type="primary">详情</el-button>
<!-- <el-button style="margin-top: 10px;" size="mini" @click="driver(item.Id)"
type="primary">添加司机车牌号</el-button> -->
<el-button v-if="item.OfferState==4" style="margin-top: 10px;" size="mini" @click="driver(item.Id)"
type="primary">添加司机车牌号</el-button>
</div>
</td>
</tr>
......@@ -318,358 +320,360 @@
</template>
<script>
export default {
data() {
return {
drivermsg: {
Id: '',
DriverInfo: "",
BusNo: ""
export default {
data() {
return {
drivermsg: {
Id: '',
DriverInfo: "",
BusNo: ""
},
dialogVisible: false,
labelPosition: 'right',
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
total: 0,
DataList: [], //数据列表
msg: {
pageIndex: 1,
pageSize: 12,
UseCompName: "", //订车公司
UseName: "", //订车人
TeamName: "", //团体名称
StartTime: "", //开始时间
EndTime: "", //结束时间
OfferState: "", //报价状态
},
boxHeight: 0,
offsetwidth: 0,
dialogTitle: "提交报价",
isShowPrice: false, //是否显示报价信息
//提交信息
postMsg: {
Id: 0,
UseCompName: "",
UseName: "",
PickUpInfo: "",
GoFlightInfo: "",
BackFlightInfo: "",
PeopleNum: 0,
UseDayNum: 0,
StartDate: "",
BusType: 0,
BusTypeName: "",
GuideInfo: "",
DriverInfo: "",
BusNo: "",
Remark: "",
AttentionInfo: "",
PayType: 0,
IsSure: 0,
SureTime: "",
SureId: 0,
TeamName: "",
CurrencyId: 0,
DiscountPrice: 0,
TotalPrice: 0,
CustomerId: 0,
OfferDate: "",
OfferBy: 0,
OfferState: 0,
OfferStateName: "",
ShouPeiFee: 0,
CancelRemark: "",
details: [],
CustomerName: "",
},
subUnitPrice: 0,
subStopBusPrice: 0,
subRoomPrice: 0,
priceType: 1,
}
},
components: {
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
dialogVisible: false,
labelPosition: 'right',
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
total: 0,
DataList: [], //数据列表
msg: {
pageIndex: 1,
pageSize: 12,
UseCompName: "", //订车公司
UseName: "", //订车人
TeamName: "", //团体名称
StartTime: "", //开始时间
EndTime: "", //结束时间
QSureState: "", //确认状态
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
boxHeight: 0,
offsetwidth: 0,
dialogTitle: "提交报价",
isShowPrice: false, //是否显示报价信息
//提交信息
postMsg: {
Id: 0,
UseCompName: "",
UseName: "",
PickUpInfo: "",
GoFlightInfo: "",
BackFlightInfo: "",
PeopleNum: 0,
UseDayNum: 0,
StartDate: "",
BusType: 0,
BusTypeName: "",
GuideInfo: "",
DriverInfo: "",
BusNo: "",
Remark: "",
AttentionInfo: "",
PayType: 0,
IsSure: 0,
SureTime: "",
SureId: 0,
TeamName: "",
CurrencyId: 0,
DiscountPrice: 0,
TotalPrice: 0,
CustomerId: 0,
OfferDate: "",
OfferBy: 0,
OfferState: 0,
OfferStateName: "",
ShouPeiFee: 0,
CancelRemark: "",
details: [],
CustomerName: "",
getList() {
this.loading = true
this.apipost('tripbus_GetErpTripBusPage', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.DataList = res.data.data.pageData;
this.$forceUpdate();
} else {
this.Error(res.data.message);
}
}, err => {})
},
subUnitPrice: 0,
subStopBusPrice: 0,
subRoomPrice: 0,
priceType: 1,
}
},
components: {
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getList() {
this.loading = true
this.apipost('tripbus_GetErpTripBusPage', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.DataList = res.data.data.pageData;
this.$forceUpdate();
} else {
this.Error(res.data.message);
}
}, err => { })
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => { });
},
// 司机确定
driverdetermine() {
this.apipost('tripbus_SetBusPriceInfo', this.drivermsg, res => {
if (res.data.resultCode == 1) {
this.dialogVisible = false
this.$forceUpdate();
} else {
this.Error(res.data.message);
}
}, err => { })
},
// 添加司机车号
driver(id) {
this.drivermsg.Id = id
this.dialogVisible = true
},
//设置行程报价
SetTripBusPrice(item, type) {
this.priceType = type;
if (this.priceType == 1) {
this.dialogTitle = "提交报价";
} else {
this.dialogTitle = "报价详情";
}
this.isShowPrice = true;
this.apipost('tripbus_GetTripBusInfo', {
Id: item.Id
}, res => {
if (res.data.resultCode == 1) {
var tempData = res.data.data;
this.postMsg.Id = item.Id;
this.postMsg.UseCompName = tempData.UseCompName;
this.postMsg.UseName = tempData.UseName;
this.postMsg.PickUpInfo = tempData.PickUpInfo;
this.postMsg.GoFlightInfo = tempData.GoFlightInfo;
this.postMsg.BackFlightInfo = tempData.BackFlightInfo;
this.postMsg.PeopleNum = tempData.PeopleNum;
this.postMsg.UseDayNum = tempData.UseDayNum;
this.postMsg.StartDate = tempData.StartDate;
this.postMsg.BusType = tempData.BusType;
this.postMsg.BusTypeName = tempData.BusTypeName;
this.postMsg.GuideInfo = tempData.GuideInfo;
this.postMsg.DriverInfo = tempData.DriverInfo;
this.postMsg.BusNo = tempData.BusNo;
this.postMsg.Remark = tempData.Remark;
this.postMsg.AttentionInfo = tempData.AttentionInfo;
this.postMsg.PayType = tempData.PayType;
this.postMsg.IsSure = tempData.IsSure;
this.postMsg.TeamName = tempData.TeamName;
this.postMsg.CurrencyId = tempData.CurrencyId;
this.postMsg.DiscountPrice = tempData.DiscountPrice;
this.postMsg.TotalPrice = tempData.TotalPrice;
this.postMsg.CustomerId = tempData.CustomerId;
this.postMsg.OfferState = tempData.OfferState;
this.postMsg.OfferBy = tempData.OfferBy;
this.postMsg.OfferStateName = tempData.OfferStateName;
this.postMsg.ShouPeiFee = tempData.ShouPeiFee;
this.postMsg.CancelRemark = tempData.CancelRemark;
this.postMsg.CustomerName = tempData.CustomerName;
this.postMsg.CreateDate = tempData.CreateDate;
if (tempData.details && tempData.details.length > 0) {
this.postMsg.details = tempData.details;
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
// 司机确定
driverdetermine() {
this.apipost('tripbus_SetBusPriceInfo', this.drivermsg, res => {
if (res.data.resultCode == 1) {
this.dialogVisible = false
this.$forceUpdate();
} else {
this.Error(res.data.message);
}
this.calcPrice();
}, err => {})
},
// 添加司机车号
driver(id) {
this.drivermsg.Id = id
this.dialogVisible = true
},
//设置行程报价
SetTripBusPrice(item, type) {
this.priceType = type;
if (this.priceType == 1) {
this.dialogTitle = "提交报价";
} else {
this.Error(res.data.message);
this.dialogTitle = "报价详情";
}
}, err => { })
},
//计算价格
calcPrice() {
var tempUnitPrice = 0;
var tempStopBusPrice = 0;
var tempRoomPrice = 0;
var tempTotalPrice = 0;
if (this.postMsg && this.postMsg.details && this.postMsg.details.length > 0) {
this.postMsg.details.forEach(item => {
if (item.UnitPrice) {
tempUnitPrice += Number(item.UnitPrice);
tempTotalPrice += Number(item.UnitPrice);
this.isShowPrice = true;
this.apipost('tripbus_GetTripBusInfo', {
Id: item.Id
}, res => {
if (res.data.resultCode == 1) {
var tempData = res.data.data;
this.postMsg.Id = item.Id;
this.postMsg.UseCompName = tempData.UseCompName;
this.postMsg.UseName = tempData.UseName;
this.postMsg.PickUpInfo = tempData.PickUpInfo;
this.postMsg.GoFlightInfo = tempData.GoFlightInfo;
this.postMsg.BackFlightInfo = tempData.BackFlightInfo;
this.postMsg.PeopleNum = tempData.PeopleNum;
this.postMsg.UseDayNum = tempData.UseDayNum;
this.postMsg.StartDate = tempData.StartDate;
this.postMsg.BusType = tempData.BusType;
this.postMsg.BusTypeName = tempData.BusTypeName;
this.postMsg.GuideInfo = tempData.GuideInfo;
this.postMsg.DriverInfo = tempData.DriverInfo;
this.postMsg.BusNo = tempData.BusNo;
this.postMsg.Remark = tempData.Remark;
this.postMsg.AttentionInfo = tempData.AttentionInfo;
this.postMsg.PayType = tempData.PayType;
this.postMsg.IsSure = tempData.IsSure;
this.postMsg.TeamName = tempData.TeamName;
this.postMsg.CurrencyId = tempData.CurrencyId;
this.postMsg.DiscountPrice = tempData.DiscountPrice;
this.postMsg.TotalPrice = tempData.TotalPrice;
this.postMsg.CustomerId = tempData.CustomerId;
this.postMsg.OfferState = tempData.OfferState;
this.postMsg.OfferBy = tempData.OfferBy;
this.postMsg.OfferStateName = tempData.OfferStateName;
this.postMsg.ShouPeiFee = tempData.ShouPeiFee;
this.postMsg.CancelRemark = tempData.CancelRemark;
this.postMsg.CustomerName = tempData.CustomerName;
this.postMsg.CreateDate = tempData.CreateDate;
if (tempData.details && tempData.details.length > 0) {
this.postMsg.details = tempData.details;
}
this.calcPrice();
} else {
this.Error(res.data.message);
}
if (item.StopBusPrice) {
tempStopBusPrice += Number(item.StopBusPrice);
tempTotalPrice += Number(item.StopBusPrice);
}
if (item.RoomPrice) {
tempRoomPrice += Number(item.RoomPrice);
tempTotalPrice += Number(item.RoomPrice);
}, err => {})
},
//计算价格
calcPrice() {
var tempUnitPrice = 0;
var tempStopBusPrice = 0;
var tempRoomPrice = 0;
var tempTotalPrice = 0;
if (this.postMsg && this.postMsg.details && this.postMsg.details.length > 0) {
this.postMsg.details.forEach(item => {
if (item.UnitPrice) {
tempUnitPrice += Number(item.UnitPrice);
tempTotalPrice += Number(item.UnitPrice);
}
if (item.StopBusPrice) {
tempStopBusPrice += Number(item.StopBusPrice);
tempTotalPrice += Number(item.StopBusPrice);
}
if (item.RoomPrice) {
tempRoomPrice += Number(item.RoomPrice);
tempTotalPrice += Number(item.RoomPrice);
}
});
}
this.subUnitPrice = tempUnitPrice.toFixed(2);
this.subStopBusPrice = tempStopBusPrice.toFixed(2);
this.subRoomPrice = tempRoomPrice.toFixed(2);
if (this.postMsg.ShouPeiFee) {
tempTotalPrice += Number(this.postMsg.ShouPeiFee);
}
this.postMsg.TotalPrice = tempTotalPrice.toFixed(2);
},
//提交报价
submitTripBusOffer() {
this.apipost('tripbus_ErpSubmitTripBusOffer', this.postMsg, res => {
if (res.data.resultCode == 1) {
this.isShowPrice = false;
this.getList();
} else {
this.Error(res.data.message);
}
});
}
this.subUnitPrice = tempUnitPrice.toFixed(2);
this.subStopBusPrice = tempStopBusPrice.toFixed(2);
this.subRoomPrice = tempRoomPrice.toFixed(2);
if (this.postMsg.ShouPeiFee) {
tempTotalPrice += Number(this.postMsg.ShouPeiFee);
}, err => {})
}
this.postMsg.TotalPrice = tempTotalPrice.toFixed(2);
},
//提交报价
submitTripBusOffer() {
this.apipost('tripbus_ErpSubmitTripBusOffer', this.postMsg, res => {
if (res.data.resultCode == 1) {
this.isShowPrice = false;
this.getList();
} else {
this.Error(res.data.message);
}
}, err => { })
}
},
mounted() {
this.userInfo = this.getLocalStorage();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.msg.StartTime = nowDate;
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 210;
this.boxHeight = height;
this.offsetwidth = width;
this.getList();
},
}
mounted() {
this.userInfo = this.getLocalStorage();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.msg.StartTime = nowDate;
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 210;
this.boxHeight = height;
this.offsetwidth = width;
this.getList();
},
}
</script>
<style>
.splitTrCss td {
background: #eee !important;
}
.splitTrCss td {
background: #eee !important;
}
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
.busStatisticsTalbe {
background: #ccc;
}
.busStatisticsTalbe {
background: #ccc;
}
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.busStatisticsTalbe tr td {
font-size: 12px;
}
.busStatisticsTalbe tr td {
font-size: 12px;
}
.busStatisticsTalbe tr td .pDateStyle {
border-bottom: 1px solid #ccc;
min-height: 24px;
line-height: 24px;
margin-top: 0;
box-sizing: content-box;
padding: 0 10px;
}
.busStatisticsTalbe tr td .pDateStyle {
border-bottom: 1px solid #ccc;
min-height: 24px;
line-height: 24px;
margin-top: 0;
box-sizing: content-box;
padding: 0 10px;
}
.busStatisticsTalbe tr td .pDateStyle:last-child {
border-bottom: none;
}
.busStatisticsTalbe tr td .pDateStyle:last-child {
border-bottom: none;
}
.busStatisticsTalbe tr td .link p:hover {
text-decoration: underline;
cursor: pointer;
}
.busStatisticsTalbe tr td .link p:hover {
text-decoration: underline;
cursor: pointer;
}
.busStatisticsTalbe tr td .link span:hover {
text-decoration: underline;
cursor: pointer;
}
.busStatisticsTalbe tr td .link span:hover {
text-decoration: underline;
cursor: pointer;
}
.busStatistics_tripDetails {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.busStatistics_tripDetails {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.busStatistics_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.busStatistics_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
</style>
<style scoped>
/deep/.el-form-item {
margin-bottom: 0px;
}
/deep/.el-form-item {
margin-bottom: 0px;
}
.total {
display: flex;
width: 100%;
justify-content: center;
font-weight: bold;
margin-bottom: 20px;
margin-top: 10px;
}
.total {
display: flex;
width: 100%;
justify-content: center;
font-weight: bold;
margin-bottom: 20px;
margin-top: 10px;
}
.flex {
display: flex;
width: 100%;
justify-content: space-between;
}
.flex {
display: flex;
width: 100%;
justify-content: space-between;
}
</style>
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