|
@@ -124,10 +124,13 @@
|
|
|
<div style="display: flex;">
|
|
|
<div class="li-lable">
|
|
|
<label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
+ <div class="sub-boxs">{{TotalAccommodationFee|numFilter}}</div>
|
|
|
<span>元/人</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="btn-Entry">
|
|
|
+ <el-button type="primary" @click="addlist" size="mini">新 增</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
|
<el-table
|
|
@@ -148,28 +151,25 @@
|
|
|
label="城 市"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
- </template>
|
|
|
- <!-- <template slot-scope="scope">
|
|
|
- <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
|
|
|
+ <el-select size="mini" @change="changeSelect(scope.row,$event)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in placeinif"
|
|
|
:key="item.id"
|
|
|
- :label="item.city=='所有城市'?item.country:item.city"
|
|
|
- :value="item.city=='所有城市'?item.country:item.city"
|
|
|
+ :label="item.cityname"
|
|
|
+ :value="item.id"
|
|
|
>
|
|
|
- <span style="float: left">{{item.city}}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
|
|
|
+ <span style="float: left">{{item.cityname}}</span>
|
|
|
+ <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </template> -->
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="cost"
|
|
|
label=" 费用标准"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
+ <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -177,7 +177,7 @@
|
|
|
label=" 币 种"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.currencyName"></el-input>
|
|
|
+ <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -185,7 +185,7 @@
|
|
|
label="费用小计"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
|
|
|
+ <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div> CNY
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -201,10 +201,13 @@
|
|
|
<div style="display: flex;">
|
|
|
<div class="li-lable">
|
|
|
<label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
+ <div class="sub-boxs">{{TotalMeals|numFilter}}</div>
|
|
|
<span>元/人</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="btn-Entry">
|
|
|
+ <el-button type="primary" size="mini">新 增</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
|
<el-table
|
|
@@ -224,29 +227,29 @@
|
|
|
prop="city"
|
|
|
label="城 市"
|
|
|
width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
- </template>
|
|
|
<!-- <template slot-scope="scope">
|
|
|
- <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
|
|
|
+ <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
+ </template> -->
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select size="mini" @change="mealschangeSelect(scope.row,$event)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in placeinif"
|
|
|
:key="item.id"
|
|
|
- :label="item.city=='所有城市'?item.country:item.city"
|
|
|
- :value="item.city=='所有城市'?item.country:item.city"
|
|
|
+ :label="item.cityname"
|
|
|
+ :value="item.id"
|
|
|
>
|
|
|
- <span style="float: left">{{item.city}}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
|
|
|
+ <span style="float: left">{{item.cityname}}</span>
|
|
|
+ <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </template> -->
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="cost"
|
|
|
label=" 费用标准"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
+ <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -254,7 +257,7 @@
|
|
|
label=" 币 种"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.currencyName"></el-input>
|
|
|
+ <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -262,7 +265,7 @@
|
|
|
label="费用小计"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
|
|
|
+ <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div> CNY
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -278,10 +281,13 @@
|
|
|
<div style="display: flex;">
|
|
|
<div class="li-lable">
|
|
|
<label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
+ <div class="sub-boxs">{{TotalMiscellaneous|numFilter}}</div>
|
|
|
<span>元/人</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="btn-Entry">
|
|
|
+ <el-button type="primary" size="mini">新 增</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
|
<el-table
|
|
@@ -301,29 +307,29 @@
|
|
|
prop="city"
|
|
|
label="城 市"
|
|
|
width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
- </template>
|
|
|
<!-- <template slot-scope="scope">
|
|
|
- <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
|
|
|
+ <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
+ </template> -->
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select @change="MiscellaneouschangeSelect(scope.row,$event)" size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in placeinif"
|
|
|
:key="item.id"
|
|
|
- :label="item.city=='所有城市'?item.country:item.city"
|
|
|
- :value="item.city=='所有城市'?item.country:item.city"
|
|
|
+ :label="item.cityname"
|
|
|
+ :value="item.id"
|
|
|
>
|
|
|
- <span style="float: left">{{item.city}}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
|
|
|
+ <span style="float: left">{{item.cityname}}</span>
|
|
|
+ <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </template> -->
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="cost"
|
|
|
label=" 费用标准"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
+ <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -331,7 +337,7 @@
|
|
|
label=" 币 种"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.currencyName"></el-input>
|
|
|
+ <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -339,7 +345,7 @@
|
|
|
label="费用小计"
|
|
|
width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
|
|
|
+ <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div> CNY
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -359,6 +365,9 @@
|
|
|
<span>元/人</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="btn-Entry">
|
|
|
+ <el-button type="primary" size="mini">新 增</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
|
<el-table
|
|
@@ -378,22 +387,22 @@
|
|
|
prop="city"
|
|
|
label="城 市"
|
|
|
width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
- </template>
|
|
|
<!-- <template slot-scope="scope">
|
|
|
- <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
|
|
|
+ <el-input size="mini" v-model="scope.row.city"></el-input>
|
|
|
+ </template> -->
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in placeinif"
|
|
|
:key="item.id"
|
|
|
- :label="item.city=='所有城市'?item.country:item.city"
|
|
|
- :value="item.city=='所有城市'?item.country:item.city"
|
|
|
+ :label="item.cityname"
|
|
|
+ :value="item.id"
|
|
|
>
|
|
|
- <span style="float: left">{{item.city}}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
|
|
|
+ <span style="float: left">{{item.cityname}}</span>
|
|
|
+ <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </template> -->
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="cost"
|
|
@@ -456,6 +465,11 @@ export default {
|
|
|
EconomyClasstotal:0,//经济舱合计
|
|
|
BusinessClasstotal:0,//公务舱合计
|
|
|
},
|
|
|
+
|
|
|
+ TotalAccommodationFee:0,//住宿费合计
|
|
|
+ TotalMeals:0,//伙食费合计
|
|
|
+ TotalMiscellaneous:0,//公杂费合计
|
|
|
+
|
|
|
quarterageData: [],
|
|
|
boardWagesData:[],
|
|
|
miscellaneousFeeData:[],
|
|
@@ -550,15 +564,22 @@ export default {
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
console.log(res)
|
|
|
+ let placeinifarr=[];
|
|
|
if(res.data.code==200){
|
|
|
- that.placeinif=res.data.data;
|
|
|
+ for(let i=0;i<res.data.data.length;i++){
|
|
|
+ res.data.data[i]['cityname']=res.data.data[i].country+'-'+res.data.data[i].city;
|
|
|
+ placeinifarr.push(res.data.data[i]);
|
|
|
+ }
|
|
|
+ that.placeinif=placeinifarr;
|
|
|
console.log(that.placeinif)
|
|
|
+ console.log(placeinifarr)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
GetEnterExitCostInfobyDiId(){
|
|
|
var url = "/api/Groups/GetEnterExitCostInfobyDiId"
|
|
|
var that = this
|
|
|
+ console.log(that.value)
|
|
|
this.$axios({
|
|
|
method: 'post',
|
|
|
url: url,
|
|
@@ -567,7 +588,7 @@ export default {
|
|
|
},
|
|
|
data:{
|
|
|
portType: 1,
|
|
|
- diId: that.value
|
|
|
+ diId: 2362
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
if(res.data.code==200){
|
|
@@ -588,10 +609,19 @@ export default {
|
|
|
that.TotalExpenses.TravellingExpenses=res.data.data.cityTranffic;
|
|
|
//住宿费
|
|
|
that.quarterageData=res.data.data.quarterageData;
|
|
|
+ for(let a=0;a<res.data.data.quarterageData.length;a++){
|
|
|
+ that.TotalAccommodationFee+=res.data.data.quarterageData[a].subTotal
|
|
|
+ }
|
|
|
//伙食费
|
|
|
that.boardWagesData=res.data.data.boardWagesData;
|
|
|
+ for(let b=0;b<res.data.data.boardWagesData.length;b++){
|
|
|
+ that.TotalMeals+=res.data.data.boardWagesData[b].subTotal
|
|
|
+ }
|
|
|
//公杂费
|
|
|
that.miscellaneousFeeData=res.data.data.miscellaneousFeeData;
|
|
|
+ for(let c=0;c<res.data.data.miscellaneousFeeData.length;c++){
|
|
|
+ that.TotalMiscellaneous+=res.data.data.miscellaneousFeeData[c].subTotal
|
|
|
+ }
|
|
|
//培训费
|
|
|
that.trainingExpenseData=res.data.data.trainingExpenseData;
|
|
|
}
|
|
@@ -605,6 +635,81 @@ export default {
|
|
|
this.treeDataValue= data.name
|
|
|
this.treeData= data.name
|
|
|
console.log(this.treeData)
|
|
|
+ },
|
|
|
+ //住宿地区选择
|
|
|
+ changeSelect(val,item){
|
|
|
+ console.log(val);
|
|
|
+ var rate=0
|
|
|
+ var obj={}
|
|
|
+ obj= this.placeinif.find(function(i){
|
|
|
+ return i.id ===item
|
|
|
+ });
|
|
|
+ //在change中获取到整条对象数据
|
|
|
+ console.log(obj);
|
|
|
+ val.currencyName=obj.currencyName;
|
|
|
+ val.cost=obj.roomCost;
|
|
|
+ console.log(this.currencys)
|
|
|
+ for(let j=0;j<this.currencys.length;j++){
|
|
|
+ if(this.currencys[j].currencyCode==obj.currencyCode){
|
|
|
+ rate=this.currencys[j].rate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log(val.cost,rate)
|
|
|
+ val.subTotal=Number(val.cost)*Number(rate);
|
|
|
+ this.TotalAccommodationFee=0;
|
|
|
+ for(let a=0;a<this.quarterageData.length;a++){
|
|
|
+ this.TotalAccommodationFee+=this.quarterageData[a].subTotal
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //伙食地区选择
|
|
|
+ mealschangeSelect(val,item){
|
|
|
+ console.log(val);
|
|
|
+ var rate=0
|
|
|
+ var obj={}
|
|
|
+ obj= this.placeinif.find(function(i){
|
|
|
+ return i.id ===item
|
|
|
+ });
|
|
|
+ //在change中获取到整条对象数据
|
|
|
+ console.log(obj);
|
|
|
+ val.currencyName=obj.currencyName;
|
|
|
+ val.cost=obj.foodCost;
|
|
|
+ for(let j=0;j<this.currencys.length;j++){
|
|
|
+ if(this.currencys[j].currencyCode==obj.currencyCode){
|
|
|
+ rate=this.currencys[j].rate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ val.subTotal=Number(val.cost)*Number(rate);
|
|
|
+ this.TotalMeals=0;
|
|
|
+ for(let a=0;a<this.boardWagesData.length;a++){
|
|
|
+ this.TotalMeals+=this.boardWagesData[a].subTotal
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //公杂费地区选择
|
|
|
+ MiscellaneouschangeSelect(val,item){
|
|
|
+ console.log(val);
|
|
|
+ var rate=0
|
|
|
+ var obj={}
|
|
|
+ obj= this.placeinif.find(function(i){
|
|
|
+ return i.id ===item
|
|
|
+ });
|
|
|
+ //在change中获取到整条对象数据
|
|
|
+ console.log(obj);
|
|
|
+ val.currencyName=obj.currencyName;
|
|
|
+ val.cost=obj.publicCost;
|
|
|
+ for(let j=0;j<this.currencys.length;j++){
|
|
|
+ if(this.currencys[j].currencyCode==obj.currencyCode){
|
|
|
+ rate=this.currencys[j].rate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ val.subTotal=Number(val.cost)*Number(rate);
|
|
|
+ this.TotalMiscellaneous=0;
|
|
|
+ for(let a=0;a<this.miscellaneousFeeData.length;a++){
|
|
|
+ this.TotalMiscellaneous+=this.miscellaneousFeeData[a].subTotal
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //新增list
|
|
|
+ addlist(){
|
|
|
+ console.log(this.quarterageData)
|
|
|
}
|
|
|
},
|
|
|
filters: {
|
|
@@ -696,8 +801,9 @@ export default {
|
|
|
}
|
|
|
.Entry-li-lable{
|
|
|
display: flex;
|
|
|
- justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
margin: 10px 0;
|
|
|
+ margin-top: 20px;
|
|
|
}
|
|
|
.Entry-inif-box .depipt{
|
|
|
display: inline-block;
|
|
@@ -741,6 +847,10 @@ export default {
|
|
|
-webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
|
|
|
transition: border-color .2s cubic-bezier(.645,.045,.355,1);
|
|
|
}
|
|
|
+.btn-Entry{
|
|
|
+ width: 83%;
|
|
|
+ text-align: right;
|
|
|
+}
|
|
|
.opc-city{
|
|
|
|
|
|
}
|