<template>
    <div v-loading.fullscreen.lock="fullscreenLoading">
        <div class="Entrydraft-all">
            <el-dialog  width="1600px" title="交通费详细" :visible.sync="TransportationVisible" :close-on-click-modal="false">
                <div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
                    <div>接送机(合计)：{{ numFilters(Transportationdatatotal) }}&nbsp;CNY</div>
                    <div>
                        <el-button size="mini" @click="RefreshInterval" type="primary">刷新城市区间费标准</el-button>
                        <el-button size="mini" @click="addTransportationdata" type="primary">添加一行</el-button>
                    </div>
                </div>
                <el-table border :data="Transportationdata">
                    <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"
                                @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.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="cost" label="成本价(要除以团组人数)" width="180">
                        <template slot-scope="scope">
                            <div>{{reservetwo(scope.row.cost/Basicdata.groupSize)}}&nbsp;{{scope.row.currencyName}}&nbsp;({{scope.row.cost+'/'}}
                                <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:40px" size="mini" class="inputNumberClassS ppnum"
                                        :controls="false" v-model="Basicdata.groupSize"></el-input-number>)
                            </div>
                            <!-- <el-input size="mini" v-model="Basicdata.groupSize"></el-input> -->
                        </template>
                    </el-table-column>
                    <el-table-column property="guideCost" label="接送机导游" width="140">
                        <template slot-scope="scope">
                            <el-input-number disabled style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.guideCost"></el-input-number>
                        </template>
                    </el-table-column>
                    <el-table-column property="otherCost" label="其他费用(只有澳大利亚有这个数据)" width="150">
                        <template slot-scope="scope">
                            <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.otherCost"></el-input-number>
                        </template>
                    </el-table-column>
                    <el-table-column property="serviceCount" label="服务次数(默认为1)" width="150">
                        <template slot-scope="scope">
                            <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:100%" size="mini"  :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.serviceCount"></el-input-number>
                        </template>
                    </el-table-column>
                    <el-table-column property="coefficient" label="系数(默认2.5)" width="110">
                        <template slot-scope="scope">
                            <el-input-number @blur="UrbanModify(scope.row,scope.row.currencyName)" style="width:100%" size="mini" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.coefficient"></el-input-number>
                        </template>
                    </el-table-column>
                    <el-table-column property="quote" label="报价" width="200">
                        <template slot-scope="scope">
                            <el-input-number disabled style="width:100%" size="mini" class-unit="CNY" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.quote"></el-input-number>

                        </template>
                    </el-table-column>
                    <el-table-column property="i" label="备注">
                        <template slot-scope="scope">
                            <el-input size="mini" v-model="scope.row.remark"></el-input>
                        </template>
                    </el-table-column>
                    <el-table-column label="操作" width="100">
                        <template slot-scope="scope">
                            <el-button size="mini" @click.native.prevent="deleteRowJSJ(scope.$index, Transportationdata,scope.row)" type="danger">移除</el-button>
                        </template>
                    </el-table-column>
                </el-table>
                <div class="jiaotongfeiS-ul">
                    <div class="jiaotongfeiS-li">
                        <div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
                            <div>拉车(合计)：{{ numFilters(pullCartFeeTotal) }}&nbsp;CNY</div>
                            <el-button @click="addpullCartFeeDetails" size="mini" type="primary">添加一行</el-button>
                        </div>
                        <!-- <div>拉车(合计)</div> -->
                        <el-table border :data="pullCartFeeDetails">
                            <el-table-column property="cost" label="成本价" width="150">
                                <template slot-scope="scope">
                                    <el-input-number @blur="UrbanModifyLC(scope.row)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column property="coefficient" label="系数" width="150">
                                <template slot-scope="scope">
                                    <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="remark" label="备注">
                                <template slot-scope="scope">
                                    <el-input size="mini" v-model="scope.row.remark"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column label="操作" width="100">
                                <template slot-scope="scope">
                                    <el-button size="mini"
                                        @click.native.prevent="deleteRowLC(scope.$index, pullCartFeeDetails, scope.row)"
                                        type="danger">移除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                    <div class="jiaotongfeiS-li">
                        <div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
                            <div>火车(合计)：{{ numFilters(trainFeeTotal) }}&nbsp;CNY</div>
                            <el-button @click="addtrainFeeDetails" size="mini" type="primary">添加一行</el-button>
                        </div>
                        <el-table border :data="trainFeeDetails">
                            <el-table-column property="cost" label="成本价" width="150">
                                <template slot-scope="scope">
                                    <el-input-number @blur="UrbanModifyHC(scope.row)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column property="coefficient" label="系数" width="150">
                                <template slot-scope="scope">
                                    <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="remark" label="备注">
                                <template slot-scope="scope">
                                    <el-input size="mini" v-model="scope.row.remark"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column label="操作" width="100">
                                <template slot-scope="scope">
                                    <el-button size="mini"
                                        @click.native.prevent="deleteRowHC(scope.$index, trainFeeDetails, scope.row)"
                                        type="danger">移除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                    <div class="jiaotongfeiS-li">
                        <div style="display: flex;justify-content: space-between;align-items: center;margin: 5px 0;">
                            <div>城市机票(合计)：{{ numFilters(cityAirTicketFeeTotal) }}&nbsp;CNY</div>
                            <el-button @click="addcityAirTicketFeeDetails" size="mini" type="primary">添加一行</el-button>
                        </div>
                        <el-table border :data="cityAirTicketFeeDetails">
                            <el-table-column property="cost" label="成本价" width="150">
                                <template slot-scope="scope">
                                    <el-input-number @blur="UrbanModifyJP(scope.row)" style="width:100%" size="mini" :class-unit="scope.row.currencyName" :precision="2" class="inputNumberClassS"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column property="coefficient" label="系数" width="150">
                                <template slot-scope="scope">
                                    <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="remark" label="备注">
                                <template slot-scope="scope">
                                    <el-input size="mini" v-model="scope.row.remark"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column label="操作" width="100">
                                <template slot-scope="scope">
                                    <el-button size="mini"
                                        @click.native.prevent="deleteRowJP(scope.$index, cityAirTicketFeeDetails, scope.row)"
                                        type="danger">移除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
                <div style="margin-top: 20px;font-weight: 600;">
                    城市交通费合计：{{ numFilters(Transportationdatatotal + pullCartFeeTotal + trainFeeTotal + cityAirTicketFeeTotal) }}&nbsp;CNY
                </div>
                <div style="text-align: right;margin-top: 20px;">
                    <el-button @click="TransportationVisible=false">取消</el-button>
                    <el-button @click="EnterExitCostDraftOVFeeSave" type="primary">保 存</el-button>
                </div>
            </el-dialog>
            <el-dialog v width="400px" title="设置查看权限" class="permissionsbox" :visible.sync="setpermissions"  :close-on-click-modal="false">
                <el-checkbox-group v-model="viewUsers" @change="handleCheckAllChange">
                    <el-checkbox v-for="item in viewUsersarr" :label="item.id" :key="item.id">{{item.name}}</el-checkbox>
                </el-checkbox-group>
                <div style="text-align: right;margin-top: 15px;">
                    <el-button size="mini" @click="EnterExitCostSetViewPermissiion" type="primary">分配</el-button>
                    <el-button size="mini" @click="setpermissions=false">取消</el-button>
                </div>
            </el-dialog>
            <div class="Entrydraft-head">
                <div class="Entrydraft-head-li" style="width:370px">
                    <label>草稿名称:</label>
                    <el-autocomplete
                    style="width:200px"
                    class="inline-input"
                    v-model="valuename"
                    :fetch-suggestions="querySearch"
                    placeholder="请输入内容"
                    @select="handleSelect"
                    ></el-autocomplete>
                    <el-button @click="cleanout" type="primary">新建草稿</el-button>
                    <!-- <el-select style="width:250px" @change="chengvalue()" v-model="value" filterable placeholder="请选择">
                        <el-option v-for="item in options" :key="item.id" :label="item.groupName" :value="item.id">
                        </el-option>
                    </el-select> -->
                </div>
                <div v-if="isSave" class="Entrydraft-head-li" style="width:220px">
                    <label>城市归属:</label>
                    <el-select style="width:150px" @change="provinceIdchange" v-model="provinceId" filterable placeholder="请选择">
                        <el-option v-for="item in provinceIdarr" :key="item.id" :label="item.name" :value="item.id">
                        </el-option>
                    </el-select>
                </div>
                <div v-if="isSave" class="Entrydraft-head-li" style="width:361px">
                    <label>团组:</label>
                    <el-select style="width:250px" v-model="diid" filterable placeholder="请选择">
                        <el-option v-for="item in groupNameDatas" :key="item.id" :label="item.groupName" :value="item.id">
                            <span v-if="item.isNull=='false'" style="color:#409EFF">{{ item.groupName }}</span>
                            <span v-else style="color:gray">{{ item.groupName }}</span>
                        </el-option>
                    </el-select>
                    <el-button @click="EnterExitCostDraftImportData" type="primary">同步</el-button>
                </div>
                <div v-if="isSave" class="Entrydraft-head-li" style="width:530px">
                    <!-- <el-button type="primary">计算费用</el-button> -->
                    <!-- <el-button @click="NationalTravelFeeImportReceivables" type="primary">导出到收款账单</el-button> -->
                    
                    <el-button @click="storage()" type="primary">保存</el-button>
                    <el-select style="width:202px" v-model="listvalue" placeholder="请选择">
                        <el-option v-for="item in listvalueoptions" :key="item.id" :label="item.name" :value="item.id">
                        </el-option>
                    </el-select>
                    <el-button @click="eptschedule(1)" type="primary">导出所选明细表</el-button>
                    <el-button v-if="isAssignPerm" @click="setpermissionsbtn" type="primary">分配权限</el-button>
                    <!-- <el-select style="width:202px" v-model="tablevalue" placeholder="请选择">
                        <el-option v-for="item in tablevalueoptions" :key="item.id" :label="item.name" :value="item.id">
                        </el-option>
                    </el-select>
                    <el-button @click="eptschedule(2)" type="primary">导出下拉所选表格</el-button> -->
                    <!-- <el-button @click="eptschedule(3)" type="primary">团组成员名单</el-button> -->
                </div>
            </div>
            <div class="Entrydraft-form">
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lables">
                        <el-checkbox v-model="choiceOne"></el-checkbox>
                        <div class="li-lable">一、境内费用(其他费用)</div>
                        <div class="li-lable">
                            <span class="redzhu">(注：填好数值鼠标点击其他区域计算合计)</span>
                            <label>合计:</label>
                            <div class="sub-boxs">
                                {{ DomesticFees.total=(DomesticFees.visafees + DomesticFees.vaccinefees +
                                    DomesticFees.nucleicfees + DomesticFees.serviceCharge + DomesticFees.insurance +
                                DomesticFees.ticketsExhibitionL) | numFilter }}
                            </div>
                            <span>元/人</span>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <div class="Entrydraft-inif-box">
                            <label>签证费:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="DomesticFees.visafees"></el-input-number>
                            <span>元/人</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>签证费用描述:</label>
                            <el-input style="width:900px" size="mini"
                                v-model="DomesticFees.visafeesDescription"></el-input>
                            <span class="redzhu">{{ visabeizhu }}</span>
                        </div>
                        <span v-if="!getvisafeebtn" class="redzhu">请先录入出入境费用明细-草稿!</span>
                        <el-button v-if="getvisafeebtn&&isSave" @click="Getnewvisafee" type="primary"
                            size="mini">获取最新签证费用</el-button>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <div class="Entrydraft-inif-box">
                            <label>疫苗费:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="DomesticFees.vaccinefees"></el-input-number>
                            <span>元/人</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>核酸检测费:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="DomesticFees.nucleicfees"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label> 服务费:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="DomesticFees.serviceCharge"></el-input-number>
                            <span>元/人;</span>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <div class="Entrydraft-inif-box">
                            <label>保险费:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="DomesticFees.insurance"></el-input-number>
                            <span>元/人</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>参展门票:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="DomesticFees.ticketsExhibitionL"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>备注:</label>
                            <el-input style="width:900px" size="mini"
                                v-model="DomesticFees.firstItemRemark"></el-input>
                        </div>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lables">
                        <!-- <el-checkbox v-model="choiceTwo"></el-checkbox> -->
                        <div class="li-lable">二、国际旅费合计：</div>
                        <div style="display: flex;">
                            <div class="li-lable">
                                <el-checkbox style="margin-right: -10px;" v-model="sumJJC"></el-checkbox>
                                <label>(经济舱)</label>
                                <div class="sub-boxs">
                                    {{ TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass +
                                        TotalExpenses.TravellingExpensesJJ) | numFilter }}
                                </div>
                                <span>元/人</span>
                            </div>
                            &nbsp;&nbsp;&nbsp;&nbsp;
                            <div class="li-lable">
                                <el-checkbox style="margin-right: -10px;" v-model="sumGWC"></el-checkbox>
                                <label>(公务舱)</label>
                                <div class="sub-boxs">
                                    {{ TotalExpenses.BusinessClasstotal=(TotalExpenses.BusinessClass +
                                        TotalExpenses.TravellingExpensesGW) | numFilter }}
                                </div>
                                <span>元/人</span>
                            </div>
                            &nbsp;&nbsp;&nbsp;&nbsp;
                            <div class="li-lable">
                                <el-checkbox style="margin-right: -10px;" v-model="sumTDC"></el-checkbox>
                                <label>(头等舱)</label>
                                <div class="sub-boxs">
                                    {{ TotalExpenses.Firstclasstotal=(TotalExpenses.Firstclass +
                                        TotalExpenses.TravellingExpensesTD) | numFilter }}
                                </div>
                                <span>元/人</span>
                            </div>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <label>国际机票:&nbsp; &nbsp; &nbsp; </label>
                        <div class="Entrydraft-inif-box">
                            <label>（经济舱）:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.EconomyClass"></el-input-number>
                            <span>元/人</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>（公务舱）:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.BusinessClass"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>（头等舱）:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.Firstclass"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <span v-if="JSON.stringify(TicketJudgment) == '{}'" class="redzhu">(机票数据未录入)</span>
                        <div v-else>
                            <span
                                v-if="TicketJudgment.jjcCurrentRate != TotalExpenses.EconomyClass || TicketJudgment.gwcCurrentRate != TotalExpenses.BusinessClass"
                                class="redzhu">{{ TicketJudgment.remark }}</span>&nbsp;&nbsp;&nbsp;&nbsp;
                            <el-button
                                v-if="TicketJudgment.jjcCurrentRate != TotalExpenses.EconomyClass || TicketJudgment.gwcCurrentRate != TotalExpenses.BusinessClass"
                                type="primary" @click="Fillin" size="mini">填 入</el-button>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <!-- <div class="Entrydraft-inif-box">
                            <label>城市区间交通费:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.TravellingExpenses"></el-input-number>
                            <span>元/人;</span>
                        </div> -->
                        <label>城市区间交通费:&nbsp; &nbsp; &nbsp; </label>
                        <div class="Entrydraft-inif-box">
                            <label>（经济舱）:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.TravellingExpensesJJ"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>（公务舱）:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.TravellingExpensesGW"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <div class="Entrydraft-inif-box">
                            <label>（头等舱）:</label>
                            <el-input-number size="mini" :controls="false" :precision="2"
                                v-model="TotalExpenses.TravellingExpensesTD"></el-input-number>
                            <span>元/人;</span>
                        </div>
                        <div v-if="isView" class="Entrydraft-inif-box">
                            <el-button @click="openTransportation" type="primary" size="mini">交通费明细</el-button>
                        </div>
                    </div>

                    <div class="Entrydraft-li-inif">
                        <div class="Entry-inif-box">
                            <label>备注:</label>
                            <el-input style="width:1000px" size="mini" v-model="TotalExpenses.twoItemRemark"></el-input>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <div v-for="(item, index) in currencys" :key="index" class="Entrydraft-inif-box">
                            <label>{{ item.currencyName }}汇率:</label>
                            <el-input-number size="mini" :controls="false" :precision="4"
                                v-model="item.rate"></el-input-number>
                        </div>
                        <span v-if="!cubtn" style="color:red;">* 若客户有意见，需要与财务商量后进行适当调整 </span>
                        <el-popover
                        placement="top"
                        width="402"
                        trigger="hover">
                            <el-table border :data="currencyss">
                                <el-table-column width="100" property="currName" label="币种"></el-table-column>
                                <el-table-column width="100" property="rate" label="汇率"></el-table-column>
                                <el-table-column width="200" property="lastUpdateDt" label="更新时间"></el-table-column>
                            </el-table>
                            <span v-show="cubtn" slot="reference" class="redzhu">{{CurrencysRemark}}</span>
                        </el-popover>
                        &nbsp;&nbsp;&nbsp;&nbsp;
                        <el-button v-if="cubtn" @click="adoptRealtime" type="primary" size="mini">采用最新汇率</el-button>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lable">
                        <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-Entrydraft">
                            <el-button type="primary" @click="addlist('住宿费')" size="mini">新 增</el-button>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <el-table :data="quarterageData" border style="width: 100%">
                            <el-table-column prop="days" label="第几晚" width="180">
                                <template slot-scope="scope">
                                    <el-input-number size="mini" :controls="false"
                                        v-model="scope.row.days"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column style="position: relative;" prop="city" label="城 市" width="180">
                                <template slot-scope="scope">
                                    <el-select size="mini" @change="changeSelect(scope.row, $event, scope)"
                                        v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                        <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
                                            :value="item.id">
                                            <span style="float: left">{{ item.cityname }}</span>
                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                        </el-option>
                                    </el-select>
                                </template>
                            </el-table-column>
                            <el-table-column prop="cost" label=" 费用标准" width="180">
                                <template slot-scope="scope">
                                    <el-input-number @input="zhusuinput(scope.row)" size="mini" :precision="2"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column prop="currencyName" label=" 币 种" width="180">
                                <template slot-scope="scope">
                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="subTotal" label="费用小计" width="180">
                                <template slot-scope="scope">
                                    <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div>&nbsp;CNY
                                </template>
                            </el-table-column>
                            <el-table-column prop="address" label="操 作">
                                <template slot-scope="scope">
                                    <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
                                        @click="deleteRow(scope.$index, scope.row, quarterageData, 1)">删除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lable">
                        <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-Entrydraft">
                            <el-button type="primary" @click="addlist('伙食费')" size="mini">新 增</el-button>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <el-table :data="boardWagesData" border style="width: 100%">
                            <el-table-column prop="days" label="第几晚" width="180">
                                <template slot-scope="scope">
                                    <el-input-number size="mini" :controls="false"
                                        v-model="scope.row.days"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column style="position: relative;" 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" @change="mealschangeSelect(scope.row, $event, scope.$index)"
                                        v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                        <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
                                            :value="item.id">
                                            <span style="float: left">{{ item.cityname }}</span>
                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                        </el-option>
                                    </el-select>
                                </template>
                            </el-table-column>
                            <el-table-column prop="cost" label=" 费用标准" width="180">
                                <template slot-scope="scope">
                                    <el-input-number size="mini" @input="mealsinput(scope.row)" :precision="2"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column prop="currencyName" label=" 币 种" width="180">
                                <template slot-scope="scope">
                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="subTotal" label="费用小计" width="180">
                                <template slot-scope="scope">
                                    <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div>&nbsp;CNY
                                </template>
                            </el-table-column>
                            <el-table-column prop="address" label="操 作">
                                <template slot-scope="scope">
                                    <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
                                        @click="deleteRow(scope.$index, scope.row, boardWagesData, 2)">删除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lable">
                        <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-Entrydraft">
                            <el-button type="primary" @click="addlist('公杂费')" size="mini">新 增</el-button>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <el-table :data="miscellaneousFeeData" border style="width: 100%">
                            <el-table-column prop="days" label="第几晚" width="180">
                                <template slot-scope="scope">
                                    <el-input-number size="mini" :controls="false"
                                        v-model="scope.row.days"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column style="position: relative;" 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 @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.cityname"
                                            :value="item.id">
                                            <span style="float: left">{{ item.cityname }}</span>
                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                        </el-option>
                                    </el-select>
                                </template>
                            </el-table-column>
                            <el-table-column prop="cost" label=" 费用标准" width="180">
                                <template slot-scope="scope">
                                    <el-input-number @input="Miscellaneousinput(scope.row)" size="mini" :precision="2"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column prop="currencyName" label=" 币 种" width="180">
                                <template slot-scope="scope">
                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="subTotal" label="费用小计" width="180">
                                <template slot-scope="scope">
                                    <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div>&nbsp;CNY
                                </template>
                            </el-table-column>
                            <el-table-column prop="address" label="操 作">
                                <template slot-scope="scope">
                                    <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
                                        @click="deleteRow(scope.$index, scope.row, miscellaneousFeeData, 3)">删除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lable">
                        <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-Entrydraft">
                            <el-button type="primary" @click="addlist('培训费')" size="mini">新 增</el-button>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <el-table :data="trainingExpenseData" border style="width: 100%">
                            <el-table-column prop="days" label="第几晚" width="180">
                                <template slot-scope="scope">
                                    <el-input-number size="mini" :controls="false"
                                        v-model="scope.row.days"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column style="position: relative;" 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 @change="TrainingExpenseDataSelect(scope.row, $event)" size="mini"
                                        v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                        <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
                                            :value="item.id">
                                            <span style="float: left">{{ item.cityname }}</span>
                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                        </el-option>
                                    </el-select>
                                </template>
                            </el-table-column>
                            <el-table-column prop="cost" label=" 费用标准" width="180">
                                <template slot-scope="scope">
                                    <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 prop="currencyName" label=" 币 种" width="180">
                                <template slot-scope="scope">
                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="subTotal" label="费用小计" width="180">
                                <template slot-scope="scope">
                                    <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div>&nbsp;CNY
                                </template>
                            </el-table-column>
                            <el-table-column prop="address" label="操 作">
                                <template slot-scope="scope">
                                    <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
                                        @click="deleteRow(scope.$index, scope.row, trainingExpenseData, 4)">删除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-li-lable">
                        <div style="display: flex;align-items: center;">
                            <el-checkbox v-model="choiceSeven"></el-checkbox>
                            <div class="li-lable">七、其他：</div>
                            <div style="display: flex;">
                                <div class="li-lable">
                                    <label>合计:</label>
                                    <div class="sub-boxs">{{ otherExpense | numFilter }}</div>
                                    <span>元/人</span>
                                </div>
                            </div>
                            <div style="color:red">
                                &nbsp;注:特殊情况才在这里填写，如:要计算车导费、备用金费用等
                            </div>
                        </div>
                        <div class="btn-Entrydraft">
                            <el-button type="primary" @click="addlist('其他')" size="mini">新 增</el-button>
                        </div>
                    </div>
                    <div class="Entrydraft-li-inif">
                        <el-table :data="otherData" border style="width: 100%">
                            <el-table-column prop="index" label="第几项" width="180">
                                <template slot-scope="scope">
                                    <el-input-number size="mini" :controls="false"
                                        v-model="scope.row.index"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column style="position: relative;" prop="setDataId" 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.setDataId" filterable placeholder="请选择">
                                        <el-option v-for="item in otherfylx" :key="item.id" :label="item.name"
                                            :value="item.id">
                                            <span style="float: left">{{ item.name }}</span>
                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                        </el-option>
                                    </el-select>
                                </template>
                            </el-table-column>
                            <el-table-column prop="cost" label=" 费用标准" width="180">
                                <template slot-scope="scope">
                                    <el-input-number @input="otherinput(scope.row)" size="mini" :precision="2"
                                        :controls="false" v-model="scope.row.cost"></el-input-number>
                                </template>
                            </el-table-column>
                            <el-table-column prop="currencyName" label=" 币 种" width="180">
                                <template slot-scope="scope">
                                    <el-select @change="othercurrencychange(scope.row.currency, scope.row)" size="mini"
                                        v-model="scope.row.currency" filterable placeholder="请选择">
                                        <el-option v-for="item in othercurrencys" :key="item.currencyId"
                                            :label="item.currencyCode" :value="item.currencyId">
                                            <span style="float: left">{{ item.currencyCode + ' 汇率：' + item.rate
                                                }}</span>
                                        </el-option>
                                    </el-select>
                                    <!-- <el-input size="mini" v-model="scope.row.currencyName"></el-input> -->
                                </template>
                            </el-table-column>
                            <el-table-column prop="subTotal" label="费用小计" width="180">
                                <template slot-scope="scope">
                                    <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div>&nbsp;CNY
                                </template>
                            </el-table-column>
                            <el-table-column prop="remark" label="备注" width="450">
                                <template slot-scope="scope">
                                    <el-input size="mini" v-model="scope.row.remark"></el-input>
                                </template>
                            </el-table-column>
                            <el-table-column prop="address" label="操 作">
                                <template slot-scope="scope">
                                    <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
                                        @click="DeleteOtherExpenses(scope.$index, scope.row, otherData)">删除</el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                </div>
                <div class="Entrydraft-form-li">
                    <div class="Entrydraft-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>
                            &nbsp;&nbsp;&nbsp;&nbsp;
                            <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>
                            &nbsp;&nbsp;&nbsp;&nbsp;
                            <div class="li-lable">
                                <!-- <el-checkbox style="margin-right: -10px;" v-model="airGWC_Checked"></el-checkbox> -->
                                <label>(头等舱)</label>
                                <div class="sub-boxs">{{ tdctotal | numFilter }}</div>
                                <span>元/人</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>

