|
|
@@ -21,137 +21,164 @@
|
|
|
<el-button size="mini" @click="setpermissions=false">取消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <el-dialog width="1400px" title="交通费详细" :visible.sync="TransportationVisible">
|
|
|
+ <el-dialog width="1400px" title="交通费详细" :visible.sync="TransportationVisible" :close-on-click-modal="false">
|
|
|
<div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
|
|
|
- <div>接送机(合计)</div>
|
|
|
- <el-button size="mini" type="primary">添加一行</el-button>
|
|
|
+ <div>接送机(合计):{{ numFilters(Transportationdatatotal) }} CNY</div>
|
|
|
+ <el-button size="mini" @click="addTransportationdata" type="primary">添加一行</el-button>
|
|
|
</div>
|
|
|
<el-table border :data="Transportationdata">
|
|
|
- <el-table-column property="a" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column property="b" label="城市" width="150">
|
|
|
+ <el-table-column property="no" label="序号" width="50"></el-table-column>
|
|
|
+ <el-table-column property="ovId" label="城市" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
<el-select size="mini"
|
|
|
- v-model="scope.row.a" filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in fulecao" :key="item.id" :label="item.cityname"
|
|
|
+ @change="UrbanSelect(scope.row, $event, scope.$index)"
|
|
|
+ v-model="scope.row.ovId" filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in fulecao" :key="item.id" :label="item.area"
|
|
|
:value="item.id">
|
|
|
- <span style="float: left">{{ item.cityname }}</span>
|
|
|
+ <span style="float: left">{{ item.area }}</span>
|
|
|
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
<!-- <el-input disabled size="mini" v-model="scope.row.b"></el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="c" label="成本价(要除以团组人数)" width="150">
|
|
|
+ <el-table-column property="cost" label="成本价(要除以团组人数)" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input disabled size="mini" v-model="scope.row.c"></el-input>
|
|
|
+ <div>{{reservetwo(scope.row.cost/Basicdata.groupSize)}} {{scope.row.currencyName}} ({{scope.row.cost+'/'+Basicdata.groupSize}})</div>
|
|
|
+ <!-- <el-input disabled size="mini" v-model="scope.row.c"></el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="d" label="接送机导游" width="150">
|
|
|
+ <el-table-column property="guideCost" label="接送机导游" width="140">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input disabled size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number disabled style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.guideCost"></el-input-number>
|
|
|
+ <!-- <el-input disabled size="mini" v-model="scope.row.guideCost">
|
|
|
+ <i slot="suffix" style="font-style:normal;margin-right: 10px;line-height: 27px;color: #606266;">{{ scope.row.currencyName }}</i>
|
|
|
+ </el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="e" label="其他费用(只有澳大利亚有这个数据)" width="150">
|
|
|
+ <el-table-column property="otherCost" label="其他费用(只有澳大利亚有这个数据)" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.otherCost"></el-input-number>
|
|
|
+ <!-- <el-input size="mini" v-model="scope.row.otherCost">
|
|
|
+ <i slot="suffix" style="font-style:normal;margin-right: 10px;line-height: 27px;color: #606266;">{{ scope.row.currencyName }}</i>
|
|
|
+ </el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="f" label="服务次数(默认为1)" width="150">
|
|
|
+ <el-table-column property="serviceCount" label="服务次数(默认为1)" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:100%" size="mini" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.serviceCount"></el-input-number>
|
|
|
+ <!-- <el-input size="mini" v-model="scope.row.serviceCount"></el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="g" label="系数(默认2.5)" width="150">
|
|
|
+ <el-table-column property="coefficient" label="系数(默认2.5)" width="110">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:100%" size="mini" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.coefficient"></el-input-number>
|
|
|
+ <!-- <el-input size="mini" v-model="scope.row.coefficient"></el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="h" label="报价" width="200">
|
|
|
+ <el-table-column property="quote" label="报价" width="200">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number disabled style="width:100%" size="mini" class-unit="CNY" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.quote"></el-input-number>
|
|
|
+ <!-- <el-input size="mini" v-model="scope.row.quote">
|
|
|
+ <i slot="suffix" style="font-style:normal;margin-right: 10px;line-height: 27px;color: #606266;">CNY</i>
|
|
|
+ </el-input> -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column property="i" label="备注">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input size="mini" v-model="scope.row.remark"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<div class="jiaotongfei-ul">
|
|
|
<div class="jiaotongfei-li">
|
|
|
<div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
|
|
|
- <div>拉车(合计)</div>
|
|
|
- <el-button size="mini" type="primary">添加一行</el-button>
|
|
|
+ <div>拉车(合计):{{ numFilters(pullCartFeeTotal) }} CNY</div>
|
|
|
+ <el-button @click="addpullCartFeeDetails" size="mini" type="primary">添加一行</el-button>
|
|
|
</div>
|
|
|
<!-- <div>拉车(合计)</div> -->
|
|
|
- <el-table border :data="lache">
|
|
|
- <el-table-column property="a" label="成本价" width="150">
|
|
|
+ <el-table border :data="pullCartFeeDetails">
|
|
|
+ <el-table-column property="cost" label="成本价" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModifyLC(scope.row)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="a" label="系数" width="150">
|
|
|
+ <el-table-column property="coefficient" label="系数" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModifyLC(scope.row)" style="width:100%" size="mini" :precision="2"
|
|
|
+ :controls="false" v-model="scope.row.coefficient"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="a" label="备注">
|
|
|
+ <el-table-column property="remark" label="备注">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input size="mini" v-model="scope.row.remark"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<div class="jiaotongfei-li">
|
|
|
<div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
|
|
|
- <div>火车(合计)</div>
|
|
|
- <el-button size="mini" type="primary">添加一行</el-button>
|
|
|
+ <div>火车(合计):{{ numFilters(trainFeeTotal) }} CNY</div>
|
|
|
+ <el-button @click="addtrainFeeDetails" size="mini" type="primary">添加一行</el-button>
|
|
|
</div>
|
|
|
- <el-table border :data="huoche">
|
|
|
- <el-table-column property="a" label="成本价" width="150">
|
|
|
+ <el-table border :data="trainFeeDetails">
|
|
|
+ <el-table-column property="cost" label="成本价" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModifyHC(scope.row)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="a" label="系数" width="150">
|
|
|
+ <el-table-column property="coefficient" label="系数" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModifyHC(scope.row)" style="width:100%" size="mini" :precision="2"
|
|
|
+ :controls="false" v-model="scope.row.coefficient"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="a" label="备注">
|
|
|
+ <el-table-column property="remark" label="备注">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input size="mini" v-model="scope.row.remark"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<div class="jiaotongfei-li">
|
|
|
<div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
|
|
|
- <div>城市机票(合计)</div>
|
|
|
- <el-button size="mini" type="primary">添加一行</el-button>
|
|
|
+ <div>城市机票(合计):{{ numFilters(cityAirTicketFeeTotal) }} CNY</div>
|
|
|
+ <el-button @click="addcityAirTicketFeeDetails" size="mini" type="primary">添加一行</el-button>
|
|
|
</div>
|
|
|
- <el-table border :data="chengshijipiao">
|
|
|
- <el-table-column property="a" label="成本价" width="150">
|
|
|
+ <el-table border :data="cityAirTicketFeeDetails">
|
|
|
+ <el-table-column property="cost" label="成本价" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModifyJP(scope.row)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClass"
|
|
|
+ :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="a" label="系数" width="150">
|
|
|
+ <el-table-column property="coefficient" label="系数" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input-number @blur="UrbanModifyJP(scope.row)" style="width:100%" size="mini" :precision="2"
|
|
|
+ :controls="false" v-model="scope.row.coefficient"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column property="a" label="备注">
|
|
|
+ <el-table-column property="remark" label="备注">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.d"></el-input>
|
|
|
+ <el-input size="mini" v-model="scope.row.remark"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div style="margin-top: 20px;font-weight: 600;">
|
|
|
+ 城市交通费合计:{{ numFilters(Transportationdatatotal + pullCartFeeTotal + trainFeeTotal + cityAirTicketFeeTotal) }} CNY
|
|
|
+ </div>
|
|
|
<div style="text-align: right;margin-top: 20px;">
|
|
|
- <el-button>取消</el-button>
|
|
|
- <el-button type="primary">确 定</el-button>
|
|
|
+ <el-button @click="TransportationVisible=false">取消</el-button>
|
|
|
+ <el-button @click="GetEnterExitCostOVFeeSave" type="primary">保 存</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<div class="Entry-head">
|
|
|
@@ -352,6 +379,9 @@
|
|
|
v-model="TotalExpenses.TravellingExpensesTD"></el-input-number>
|
|
|
<span>元/人;</span>
|
|
|
</div>
|
|
|
+ <div class="Entry-inif-box">
|
|
|
+ <el-button @click="openTransportation" type="primary" size="mini">交通费明细</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
|
<div class="Entry-inif-box">
|
|
|
@@ -878,40 +908,21 @@ export default {
|
|
|
//交通费弹窗
|
|
|
Transportationdata:[
|
|
|
{
|
|
|
- a:1,
|
|
|
- b:'',
|
|
|
- c:'',
|
|
|
- d:'',
|
|
|
- e:'',
|
|
|
- f:'',
|
|
|
- g:'',
|
|
|
- h:'',
|
|
|
- i:'',
|
|
|
- },
|
|
|
- {
|
|
|
- a:2,
|
|
|
- b:'',
|
|
|
- c:'',
|
|
|
- d:'',
|
|
|
- e:'',
|
|
|
- f:'',
|
|
|
- g:'',
|
|
|
- h:'',
|
|
|
- i:'',
|
|
|
- },
|
|
|
- {
|
|
|
- a:3,
|
|
|
- b:'',
|
|
|
- c:'',
|
|
|
- d:'',
|
|
|
- e:'',
|
|
|
- f:'',
|
|
|
- g:'',
|
|
|
- h:'',
|
|
|
- i:'',
|
|
|
+ coefficient: 2.5,
|
|
|
+ cost: 0,
|
|
|
+ currencyName: "CNY",
|
|
|
+ guideCost: 0,
|
|
|
+ no: 1,
|
|
|
+ otherCost: 0,
|
|
|
+ ovId: '',
|
|
|
+ quote: 0,
|
|
|
+ remark: "",
|
|
|
+ serviceCount: 1
|
|
|
}
|
|
|
],
|
|
|
+ Transportationdatatotal:0,
|
|
|
TransportationVisible:false,
|
|
|
+ currencies:[],
|
|
|
lache:[
|
|
|
{
|
|
|
a:1,
|
|
|
@@ -933,7 +944,45 @@ export default {
|
|
|
c:"",
|
|
|
}
|
|
|
],
|
|
|
+ Basicdata:{},
|
|
|
fulecao:[],
|
|
|
+ pullCartFeeTotal:0,
|
|
|
+ pullCartFeeDetails:[
|
|
|
+ {
|
|
|
+ no: 1,
|
|
|
+ cost: 0,
|
|
|
+ coefficient: 2.50,
|
|
|
+ currencyName: "",
|
|
|
+ quote: 0,
|
|
|
+ remark: ""
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ trainFeeTotal:0,
|
|
|
+ trainFeeDetails:[
|
|
|
+ {
|
|
|
+ no: 1,
|
|
|
+ cost: 0,
|
|
|
+ coefficient: 2.50,
|
|
|
+ currencyName: "",
|
|
|
+ quote: 0,
|
|
|
+ remark: ""
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ cityAirTicketFeeTotal:0,
|
|
|
+ cityAirTicketFeeDetails:[
|
|
|
+ {
|
|
|
+ no: 1,
|
|
|
+ cost: 0,
|
|
|
+ coefficient: 2.50,
|
|
|
+ currencyName: "",
|
|
|
+ quote: 0,
|
|
|
+ remark: ""
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ lastUpdateUserName:'',
|
|
|
+ lastUpdateTime:'',
|
|
|
+ createUserName:'',
|
|
|
+ createTime:'',
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -978,6 +1027,7 @@ export default {
|
|
|
let realVal = new Decimal(value).toFixed(2)
|
|
|
return realVal
|
|
|
},
|
|
|
+
|
|
|
//获取团组
|
|
|
GetEnterExitCostDataSource() {
|
|
|
var url = "/api/Groups/GetEnterExitCostDataSource"
|
|
|
@@ -1161,8 +1211,6 @@ export default {
|
|
|
EnterExitCostFileOwner() {
|
|
|
this.listvalueoptions=[];
|
|
|
this.tablevalueoptions=[];
|
|
|
- console.log(this.provinceId);
|
|
|
-
|
|
|
var url = "/api/Groups/EnterExitCostFileOwner/"+this.provinceId
|
|
|
var that = this
|
|
|
this.$axios({
|
|
|
@@ -1798,7 +1846,7 @@ export default {
|
|
|
} else {
|
|
|
that.fullscreenLoading = false;
|
|
|
that.provinceId=res.data.data.provinceId;
|
|
|
- that.EnterExitCostFileOwner();
|
|
|
+ // that.EnterExitCostFileOwner();
|
|
|
that.GetNationalTravelFeeData();
|
|
|
that.GetEnterExitCostCorrelationTips(1);
|
|
|
that.$message.warning(res.data.msg);
|
|
|
@@ -2926,6 +2974,258 @@ export default {
|
|
|
that.$message.error("操作错误,联系信息部!");
|
|
|
});
|
|
|
},
|
|
|
+ //交通费基础费用
|
|
|
+ GetEnterExitCostOVByGroupId() {
|
|
|
+ var url = "/api/Groups/GetEnterExitCostOVByGroupId/"+this.value
|
|
|
+ var that = this
|
|
|
+ this.$axios({
|
|
|
+ method: 'get',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + this.token
|
|
|
+ },
|
|
|
+ }).then(function (res) {
|
|
|
+ that.fulecao=[];
|
|
|
+ that.Basicdata={};
|
|
|
+ that.currencies=[];
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.Basicdata=res.data.data;
|
|
|
+ that.currencies=res.data.data.currencies;
|
|
|
+ that.fulecao=res.data.data.data;
|
|
|
+ }else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //交通费详细
|
|
|
+ GetEnterExitCostOVFeeDetails() {
|
|
|
+ var url = "/api/Groups/GetEnterExitCostOVFeeDetails/"+this.value+"?currUserId="+this.userId
|
|
|
+ var that = this
|
|
|
+ this.$axios({
|
|
|
+ method: 'get',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + this.token
|
|
|
+ },
|
|
|
+ }).then(function (res) {
|
|
|
+ that.Transportationdata=[];
|
|
|
+ that.Transportationdatatotal=0;
|
|
|
+ that.pullCartFeeDetails=[];
|
|
|
+ that.pullCartFeeTotal=0;
|
|
|
+ that.trainFeeDetails=[];
|
|
|
+ that.trainFeeTotal=0;
|
|
|
+ that.cityAirTicketFeeDetails=[];
|
|
|
+ that.cityAirTicketFeeTotal=0;
|
|
|
+ that.lastUpdateUserName="";
|
|
|
+ that.lastUpdateTime="";
|
|
|
+ that.createUserName="";
|
|
|
+ that.createTime="";
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.Transportationdata=res.data.data.aptFeeDetails;
|
|
|
+ that.Transportationdatatotal=res.data.data.aptFeeTotal;
|
|
|
+ that.pullCartFeeDetails=res.data.data.pullCartFeeDetails;
|
|
|
+ that.pullCartFeeTotal=res.data.data.pullCartFeeTotal;
|
|
|
+ that.trainFeeDetails=res.data.data.trainFeeDetails;
|
|
|
+ that.trainFeeTotal=res.data.data.trainFeeTotal;
|
|
|
+ that.cityAirTicketFeeDetails=res.data.data.cityAirTicketFeeDetails;
|
|
|
+ that.cityAirTicketFeeTotal=res.data.data.cityAirTicketFeeTotal;
|
|
|
+ that.lastUpdateUserName=res.data.data.lastUpdateUserName;
|
|
|
+ that.lastUpdateTime=res.data.data.lastUpdateTime;
|
|
|
+ that.createUserName=res.data.data.createUserName;
|
|
|
+ that.createTime=res.data.data.createTime;
|
|
|
+ that.GetEnterExitCostOVByGroupId();
|
|
|
+ }else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //交通费弹窗
|
|
|
+ openTransportation(){
|
|
|
+ this.GetEnterExitCostOVFeeDetails();
|
|
|
+ this.TransportationVisible=true;
|
|
|
+ },
|
|
|
+ //选择城市交通费
|
|
|
+ UrbanSelect(val, item, index) {
|
|
|
+ var obj = {}
|
|
|
+ obj = this.fulecao.find(function (i,indexs) {
|
|
|
+
|
|
|
+ return i.id === item
|
|
|
+ });
|
|
|
+ val.cost=obj.price;
|
|
|
+ val.otherCost=obj.otherPrice;
|
|
|
+ val.guideCost=obj.guidePrice;
|
|
|
+ val.currencyName=obj.currencyName
|
|
|
+ this.UrbanModify(val,val.currencyName)
|
|
|
+ },
|
|
|
+ numFilters(value) {
|
|
|
+ // 截取当前数据到小数点后两位
|
|
|
+ let tempVal = parseFloat(value).toFixed(3);
|
|
|
+ let realVal = tempVal.substring(0, tempVal.length - 1);
|
|
|
+ return realVal;
|
|
|
+ },
|
|
|
+ //改值计算
|
|
|
+ UrbanModify(val,bizhong){
|
|
|
+ var total=0
|
|
|
+ var obj = {}
|
|
|
+ obj = this.currencies.find(function (i,indexs) {
|
|
|
+ return i.currencyCode === bizhong
|
|
|
+ });
|
|
|
+ total=(Number(val.cost/this.Basicdata.groupSize)+Number(val.otherCost)+Number(val.guideCost))*val.serviceCount*val.coefficient*obj.rate;
|
|
|
+ val.quote=this.numFilters(total)
|
|
|
+ this.UrbanTotal();
|
|
|
+ },
|
|
|
+ //改值计算LC
|
|
|
+ UrbanModifyLC(val){
|
|
|
+ var total=0
|
|
|
+ val.currencyName="CNY"
|
|
|
+ total=Number(val.cost)*val.coefficient;
|
|
|
+ val.quote=this.numFilters(total)
|
|
|
+ this.UrbanTotalLC();
|
|
|
+ },
|
|
|
+ //计算总价LC
|
|
|
+ UrbanTotalLC(){
|
|
|
+ this.pullCartFeeTotal=0
|
|
|
+ for(let i=0;i<this.pullCartFeeDetails.length;i++){
|
|
|
+ this.pullCartFeeTotal+=Number(this.pullCartFeeDetails[i].quote)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //改值计算HC
|
|
|
+ UrbanModifyHC(val){
|
|
|
+ var total=0
|
|
|
+ val.currencyName="CNY"
|
|
|
+ total=Number(val.cost)*val.coefficient;
|
|
|
+ val.quote=this.numFilters(total)
|
|
|
+ this.UrbanTotalHC();
|
|
|
+ },
|
|
|
+ //计算总价HC
|
|
|
+ UrbanTotalHC(){
|
|
|
+ this.trainFeeTotal=0
|
|
|
+ for(let i=0;i<this.trainFeeDetails.length;i++){
|
|
|
+ this.trainFeeTotal+=Number(this.trainFeeDetails[i].quote)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //改值计算JP
|
|
|
+ UrbanModifyJP(val){
|
|
|
+ var total=0
|
|
|
+ val.currencyName="CNY"
|
|
|
+ total=Number(val.cost)*val.coefficient;
|
|
|
+ val.quote=this.numFilters(total)
|
|
|
+ this.UrbanTotalJP();
|
|
|
+ },
|
|
|
+ //计算总价JP
|
|
|
+ UrbanTotalJP(){
|
|
|
+ this.cityAirTicketFeeTotal=0
|
|
|
+ for(let i=0;i<this.cityAirTicketFeeDetails.length;i++){
|
|
|
+ this.cityAirTicketFeeTotal+=Number(this.cityAirTicketFeeDetails[i].quote)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //计算总价
|
|
|
+ UrbanTotal(){
|
|
|
+ this.Transportationdatatotal=0
|
|
|
+ for(let i=0;i<this.Transportationdata.length;i++){
|
|
|
+ this.Transportationdatatotal+=Number(this.Transportationdata[i].quote)
|
|
|
+ }
|
|
|
+ // console.log(total);
|
|
|
+
|
|
|
+ // this.TotalExpenses.TravellingExpensesJJ=this.numFilters(total)
|
|
|
+ // this.TotalExpenses.TravellingExpensesGW=this.numFilters(total)
|
|
|
+ // this.TotalExpenses.TravellingExpensesTD=this.numFilters(total)
|
|
|
+ // this.calculation();
|
|
|
+ },
|
|
|
+ //添加一行接送机
|
|
|
+ addTransportationdata(){
|
|
|
+ this.Transportationdata.push({
|
|
|
+ coefficient: 2.5,
|
|
|
+ cost: 0,
|
|
|
+ currencyName: "CNY",
|
|
|
+ guideCost: 0,
|
|
|
+ no: this.Transportationdata.length + 1,
|
|
|
+ otherCost: 0,
|
|
|
+ ovId: '',
|
|
|
+ quote: 0,
|
|
|
+ remark: "",
|
|
|
+ serviceCount: 1
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //添加一行拉车
|
|
|
+ addpullCartFeeDetails(){
|
|
|
+ this.pullCartFeeDetails.push({
|
|
|
+ no: this.pullCartFeeDetails.length + 1,
|
|
|
+ cost: 0,
|
|
|
+ coefficient: 2.50,
|
|
|
+ currencyName: "",
|
|
|
+ quote: 0,
|
|
|
+ remark: ""
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //添加一行火车
|
|
|
+ addtrainFeeDetails(){
|
|
|
+ this.trainFeeDetails.push({
|
|
|
+ no: this.trainFeeDetails.length + 1,
|
|
|
+ cost: 0,
|
|
|
+ coefficient: 2.50,
|
|
|
+ currencyName: "",
|
|
|
+ quote: 0,
|
|
|
+ remark: ""
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //添加一行城市机票(
|
|
|
+ addcityAirTicketFeeDetails(){
|
|
|
+ this.cityAirTicketFeeDetails.push({
|
|
|
+ no: this.cityAirTicketFeeDetails.length + 1,
|
|
|
+ cost: 0,
|
|
|
+ coefficient: 2.50,
|
|
|
+ currencyName: "",
|
|
|
+ quote: 0,
|
|
|
+ remark: ""
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //城市交通费保存
|
|
|
+ GetEnterExitCostOVFeeSave() {
|
|
|
+ for(let i=0;i<this.Transportationdata.length;i++){
|
|
|
+ if(this.Transportationdata[i].ovId==""){
|
|
|
+ this.$message.error("请查看是否除备注外的必填项均已填写!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var url = "/api/Groups/GetEnterExitCostOVFeeSave"
|
|
|
+ var that = this
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + this.token
|
|
|
+ },
|
|
|
+ data:{
|
|
|
+ aptFeeTotal:that.Transportationdatatotal,
|
|
|
+ aptFeeDetails:that.Transportationdata,
|
|
|
+ pullCartFeeTotal:that.pullCartFeeTotal,
|
|
|
+ pullCartFeeDetails:that.pullCartFeeDetails,
|
|
|
+ trainFeeTotal:that.trainFeeTotal,
|
|
|
+ trainFeeDetails:that.trainFeeDetails,
|
|
|
+ cityAirTicketFeeTotal:that.cityAirTicketFeeTotal,
|
|
|
+ cityAirTicketFeeDetails:that.cityAirTicketFeeDetails,
|
|
|
+ currencies:that.currencies,
|
|
|
+ lastUpdateUserName:that.lastUpdateUserName,
|
|
|
+ lastUpdateTime:that.lastUpdateTime,
|
|
|
+ createUserName:that.createUserName,
|
|
|
+ createTime:that.createTime,
|
|
|
+ groupId:that.value,
|
|
|
+ currUserId:that.userId,
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ that.TotalExpenses.TravellingExpensesJJ=that.numFilters(that.Transportationdatatotal + that.pullCartFeeTotal + that.trainFeeTotal + that.cityAirTicketFeeTotal);
|
|
|
+ that.TotalExpenses.TravellingExpensesGW=that.numFilters(that.Transportationdatatotal + that.pullCartFeeTotal + that.trainFeeTotal + that.cityAirTicketFeeTotal);
|
|
|
+ that.TotalExpenses.TravellingExpensesTD=that.numFilters(that.Transportationdatatotal + that.pullCartFeeTotal + that.trainFeeTotal + that.cityAirTicketFeeTotal);
|
|
|
+ that.TransportationVisible=false;
|
|
|
+ that.$message.success(res.data.msg);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ that.$message.error(res.data.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
},
|
|
|
filters: {
|
|
|
numFilter(value) {
|
|
|
@@ -2935,6 +3235,12 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
+ Transportationdata: {
|
|
|
+ handler(newVal, oldVal) {
|
|
|
+ // this.UrbanTotal();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
choiceOne(val) {//境内费用(其他费用)选择框
|
|
|
this.calculation();
|
|
|
},
|
|
|
@@ -3306,4 +3612,24 @@ export default {
|
|
|
.jiaotongfei-li{
|
|
|
width: 32.5%;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+.inputNumberClass[class-unit] {
|
|
|
+ --el-input-number-unit-offset-x: 35px;
|
|
|
+ position: relative;
|
|
|
+}
|
|
|
+.inputNumberClass[class-unit]::after {
|
|
|
+ content: attr(class-unit);
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ right: 5px;
|
|
|
+ color: #C0C4CC;
|
|
|
+}
|
|
|
+.inputNumberClass[class-unit] .el-input__inner {
|
|
|
+ padding-right:25px;
|
|
|
+}
|
|
|
</style>
|