|
@@ -4,7 +4,7 @@
|
|
|
<div class="Entry-head">
|
|
|
<div class="Entry-head-li">
|
|
|
<label>团组名称:</label>
|
|
|
- <el-select v-model="value" filterable placeholder="请选择">
|
|
|
+ <el-select @change="chengvalue()" v-model="value" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:key="item.id"
|
|
@@ -16,14 +16,15 @@
|
|
|
<div class="Entry-head-li">
|
|
|
<el-button type="primary">计算费用</el-button>
|
|
|
<el-button type="primary">全部清空</el-button>
|
|
|
- <el-button type="primary">保存</el-button>
|
|
|
+ <el-button @click="storage()" type="primary">保存</el-button>
|
|
|
<el-button type="primary">导出所选明细表</el-button>
|
|
|
<el-button type="primary">导出下拉所选表格</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Entry-form">
|
|
|
<div class="Entry-form-li">
|
|
|
- <div class="Entry-li-lable">
|
|
|
+ <div class="Entry-li-lables">
|
|
|
+ <el-checkbox v-model="choiceOne"></el-checkbox>
|
|
|
<div class="li-lable">一、境内费用(其他费用)</div>
|
|
|
<div class="li-lable">
|
|
|
<span class="redzhu">(注:填好数值鼠标点击其他区域计算合计)</span>
|
|
@@ -75,18 +76,21 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Entry-form-li">
|
|
|
- <div class="Entry-li-lable">
|
|
|
+ <div class="Entry-li-lables">
|
|
|
+ <el-checkbox v-model="choiceTwo"></el-checkbox>
|
|
|
<div class="li-lable">二、国际旅费合计:</div>
|
|
|
<div style="display: flex;">
|
|
|
<div class="li-lable">
|
|
|
- <label>(经济舱)</label>
|
|
|
+ <el-checkbox style="margin-right: -10px;" v-model="sumJJC"></el-checkbox>
|
|
|
+ <label>(经济舱)</label>
|
|
|
<div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
<span>元/人</span>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<div class="li-lable">
|
|
|
- <label>(公务舱)</label>
|
|
|
- <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.BusinessClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
+ <el-checkbox style="margin-right: -10px;" v-model="sumGWC"></el-checkbox>
|
|
|
+ <label>(公务舱)</label>
|
|
|
+ <div class="sub-boxs">{{TotalExpenses.BusinessClasstotal=(TotalExpenses.BusinessClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
<span>元/人</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -120,16 +124,19 @@
|
|
|
</div>
|
|
|
<div class="Entry-form-li">
|
|
|
<div class="Entry-li-lable">
|
|
|
- <div class="li-lable">三、住宿费:</div>
|
|
|
- <div style="display: flex;">
|
|
|
- <div class="li-lable">
|
|
|
- <label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalAccommodationFee|numFilter}}</div>
|
|
|
- <span>元/人</span>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox v-model="choiceThree"></el-checkbox>
|
|
|
+ <div class="li-lable">三、住宿费:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div class="li-lable">
|
|
|
+ <label>合计:</label>
|
|
|
+ <div class="sub-boxs">{{TotalAccommodationFee|numFilter}}</div>
|
|
|
+ <span>元/人</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="btn-Entry">
|
|
|
- <el-button type="primary" @click="addlist" size="mini">新 增</el-button>
|
|
|
+ <el-button type="primary" @click="addlist('住宿费')" size="mini">新 增</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
@@ -197,16 +204,19 @@
|
|
|
</div>
|
|
|
<div class="Entry-form-li">
|
|
|
<div class="Entry-li-lable">
|
|
|
- <div class="li-lable">四、伙食费:</div>
|
|
|
- <div style="display: flex;">
|
|
|
- <div class="li-lable">
|
|
|
- <label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalMeals|numFilter}}</div>
|
|
|
- <span>元/人</span>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox v-model="choiceFour"></el-checkbox>
|
|
|
+ <div class="li-lable">四、伙食费:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div class="li-lable">
|
|
|
+ <label>合计:</label>
|
|
|
+ <div class="sub-boxs">{{TotalMeals|numFilter}}</div>
|
|
|
+ <span>元/人</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="btn-Entry">
|
|
|
- <el-button type="primary" size="mini">新 增</el-button>
|
|
|
+ <el-button type="primary" @click="addlist('伙食费')" size="mini">新 增</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
@@ -277,16 +287,19 @@
|
|
|
</div>
|
|
|
<div class="Entry-form-li">
|
|
|
<div class="Entry-li-lable">
|
|
|
- <div class="li-lable">五、公杂费:</div>
|
|
|
- <div style="display: flex;">
|
|
|
- <div class="li-lable">
|
|
|
- <label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalMiscellaneous|numFilter}}</div>
|
|
|
- <span>元/人</span>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox v-model="choiceFive"></el-checkbox>
|
|
|
+ <div class="li-lable">五、公杂费:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div class="li-lable">
|
|
|
+ <label>合计:</label>
|
|
|
+ <div class="sub-boxs">{{TotalMiscellaneous|numFilter}}</div>
|
|
|
+ <span>元/人</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="btn-Entry">
|
|
|
- <el-button type="primary" size="mini">新 增</el-button>
|
|
|
+ <el-button type="primary" @click="addlist('公杂费')" size="mini">新 增</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
@@ -357,16 +370,19 @@
|
|
|
</div>
|
|
|
<div class="Entry-form-li">
|
|
|
<div class="Entry-li-lable">
|
|
|
- <div class="li-lable">六、培训费</div>
|
|
|
- <div style="display: flex;">
|
|
|
- <div class="li-lable">
|
|
|
- <label>合计:</label>
|
|
|
- <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
|
|
|
- <span>元/人</span>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox v-model="choiceSix"></el-checkbox>
|
|
|
+ <div class="li-lable">六、培训费:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div class="li-lable">
|
|
|
+ <label>合计:</label>
|
|
|
+ <div class="sub-boxs">{{trainingExpense|numFilter}}</div>
|
|
|
+ <span>元/人</span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="btn-Entry">
|
|
|
- <el-button type="primary" size="mini">新 增</el-button>
|
|
|
+ <el-button type="primary" @click="addlist('培训费')" size="mini">新 增</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="Entry-li-inif">
|
|
@@ -391,7 +407,7 @@
|
|
|
<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-select @change="TrainingExpenseDataSelect(scope.row,$event)" size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in placeinif"
|
|
|
:key="item.id"
|
|
@@ -409,7 +425,7 @@
|
|
|
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 @input="Traininginput(scope.row)" size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
@@ -435,6 +451,26 @@
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="Entry-form-li">
|
|
|
+ <div class="Entry-li-lables">
|
|
|
+ <div class="li-lable">七、费用总计:</div>
|
|
|
+ <div style="display: flex;">
|
|
|
+ <div class="li-lable">
|
|
|
+ <el-checkbox style="margin-right: -10px;" v-model="airJJC_Checked"></el-checkbox>
|
|
|
+ <label>(经济舱)</label>
|
|
|
+ <div class="sub-boxs">{{jjctotal|numFilter}}</div>
|
|
|
+ <span>元/人</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="li-lable">
|
|
|
+ <el-checkbox style="margin-right: -10px;" v-model="airGWC_Checked"></el-checkbox>
|
|
|
+ <label>(公务舱)</label>
|
|
|
+ <div class="sub-boxs">{{gwctotal|numFilter}}</div>
|
|
|
+ <span>元/人</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -443,6 +479,19 @@
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ //是否计算Checkbox
|
|
|
+ choiceOne:false,//境内费用(其他费用)选择框
|
|
|
+ choiceTwo:false,//国际旅费合计选择框
|
|
|
+ choiceThree:false,//住宿费合计选择框
|
|
|
+ choiceFour:false,//伙食费合计选择框
|
|
|
+ choiceFive:false,//公杂费合计选择框
|
|
|
+ choiceSix:false,//培训费用选择框
|
|
|
+ sumJJC:false,//经济舱小计选择框
|
|
|
+ sumGWC:false,//公务舱小计选择框
|
|
|
+ airJJC_Checked:false,//经济舱选择框
|
|
|
+ airGWC_Checked:false,//公务舱选择框
|
|
|
+
|
|
|
+ userId:'',
|
|
|
value:'',
|
|
|
options:[],
|
|
|
Visafees:'',
|
|
@@ -469,6 +518,7 @@ export default {
|
|
|
TotalAccommodationFee:0,//住宿费合计
|
|
|
TotalMeals:0,//伙食费合计
|
|
|
TotalMiscellaneous:0,//公杂费合计
|
|
|
+ trainingExpense:0,//培训费合计
|
|
|
|
|
|
quarterageData: [],
|
|
|
boardWagesData:[],
|
|
@@ -523,6 +573,11 @@ export default {
|
|
|
label:"city",
|
|
|
// label: "country",
|
|
|
},
|
|
|
+
|
|
|
+ jjctotal:0,//经济舱合计
|
|
|
+ gwctotal:0,//公务舱合计
|
|
|
+
|
|
|
+ storageid:0,
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
@@ -588,7 +643,7 @@ export default {
|
|
|
},
|
|
|
data:{
|
|
|
portType: 1,
|
|
|
- diId: 2362
|
|
|
+ diId: that.value
|
|
|
}
|
|
|
}).then(function (res) {
|
|
|
if(res.data.code==200){
|
|
@@ -607,6 +662,18 @@ export default {
|
|
|
that.TotalExpenses.EconomyClass=res.data.data.outsideJJPay;
|
|
|
that.TotalExpenses.BusinessClass=res.data.data.outsaideGWPay;
|
|
|
that.TotalExpenses.TravellingExpenses=res.data.data.cityTranffic;
|
|
|
+
|
|
|
+ //是否计算Checkbox
|
|
|
+ that.choiceOne=res.data.data.choiceOne==1?true:false
|
|
|
+ that.choiceTwo=res.data.data.choiceTwo==1?true:false
|
|
|
+ that.choiceThree=res.data.data.choiceThree==1?true:false
|
|
|
+ that.choiceFour=res.data.data.choiceFour==1?true:false
|
|
|
+ that.choiceFive=res.data.data.choiceFive==1?true:false
|
|
|
+ that.choiceSix=res.data.data.choiceSix==1?true:false
|
|
|
+ that.sumJJC=res.data.data.sumJJC==1?true:false
|
|
|
+ that.sumGWC=res.data.data.sumGWC==1?true:false
|
|
|
+ that.airJJC_Checked=res.data.data.airJJC_Checked==1?true:false
|
|
|
+ that.airGWC_Checked=res.data.data.airGWC_Checked==1?true:false
|
|
|
//住宿费
|
|
|
that.quarterageData=res.data.data.quarterageData;
|
|
|
for(let a=0;a<res.data.data.quarterageData.length;a++){
|
|
@@ -624,6 +691,10 @@ export default {
|
|
|
}
|
|
|
//培训费
|
|
|
that.trainingExpenseData=res.data.data.trainingExpenseData;
|
|
|
+ for(let d=0;d<res.data.data.trainingExpenseData.length;d++){
|
|
|
+ that.trainingExpense+=res.data.data.trainingExpenseData[d].subTotal
|
|
|
+ }
|
|
|
+ that.storageid=res.data.data.id;
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -647,6 +718,7 @@ export default {
|
|
|
//在change中获取到整条对象数据
|
|
|
console.log(obj);
|
|
|
val.currencyName=obj.currencyName;
|
|
|
+ val.currency=obj.currency;
|
|
|
val.cost=obj.roomCost;
|
|
|
console.log(this.currencys)
|
|
|
for(let j=0;j<this.currencys.length;j++){
|
|
@@ -672,6 +744,7 @@ export default {
|
|
|
//在change中获取到整条对象数据
|
|
|
console.log(obj);
|
|
|
val.currencyName=obj.currencyName;
|
|
|
+ val.currency=obj.currency;
|
|
|
val.cost=obj.foodCost;
|
|
|
for(let j=0;j<this.currencys.length;j++){
|
|
|
if(this.currencys[j].currencyCode==obj.currencyCode){
|
|
@@ -695,6 +768,7 @@ export default {
|
|
|
//在change中获取到整条对象数据
|
|
|
console.log(obj);
|
|
|
val.currencyName=obj.currencyName;
|
|
|
+ val.currency=obj.currency;
|
|
|
val.cost=obj.publicCost;
|
|
|
for(let j=0;j<this.currencys.length;j++){
|
|
|
if(this.currencys[j].currencyCode==obj.currencyCode){
|
|
@@ -707,9 +781,260 @@ export default {
|
|
|
this.TotalMiscellaneous+=this.miscellaneousFeeData[a].subTotal
|
|
|
}
|
|
|
},
|
|
|
+ //培训费费用标准值改变
|
|
|
+ Traininginput(val){
|
|
|
+ console.log(val)
|
|
|
+ var rate=0
|
|
|
+ for(let j=0;j<this.currencys.length;j++){
|
|
|
+ if(this.currencys[j].currencyName==val.currencyName){
|
|
|
+ rate=this.currencys[j].rate;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ val.subTotal=Number(val.cost)*Number(rate);
|
|
|
+ this.trainingExpense=0;
|
|
|
+ for(let a=0;a<this.trainingExpenseData.length;a++){
|
|
|
+ this.trainingExpense+=this.trainingExpenseData[a].subTotal
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //培训费地区选择
|
|
|
+ TrainingExpenseDataSelect(val,item){
|
|
|
+ console.log(val);
|
|
|
+ console.log(this.trainingExpenseData);
|
|
|
+ var rate=0//汇率
|
|
|
+ var obj={}
|
|
|
+ obj= this.placeinif.find(function(i){
|
|
|
+ return i.id ===item
|
|
|
+ });
|
|
|
+ //在change中获取到整条对象数据
|
|
|
+ console.log(obj);
|
|
|
+ val.currencyName=obj.currencyName;
|
|
|
+ val.currency=obj.currency;
|
|
|
+ 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.trainingExpense=0;
|
|
|
+ for(let a=0;a<this.trainingExpenseData.length;a++){
|
|
|
+ this.trainingExpense+=this.trainingExpenseData[a].subTotal
|
|
|
+ }
|
|
|
+ },
|
|
|
//新增list
|
|
|
- addlist(){
|
|
|
- console.log(this.quarterageData)
|
|
|
+ addlist(text){
|
|
|
+ if(text=="住宿费"){
|
|
|
+ this.quarterageData.push({
|
|
|
+ id:0,
|
|
|
+ diId:this.value,
|
|
|
+ type:1,
|
|
|
+ days:this.quarterageData.length!=0?(this.quarterageData[this.quarterageData.length-1].days)+1:1,
|
|
|
+ nationalTravelFeeId:0,
|
|
|
+ cost:0,
|
|
|
+ currency:0,
|
|
|
+ subTotal:0,
|
|
|
+ remark:0,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if(text=="伙食费"){
|
|
|
+ this.boardWagesData.push({
|
|
|
+ id:0,
|
|
|
+ diId:this.value,
|
|
|
+ type:2,
|
|
|
+ days:this.boardWagesData.length!=0?(this.boardWagesData[this.boardWagesData.length-1].days)+1:1,
|
|
|
+ nationalTravelFeeId:0,
|
|
|
+ cost:0,
|
|
|
+ currency:0,
|
|
|
+ subTotal:0,
|
|
|
+ remark:0,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if(text=="公杂费"){
|
|
|
+ this.miscellaneousFeeData.push({
|
|
|
+ id:0,
|
|
|
+ diId:this.value,
|
|
|
+ type:3,
|
|
|
+ days:this.miscellaneousFeeData.length!=0?(this.miscellaneousFeeData[this.miscellaneousFeeData.length-1].days)+1:1,
|
|
|
+ nationalTravelFeeId:0,
|
|
|
+ cost:0,
|
|
|
+ currency:0,
|
|
|
+ subTotal:0,
|
|
|
+ remark:0,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if(text=="培训费"){
|
|
|
+ console.log(this.trainingExpenseData)
|
|
|
+ this.trainingExpenseData.push({
|
|
|
+ id:0,
|
|
|
+ diId:this.value,
|
|
|
+ type:4,
|
|
|
+ days:this.trainingExpenseData.length!=0?(this.trainingExpenseData[this.trainingExpenseData.length-1].days)+1:1,
|
|
|
+ nationalTravelFeeId:0,
|
|
|
+ cost:0,
|
|
|
+ currency:0,
|
|
|
+ subTotal:0,
|
|
|
+ remark:'',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //保存
|
|
|
+ storage(){
|
|
|
+ //住宿费
|
|
|
+ var quarterageDatas=[];
|
|
|
+ for(let m=0;m<this.quarterageData.length;m++){
|
|
|
+ quarterageDatas.push({
|
|
|
+ id:this.quarterageData[m].id,
|
|
|
+ diId:this.quarterageData[m].diId,
|
|
|
+ type:this.quarterageData[m].type,
|
|
|
+ days:this.quarterageData[m].days,
|
|
|
+ nationalTravelFeeId:this.quarterageData[m].nationalTravelFeeId,
|
|
|
+ cost:this.quarterageData[m].cost,
|
|
|
+ currency:this.quarterageData[m].currency,
|
|
|
+ subTotal:this.quarterageData[m].subTotal,
|
|
|
+ remark:this.quarterageData[m].remark,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //伙食费
|
|
|
+ var boardWagesDatas=[];
|
|
|
+ for(let n=0;n<this.boardWagesData.length;n++){
|
|
|
+ boardWagesDatas.push({
|
|
|
+ id:this.boardWagesData[n].id,
|
|
|
+ diId:this.boardWagesData[n].diId,
|
|
|
+ type:this.boardWagesData[n].type,
|
|
|
+ days:this.boardWagesData[n].days,
|
|
|
+ nationalTravelFeeId:this.boardWagesData[n].nationalTravelFeeId,
|
|
|
+ cost:this.boardWagesData[n].cost,
|
|
|
+ currency:this.boardWagesData[n].currency,
|
|
|
+ subTotal:this.boardWagesData[n].subTotal,
|
|
|
+ remark:this.boardWagesData[n].remark,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //公杂费miscellaneousFeeData
|
|
|
+ var miscellaneousFeeDatas=[];
|
|
|
+ for(let b=0;b<this.miscellaneousFeeData.length;b++){
|
|
|
+ miscellaneousFeeDatas.push({
|
|
|
+ id:this.miscellaneousFeeData[b].id,
|
|
|
+ diId:this.miscellaneousFeeData[b].diId,
|
|
|
+ type:this.miscellaneousFeeData[b].type,
|
|
|
+ days:this.miscellaneousFeeData[b].days,
|
|
|
+ nationalTravelFeeId:this.miscellaneousFeeData[b].nationalTravelFeeId,
|
|
|
+ cost:this.miscellaneousFeeData[b].cost,
|
|
|
+ currency:this.miscellaneousFeeData[b].currency,
|
|
|
+ subTotal:this.miscellaneousFeeData[b].subTotal,
|
|
|
+ remark:this.miscellaneousFeeData[b].remark,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ //培训费
|
|
|
+ var trainingExpenseDatas=[];
|
|
|
+ for(let p=0;p<this.trainingExpenseData.length;p++){
|
|
|
+ trainingExpenseDatas.push({
|
|
|
+ id:this.trainingExpenseData[p].id,
|
|
|
+ diId:this.trainingExpenseData[p].diId,
|
|
|
+ type:this.trainingExpenseData[p].type,
|
|
|
+ days:this.trainingExpenseData[p].days,
|
|
|
+ nationalTravelFeeId:this.trainingExpenseData[p].nationalTravelFeeId,
|
|
|
+ cost:this.trainingExpenseData[p].cost,
|
|
|
+ currency:this.trainingExpenseData[p].currency,
|
|
|
+ subTotal:this.trainingExpenseData[p].subTotal,
|
|
|
+ remark:this.trainingExpenseData[p].remark,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ console.log(quarterageDatas)
|
|
|
+ console.log(boardWagesDatas)
|
|
|
+ console.log(miscellaneousFeeDatas)
|
|
|
+ console.log(trainingExpenseDatas)
|
|
|
+ console.log(this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense)
|
|
|
+ this.storageAPI(quarterageDatas,boardWagesDatas,miscellaneousFeeDatas,trainingExpenseDatas)
|
|
|
+ },
|
|
|
+ //保存API
|
|
|
+ storageAPI(arrthre,arrfour,arrfive,arrsix){
|
|
|
+ var url = "/api/Groups/PostEnterExitCostOperate"
|
|
|
+ var that = this
|
|
|
+ console.log(that.value)
|
|
|
+ var data={
|
|
|
+ portType: 1,
|
|
|
+ userId: that.userId,
|
|
|
+ id: that.storageid,
|
|
|
+ diId: that.value,
|
|
|
+ choiceOne: that.choiceOne?1:0,
|
|
|
+ visa: that.DomesticFees.visafees,
|
|
|
+ visaRemark: that.DomesticFees.visafeesDescription,
|
|
|
+ yiMiao: that.DomesticFees.vaccinefees,
|
|
|
+ heSuan: that.DomesticFees.nucleicfees,
|
|
|
+ service: that.DomesticFees.serviceCharge,
|
|
|
+ ticket: that.DomesticFees.ticketsExhibitionL,
|
|
|
+ safe: that.DomesticFees.insurance,
|
|
|
+ choiceTwo: that.choiceTwo?1:0,
|
|
|
+ sumJJC:that.sumJJC?1:0,
|
|
|
+ sumGWC:that.sumGWC?1:0,
|
|
|
+ outsideJJPay:that.TotalExpenses.EconomyClasstotal,
|
|
|
+ outsaideGWPay:this.TotalExpenses.BusinessClasstotal,
|
|
|
+ airJJ:that.jjctotal,
|
|
|
+ airGW:that.gwctotal,
|
|
|
+ cityTranffic: that.TotalExpenses.TravellingExpenses,
|
|
|
+ currencys: that.currencys,
|
|
|
+ choiceThree:that.choiceThree?1:0,
|
|
|
+ quarterageData: arrthre,
|
|
|
+ choiceFour:that.choiceFour?1:0,
|
|
|
+ boardWagesData: arrfour,
|
|
|
+ choiceFive:that.choiceFive?1:0,
|
|
|
+ miscellaneousFeeData:arrfive,
|
|
|
+ choiceSix:that.choiceSix?1:0,
|
|
|
+ trainingExpenseData:arrsix,
|
|
|
+ airJJC_Checked:that.airJJC_Checked?1:0,
|
|
|
+ airGWC_Checked:that.airGWC_Checked?1:0,
|
|
|
+ }
|
|
|
+ console.log(data)
|
|
|
+ console.log(JSON.stringify (data))
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: url,
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + this.token,
|
|
|
+ contentType:'application/json'
|
|
|
+ },
|
|
|
+ data:{
|
|
|
+ portType: 1,
|
|
|
+ userId: that.userId,
|
|
|
+ id: that.storageid,
|
|
|
+ diId: that.value,
|
|
|
+ choiceOne: that.choiceOne?1:0,
|
|
|
+ visa: that.DomesticFees.visafees,
|
|
|
+ visaRemark: that.DomesticFees.visafeesDescription,
|
|
|
+ yiMiao: that.DomesticFees.vaccinefees,
|
|
|
+ heSuan: that.DomesticFees.nucleicfees,
|
|
|
+ service: that.DomesticFees.serviceCharge,
|
|
|
+ ticket: that.DomesticFees.ticketsExhibitionL,
|
|
|
+ safe: that.DomesticFees.insurance,
|
|
|
+ choiceTwo: that.choiceTwo?1:0,
|
|
|
+ sumJJC:that.sumJJC?1:0,
|
|
|
+ sumGWC:that.sumGWC?1:0,
|
|
|
+ outsideJJPay:that.TotalExpenses.EconomyClasstotal,
|
|
|
+ outsaideGWPay:this.TotalExpenses.BusinessClasstotal,
|
|
|
+ airJJ:that.jjctotal,
|
|
|
+ airGW:that.gwctotal,
|
|
|
+ cityTranffic: that.TotalExpenses.TravellingExpenses,
|
|
|
+ currencys: that.currencys,
|
|
|
+ choiceThree:that.choiceThree?1:0,
|
|
|
+ quarterageData: arrthre,
|
|
|
+ choiceFour:that.choiceFour?1:0,
|
|
|
+ boardWagesData: arrfour,
|
|
|
+ choiceFive:that.choiceFive?1:0,
|
|
|
+ miscellaneousFeeData:arrfive,
|
|
|
+ choiceSix:that.choiceSix?1:0,
|
|
|
+ trainingExpenseData:arrsix,
|
|
|
+ airJJC_Checked:that.airJJC_Checked?1:0,
|
|
|
+ airGWC_Checked:that.airGWC_Checked?1:0,
|
|
|
+ }
|
|
|
+ }).then(function (res) {
|
|
|
+ if(res.data.code==200){
|
|
|
+ console.log(res)
|
|
|
+ that.GetEnterExitCostInfobyDiId()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //选择团组名称调用
|
|
|
+ chengvalue(){
|
|
|
+ this.GetEnterExitCostInfobyDiId()
|
|
|
}
|
|
|
},
|
|
|
filters: {
|
|
@@ -720,6 +1045,50 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
+ 'DomesticFees.total':{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ TotalAccommodationFee:{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ TotalMeals:{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ TotalMiscellaneous:{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ trainingExpense:{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ 'TotalExpenses.EconomyClasstotal':{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ 'TotalExpenses.BusinessClasstotal':{
|
|
|
+ handler(newVal,oldVal) {
|
|
|
+ this.jjctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.EconomyClasstotal;
|
|
|
+ this.gwctotal=this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal;
|
|
|
+ // console.log(this.DomesticFees.total+this.TotalAccommodationFee+this.TotalMeals+this.TotalMiscellaneous+this.trainingExpense+this.TotalExpenses.BusinessClasstotal)
|
|
|
+ },
|
|
|
+ },
|
|
|
//境内费用非空处理
|
|
|
DomesticFees: {
|
|
|
handler(newVal, oldVal) {
|
|
@@ -763,8 +1132,10 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
mounted(){
|
|
|
+ this.userId=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
|
|
|
this.GetEnterExitCostDataSource();
|
|
|
this.GetNationalTravelFeeData();
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -800,6 +1171,13 @@ export default {
|
|
|
border-bottom:1px solid #ebeef5;
|
|
|
}
|
|
|
.Entry-li-lable{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin: 10px 0;
|
|
|
+ margin-top: 20px;
|
|
|
+}
|
|
|
+.Entry-li-lables{
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
margin: 10px 0;
|
|
@@ -848,8 +1226,15 @@ export default {
|
|
|
transition: border-color .2s cubic-bezier(.645,.045,.355,1);
|
|
|
}
|
|
|
.btn-Entry{
|
|
|
- width: 83%;
|
|
|
text-align: right;
|
|
|
}
|
|
|
-
|
|
|
+.Entry-all .el-checkbox__inner{
|
|
|
+ width: 18px;
|
|
|
+ height: 18px;
|
|
|
+ margin-right: 10px;
|
|
|
+}
|
|
|
+.Entry-all .el-checkbox__inner::after{
|
|
|
+ height: 10px;
|
|
|
+ left: 6px;
|
|
|
+}
|
|
|
</style>
|