Commit 188005bd authored by 华国豪's avatar 华国豪 🙄

no message

parent 89e2b564
<style>
@import "../../assets/css/newTravelManager.css";
.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;}
</style>
<template>
<div>
<div class="TC_Content TC-MyList">
<div class="query-box">
<div class="TC_companyList">
<span :class="{'TC_checked':queryMsg.FreeRecommendType==1}" @click="GetList(1)">当季精选特惠</span>
<span :class="{'TC_checked':queryMsg.FreeRecommendType==2}" @click="GetList(2)">热门速成自由行</span>
<!-- <span :class="{'TC_checked':queryCommonData.checkCompanyAll}" @click="getCompanyCheckAll()">全部</span>
<span v-for="(item,bindex) in queryCommonData.BranchList" :class="{'TC_checked':item.isShow}" @click="getCompanyCheck(item)">{{item.BName}}</span> -->
<input style="float:right" type="button" class="normalBtn" value="添加" @click="addList"/>
</div>
<!-- <ul>
<li>
<span>
<em>所属线路</em>
<el-select class="w150" v-model="queryMsg.LineId" 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.LineList" :label="item.LineName" :value="item.LineID" :key="item.LineID"></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>系列名称</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>团号</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>发团日期</em>
<el-date-picker class="w150" type="date" v-model="queryMsg.StartGroupDate" :picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
<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 class="advancedLi" style="height:34px;">
<el-popover popper-class="advanceQueryList" v-model="queryCommonData.showHigradeSearch" trigger="click">
<div>
<div class="TC_queryTitle">团控高级查询</div>
<div class="clearfix">
<div class="TC_leftSearch">
<div>
<span>航空公司</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>操作人员</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 in queryCommonData.EmployeeList" :label="item.EmName" :value="item.EmployeeId"
:key="item.EmployeeId"></el-option>
</el-select>
</div>
<div>
<span>行程天数</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>联运城市</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>
<div class="TC_rightSearch">
<div>
<span>团队人数</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>报名人数</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>只看报超团</span>
<el-switch v-model="queryMsg.OnlyShowOverTeam" active-value="true" inactive-value="false"></el-switch>
</div>
<div>
<span>销售公司</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>
</div>
<div class="comSearchDiv">
<span>团队状态</span>
<span>
<el-checkbox v-model="queryCommonData.checkTCStateAll" @change="checkAllTeam">全选</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>销售平台</span>
<span>
<el-checkbox v-model="queryCommonData.checkPlatForm" @change="checkAllSales">全选</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>团期状态</span>
<span>
<el-checkbox v-model="queryCommonData.checkGroupALL" @change="checkGroupAll">全选</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">预警团</el-checkbox>
</span>
</div>
<div class="comSearchDiv">
<span>航班状态</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>联运状态</span>
<span>
<el-select class="w180 multiple_input" v-model="queryMsg.IsShowUnion">
<el-option :key="1" label="显示" :value="1"></el-option>
<el-option :key="0" label="隐藏" :value="0"></el-option>
</el-select>
</span>
</div>
<button class="normalBtn TC_SearchBtn" @click="getControlList(),resetPageIndex(),queryCommonData.showHigradeSearch=false">查询</button>
</div>
<span class="advancedQuery" slot="reference">高级查询
<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">团控预警查询</div>
<div class="clearfix">
<div class="TC_leftSearch">
<div>
<span style="display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;">报名人数</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="尚未有人报名" value="1"></el-option>
<el-option label="10人以下" value="2"></el-option>
<el-option label="10人以上" value="3"></el-option>
<el-option label="余位小于5人" value="4"></el-option>
<el-option label="有候补人数" value="5"></el-option>
</el-select>
</div>
<div>
<span style="display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;">天数选择</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="10天以内" value="1"></el-option>
<el-option label="15天以内" value="2"></el-option>
<el-option label="20天以内" value="3"></el-option>
<el-option label="20天以外" value="4"></el-option>
</el-select>
</div>
<div>
<span style="display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;">上座率</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="不足80%" value="2"></el-option>
<el-option label="不足60%" value="3"></el-option>
<el-option label="不足40%" value="4"></el-option>
</el-select>
</div>
</div>
</div>
<button class="normalBtn TC_SearchBtn" @click="getControlList(),resetPageIndex(),queryCommonData.showWarningSearch=false">查询</button>
</div>
<span class="advancedQuery" slot="reference">预警查询
<i class="iconfont icon-xiaotuziCduan_1"></i>
</span>
</el-popover>
</li>
<li>
<button class="hollowFixedBtn" @click="getControlList(),resetPageIndex()">{{$t('pub.searchBtn')}}</button>
</li>
</ul> -->
</div>
<div class="TravelTclList" v-loading="queryCommonData.loading">
<ul>
<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">团名:</div>
<div class="TCL_Content">{{item.Title}}</div>
</div>
</div>
<div>
<div class="el-col" style="position:relative;width:200px">
<div v-if="item.IsWarning===1" title="紧急团" class="travel_warning"></div>
<div>
<div class="TC_teamType">
<span v-if="item.IsB2B==0" title="内部团"></span>
</div>
<div class="TCL-OutBranchName" title="销售公司">{{item.OutBranchName}}</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">待完善</span>
<span class="TC_xiajia" v-if="item.TCState==2">已下架</span>
<span class="TC_xiajia quxiao" v-if="item.TCState==4">已取消</span>
</div>
</div>
</div>
<div class="el-col" style="width:200px;">
<div class="d2">
<p class="TCLflight_GO">
<i class="iconfont icon-hangban1"></i>航班
</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">起飞时间</th>
<th width="80">到达时间</th>
<th width="100">经停城市</th>
</tr>
<tr v-for="(ds,din) in item.flightList" :key="din" style="text-align:center;">
<td class="_d_name _color_666">
<span v-if="din==0">{{$t('Airticket.Air_go')}}</span>
<span v-else-if="din==item.flightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span>
<span v-else-if="din>0 && din!=item.flightList.length-1">{{$t('Airticket.Air_transit')}}</span>
</td>
<td>
<div>{{ds.Flight_number}}</div>
<div style="margin-top:5px;">{{ds.AlName}}</div>
</td>
<td>
<div>{{ds.FlightDate}} {{ds.Departure_time}}</div>
<div style="margin-top:5px;">{{ds.dName}}</div>
</td>
<td>
<div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div>
<div style="margin-top:5px;">{{ds.aName}}</div>
</td>
<td>{{ds.StopoverName}}</td>
</tr>
</table>
<div class="FlightDiv-TCL" slot="reference">
<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.DepartureName}}
{{subItem.StopoverName==""?"":"-"+subItem.StopoverName}}
{{subItem.ArrivalCityName==""?"":"-"+subItem.ArrivalCityName}}
<span v-if="subItem.FlightState==1" class="TCL-greenType">【OK】</span>
<span v-else class="TCL-redType">【暂定】</span>
</span>
</div>
</div>
</el-popover>
</div>
</div>
<div class="el-col" style="width:220px;">
<div class="d3">
<p>
<i class="iconfont icon-tuandui"></i>团队信息
</p>
<p>
<em>{{item.DayNum}}{{item.NightNum}}</em>
</p>
<p class="travelnowrap">
<span>出发时间</span>
{{item.StartDate}}
</p>
<p class="travelnowrap">
<span>出团通知书</span>
{{item.OutNotice==1?"OK":"暂定"}}
</p>
<p class="travelnowrap">
<span>出团公司</span>
{{item.OutBranchName}}
</p>
</div>
</div>
<div class="el-col" style="width:190px;">
<div class="d4">
<p>
<i class="iconfont icon-jiage"></i>价格信息
</p>
<p class="travelprice">同业价:¥{{item.B2BMemberPrice|priceFormat(item.B2BMemberPrice)}}</p>
<p class="travelprice">直客价:¥{{item.B2CMemberPrice|priceFormat(item.B2CMemberPrice)}}</p>
<p>
<el-popover width="700" trigger="click" popper-class="TC_customerInfo">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="2" style="text-align:center" width="60">
<i>标准</i>
</td>
<td class="TC_cusTitle">同行会员</td>
<td><b>{{item.B2BMemberPrice|priceFormat(item.B2BMemberPrice)}}</b></td>
<td class="TC_cusTitle">同行</td>
<td><b>{{item.B2BPrice|priceFormat(item.B2BPrice)}}</b></td>
<td class="TC_cusTitle">直客会员</td>
<td><b>{{item.B2CMemberPrice|priceFormat(item.B2CMemberPrice)}}</b></td>
<td class="TC_cusTitle">直客</td>
<td><b>{{item.B2CPrice|priceFormat(item.B2CPrice)}}</b></td>
</tr>
<tr>
<td class="TC_cusTitle">婴儿</td>
<td><b>{{item.BabyPrice|priceFormat(item.BabyPrice)}}</b></td>
<td class="TC_cusTitle">单地接价格</td>
<td colspan="5">
<b>{{item.SingleDMCPrice|priceFormat(item.SingleDMCPrice)}}</b>
</td>
</tr>
<tr>
<td rowspan="2" style="text-align:center">
<i>增收</i>
</td>
<td class="TC_cusTitle">儿童占床</td>
<td><b>{{(item.ChildNeedPrice)|priceFormat(item.ChildNeedPrice)}}</b></td>
<td class="TC_cusTitle">儿童附加费</td>
<td><b>{{item.BabyChargePrice|priceFormat(item.BabyChargePrice)}}</b></td>
<td class="TC_cusTitle">老人附加费</td>
<td><b>{{item.OldManChargePrice|priceFormat(item.OldManChargePrice)}}</b></td>
<td class="TC_cusTitle">签证费</td>
<td><b>{{item.VisaPrice|priceFormat(item.VisaPrice)}}</b></td>
</tr>
<tr>
<td class="TC_cusTitle">单房差</td>
<td><b>{{item.SingleRoomPrice|priceFormat(item.SingleRoomPrice)}}</b></td>
<td class="TC_cusTitle">保险</td>
<td><b>{{item.SafeMoney|priceFormat(item.SafeMoney)}}</b></td>
<td class="TC_cusTitle">杂费</td>
<td colspan="3"><b>{{item.OtherPrice|priceFormat(item.OtherPrice)}}</b></td>
</tr>
<tr>
<td style="text-align:center">
<i>减免</i>
</td>
<td class="TC_cusTitle">儿童不占床</td>
<td><b>{{item.ChildNoNeedPrice|priceFormat(item.ChildNoNeedPrice)}}</b></td>
<td class="TC_cusTitle">退签证费</td>
<td colspan="6"><b>{{item.BackVisaPrice|priceFormat(item.BackVisaPrice)}}</b></td>
</tr>
</table>
<span slot="reference" class="price">查看价格明细</span>
</el-popover>
</p>
</div>
</div>
<div class="el-col" style="width:150px;">
<div class="d5">
<p>
<i class="iconfont icon-tuanwei"></i>团位信息
</p>
<p>
<span>当前余位</span>
<i>{{item.SurplusSeat=item.SurplusSeat < 0 ? 0:item.SurplusSeat}}</i> </p> <p>
<span>已报入</span>
<i>
{{item.OrderGuestNum}}
<span class="TCL-redType" v-if="item.OrderLeaderGuestNum>=1">+{{item.OrderLeaderGuestNum}}</span>
</i>
</p>
<p>
<span>占位</span>
<i>{{item.Occupied}}</i>
</p>
<p class="travelnowrap">
<span>候补</span>
<span v-if="item.IsSubstitution==1" class="TCL-greenType">允许候补</span>
<span v-else class="TCL-redType">不允许候补</span>
</p>
<p>
<span>领队</span>
<span v-if="item.LeaderName==null" class="TCL-redType">尚未指派</span>
<span v-else class="TCL-greenType">{{item.LeaderName}}</span>
</p>
</div>
</div>
<div class="el-col" style="width:130px;">
<div class="d5 TC-oparation">
<p>
<i class="iconfont icon-yuangong"></i>操作OP
</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>
<div class="TC_SeatList">头等舱:{{item.FSeat}}</div>
<div class="TC_SeatList">商务舱:{{item.CSeat}}</div>
<div class="TC_SeatList">经济舱:{{item.YSeat}}</div>
</div>
</div>
<div class="el-col" style="width:200px;">
<div class="d3">
<p>
<i class="iconfont icon-wenxintishi"></i>温馨提示
</p>
<p v-if="item.VisaType">
<span>签证类型</span>
<span v-if="item.VisaType==1">个签</span>
<span v-else-if="item.VisaType==2">团签</span>
</p>
<p>
<span>送签日期</span>
<span class="TCL-redType"> {{item.SendVisaTime}}</span>
</p>
<p>
<span>出签日期</span>
{{item.OutVisaTime}}
</p>
<p>
<span>开票日期</span>
{{item.TicketDeadline}}
</p>
<p v-if="item.LineID==2&&item.EuropeVisaType>0">
<span>
<span v-if="item.EuropeVisaType">欧洲签证类型</span>
<span v-if="item.EuropeVisaType==1">英国签证</span>
<span v-else-if="item.EuropeVisaType==2">申根签证</span>
</span>
</p>
<p v-if="item.LineID==2&&item.EuropeVisaType>0&&item.EuropeVisaType==2">
<span>
<span v-if="item.EuropeVisaName">欧洲签证名称</span>
<span>{{item.EuropeVisaName}}</span>
</span>
</p>
<p v-if="item.VisaFileList.length!==0">
<span>签证资料</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>个签</span>
{{item.SignVisaNum}}
<span style="margin-left:10px;">团签</span>
{{item.GroupVisaNum}}
</p>
</div>
</div>
<div class="el-col">
<div class="d7">
<el-button @click.native='Delete(item)' type="primary" style="background:#00C6FF; border-color:#00C6FF">删除</el-button>
<!--<el-button @click.native='goUrl("RegistrationList", item.TCID,"报名清单")' type="primary" style="background:#00C6FF; border-color:#00C6FF">报名清单</el-button>
<el-dropdown trigger="click" style="margin-bottom:5px;">
<span class="el-dropdown-link">修改
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown" class="TC-dropdown">
<el-dropdown-item @click.native="goToOpenTravel('TravelManager3',item.ID,0)">系列团修改</el-dropdown-item>
<el-dropdown-item @click.native="goToOpenTravel('TravelManager3',item.ID,item.TCID)">当团修改</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button @click='goUrlMake("GroupAdvertising",item.LineID,item.TCID,"团期广告")' type="primary" style="background:#67c23a; border-color:#67c23a">广告&nbsp;{{item.AdvertCount}}</el-button>
<el-button @click="ckOPremark(item)" type="primary" style="background:#F16C3C; border-color:#F16C3C">OP备注</el-button>
<el-dropdown trigger="click">
<span class="el-dropdown-link">更多操作
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown" class="TC-dropdown">
<el-dropdown-item @click.native="goTeamBalance(item.TCID,item.OutBranchId)">团队收支明细</el-dropdown-item>
<el-dropdown-item @click.native="goUrlR('confirmationOrderDownLoad',item.TCID,item.ID,item.StartCityID)">行程下载</el-dropdown-item>
<el-dropdown-item @click.native="removeTeamInfo(item.TCID)">删除</el-dropdown-item>
<el-dropdown-item v-if="item.TCState==2||item.TCState==0||item.TCState==1" @click.native="setUpPlat(item)">上架</el-dropdown-item>
<el-dropdown-item v-if="item.TCState==3" @click.native="Setshelves(item.TCID)">下架</el-dropdown-item>
<el-dropdown-item @click.native="goB2B(item.ConfigId)">B2B预览</el-dropdown-item>
<el-dropdown-item @click.native='goUrl("DistributionTransport",item.ID,"分销联运")'>分销联运</el-dropdown-item>
<el-dropdown-item @click.native='ckSellPoint(item)'>本团卖点</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown> -->
</div>
</div>
</div>
<div class="TC_remarkContent" v-if="item.OPRemark||item.OPInnerRemark">
<div class="clearfix TCL-redType" v-if="item.OPRemark">
<div class="TCL_remarkTitle">OP对外备注:</div>
<div class="TCL_Content">{{item.OPRemark}}</div>
</div>
<div class="clearfix TCL-redType" v-if="item.OPInnerRemark">
<div class="TCL_remarkTitle">OP对内备注:</div>
<div class="TCL_Content">{{item.OPInnerRemark}}</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">请选择上架平台</div>
<span class="setPlatLeft">销售平台</span>
<span>
<el-checkbox v-model="queryCommonData.checkDialogAll" @change="checkAllDialog" style="margin-right:20px;">全选</el-checkbox>
<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>
</span>
<span>
<button class="normalBtn" style="margin-left:50px;" @click="SetshelvesUp">确定</button>
<button class="hollowFixedBtn" @click="queryCommonData.setPlatDialog=false">取消</button>
</span>
</div>
<div class="combottomDiv OPremarkDiv" v-if="queryCommonData.outerVisible">
<div class="combottomTitle">OP备注</div>
<el-form label-width="100px">
<el-col :span="8">
<el-form-item label="OP对外备注" prop="Remark">
<el-input type="textarea" v-model="remarkMsg.OPRemark"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="OP对内备注" prop="Remark">
<el-input type="textarea" v-model="remarkMsg.OPInnerRemark"></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">本团卖点</div>
<el-form label-width="100px">
<el-col :span="8">
<el-form-item label="本团卖点" prop="Remark">
<el-input type="textarea" v-model="remarkMsg.ProductRecommend"></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>
<!-- 添加团期 -->
<el-dialog
title="添加团期"
:visible.sync="tcidshow"
width="400px">
团期:<el-input v-model.number="addform.tcid" placeholder="请输入团期ID" style="width:300px;display:inline-block"></el-input>
<span slot="footer" class="dialog-footer">
<el-button @click="tcidshow = false" size="small">取 消</el-button>
<el-button type="danger" @click="AddTicd" size="small">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
//查询数据列表
queryCommonData: {
//线路列表
LineList: [],
//系列列表
LineTeamList: [],
//下拉框默认值
SelectDefaultValue: 0,
//公司选项卡默认选中
activeName: "-1",
//航空公司
AirlineList: [],
//员工列表
EmployeeList: [],
//公司数据
BranchList: [],
//是否为分公司
IsParentCompany: "",
//显示销售平台
showPlatForm: false,
//团期全选
checkGroupALL: false,
//销售平台全选
checkPlatForm: false,
//团队状态全选
checkTCStateAll: true,
//是否显示弹出框
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: [],
loading: false,
checkCompanyAll: true,
showUnion:false,
UnionText:'显示联运',
//本团卖点
SellingPoints:false,
},
//查询参数
queryMsg: {
FreeRecommendType:1,
//出团公司集合
OutBranchIds: [],
pageIndex: 1,
pageSize: 10,
LineId: 0,
LineIdList: [],
LineteamId: 0,
TCNUM: "",
StartGroupDate: "",
EndGroupDate: "",
OutBranchId: -1,
AirTicketId: 0,
TeamMinNum: "",
TeamMaxNum: "",
CreateBy: 0,
ApplyMinNum: "",
ApplyMaxNum: "",
DayNum: "",
OnlyShowOverTeam: false,
TCState: [], //去掉默认显示
GroupState: [],
SalePlat: [],
UnionCityId: 0,
SaleBranchId: [],
total: 0,
//是否有数据
noData: false,
currentPage: 1,
//航班配置
FlightState: 0,
//预警团
IsWarning: false,
WarningQuery: "-1",
RateOnDay: "-1",
RateOn: "-1",
TeamType:1,//小包团
//是否显示联运
IsShowUnion: 1
},
remarkMsg: {
TCID: 0,
OPRemark: "",
OPInnerRemark: "",
//配置
ConfigId:0,
//本团卖点
ProductRecommend:""
},
flightStatus: [{
Id: 0,
Name: "不限",
Checked: true
},
{
Id: 1,
Name: "已配置",
Checked: false
},
{
Id: 2,
Name: "未配置",
Checked: false
}
],
pickerBeginDateBefore: {
disabledDate: time => {
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();
}
},
tcidshow:false,
addform:{
tcid:"",
},
};
},
methods: {
AddTicd(){
if(this.addform.tcid==""){
this.Error("请输入团期号!")
return;
}
this.ListWay();
},
Delete(item){
this.addform.tcid=item.TCID;
this.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.addform.freeRecommendType=0;
this.ListWay();
}).catch(() => {
});
},
ListWay(){
this.apipost("travel_post_SetFreeRecommendType", this.addform, res => {
this.tcidshow=false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getControlList();
}else{
this.Error(res.data.message);
}
});
},
addList(){
this.tcidshow=true;
this.addform.tcid="";
this.addform.freeRecommendType=this.queryMsg.FreeRecommendType;
},
GetList(num){
this.queryMsg.FreeRecommendType=num;
this.getControlList();
},
downloadFile: function (item) {
let reg = /^http(s)?:\/\/(.*?)\//;
this.downloadFileRename(item.FullUrl.replace(reg, ""), item.Name);
},
//翻页
handleCurrentChange(val) {
this.queryMsg.pageIndex = val;
this.getControlList();
},
//重新查询
resetPageIndex() {
this.queryMsg.pageIndex = 1;
this.queryMsg.currentPage = 1;
},
//获取线路列表
getLineList() {
this.apipost("line_post_GetLineListExt", {}, res => {
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
}
});
},
//获取系列列表
getLineTeamList() {
this.queryMsg.LineteamId = 0;
let msg = {
lineID: this.queryMsg.LineId,
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", msg,
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;
}
this.queryCommonData.loading = true;
this.apipost(
"travel_get_GetTravelPrciePageList",
msg,
res => {
this.queryCommonData.loading = false;
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.queryCommonData.dataList.forEach(item => {
item.SalePlatList = [];
if (item.SalePlat !== null) {
var SalePlatArr = item.SalePlat.split(",");
SalePlatArr.forEach(y => {
item.SalePlatList.push(parseInt(y));
});
}
});
}
},
err => {}
);
},
//验证大小
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) {
this.queryCommonData.outerVisible = false;
this.queryCommonData.setPlatDialog = true;
this.queryCommonData.singleTCID = item.TCID;
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;
}
}
},
//单团设置下架
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 = [];
}
});
},
//单团设置上架
SetshelvesUp() {
let msg = {
TCID: this.queryCommonData.singleTCID,
TCState: 3,
SalePlat: this.queryCommonData.ckedplat.join(",")
};
if (msg.SalePlat == "") {
this.Error("请选择上架平台");
return;
}
this.apipost("travel_post_SetPriceTCState", 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 = [];
}
});
},
goUrl(path, id, name) {
this.$store.commit("pageConditionUpdate", this.queryMsg);
this.$router.push({
name: path,
query: {
id: id,
blank: "y",
tab: name
}
});
},
goUrlR(path, TCID, ConfigId, cityId) {
let routeData = this.$router.resolve({
name: path,
query: {
configId: ConfigId,
cityId: cityId,
tcid: TCID,
orderId:0,
vshowL:false,
vshowM:false,
vshowTCNUM:true,
}
});
window.open(routeData.href, "_blank");
},
goUrlMake(path, LineID, TCID, name) {
this.$router.push({
name: path,
query: {
LineID: LineID,
TCID: TCID,
blank: "y",
tab: name
}
});
},
goB2B(ConfigId) {
window.open(
"http://www.oytour.com/#/detailTwo/" +
encodeURIComponent(ConfigId) +
"/preview",
"_blank"
);
},
goTeamBalance(id, OutBranchId) {
this.$router.push({
name: "TeamBalancePayment",
query: {
id: id,
OutBranchId: OutBranchId,
blank: "y",
tab: "团队收支明细"
}
});
},
//开团或修改
goToOpenTravel(path, configId, tcid) {
if (configId > 0) {
this.$store.commit("pageConditionUpdate", this.queryMsg);
this.$router.push({
name: path,
query: {
configId: configId,
openState: 1,
tcid: tcid,
blank: "y",
tab: "团期配置",
flag: true
}
});
} else {
this.$router.push({
name: path
});
}
},
//删除团期
removeTeamInfo(TCID) {
var that = this;
that.Confirm("是否删除?", 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 => {}
);
},
checkedFlight(item) {
this.queryMsg.FlightState = item.Id;
this.queryCommonData.flightCKed = [];
this.queryCommonData.flightCKed.push(item.Id);
},
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;
},
//点击本团卖点
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 => {}
);
},
//隐藏显示
ShowUnionList(){
this.queryCommonData.showUnion = !this.queryCommonData.showUnion;
if(this.queryCommonData.showUnion){
this.queryCommonData.UnionText = '隐藏联运'
}else{
this.queryCommonData.UnionText = '显示联运'
}
}
},
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.getSellorCompany();
this.getCompanyList();
this.getLineList();
this.getAirlineList();
this.getEmployeeList();
this.getCountryCity();
},
created() {
//默认显示联运
this.queryMsg.IsShowUnion = 1;
let userInfo = this.getLocalStorage();
if (this.$route.query.tcmun) {
this.queryMsg.TCNUM = this.$route.query.tcmun;
}
if (userInfo.IsParentCompany == undefined) {
this.queryCommonData.IsParentCompany = 2;
} else {
this.queryCommonData.IsParentCompany = userInfo.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();
this.queryMsg.StartGroupDate = nowDate;
if (this.queryCommonData.IsParentCompany != 1) {
this.queryMsg.OutBranchIds.push(userInfo.RB_Branch_id);
}
//默认查询全部团队状态
this.$tripUtils.TeamStatesList.TeamStates.forEach(states=>{
this.queryMsg.TCState.push(states.Id);
})
this.getControlList();
}
};
</script>
<style>
.user_time_picker .el-date-editor--date>.el-input__inner {
padding:0 10px;
font-size: 13px;
}
.user_time_picker .el-date-editor--date>span.el-input__prefix {
display: none;
}
.user_time_picker .el-date-editor--date>span.el-input__suffix{
top:-4px;right: 2px;
}
.zidingyiFz i{font-size: 14px!important;}
</style>
<template>
<div class="flexOne">
<div class="query-box">
<div style="overflow:auto">
<input type="button" class="normalBtn" value="添加" style="float:right"/>
</div>
</div>
<div class="clearfix"></div>
<!-- <div style="margin: 10px 0;" class="fz14 color333">{{$t('adm.adm_Validaccount')}}:<span class="colorE95252">{{UseNum}}</span>&nbsp;&nbsp;&nbsp;&nbsp;账号限额:<span class="colorE95252">{{TotalNum}}</span></div> -->
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>{{$t('system.table_company')}}</th>
<th>{{$t('admin.admin_Department')}}</th>
<th>{{$t('admin.admin_Post')}}</th>
<th>{{$t('system.query_name')}}</th>
<th>{{$t('system.table_sex')}}</th>
<th>{{$t('system.table_acc')}}</th>
<th>{{$t('adm.adm_logintel')}}</th>
<th>{{$t('admin.admin_Entrytime')}}</th>
<th>{{$t('admin.admin_Departuretime')}}</th>
<th>{{$t('admin.admin_operate')}}</th>
</tr>
<tr v-for="(item,index) in DataList" v-loading='loading'>
<td>{{item.BranchName}}</td>
<td>{{item.DepartName}}</td>
<td>{{item.PostName}}</td>
<td>{{item.EmName}}</td>
<td>{{item.EmSex==0 ? $t('pub.man') :$t('pub.woman')}}</td>
<td>{{item.EmAccount}}</td>
<td>{{item.EmLoginMobile}}</td>
<td>{{item.EmEntry}}</td>
<td>{{item.EmLeave | leaveTimeFormat(item.EmLeave)}}</td>
<td>
<el-tooltip class="item" effect="dark" :content="$t('adm.adm_changeUserInfo')" placement="top">
<el-button type="primary" icon="el-icon-edit" circle @click="outerVisible=true,dialogTitle='修改用户信息',updateData(item.EmployeeId),getCompany()"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('adm.adm_bindaccountinfo')" placement="top">
<el-button type="primary" class='zidingyiFz' icon="iconfont icon-bangdingzhagnhuxinxi" circle @click="goUrl('empBankAccount',item.EmployeeId)"></el-button>
</el-tooltip>
</td>
</tr>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total>
</el-pagination>
<el-dialog custom-class='w800' :title="dialogTitle" :visible.sync="outerVisible" center :before-close="closeChangeMachie">
<el-dialog custom-class='w400' :title="$t('adm.adm_changepd')" :visible.sync="innerVisible" center append-to-body :before-close="closeChangeMachie1">
<el-form :model="pwdMsg" label-width="100px" :rules="rulesPwd" ref="pwdMsg">
<el-form-item :label="$t('system.table_staffs')" prop="EmName">
<el-input class='w217' type="text" v-model="addMsg.EmName" :placeholder="$t('pub.pleaseImport')" readonly></el-input>
</el-form-item>
<el-form-item :label="$t('system.table_acc')" prop="EmAccount">
<el-input class='w217' type="text" v-model="addMsg.EmAccount" :placeholder="$t('pub.pleaseImport')" readonly></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_newPd')" prop="Pwd">
<el-input class='w217' type="password" v-model="pwdMsg.Pwd" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_Reinput')" prop="Pwd1">
<el-input class='w217' type="password" v-model="pwdMsg.Pwd1" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="innerVisible=false,resetForm('pwdMsg')">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" @click="submitForm1('pwdMsg')">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-dialog custom-class='w400' :title="$t('adm.adm_changelogintel')" :visible.sync="updateLoginMobile" center append-to-body :before-close="closeChangeMachieulm">
<el-form :model="ulmMsg" label-width="100px" :rules="rulesulm" ref="ulmMsg">
<el-form-item :label="$t('adm.adm_staff')" prop="EmName">
<el-input class='w217' type="text" v-model="addMsg.EmName" :placeholder="$t('pub.pleaseImport')" readonly></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_logintel')" prop="EmAccount">
<el-input class='w217' type="text" v-model="EmLoginMobile" :placeholder="$t('pub.pleaseImport')" readonly></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_newphone')" prop="LoginMobile">
<el-input class='w217' type="text" v-model="ulmMsg.LoginMobile" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_Reinput')" prop="LoginMobile1">
<el-input class='w217' type="text" v-model="ulmMsg.LoginMobile1" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="updateLoginMobile=false,resetForm('ulmMsg')">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" @click="submitFormulm('ulmMsg')">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px" >
<table class="layerTable layerNoIcon">
<tr>
<td>
<el-form-item :label="$t('system.table_company')" prop="RB_Branch_id">
<el-select filterable class='w217' v-model='addMsg.RB_Branch_id' @change='layerLinkageDepartment()' :placeholder="$t('pub.pleaseSel')">
<el-option v-for='item in layerCompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('admin.admin_Department')" prop="RB_Department_Id">
<el-select filterable class='w217' v-model='addMsg.RB_Department_Id' @change='layerLinkagePost()' :placeholder="$t('pub.pleaseSel')">
<el-option v-for='item in layerDepartMentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('admin.admin_Post')" prop="RB_Post_Id">
<el-select filterable class='w217' v-model='addMsg.RB_Post_Id' :placeholder="$t('pub.pleaseSel')">
<el-option v-for='item in layerPostList'
:label='item.PostName'
:value='item.PostId'
:key='item.PostId'>
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('system.query_name')" prop="EmName">
<el-input maxlength='20' class='w217' type="text" v-model="addMsg.EmName" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('system.table_IDcard')" prop="EmCard">
<el-input class='w217' type="text" v-model="addMsg.EmCard" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
<!--<span><em></em>身份证</span><input v-model="addMsg.EmCard" class="layerText" type="text">-->
</td>
<td>
<el-form-item :label="$t('leader.leader_Sex')" prop="EmSex">
<el-select class='w217' filterable v-model='addMsg.EmSex' :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.man')" value='0'></el-option>
<el-option :label="$t('pub.woman')" value='1'></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('admin.admin_xueli')" prop="EmEducation">
<el-input maxlength='20' class='w217' type="text" v-model="addMsg.EmEducation" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('admin.admin_Entrytime')" prop="EmEntry">
<el-date-picker value-format="yyyy-MM-dd" class='w217' v-model='addMsg.EmEntry' type="date"></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('admin.admin_Departuretime')" prop="EmLeave">
<el-date-picker value-format="yyyy-MM-dd" class='w217' v-model='addMsg.EmLeave' type="date" disabled></el-date-picker>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('hotel.table_address')" prop="EmAddress">
<el-input maxlength='50' class='w217' type="text" v-model="addMsg.EmAddress" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('system.table_phone')" prop="EmMobile">
<el-input class='w217' type="text" v-model="addMsg.EmMobile" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('hotel.hotel_landline')" prop="EmTel">
<el-input maxlength='20' class='w217' type="text" v-model="addMsg.EmTel" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="QQ" prop="EmQQ">
<el-input class='w217' type="text" v-model="addMsg.EmQQ" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('admin.admin_Birthday')" prop="EmBirthday">
<el-date-picker value-format="yyyy-MM-dd" class='w217' v-model='addMsg.EmBirthday' type="date"></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item :label="$t('system.table_acc')" prop="EmAccount">
<el-input class='w217' type="text" v-model="addMsg.EmAccount" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</td>
<td>
<el-form-item :label="$t('admin.admin_password')" prop="EmPassword">
<el-input v-if='!isleaveBtn' class='w217' type="text" v-model="addMsg.EmPassword" :placeholder="$t('pub.pleaseImport')"></el-input>
<input type="button" :value="$t('adm.adm_resetpd')" v-if='isleaveBtn' class="normalBtn" @click="innerVisible=true,resetForm('pwdMsg')" />
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false,resetForm('addMsg')">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button> &nbsp;
<button v-if='isleaveBtn' class="normalBtn" @click="setIsLeave(leaveId)">{{leaveBtn}}</button>
<button v-if="isleaveBtn&&EmLoginMobile!=''" class="normalBtn" @click="updateLoginMobile=true,resetForm('ulmMsg')">修改登录手机</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
let validatorPwd1=(rule, value, callback)=>{
if(this.pwdMsg.Pwd!=''&&this.pwdMsg.Pwd!=this.pwdMsg.Pwd1){
return callback(new Error(this.$t('adm.adm_twopdnotsame')));
}else{
callback();
}
}
let validatorulm=(rule, value, callback)=>{
if(this.ulmMsg.LoginMobile!=''&&this.ulmMsg.LoginMobile!=this.ulmMsg.LoginMobile1){
return callback(new Error(this.$t('adm.adm_twotelphnotsame')));
}else{
callback();
}
}
return {
UseNum:0,
TotalNum:0,
leaveBtn:'',
leaveId:'',
loading:true,
isleaveBtn:false,
total: 0,
pageSize: '',
currentPage: 1,
outerVisible: false,
innerVisible: false,
updateLoginMobile: false,
isRight: true,
dialogTitle: '',
insideDialogTxt: '',
//请求
msg: {
pageIndex: 1,
pageSize: 15,
EmName: '',
EmAccount: '',
RB_Group_id: '0',
RB_Branch_id: '-1',
RB_Department_Id: '0',
RB_Post_Id: '0',
Status: '0',
sEmEntry: '',
eEmEntry: '',
sEmLeave: '',
eEmLeave: '',
IsParentCompany:2
},
rules:{
RB_Branch_id:[
{ required: true, message: this.$t('rule.company'), trigger: 'change' }
],
RB_Department_Id:[
{ required: true, message: this.$t('tips.qxzbumen'), trigger: 'change' }
],
RB_Post_Id:[
{ required: true, message: this.$t('tips.qxzgangwei'), trigger: 'change' }
],
EmName:[
{ required: true, message: this.$t('rule.qsrname'), trigger: 'blur' }
],
EmEntry:[
{ required: true, message: this.$t('rule.qxzrzshijian'), trigger: 'blur' }
],
EmAccount:[
{ required: true, message: this.$t('login.login_account'), trigger: 'blur' },
{pattern: /^[a-zA-Z0-9]{4,18}$/, message: '账号为6-18位字母数字组成' }
],
EmPassword:[
{ required: true, message: this.$t('login.login_password'), trigger: 'blur' }
],
EmQQ:[
{pattern: /^\d{5,11}$/, message: this.$t('rule.qsrzqdqq') }
],
EmMobile:[
{pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|17[012356789]|18[0-9]|19[0-9]|14[57])[0-9]{8}$/, message: '请输入正确的手机'}
],
EmCard:[
{pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: this.$t('rule.qsrIdnum') }
],
},
addMsg:{
EmName:'',
EmSex:'0',
EmCard:'',
EmBirthday:'',
EmEducation:'',
EmEntry:'',
EmLeave:'',
EmAddress:'',
EmMobile:'',
EmTel:'',
EmQQ:'',
EmPhoto:'',
EmAccount:'',
EmPassword:'',
RB_Group_id :'',
RB_Branch_id:'',
RB_Department_Id:'',
RB_Post_Id:'',
},
pwdMsg:{
Id:'',
Pwd:'',
pwd1:''
},
ulmMsg:{
EmployeeId:'',
LoginMobile:'',
LoginMobile1:''
},
rulesPwd:{
Pwd:[
{ required: true, message: this.$t('login.login_password'), trigger: 'blur' }
],
Pwd1:[
{validator: validatorPwd1, trigger: 'blur' }
],
},
rulesulm:{
LoginMobile:[
{ required: true
,pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|17[012356789]|18[0-9]|19[0-9]|14[57])[0-9]{8}$/
, message: this.$t('rule.qsrtelphone')
, trigger: 'blur' }
],
LoginMobile1:[
{validator: validatorulm, trigger: 'blur' }
],
},
getGroupMsg:{
Status:'0',
GroupName:'',
Domain:'',
Versions_Id:'',
},
getCompanyMsg:{
RB_Group_Id:'0',
Status:'0',
},
getDepartmentMsg:{
RB_Group_Id:'0',
RB_Branch_Id:'-1',
Status:'0',
},
getPostMsg:{
RB_Group_Id:'0',
RB_Branch_Id:'-1',
RB_Department_Id:'0',
},
//返回值的接收变量
EmLoginMobile:'',
DataList: [],
groupList:[],
layerCompanyList:[],
layerDepartMentList:[],
departMentList:[],
layerPostList:[],
PostList:[],
}
},
mounted() {
let userInfo=this.getLocalStorage();
this.getPostMsg.RB_Group_Id=this.getCompanyMsg.RB_Group_Id=this.getDepartmentMsg.RB_Group_Id=this.addMsg.RB_Group_id=this.msg.RB_Group_id=userInfo.RB_Group_id; //集团
this.getPostMsg.RB_Branch_Id=this.getDepartmentMsg.RB_Branch_Id=this.msg.RB_Branch_id=userInfo.RB_Branch_id; //公司
this.getPostMsg.RB_Department_Id=userInfo.RB_Department_Id; //部门
this.msg.IsParentCompany=userInfo.IsParentCompany;//是否为总公司
this.getList();
this.getCompany();
this.getDerpartMent();
this.getPost();
this.getTotalNum()
},
filters:{
leaveTimeFormat(value){
if(value=='')
{
return '在职'
}else{
return value
}
}
},
methods: {
getTotalNum(){
this.apipost('admin_get_GetGroupEmployeeNum',{},res=>{
if(res.data.resultCode==1){
this.UseNum=res.data.data.UseNum,
this.TotalNum=res.data.data.TotalNum
}else{
this.$message.error (res.data.message)
}
},err=>{})
},
savePwd(){
this.apipost('admin_post_EmployeeResetPwd',this.pwdMsg,res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message)
this.innerVisible=false
}else{
this.$message.error (res.data.message)
}
},err=>{})
},
saveUpdateLoginMobile(){
this.apipost('admin_post_ResetLoginMobile',this.ulmMsg,res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message)
this.updateLoginMobile=false
}else{
this.$message.error (res.data.message)
}
},err=>{})
},
setIsLeave(Id){
let myDate = new Date();
let _year = myDate.getFullYear();
let _month = myDate.getMonth() >= 9 ? myDate.getMonth() + 1 : '0' + (myDate.getMonth() + 1);
let _date = myDate.getDate() > 9 ? myDate.getDate() : '0' + myDate.getDate();
let _time=_year+'-'+_month+'-'+_date;
this.apipost('admin_post_EmployeeInOrOut',{Id:Id,Time:_time,},res=>{
if(res.data.resultCode==1){
this.$message.success(res.data.message)
this.outerVisible=false;
this.getList();
}else{
this.$message.error(res.data.message)
}
},err=>{})
},
getGroup(){
this.apipost('admin_get_GroupGetList',this.getGroupMsg,res=>{
if(res.data.resultCode==1){
this.groupList=res.data.data;
}else{}
},err=>{})
},
getList() { //获取数据
this.loading=true,
this.apipost('admin_get_EmployeeList', this.msg, res => {
if(res.data.resultCode == 1) {
this.loading=false;
this.DataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {}
}, err => {})
},
addData(){
this.isleaveBtn=false;
this.apipost('admin_post_EmployeeOperate', this.addMsg, res => {
if(res.data.resultCode==1)
{
this.$message.success(res.data.message);
this.outerVisible=false;
this.getList()
this.resetForm('addMsg');
}else{
this.$message.error(res.data.message)
}
}, err => {})
this.getList();
},
updateData(id){
this.pwdMsg.Id=id;
this.ulmMsg.EmployeeId=id;
this.leaveId=id;
this.isleaveBtn=true;
this.apipost('admin_get_EmployeeGet',{Id:id},res=>{
if(res.data.resultCode==1)
{
this.getDepartmentMsg.RB_Branch_Id=res.data.data.RB_Branch_id
this.getPostMsg.RB_Department_Id=res.data.data.RB_Department_Id;
this.getDerpartMent();
this.getPost();
this.addMsg=res.data.data;
this.EmLoginMobile=res.data.data.EmLoginMobile;
if(res.data.data.IsLeave==0){
this.leaveBtn=this.$t('adm.adm_swlizhi');
}else{
this.leaveBtn=this.$t('adm.adm_swzaizhi');
}
this.addMsg.EmSex=res.data.data.EmSex.toString();
}
},err=>{})
},
linkageDepartment(){ //联动部门
this.msg.RB_Department_Id='0';
this.msg.RB_Post_Id='0';
this.getDepartmentMsg.RB_Branch_Id=this.msg.RB_Branch_id;
this.getDerpartMent();
},
layerLinkageDepartment(){ //弹窗联动部门
this.addMsg.RB_Department_Id='';
this.addMsg.RB_Post_Id='',
this.getDepartmentMsg.RB_Branch_Id=this.addMsg.RB_Branch_id;
this.getDerpartMent();
},
linkagePost(){ //联动岗位
this.getPostMsg.RB_Branch_Id = this.msg.RB_Branch_id;
this.getPostMsg.RB_Department_Id=this.msg.RB_Department_Id
this.getPost();
},
layerLinkagePost(){ //弹窗联动岗位
this.addMsg.RB_Post_Id='',
this.getPostMsg.RB_Branch_Id = this.addMsg.RB_Branch_id;
this.getPostMsg.RB_Department_Id=this.addMsg.RB_Department_Id
this.getPost();
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
},
submitForm(addMsg) {//提交创建、修改表单
this.$refs[addMsg].validate((valid) => {
if (valid) {
this.addData()
} else {
return false;
}
});
},
submitForm1(pwdMsg) {//提交创建、修改表单
this.$refs[pwdMsg].validate((valid) => {
if (valid) {
this.savePwd()
} else {
return false;
}
});
},
submitFormulm(ulmMsg) {//提交创建、修改表单
this.$refs[ulmMsg].validate((valid) => {
if (valid) {
this.saveUpdateLoginMobile()
} else {
return false;
}
});
},
goUrl(name,id){
this.$router.push({ name: name,query:{"id":id,"type":9,blank:'y',tab:'绑定账户信息'}})
},
closeChangeMachie(done){//弹出框关闭初始化弹框内表单
done();
this.resetForm('addMsg');
},
closeChangeMachie1(done){//弹出框关闭初始化弹框内表单
done();
this.resetForm('pwdMsg');
},
closeChangeMachieulm(done){//弹出框关闭初始化弹框内表单
done();
this.resetForm('ulmMsg');
},
resetForm(formName) {//弹出框取消 初始化谈框内表单
this.$refs[formName].resetFields();
this.addMsg.EmployeeId='0'
}
}
}
</script>
\ No newline at end of file
<style>
.user_time_picker .el-date-editor--date>.el-input__inner {
padding:0 10px;
font-size: 13px;
}
.user_time_picker .el-date-editor--date>span.el-input__prefix {
display: none;
}
.user_time_picker .el-date-editor--date>span.el-input__suffix{
top:-4px;right: 2px;
}
.zidingyiFz i{font-size: 14px!important;}
</style>
<template>
<div class="flexOne">
<div style="overflow:auto">
<input type="button" class="normalBtn" value="添加" style="float:right"/>
</div>
<table style="margin-top:10px" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<th>排序</th>
<th>标签名</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList" :key="item.SNO">
<td>{{item.SNO}}</td>
<td>{{item.Content}}</td>
<td>
<el-tooltip class="item" effect="dark" content="修改" placement="top">
<el-button type="primary" icon="el-icon-edit" circle></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<el-button type="primary" class='zidingyiFz' icon="iconfont icon-bangdingzhagnhuxinxi" circle></el-button>
</el-tooltip>
</td>
</tr>
</table>
<!-- <el-pagination background @current-change="handleCurrentChange" layout="total,prev, pager, next, jumper" :page-size=msg.pageSize :total=total>
</el-pagination> -->
<el-dialog custom-class='w400' title="团期标签" :visible.sync="LabelVisible">
<el-form :model="pwdMsg" label-width="100px" :rules="rulesPwd" ref="pwdMsg">
<el-form-item label="标签类型" prop="EmName">
<el-input class='w217' type="text" v-model="addMsg.EmName" :placeholder="$t('pub.pleaseImport')" readonly></el-input>
</el-form-item>
<el-form-item :label="$t('system.table_acc')" prop="EmAccount">
<el-input class='w217' type="text" v-model="addMsg.EmAccount" :placeholder="$t('pub.pleaseImport')" readonly></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_newPd')" prop="Pwd">
<el-input class='w217' type="password" v-model="pwdMsg.Pwd" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
<el-form-item :label="$t('adm.adm_Reinput')" prop="Pwd1">
<el-input class='w217' type="password" v-model="pwdMsg.Pwd1" :placeholder="$t('pub.pleaseImport')"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="innerVisible=false,resetForm('pwdMsg')">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" @click="submitForm1('pwdMsg')">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
msg:{
name:'theme',
code:1,
},
dataList:[],
LabelVisible:false,
}
},
mounted() {
this.getList();
},
methods: {
handleCurrentChange(){},
getList(){
this.apipost('travel_get_GetTravelPriceTag',this.msg,res=>{
console.log("res",res);
if(res.data.resultCode==1){
this.dataList=res.data.data;
}else{}
},err=>{})
},
}
}
</script>
\ No newline at end of file
<style>
.Rotationchart .choose_form .el-form-item{
display: inline-block;
margin-top:15px;
}
.Rotationchart .imgList ul li {
-webkit-box-flex: initial;
-ms-flex: initial;
flex: initial;
position: relative;
margin: 0 20px 20px 0;
width: 200px;
height: 290px;
margin-bottom: 20px;
float: left;
border: 1px solid #ccc;
}
.Rotationchart .imgList ul li .img_box {
width: 100%;
height: 290px;
position: relative;
overflow: hidden;
}
.Rotationchart .imgList ul li .img_box .zezhao{
position: absolute;
top: 0;
left: 0;
background: rgba(255, 255, 255, 0.4);
text-align: center;
width: 100%;
height: 100%;
line-height: 13;
cursor: pointer;
display:none;
z-index:100;
}
.Rotationchart .imgList ul li .img_box:hover .zezhao{
display: block;
}
.Rotationchart .imgList ul li .img_box .zezhao i{
font-size: 28px;
margin:0 10px;
}
.Rotationchart .imgList ul li .img_box .free {
top: 15px;
right: 15px;
position: absolute;
color: #f5f5f5;
padding: 2px 3px;
border-radius: 4px;
font-size: 12px;
}
.Rotationchart .img_item{
width: 100%;
height: 100%;
}
.Rotationchart .img_item img{
width: 100%;
height: 100%;
}
.Rotationchart .el-carousel__container{
height: 100%!important;
}
.Rotationchart .viewBigPicLayer .el-carousel{
left: 29%;
}
.Rotationchart .divShow{
position: fixed;
font-family: "PingFangSc-Fine";
bottom: 0;
left: 50px;
border-top: 3px solid #38425d;
background-color: #fff;
padding: 10px;
width: calc(100% - 50px);
min-width: 1146px;
padding-right: 10px;
z-index: 110;
}
.Rotationchart .divShow ._tit {
padding-left: 10px;
border-left: 3px solid #e95252;
font-size: 16px;
color: #000000;
}
.Rotationchart .TFimgList {
float: left;
width: 220px;
height: 120px;
border-radius: 4px;
position: relative;
margin: 0 10px 10px 0;
overflow: hidden;
}
.Rotationchart .TFIMGzhe {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
position: absolute;
top: 0;
text-align: center;
line-height: 115px;
border-radius: 4px;
display: none;
}
.Rotationchart .TFreupload {
width: 32px;
height: 32px;
border-radius: 50%;
line-height: 32px;
top: 50px;
left: 53px;
display: inline-block;
text-align: center;
background-color: gray;
color: #fff;
}
.Rotationchart .TFimgList:hover .TFIMGzhe {
display: block;
}
.Rotationchart .TFimgList img {
width: 100%;
height: 100%;
}
</style>
<template>
<div class="Rotationchart">
<el-form class="choose_form" ref="form" :model="form" label-width="80px">
<el-form-item label="公司">
<el-select v-model="form.rbBranchId" placeholder="请选择平台">
<el-option label="不限" :value="-1"></el-option>
<el-option
v-for="item in companyList"
:label="item.BName"
:value="item.Id"
:key="item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="平台">
<el-select v-model="form.platformType" placeholder="请选择平台">
<el-option label="不限" :value="0"></el-option>
<el-option label="b2b" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型">
<el-select v-model="form.slideType" placeholder="请选择类型">
<el-option label="不限" :value="0"></el-option>
<el-option label="跟团游" :value="1"></el-option>
<el-option label="签证" :value="2"></el-option>
<el-option label="机票" :value="3"></el-option>
<el-option label="自由行" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<input type="button" @click="GetList" class="normalBtn" value="查询"/>
<input type="button" @click="AddImg" class="normalBtn" value="添加"/>
</el-form-item>
</el-form>
<div class="imgList">
<ul style="overflow:auto">
<li v-for="(item,index) in dataList" :key="item.id" @click="getPicList(index)">
<div class="img_box">
<img :src="item.imageUrl" />
<span v-if="item.slideStatus==1" class="free" style="background: #20bf6b;">正常</span>
<span v-if="item.slideStatus==2" class="free" style="background: #E95252;">禁用</span>
<div class="zezhao">
<i class="el-icon-edit" title="编辑" @click.stop="EditImg(item)"></i>
<i class="el-icon-printer" slot="reference" title="修改状态" @click.stop="EditStatus(item)"></i>
</div>
</div>
</li>
</ul>
<el-pagination
background
@current-change="handleCurrentChange"
v-if="dataList.length>0"
layout="total,prev, pager, next, jumper"
:page-size="form.pageSize"
:total="total"
></el-pagination>
</div>
<!-- 修改状态 -->
<el-dialog
title="修改状态"
:visible.sync="changestatus"
width="400px">
<el-select v-model="editForm.slideStatus" placeholder="请选择状态">
<el-option label="启用" :value="1"></el-option>
<el-option label="禁用" :value="2"></el-option>
<el-option label="删除" :value="3"></el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button @click="changestatus = false" size="small">取 消</el-button>
<el-button type="danger" @click="ChangeStatus" size="small">确 定</el-button>
</span>
</el-dialog>
<div class="divShow" v-show="divShow">
<p class="_tit">轮播图</p>
<el-form class="choose_form" ref="form_div" :rules="rules" :model="form_div" label-width="80px">
<el-form-item label="公司" prop="rbBranchId">
<el-select v-model="form_div.rbBranchId" placeholder="请选择平台">
<el-option
v-for="item in companyList"
:label="item.BName"
:value="item.Id"
:key="item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="平台" prop="platformType">
<el-select v-model="form_div.platformType" placeholder="请选择平台">
<el-option label="b2b" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型" prop="slideType">
<el-select v-model="form_div.slideType" placeholder="请选择类型">
<el-option label="跟团游" :value="1"></el-option>
<el-option label="签证" :value="2"></el-option>
<el-option label="机票" :value="3"></el-option>
<el-option label="自由行" :value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item label="排序">
<el-input v-model="form_div.sort"></el-input>
</el-form-item>
<el-form-item>
<input type="button" @click="SaveImg('form_div')" class="normalBtn" value="保存"/>
<input type="button" class="normalBtn" value="取消" @click="divShow=false"/>
</el-form-item>
<br>
<el-form-item label="标题" style="position: relative; top: -128px;">
<el-input v-model="form_div.title"></el-input>
</el-form-item>
<el-form-item label="跳转地址" style="position: relative; top: -128px;left: 15px;">
<el-input v-model="form_div.returnUrl"></el-input>
</el-form-item>
<el-form-item label="图片">
<div class="TFimgList">
<img v-if="!form_div.imageUrl" src="../../assets/img/bg_c3@3x.png">
<img v-else :src='form_div.imageUrl'>
<div class="TFIMGzhe">
<div class="TFreupload">
<!-- <el-upload :file-list="PostConfig.fileList" :http-request="reUpload" :multiple="true"
accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action>
<i class="iconfont icon-Edit"></i>
</el-upload> -->
<el-upload :file-list="fileList" :http-request="uploadTest" :multiple="true" :limit="2"
:on-change="handleChange1"
accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action>
<i class="iconfont icon-Edit"></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
</el-form>
</div>
<div v-if='picIsShow' class="viewBigPicLayer" @click="picIsShow=false">
<i class="el-icon-circle-close-outline clolseViewBigPicLayer" @click="picIsShow=false"></i>
<el-carousel style="width:1670px;height:400px" :initial-index='initialIndex' :interval="5000" trigger="click">
<el-carousel-item v-for="(item,index) in picObj" :key="index">
<div class="img_item"><img :src="item" /></div>
</el-carousel-item>
</el-carousel>
</div>
</div>
</template>
<script>
export default {
name: 'Rotationchart',
data (){
return{
changestatus:false,
editForm:{},
picIsShow:false,
form:{
rbBranchId:-1,
platformType:0,
slideType:0,
pageIndex:1,
pageSize:20,
},
form_div:{
id:0,
sort:"",
title:'',
returnUrl:"",
imageUrl:"",
},
total:0,
dataList:[],
companyList:[],
picObj:[],
initialIndex:0,
divShow:false,
fileList: [],
rules:{
rbBranchId: [
{ required: true, message: '请选择公司', trigger: 'change' }
],
platformType: [
{ required: true, message: '请选择平台', trigger: 'change' }
],
slideType: [
{ required: true, message: '请选择类型', trigger: 'change' }
],
},
}
},
mounted(){
this.getCompany();
this.GetList()
},
methods:{
ChangeStatus(){
this.changestatus=false;
this.apiJavaPost("/api/dmc/slide/updateSlideStatus", this.editForm, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.GetList();
} else {
this.Error(res.data.message)
}
}, null);
},
EditStatus(item){
this.changestatus=true;
this.editForm.id=item.id;
},
EditImg(item){
this.form_div= Object.assign({}, item);
this.divShow=true;
},
InitFormDiv(){
this.form_div={
id:0,
sort:"",
title:'',
returnUrl:"",
imageUrl:"",
}
},
SaveImg(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if(this.form_div.imageUrl==""){
this.Error("请上传图片!")
return;
}
this.apiJavaPost("/api/dmc/slide/setSlide", this.form_div, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.GetList();
this.InitFormDiv();
this.divShow=false;
} else {
this.Error(res.data.message)
}
}, null);
} else {
return false;
}
});
},
handleChange1(file, fileList) {
this.fileList = fileList.slice(-1);
},
uploadTest(file) {
let newArr = [];
newArr.push(file.file);
let path = "/Upload/DMC/Slide/";
this.UploadSelfFileT(path, newArr, x => {
let url = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.form_div.imageUrl = url;
});
},
AddImg(){
this.InitFormDiv();
this.divShow=true;
},
//上传广告图片
UploadImage(file) {
let newArr = [];
newArr.push(file.file);
let fileName = file.file.name;
var path = "/Upload/B2B/HomeSlide/";
var imgArr = [];
this.UploadSelfFileT(path, newArr, x => {
var obj = this.$DMCUtils.DMCImageObj();
var str = x.data.FilePath;
var imgUrl = this.domainManager().ViittoFileUrl + x.data.FilePath;
obj.Path = str;
obj.ShowPath = imgUrl;
imgArr.push(obj.ShowPath);
let msg = {
TCID:this.msg.TCID,
AdvertisingPicUrlList:imgArr
}
this.apipost("travel_post_AddPriceLocalAdvert", msg, res => {
if(res.data.resultCode==1){
this.Success(res.data.message);
this.getaddatas();
}else{
this.Error(res.data.message);
}
},err => {})
});
},
//获取轮播路径
getPicList(index){
this.picIsShow=true;
this.picObj=[];
this.initialIndex = index;
this.dataList.forEach((x,index)=>{
if(x.slideStatus!=2){
this.picObj.push(x.imageUrl);
}
})
},
// 获取列表数据
GetList(){
this.apiJavaPost("/api/dmc/slide/getSlideList", this.form, res => {
if (res.data.resultCode === 1) {
this.dataList = res.data.data.pageData;
this.total=res.data.data.count;
} else {
this.Error(res.data.message)
}
}, null);
},
handleCurrentChange(val) {
this.form.pageIndex = val;
this.GetList();
},
//获取公司下拉
getCompany() {
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.companyList = res.data.data
}else{
this.Error(res.data.message);
}
},
err => {}
)
},
}
}
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment