<style> @import "../../../assets/css/newTravelManager.css"; .flex { display: flex; } .TC_companyList span, .TC_OtherCompany span { display: inline-block; font-size: 12px; padding: 5px 10px; border: 1px solid #d1d1d1; margin: 5px 10px 0 0; border-radius: 4px; cursor: pointer; } .TC_companyList span:first-child { margin-right: 20px; } .TC_companyList { padding-top: 15px; margin-left: 32px; } .TC_checked { border: 1px solid #d95454 !important; box-sizing: border-box; } .TC_OtherCompany { margin: 0 0 20px 20px; } .TC_customerInfo tbody th { height: 40px; text-align: center; } .TC_firTable td { height: 20px !important; text-align: center !important; } .TC_midTable td { text-align: center !important; } .TC_showUnion { float: right; color: #2aaef2; cursor: pointer; margin-bottom: 10px; } .go_date { font-weight: 700; font-size: 14px; } .TC_Content ._pic_upload .el-upload-dragger { font-size: 28px; color: #8c939d; width: 126px; height: 80px; line-height: 41px; text-align: center; } .TC_Content ._pic_upload>div { float: left; width: 138px; height: 92px; border: 1px dashed rgba(210, 210, 210, 1); border-radius: 2px; cursor: pointer; margin-bottom: 10px; padding: 5px; margin-right: 10px; position: relative; } .TC_Content .avatar-uploader-icon { height: auto; } .TC_HotelPop { overflow: auto; max-height: 650px; } .TC_HotelPop table td { padding: 5px 0; text-align: center; } .TC_HotelPop table th { text-align: center; } .TC_CarNum { padding: 5px 10px; background: #5151f5; color: #fff; font-size: 12px; display: inline-block; border-radius: 5px; } .comSearchDiv .el-checkbox { margin-right: 0; } </style> <template> <div class="TC_Content"> <div class="TC-MyList"> <div class="query-box"> <!--v-if="queryCommonData.IsParentCompany==1"--> <div class="TC_companyList" v-show="IsShowAllBranch()"> <span :class="{ TC_checked: queryCommonData.checkCompanyAll }" @click="getCompanyCheckAll()">{{ $t("advmanager.v_all") }}</span> <span v-for="(item, bindex) in queryCommonData.BranchList" :class="{ TC_checked: item.isShow }" @click="getCompanyCheck(item)" :key="bindex">{{ item.BName }}</span> </div> <ul> <li> <span> <em>{{ $t("system.table_ssLine") }}</em> <el-select class="w150" v-model="queryMsg.LineId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLinePlaceList()"> <el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"></el-option> <el-option v-for="item in queryCommonData.LineList" :label="item.LineName" :value="item.LineID" :key="item.LineID"></el-option> </el-select> </span> </li> <li> <span> <em>{{ $t("Operation.Op_Country") }}/{{ $t("system.query_dest") }}</em> <el-select class="w150" v-model="queryMsg.PlaceID" filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList()"> <el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"></el-option> <el-option v-for="item in queryCommonData.PlaceList" :label="item.PlaceName" :value="item.PlaceID" :key="item.LtID"></el-option> </el-select> </span> </li> <li> <span> <em>{{ $t("active.ad_xlmc") }}</em> <el-select class="w150" v-model="queryMsg.LineteamId" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"></el-option> <el-option v-for="item in queryCommonData.LineTeamList" :label="item.LtName" :value="item.LtID" :key="item.LtID"></el-option> </el-select> </span> </li> <li> <span> <em>{{ $t("visa.v_tuanhao") }}</em> <el-input maxlength="50" v-model="queryMsg.TCNUM" class="permiss-input w150" @keyup.native.enter="getControlList" :placeholder="$t('pub.pleaseImport')"></el-input> </span> </li> <li> <span> <em>{{ $t("hotel.hotel_SerialNumber") }}</em> <el-input maxlength="6" v-model="queryMsg.TCID" class="permiss-input w150" :placeholder="$t('pub.pleaseImport')" @keyup.native="checkInteger(queryMsg, 'TCID')"></el-input> </span> </li> <li> <span> <em>{{ $t("Operation.Op_TeamName") }}</em> <el-input v-model="queryMsg.Title" class="w150" clearable></el-input> </span> </li> <li> <span> <em>{{ $t("scen.sc_ftTime") }}</em> <DateLimit :clearable="false" :StartGroupDate="queryMsg.StartGroupDate" :EndGroupDate="queryMsg.EndGroupDate" @change="(date) => (queryMsg.StartGroupDate = date)"></DateLimit> <el-date-picker class="w150" type="date" v-model="queryMsg.EndGroupDate" :picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker> </span> </li> <li> <span><em>团队类型</em></span> <el-select class="w150" v-model="queryMsg.QTeamType" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" value=""></el-option> <el-option label="常规团" :value="0" :key="0"></el-option> <el-option label="切位团" :value="5" :key="5"></el-option> </el-select> </li> <li class="advancedLi" style="height: 34px"> <el-popover popper-class="advanceQueryList" v-model="queryCommonData.showHigradeSearch" trigger="click"> <div> <div class="TC_queryTitle">{{ $t("visa.v_tkgjcx") }}</div> <div class="clearfix"> <div class="TC_leftSearch"> <div> <span>{{ $t("system.query_airCompanyName") }}</span> <el-select v-model="queryMsg.AirTicketId" filterable :placeholder="$t('system.ph_buxian')" class="w150"> <el-option :label="$t('system.ph_buxian')" :value="queryCommonData.SelectDefaultValue"> </el-option> <el-option v-for="item in queryCommonData.AirlineList" :key="item.AirLineId" :label="item.AlName" :value="item.AirLineId"></el-option> </el-select> </div> <div> <span>{{ $t("visa.v_czuser") }}</span> <el-select class="w150" v-model="queryMsg.CreateBy" filterable :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"> </el-option> <el-option v-for="(item, index) in queryCommonData.EmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="index"></el-option> </el-select> </div> <div> <span>{{ $t("visa.v_xcdays") }}</span> <el-input maxlength="50" v-model="queryMsg.DayNum" @keyup.native="checkInteger(queryMsg, 'DayNum')" class="w150" :placeholder="$t('pub.pleaseImport')"></el-input> </div> <div> <span>{{ $t("visa.v_lycity") }}</span> <el-select class="w150" filterable v-model="queryMsg.UnionCityId" :placeholder="$t('pub.pleaseSel')"> <el-option :label="$t('pub.unlimitedSel')" :value="queryCommonData.SelectDefaultValue"> </el-option> <el-option v-for="item in queryCommonData.CityList" :label="item.Name" :value="item.ID" :key="item.ID"></el-option> </el-select> </div> <div> <span> {{ $t("objFill.chepaihao") }}</span> <el-input maxlength="50" class="w150" v-model="queryMsg.QBusNumber" :placeholder="$t('objFill.qingshurucph')"> </el-input> </div> </div> <div class="TC_rightSearch"> <div> <span>{{ $t("visa.v_teamnum") }}</span> <el-input maxlength="50" class="w80" v-model="queryMsg.TeamMinNum" @keyup.native="checkInteger(queryMsg, 'TeamMinNum')" :placeholder="$t('pub.pleaseImport')"> </el-input> - <el-input maxlength="50" class="w80" v-model="queryMsg.TeamMaxNum" @keyup.native="checkInteger(queryMsg, 'TeamMaxNum')" @blur="checkTeamNum(queryMsg)" :placeholder="$t('pub.pleaseImport')"></el-input> </div> <div> <span>{{ $t("leader.leader_registraNum") }}</span> <el-input maxlength="50" class="w80" v-model="queryMsg.ApplyMinNum" @keyup.native="checkInteger(queryMsg, 'ApplyMinNum')" :placeholder="$t('pub.pleaseImport')"> </el-input> - <el-input maxlength="50" class="w80" v-model="queryMsg.ApplyMaxNum" @keyup.native="checkInteger(queryMsg, 'ApplyMaxNum')" @blur="checkTeamNum(queryMsg)" :placeholder="$t('pub.pleaseImport')"></el-input> </div> <div class="OnlyShowOverTeam"> <span>{{ $t("visa.v_zkbaochaotuan") }}</span> <el-switch v-model="queryMsg.OnlyShowOverTeam" active-value="true" inactive-value="false"> </el-switch> </div> <div> <span>{{ $t("visa.v_salecompany") }}</span> <el-select class="w180 multiple_input" :class="{ SaleBranchList: queryMsg.SaleBranchId == '' }" v-model="queryMsg.SaleBranchId" multiple> <el-option v-for="item in queryCommonData.companyList" :key="item.id" :label="item.bName" :value="item.id"></el-option> </el-select> </div> <div> <span>{{ $t("objFill.tuanduilx") }}</span> <el-select class="w180 multiple_input" :class="{ SaleBranchList: queryMsg.PriceTeamType == '' }" v-model="queryMsg.PriceTeamType" clearable> <el-option v-for="item in TeamListArr" :key="item.Id" :label="item.Name" :value="item.Id"> </el-option> </el-select> </div> </div> </div> <div class="comSearchDiv"> <span>{{ $t("scen.sc_temStatu") }}</span> <span> <el-checkbox v-model="queryCommonData.checkTCStateAll" @change="checkAllTeam"> {{ $t("system.table_chekAll") }}</el-checkbox> <el-checkbox-group v-model="queryMsg.TCState" @change="checkedTeamList"> <el-checkbox v-for="team in $tripUtils.TeamStatesList.TeamStates" :label="team.Id" :key="team.Name">{{ team.Name }}</el-checkbox> </el-checkbox-group> </span> </div> <div class="comSearchDiv"> <span>{{ $t("Airticket.Air_salesPlatform") }}</span> <span> <el-checkbox v-model="queryCommonData.checkPlatForm" @change="checkAllSales"> {{ $t("system.table_chekAll") }}</el-checkbox> <el-checkbox-group v-model="queryMsg.SalePlat" @change="checkSales"> <el-checkbox v-for="sales in $tripUtils.TeamStatesList.salsPlat" :label="sales.Id" :key="sales.Name">{{ sales.Name }}</el-checkbox> </el-checkbox-group> </span> </div> <div class="comSearchDiv"> <span>{{ $t("visa.v_tqstatus") }}</span> <span> <el-checkbox v-model="queryCommonData.checkGroupALL" @change="checkGroupAll"> {{ $t("system.table_chekAll") }}</el-checkbox> <el-checkbox-group v-model="queryMsg.GroupState" @change="checkGroup"> <el-checkbox v-for="state in $tripUtils.TeamStatesList.teamDateStates" :label="state.Id" :key="state.Name">{{ state.Name }}</el-checkbox> </el-checkbox-group> <el-checkbox v-model="queryMsg.IsWarning">{{ $t("Operation.Op_WarningTeam") }}</el-checkbox> </span> </div> <div class="comSearchDiv"> <span>{{ $t("visa.v_hbstatus") }}</span> <span> <el-checkbox-group v-model="queryCommonData.flightCKed" style="margin-left: 0"> <el-checkbox v-for="state in flightStatus" :label="state.Id" :checked="state.Checked" @change="checkedFlight(state)" :key="state.Name">{{ state.Name }}</el-checkbox> </el-checkbox-group> </span> </div> <div class="comSearchDiv"> <span>{{ $t("Operation.Op_TransportState") }}</span> <span> <el-checkbox-group v-model="queryCommonData.IsUnionCked" style="margin-left: 0"> <el-checkbox v-for="state in unionStatus" :label="state.Id" :checked="state.Checked" @change="checkedUnion(state)" :key="state.Name">{{ state.Name }}</el-checkbox> </el-checkbox-group> </span> </div> <div class="comSearchDiv" style="display: flex; align-items: center"> <span style="flex-shrink: 0">{{ $t("objFill.tichengzt") }}</span> <span style="display: flex; align-items: center; flex-wrap: wrap"> <el-select class="w180 multiple_input" v-model="queryMsg.QSendCommissionState"> <el-option v-for="item in QSendCommissionStateList" :label="item.Name" :value="item.ID" :key="item.LineID"></el-option> </el-select> <a style="margin-left: 5px; margin-right: 5px">{{ $t("objFill.zhikanshbh")}}</a> <el-switch v-model="queryMsg.QOutGroupAuditReject" active-text="" inactive-text="" active-color="#409eff" inactive-color="#dcdfe6" active-value="1" inactive-value="0" /> <div style="margin-left: 10px; font-size: 11px" v-if="isCommissionDetails"> <span style="color:#000000;background-color:#ff99cc;padding: 0px 2px;border-radius: 5px;">{{ $t("objFill.danxiang") }}</span> <span style="color:#000000;background-color:#bcd6ee;padding: 0px 4px;border-radius: 5px; ">{{ $t("objFill.guonei") }}</span> <span style="color: #000000;background-color: #dddddd;padding: 0px 4px;border-radius: 5px;">{{ $t("Operation.Op_leaveCountry") }}</span> </div> </span> </div> <button class="normalBtn TC_SearchBtn" @click="resetPageIndex(),getControlList(),(queryCommonData.showHigradeSearch = false)"> {{ $t("pub.searchBtn") }} </button> </div> <span class="advancedQuery" slot="reference">{{ $t("visa.v_gjchaxun") }} <i class="iconfont icon-xiaotuziCduan_1"></i> </span> </el-popover> </li> <li class="advancedLi" style="height: 34px"> <el-popover width="260" v-model="queryCommonData.showWarningSearch" trigger="click"> <div> <div class="TC_queryTitle"> {{ $t("Operation.Op_TeamWarningSearch") }} </div> <div class="clearfix"> <div class="TC_leftSearch"> <div> <span style=" display: inline-block; margin: 0 5px 0 0; width: 50px; text-align: right; ">{{ $t("leader.leader_registraNum") }}</span> <el-select v-model="queryMsg.WarningQuery" filterable :placeholder="$t('system.ph_buxian')" class="w150"> <el-option :label="$t('system.ph_buxian')" value="-1"></el-option> <el-option :label="$t('sm.nobodybaoming')" value="1"></el-option> <el-option :label="$t('sm.tenpx')" value="2"></el-option> <el-option :label="$t('sm.tenps')" value="3"></el-option> <el-option :label="$t('sm.yuweiXiaoyu')" value="4"></el-option> <el-option :label="$t('sm.youHouBu')" value="5"></el-option> </el-select> </div> <div> <span style=" display: inline-block; margin: 0 5px 0 0; width: 50px; text-align: right; ">{{ $t("Operation.Op_daysChoice") }}</span> <el-select v-model="queryMsg.RateOnDay" filterable :placeholder="$t('system.ph_buxian')" class="w150"> <el-option :label="$t('system.ph_buxian')" value="-1"></el-option> <el-option :label="$t('sm.tendayYiNei')" value="1"></el-option> <el-option :label="$t('sm.FitydayYiNei')" value="2"></el-option> <el-option :label="$t('sm.twendayYiNei')" value="3"></el-option> <el-option :label="$t('sm.twendayYiWai')" value="4"></el-option> </el-select> </div> <div> <span style=" display: inline-block; margin: 0 5px 0 0; width: 50px; text-align: right; ">{{ $t("Operation.Op_Attendance") }}</span> <el-select v-model="queryMsg.RateOn" filterable :placeholder="$t('system.ph_buxian')" class="w150"> <el-option :label="$t('system.ph_buxian')" value="-1"></el-option> <el-option label="100%" value="1"></el-option> <el-option :label="$t('sm.buzue')" value="2"></el-option> <el-option :label="$t('sm.buzus')" value="3"></el-option> <el-option :label="$t('sm.buzuf')" value="4"></el-option> </el-select> </div> </div> </div> <button class="normalBtn TC_SearchBtn" @click=" resetPageIndex(), getControlList(), (queryCommonData.showWarningSearch = false) "> {{ $t("pub.searchBtn") }} </button> </div> <span class="advancedQuery" slot="reference">{{ $t("Operation.Op_warningSearch") }} <i class="iconfont icon-xiaotuziCduan_1"></i> </span> </el-popover> </li> <li> <button class="hollowFixedBtn" @click="resetPageIndex(), getControlList()"> {{ $t("pub.searchBtn") }} </button> </li> </ul> </div> <div class="TravelTclList" v-loading="queryCommonData.loading"> <ul> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage" layout="total,prev, pager, next, jumper" :page-size="queryMsg.pageSize" :total="queryMsg.total"> </el-pagination> <li v-for="(item, index) in queryCommonData.dataList" :key="index" :class="{ TC_hasContent: item.OPInnerRemark == '' && item.OPRemark == '' }"> <div class="TC_remarkContent TC_teamName"> <div class="clearfix"> <div class="TCL_remarkTitle" style="width: 105px"> <span style=" font-weight: 100; text-decoration: underline; cursor: pointer; color: #e95252; " v-if="item.ScoreNum >= 0" @click="goInvetig('investigationList', item.TCID, 0)">({{ $t("salesModule.ScoreNUM") }}{{ item.ScoreNum }})</span> {{ $t("Operation.Op_TeamName") }}: </div> <div class="TCL_Content" style="width: 90%"> {{ item.Title }} </div> </div> </div> <div> <div class="el-col" style="position: relative; width: 200px"> <template v-if="item.TeamType == 3"> <div :title="$t('objFill.dijietuan')" class="travel_warningDi"></div> </template> <template v-else> <div v-if="item.IsWarning === 1" :title="$t('objFill.jingjituan')" class="travel_warning" style="display: none"></div> </template> <div> <div class="TC_teamType"> <span v-if="item.IsB2B == 0" :title="$t('objFill.neibutuan')">{{ $t("Operation.Op_nei") }}</span> <span v-if="item.IsUnion == 1 && item.UnionTypeStr == 1" :title="$t('Operation.Op_zhu')" class="MainTeam">{{ $t("Operation.Op_zhu") }}</span> <span v-if="item.IsUnion == 1 && item.UnionTypeStr == 2" :title="$t('Operation.Op_lian')">{{ $t("Operation.Op_lian") }}</span> <span v-if="item.Status == 2" :title="$t('objFill.jietuansj') + item.OutGroupAuditDate">{{ $t("Operation.Op_jietuan") }}</span> <span v-if="item.Status == 5" :title="$t('objFill.jietuanshz')" style="background: rgb(0 128 255)">{{ $t("fnc.a_shezhong") }}</span> <span v-if="item.Status == 1" :title="$t('visaT.sale')">{{ $t("visaT.sale") }}</span> <span v-if="item.IsNewArrival == 1" title="新品上市">新</span> <span v-if="item.GroupRecommendType == 1" :title="$t('objFill.jingping')">{{ $t("objFill.jing") }}</span> <label style="display: inline-block; margin: 5px 0 0 5px; font-size: 12px;color:red;font-weight:bold;">{{ item.TeamTypeName }}</label> <label style="display: inline-block; margin: 5px 0 0 5px; font-size: 12px">{{ item.PriceTeamTypeName }}</label> </div> <div class="TCL-OutBranchName" :title="$t('visa.v_salecompany')"> {{ item.UnionBranchName }} <span v-if="item.BZStatus" :style="{ 'background-color': item.BZStatus == 1 ? '#ff99cc' : item.BZStatus == 2 ? '#bcd6ee' : '#00c6ff', color: '#000000', 'margin-top': '3px', }">{{ item.BZStatus == 1 ? $t("objFill.v101.weibaozhang") : item.BZStatus == 2 ? $t("objFill.v101.yibaozhang") : $t("objFill.v101.baozhangzhong") }}</span> </div> <div class="TCL-TOPTCNUM">({{ item.TCID }}) {{ item.TCNUM }} </div> <div class="d12" style="float: none; margin: 3px auto"> <p> <i class="iconfont icon-biaoti1"></i> {{ item.LineName }} </p> <p class="d12p">{{ item.LtName }}</p> </div> <div class="TC_TravelSalePlat clearfix"> <span class="TC_neibu" v-if="item.TCState == 3" :class="{TCneibu: plat == 3, TCb2b: plat == 1,TCb2c: plat == 2, AppPlat: plat == 4, otherPlat: plat == 5,}" v-for="plat in item.SalePlatList" :key="plat.subCode">{{ $tripUtils.getPlatName(plat) }}</span> <span class="TC_xiajia daiwanshan" v-if="item.TCState == 1">{{ $t("visa.v_dwanshan") }}</span> <span class="TC_xiajia" v-if="item.TCState == 2">{{ $t("visa.v_yxiajia") }}</span> <span class="TC_xiajia quxiao" v-if="item.TCState == 4">{{ $t("hotel.hotel_HasBeenCancelled") }}</span> <span class="TC_xiajia daiwanshan" v-if=" item.Config_OfferId > 0 &&item.Config_OfferStatus && item.TCState == 1"> {{ item.Config_OfferStatus }} </span> </div> <div class="TC_TravelSalePlat clearfix" v-if="item.Royalty" style="display: flex; flex-wrap: wrap; align-items: baseline"> <span class="TC_neibu" style="color: red; font-size: 11px; line-height: 25px">{{ item.Royalty ? item.Royalty.Periods : "" }} {{ $t("objFill.qi") }}</span> <span style="cursor: pointer" v-for="(x,ryIndex) in item.Royalty.List" :key="`d_`+index+`_rl_`+ryIndex" @click="goRoyaltyUrl(item, item.Royalty, x)" class="TC_neibu" :style="{ 'background-color': item.Royalty.Type == 1 ? '#ff99cc' : item.Royalty.Type == 2 ? '#bcd6ee' : '#DDDDDD', color: '#000000','margin-top': '3px',}"> {{ x.UserName }}<span>¥{{ x.CommissionMoney }}</span> </span> </div> <div class="TC_TravelSalePlat clearfix"> <div class="TC_CarNum" v-if="item.IsUseCompanyBus == 1 && item.BusPriceId"> {{ $t("objFill.chepaihao") }} <span style=" display: inline-block; margin: 0 5px; position: relative; top: -3px;">.</span>{{ item.BusNumber }} </div> </div> <div v-if="item.CustomerName && item.CustomerName != ''" class="TC_TravelSalePlat clearfix" style="font-size: 11px; font-weight: bold; color: red"> <span v-if="item.CustomerName">{{ $t("fnc.khmingcheng") }}:{{ item.CustomerName }} </span> </div> </div> </div> <div class="el-col" style="width: 200px"> <div class="d2"> <p class="TCLflight_GO"> <i class="iconfont icon-hangban1"></i>{{ $t("visa.v_hangban") }} </p> <el-popover width="900" trigger="click" popper-class="TC_tripDetails"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="_color_666" style="text-align: center"> <th width="60">{{ $t("Airticket.Air_segment") }}</th> <th width="80">{{ $t("system.query_flightNum") }}</th> <th width="150">{{ $t("system.ph_flightTime") }}</th> <th width="80">{{ $t("system.query_arrivalTime") }}</th> <th width="100">{{ $t("system.query_stopCity") }}</th> </tr> <tr v-for="(fItem, fIndex) in item.flightList" :key="fIndex" style="text-align: center"> <td class="_d_name _color_666"> <span v-if="fIndex == 0">{{ $t("Airticket.Air_go") }}</span> <span v-else-if="fIndex == item.flightList.length - 1">{{ $t("Airticket.Air_returnTrip") }}</span> <span v-else-if="fIndex > 0 && fIndex != item.flightList.length - 1">{{ $t("Airticket.Air_transit") }}</span> </td> <td> <div>{{ fItem.Flight_number }}</div> <div style="margin-top: 5px">{{ fItem.AlName }}</div> </td> <td> <div>{{ fItem.FlightDate }} {{ fItem.Departure_time }}</div> <div style="margin-top: 5px"> <span v-if="fItem.DIATA">({{ fItem.DIATA }})</span> {{ fItem.dName }} </div> </td> <td> <div> {{ fItem.FlightArrivalTime }} {{ fItem.Arrival_time }} </div> <div style="margin-top: 5px"> <span v-if="fItem.AIATA">({{ fItem.AIATA }})</span> {{ fItem.aName }} </div> </td> <td> <template v-if="fItem.StopoverIATA">({{ fItem.StopoverIATA }})</template>{{ fItem.StopoverName }} </td> </tr> </table> <div class="FlightDiv-TCL" slot="reference"> <template v-if="item.UseFlightType == 0"> <div v-for="subItem in item.flightList" slot="reference" :key="subItem.subCode" class="TCL-flighInfoList"> <span class="travelnowrap"> <span class="TCL-FlightNumber">{{ subItem.Flight_number }}</span> <span><template v-if="subItem.DIATA">({{ subItem.DIATA }})</template> <template v-else>({{ subItem.dName }})</template></span> {{ subItem.DepartureName }} {{ subItem.StopoverName == "" ? "" : "-(" + subItem.StopoverIATA + ")" + subItem.StopoverName }} <template v-if="subItem.ArrivalCityName"> <span v-if="subItem.AIATA"> -({{ subItem.AIATA }}) </span> <span v-else>-</span> {{ subItem.ArrivalCityName }} <template v-if="!subItem.DIATA">({{ subItem.aName }})</template> </template> <span v-if="subItem.FlightState == 1" class="TCL-greenType">【OK】</span> <span v-else class="TCL-redType">【{{ $t("visa.v_zanding") }}】</span> </span> </div> </template> <template v-else> <div v-for="subItem in item.flightList" slot="reference" :key="subItem.subCode" class="TCL-flighInfoList"> <span class="travelnowrap"> <span class="TCL-FlightNumber">{{ subItem.Flight_number }}</span> {{ subItem.aName }} {{ subItem.Departure_time }} - {{ subItem.dName }} {{ subItem.Arrival_time }} <span v-if="subItem.FlightState == 1" class="TCL-greenType">【OK】</span> <span v-else class="TCL-redType">【{{ $t("visa.v_zanding") }}】</span> </span> </div> </template> </div> </el-popover> </div> </div> <div class="el-col" style="width: 220px"> <div class="d3"> <p><i class="iconfont icon-tuandui"></i>{{ $t("visa.v_teaminfo") }}</p> <p> <em>{{ item.DayNum }}{{ $t("hotel.hotel_day") }}{{ item.NightNum }}{{ $t("Operation.Op_night") }}</em> </p> <p class="travelnowrap"> <span>{{ $t("Airticket.Air_StartTime") }}</span> <span class="go_date">{{ item.StartDate }}(<font style="color:red;font-weight:bold;"> {{item.StartDateWeekStr}}</font>)</span> <template v-if="item.RelationPriceList && item.RelationPriceList.length > 0"> <el-tooltip class="item" effect="dark" :content="$t('objFill.xilietdate')"> <el-popover width="350" trigger="click" popper-class="TC_HotelPop"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="width: 100px"> {{ $t("Airticket.Air_StartTime") }} </td> <td style="width: 250px">{{ $t("visa.v_tuanhao") }}</td> </tr> <tr v-for="(rItem, rIndex) in item.RelationPriceList" :key="`d_`+index+`_r_`+rIndex"> <td> {{ rItem.StartDate }} </td> <td> ({{ rItem.TCID }}){{ rItem.TCNUM }}[{{ rItem.TCState }}] </td> </tr> </table> <el-button slot="reference" circle size="mini" type="primary" style="width: 20px; height: 20px; padding: 4px"> {{ item.RelationPriceList.length }} </el-button> </el-popover> </el-tooltip> </template> </p> <p class="travelnowrap flex" v-if="item.OfferShouPeiFee > 0"> <span>{{ $t("objFill.handpartscharge") }}</span> <span class="go_date"> {{ item.OfferShouPeiFee }} ({{ item.OfferPayTypeStr }}) </span> </p> <p class="travelnowrap flex" v-if="item.OfferJPYSalePrice > 0"> <span>{{ $t("objFill.soujia") }}</span> <span class="go_date"> {{ item.OfferJPYSalePrice }} ({{ item.SaleOfferPayTypeStr }}) </span> </p> <p class="travelnowrap flex" v-if="item.OfferRebatePrice > 0"> <span>{{ $t("objFill.huiyong") }}</span> <span class="go_date"> {{ item.OfferRebatePrice }} </span> </p> <p class="travelnowrap"> <span>{{ $t("Operation.Op_teamNotice") }}</span> {{ item.OutNotice == 1 ? "OK" : $t("visa.v_zanding") }} </p> <p class="travelnowrap"> <span>{{ $t("scen.sc_cp") }}</span> {{ item.OutBranchName }} <span class="TC_neibu" style="float: inherit; margin-left: 5px; color: #ffffff" v-if="item.StandardCurrencyName" :class="{ TCneibu: item.StandardCurrencyName == '人民币', TCb2b: item.StandardCurrencyName == '日元', TCb2c: item.StandardCurrencyName == '新台币', AppPlat: item.StandardCurrencyName == '', otherPlat: item.StandardCurrencyName == '', }">{{ item.StandardCurrencyName }}{{ $t("objFill.jiesuan") }}</span> </p> <p class="travelnowrap" v-if="item.IsSetOut == 0"> <span style="color: blue">{{ $t("objFill.zhengchangft") }}</span> </p> <p class="travelnowrap" v-if="item.IsSetOut == 1"> <span style="color: red">{{ $t("objFill.quxiaofatuan") }}</span> </p> <p class="travelnowrap" v-if="item.AgentId > 0"> <span style="color: red">{{ item.AgencyName }}</span> </p> <p class="travelnowrap" v-if="item.WordPath != ''"> <a style="cursor: pointer" :href="domainManager().ViittoFileUrl + item.WordPath">{{ $t("Operation.Op_downLoadword") }}</a> </p> <p class="travelnowrap" v-if="item.FenFangUrl != ''"> <a style="cursor: pointer; color: blue" :title="$t('objFill.v101.dmc.dianjscffwj')" v-if="item.FenFangUrl && item.FenFangUrl != ''" :href="item.FenFangUrl">{{ $t("op.FFBDowmLoad") }}</a> </p> <p class="travelnowrap" v-if="item.ClearOrderHour > 0"> <span>{{ $t("salesModule.THQW") }}</span> <span class="TCL-greenType">{{ item.ClearOrderHour }}{{ $t("salesModule.Hour") }}</span> </p> <p class="travelnowrap" v-if="item.SaleClearOrderHour > 0"> <span>{{ $t("salesModule.XSQW") }}</span> <span class="TCL-greenType">{{ item.SaleClearOrderHour }}{{ $t("salesModule.Hour") }}</span> </p> <p class="travelnowrap" v-if=" (item.LineID == 14 || item.LineID == 90 || item.LineID == 168 || item.LineID == 118) && item.HotelOrderListReports && item.HotelOrderListReports.length > 0 "> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.dianjckjdyudxq')" placement="top-start"> <el-popover width="980" trigger="click" popper-class="TC_HotelPop"> <commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj" :TCID="item.TCID" :DMCNum="item.DMCNum" :TCNUM="item.TCNUM" @SetShouPeiShu="SetShouPeiShu(item.TCID, item.ShouPeiStatus)"></commonHotelInfo> <span slot="reference" style="cursor: pointer; text-decoration: underline">{{ $t("salesModule.HotelOrder") }} <font style="color: #e95252; text-decoration: none"> op{{ item.OpSureHouse == 2 ? $t("hotel.hotel_haveBeenConfirmed") : $t("ground.weiqueren") }}{{ $t("op.Fenfang") }} </font> </span> </el-popover> </el-tooltip> </p> <p class="travelnowrap" v-if=" (item.LineID == 14 || item.LineID == 90 || item.LineID == 168 || item.LineID == 118) && item.DiningList && item.DiningList.length > 0 "> <el-tooltip class="item" effect="dark" :content="$t('objFill.v101.dianjckctyudxq')" placement="top-start"> <el-popover width="980" trigger="click" popper-class="TC_HotelPop"> <commonDinnerInfo :DiningObj="item.DiningList" :showHotelObj="showHotelObj" :TCID="item.TCID" :DMCNum="item.DMCNum" :TCNUM="item.TCNUM"></commonDinnerInfo> <span slot="reference" style="cursor: pointer; text-decoration: underline">{{ $t("objFill.v101.cantyudqk") }}</span> </el-popover> </el-tooltip> </p> <p v-if=" (item.LineID == 14 || item.LineID == 118) && item.BusOrderList && item.BusOrderList.length > 0 "> <el-popover width="980" trigger="click" popper-class="TC_HotelPop"> <commonBusInfo :busData="item.BusOrderList" :TCID="item.TCID" :DMCNum="item.DMCNum" :TCNUM="item.TCNUM"> </commonBusInfo> <div slot="reference"> <span class="price" style="cursor: pointer; text-decoration: underline">{{ $t("objFill.v101.dingcheqk") }}</span> </div> </el-popover> </p> <p class="travelnowrap" v-if=" (item.LineID == 14 || item.LineID == 90 || item.LineID == 168 || item.LineID == 118) && item.IsOpenHotel == 1 "> <span style="color: red; font-weight: bold">※ {{ $t("op.DJyiguanbi") }}.</span> </p> </div> </div> <div class="el-col" style="width: 190px"> <div class="d4"> <p> <i class="iconfont icon-jiage"></i>{{ $t("Operation.Op_PriceInfo") }} </p> <p class="travelprice"> {{ $t("Operation.Op_tradePrice") }}:¥{{ item.B2BPrice | priceFormat(item.B2BPrice) }} </p> <p class="travelprice"> {{ $t("Operation.Op_directPrice") }}:¥{{ item.B2CPrice | priceFormat(item.B2CPrice) }} </p> <p> <el-popover width="700" trigger="click" popper-class="TC_customerInfo"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td rowspan="3" style="text-align: center" width="60"> <i>{{ $t("Operation.Op_standard") }}</i> </td> <!-- <td class="TC_cusTitle"> {{ $t("Operation.Op_fellowMember") }} </td> <td> <b>{{ item.B2BMemberPrice | priceFormat(item.B2BMemberPrice) }}</b> </td> --> <td class="TC_cusTitle">{{ $t("Operation.Op_fellow") }}</td> <td> <b>{{ item.B2BPrice | priceFormat(item.B2BPrice) }}</b> </td> <!-- <td class="TC_cusTitle"> {{ $t("Operation.Op_directMember") }} </td> <td> <b>{{ item.B2CMemberPrice | priceFormat(item.B2CMemberPrice) }}</b> </td> --> <td class="TC_cusTitle">{{ $t("Operation.Op_direct") }}</td> <td> <b>{{ item.B2CPrice | priceFormat(item.B2CPrice) }}</b> </td> </tr> <tr> <td class="TC_cusTitle">{{ $t("Operation.Op_baby") }}</td> <td> <b>{{ item.BabyPrice | priceFormat(item.BabyPrice) }}</b> </td> <td class="TC_cusTitle"> {{ $t("Operation.Op_spickupPrice") }} </td> <td> <b>{{ item.SingleDMCPrice | priceFormat(item.SingleDMCPrice) }}</b> </td> <td class="TC_cusTitle"> {{ $t("salesModule.SingleAirticket") }} </td> <td> <b>{{ item.AirticketMoney | priceFormat(item.AirticketMoney) }}</b> </td> <td class="TC_cusTitle">{{ $t("op.RTXF") }}</td> <td> <b>{{ item.TipAmount | priceFormat(item.TipAmount) }}</b> </td> </tr> <tr> <td style="text-align: right"> {{ $t("objFill.feizgdlhzbj") }} </td> <td colspan="6"> <b>{{ item.ForeignPassportPrice }}</b> </td> </tr> <tr> <td rowspan="2" style="text-align: center"> <i>{{ $t("Operation.Op_Income") }}</i> </td> <td class="TC_cusTitle">{{ $t("Operation.Op_childBed") }}</td> <td> <b>{{ item.ChildNeedPrice | priceFormat(item.ChildNeedPrice) }}</b> </td> <td class="TC_cusTitle"> {{ $t("Operation.Op_childSurcharge") }} </td> <td> <b>{{ item.BabyChargePrice | priceFormat(item.BabyChargePrice) }}</b> </td> <td class="TC_cusTitle"> {{ $t("Operation.Op_oldmanSurcharge") }} </td> <td> <b>{{ item.OldManChargePrice | priceFormat(item.OldManChargePrice) }}</b> </td> <!-- <td class="TC_cusTitle">{{ $t("Operation.Op_visaPrice") }}</td> <td> <b>{{ item.VisaPrice | priceFormat(item.VisaPrice) }}</b> </td> --> </tr> <tr> <td class="TC_cusTitle"> {{ $t("Operation.Op_singleRoomcha") }} </td> <td> <b>{{ item.SingleRoomPrice | priceFormat(item.SingleRoomPrice) }}</b> </td> <!-- <td class="TC_cusTitle">{{ $t("Operation.Op_insurance") }}</td> <td> <b>{{ item.SafeMoney | priceFormat(item.SafeMoney) }}</b> </td> --> <td class="TC_cusTitle">{{ $t("Operation.Op_zafei") }}</td> <td colspan="3"> <b>{{ item.OtherPrice | priceFormat(item.OtherPrice) }}</b> </td> </tr> <tr> <td style="text-align: center"> <i>{{ $t("Operation.Op_jianmian") }}</i> </td> <td class="TC_cusTitle">{{ $t("Operation.Op_childNobed") }}</td> <td> <b>{{ item.ChildNoNeedPrice | priceFormat(item.ChildNoNeedPrice) }}</b> </td> <td class="TC_cusTitle"> {{ $t("Operation.Op_visafeeBack") }} </td> <td colspan="6"> <b>{{ item.BackVisaPrice | priceFormat(item.BackVisaPrice) }}</b> </td> </tr> </table> <span slot="reference" class="price">{{ $t("Operation.Op_priceDetail") }}</span> </el-popover> </p> <p style="color: red; margin: 10px 0 10px 0; font-size: 12px"> {{ $t("op.TodayClicks") }}:{{ item.TodayClickCount }} </p> <p style="color: red; font-size: 12px"> {{ $t("op.TotalClicks") }}:{{ item.TotalClickCount }} </p> <p v-if="item.OfferUrlExtArray && item.OfferUrlExtArray.length > 0" style="margin-top: 5px; font-size: 13px"> <span>{{ $t("ground.bjd") }}</span> <span> <template v-for="(subItem, subIndex) in item.OfferUrlExtArray"> <el-tooltip :key="subIndex" class="item" effect="dark" :content="$t('objFill.dianjixzbjd')" placement="top"> <a :key="subIndex + 10000" style=" color: blue; cursor: pointer; text-decoration: underline; " :href="subItem.Url" v-if="subItem.Url" target="_blank" :download="subItem.Name">{{ subItem.Name }}</a> </el-tooltip> <template v-if=" item.OfferUrlExtArray.length > 1 && subIndex < item.OfferUrlExtArray.length "> <br :key="subIndex + 1000" /> </template> </template> </span> </p> <p v-else-if="item.PriceOfferUrl && item.PriceOfferUrl != ''" style="margin-top: 5px; font-size: 13px"> <span>{{ $t("ground.bjd") }}</span> <span> <el-tooltip class="item" effect="dark" :content="$t('objFill.dianjixzbjd')" placement="top"> <a :href="item.PriceOfferUrl" style="color: blue; cursor: pointer; text-decoration: underline" v-if="item.PriceOfferUrl" target="_blank">{{ $t("objFill.xiazhaibjd") }}</a> </el-tooltip> </span> </p> <p v-if="item.Config_OfferId && item.Config_OfferId > 0" style="margin-top: 5px; font-size: 13px"> <span style="cursor: pointer; text-decoration: underline; color: blue" @click="showDialog(item.ID, item.Config_OfferId)">{{ $t("objFill.baojiaxiangqing") }}</span> </p> <p v-if="item.Config_OfferId == 0" style="margin-top: 5px; font-size: 13px"> <span style="cursor: pointer; text-decoration: underline; color: red" @click="NewCopyPriceSheet(item, 0)">{{ $t("objFill.xingzbjd") }}</span> <span style="cursor: pointer; text-decoration: underline; color: red" @click="NewCopyPriceSheet(item, 1)">{{ $t("objFill.fuzhibjd") }}</span> </p> </div> </div> <div class="el-col" style="width: 150px"> <div class="d5"> <p> <i class="iconfont icon-tuanwei"></i>{{ $t("visa.v_tuanweiinfo") }} </p> <p> <span>{{ $t("visa.v_currentseat") }}</span> <i>{{ (item.SurplusSeat = item.SurplusSeat < 0 ? 0 : item.SurplusSeat) }}</i> </p> <p> <span>{{ $t("visa.v_yibaoru") }}</span> <i> {{ item.OrderGuestNum }} <span class="TCL-redType" v-if="item.OrderLeaderGuestNum >= 1">+{{ item.OrderLeaderGuestNum }}</span>{{ $t("Operation.Op_people") }} </i> </p> <p v-if="item.SingleDMNum > 0"> <span>{{ $t("salesModule.SingleJ") }}</span> <i>{{ item.SingleDMNum }}</i> </p> <p> <span>{{ $t("Operation.Op_takeSeat") }}</span> <i>{{ item.Occupied }}</i>{{ $t("Operation.Op_people") }} </p> <p class="travelnowrap"> <span>{{ $t("visa.v_houbu") }}</span> <span v-if="item.IsSubstitution == 1" class="TCL-greenType">{{ $t("visa.v_yxhoubu") }}({{ $t("visa.v_houbu") }}{{ item.HBNum }}{{ $t("Operation.Op_people") }})</span> <span v-else class="TCL-redType">{{ $t("visa.v_byxhoubu") }}</span> </p> <p> <span>{{ $t("leader.leader_Leader") }}</span> <span v-if="item.LeaderName" class="TCL-greenType">{{ item.LeaderName }}</span> <span v-else class="TCL-redType" style="cursor:pointer;text-decoration: underline;" @click="setLeaderOrGuide(item,0)"> {{ $t("ground.szlindui") }} </span> </p> <p> <span>{{ $t("leader.leader_Guide") }}</span> <span v-if="item.GuideName" class="TCL-greenType">{{ item.GuideName }}</span> <span v-else class="TCL-redType" style="cursor:pointer;text-decoration: underline;" @click="setLeaderOrGuide(item,1)">{{$t('objFill.v101.shezhidaoy')}}</span> </p> </div> </div> <div class="el-col" style="width: 130px"> <div class="d5 TC-oparation"> <p> <i class="iconfont icon-yuangong"></i>{{ $t("Operation.Op_caozuoop") }} </p> <div class="clearfix TC-OpInfo"> <div class="TC-leftIMG"> <img v-if="item.OPPhoto" :src="item.OPPhoto" alt /> <img v-else src="../../../assets/img/default_head_img.jpg" alt /> </div> <div class="TC-OPName">{{ item.OPName }}</div> </div> <template v-if="item.AssistantList && item.AssistantList.length > 0"> <div class="TC_SeatList" style="word-break: break-all; word-wrap: break-word; width: 90%"> {{ $t("objFill.zhuli") }} OP: <template v-for="(subItem, subIndex) in item.AssistantList"> <font :key="subIndex" style="padding-right: 3px">{{ subItem }}</font> </template> </div> </template> <div class="TC_SeatList"> {{ $t("Airticket.Air_firstClass") }}:{{ item.FSeat }} </div> <div class="TC_SeatList"> {{ $t("Airticket.Air_businessClass") }}:{{ item.CSeat }} </div> <div class="TC_SeatList"> {{ $t("Airticket.Air_EconomyClass") }}:{{ item.YSeat }} </div> <div class="TC_SeatList" v-if="item.BindNum > 0" style="color: red"> {{ $t("Operation.Op_bindNum") }}: {{ item.BindNum }} </div> <div class="TC_SeatList" v-if="item.TicketNum > 0 && item.TicketList"> <el-popover width="550" trigger="click"> <table width="100%" class="singeRowTable" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="90" style="text-align: center"> {{ $t("Operation.Op_bindNum") }} </th> <th width="90" style="text-align: center"> {{ $t("op.TicketNum") }} </th> <th width="70" style="text-align: center"> {{ $t("Operation.Op_price") }} </th> <th width="70" style="text-align: center"> {{ $t("Operation.Op_tradePrice") }} </th> <th width="70" style="text-align: center"> {{ $t("Operation.Op_directPrice") }} </th> <th width="130" style="text-align: center">PNR</th> <th width="130" style="text-align: center"> {{ $t("op.CenterPNR") }} </th> <th width="100" style="text-align: center"> {{ $t("op.Tickets") }} </th> </tr> <tr v-for="(subItem, subIndex) in item.TicketList" :key="subIndex"> <td style="text-align: center">{{ subItem.BindNum }}</td> <td style="text-align: center">{{ subItem.TicketNum }}</td> <td style="text-align: center">{{ subItem.TicketPrice }}</td> <td style="text-align: center">{{ subItem.B2BPrice }}</td> <td style="text-align: center">{{ subItem.B2CPrice }}</td> <td style="text-align: center">{{ subItem.PNR }}</td> <td style="text-align: center">{{ subItem.MidpiecePNR }}</td> <td style="text-align: center"> {{ subItem.TicketCreateByName }} </td> </tr> </table> <span slot="reference" :title="$t('objFill.dianjickxq')" class="price" style="cursor: pointer; color: red; text-decoration: underline">{{ $t("op.FlightToNum") }}: {{ item.TicketNum }}</span> </el-popover> </div> <div class="TC_SeatList" v-if="CurrentUserInfo.RB_Group_id == 2 || IsSanKeTicket"> <template v-if="item.CanSellTicketNum > 0"> <span style="color: rgb(71, 191, 140)">{{ $t("objFill.kesouskjp") }} <span style="color: red; font-size: 14px; font-weight: 700">{{ item.CanSellTicketNum }}</span> {{ $t("objFill.zhang") }} </span> <a @click="closeAirticket(item.TCID)" :title="$t('objFill.dianjigbksjp')" style="cursor: pointer; color: red; text-decoration: underline">{{ $t("pub.closeSel") }}</a> </template> <template v-if="item.CanSellTicketNum == 0"> <span style="color: red">{{ $t("objFill.yiguanbskjp") }}</span> <el-popover width="300" trigger="click" popper-class="TC_customerInfo"> <table> <tr> <td style="width: 100px;text-align: right;height: 30px;line-height: 30px;"> {{ $t("objFill.kesoujpsl") }}: </td> <td style="text-align: left; height: 30px; line-height: 30px"> <el-input type="text" style="width: 100px; padding-left: 5px" v-model="updateAirticketObj.CanSellTicketNum" maxlength="1" @keyup.native=" checkInteger(updateAirticketObj, 'CanSellTicketNum') "></el-input> </td> </tr> <tr> <td colspan="2" style="text-align: center; height: 10px; line-height: 10px"></td> </tr> <tr> <td colspan="2" style="text-align: center"> <input type="button" class="normalBtn" :value="$t('pub.saveBtn')" @click="openAirticket()" /> </td> </tr> </table> <a slot="reference" :title="$t('objFill.dianjikqksjp')" @click="clickAirticket(item)" style=" cursor: pointer; color: rgb(71, 191, 140); text-decoration: underline; ">{{ $t("pub.openSel") }}</a> </el-popover> </template> </div> </div> </div> <div class="el-col" style="width: 200px"> <div class="d3"> <p> <i class="iconfont icon-wenxintishi"></i>{{ $t("Operation.Op_Warmprompt") }} </p> <p> <span>{{ $t("active.cl_qianzheng") }} OP</span> <span class="TCL-redType"> {{ item.VisaOPName }}</span> </p> <template v-if="item.VisaAssistantList && item.VisaAssistantList.length > 0"> <p> <span>{{ $t("objFill.v101.myOrdersAllType.qianzhnegzli") }} OP</span> <template v-for="(subItem, subIndex) in item.VisaAssistantList"> <span :key="subIndex" style="padding-right: 3px">{{ subItem }}</span> </template> </p> </template> <p v-if="item.VisaType"> <span>{{ $t("visa.v_visaType") }}</span> <span v-if="item.VisaType == 1">{{ $t("visa.v_gvisa") }}</span> <span v-else-if="item.VisaType == 2">{{ $t("visa.v_tvisa") }}</span> </p> <p> <span>{{ $t("visa.v_sqtime") }}</span> <span class="TCL-redType"> {{ item.SendVisaTime }}</span> </p> <p> <span>{{ $t("visa.v_cqtime") }}</span> {{ item.OutVisaTime }} </p> <p> <span>{{ $t("visa.v_kptime") }}</span> {{ item.TicketDeadline }} </p> <p> <span> {{ $t("objFill.jietuanriqi") }}</span> {{ item.OutGroupAuditDate }} </p> <p v-if="item.LineID == 2 && item.EuropeVisaType > 0"> <span> <span v-if="item.EuropeVisaType">{{ $t("visa.v_EuropeanVisaType") }}</span> <span v-if="item.EuropeVisaType == 1">{{ $t("visa.v_britishVisa") }}</span> <span v-else-if="item.EuropeVisaType == 2">{{ $t("sm.shenggenVisa") }}</span> </span> </p> <p v-if=" item.LineID == 2 && item.EuropeVisaType > 0 && item.EuropeVisaType == 2 "> <span> <span v-if="item.EuropeVisaName">{{ $t("visa.v_EuropeanVisaName") }}</span> <span>{{ item.EuropeVisaName }}</span> </span> </p> <p v-if="item.VisaFileList.length !== 0"> <span>{{ $t("visa.v_visaInformation") }}</span> </p> <p v-if="item.VisaFileList.length !== 0" v-for="(item2, index2) in item.VisaFileList" :key="index2"> <span style="cursor: pointer; text-decoration: underline" @click="downloadFile(item2)">{{ item2.Name }}</span> </p> <p> <span>{{ $t("visa.v_gvisa") }}</span> {{ item.SignVisaNum }} <span style="margin-left: 10px">{{ $t("visa.v_tvisa") }}</span> {{ item.GroupVisaNum }} </p> <p> <span>{{ $t("salesModule.TicketStatus") }}:</span> <span class="fz16 fbold"> <el-tooltip class="item" effect="dark" :content="$t('salesModule.AllTk')" placement="top"> <span style="color: #4bca81" v-if="item.MakeInvoice == 1">√</span> </el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('salesModule.NotDeal')" placement="top"> <span style="color: #e95252" v-if="item.MakeInvoice == '-1'">x</span> </el-tooltip> <el-tooltip class="item" effect="dark" :content="$t('salesModule.YCZD')" placement="top"> <span style="color: #e95252" v-if="item.MakeInvoice == '0'">O</span> </el-tooltip> </span> </p> </div> </div> <div class="el-col"> <div class="d7"> <el-button @click.native="goUrl('RegistrationList', item.TCID, '报名清单')" type="primary" style="background: #00c6ff; border-color: #00c6ff">{{ $t("Operation.Op_registrationList") }} </el-button> <template v-if="IsModifyTravelControl == 1"> <el-dropdown trigger="click" style="margin-bottom: 5px"> <span class="el-dropdown-link">{{ $t("pub.updateMsg") }} <i class="el-icon-arrow-down el-icon--right"></i> </span> <el-dropdown-menu slot="dropdown" class="TC-dropdown"> <template v-if=" item.RelationPriceList && item.RelationPriceList.length > 0 "> <el-dropdown-item @click.native=" goToOpenTravel('TravelManager', item.ID, 0, item) "> {{ $t("objFill.xilietxbm") }} </el-dropdown-item> </template> <el-dropdown-item @click.native=" goTonowTeam( 'TravelManager', item.ID, item.TCID, item.TCNUM, item ) "> {{ $t("objFill.dangtuanxbm") }} </el-dropdown-item> </el-dropdown-menu> </el-dropdown> </template> <el-button v-if="CurrentUserInfo.RB_Group_id == 2" @click=" goUrlMake('GroupAdvertising', item.LineID, item.TCID, '团期广告') " type="primary" style="background: #67c23a; border-color: #67c23a"> {{ $t("Operation.Op_advertising") }} {{ item.AdvertCount }} </el-button> <template v-if="item.LineID == 14 || item.LineID == 118"> <el-tooltip v-if="item.IsPush == 0" class="item" effect="dark" placement="top" :content="$t('objFill.v101.dingftuis')"> <el-button @click.native="PushMessage(item)" type="primary" style="background: #00c6ff; border-color: #00c6ff">{{ $t("objFill.v101.dingftuis") }} </el-button> </el-tooltip> <el-tooltip v-else-if="item.IsPush == 1" class="item" effect="dark" placement="top"> <div slot="content"> <div v-html="TipsContent(item, 1)"></div> </div> <el-button @click.native="PushMessage(item)" type="primary" style="background: red !important"> {{ $t("objFill.v101.yituisdinf") }} </el-button> </el-tooltip> <el-tooltip v-else-if="item.IsPush == 2" class="item" effect="dark" :content="item.HotelPushDate" placement="top"> <div slot="content"> <div v-html="TipsContent(item, 1)"></div> </div> <el-button @click.native="PushMessage(item)" type="primary" style="background: #00c6ff; border-color: #00c6ff">{{ $t("objFill.v101.tuisdiinf") }} </el-button> </el-tooltip> </template> <template v-if="item.LineID == 14 || item.LineID == 118"> <el-tooltip v-if="item.CarIsPush == 0" class="item" effect="dark" placement="top" :content="$t('objFill.v101.dinchetuis')"> <el-button @click.native="PushBusMessage(item)" type="primary" style="background: #00c6ff; border-color: #00c6ff">{{ $t("objFill.v101.dinchetuis") }} </el-button> </el-tooltip> <!-- content="点击取消推送" --> <el-tooltip v-else-if="item.CarIsPush == 1" class="item" effect="dark" :content="item.CarPushDate" placement="top"> <div slot="content"> <div v-html="TipsContent(item, 2)"></div> </div> <el-button @click.native="PushBusMessage(item)" type="primary" style="background: red !important"> {{ $t("objFill.v101.yituisdche") }} </el-button> </el-tooltip> <el-tooltip v-else-if="item.CarIsPush == 2" class="item" effect="dark" placement="top"> <div slot="content"> <div v-html="TipsContent(item, 2)"></div> </div> <el-button @click.native="PushBusMessage(item)" type="primary" style="background: #00c6ff; border-color: #00c6ff">{{ $t("objFill.v101.dinchetuis") }} </el-button> </el-tooltip> </template> <el-button @click="ckOPremark(item)" type="primary" style="background: #f16c3c; border-color: #f16c3c"> {{ $t("Operation.Op_remark") }} </el-button> <el-dropdown trigger="click"> <span class="el-dropdown-link">{{ $t("Operation.Op_moreOperation") }} <i class="el-icon-arrow-down el-icon--right"></i> </span> <el-dropdown-menu slot="dropdown" class="TC-dropdown"> <el-dropdown-item @click.native="SetGroupRecommendType(item, 1)" v-if=" item.b2b && item.GroupRecommendType == 0 && CurrentUserInfo.RB_Group_id == 2 "> {{ $t("op.Setjingpin") }} </el-dropdown-item> <el-dropdown-item @click.native="SetGroupRecommendType(item, 0)" v-if=" item.b2b && item.GroupRecommendType == 1 && CurrentUserInfo.RB_Group_id == 2 "> {{ $t("op.CancelSetjp") }} </el-dropdown-item> <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id == 2 || TeamShouZhi" @click.native="goTeamBalance(item.TCID, item.OutBranchId)"> {{ $t("Operation.Op_shouzhiDetail") }} </el-dropdown-item> <el-dropdown-item @click.native="goUrlR(item)"> {{ $t("Operation.Op_tripDownLoad") }}</el-dropdown-item> <el-dropdown-item @click.native="removeTeamInfo(item.TCID)">{{ $t("system.table_delete") }} </el-dropdown-item> <el-dropdown-item v-if="item.TCState == 2 || item.TCState == 0 || item.TCState == 1" @click.native="setUpPlat(item,3)">{{ $t("Operation.Op_shangjia") }} </el-dropdown-item> <el-dropdown-item v-if="item.TCState == 3" @click.native="setUpPlat(item,0)"> {{ $t("objFill.xiugaisjpt") }} </el-dropdown-item> <el-dropdown-item v-if="item.TCState == 3" @click.native="Setshelves(item.TCID)"> {{ $t("Operation.Op_xiajia") }} </el-dropdown-item> <!--酒店下架--> <el-dropdown-item v-if=" item.LineID == 14 && (CurrentUserInfo.RB_Group_id == 2 || OutHotel) " @click.native="RemoveHotelJourneyOrder(item.TCID)"> {{ $t("op.HotelXJ") }} </el-dropdown-item> <!-- 结团 &&Number(item.OrderGuestNum)>0 HK2023-09-14 取消人数判断(南亚线没有人数,损失机票)--> <el-dropdown-item v-if="item.Status == 1" @click.native="OutGroup(item.TCID, 2, item.TravelEndAudit)"> {{ $t("Operation.Op_jietuan") }} </el-dropdown-item> <el-dropdown-item v-if="item.IsEditOutBranch == 1" @click.native="(GroupTypeObj = item), (GroupTypeVisible = true)"> <div>{{ $t("objFill.xiugaictgs") }}</div> </el-dropdown-item> <el-dropdown-item v-if="item.Status == 2" @click.native="OutGroup(item.TCID, 1, item.TravelEndAudit)"> {{ $t("visaT.sale") }} </el-dropdown-item> <el-dropdown-item v-if=" item.Status == 2 && showSureOrder('P_Query_Income_ConfirmInfo', item.CreateBy) " @click.native="goSureOrder('priceIncomeConfirmInfo', item.TCID)"> {{ $t("Operation.Op_shouruDan") }} </el-dropdown-item> <el-dropdown-item v-if=" CurrentUserInfo.IsOpenB2B == 1 && CurrentUserInfo.B2BDomain != '' " @click.native="goB2B(item.ConfigId, item.TCID, 1)"> {{ $t("Operation.Op_b2bView") }} </el-dropdown-item> <el-dropdown-item @click.native="goB2B(item.ConfigId, item.TCID, 2)" v-if=" CurrentUserInfo.IsOpenB2C == 1 && CurrentUserInfo.B2BDomain != '' && item.LineID != 2 && item.LineID != 8 "> {{ $t("objFill.zhikebanyl") }} </el-dropdown-item> <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id == 2 || FenXiaoLianYun" @click.native=" goUrl('DistributionTransport', item.ID, '分销联运') "> {{ $t("Operation.Op_salelianyun") }} </el-dropdown-item> <el-dropdown-item @click.native="ckSellPoint(item)">{{ $t("Operation.Op_bentuanMaidian") }} </el-dropdown-item> <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id == 2 || ShangChuanFenFangbiao" @click.native="ShowUploadWord(item, 1)">{{ $t("Operation.Op_wordTrip") }} </el-dropdown-item> <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id == 2 || ShangChuanFenFangbiao" @click.native="ShowUploadWord(item, 2)">{{ $t("op.UploadFFB") }} </el-dropdown-item> <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id == 2 || ChaKanGuest"> <div v-if="item.ScoreNum >= 0" @click="goInvetig('investigationList', item.TCID, 0)"> {{ $t("op.LookPassengerSurvey") }} </div> </el-dropdown-item> <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id == 2 || FenFangBiaoXiaZai"> <div @click="exportExcel_singleRoom(item)"> {{ $t("op.FFBDowmLoad") }} </div> </el-dropdown-item> <!-- HK 2023-12-05注释 <el-dropdown-item v-if="CurrentUserInfo.RB_Group_id==2||LookOPCommission"> <div @click='goOPCommissionInfo(item.TCID,item)'>查看OP提成 </div> </el-dropdown-item> --> <el-dropdown-item v-if="item.IsSetOut == 0"> <div @click="setIsSetOutOffer(item, 1)"> {{ $t("objFill.quxiaofatuan") }} </div> </el-dropdown-item> <el-dropdown-item v-if="item.IsSetOut == 1"> <div @click="setIsSetOutOffer(item, 0)"> {{ $t("objFill.zhengchangft") }} </div> </el-dropdown-item> <el-dropdown-item> <div @click="GoToleaderReimbursement(item)" style="color: red"> {{ $t("objFill.dijiecbzc") }} </div> </el-dropdown-item> <el-dropdown-item @click.native="ckOPInfo(item)">{{ $t("objFill.v101.qianzopshez") }} </el-dropdown-item> <el-dropdown-item @click.native="CopyTripAndFeature(item, 1)">{{ $t("objFill.v101.fuzhixingc") }} </el-dropdown-item> <el-dropdown-item @click.native="CopyTripAndFeature(item, 2)"> {{ $t("objFill.v101.xiugaictriqi") }} </el-dropdown-item> <el-dropdown-item @click.native="ckChangePrice(item,1)"> 价格变更 </el-dropdown-item> <el-dropdown-item @click.native="ckChangePrice(item,2)"> 团队类型变更 </el-dropdown-item> </el-dropdown-menu> </el-dropdown> </div> </div> </div> <div class="TC_remarkContent" v-if=" item.OPRemark || item.OPInnerRemark || item.DmcRemarkLast || item.OutGroupAuditRemark || item.ProductRecommend "> <div class="clearfix TCL-redType" v-if=" (item.OutGroupAuditState == 3 || item.Status == 5) && item.OutGroupAuditRemark "> <div class="TCL_remarkTitle">{{ $t("objFill.bohuiyy") }}:</div> <div class="TCL_Content"> {{ item.OutGroupAuditRemark }} {{ item.OutGroupAuditDate }} </div> </div> <div class="clearfix TCL-redType" v-if="item.OPRemark"> <div class="TCL_remarkTitle">{{ $t("Operation.Op_duiwaiRemark") }}:</div> <div class="TCL_Content">{{ item.OPRemark }}</div> </div> <div class="clearfix TCL-redType" v-if="item.OPInnerRemark"> <div class="TCL_remarkTitle">{{ $t("Operation.Op_duineiRemark") }}:</div> <div class="TCL_Content">{{ item.OPInnerRemark }}</div> </div> <div class="clearfix TCL-redType" v-if="item.DMCNum"> <div class="TCL_remarkTitle">{{ $t("op.DJBZTH") }}:</div> <div class="TCL_Content">{{ item.DMCNum }}</div> </div> <div class="clearfix TCL-redType" v-if=" (item.DmcRemarkLast && item.DmcRemarkLast.DMCRemark != '') || item.HotelDiningBus.HotelChangeState > 0 || item.HotelDiningBus.DiningChangeState > 0 || item.HotelDiningBus.ResultBusTypeStr != '' "> <div class="TCL_remarkTitle">{{ $t("Operation.Op_dijieRemark") }}:</div> <div class="TCL_Content"> {{ item.DmcRemarkLast != null ? item.DmcRemarkLast.DMCRemark : "" }} <a v-if="item.HotelDiningBus.HotelChangeState > 0" @click="goHotelDiningBus(item, item.HotelDiningBus, 1)" style="color: blue; cursor: pointer">{{ $t("Operation.Op_HotelChange") }}</a> <a v-if="item.HotelDiningBus.DiningChangeState > 0" @click="goHotelDiningBus(item, item.HotelDiningBus, 2)" style="color: blue; cursor: pointer">{{ $t("sm.cantingbiangeng") }}</a> <a v-if="item.HotelDiningBus.ResultBusTypeStr != ''">{{ $t("Operation.Op_carType") }}:{{ item.HotelDiningBus.ResultBusTypeStr }}</a> </div> </div> </div> <div class="TC_remarkContent" v-if="item.BranchAuditState > 0"> <div class="clearfix TCL-redType"> <div class="TCL_remarkTitle" style="width: auto"> <span style="color: black">{{ $t("objFill.chutuangstz") }}: {{ item.BranchApplyResion }}</span> <template v-if="item.BranchAuditState == 1"> <span style="color: blue; font-weight: bold">【{{ item.BranchAuditStateStr }}】</span> </template> <template v-if="item.BranchAuditState == 2"> <span style="color: green; font-weight: bold">【{{ item.BranchAuditStateStr }}】</span> </template> <template v-if="item.BranchAuditState == 3"> <span style="color: red; font-weight: bold">【{{ item.BranchAuditStateStr }}】</span> <span style="color: red">{{ $t("objFill.yuanyin") }}: {{ item.BranchAuditRemark }}</span> </template> </div> </div> </div> <div class="TC_remarkContent" v-if="item.PriceChangeModel&&item.PriceChangeModel.ID > 0"> <div class="clearfix TCL-redType"> <div class="TCL_remarkTitle" style="width: auto"> <span style="color: black">价格变更: {{ item.PriceChangeModel.ChangeRemark }} (<font style="color:red;"> {{$t("Operation.Op_tradePrice")}}:{{item.PriceChangeModel.NewB2BPrice}} {{$t("Operation.Op_directPrice")}}:{{item.PriceChangeModel.NewB2CPrice}} </font> )</span> <template v-if="item.PriceChangeModel.ChangePriceStatus == 1"> <span style="color: blue; font-weight: bold">【{{ item.PriceChangeModel.ChangePriceStatusStr }}】</span> </template> <template v-if="item.PriceChangeModel.ChangePriceStatus == 2"> <span style="color: green; font-weight: bold">【{{ item.PriceChangeModel.ChangePriceStatusStr }}】</span> </template> <template v-if="item.PriceChangeModel.ChangePriceStatus == 3"> <span style="color: red; font-weight: bold">【{{ item.PriceChangeModel.ChangePriceStatusStr }}】</span> <span style="color: red">{{ $t("objFill.yuanyin") }}: <template v-if="item.PriceChangeModel.MAContent"> {{item.PriceChangeModel.MAContent}} </template> <template v-else> {{item.PriceChangeModel.AuditContent}} </template> </span> </template> </div> </div> </div> <div class="TC_remarkContent" v-if="item.TeamTypeChangeModel&&item.TeamTypeChangeModel.ID > 0"> <div class="clearfix TCL-redType"> <div class="TCL_remarkTitle" style="width: auto"> <span style="color: black">团队类型变更: {{ item.TeamTypeChangeModel.ChangeRemark }} (<font style="color:red;"> {{$t('objFill.tuanduilx')}}:{{item.TeamTypeChangeModel.NewTeamTypeName}} </font> )</span> <template v-if="item.TeamTypeChangeModel.ChangePriceStatus == 1"> <span style="color: blue; font-weight: bold">【{{ item.TeamTypeChangeModel.ChangePriceStatusStr }}】</span> </template> <template v-if="item.TeamTypeChangeModel.ChangePriceStatus == 2"> <span style="color: green; font-weight: bold">【{{ item.TeamTypeChangeModel.ChangePriceStatusStr }}】</span> </template> <template v-if="item.TeamTypeChangeModel.ChangePriceStatus == 3"> <span style="color: red; font-weight: bold">【{{ item.TeamTypeChangeModel.ChangePriceStatusStr }}】</span> <span style="color: red">{{ $t("objFill.yuanyin") }}: <template v-if="item.TeamTypeChangeModel.MAContent"> {{item.TeamTypeChangeModel.MAContent}} </template> <template v-else> {{item.TeamTypeChangeModel.AuditContent}} </template> </span> </template> </div> </div> </div> </li> </ul> <div class="noData" v-show="queryMsg.noData"> {{ $t("system.content_noData") }} </div> <el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage" layout="total,prev, pager, next, jumper" :page-size="queryMsg.pageSize" :total="queryMsg.total"> </el-pagination> </div> </div> <div class="combottomDiv TC_divCon" v-if="queryCommonData.setPlatDialog"> <div class="combottomTitle">{{ $t("Operation.Op_choicePlat") }}</div> <span class="setPlatLeft">{{ $t("Operation.Op_salesPlat") }}</span> <span> <el-checkbox v-model="queryCommonData.checkDialogAll" @change="checkAllDialog" style="margin-right: 20px"> {{ $t("system.table_chekAll") }}</el-checkbox> <template v-if="CurrentUserInfo.RB_Group_Id == 2"> <el-checkbox-group v-model="queryCommonData.ckedplat" @change="checkDialog"> <el-checkbox v-for="sales in $tripUtils.TeamStatesList.salsPlat" :label="sales.Id" :key="sales.Name" :disabled=" (sales.Id == '2' || sales.Id == '5') && SaleB2COrWeChatStatus ? true : false "> {{ sales.Name }}</el-checkbox> </el-checkbox-group> </template> <template v-else> <el-checkbox-group v-model="queryCommonData.ckedplat" @change="checkDialog"> <el-checkbox v-for="sales in $tripUtils.TeamStatesList.salsPlat" :label="sales.Id" :key="sales.Name"> {{ sales.Name }}</el-checkbox> </el-checkbox-group> </template> </span> <span> <button class="normalBtn" style="margin-left: 50px" @click="SetshelvesUp"> {{ $t("pub.sureBtn") }} </button> <button class="hollowFixedBtn" @click="queryCommonData.setPlatDialog = false"> {{ $t("pub.cancelBtn") }} </button> </span> </div> <div class="combottomDiv OPremarkDiv" v-if="queryCommonData.outerVisible"> <div class="combottomTitle">{{ $t("Operation.Op_remark") }}</div> <el-form label-width="100px"> <el-col :span="8"> <el-form-item :label="$t('Operation.Op_duiwaiRemark')" prop="Remark"> <el-input type="textarea" v-model="remarkMsg.OPRemark" rows="6"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :label="$t('Operation.Op_duineiRemark')" prop="Remark"> <el-input type="textarea" v-model="remarkMsg.OPInnerRemark" rows="6"></el-input> </el-form-item> </el-col> </el-form> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="queryCommonData.outerVisible = false"> {{ $t("pub.cancelBtn") }} </button> <button class="normalBtn" type="primary" @click="setOPremark"> {{ $t("pub.sureBtn") }} </button> </div> </div> <div class="combottomDiv OPremarkDiv" v-if="queryCommonData.SellingPoints"> <div class="combottomTitle">{{ $t("Operation.Op_bentuanMaidian") }}</div> <el-form label-width="100px"> <el-col :span="8"> <el-form-item :label="$t('Operation.Op_bentuanMaidian')" prop="Remark"> <el-input type="textarea" v-model="remarkMsg.ProductRecommend" rows="6"></el-input> </el-form-item> </el-col> </el-form> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="queryCommonData.SellingPoints = false"> {{ $t("pub.cancelBtn") }} </button> <button class="normalBtn" type="primary" @click="SetSellingPoints"> {{ $t("pub.sureBtn") }} </button> </div> </div> <div class="combottomDiv OPremarkDiv" v-if="queryCommonData.UploadWORDTip" v-loading="queryCommonData.uploadLoading"> <div class="combottomTitle"> <template v-if="queryCommonData.UploadItem.Type == 1"> {{ $t("Operation.Op_scTrip") }}</template> <template v-else> {{ $t("op.UploadFFB") }}</template> <button style="float: right; margin-right: 100px" class="hollowFixedBtn" type="primary" @click="queryCommonData.UploadWORDTip = false"> {{ $t("pub.cancelBtn") }} </button> </div> <el-form label-width="100px"> <el-col :span="8" class="_pic_upload"> <el-upload :http-request="UploadAttachment" drag :multiple="true" :show-file-list="false" action="" accept="*.doc,*.docx"> <i class="el-icon-plus avatar-uploader-icon"></i> <div class="el-upload__text">{{ $t("active.ld_djscwj") }}</div> </el-upload> </el-col> </el-form> </div> <!--修改op信息--> <div class="combottomDiv OPremarkDiv" style="height: 150px" v-show="VisaOPMsg.VisaShow"> <div class="combottomTitle">{{ $t("objFill.v101.qianzopshez") }}</div> <el-form label-width="100px"> <el-col :span="4"> <el-form-item :label="$t('objFill.v101.qianzhengop')" prop="Remark"> <el-select filterable style="width: 80%" clearable v-model="VisaOPMsg.VisaId" :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in VisaEmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="8"> <el-form-item :label="$t('objFill.v101.Rest.qianzhouzhus')" prop="Remark"> <el-select multiple filterable style="width: 80%; height: auto" clearable v-model="VisaOPMsg.VisaAssistIds" :placeholder="$t('pub.pleaseSel')"> <el-option v-for="item in VisaEmployeeList" :label="item.EmName" :value="item.EmployeeId" :key="item.EmployeeId"> </el-option> </el-select> </el-form-item> </el-col> </el-form> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="VisaOPMsg.VisaShow = false"> {{ $t("pub.cancelBtn") }} </button> <button class="normalBtn" type="primary" @click="SetVisaOPInfo"> {{ $t("pub.sureBtn") }} </button> </div> </div> <!--复制行程信息--> <div class="combottomDiv OPremarkDiv" style="height: 150px" v-show="CopyTripAndFeatureMsg.isShowTripFeature"> <div class="combottomTitle"> {{ CopyTripAndFeatureMsg.updateType == 1 ? $t("objFill.v101.fuzhixingc") : $t("objFill.v101.xiugaictriqi") }} </div> <el-form label-width="100px"> <template v-if="CopyTripAndFeatureMsg.updateType == 1"> <el-col :span="4"> <el-form-item :label="$t('ios.tuanhao')" prop="Remark"> <el-input v-model="CopyTripAndFeatureMsg.CopyTCNUM" placeholder="KIXMF06240921C"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="" prop="Remark"> <el-checkbox-group v-model="CopyTripAndFeatureMsg.CopyTrip"> <el-checkbox label="1" value="1">{{ $t("sm.xianluxingcheng") }}</el-checkbox> <el-checkbox label="2" value="2">{{ $t("salesModule.TripSpecial") }}</el-checkbox> </el-checkbox-group> </el-form-item> </el-col> </template> <template v-if="CopyTripAndFeatureMsg.updateType == 2"> <el-col :span="4"> <el-form-item :label="$t('sm.chutuandate')" prop="Remark"> <el-date-picker class="w150" type="date" v-model="CopyTripAndFeatureMsg.StartDate" value-format="yyyy-MM-dd" placeholder></el-date-picker> </el-form-item> </el-col> </template> </el-form> <div slot="footer" class="dialog-footer"> <el-button size="small" @click="CopyTripAndFeatureMsg.isShowTripFeature = false"> {{ $t("pub.cancelBtn") }} </el-button> <el-button type="primary" size="small" :loading="saveLoading" @click="SetCopyTripAndFeature"> {{ $t("pub.sureBtn") }} </el-button> </div> </div> <!--价格变更--> <div class="combottomDiv OPremarkDiv" style="height: 150px" v-show="changePriceMsg.isShowChangePrice"> <div class="combottomTitle"> {{changePriceMsg.ChangeType==1?"价格":"团队类型"}}变更申请 </div> <el-form label-width="100px"> <template v-if="changePriceMsg.ChangeType==1"> <el-col :span="4"> <el-form-item :label="$t('Operation.Op_tradePrice')" prop="Remark"> <el-input v-model="changePriceMsg.NewB2BPrice"></el-input> </el-form-item> </el-col> <el-col :span="4"> <el-form-item :label="$t('Operation.Op_directPrice')" prop="Remark"> <el-input v-model="changePriceMsg.NewB2CPrice"></el-input> </el-form-item> </el-col> </template> <template v-else> <el-col :span="4"> <el-form-item :label="$t('objFill.tuanduilx')" prop="Remark"> <el-select class="multiple_input" v-model="changePriceMsg.NewB2BPrice"> <el-option v-for='item in teamList' v-if="item.ID!=2" :key="item.ID" :label="item.Name" :value="item.ID"> </el-option> </el-select> </el-form-item> </el-col> </template> <el-col :span="4"> <el-form-item label="变更原因" prop="Remark"> <el-input v-model="changePriceMsg.ChangeRemark" maxlength="50"></el-input> </el-form-item> </el-col> </el-form> <div slot="footer" class="dialog-footer"> <el-button size="small" @click="changePriceMsg.isShowChangePrice = false"> {{ $t("pub.cancelBtn") }} </el-button> <el-button type="primary" size="small" :loading="saveLoading" @click="SetChangePrice"> {{ $t("pub.sureBtn") }} </el-button> </div> </div> <div v-if="dialog.show"> <el-dialog :visible.sync="dialog.show" width="1400px" :title="$t('objFill.baojiaxiangqing')"> <price-dialog :ConfigId="dialog.ConfigId" :OfferId="dialog.OfferId" ref="dialog"></price-dialog> </el-dialog> </div> <!-- 修改出团公司 --> <EditLeaveGroup v-if="GroupTypeVisible" :item="GroupTypeObj" @Cancel="CancelGroupType" @Success="getControlList()" /> </div> </template> <script> import commonHotelInfo from "../../commonPage/commonHotelInfo.vue"; import commonDinnerInfo from "../../commonPage/commonDinnerInfo.vue"; import commonBusInfo from "../../commonPage/commonBusInfo.vue"; import priceDialog from "../TravelNewQuotation/priceDialog.vue"; import EditLeaveGroup from "./components/EditLeaveGroup.vue"; import DateLimit from "../../public/DateLimit.vue"; export default { components: { commonBusInfo, commonHotelInfo, commonDinnerInfo, priceDialog, EditLeaveGroup, DateLimit, }, provide() { return { reload: this.reload, }; }, data() { return { pickerOptions: { disabledDate(time) { return time.getTime() > Date.now(); }, }, GroupTypeVisible: false, GroupTypeObj: {}, dialog: { show: false, ConfigId: "", OfferId: "", }, isCommissionDetails: false, //团控提成详情权限 SaleB2COrWeChatStatus: true, //上架B2C或者微信小程序 QSendCommissionStateList: [{ Name: this.$t("pub.unlimitedSel"), ID: 0, }, { Name: this.$t("objFill.yifafang"), ID: 1, }, { Name: this.$t("objFill.v101.FinancialModule.weifafang"), ID: 2, }, ], TeamShouZhi: false, //团队收支明细权限 OutHotel: false, //酒店下架权限 FenXiaoLianYun: false, //分销联运 ShangChuanFenFangbiao: false, //上传分房表 ChaKanGuest: false, //查看旅客调查 FenFangBiaoXiaZai: false, //分房表下载 LookOPCommission: false, //查看OP提成 IsSanKeTicket: false, //是否有散客票权限 VisaEmployeeList: [], //查询数据列表 queryCommonData: { //线路列表 LineList: [], //目的地 PlaceList: [], //系列列表 LineTeamList: [], //下拉框默认值 SelectDefaultValue: 0, //公司选项卡默认选中 activeName: "-1", //航空公司 AirlineList: [], //员工列表 EmployeeList: [], //公司数据 BranchList: [], //是否为分公司 IsParentCompany: "", //显示销售平台 showPlatForm: false, //团期全选 checkGroupALL: false, //销售平台全选 checkPlatForm: false, //团队状态全选 checkTCStateAll: false, //是否显示弹出框 setPlatDialog: false, //弹出框全选 checkDialogAll: false, //选择上架平台 ckedplat: [], //loading loading: false, //中间变量ID comID: "", //中间变量TCState comState: "", //标题 comPlatTitle: "", //高级搜索 showHigradeSearch: false, //预警搜索 showWarningSearch: false, //数据列表 dataList: [], //中国下面城市 CityList: [], //销售公司 companyList: [], singleTCID: 0, outerVisible: false, flightCKed: [], IsUnionCked: [], loading: false, checkCompanyAll: true, //本团卖点 SellingPoints: false, defaultCheckValue: 0, defaultCheckChooseValue: 1, //上传WORD提示层 UploadWORDTip: false, //选择上传项 UploadItem: {}, //word上传提示层 uploadLoading: false, }, //查询参数 queryMsg: { QOutGroupAuditReject: 0, //只查看审核驳回 1 QSendCommissionState: 0, //提成状态 0不限, 1已发放, 2未发放 //出团公司集合 OutBranchIds: [], pageIndex: 1, pageSize: 10, LineId: 0, PlaceID: 0, LineIdList: [], LineteamId: 0, TCNUM: "", StartGroupDate: "", EndGroupDate: "", OutBranchId: -1, AirTicketId: 0, TeamMinNum: "", TeamMaxNum: "", CreateBy: 0, ApplyMinNum: "", ApplyMaxNum: "", DayNum: "", OnlyShowOverTeam: false, TCState: [1, 3], //去掉默认显示 GroupState: [], SalePlat: [], UnionCityId: 0, SaleBranchId: [], total: 0, //是否有数据 noData: false, currentPage: 1, //航班配置 FlightState: 0, //预警团 IsWarning: false, WarningQuery: "-1", RateOnDay: "-1", RateOn: "-1", TeamType: 0, //一般常规团 IsShowUnion: -1, TCID: "", HotelId: 0, //酒店编号 HotelUseTime: "", //酒店使用时间 QBusNumber: "", PriceTeamType: "", //团队类型 Title: "", //团名 QTeamType: "", }, TeamListArr: [], //团队类型 //报价单查询条件 offerQMsg: { CreateBy: 0, //报价单创建人 QStartDate: "", //报价单开始时间 QEndDate: "", //报价单结束时间 }, offerDataList: [], //报价单列表 remarkMsg: { TCID: 0, OPRemark: "", OPInnerRemark: "", //配置 ConfigId: 0, //本团卖点 ProductRecommend: "", }, VisaOPMsg: { VisaShow: false, TCID: 0, VisaId: "", VisaAssistIds: [], VisaAssistId: "", }, CopyTripAndFeatureMsg: { updateType: 1, //1-复制行程,2-修改出团日期,3-修改行程版面 isShowTripFeature: false, TCID: 0, StartDate: "", //出发日期 CopyTCNUM: "", CopyTrip: [], copyType: "", CurrentTCNUM: "", }, //价格变更 changePriceMsg: { isShowChangePrice: false, ChangeType: 1, //1-价格变更,2-团队类型变更 TCID: 0, NewB2BPrice: "", NewB2CPrice: "", ChangePriceStatus: 1, ChangeRemark: "", }, flightStatus: [{ Id: 0, Name: this.$t("pub.unlimitedSel"), Checked: true, }, { Id: 1, Name: this.$t("sm.yiPeizhi"), Checked: false, }, { Id: 2, Name: this.$t("sm.weiPeizhi"), Checked: false, }, ], //联运状态 unionStatus: [{ Id: -1, Name: this.$t("advmanager.v_all"), Checked: true, }, { Id: 0, Name: this.$t("op.MainGroup"), Checked: false, }, { Id: 1, Name: this.$t("op.DistributionGroup"), Checked: false, }, ], //当前登录用户信息 CurrentUserInfo: {}, showHotelObj: { showPrice: true, //是否显示价格 showPay: false, //是否显示支付方式 showZhan: true, //占房时间 showBtnList: false, //是否下载、确认按钮 ShowTaxType: false, //显示税入税别 ShowRebateRatio: false, //显示返佣比列 ShowSupplier: false, //是否显示供应商 showCaozuoTime: true, //操作时间 caiwu: true, //显示财务单据 colspanLength: 6, //跨行 }, //更新可售机票数量 updateAirticketObj: { TCID: 0, CanSellTicketNum: 2, }, saveLoading: false, //保存loading防止重复提交 IsModifyTravelControl: 0, //分公司是否有修改团控权限 pickerBeginDateBefore: { disabledDate: (time) => { if (this.queryMsg.EndGroupDate == null) { if (this.queryMsg.StartGroupDate) { let endTime = this.TourDateRestrictions(); return time && endTime.getTime() >= time.getTime(); } else return false; } else { if (this.queryMsg.StartGroupDate) { let endTime = this.TourDateRestrictions(); return time && endTime.getTime() >= time.getTime(); } else { let endTime = new Date(this.queryMsg.EndGroupDate); return endTime.getTime() < time.getTime(); } } }, }, pickerBeginDateAfter: { disabledDate: (time) => { let startTime = new Date(this.queryMsg.StartGroupDate); return startTime.getTime() >= time.getTime(); }, }, //报价单列表 offerBeginDateBefore: { disabledDate: (time) => { if (this.offerQMsg.QEndDate == null) { return false; } else { let endTime = new Date(this.offerQMsg.QEndDate); return endTime.getTime() < time.getTime(); } }, }, offerBeginDateAfter: { disabledDate: (time) => { let startTime = new Date(this.offerQMsg.QStartDate); return startTime.getTime() >= time.getTime(); }, }, teamList: [], //团队类型列表 }; }, //监听器 watch: { // 方法1 $route(to, from) { //监听路由是否变化 location.reload(); }, }, methods: { //团队类型 getTravelTeamList() { this.apipost( "travel_GetTeamTypeEnumList", {}, res => { if (res.data.resultCode == 1) { this.teamList = res.data.data; } }); }, setLeaderOrGuide(item, type) { var NameStr = "设置领队"; var path = "RegistrationList"; if (type == 1) { path = 'leaderArrangement'; NameStr = "设置导游"; } var id = item.TCID; if (id > 0) { this.$router.push({ name: path, query: { id: id, blank: "y", tab: NameStr } }); } }, CancelGroupType() { this.GroupTypeVisible = false; this.GroupTypeObj = {}; }, IsShowAllBranch() { var flag = true; if ( this.CurrentUserInfo && this.CurrentUserInfo.RB_Branch_id && this.CurrentUserInfo.RB_Branch_id == 1220 ) { flag = false; } return flag; }, //复制、新增报价单 NewCopyPriceSheet(item, type) { if (type) { this.CopyConfigOffer(item); } else { this.gotoOffer(item, 1); } }, //跳转到报价单 gotoOffer(item) { let query = { TCID: item.TCID, blank: "y", tab: "报价单", }; this.$router.push({ path: "QuotationNewPrice", query, }); }, // 复制报价单 CopyConfigOffer(item) { this.queryCommonData.loading = true; let msg = { ID: item.ID, TCID: item.TCID, }; var that = this; that.apipost("travel_post_CopyConfigOffer", msg, (res) => { that.queryCommonData.loading = false; if (res.data.resultCode == 1) { var tipMsg = this.$t("objFill.fuzhicgckbjd"); that.getControlList(); this.Confirm(tipMsg, function () { if (res.data.data && res.data.data > 0) { let query = { BatchNum: res.data.data, blank: "y", tab: "报价单", }; //跳转到新报价单页面 that.OpenNewPage("/QuotationNewPrice", query); } }); } else { that.Error(res.data.message); } }); }, //跳转到用款计划 GoToleaderReimbursement(item) { var newCombinationNumStr = item.CombinationNum; if (item.DMCNum && item.DMCNum != "") { newCombinationNumStr = item.DMCNum; } this.$router.push({ path: "leaderReimbursement", query: { id: item.TCIDStr, NewCombinationNum: newCombinationNumStr, isUpdate: true, tab: "地接成本支出", lineId: item.LineID, OutBranchId: item.OutBranchId, blank: "y", }, }); }, //提示信息(type=1酒店推送,type=2订车推送) TipsContent(item, type) { let resultStr = ""; //订车推送 if (type == 2) { if (item.CarIsPush == 1) { resultStr += this.$t("objFill.v101.yitsdctssji") + ":" + item.CarPushDate + "<br/>" + this.$t("objFill.v101.dianjkqxyche"); } else if (item.CarIsPush == 2) { resultStr += this.$t("objFill.v101.yiquxdcqxsji") + ":" + item.CarPushDate + "<br/>" + this.$t("objFill.v101.dianjkcxtsyche"); } } //订房推送 else if (type == 1) { if (item.IsPush == 1) { resultStr = this.$t("objFill.v101.yitusdftssj") + ":" + item.HotelPushDate + "<br/> " + this.$t("objFill.v101.dianjkqxdf"); } else if (item.IsPush == 2) { resultStr = this.$t("objFill.v101.yiqxdftsqxsj") + ":" + item.HotelPushDate + "<br/>" + this.$t("objFill.v101.dianjkcxtsdf"); } } return resultStr; }, //推送消息 PushMessage(item) { var pMsg = { TCID: item.TCID, }; var tipMessage = this.$t("objFill.tuisongxiaoxi"); var cmdStr = "travel_post_PushTravelPriceToQYWork"; //推送消息 if (item.IsPush == 1) { cmdStr = "travel_post_CancelPushTravelPriceToQYWork"; //取消推送 tipMessage = this.$t("objFill.quxiaotsxx"); } let that = this; that .$confirm(this.$t("objFill.v101.shifqrczjdtuis"), this.$t("tips.tips"), { confirmButtonText: this.$t("pub.sureBtn"), cancelButtonText: this.$t("pub.cancelBtn"), type: "warning", }) .then(() => { this.queryCommonData.loading = true; this.apipost(cmdStr, pMsg, (res) => { if (res.data.resultCode == 1) { this.Success(tipMessage + this.$t("objFill.chenggong")); this.getControlList(); } else { this.Error(tipMessage + this.$t("objFill.shibai")); } }); }) .catch(() => {}); }, //订车推送 PushBusMessage(item) { var pMsg = { TCID: item.TCID, }; var tipMessage = this.$t("objFill.v101.dinchetsxxi"); var cmdStr = "travel_post_PushTravelBusToQYWork"; //推送消息 if (item.CarIsPush == 1) { cmdStr = "travel_post_CancelPushTravelBusToQYWork"; //取消推送 tipMessage = this.$t("objFill.v101.dincheqxts"); } let that = this; that .$confirm(this.$t("objFill.v101.shifqrczdctso"), this.$t("tips.tips"), { confirmButtonText: this.$t("pub.sureBtn"), cancelButtonText: this.$t("pub.cancelBtn"), type: "warning", }) .then(() => { this.queryCommonData.loading = true; this.apipost(cmdStr, pMsg, (res) => { if (res.data.resultCode == 1) { this.Success(tipMessage + this.$t("objFill.chenggong")); this.getControlList(); } else { this.Error(tipMessage + this.$t("objFill.shibai")); } }); }) .catch(() => {}); }, showDialog(ConfigId, OfferId) { this.dialog = { show: true, ConfigId, OfferId, }; this.$nextTick(() => { this.$refs.dialog.getPostData(); }); }, // 查看团详情 goRoyaltyUrl(row, Royalty, item) { let name; let obj = { isSearch: true, blank: "y", }; if (Royalty.Type == 3) { name = "OpComPersonDetails"; obj.EmployeeId = item.UserId; obj.TCNUM = row.TCNUM; } else if (Royalty.Type == 2) { name = "OPsalesCommissiondetails"; obj.UserId = item.UserId; obj.TCNUM = row.TCNUM; } else { name = "ServiceCommissiondetails"; obj.UserId = item.UserId; obj.TCNUM = row.TCNUM; obj.Type = 2; } this.$router.push({ name: name, query: obj, }); }, //获取团队类型 getTeamList() { this.apipost( "travel_get_GetTravelPriceTeamTypeList", {}, (res) => { if (res.data.resultCode == 1) { this.TeamListArr = res.data.data; } else { this.Error(res.data.message); } }, (err) => {} ); }, //获取TCID clickAirticket(item) { this.updateAirticketObj.TCID = item.TCID; }, //开启散客机票 openAirticket() { this.apipost( "travel_post_SetCanSellTicketNumService", this.updateAirticketObj, (res) => { if (res.data.resultCode == 1) { this.Success(this.$t("objFill.kaiqichenggong")); this.updateAirticketObj.TCID = 0; this.updateAirticketObj.CanSellTicketNum = 2; this.getControlList(); } else { this.Error(res.data.data); } }, null ); }, //关闭散客机票 closeAirticket(TCID) { var that = this; this.Confirm(that.$t("objFill.shifouygbksjp"), function () { var tempMsg = { TCID: TCID, CanSellTicketNum: 0, }; that.apipost( "travel_post_SetCanSellTicketNumService", tempMsg, (res) => { if (res.data.resultCode == 1) { that.Success(that.$t("objFill.kaiqichenggong")); that.getControlList(); } else { that.Error(res.data.data); } }, null ); }); }, // 跳转调查列表 goInvetig: function (path, tcid, orderId) { this.$router.push({ name: path, query: { OrderId: orderId, TCID: tcid, blank: "y", }, }); }, //更新手配书状态 SetShouPeiShu(TCID, ShouPeiStatus) { var msg = { TCID: TCID, ShouPeiStatus: ShouPeiStatus == 0 ? 1 : 0, }; this.apipost( "dmcstatistics_post_SetPriceShouPeiShuService", msg, (res) => { if (res.data.resultCode == 1) { this.$message.success(res.data.message); this.getList(); } else { this.$message.error(res.data.message); } }, (err) => {} ); }, SetGroupRecommendType(item, num) { let msg = {}; msg.groupRecommendType = num; msg.tcid = item.TCID; this.apipost( "travel_post_SetGroupRecommendType", msg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); } else { this.Error(res.data.message); } }, (err) => {} ); }, downloadFile: function (item) { let reg = /^http(s)?:\/\/(.*?)\//; this.downloadFileRename(item.FullUrl.replace(reg, ""), item.Name); }, goOPCommissionInfo(tcid, item) { if (item.TravelEndAudit == 1) { this.$router.push({ path: "OPsalesCommissiondetails", query: { TCNUM: item.TCNUM, blank: "y", }, }); } else { this.$router.push({ path: "OpComPersonDetails", query: { TrPerIods: tcid, blank: "y", }, }); } }, //翻页 handleCurrentChange(val) { this.queryMsg.pageIndex = val; this.getControlList(); }, //重新查询 resetPageIndex() { this.queryMsg.pageIndex = 1; this.queryMsg.currentPage = 1; }, //获取线路列表 getLineList() { this.apipost( "line_post_GetList", { LineDirection: 2, }, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.LineList = res.data.data; this.queryCommonData.PlaceList = []; this.queryCommonData.LineTeamList = []; } } ); }, //获取目的地列表 getLinePlaceList() { this.queryMsg.PlaceID = 0; this.queryMsg.LineteamId = 0; let msg = { lineID: this.queryMsg.LineId, }; this.apipost("team_post_GetLinePlace", msg, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.PlaceList = res.data.data; this.queryCommonData.LineTeamList = []; } }); }, //获取系列列表 getLineTeamList() { this.queryMsg.LineteamId = 0; let msg = { lineID: this.queryMsg.LineId, placeID: this.queryMsg.PlaceID, isTOOP: 1, }; this.apipost("team_post_GetList", msg, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.LineTeamList = res.data.data; } }); }, //切换公司 getCompanyTab(Id) { this.queryMsg.OutBranchId = Id; this.queryMsg.currentPage = 1; this.getControlList(); }, //获取航空公司 getAirlineList() { this.apipost( "airline_post_GetList", {}, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.AirlineList = res.data.data; } }, (err) => {} ); }, //根据当前员工所在部门获取该部门及子部门员工信息 getEmployeeList() { let userInfo = this.getLocalStorage(); let msg = { GroupId: userInfo.RB_Group_id, BranchId: "-1", DepartmentId: "-1", PostId: "-1", IsLeave: "0", }; this.apipost( "admin_get_EmployeeGetList", {}, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.EmployeeList = res.data.data; } }, (err) => {} ); }, //新获取列表数据 getControlList() { var msg = JSON.parse(JSON.stringify(this.queryMsg)); if (msg.TeamMinNum == "") { msg.TeamMinNum = -1; } if (msg.TeamMaxNum == "") { msg.TeamMaxNum = -1; } if (msg.ApplyMinNum == "") { msg.ApplyMinNum = -1; } if (msg.ApplyMaxNum == "") { msg.ApplyMaxNum = -1; } if (msg.DayNum == "") { msg.DayNum = -1; } if (msg.TCID == "") { msg.TCID = 0; } this.queryCommonData.loading = true; this.apipost( "travel_get_GetTravelPrciePageList_V2", msg, (res) => { this.queryCommonData.loading = false; if (this.queryMsg.TCID == "0") { this.queryMsg.TCID = ""; } if (res.data.resultCode == 1) { this.queryCommonData.dataList = res.data.data.pageData; this.queryMsg.total = res.data.data.count; this.queryMsg.noData = !this.queryMsg.total > 0; this.getDiningDetailsList(); this.getPriceHotelResultStatisticsList(); if (!this.isCommissionDetails) return; this.getDetailsOfRoyalty(); this.getTravelAccountStatus(); } }, (err) => {} ); }, getDetailsOfRoyalty() { let Ids = this.queryCommonData.dataList.map((x) => { return x.TCID; }); let msg = [...new Set(Ids)]; this.apipost( "commission_get_GetTravelOPCommissionList", { TCIDStr: msg.join(","), }, (res) => { if (res.data.resultCode == 1) { let RoyaltyList = []; RoyaltyList = res.data.data; this.queryCommonData.dataList.forEach((x) => { RoyaltyList.forEach((y) => { if (x.TCID == y.TCID) { x.Royalty = y; } }); }); this.$forceUpdate(); } } ); }, getDiningDetailsList() { let Ids = []; this.queryCommonData.dataList.forEach((item, index) => { if ( item.LineID == 14 || item.LineID == 90 || item.LineID == 168 || item.LineID == 118 ) { Ids.push(item.TCID); } }); if (Ids && Ids.length > 0) { let msg = [...new Set(Ids)]; this.apipost( "dmcstatistics_get_GetDiningStatisticsList", { tcids: msg.join(","), }, (res) => { if (res.data.resultCode == 1) { let DiningStatisticsList = []; DiningStatisticsList = res.data.data; this.queryCommonData.dataList.forEach((x) => { DiningStatisticsList.forEach((y) => { if (x.TCID == y.TCID) { x.DiningList = y.OrderList; } }); }); this.$forceUpdate(); } } ); } }, getPriceHotelResultStatisticsList() { let Ids = []; this.queryCommonData.dataList.forEach((item, index) => { if ( item.LineID == 14 || item.LineID == 90 || item.LineID == 168 || item.LineID == 118 ) { Ids.push(item.TCID); } }); if (Ids && Ids.length > 0) { let msg = [...new Set(Ids)]; this.apipost( "travel_get_GetPriceHotelResultStatisticsList", { tcids: msg.join(","), }, (res) => { if (res.data.resultCode == 1) { let DiningStatisticsList = []; DiningStatisticsList = res.data.data; this.queryCommonData.dataList.forEach((x) => { DiningStatisticsList.forEach((y) => { if (x.TCID == y.TCID) { x.HotelOrderListReports = y.HotelOrderListReports; } }); }); this.$forceUpdate(); } } ); } }, getTravelAccountStatus() { let Ids = this.queryCommonData.dataList.map((x) => { return x.TCID; }); let msg = [...new Set(Ids)]; this.apipost( "Financial_post_GetTravelAccountStatus", { TCIDStr: msg.join(","), }, (res) => { if (res.data.resultCode == 1) { let RoyaltyList = []; RoyaltyList = res.data.data; this.queryCommonData.dataList.forEach((x) => { RoyaltyList.forEach((y) => { if (x.TCID == y.TCID) { x.BZStatus = y.State; } }); }); this.$forceUpdate(); } } ); }, //验证大小 checkTeamNum(queryMsg) { var TeamMinNum = parseInt(queryMsg.TeamMinNum); var TeamMaxNum = parseInt(queryMsg.TeamMaxNum); var ApplyMinNum = parseInt(queryMsg.ApplyMinNum); var ApplyMaxNum = parseInt(queryMsg.ApplyMaxNum); if (TeamMaxNum < TeamMinNum) { queryMsg.TeamMaxNum = ""; } if (ApplyMaxNum < ApplyMinNum) { queryMsg.ApplyMaxNum = ""; } }, //初始化公司 getCompanyList() { let userInfo = this.getLocalStorage(); var RB_Group_id = userInfo.RB_Group_id; let msg = { Status: 0, is_show: 0, RB_Group_Id: RB_Group_id, }; this.apipost( "admin_get_BranchGetList", msg, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.BranchList = res.data.data; this.queryCommonData.BranchList.forEach((x) => { x.isShow = false; }); } }, (err) => {} ); }, //团期状态全选 checkGroupAll(val) { this.queryMsg.GroupState = []; if (val) { this.$tripUtils.TeamStatesList.teamDateStates.forEach((x) => { this.queryMsg.GroupState.push(x.Id); }); } }, checkGroup(value) { let checkedCount = value.length; this.queryCommonData.checkGroupALL = checkedCount === this.$tripUtils.TeamStatesList.teamDateStates.length; }, //销售平台全选 checkAllSales(val) { this.queryMsg.SalePlat = []; if (val) { this.$tripUtils.TeamStatesList.salsPlat.forEach((x) => { this.queryMsg.SalePlat.push(x.Id); }); } }, checkSales(value) { let checkedCount = value.length; this.queryCommonData.checkPlatForm = checkedCount === this.$tripUtils.TeamStatesList.salsPlat.length; }, //团队状态全选 checkAllTeam(val) { this.queryMsg.TCState = []; if (val) { this.$tripUtils.TeamStatesList.TeamStates.forEach((x) => { this.queryMsg.TCState.push(x.Id); }); } if ( this.queryMsg.TCState.indexOf(this.$tripUtils.TeamStatesList.TeamStates[2].Id) > -1 ) { this.queryCommonData.showPlatForm = true; } else { this.queryCommonData.showPlatForm = false; } }, checkedTeamList(value) { if (value.indexOf(this.$tripUtils.TeamStatesList.TeamStates[2].Id) > -1) { this.queryCommonData.showPlatForm = true; } else { this.queryCommonData.showPlatForm = false; } let checkedCount = value.length; this.queryCommonData.checkTCStateAll = checkedCount === this.$tripUtils.TeamStatesList.TeamStates.length; }, //全选弹出框 checkAllDialog(val) { this.queryCommonData.ckedplat = []; if (val) { this.$tripUtils.TeamStatesList.salsPlat.forEach((x) => { this.queryCommonData.ckedplat.push(x.Id); }); } }, checkDialog(value) { let checkedCount = value.length; this.queryCommonData.checkDialogAll = checkedCount === this.$tripUtils.TeamStatesList.salsPlat.length; }, //点击上架 setUpPlat(item, type) { this.queryCommonData.outerVisible = false; this.queryCommonData.setPlatDialog = true; this.queryCommonData.singleTCID = item.TCID; this.queryCommonData.comState = type; if (item.TCState == 2) { this.queryCommonData.ckedplat = []; this.queryCommonData.checkDialogAll = false; } else if (item.TCState == 3) { item.SalePlatList.forEach((x) => { this.queryCommonData.ckedplat.push(parseInt(x)); }); if (item.SalePlatList.length == this.$tripUtils.TeamStatesList.salsPlat.length) { this.queryCommonData.checkDialogAll = true; } } }, //单团酒店下架 RemoveHotelJourneyOrder(TCID) { var that = this; this.Confirm(that.$t("objFill.shifouyxjjd"), function () { let msg = { TCID: TCID, }; that.apipost("travel_post_RemoveHotelJourneyOrderService", msg, (res) => { if (res.data.resultCode == 1) { that.Success(res.data.message); that.getControlList(); } else { that.Info(res.data.message); } }); }); }, //单团设置下架 Setshelves(TCID) { let msg = { TCID: TCID, TCState: 2, SalePlat: "", }; this.apipost("travel_post_SetPriceTCState", msg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); this.queryCommonData.checkDialogAll = false; this.queryCommonData.ckedplat = []; } else { this.Info(res.data.message); } }); }, //修改上架平台 SetshelvesUp() { let msg = { TCID: this.queryCommonData.singleTCID, TCState: 3, SalePlat: this.queryCommonData.ckedplat.join(","), }; if (msg.SalePlat == "") { this.Error(this.$t("Operation.Op_choicePlat")); return; } if (this.queryCommonData.comState == 3) { this.apipost("travel_post_SetTCState", msg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); this.queryCommonData.setPlatDialog = false; this.queryCommonData.checkDialogAll = false; this.queryCommonData.ckedplat = []; } }); } else { this.apipost("travel_post_SetPriceSalePlat", msg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); this.queryCommonData.setPlatDialog = false; this.queryCommonData.checkDialogAll = false; this.queryCommonData.ckedplat = []; } }); } this.queryCommonData.comState == 0; }, goUrl(path, id, name) { this.$store.commit("pageConditionUpdate", this.queryMsg); this.$router.push({ name: path, query: { id: id, blank: "y", tab: name, }, }); }, goUrlR(item) { var cityId = item.StartCityID; if (item.IsUnion == 1 && item.UnionTypeStr == 2) { cityId = item.UnionCityId; } let routeData = this.$router.resolve({ name: "confirmationOrderDownLoadNew", query: { configId: item.ID, cityId: cityId, tcid: item.TCID, orderId: 0, vshowL: false, vshowM: false, vshowTCNUM: true, isClick: 1, //不计算点击 }, }); window.open(routeData.href, "_blank"); }, //控制是否显示确认单按钮 showSureOrder(code, createBy) { let UserInfo = this.getLocalStorage(); if ( createBy == UserInfo.EmployeeId || UserInfo.ActionMenuCode.indexOf(code) != -1 ) { return true; } else { return false; } }, goSureOrder(path, TCID) { this.$router.push({ name: path, query: { TCID: TCID, blank: "y", tab: "收入确认单", }, }); }, goUrlMake(path, LineID, TCID, name) { this.$router.push({ name: path, query: { LineID: LineID, TCID: TCID, blank: "y", tab: name, }, }); }, goB2B(ConfigId, tcid, type) { var B2BDomain = this.CurrentUserInfo.B2BDomain; if (type == 1) { if (this.CurrentUserInfo.RB_Group_id == 81) { this.$tripUtils.GotoB2BPage2(B2BDomain, ConfigId, tcid); } else { this.$tripUtils.GotoB2BPage(B2BDomain, ConfigId, tcid); } } else { this.$tripUtils.GotoB2CPage(B2BDomain, ConfigId, tcid); } }, goTeamBalance(id, OutBranchId) { this.$router.push({ name: "TeamBalancePayment", query: { id: id, OutBranchId: OutBranchId, IsHaveAuth: true, blank: "y", tab: "团队收支明细", }, }); }, //开团或修改 goToOpenTravel(path, configId, tcid, item) { if (configId > 0) { this.$store.commit("pageConditionUpdate", this.queryMsg); this.$router.push({ name: path, query: { configId: configId, offerId: item.Config_OfferId, openState: 1, tcid: tcid, blank: "y", tab: "团期配置", }, }); } else { this.$router.push({ name: path, }); } }, //当团修改 goTonowTeam(path, configId, tcid, TCNUM, item) { if (configId > 0) { this.$store.commit("pageConditionUpdate", this.queryMsg); this.$router.push({ name: path, query: { configId: configId, offerId: item.Config_OfferId, openState: 1, tcid: tcid, TCNUM: TCNUM, blank: "y", tab: "团期配置", }, }); } else { this.$router.push({ name: path, }); } }, //删除团期 removeTeamInfo(TCID) { var that = this; that.Confirm(that.$t("tips.shifoushanchu"), function () { var msg = { TCID: TCID, }; that.apipost( "travel_post_RemoveTravelPrice", msg, (res) => { if (res.data.resultCode == 1) { that.Success(res.data.message); that.getControlList(); } else { that.Error(res.data.message); } }, null ); }); }, //获取城市 getCountryCity() { this.apipost("sellorder_get_GetAllStartCity", {}, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.CityList = res.data.data; } }); }, getSellorCompany() { //出团公司 this.apipost( "sellorder_post_GetBranchList", {}, (res) => { if (res.data.resultCode == 1) { this.queryCommonData.companyList = res.data.data; } }, (err) => {} ); }, //点击op备注 ckOPremark(item) { this.remarkMsg.TCID = item.TCID; this.remarkMsg.OPRemark = item.OPRemark; this.remarkMsg.OPInnerRemark = item.OPInnerRemark; this.queryCommonData.setPlatDialog = false; this.queryCommonData.outerVisible = true; }, //设置OP备注 setOPremark() { this.apipost( "travel_post_SetTravelPrcieOpRemark", this.remarkMsg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.queryCommonData.outerVisible = false; this.getControlList(); } else { this.Error(res.data.message); } }, (err) => {} ); }, //点击本团卖点 ckSellPoint(item) { this.queryCommonData.SellingPoints = true; this.remarkMsg.ConfigId = item.ID; this.remarkMsg.ProductRecommend = item.ProductRecommend; this.remarkMsg.TCID = item.TCID; }, //本团卖点 SetSellingPoints() { this.apipost( "travel_post_SetSellingPoints", this.remarkMsg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.queryCommonData.SellingPoints = false; this.getControlList(); } else { this.Error(res.data.message); } }, (err) => {} ); }, //弹窗选择复制的团期信息 CopyTripAndFeature(item, type) { this.CopyTripAndFeatureMsg.updateType = type; this.CopyTripAndFeatureMsg.isShowTripFeature = true; this.CopyTripAndFeatureMsg.CopyTrip = []; this.CopyTripAndFeatureMsg.copyType = ""; this.CopyTripAndFeatureMsg.TCID = item.TCID; this.CopyTripAndFeatureMsg.CurrentTCNUM = item.TCNUM; this.CopyTripAndFeatureMsg.CopyTCNUM = ""; this.CopyTripAndFeatureMsg.StartDate = item.StartDateStr; this.getVisaEmployeeList(); }, //保存复制的行程信息 SetCopyTripAndFeature() { var that = this; var sMsg = ""; this.CopyTripAndFeatureMsg.copyType = ""; if ( this.CopyTripAndFeatureMsg.CopyTrip && this.CopyTripAndFeatureMsg.CopyTrip.length > 0 ) { this.CopyTripAndFeatureMsg.copyType = this.CopyTripAndFeatureMsg.CopyTrip.join( "," ); this.CopyTripAndFeatureMsg.CopyTrip.forEach((item) => { if (item == 1) { sMsg += this.$t("sm.xianluxingcheng"); } if (item == 2) { sMsg += "、" + this.$t("salesModule.TripSpecial"); } }); } var cmdStr = "travel_post_CopyTripAndFeature"; var tipMsg = this.$t("objFill.v101.shifoujian") + "【" + this.CopyTripAndFeatureMsg.CopyTCNUM + "】" + this.$t("objFill.v101.di") + sMsg + "," + this.$t("objFill.v101.fuzhidao") + "【" + this.CopyTripAndFeatureMsg.CurrentTCNUM + "】" + this.$t("commonPickUp.Pick_Team") + "?"; if (this.CopyTripAndFeatureMsg.updateType == 2) { cmdStr = "travel_post_SetTCStartDate"; tipMsg = this.$t("objFill.v101.shifouxiiug") + "【" + this.CopyTripAndFeatureMsg.CurrentTCNUM + "】" + this.$t("objFill.v101.dictriqiwei") + this.CopyTripAndFeatureMsg.StartDate; } that.Confirm(tipMsg, function () { that.saveLoading = true; that.apipost( cmdStr, that.CopyTripAndFeatureMsg, (res) => { that.saveLoading = false; if (res.data.resultCode == 1) { if (that.CopyTripAndFeatureMsg.updateType == 1) { that.Success(that.$t("objFill.v101.fuzhixingccg")); } else { that.Success(res.data.message); } that.CopyTripAndFeatureMsg.isShowTripFeature = false; that.CopyTripAndFeatureMsg.CopyTrip = []; that.CopyTripAndFeatureMsg.copyType = ""; that.CopyTripAndFeatureMsg.TCID = 0; that.CopyTripAndFeatureMsg.CopyTCNUM = ""; that.CopyTripAndFeatureMsg.StartDate = ""; that.getControlList(); } else { that.Error(res.data.message); } }, (err) => {} ); }); }, ckChangePrice(item, changeType) { this.changePriceMsg.isShowChangePrice = true; this.changePriceMsg.TCID = item.TCID; this.changePriceMsg.ChangeType = changeType; }, //价格变更 SetChangePrice() { var that = this; that.apipost( 'travel_post_SetTravelPriceChange', that.changePriceMsg, (res) => { that.saveLoading = false; if (res.data.resultCode == 1) { that.Success(res.data.message); that.changePriceMsg.isShowChangePrice = false; that.changePriceMsg.NewB2BPrice = ""; that.changePriceMsg.NewB2CPrice = ""; that.changePriceMsg.ChangeRemark = ""; that.changePriceMsg.TCID = 0; that.changePriceMsg.ChangeType = 1; that.getControlList(); } else { that.Error(res.data.message); } }, (err) => {} ); }, //签证op设置 ckOPInfo(item) { this.VisaOPMsg.VisaShow = true; this.VisaOPMsg.VisaId = item.VisaOPId == 0 ? "" : item.VisaOPId; this.VisaOPMsg.VisaAssistId = ""; this.VisaOPMsg.VisaAssistIds = item.VisaAssistantId && item.VisaAssistantId.length > 0 ? item.VisaAssistantId.split(",").map((item) => Number(item)) : []; this.VisaOPMsg.TCID = item.TCID; this.getVisaEmployeeList(); }, //签证op设置 SetVisaOPInfo() { this.VisaOPMsg.VisaAssistId = ""; if (this.VisaOPMsg.VisaAssistIds && this.VisaOPMsg.VisaAssistIds.length > 0) { this.VisaOPMsg.VisaAssistId = this.VisaOPMsg.VisaAssistIds.join(","); } this.apipost( "travel_get_SetTravelPriceVisaOp", this.VisaOPMsg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.VisaOPMsg.VisaShow = false; this.getControlList(); } else { this.Error(res.data.message); } }, (err) => {} ); }, //根据当前员工所在部门获取该部门及子部门员工信息 getVisaEmployeeList() { let userInfo = this.getLocalStorage(); let msg = { GroupId: userInfo.RB_Group_id, BranchId: "-1", DepartmentId: "232", PostId: "-1", IsLeave: "0", }; this.apipost( "admin_get_EmployeeGetList", msg, (res) => { if (res.data.resultCode == 1) { this.VisaEmployeeList = res.data.data; } }, (err) => {} ); }, checkedFlight(item) { this.queryMsg.FlightState = item.Id; this.queryCommonData.flightCKed = []; this.queryCommonData.flightCKed.push(item.Id); }, checkedUnion(item) { this.queryMsg.IsShowUnion = item.Id; this.queryCommonData.IsUnionCked = []; this.queryCommonData.IsUnionCked.push(item.Id); }, //点击选取出团公司 getCompanyCheck(item) { item.isShow = !item.isShow; this.queryCommonData.checkCompanyAll = false; this.$forceUpdate(); this.queryMsg.OutBranchIds = []; this.queryCommonData.BranchList.forEach((x) => { if (x.isShow) { this.queryMsg.OutBranchIds.push(x.Id); } }); if ( this.queryMsg.OutBranchIds.length == this.queryCommonData.BranchList.length || this.queryMsg.OutBranchIds.length == 0 ) { this.queryCommonData.checkCompanyAll = true; } this.resetPageIndex(); this.getControlList(); }, //查询全部 getCompanyCheckAll() { this.queryCommonData.checkCompanyAll = true; this.queryMsg.OutBranchIds = []; this.queryCommonData.BranchList.forEach((x) => { x.isShow = false; }); this.getControlList(); }, SetPrice(value) { if (value == null) { return 0.0; } let nStr = value.toFixed(2); nStr += ""; let x = nStr.split("."); let x1 = x[0]; let x2 = x.length > 1 ? "." + x[1] : ""; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, "$1" + "," + "$2"); } return x1 + x2; }, //隐藏显示 ShowUnionList(item) { // this.queryCommonData.showUnion = !this.queryCommonData.showUnion; item.isshowUnion = !item.isshowUnion; if (item.isshowUnion) { item.UnionText = this.$t("sm.yincangLianyun"); } else { item.UnionText = this.$t("sm.xianshiLianyun"); } this.$forceUpdate(); }, //酒店餐厅处理跳转 goHotelDiningBus(item, HotelDiningBus, type) { if (type == 1) { this.$router.push({ name: "ChangeHotel", query: { TCNUM: item.TCNUM, id: item.TCID, blank: "y", tab: "酒店变更", }, }); } else { this.$router.push({ name: "ChangeDining", query: { TCNUM: item.TCNUM, id: item.TCID, blank: "y", tab: "餐厅变更", }, }); } }, //显示弹窗层 ShowUploadWord(item, type) { this.queryCommonData.UploadWORDTip = true; this.queryCommonData.UploadItem = item; this.queryCommonData.UploadItem.Type = type; }, //保存WORD路劲 UploadAttachment(file) { var that = this; let newArr = []; newArr.push(file.file); let fileName = file.file.name; var path = "/Upload/WordTrip/"; this.UploadSelfFileT(path, newArr, (res) => { if (res.data.StatusCode == 1) { that.queryCommonData.uploadLoading = true; let uploadMsg = { TCID: that.queryCommonData.UploadItem.TCID, Type: that.queryCommonData.UploadItem.Type, wordPath: res.data.FilePath, }; that.apipost( "travel_post_UploadWord", uploadMsg, (res) => { that.queryCommonData.uploadLoading = false; if (res.data.resultCode == 1) { that.Success(res.data.message); that.queryCommonData.UploadWORDTip = false; that.getControlList(); } else { that.Error(res.data.message); } }, (err) => {} ); } else { that.Error(this.$t("objFill.shangcwjsb")); } }); }, //结团/正常 OutGroup(TCID, Status, TravelEndAudit) { let msg = { TCID: TCID, Status: Status, }; if (TravelEndAudit == 1) { let that = this; that .$confirm(this.$t("objFill.cituanxlykq"), this.$t("tips.tips"), { confirmButtonText: this.$t("pub.sureBtn"), cancelButtonText: this.$t("pub.cancelBtn"), type: "warning", }) .then(() => { that.setPriceStatus(msg); }) .catch(() => {}); } else { this.setPriceStatus(msg); } }, setPriceStatus(msg) { this.apipost("travel_post_SetPriceStatus", msg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); this.queryCommonData.checkDialogAll = false; this.queryCommonData.ckedplat = []; } else { this.Info(res.data.message); } }); }, //分房表下载 exportExcel_singleRoom(item) { this.queryCommonData.loading = true; //导出报表 let msg = { TCID: item.TCID, isGetTicket: 1, //不查询机票 isGetZiYouXing: 0, //查询自由行 isOnlyFenFang: 1, //只查询已分房的 }; var fileName = "【" + item.TCNUM + "】" + this.$t("ground.fenfangbiao") + "[" + this.getCurrentTime() + "].xls"; this.GetLocalFile("travel_get_GetTravelRoomExport", msg, fileName, (res) => { this.queryCommonData.loading = false; }); }, getCurrentTime() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds(); return year + "_" + month + "_" + day + "_" + hour + "_" + minute + "_" + second; }, //报价单查询 getOfferQuery(createBy) { this.offerQMsg.CreateBy = createBy; //this.offerQMsg.CreateBy = 0; this.apipost("travel_get_GetOfferListExtService", this.offerQMsg, (res) => { if (res.data.resultCode == 1) { this.offerDataList = res.data.data; } else { this.Info(res.data.message); } }); }, //报价单选中 clickOfferItem(oItem) { this.offerDataList.forEach((item) => { item.IsCheck = false; }); oItem.IsCheck = true; }, //保存报价单 saveOffer(item) { var offerId = 0; this.offerDataList.forEach((item) => { if (item.IsCheck) { offerId = item.OfferId; } }); if (offerId > 0) { var updateMsg = { OfferId: offerId, ConfigId: item.ID, }; this.apipost("travel_post_UpdateConfigOfferIdService", updateMsg, (res) => { item.IsShowOffer = false; if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); } else { this.Info(res.data.message); } }); } else { this.Info(this.$t("objFill.qingxzbjqd")); } }, //清空报价单信息 clearOfferMsg() { this.offerQMsg.CreateBy = 0; this.offerQMsg.QStartDate = ""; this.offerQMsg.QEndDate = ""; var myDate = new Date(); var nowDate = myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 1) + "-" + myDate.getDate(); this.offerQMsg.QStartDate = nowDate; this.offerDataList = []; }, //修改是否发团 setIsSetOutOffer(item, IsSetOut) { var updateMsg = { TCID: item.TCID, IsSetOut: IsSetOut, }; this.apipost("travel_post_SetIsSetOutService", updateMsg, (res) => { if (res.data.resultCode == 1) { this.Success(res.data.message); this.getControlList(); } else { this.Info(res.data.message); } }); }, //权限验证 checkAuth() { this.apipost("userauth_get_CheckUserAuthNewService", "", (res) => { if (res.data.resultCode == 1) { var tempData = res.data.data; if (tempData && tempData.length > 0) { if (tempData.includes(this.$AuthCode.TeamShouZhi)) { this.TeamShouZhi = true; } if (tempData.includes(this.$AuthCode.OutHotel)) { this.OutHotel = true; } if (tempData.includes(this.$AuthCode.FenXiaoLianYun)) { this.FenXiaoLianYun = true; } if (tempData.includes(this.$AuthCode.ShangChuanFenFangbiao)) { this.ShangChuanFenFangbiao = true; } if (tempData.includes(this.$AuthCode.ChaKanGuest)) { this.ChaKanGuest = true; } if (tempData.includes(this.$AuthCode.FenFangBiaoXiaZai)) { this.FenFangBiaoXiaZai = true; } if (tempData.includes(this.$AuthCode.LookOPCommission)) { this.LookOPCommission = true; } if (tempData.includes(this.$AuthCode.IsSanKeTicket)) { this.IsSanKeTicket = true; } if ( this.IsModifyTravelControl == 0 && tempData.includes("T_EditTravelControl") ) { this.IsModifyTravelControl = 1; } } } }); }, }, filters: { formatStartDate(value) { let dataArr = value.split("-"); return dataArr[1] + "-" + dataArr[2]; }, priceFormat(value) { if (value == null) { return 0.0; } let nStr = value.toFixed(2); nStr += ""; let x = nStr.split("."); let x1 = x[0]; let x2 = x.length > 1 ? "." + x[1] : ""; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, "$1" + "," + "$2"); } return x1 + x2; }, }, mounted() { this.IsModifyTravelControl = 0; if ( this.CurrentUserInfo.RB_Branch_id == 0 || this.CurrentUserInfo.RB_Branch_id == 1216 || this.CurrentUserInfo.RB_Branch_id == 49 || this.CurrentUserInfo.RB_Branch_id == 1218 || this.CurrentUserInfo.RB_Branch_id == 1249 || this.CurrentUserInfo.RB_Branch_id == 1252 || this.CurrentUserInfo.RB_Branch_id == 1253 ) { this.IsModifyTravelControl = 1; } this.checkAuth(); //销售公司 this.getSellorCompany(); this.getCompanyList(); this.getLineList(); this.getAirlineList(); this.getEmployeeList(); this.getCountryCity(); }, created() { let userinfo = this.getLocalStorage(); //默认显示联运 this.queryMsg.IsShowUnion = -1; let userInfo = this.getLocalStorage(); // 团提成权限 let ActionMenuCode = userinfo.ActionMenuCode; if (ActionMenuCode.indexOf("isCommissionDetails") != -1) { this.isCommissionDetails = true; } if (ActionMenuCode.indexOf("SaleB2COrWeChat") != -1) { this.SaleB2COrWeChatStatus = false; } this.CurrentUserInfo = userInfo; if (this.$route.query.TCID) { this.queryMsg.TCID = this.$route.query.TCID; } if (this.$route.query.tcmun) { this.queryMsg.TCNUM = this.$route.query.tcmun; } if (this.$route.query.HotelId) { this.queryMsg.HotelId = this.$route.query.HotelId; } if (this.$route.query.HotelUseTime) { this.queryMsg.HotelUseTime = this.$route.query.HotelUseTime; } //只看主团 if (this.$route.query.IsUnionCked) { this.queryMsg.IsShowUnion = this.$route.query.IsUnionCked; } if (this.CurrentUserInfo.IsParentCompany == undefined) { this.queryCommonData.IsParentCompany = 2; } else { this.queryCommonData.IsParentCompany = this.CurrentUserInfo.IsParentCompany; } if (this.$route.query.hasOwnProperty("cache")) { if (this.$store.state.pageCondition != null) { this.queryMsg = this.$store.state.pageCondition; } } var myDate = new Date(); var nowDate = myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 1) + "-" + myDate.getDate(); if (!this.$route.query.tcmun) { this.queryMsg.StartGroupDate = nowDate; } if (this.CurrentUserInfo.RB_Group_id == 2) { if ( this.queryCommonData.IsParentCompany != 1 && this.CurrentUserInfo.RB_Branch_id != 49 && this.CurrentUserInfo.RB_Branch_id != 1249 && this.CurrentUserInfo.RB_Branch_id != 1252 && this.CurrentUserInfo.RB_Branch_id != 1253 ) { this.queryMsg.OutBranchIds.push(this.CurrentUserInfo.RB_Branch_id); } } var routeName = this.$route.name; if (routeName == "TravelControlList") { this.queryMsg.TeamType = 0; } if (routeName == "TravelControlList2") { this.queryMsg.TeamType = 0; } this.getControlList(); this.getTeamList(); this.getTravelTeamList(); }, }; </script>