<style> .guidSchedule .el-input--prefix .el-input__inner { padding-left: 30px; } .guidSchedule .query-box ul .el-input { width: 150px; } .guidSchedule .guidSchedule_list { padding: 20px 0; } .guidSchedule .guidSchedule_list > li { float: left; height: 180px; width: 300px; margin: 0 15px; margin-bottom: 20px; overflow: hidden; background: rgba(255, 255, 255, 1); -webkit-box-shadow: 0px 0px 20px rgba(191, 191, 191, 1); box-shadow: 0px 0px 20px rgba(191, 191, 191, 1); } .guidSchedule .guidSchedule_list > li > div { height: 180px; position: relative; border-radius: 4px; overflow: hidden; } .guidSchedule .guidSchedule_list > li .hl_img { width: 100%; height: 100%; filter: blur(10px); position: absolute; } .guidSchedule .hl_top { color: #ffffff; } .guidSchedule .hl_tit { width: 230px; font-size: 14px; position: absolute; left: 10px; top: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: underline; cursor: pointer; } .guidSchedule .hl_radius { width: 80px; height: 80px; background-color: #ffffff; border: solid 4px rgba(193, 193, 193, 0.46); line-height: 75px; font-size: 16px; border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #e95252; text-align: center; font-size: 16px; } .guidSchedule .hl_row { width: 80%; height: 30px; background: rgba(23, 21, 26, 0.2); position: absolute; bottom: 0; left: 0; display: flex; font-size: 12px; align-items: center; justify-content: space-between; padding: 0 10%; } .guidSchedule .hl_row > li { list-style: disc; } .guidSchedule .guidSchedule_info { padding: 0 65px; } .guidSchedule .guidSchedule_info .hl_info { color: #333333; color: 16px; } .guidSchedule .guidSchedule_info .hl_info span { color: #666666; } .guidSchedule .hl_flight { padding-top: 20px; } .guidSchedule .hl_flight li { display: flex; align-items: center; } .guidSchedule ._go { display: inline-block; height: 20px; width: 20px; background-color: #ff7862; color: white; font-size: 14px; text-align: center; line-height: 20px; border-radius: 4px; margin-right: 10px; } .guidSchedule ._textB14 { color: #333333; font-size: 14px; } .guidSchedule ._timeCity { margin: 15px 49px; } .guidSchedule ._time { color: #666666; font-size: 18px; font-weight: 700; } .guidSchedule ._city { color: #ff7862; font-size: 14px; text-align: center; } .guidSchedule ._line { display: flex; align-items: center; } .guidSchedule ._line span { display: inline-block; width: 50px; height: 2px; background-color: #ff7862; } .guidSchedule ._line span._lr { width: 8px; height: 8px; border-radius: 50%; border: solid 2px #ff7862; background-color: white; } .guidSchedule ._flight_num, ._flight_name { color: #999999; font-size: 14px; font-weight: 700; margin-left: 15px; } .guidSchedule ._flight_name { font-weight: lighter; } .guidSchedule ._margintop30 { margin-top: 30px; } .guidSchedule ._details { margin-left: 20px; padding-top: 20px; } .guidSchedule ._details > li { border-left: 1px solid #e9e9e9; position: relative; padding-bottom: 15px; padding-left: 40px; padding-top: 15px; } .guidSchedule ._d_radius { width: 40px; height: 40px; border-radius: 50%; display: inline-block; position: absolute; left: -20px; top: 0px; background-color: #e95252; text-align: center; line-height: 40px; font-size: 18px; color: white; font-weight: 700; } .guidSchedule ._Itinerary { color: #333333; font-size: 18px; display: flex; align-items: center; } .guidSchedule ._Itinerary .iconfont { color: #666666; } .guidSchedule ._d_city, ._d_time { display: inline-block; padding: 0 20px; } .guidSchedule ._d_time { padding: 0 10px 0 0; } .guidSchedule ._d_info { color: #666666; font-size: 14px; line-height: 22px; padding-top: 16px; } .guidSchedule ._food_hotel { padding-top: 25px; } .guidSchedule ._food_hotel ._food, ._hotel { float: left; width: 50%; } .guidSchedule ._food_hotel .iconfont::before { font-size: 18px; color: #07a767; } .guidSchedule ._food_hotel ._hotel .iconfont::before { color: #2595ee; } .guidSchedule ._fh_tit { font-size: 16px; } .guidSchedule ._fist { padding-bottom: 10px; } .guidSchedule ._meidonfxi { text-align: center; padding: 25px 0; } .guidSchedule ._meidonfxi .iconfont { display: block; font-size: 50px; color: #d6d6d6; } .guidSchedule ._meidonfxi p { color: #999999; font-size: 14px; } .guidSchedule .el-dialog__header .el-dialog__title { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; max-width: 80%; margin: 0 auto; } .guidSchedule .TypeOne { color: #47bf8c; } .guidSchedule .TypeTwo { color: #e95252; } .guidSchedule .typeThree { color: #666666; } .guidSchedule .leaderName { position: relative; top: -10px; left: 5px; } .guidSchedule .headerImg { width: 34px; height: 34px; border-radius: 50%; display: inline-block; } .guidSchedule .headerImg img { width: 100%; height:100%; border-radius:50%; } .guidSchedule .grayLi img { -webkit-filter: grayscale(1) blur(10px) !important; } </style> <template> <div class="flexOne guidSchedule"> <div class="query-box"> <ul> <li> <span> <div class="headerImg"> <img v-if="!EmPhoto" src="../../assets/img/default_head_img.jpg" alt=""> <img v-else :src="EmPhoto" :onerror="defaultImg"> </div> <span class="leaderName">{{LeaderName}}</span> </span> </li> <li> <span> <em>{{$t('hotel.hotel_StarDate')}}</em> <el-date-picker clearable class="w150" v-model="msg.QStartDateStr" type="date" :picker-options="pickerOptions1" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')"> </el-date-picker> <el-date-picker clearable class="w150" v-model="msg.QEndDateStr" type="date" value-format="yyyy-MM-dd" :picker-options="pickerOptions2" :placeholder="$t('admin.admin_choDate')"> </el-date-picker> </span> </li> <li> <span> <em>{{$t("admin.admin_status")}}</em> <el-select v-model="msg.TCType" filterable :placeholder="$t('admin.admin_phBirthPlace')" class="w210"> <el-option :label="$t('system.ph_buxian')" value='0'></el-option> <el-option v-for='item in options' :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </span> </li> <li> <input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="resetPageIndex(),getList()"/> </li> </ul> </div> <ul class="guidSchedule_list clearfix"> <li v-for="(item,index) in dataList" @click="getJourney(item.TCID,item.Title)" :key="index" :class="{'grayLi':item.TCType==3}"> <div class="hl_top"> <img class="hl_img" src="../../assets/img/shoppingstore.jpg"> <el-tooltip class="item" effect="dark" :content="item.Title" placement="bottom-start" popper-class="max-w250"> <p class="hl_tit">{{item.Title}}</p> </el-tooltip> <div class="hl_radius"> <p class="TypeOne" v-if="item.TCType==1">{{$t("leader.leader_Inreception")}}</p> <p class="TypeTwo" v-if="item.TCType==2">{{$t("leader.leader_noStart")}}</p> <p class="TypeThree" v-if="item.TCType==3">{{$t("leader.leader_HasCompleted")}}</p> </div> <ul class="hl_row" v-if="item.TCState!==6"> <li>{{item.TCStateStr}}{{$t('hotel.hotel_Inthe')}}</li> <li>{{$t("Airticket.Air_Trip")}}{{item.DayNum}}{{$t("hotel.hotel_day")}}</li> <li>{{item.StartDateStr}}{{$t('hotel.hotel_StartTeam')}}</li> </ul> </div> </li> </ul> <div class="noData" v-show="noData"> {{$t('system.content_noData')}} </div> <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='ComTeamPlan_info_box' :title="tripTitle" :visible.sync="outerVisible" center > <commonTeamInfo ref="comTeam"></commonTeamInfo> </el-dialog> </div> </template> <script> import commonTeamInfo from "../commonPage/commonTeamInfo.vue"; export default { data() { return { msg: { pageIndex: 1, pageSize: 10, QStartDateStr: "", QEndDateStr: "", LeaderId: "", TCType: "0" }, options: [ { value: "2", label: this.$t("leader.leader_Inreception") }, { value: "1", label: this.$t("leader.leader_noStart") }, { value: "3", label: this.$t("leader.leader_HasCompleted") } ], LeaderName: "", EmPhoto:"", TripList: "", dataList: "", total: 0, currentPage: 1, loading: true, noData: false, outerVisible: false, tripTitle: "", defaultImg: 'this.src="' + require('../../assets/img/default_head_img.jpg') + '"', pickerOptions1: { disabledDate: time => { let endTime = new Date(this.msg.QEndDateStr); return endTime.getTime() < time.getTime(); } }, pickerOptions2: { disabledDate: time => { let startTime = new Date(this.msg.QStartDateStr); return startTime.getTime() >= time.getTime(); } } }; }, components: { commonTeamInfo: commonTeamInfo }, methods: { getList() { //获取列表数据 this.apipost( "LeaderSchedule_get_GetList", this.msg, res => { if (res.data.resultCode == 1) { this.LeaderName = res.data.data.pageData.LeaderName; this.EmPhoto= res.data.data.pageData.EmPhoto; this.total = res.data.data.count; this.dataList = res.data.data.pageData.data; this.noData = this.total > 0; } else { this.Error(res.data.message); } }, err => {} ); }, resetPageIndex() { //查询初始化页码 this.msg.pageIndex = 1; this.currentPage = 1; }, getJourney(id, title) { //根据ID 获取行程内容 var that = this; this.tripTitle = title; this.$nextTick(() => { that.$refs.comTeam.GetTrip(id); }); that.outerVisible = true; }, handleCurrentChange(val) { //翻页功能按钮 this.msg.pageIndex = val; this.getList(); } }, mounted() { this.msg.LeaderId = this.$route.query.id; this.getList(); } }; </script>