import { Decimal } from 'decimal.js'
import { debounce } from '../../store/statice'
import { el } from '@fullcalendar/core/internal-common'
export default {
    data() {
        return {
            fullscreenLoading: false,
            diid:'',

            options: [],
            listvalue: 1005,
            tablevalue: '',
            listvalueoptions: [],
            tablevalueoptions: [],

            isAssignPerm:false,

            //是否计算Checkbox
            choiceOne: false,//境内费用(其他费用)选择框
            choiceTwo: false,//国际旅费合计选择框
            choiceThree: false,//住宿费合计选择框
            choiceFour: false,//伙食费合计选择框
            choiceFive: false,//公杂费合计选择框
            choiceSix: false,//培训费用选择框
            choiceSeven: false,//其他费用选择框
            sumJJC: false,//经济舱小计选择框
            sumGWC: false,//公务舱小计选择框
            sumTDC: false,//头等舱小计选择框
            airJJC_Checked: false,//经济舱选择框
            airGWC_Checked: false,//公务舱选择框
            airTDC_Checked: false,//公务舱选择框

            userId: '',
            token: '',
            value: '',
            valuename: '',
            options: [],
            Visafees: '',
            Visadepicted: '',
            currencys: [],
            currencyss: [],
            DomesticFees: {
                visafees: '',//签证费
                visafeesDescription: '',//签证费用描述
                vaccinefees: 0,//疫苗费
                nucleicfees: 0,//核酸检测费
                serviceCharge: 0,//服务费
                insurance: 500,//保险费
                ticketsExhibitionL: 0,//参展门票
                total: 0,
                firstItemRemark:''//备注
            },
            TotalExpenses: {
                EconomyClass: 0,//经济舱
                BusinessClass: 0,//公务舱
                Firstclass: 0,//头等舱
                // TravellingExpenses: 0,//城市区间交通费
                TravellingExpensesJJ: 0,//城市区间交通费JJ
                TravellingExpensesGW: 0,//城市区间交通费GW
                TravellingExpensesTD: 0,//城市区间交通费TD
                EconomyClasstotal: 0,//经济舱合计
                BusinessClasstotal: 0,//公务舱合计
                Firstclasstotal: 0,//头等舱合计
                twoItemRemark:''//备注
            },

            TotalAccommodationFee: 0,//住宿费合计
            TotalMeals: 0,//伙食费合计
            TotalMiscellaneous: 0,//公杂费合计
            trainingExpense: 0,//培训费合计
            otherExpense: 0,//其他费用合计

            quarterageData: [],
            boardWagesData: [],
            miscellaneousFeeData: [],
            trainingExpenseData: [],
            otherData: [],
            placeinif: [],
            //下拉框
            treeData: "",
            treeDataValue: "",
            data: [],
            defaultProps: {
                children: "cityData",
                label: "city",
                // label: "country",
            },

            jjctotal: 0,//经济舱合计
            gwctotal: 0,//公务舱合计
            tdctotal: 0,//公务舱合计

            storageid: 0,
            visabeizhu: "",
            ID: '',
            TicketJudgment: {},
            CurrencysRemark: '',
            //监听币种数组
            watchedPrice: null,
            cubtn: false,
            getvisafeebtn: false,
            visainfo: {},
            //其他币种
            othercurrencys: [],
            otherfylx: [],



            draftNameDatas:[],
            groupNameDatas:[],

            //设置权限
            setpermissions:false,
            isSave:false,
            isView:false,
            viewUsers:[],
            viewUsersby:[],
            viewUsersarr:[],

            provinceIdarr:[],
            provinceId:'',

            //交通费弹窗
            Transportationdata:[
                {
                    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,
                    b:"",
                    c:"",
                }
            ],
            huoche:[
                {
                    a:1,
                    b:"",
                    c:"",
                }
            ],
            chengshijipiao:[
                {
                    a:1,
                    b:"",
                    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: {
        querySearch(queryString, cb) {
            var restaurants = this.draftNameDatas;
            var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
            // 调用 callback 返回建议列表的数据
            cb(results);
        },
        createFilter(queryString) {
            return (restaurant) => {
                // 每个字符都包含的匹配逻辑
                const searchText = queryString.toLowerCase();
                const itemText = restaurant.value.toLowerCase();

                // 检查查询字符串中的每个字符是否都出现在项目文本中
                return Array.from(searchText).every(char => itemText.includes(char));
            };
        },
        handleSelect(item) {
            this.value = item.id;
            this.GetEnterExitCostInfobyDiId();
            this.PostGroupTeamRateByDiIdAndCTableId();
        },
        //获取团组
        GetEnterExitCostDataSource() {
            var url = "/api/Groups/EnterExitCostDraftDataSource"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    let DataSource=res.data.data;
                    that.draftNameDatas= DataSource.draftNameDatas.map((terminal) => {
                        return {
                            id:terminal.id,
                            value:terminal.draftName,
                        };
                    });
                    that.currencys = res.data.data.currencyInit;
                    that.viewUsersarr= res.data.data.viewPermissionData;
                    if (that.value == null) {
                        that.valuename = that.draftNameDatas[0].value;
                        that.value = that.draftNameDatas[0].id;
                    }
                    that.tablevalueoptions = res.data.data.excelTypeData;
                    that.GetEnterExitCostInfobyDiId();
                    that.PostGroupTeamRateByDiIdAndCTableId();
                }
            })
        },
        provinceIdchange(){
            this.EnterExitCostDraftFileOwner();
            this.GetNationalTravelFeeData();
        },
         //获取归属
         EnterExitDraftProvBelongCostDataSource() {
            this.provinceIdarr=[]
            var url = "/api/Groups/EnterExitDraftProvBelongCostDataSource"
            var that = this
            this.$axios({
                method: 'get',
                url: url,
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.provinceIdarr=res.data.data;
                    
                }else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //获取文件
        EnterExitCostDraftFileOwner() {
            this.listvalueoptions=[];
            var url = "/api/Groups/EnterExitCostDraftFileOwner/"+this.provinceId
            var that = this
            this.$axios({
                method: 'get',
                url: url,
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.listvalueoptions = res.data.data.wordTypeData;
                }else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //获取币种
        PostGroupTeamRateByDiIdAndCTableId() {
            this.othercurrencys = [];
            var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1,
                    diId: 2477,
                    cTable: 98
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.othercurrencys = res.data.data.teamRates;
                    for (let sr = 0; sr < that.othercurrencys.length; sr++) {
                        if (that.othercurrencys[sr].currencyCode != 'CNY') {
                            that.othercurrencys[sr].rate = (that.othercurrencys[sr].rate * 1.03).toFixed(4)
                        }
                        for (let y = 0; y < that.currencys.length; y++) {
                            if (that.currencys[y].currencyCode == that.othercurrencys[sr].currencyCode) {
                                that.othercurrencys[sr].rate = that.currencys[y].rate;
                            }
                        }

                    }
                } else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //获取同步基础数据
        EnterExitCostDraftImportDataInit() {
            var url = "/api/Groups/EnterExitCostDraftImportDataInit"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
            }).then(function (res) {
                if (res.data.code == 200) {
                    let resdata=res.data.data;
                    that.groupNameDatas=resdata.groupNameDatas;
                } else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //同步
        EnterExitCostDraftImportData() {
            this.fullscreenLoading = that;
            var url = "/api/Groups/EnterExitCostDraftImportData"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data:{
                    portType:1,
                    userId:that.userId,
                    draftId:that.value,
                    groupId:that.diid,
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.$message({
                        type: 'success',
                        message: res.data.msg
                    });
                    that.fullscreenLoading = false;
                } else {
                    that.$message.error(res.data.msg);
                    that.fullscreenLoading = false;
                }
            })
        },
        //获取类型
        QuerySetData() {
            var url = "/api/System/QuerySetData"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    dataType: 92
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.otherfylx = res.data.data;
                    that.EnterExitCostDraftImportDataInit();
                } else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //获取签证标注
        EnterExitCostDraftVisaTips(){
            this.getvisafeebtn = false;
            var url = "/api/Groups/EnterExitCostDraftVisaTips"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1,
                    draftId:that.value
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.visainfo = res.data.data;
                    that.getvisafeebtn = true;
                    // if (that.DomesticFees.visafees != res.data.data.totalAmt && res.data.data.totalAmt != 0) {
                    // }
                } else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //获取签证标注
        GetEnterExitCostCorrelationTips(val) {
            
            if (val == 1) {
                this.TotalExpenses.EconomyClass = 0;
                this.TotalExpenses.BusinessClass = 0;
                this.DomesticFees.visafees = 0;
                this.DomesticFees.visafeesDescription = "";
                var url = "/api/Groups/EnterExitCostDraftCorrelationTips"
                var that = this
                this.$axios({
                    method: 'post',
                    url: url,
                    headers: {
                        Authorization: 'Bearer ' + this.token
                    },
                    data: {
                        portType: 1,
                        diId: that.value
                    }
                }).then(function (res) {
                    if (res.data.code == 200) {
                        that.currencyss = res.data.data.reteInfos;
                        // that.TotalExpenses.EconomyClass = res.data.data.airData.jjcCurrentRate;
                        // that.TotalExpenses.BusinessClass = res.data.data.airData.gwcCurrentRate;
                        // that.DomesticFees.visafees = res.data.data.visaData.feeTotal;
                        // that.DomesticFees.visafeesDescription = res.data.data.visaData.remark;
                    } else {
                        that.$message.error(res.data.msg);
                    }
                })
            } else {
                var url = "/api/Groups/EnterExitCostDraftCorrelationTips"
                var that = this
                this.$axios({
                    method: 'post',
                    url: url,
                    headers: {
                        Authorization: 'Bearer ' + this.token
                    },
                    data: {
                        portType: 1,
                        diId: that.value
                    }
                }).then(function (res) {
                    if (res.data.code == 200) {
                        
                    //     that.TicketJudgment = res.data.data.airData;
                    //     that.visainfo = res.data.data.visaData;
                        that.currencyss = res.data.data.reteInfos;
                        // if (that.DomesticFees.visafees != res.data.data.visaData.feeTotal && res.data.data.visaData.feeTotal != 0) {
                        //     that.getvisafeebtn = true;
                        // }
                        for (let s = 0; s < that.currencys.length; s++) {
                            if (that.currencys[s].rate != that.currencyss[s].rate) {
                                that.cubtn = true;
                                that.CurrencysRemark = '当前汇率与实时汇率不同！移上查看'
                                return
                            } else {
                                that.cubtn = false;
                            }
                        }
                    } else {
                        that.$message.error(res.data.msg);
                    }
                })
            }
        },
        //机票费用填入
        Fillin() {
            this.TotalExpenses.EconomyClass = this.TicketJudgment.jjcCurrentRate;
            this.TotalExpenses.BusinessClass = this.TicketJudgment.gwcCurrentRate;
        },
        //获取费用标注
        GetNationalTravelFeeData() {
            var url = "/api/Groups/GetNationalTravelFeeData"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1,
                    provinceId:that.provinceId,
                }
            }).then(function (res) {
                let placeinifarr = [];
                if (res.data.code == 200) {
                    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;
                }
            })
        },
        GetEnterExitCostInfobyDiId() {

            //初始化数据
            this.ID = '';
            // this.currencys=[]
            this.TotalAccommodationFee = 0;//住宿费合计
            this.TotalMeals = 0;//伙食费合计
            this.TotalMiscellaneous = 0;//公杂费合计
            this.trainingExpense = 0;//培训费合计
            this.otherExpense = 0;//其他费合计

            this.DomesticFees = {
                visafees: '',//签证费
                visafeesDescription: '',//签证费用描述
                vaccinefees: 0,//疫苗费
                nucleicfees: 0,//核酸检测费
                serviceCharge: 0,//服务费
                insurance: 500,//保险费
                ticketsExhibitionL: 0,//参展门票
                total: 0,
                firstItemRemark:''//备注
            }
            this.TotalExpenses = {
                EconomyClass: 0,//经济舱
                BusinessClass: 0,//公务舱
                Firstclass: 0,//TD舱
                // TravellingExpenses: 0,//城市区间交通费
                TravellingExpensesJJ: 0,//城市区间交通费JJ
                TravellingExpensesGW: 0,//城市区间交通费GW
                TravellingExpensesTD: 0,//城市区间交通费TD
                EconomyClasstotal: 0,//经济舱合计
                BusinessClasstotal: 0,//公务舱合计
                Firstclasstotal: 0,//TD舱合计
                twoItemRemark:''//备注
            }
            this.choiceOne = false//境内费用(其他费用)选择框
            this.choiceTwo = false//国际旅费合计选择框
            this.choiceThree = false//住宿费合计选择框
            this.choiceFour = false//伙食费合计选择框
            this.choiceFive = false//公杂费合计选择框
            this.choiceSix = false//培训费用选择框
            this.choiceSeven = false//其他费用选择框
            this.sumJJC = false//经济舱小计选择框
            this.sumGWC = false//公务舱小计选择框
            this.sumTDC = false//公务舱小计选择框
            this.airJJC_Checked = false//经济舱选择框 
            this.airGWC_Checked = false//公务舱选择框
            this.isSave = false//保存权限 
            this.isView = false//查看权限
            this.storageid = 0

            this.quarterageData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.boardWagesData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.miscellaneousFeeData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.trainingExpenseData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.otherData = [
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 1,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 2,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 3,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 4,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 5,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 6,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 7,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 8,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
            ]
            this.isAssignPerm=false;
            var url = "/api/Groups/EnterExitCostDraftInfoById"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1,
                    id: that.value,
                    currUserId:that.userId
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.ID = res.data.data.id;
                    //汇率
                    that.currencys = res.data.data.currencys;
                    that.isAssignPerm = res.data.data.isAssignPerm;
                    //权限
                    that.isSave=res.data.data.isSave;
                    that.isView=res.data.data.isView;
                    that.viewUsers=res.data.data.viewUsers;
                    that.viewUsersby=res.data.data.viewUsers;
                    //境内费用
                    that.DomesticFees.visafees = res.data.data.visa;
                    that.DomesticFees.visafeesDescription = res.data.data.visaRemark;
                    that.DomesticFees.vaccinefees = res.data.data.yiMiao;
                    that.DomesticFees.nucleicfees = res.data.data.heSuan;
                    that.DomesticFees.serviceCharge = res.data.data.service;
                    that.DomesticFees.insurance = res.data.data.safe;
                    that.DomesticFees.ticketsExhibitionL = res.data.data.ticket;
                    that.DomesticFees.firstItemRemark = res.data.data.firstItemRemark;
                    //国际旅费
                    that.TotalExpenses.EconomyClass = res.data.data.airJJ;
                    that.TotalExpenses.BusinessClass = res.data.data.airGW;
                    that.TotalExpenses.Firstclass = res.data.data.airTD;
                    that.TotalExpenses.TravellingExpensesJJ = res.data.data.cityTranffic;
                    that.TotalExpenses.TravellingExpensesGW = res.data.data.cityTranffic1;
                    that.TotalExpenses.TravellingExpensesTD = res.data.data.cityTranffic2;
                    that.TotalExpenses.twoItemRemark = res.data.data.twoItemRemark;

                    //是否计算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.choiceSeven = res.data.data.otherExpenses_Checked == 1 ? true : false;
                    that.sumJJC = res.data.data.sumJJC == 1 ? true : false;
                    that.sumGWC = res.data.data.sumGWC == 1 ? true : false;
                    that.sumTDC = res.data.data.sumTDC == 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++) {
                        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;
                    for (let d = 0; d < res.data.data.trainingExpenseData.length; d++) {
                        that.trainingExpense += res.data.data.trainingExpenseData[d].subTotal
                    }
                    //其他费
                    that.otherData = res.data.data.dayOtherPriceData;
                    for (let e = 0; e < res.data.data.dayOtherPriceData.length; e++) {
                        that.otherExpense += res.data.data.dayOtherPriceData[e].subTotal
                    }
                    that.storageid = res.data.data.id;
                    that.provinceId=res.data.data.provinceId;
                    that.GetNationalTravelFeeData();
                    that.EnterExitCostDraftFileOwner();

                    that.fullscreenLoading = false;
                    that.GetEnterExitCostCorrelationTips(2);
                    that.EnterExitCostDraftVisaTips();
                } else {
                    that.GetNationalTravelFeeData();
                    that.EnterExitCostDraftFileOwner();
                    that.fullscreenLoading = false;
                    that.GetEnterExitCostCorrelationTips(1);
                    that.EnterExitCostDraftVisaTips();
                    that.$message.warning(res.data.msg);
                }
            })
        },
        //全部清空
        cleanout() {
            //初始化数据

            this.value=0;
            this.valuename="";
            this.viewUsers=[],
            this.viewUsersby=[],

            this.isSave=true,
            this.isView=true,

            this.ID = '';
            // this.currencys=[]
            this.TotalAccommodationFee = 0;//住宿费合计
            this.TotalMeals = 0;//伙食费合计
            this.TotalMiscellaneous = 0;//公杂费合计
            this.trainingExpense = 0;//培训费合计
            this.otherExpense = 0;//其他费合计

            this.DomesticFees = {
                visafees: '',//签证费
                visafeesDescription: '',//签证费用描述
                vaccinefees: 0,//疫苗费
                nucleicfees: 0,//核酸检测费
                serviceCharge: 0,//服务费
                insurance: 500,//保险费
                ticketsExhibitionL: 0,//参展门票
                total: 0,
                firstItemRemark:''//备注
            }
            this.TotalExpenses = {
                EconomyClass: 0,//经济舱
                BusinessClass: 0,//公务舱
                Firstclass: 0,//TD舱
                TravellingExpensesJJ: 0,//城市区间交通费JJ
                TravellingExpensesGW: 0,//城市区间交通费GW
                TravellingExpensesTD: 0,//城市区间交通费TD
                // TravellingExpenses: 0,//城市区间交通费
                EconomyClasstotal: 0,//经济舱合计
                BusinessClasstotal: 0,//公务舱合计
                Firstclasstotal: 0,//TD舱合计
                twoItemRemark:''//备注
            }
            this.choiceOne = false//境内费用(其他费用)选择框
            this.choiceTwo = false//国际旅费合计选择框
            this.choiceThree = false//住宿费合计选择框
            this.choiceFour = false//伙食费合计选择框
            this.choiceFive = false//公杂费合计选择框
            this.choiceSix = false//培训费用选择框
            this.choiceSeven = false//其他费用选择框
            this.sumJJC = false//经济舱小计选择框
            this.sumGWC = false//公务舱小计选择框
            this.sumTDC = false//公务舱小计选择框
            this.airJJC_Checked = false//经济舱选择框 
            this.airGWC_Checked = false//公务舱选择框
            this.storageid = 0

            this.isAssignPerm=true;

            this.quarterageData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 1,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.boardWagesData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 2,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.miscellaneousFeeData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 3,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.trainingExpenseData = [
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 1,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 2,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 3,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 4,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 5,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 6,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 7,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
                {
                    id: 0,
                    diId: this.value,
                    type: 4,
                    days: 8,
                    nationalTravelFeeId: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                },
            ]
            this.otherData = [
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 1,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 2,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 3,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 4,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 5,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 6,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 7,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
                {
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: 8,
                    cost: '',
                    cost: 0,
                    currency: '',
                    subTotal: 0,
                    remark:'',
                },
            ]

            //汇率赋值
            for (let at = 0; at < this.currencys.length; at++) {
                for (let rt = 0; rt < this.currencyss.length; rt++) {
                    if (this.currencys[at].currencyCode == this.currencyss[rt].currCode) {
                        this.currencys[at].rate = this.currencyss[rt].rate
                    }
                }
            }

            this.getvisafeebtn=false;
            // this.EnterExitCostDraftVisaTips();
            this.provinceId=this.provinceIdarr[0].id;
            this.GetNationalTravelFeeData();
            this.EnterExitCostDraftFileOwner();
        },
        //下拉
        handNodeClick(data, node, e) {
            this.treeDataValue = data.name
            this.treeData = data.name
        },
        //sr需求
        SRrequirement(obj) {
            var currencyinfo = {}
            var rate = 0
            currencyinfo = this.othercurrencys.find(function (i) {
                return i.currencyId === obj.currency
            });
            rate = currencyinfo.rate;
            this.otherExpense = 0;
            for (let l = 0; l < this.otherData.length; l++) {
                this.otherData[l].currency = obj.currency
                this.otherData[l].subTotal = Number(this.otherData[l].cost) * Number(rate);
                this.otherExpense += this.otherData[l].subTotal;
            }
        },
        //住宿地区选择
        changeSelect(val, item, index) {
            var xiabiao=0
            var rate = 0
            var obj = {}
            obj = this.placeinif.find(function (i,indexs) {
                xiabiao=indexs
                return i.id === item
            });
            this.placeinif.splice(xiabiao,1);
            this.placeinif.unshift(obj);
            this.SRrequirement(obj)
            //在change中获取到整条对象数据
            val.currencyName = obj.currencyName;
            val.currency = obj.currency;
            val.cost = obj.roomCost;
            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.TotalAccommodationFee = 0;
            for (let a = 0; a < this.quarterageData.length; a++) {
                this.TotalAccommodationFee += Number(this.quarterageData[a].subTotal.toFixed(2));
            }
            // this.mealschangeSelect(this.boardWagesData,item,index)
        },
        //住宿费费用标准值改变
        zhusuinput(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.TotalAccommodationFee = 0;
            for (let a = 0; a < this.quarterageData.length; a++) {
                this.TotalAccommodationFee += Number(Number(this.quarterageData[a].subTotal).toFixed(2));
            }
        },
        //伙食费费用标准值改变
        mealsinput(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.TotalMeals = 0;
            for (let a = 0; a < this.boardWagesData.length; a++) {
                this.TotalMeals += Number(Number(this.boardWagesData[a].subTotal).toFixed(2));
            }
        },
        //伙食地区选择
        mealschangeSelect(val, item, index) {
            var xiabiao=0
            var rate = 0
            var obj = {}
            obj = this.placeinif.find(function (i,indexs) {
                xiabiao=indexs
                return i.id === item
            });
            this.placeinif.splice(xiabiao,1);
            this.placeinif.unshift(obj);
            //在change中获取到整条对象数据
            // if(index!=undefined){
            //     val[index].currencyName=obj.currencyName;
            //     val[index].currency=obj.currency;
            //     val[index].cost=obj.foodCost;
            //     val[index].nationalTravelFeeId=obj.id;
            //     for(let j=0;j<this.currencys.length;j++){
            //         if(this.currencys[j].currencyCode==obj.currencyCode){
            //             rate=this.currencys[j].rate;
            //         }
            //     }
            //     val[index].subTotal=Number(val[index].cost)*Number(rate);
            //     this.TotalMeals=0;
            //     for(let a=0;a<this.boardWagesData.length;a++){
            //         this.TotalMeals+=this.boardWagesData[a].subTotal
            //     }
            // }                    
            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) {
                    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
            }
            this.MiscellaneouschangeSelect(this.miscellaneousFeeData, item, index)
        },
        //公杂费费用标准值改变
        Miscellaneousinput(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.TotalMiscellaneous = 0;
            for (let a = 0; a < this.miscellaneousFeeData.length; a++) {
                this.TotalMiscellaneous += Number(Number(this.miscellaneousFeeData[a].subTotal).toFixed(2));
            }
        },
        //公杂费地区选择
        MiscellaneouschangeSelect(val, item, index) {
            var xiabiao=0
            var rate = 0
            var obj = {}
            obj = this.placeinif.find(function (i,indexs) {
                xiabiao=indexs
                return i.id === item
            });
            this.placeinif.splice(xiabiao,1);
            this.placeinif.unshift(obj);
            //在change中获取到整条对象数据
            if (index != undefined) {
                val[index].currencyName = obj.currencyName;
                val[index].currency = obj.currency;
                val[index].cost = obj.publicCost;
                val[index].nationalTravelFeeId = obj.id;
                for (let j = 0; j < this.currencys.length; j++) {
                    if (this.currencys[j].currencyCode == obj.currencyCode) {
                        rate = this.currencys[j].rate;
                    }
                }
                val[index].subTotal = Number(val[index].cost) * Number(rate);
                this.TotalMiscellaneous = 0;
                for (let a = 0; a < this.miscellaneousFeeData.length; a++) {
                    this.TotalMiscellaneous += this.miscellaneousFeeData[a].subTotal
                }
            }
            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) {
                    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
            }
        },
        //培训费费用标准值改变
        Traininginput(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 += Number(Number(this.trainingExpenseData[a].subTotal).toFixed(2));
                
            }
        },
        //培训费地区选择
        TrainingExpenseDataSelect(val, item) {
            var xiabiao=0
            var rate = 0//汇率
            var obj = {}
            obj = this.placeinif.find(function (i,indexs) {
                xiabiao=indexs
                return i.id === item
            });
            this.placeinif.splice(xiabiao,1);
            this.placeinif.unshift(obj);
            //在change中获取到整条对象数据
            val.currencyName = obj.currencyName;
            val.currency = obj.currency;
            val.cost=obj.trainCost;
            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);

            for (let a = 0; a < this.trainingExpenseData.length; a++) {
                this.trainingExpense += this.trainingExpenseData[a].subTotal
            }
        },
        //其他币种值改变
        othercurrencychange(val, row) {
            var obj = {};
            var rate = 0;
            obj = this.othercurrencys.find(function (i) {
                return i.currencyId === val;
            });
            rate = obj.rate
            row.subTotal = Number(row.cost) * Number(rate);
            this.otherExpense = 0;
            for (let a = 0; a < this.otherData.length; a++) {
                this.otherExpense += this.otherData[a].subTotal;
            }
        },
        //其他费用标准值改变
        otherinput(val) {
            if (val.currency == '' || this.othercurrencys == '') {
                return
            }
            var obj = {}
            var rate = 0
            obj = this.othercurrencys.find(function (i) {
                return i.currencyId === val.currency
            });
            rate = obj.rate
            val.subTotal = Number(val.cost) * Number(rate);
            this.otherExpense = 0;
            for (let a = 0; a < this.otherData.length; a++) {
                this.otherExpense += Number(Number(this.otherData[a].subTotal).toFixed(2));
            }
        },
        //新增list
        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: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                })
                // 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:'',
                //     cost:0,
                //     currency:0,
                //     subTotal:0,
                //     remark:'',
                // })
            }
            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: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                })
                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: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                })
            }
            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: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                })
            }
            if (text == "培训费") {
                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: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark: '',
                })
            }
            if (text == "其他") {
                this.otherData.push({
                    id: 0,
                    diId: this.value,
                    setDataId: '',
                    index: this.otherData.length != 0 ? (this.otherData[this.otherData.length - 1].index) + 1 : 1,
                    cost: '',
                    cost: 0,
                    currency: 0,
                    subTotal: 0,
                    remark:'',
                })
            }

        },
        //保存
        storage: debounce(function () {
            if (this.valuename=="") {
                this.$message.error('睁开眼睛看看草稿名称填没填！！！！！');
                return
            }
            return new Promise((resolve, reject) => {
                //住宿费
                this.fullscreenLoading = true
                var quarterageDatas = [];
                for (let m = 0; m < this.quarterageData.length; m++) {
                    if (this.quarterageData[m].nationalTravelFeeId != '') {
                        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++) {
                    if (this.boardWagesData[n].nationalTravelFeeId != '') {
                        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++) {
                    if (this.miscellaneousFeeData[b].nationalTravelFeeId != '') {
                        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++) {
                    if (this.trainingExpenseData[p].nationalTravelFeeId != '') {
                        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,
                        })
                    }
                }
                //其他费
                var otherDatas = [];

                for (let c = 0; c < this.otherData.length; c++) {
                    if (this.otherData[c].setDataId != '') {
                        otherDatas.push({
                            id: this.otherData[c].id,
                            diId: this.otherData[c].diId,
                            index: this.otherData[c].index,
                            setDataId: this.otherData[c].setDataId,
                            cost: this.otherData[c].cost,
                            currency: this.otherData[c].currency,
                            subTotal: this.otherData[c].subTotal,
                            remark: this.otherData[c].remark,
                        })
                    }
                }
                this.storageAPI(quarterageDatas, boardWagesDatas, miscellaneousFeeDatas, trainingExpenseDatas, otherDatas)
            })
        }, 1000, true),
        //导出保存
        //保存API
        storageAPI(arrthre, arrfour, arrfive, arrsix, arrSeven) {
            var url = "/api/Groups/EnterExitCostDraftOp"
            var that = this
            let filteredObjects = that.draftNameDatas.filter(obj => 
                 that.valuename==obj.value
            );
            if (filteredObjects.length<1) {
                that.value = 0;
            }
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token,
                    contentType: 'application/json'
                },
                data: {
                    portType: 1,
                    userId: that.userId,
                    id: that.value,
                    draftName: that.valuename,
                    choiceOne: that.choiceOne ? 1 : 0,
                    insidePay: that.DomesticFees.total,
                    provinceId: that.provinceId,
                    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,
                    firstItemRemark:that.DomesticFees.firstItemRemark,
                    choiceTwo: that.choiceTwo ? 1 : 0,
                    otherExpenses_Checked: that.choiceSeven ? 1 : 0,
                    sumJJC: that.sumJJC ? 1 : 0,
                    sumGWC: that.sumGWC ? 1 : 0,
                    sumTDC: that.sumTDC ? 1 : 0,
                    outsideJJPay: that.TotalExpenses.EconomyClasstotal,
                    outsideGWPay: that.TotalExpenses.BusinessClasstotal,
                    outsideTDPay: that.TotalExpenses.Firstclasstotal,
                    twoItemRemark: that.TotalExpenses.twoItemRemark,
                    airJJ: that.TotalExpenses.EconomyClass,
                    airGW: that.TotalExpenses.BusinessClass,
                    airTD: that.TotalExpenses.Firstclass,
                    cityTranffic: that.TotalExpenses.TravellingExpensesJJ,
                    cityTranffic1: that.TotalExpenses.TravellingExpensesGW,
                    cityTranffic2: that.TotalExpenses.TravellingExpensesTD,
                    dayOtherPriceData: arrSeven,
                    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,
                    airTDC_Checked: that.airTDC_Checked ? 1 : 0,
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.$message({
                        type: 'success',
                        message: res.data.msg
                    });
                    if (that.value == 0) {
                        that.value=res.data.data.sign;
                        that.draftNameDatas.push({
                            id:res.data.data.sign,
                            value:res.data.data.draftName,
                        })
                    }
                    that.GetEnterExitCostInfobyDiId()
                } else {
                    that.fullscreenLoading = false;
                    that.$message.error(res.data.msg);
                }
            }).catch(function (error) {
                that.$message.error(error.message);
            });


        },
        //选择团组名称调用
        chengvalue() {
            window.localStorage.setItem('sgvalue', this.value);
            this.fullscreenLoading = true;
            this.GetEnterExitCostInfobyDiId();
            this.PostGroupTeamRateByDiIdAndCTableId();
        },
        eptschedule: debounce(function (val) {
            if (this.valuename=="") {
                this.$message.error('睁开眼睛看看草稿名称填没填！！！！！');
                return
            }
            return new Promise((resolve, reject) => {
                //住宿费
                this.fullscreenLoading = true
                var quarterageDatas = [];
                for (let m = 0; m < this.quarterageData.length; m++) {
                    if (this.quarterageData[m].nationalTravelFeeId != '') {
                        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++) {
                    if (this.boardWagesData[n].nationalTravelFeeId != '') {
                        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++) {
                    if (this.miscellaneousFeeData[b].nationalTravelFeeId != '') {
                        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++) {
                    if (this.trainingExpenseData[p].nationalTravelFeeId != '') {
                        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,
                        })
                    }
                }
                //其他费
                var otherDatas = [];

                for (let c = 0; c < this.otherData.length; c++) {
                    if (this.otherData[c].setDataId != '') {
                        otherDatas.push({
                            id: this.otherData[c].id,
                            diId: this.otherData[c].diId,
                            index: this.otherData[c].index,
                            setDataId: this.otherData[c].setDataId,
                            cost: this.otherData[c].cost,
                            currency: this.otherData[c].currency,
                            subTotal: this.otherData[c].subTotal,
                            remark: this.otherData[c].remark,
                        })
                    }
                }
                var url = "/api/Groups/EnterExitCostDraftOp"
                var that = this
                let filteredObjects = that.draftNameDatas.filter(obj =>
                    that.valuename == obj.value
                );
                if (filteredObjects.length < 1) {
                    that.value = 0;
                }
                this.$axios({
                    method: 'post',
                    url: url,
                    headers: {
                        Authorization: 'Bearer ' + this.token,
                        contentType: 'application/json'
                    },
                    data: {
                        portType: 1,
                        userId: that.userId,
                        id: that.value,
                        draftName: that.valuename,
                        choiceOne: that.choiceOne ? 1 : 0,
                        insidePay: that.DomesticFees.total,
                        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,
                        firstItemRemark: that.DomesticFees.firstItemRemark,
                        choiceTwo: that.choiceTwo ? 1 : 0,
                        otherExpenses_Checked: that.choiceSeven ? 1 : 0,
                        sumJJC: that.sumJJC ? 1 : 0,
                        sumGWC: that.sumGWC ? 1 : 0,
                        sumTDC: that.sumTDC ? 1 : 0,
                        outsideJJPay: that.TotalExpenses.EconomyClasstotal,
                        outsideGWPay: that.TotalExpenses.BusinessClasstotal,
                        outsideTDPay: that.TotalExpenses.Firstclasstotal,
                        twoItemRemark: that.TotalExpenses.twoItemRemark,
                        airJJ: that.TotalExpenses.EconomyClass,
                        airGW: that.TotalExpenses.BusinessClass,
                        airTD: that.TotalExpenses.Firstclass,
                        cityTranffic: that.TotalExpenses.TravellingExpensesJJ,
                        cityTranffic1: that.TotalExpenses.TravellingExpensesGW,
                        cityTranffic2: that.TotalExpenses.TravellingExpensesTD,
                        dayOtherPriceData: otherDatas,
                        currencys: that.currencys,
                        choiceThree: that.choiceThree ? 1 : 0,
                        quarterageData: quarterageDatas,
                        choiceFour: that.choiceFour ? 1 : 0,
                        boardWagesData: boardWagesDatas,
                        choiceFive: that.choiceFive ? 1 : 0,
                        miscellaneousFeeData: miscellaneousFeeDatas,
                        choiceSix: that.choiceSix ? 1 : 0,
                        //加参数
                        trainingExpenseData: trainingExpenseDatas,
                        airJJC_Checked: that.airJJC_Checked ? 1 : 0,
                        airGWC_Checked: that.airGWC_Checked ? 1 : 0,
                        airTDC_Checked: that.airTDC_Checked ? 1 : 0,
                    }
                }).then(function (res) {
                    if (res.data.code == 200) {
                        that.$message({
                            type: 'success',
                            message: res.data.msg
                        });
                        if (that.value == 0) {
                            that.value = res.data.data.sign;
                            that.draftNameDatas.push({
                                id: res.data.data.sign,
                                value: res.data.data.draftName,
                            })
                        }


                        var subTypeId = 0
                        if (val == 1) {
                            subTypeId = that.listvalue
                        } else if (val == 2) {
                            subTypeId = that.tablevalue
                        } else {
                            subTypeId = 1
                        }
                        if (subTypeId == "") {
                            that.$message.error('请选择需要导出的表格');
                            return
                        }
                        var url = "/api/Groups/EnterExitCostDraftDownload"
                        that.$axios({
                            method: 'post',
                            url: url,
                            headers: {
                                Authorization: 'Bearer ' + that.token
                            },
                            data: {
                                portType: 1,
                                id: that.value,
                                exportType: val,
                                subTypeId: subTypeId
                            }
                        }).then(function (res) {
                            if (res.data.code == 200) {
                                that.$message({
                                    type: 'success',
                                    message: res.data.msg
                                });
                                window.open(res.data.data.url);
                            } else {
                                that.$message.error(res.data.msg);
                            }
                        })
                        that.GetEnterExitCostInfobyDiId()
                    } else {
                        that.fullscreenLoading = false;
                        that.$message.error(res.data.msg);
                    }
                }).catch(function (error) {
                    that.$message.error(error.message);
                });
                // this.storageAPI(quarterageDatas, boardWagesDatas, miscellaneousFeeDatas, trainingExpenseDatas, otherDatas)
            })
        }, 500, true),
        //
        calculation() {
            var jnfy
            var jjcxj
            var gwcxj
            var tdcxj
            var zsf
            var hsf
            var gzf
            var pxf
            var qtfy
            if (this.choiceOne == true) {
                jnfy = this.DomesticFees.total;
            } else {
                jnfy = 0;
            }
            if (this.choiceThree == true) {
                zsf = this.TotalAccommodationFee;
            } else {
                zsf = 0;
            }
            if (this.choiceFour == true) {
                hsf = this.TotalMeals;
            } else {
                hsf = 0;
            }
            if (this.choiceFive == true) {
                gzf = this.TotalMiscellaneous;
            } else {
                gzf = 0;
            }
            if (this.choiceSix == true) {
                pxf = this.trainingExpense;
            } else {
                pxf = 0;
            }
            if (this.choiceSeven == true) {
                qtfy = this.otherExpense;
            } else {
                qtfy = 0;
            }
            if (this.sumJJC == true) {
                jjcxj = this.TotalExpenses.EconomyClasstotal;
                this.jjctotal = jnfy + jjcxj + zsf + hsf + gzf + pxf + qtfy;
            } else {
                jjcxj = 0;
                this.jjctotal = 0;
            }
            if (this.sumGWC == true) {
                gwcxj = this.TotalExpenses.BusinessClasstotal;
                this.gwctotal = jnfy + gwcxj + zsf + hsf + gzf + pxf + qtfy;
            } else {
                gwcxj = 0;
                this.gwctotal = 0;
            }
            if (this.sumTDC == true) {
                tdcxj = this.TotalExpenses.Firstclasstotal;
                this.tdctotal = jnfy + tdcxj + zsf + hsf + gzf + pxf + qtfy;
            } else {
                tdcxj = 0;
                this.tdctotal = 0;
            }
        },
        //其他删除
        DeleteOtherExpenses(index, row, rows) {
            this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                {
                    if (row.id == 0) {
                        this.$message({
                            type: 'success',
                            message: '删除成功'
                        });
                        rows.splice(index, 1);
                        this.otherExpense = 0;
                        for (let a = 0; a < rows.length; a++) {
                            this.otherExpense += rows[a].subTotal;
                        }
                        return;
                    }
                    var url = "/api/Groups/EnterExitCostDraftOtherExpensesDel"
                    var that = this
                    this.$axios({
                        method: 'post',
                        url: url,
                        headers: {
                            Authorization: 'Bearer ' + that.token
                        },
                        data: {
                            portType: 1,
                            id: row.id,
                            deleteUserId: that.userId
                        }
                    }).then(function (res) {
                        if (res.data.code == 200) {
                            that.$message({
                                type: 'success',
                                message: res.data.msg
                            });
                            rows.splice(index, 1);
                            this.otherExpense = 0;
                            for (let a = 0; a < rows.length; a++) {
                                this.otherExpense += rows[a].subTotal;
                            }
                        } else {
                            that.$message.error(res.data.msg);
                        }
                    })
                }
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消删除'
                });
            });
        },
        //删除
        deleteRow(index, row, rows, val) {
            this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                if (row.id == 0) {
                    this.$message({
                        type: 'success',
                        message: '删除成功'
                    });
                    rows.splice(index, 1);
                    if (val == 1) {
                        this.TotalAccommodationFee = 0;
                        for (let a = 0; a < rows.length; a++) {
                            this.TotalAccommodationFee += rows[a].subTotal;
                        }
                    }
                    if (val == 2) {
                        this.TotalMeals = 0;
                        for (let a = 0; a < rows.length; a++) {
                            this.TotalMeals += rows[a].subTotal;
                        }
                    }
                    if (val == 3) {
                        this.TotalMiscellaneous = 0;
                        for (let a = 0; a < rows.length; a++) {
                            this.TotalMiscellaneous += rows[a].subTotal;
                        }
                    }
                    if (val == 4) {
                        this.trainingExpense = 0;
                        for (let a = 0; a < rows.length; a++) {
                            this.trainingExpense += rows[a].subTotal;
                        }
                    }
                    return;
                }
                var url = "/api/Groups/EnterExitCostDraftSubItemDel"
                var that = this
                this.$axios({
                    method: 'post',
                    url: url,
                    headers: {
                        Authorization: 'Bearer ' + that.token
                    },
                    data: {
                        portType: 1,
                        id: row.id,
                        deleteUserId: that.userId
                    }
                }).then(function (res) {
                    if (res.data.code == 200) {
                        that.$message({
                            type: 'success',
                            message: res.data.msg
                        });
                        rows.splice(index, 1);
                        if (val == 1) {
                            that.TotalAccommodationFee = 0;
                            for (let a = 0; a < rows.length; a++) {
                                that.TotalAccommodationFee += rows[a].subTotal;
                            }
                        }
                        if (val == 2) {
                            that.TotalMeals = 0;
                            for (let a = 0; a < rows.length; a++) {
                                that.TotalMeals += rows[a].subTotal;
                            }
                        }
                        if (val == 3) {
                            that.TotalMiscellaneous = 0;
                            for (let a = 0; a < rows.length; a++) {
                                that.TotalMiscellaneous += rows[a].subTotal;
                            }
                        }
                        if (val == 4) {
                            that.trainingExpense = 0;
                            for (let a = 0; a < rows.length; a++) {
                                that.trainingExpense += rows[a].subTotal;
                            }
                        }
                    } else {
                        that.$message.error(res.data.msg);
                    }
                })
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消删除'
                });
            });
        },
        //填入实时汇率
        adoptRealtime() {
            for (let at = 0; at < this.currencys.length; at++) {
                for (let rt = 0; rt < this.currencyss.length; rt++) {
                    if (this.currencys[at].currencyCode == this.currencyss[rt].currCode) {
                        this.currencys[at].rate = this.currencyss[rt].rate
                    }
                }
            }
            this.cubtn = false;
        },
        Getnewvisafee() {
            this.DomesticFees.visafees = this.visainfo.totalAmt;
            this.DomesticFees.visafeesDescription = this.visainfo.remark==''?'此国家未录签证数据不是没有或者看看下面费用里有没有选国家城市没国家哪里来的签证，天才！':this.visainfo.remark;
            // this.getvisafeebtn = false;
        },
        //导出到收款账单
        NationalTravelFeeImportReceivables() {
            var url = "/api/Groups/NationalTravelFeeImportReceivables/" + this.value
            var that = this
            this.$axios({
                method: 'get',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + that.token
                },
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.$message({
                        type: 'success',
                        message: res.data.msg
                    });
                } else {
                    that.$message.error(res.data.msg);
                }
            }).catch(function (error) {
                that.$message.error("操作错误，联系信息部!");
            });
        },
        //设置权限按钮
        setpermissionsbtn(){
            this.viewUsers=this.viewUsersby;
            this.setpermissions=true;
        },
        handleCheckAllChange(val) {
            // console.log(val);
            // console.log(this.viewUsers);
            
        },
        //分配查看权限
        EnterExitCostSetViewPermissiion() {
            var url = "/api/Groups/EnterExitCostDraftSetViewPermissiion"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + that.token
                },
                data:{
                    portType:1,
                    draftId:that.value,
                    userIds:that.viewUsers,
                    currUserId:that.userId,
                }
            }).then(function (res) {
                if (res.data.code == 200) {
                    that.$message({
                        type: 'success',
                        message: res.data.msg
                    });
                    that.setpermissions=false;
                    that.GetEnterExitCostInfobyDiId();
                } else {
                    that.setpermissions=false;
                    that.$message.error(res.data.msg);
                }
            }).catch(function (error) {
                that.$message.error("操作错误，联系信息部!");
            });
        },
        //交通费基础费用
        EnterExitCostDraftOVByGroupId() {
            var url = "/api/Groups/EnterExitCostDraftOVByGroupId/"+this.value
            var that = this
            this.$axios({
                method: 'get',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
            }).then(function (res) {
                that.fulecao=[];
                that.currencies=[];
                if (res.data.code == 200) {
                    that.currencies=res.data.data.currencies;
                    that.fulecao=res.data.data.data;
                }else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //交通费详细
        EnterExitCostDraftOVFeeDetails() {
            var url = "/api/Groups/EnterExitCostDraftOVFeeDetails/"+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="";
                that.Basicdata={};
                if (res.data.code == 200) {
                    that.Basicdata=res.data.data;
                    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.EnterExitCostDraftOVByGroupId();
                }else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //交通费弹窗
        openTransportation(){
            this.EnterExitCostDraftOVFeeDetails();
            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;
        },
        deleteRowJSJ(index, rows,row) {
            this.$confirm('此操作只是移除该条数据做出计算并未保存，如要删除该条数据请点击保存！', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                rows.splice(index, 1);
                this.UrbanTotal();
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '操作已取消！'
                });
            });
        },
        deleteRowLC(index, rows,row) {
            this.$confirm('此操作只是移除该条数据做出计算并未保存，如要删除该条数据请点击保存！', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                rows.splice(index, 1);
                this.UrbanTotalLC();
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '操作已取消！'
                });
            });
        },
        deleteRowHC(index, rows,row) {
            this.$confirm('此操作只是移除该条数据做出计算并未保存，如要删除该条数据请点击保存！', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                rows.splice(index, 1);
                this.UrbanTotalHC();
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '操作已取消！'
                });
            });
        },
        deleteRowJP(index, rows,row) {
            this.$confirm('此操作只是移除该条数据做出计算并未保存，如要删除该条数据请点击保存！', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                rows.splice(index, 1);
                this.UrbanTotalJP();
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '操作已取消！'
                });
            });
        },
        //改值计算
        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: ""
            });
        },
        //城市交通费保存
        EnterExitCostDraftOVFeeSave() {
            for(let i=0;i<this.Transportationdata.length;i++){
                if(this.Transportationdata[i].ovId==""){
                    this.$message.error("请查看是否除备注外的必填项均已填写！");
                    return;
                }
            }
            var url = "/api/Groups/EnterExitCostDraftOVFeeSave"
            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,
                    draftId:that.value,
                    currUserId:that.userId,
                    groupSize:that.Basicdata.groupSize,
                }
            }).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);
                    if (that.TotalExpenses.twoItemRemark=='') {
                        that.TotalExpenses.twoItemRemark=res.data.data.label;
                    }else{
                        if (that.TotalExpenses.twoItemRemark.split("、").length > 1) {
                            that.TotalExpenses.twoItemRemark.split("、")[1] = res.data.data.label;
                            that.TotalExpenses.twoItemRemark = that.TotalExpenses.twoItemRemark.split("、")[0] + '、' + that.TotalExpenses.twoItemRemark.split("、")[1];
                            that.TransportationVisible = false;
                            that.$message.success(res.data.msg);
                            return;
                        }
                        if (that.TotalExpenses.twoItemRemark.includes('接送机')) {
                            console.log(1);
                            
                            that.TotalExpenses.twoItemRemark=res.data.data.label
                        }else{
                            that.TotalExpenses.twoItemRemark=that.TotalExpenses.twoItemRemark+'、'+res.data.data.label;
                        }
                    }
                    that.TransportationVisible=false;
                    that.$message.success(res.data.msg);
                }else {
                    that.$message.error(res.data.msg);
                }
            })
        },
        //刷新城市区间费标准(保存后刷新,数据修改重新赋值计算)
        RefreshInterval(){
            this.EnterExitCostDraftOVByGroupId();
            var that=this;
            this.$confirm('刷新可能标准会有修改与之前的金额会有不同请注意查看！且刷新只是重新计算并未保存重新计算后的值！是否继续操作？', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                for (let i = 0; i < that.Transportationdata.length; i++) {
                    var obj = {}
                    obj = that.fulecao.find(function (item, indexs) {
                        return item.id === that.Transportationdata[i].ovId
                    })
                    this.Transportationdata[i].cost = obj.price;
                    this.Transportationdata[i].otherCost = obj.otherPrice;
                    this.Transportationdata[i].guideCost = obj.guidePrice;
                    this.Transportationdata[i].currencyName = obj.currencyName
                    this.UrbanModify(this.Transportationdata[i], this.Transportationdata[i].currencyName)
                }
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消操作'
                });
            });
        },
        //baoliuliangweixiaoshu
        reservetwo(value) {
            // 截取当前数据到小数点后两位
            let realVal = new Decimal(value).toFixed(2)
            return realVal
        },
    },
    filters: {
        numFilter(value) {
            // 截取当前数据到小数点后两位
            let realVal = new Decimal(value).toFixed(2)
            return realVal
        }
    },
    watch: {
        choiceOne(val) {//境内费用(其他费用)选择框
            this.calculation();
        },
        choiceThree(val) {//住宿费合计选择框
            this.calculation();
        },
        choiceFour(val) {//伙食费合计选择框
            this.calculation();
        },
        choiceFive(val) {//公杂费合计选择框
            this.calculation();
        },
        choiceSix(val) {//培训费用选择框
            this.calculation();
        },
        choiceSeven(val) {//其他费用选择框
            this.calculation();
        },
        //加参数
        sumJJC(val) {//经济舱小计选择框
            this.calculation();
        },
        sumGWC(val) {//公务舱小计选择框
            this.calculation();
        },
        sumTDC(val) {//公务舱小计选择框
            this.calculation();
        },
        'DomesticFees.total': {
            handler(newVal, oldVal) {
                this.calculation();
                // 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.calculation();
                // 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.calculation();
                // 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.calculation();
                // 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.calculation();
                // 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;
            },
        },
        otherExpense: {
            handler(newVal, oldVal) {
                this.calculation();
                // 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.calculation();
                // 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.calculation();
                // 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)
            },
        },
        'TotalExpenses.Firstclasstotal': {
            handler(newVal, oldVal) {
                this.calculation();
                // 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) {
                if (newVal.insurance == undefined) {
                    newVal.insurance = 0
                }
                if (newVal.nucleicfees == undefined) {
                    newVal.nucleicfees = 0
                }
                if (newVal.serviceCharge == undefined) {
                    newVal.serviceCharge = 0
                }
                if (newVal.ticketsExhibitionL == undefined) {
                    newVal.ticketsExhibitionL = 0
                }
                if (newVal.vaccinefees == undefined) {
                    newVal.vaccinefees = 0
                }
                if (newVal.visafees == undefined) {
                    newVal.visafees = 0
                }
            },
            immediate: true,
            deep: true // 可以深度检测到 person 对象的属性值的变化
        },
        //国际旅费非空处理
        TotalExpenses: {
            handler(newVal, oldVal) {
                if (newVal.EconomyClass == undefined) {
                    newVal.EconomyClass = 0
                }
                if (newVal.BusinessClass == undefined) {
                    newVal.BusinessClass = 0
                }
                if (newVal.TravellingExpensesJJ == undefined) {
                    newVal.TravellingExpensesJJ = 0
                }
                if (newVal.TravellingExpensesGW == undefined) {
                    newVal.TravellingExpensesGW = 0
                }
                if (newVal.TravellingExpensesTD == undefined) {
                    newVal.TravellingExpensesTD = 0
                }
            },
            immediate: true,
            deep: true // 可以深度检测到 person 对象的属性值的变化
        },
        //监听汇率数组是否变化
        currencys: {
            handler(val) {
                this.TotalAccommodationFee = 0
                for (let q = 0; q < this.quarterageData.length; q++) {
                    for (let qc = 0; qc < this.currencys.length; qc++) {
                        if (this.currencys[qc].currencyCode == this.quarterageData[q].curremcyCode||this.currencys[qc].currencyName == this.quarterageData[q].currencyName) {
                            this.quarterageData[q].subTotal = (this.currencys[qc].rate * this.quarterageData[q].cost).toFixed(2)
                        }
                    }
                    this.TotalAccommodationFee += Number(this.quarterageData[q].subTotal);
                }
                //伙食费
                this.TotalMeals = 0
                for (let b = 0; b < this.boardWagesData.length; b++) {
                    for (let bc = 0; bc < this.currencys.length; bc++) {
                        if (this.currencys[bc].currencyCode == this.boardWagesData[b].curremcyCode||this.currencys[bc].currencyName == this.boardWagesData[b].currencyName) {
                            this.boardWagesData[b].subTotal = this.currencys[bc].rate * this.boardWagesData[b].cost
                        }
                    }
                    this.TotalMeals += this.boardWagesData[b].subTotal
                }
                //公杂费
                this.TotalMiscellaneous = 0
                for (let m = 0; m < this.miscellaneousFeeData.length; m++) {
                    for (let mc = 0; mc < this.currencys.length; mc++) {
                        if (this.currencys[mc].currencyCode == this.miscellaneousFeeData[m].curremcyCode||this.currencys[mc].currencyName == this.miscellaneousFeeData[m].currencyName) {
                            this.miscellaneousFeeData[m].subTotal = this.currencys[mc].rate * this.miscellaneousFeeData[m].cost
                        }
                    }
                    this.TotalMiscellaneous += this.miscellaneousFeeData[m].subTotal
                }
                //培训费
                this.trainingExpense = 0
                for (let t = 0; t < this.trainingExpenseData.length; t++) {
                    for (let tc = 0; tc < this.currencys.length; tc++) {
                        if (this.currencys[tc].currencyCode == this.trainingExpenseData[t].curremcyCode||this.currencys[tc].currencyName == this.trainingExpenseData[t].currencyName) {
                            this.trainingExpenseData[t].subTotal = this.currencys[tc].rate * this.trainingExpenseData[t].cost
                        }
                    }
                    this.trainingExpense += this.trainingExpenseData[t].subTotal
                }
                //其他费用
                for (let nc = 0; nc < this.currencys.length; nc++) {
                    for (let nt = 0; nt < this.othercurrencys.length; nt++) {
                        if (this.currencys[nc].currencyCode == this.othercurrencys[nt].currencyCode||this.currencys[nc].currencyName == this.othercurrencys[nt].currencyName) {
                            this.othercurrencys[nt].rate = this.currencys[nc].rate;
                        }
                    }
                }

                this.otherExpense = 0;
                for (let wm = 0; wm < this.otherData.length; wm++) {
                    for (let cj = 0; cj < this.othercurrencys.length; cj++) {
                        if (this.otherData[wm].currency == this.othercurrencys[cj].currencyId) {
                            this.otherData[wm].rate = this.othercurrencys[cj].rate
                        }
                    }
                    this.otherExpense += this.otherData[wm].subTotal;
                    if (this.otherData[wm].rate) {
                        this.otherData[wm].subTotal = this.otherData[wm].cost * this.otherData[wm].rate;
                    }
                }
            },
            deep: true
        }
    },
    created() {
        this.QuerySetData();
        
    },
    mounted() {
        this.token = JSON.parse(localStorage.getItem('userinif')).token;
        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
        this.value = JSON.parse(localStorage.getItem('sgvalue'))
        this.GetEnterExitCostDataSource();
        this.EnterExitDraftProvBelongCostDataSource();
        // this.GetNationalTravelFeeData();
    },
    destroyed() {
        window.localStorage.removeItem('sgvalue');
    },

}
</script>
<style>
.Entrydraft-all {
    background-color: #fff;
    padding: 10px;
    box-shadow: 0 0 5px #0005;
    border-radius: 10px;
    height: 100%;
    min-height: 830px;
}

.Entrydraft-head-li label {
    color: #606266;
    font-size: 15px;
    font-weight: 600;
}

.Entrydraft-head {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.Entrydraft-form {
    margin-top: 10px;
    border-top: 2px solid #409EFF;
}

.Entrydraft-li-inif {
    display: flex;
    align-items: center;
    width: 100%;
    border-top: 1px solid #ebeef5;
    padding: 5px 0;
}

.Entrydraft-li-inif:last-child {
    border-bottom: 1px solid #ebeef5;
}

.Entrydraft-li-lable {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px 0;
    margin-top: 20px;
}

.Entrydraft-li-lables {
    display: flex;
    align-items: center;
    margin: 10px 0;
    margin-top: 20px;
}

.Entrydraft-inif-box .depipt {
    display: inline-block;
    width: 240px;
}

.Entrydraft-inif-box {
    margin-right: 20px;
}

.Entrydraft-li-inif label {
    font-size: 14px;
    color: #606266;
}

.Entrydraft-form .redzhu {
    font-size: 14px;
    color: red;
}

.sub-boxs {
    -ms-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    font-size: 12px;
    font-family: "微软雅黑";
    user-select: none;
    background-color: #FFF;
    background-image: none;
    border-radius: 4px;
    border: 1px solid #DCDFE6;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #606266;
    display: inline-block;
    height: 28px;
    line-height: 28px;
    outline: 0;
    padding: 0 15px;
    -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
    transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
}

.btn-Entrydraft {
    text-align: right;
}

.Entrydraft-all .el-checkbox__inner {
    width: 18px;
    height: 18px;
    margin-right: 10px;
}

.Entrydraft-all .el-checkbox__inner::after {
    height: 10px;
    left: 6px;
    
}

.Entrydraft-all .el-table th.el-table__cell>.cell {
    text-align: center;
}
.Entrydraft-all .el-button+.el-button{
    margin-left: 0px;
}
.Entrydraft-all .permissionsbox .el-checkbox-group{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Entrydraft-all .permissionsbox .el-checkbox{
    width: 150px;
    margin-right: 0;
}

.jiaotongfeiS-ul{
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}
.jiaotongfeiS-li{
    width: 32.5%;
}



.inputNumberClassS[class-unit] {
    --el-input-number-unit-offset-x: 35px;
    position: relative;
}
.inputNumberClassS[class-unit]::after {
    content: attr(class-unit);
    height: 100%;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 5px;
    color: #C0C4CC;
}
.inputNumberClassS[class-unit] .el-input__inner {
    padding-right:25px;
}
.Entrydraft-all .ppnum{
    width: 40px;
}
.ppnum.el-input-number.is-without-controls .el-input__inner{
    padding: 0;
    margin: 0;
    text-align: center;
}

</style>