|
@@ -0,0 +1,708 @@
|
|
|
+<template>
|
|
|
+ <view class="container activity-content">
|
|
|
+ <!-- 活动、日程 -->
|
|
|
+ <view class="top-content" id="idtop">
|
|
|
+ <view class="tab">
|
|
|
+ <view class="tab-item" v-for="(item, index) in tabs" :key="item.id">
|
|
|
+ <view class="scroll-tab-item" :class="{ active: tabsActive == index }" @click="toggleTab(item, index)">
|
|
|
+ {{ item.name }}
|
|
|
+ <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/border_act.png" class="border_act" v-if="tabsActive == index" mode=""> </image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 筛选状态 -->
|
|
|
+ <view class="screen-item" v-if="tabsActive == 0">
|
|
|
+ <text :class="isShowJurisdiction ? 'active' : ''" @click="permissioActivity">有权限行业</text>
|
|
|
+ <!-- 各种状态选择 -->
|
|
|
+ <view class="select-conyent">
|
|
|
+ <van-dropdown-menu active-color="#333333">
|
|
|
+ <van-dropdown-item id="industry" :title="chartPermissionName">
|
|
|
+ <view class="menu-items">
|
|
|
+ <view class="menu-items-box" v-for="item in listChartPermission" :key="item.ChartPermissionId" @click="overallClick(item)">
|
|
|
+ <view class="items-box">
|
|
|
+ <u-icon v-if="item.IsChoose" name="checkbox-mark" :color="isShowJurisdiction ? '#ccc' : '#2C83FF'" size="24"></u-icon>
|
|
|
+ </view>
|
|
|
+ <text>{{ item.PermissionName }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="replacement">
|
|
|
+ <text @click="replacementBtn" class="replacement-box">重置</text>
|
|
|
+ <text @click="replacementConfirm">确定</text>
|
|
|
+ </view>
|
|
|
+ </van-dropdown-item>
|
|
|
+ </van-dropdown-menu>
|
|
|
+ </view>
|
|
|
+ <text v-for="item in activityTimeList" :key="item.Id" :class="item.IsChoose ? 'active' : ''" @click="isActivityDate(item.Id)">{{ item.StatusName }}</text>
|
|
|
+ </view>
|
|
|
+ <!-- 活动列表 -->
|
|
|
+ <view class="collect-activity" v-if="haveData && tabsActive == 0">
|
|
|
+ <view class="content-list">
|
|
|
+ <view class="half">
|
|
|
+ <view class="activity-ltem" v-for="(item, index) in collectTypeList" :key="index" v-if="item.Position == 1">
|
|
|
+ <image class="zindex-one" :src="item.ImgUrl"></image>
|
|
|
+ <!-- <image class="zindex-two" :src="item.ImgUrlBg"></image> -->
|
|
|
+ <view class="content">
|
|
|
+ <view class="item-img" @click="goDetails(item)">
|
|
|
+ {{ item.ActivityTypeName }}
|
|
|
+ </view>
|
|
|
+ <view :style="{ 'background-image': 'url(' + item.ImgUrlBg + ')' }" class="activity-ui">
|
|
|
+ <view class="activity-li" v-for="val in item.List" :key="val.KeyWord" @click="goDetails(val, item.Resource)">
|
|
|
+ <image class="item-image" lazy-load :src="val.ImgUrlBg"></image>
|
|
|
+ <text class="text_oneLine"> {{ val.KeyWord }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="half">
|
|
|
+ <view class="activity-ltem" v-for="(item, index) in collectTypeList" :key="index" v-if="item.Position == 2">
|
|
|
+ <image class="zindex-one" :src="item.ImgUrl"></image>
|
|
|
+ <!-- <image class="zindex-two" :src="item.ImgUrlBg"></image> -->
|
|
|
+ <view class="content">
|
|
|
+ <view class="item-img" @click="goDetails(item)">
|
|
|
+ {{ item.ActivityTypeName }}
|
|
|
+ </view>
|
|
|
+ <view :style="{ 'background-image': 'url(' + item.ImgUrlBg + ')' }" class="activity-ui">
|
|
|
+ <view class="activity-li" v-for="val in item.List" :key="val.KeyWord" @click="goDetails(val, item.Resource)">
|
|
|
+ <image class="item-image" lazy-load :src="val.ImgUrlBg"></image>
|
|
|
+ <text class="text_oneLine"> {{ val.KeyWord }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage > 1" />
|
|
|
+ </view>
|
|
|
+ <view class="collect-ul" v-else-if="haveData && tabsActive !== 0">
|
|
|
+ <view class="collect-ltem" v-for="(item, index) in collectList" :key="index">
|
|
|
+ <view class="title-date" @click="goDetail(item)">
|
|
|
+ <text :class="item.ActivityType == 1 ? '' : 'xianxia'">{{ item.ActivityType == 1 ? "线上" : "线下" }}</text>
|
|
|
+ {{ item.ActivityTimeText }}
|
|
|
+ </view>
|
|
|
+ <view class="item-li">
|
|
|
+ <view class="item-img" @click="goDetail(item)">
|
|
|
+ <image :src="item.ImgUrl"></image>
|
|
|
+ <text v-if="item.ActiveState == 1" class="img-status begin">未开始</text>
|
|
|
+ <text v-else-if="item.ActiveState == 2" class="img-status proceed">进行中</text>
|
|
|
+ <text v-else class="img-status">已结束</text>
|
|
|
+ <view class="img-type">
|
|
|
+ <image :src="item.ImgUrlText" mode=""></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="item-text" @click="goDetail(item)">
|
|
|
+ <text class="activity-title"> {{ item.ActivityName }} </text>
|
|
|
+ <text class="text_twoLine" v-if="item.Expert">专家背景:{{ item.Expert }} </text>
|
|
|
+ <text class="text_twoLine" v-if="item.DistinguishedGuest">嘉宾:{{ item.DistinguishedGuest }} </text>
|
|
|
+ <text class="text_twoLine" v-if="item.Speaker">主讲人:{{ item.Speaker }}</text>
|
|
|
+ </view>
|
|
|
+ <block v-if="item.ActiveState == 1">
|
|
|
+ <view :class="['bottom-box', item.ActivityTypeId == 1 && 'expert-item', item.City && 'city']">
|
|
|
+ <view class="city-img" v-if="item.City">
|
|
|
+ <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
|
|
|
+ {{ item.City }}
|
|
|
+ </view>
|
|
|
+ <view style="display: flex">
|
|
|
+ <text v-if="item.IsShowOutboundCall && item.ActivityTypeId == 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
|
|
|
+ <text v-if="item.IsShowAppointment" @click="summaryIsHandel(item)">{{ item.IsAppointment == 1 ? "取消纪要" : "预约纪要" }}</text>
|
|
|
+ <text v-if="item.IsShowMeetingReminder" @click="meetingReminderAdd(item.ActivityId, item.IsCancelMeetingReminder)">
|
|
|
+ {{ item.IsCancelMeetingReminder == 0 ? "会议提醒" : "取消提醒" }}
|
|
|
+ </text>
|
|
|
+ <view v-if="item.IsShowHelpSsk" style="width: 130rpx">
|
|
|
+ <text @click="askingGo(item)">帮我带问</text>
|
|
|
+ </view>
|
|
|
+ <text v-if="item.IsShowOutboundCall && item.ActivityTypeId != 1" class="button" @click="signupIsAddOfCancel(item, 1)">{{ item.IsSignup == 1 ? "取消外呼" : "预约外呼" }}</text>
|
|
|
+ <block v-if="item.IsShowSignup">
|
|
|
+ <block v-if="item.IsCClassMeeting">
|
|
|
+ <text class="button" @click="signupIsAddOfCancel(item, 3, 'CClass')">{{ item.IsSignup == 1 ? "取消报名" : "我要报名" }}</text>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <text class="button" v-if="item.IsSignup !== 1" @click="wanttosignup(item.ActivityId)">我要报名</text>
|
|
|
+ <text class="button" v-else @click="signupIsAddOfCancel(item, 2)">{{ item.SignupType == 1 ? "取消外呼" : "取消报名" }}</text>
|
|
|
+ </block>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <view class="bottom-box city" v-if="item.City">
|
|
|
+ <view class="city-img">
|
|
|
+ <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/location.png"></image>
|
|
|
+ {{ item.City }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="bottom-box real-time" v-if="item.ActiveState == 2 && item.ActivityTypeId == 1">
|
|
|
+ <text class="button" @click="askingGo(item, '提问')">实时提问</text>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <u-loadmore :status="status" icon-type="flower" :load-text="loadText" margin-top="20" v-if="totalPage > 1" />
|
|
|
+ </view>
|
|
|
+ <view class="nodata" v-if="!haveData">
|
|
|
+ <image src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/act_search.png" mode="" class="nodata_ico"></image>
|
|
|
+ <text>{{ tabsActive == 0 ? "暂时没有符合条件的活动" : "暂无我的日程" }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="more" v-if="tabsActive == 0" @click="goSearch">更多进行中和已结束的主题>></view>
|
|
|
+ <!-- 所有自定义弹框 -->
|
|
|
+ <modalDialog
|
|
|
+ :isShow="isShow"
|
|
|
+ :signupType="signupType"
|
|
|
+ :goFollow="goFollow"
|
|
|
+ :signupStatus="signupStatus"
|
|
|
+ :hasPermission="hasPermission"
|
|
|
+ :jurisdictionList="jurisdictionList"
|
|
|
+ :editIsShow="editIsShow"
|
|
|
+ :isCancelShow="isCancelShow"
|
|
|
+ :idTypeCancel="idTypeCancel"
|
|
|
+ @cancelShowBtn="cancelEnsure"
|
|
|
+ :countryCode="countryCode"
|
|
|
+ :mobileEdit="mobileEdit"
|
|
|
+ :goOnNextStep="goOnNextStep"
|
|
|
+ :isShowhasPermission="isShowhasPermission"
|
|
|
+ :applyForIsShow="applyForIsShow"
|
|
|
+ :mailboxBinding="mailboxBinding"
|
|
|
+ />
|
|
|
+ <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { activity } from "@/config/api.js";
|
|
|
+import { Throttle } from "@/config/util.js";
|
|
|
+import myActivityMixin from "@/activityPages/components/indexActivity.js";
|
|
|
+import modalDialog from "@/components/modalDialog.vue";
|
|
|
+import freeCharge from "@/components/freeCharge";
|
|
|
+let app = getApp();
|
|
|
+export default {
|
|
|
+ mixins: [myActivityMixin],
|
|
|
+ components: {
|
|
|
+ modalDialog,
|
|
|
+ freeCharge,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tabs: [
|
|
|
+ {
|
|
|
+ name: "全部活动",
|
|
|
+ id: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "我的日程",
|
|
|
+ id: 2,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ collectTypeList: [],
|
|
|
+ chartPermissionName: "所有行业",
|
|
|
+ haveData: true,
|
|
|
+ activityTimeList: [
|
|
|
+ { Id: 1, IsChoose: false, StatusName: "今日活动" },
|
|
|
+ { Id: 2, IsChoose: false, StatusName: "明日活动" },
|
|
|
+ ],
|
|
|
+ whichDay: "",
|
|
|
+ listChartPermission: [],
|
|
|
+ listChartPermissionInit: [],
|
|
|
+ chartPermissionIds: "",
|
|
|
+ isShowJurisdiction: false, //
|
|
|
+ isGetJurisdiction: 0,
|
|
|
+ isrefresh: true,
|
|
|
+ activityTypeId: "",
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ messageTitle() {
|
|
|
+ let arr = this.whichDay ? this.whichDay.split(",") : [];
|
|
|
+ let whichData = arr.length == 2 ? "今日活动,明日活动" : arr == "1" ? "今日活动" : arr == "2" ? "明日活动" : "";
|
|
|
+ let title = whichData ? whichData + "," + this.chartPermissionName : this.chartPermissionName !== "所有行业" ? this.chartPermissionName : "";
|
|
|
+ return title || "近期所有行业活动预告";
|
|
|
+ },
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async getUserSearchContent() {
|
|
|
+ const res = await activity.getUserSearchContent({
|
|
|
+ IsShowJurisdiction: this.isGetJurisdiction,
|
|
|
+ });
|
|
|
+ if (res.Ret === 200) {
|
|
|
+ this.isShowJurisdiction = res.Data.IsShowJurisdiction;
|
|
|
+ this.listChartPermission = res.Data.ListChartPermission;
|
|
|
+ this.listChartPermissionInit = res.Data.ListChartPermission2;
|
|
|
+ this.clickPermission();
|
|
|
+ if (this.chartPermissionIds) {
|
|
|
+ this.closeTheWindow();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getActivityLabelTypeList() {
|
|
|
+ const res = await activity.getActivityLabelTypeList({
|
|
|
+ ChartPermissionIds: this.chartPermissionIds,
|
|
|
+ IsShowJurisdiction: this.isGetJurisdiction,
|
|
|
+ ActiveState: "1",
|
|
|
+ WhichDay: this.whichDay,
|
|
|
+ IsPower: this.isGetJurisdiction,
|
|
|
+ });
|
|
|
+ if (res.Ret === 200) {
|
|
|
+ this.collectTypeList = res.Data.List || [];
|
|
|
+ this.haveData = this.collectTypeList.length ? true : false;
|
|
|
+ if (this.refresh) {
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
+ this.refresh = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getActivityList() {
|
|
|
+ const res = await activity.getScheduleList({ PageSize: this.pageSize, CurrentIndex: this.page_no });
|
|
|
+ if (res.Ret === 200) {
|
|
|
+ this.contentImg = res.Data.ImgUrl;
|
|
|
+ this.contentLabel = res.Data.Label;
|
|
|
+ this.status = this.page_no < res.Data.Paging.Pages ? "loadmore" : "nomore";
|
|
|
+ if (this.page_no === 1) {
|
|
|
+ this.collectList = res.Data.List || [];
|
|
|
+ this.haveData = this.collectList.length ? true : false;
|
|
|
+ if (this.refresh) {
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
+ this.refresh = false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.collectList = this.collectList.concat(res.Data.List);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //头部tabs切换
|
|
|
+ toggleTab(item, index) {
|
|
|
+ if (!this.$store.state.isAuth && !this.$store.state.isBind) {
|
|
|
+ //已授权已绑定
|
|
|
+ if (index != this.tabsActive) {
|
|
|
+ this.tabsActive = index;
|
|
|
+ this.page_no = 1;
|
|
|
+ this.collectTypeList = [];
|
|
|
+ this.collectList = [];
|
|
|
+ this.tabsActive == 0 ? this.getActivityLabelTypeList() : this.getActivityList();
|
|
|
+ if (this.tabsActive !== 0) {
|
|
|
+ this.selectComponent("#industry").toggle(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //已授权未绑定
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pageMy/login/login",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 下拉的选择的关闭事件
|
|
|
+ closeTheWindow() {
|
|
|
+ const types = this.chartPermissionIds ? this.chartPermissionIds.split(",").map(Number) : [];
|
|
|
+ if (types.length > 0) {
|
|
|
+ const str = [];
|
|
|
+ this.listChartPermission.forEach((item) => {
|
|
|
+ if (types.includes(item.ChartPermissionId)) {
|
|
|
+ item.IsChoose = true;
|
|
|
+ str.push(item.PermissionName);
|
|
|
+ } else {
|
|
|
+ item.IsChoose = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.chartPermissionName = str.length == 6 ? "所有行业" : str.join(",");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 下拉的选择的选中事件
|
|
|
+ overallClick(item) {
|
|
|
+ if (this.isShowJurisdiction) return;
|
|
|
+ this.listChartPermission.forEach((key) => {
|
|
|
+ if (key.ChartPermissionId == item.ChartPermissionId) {
|
|
|
+ key.IsChoose = !key.IsChoose;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 下拉的选择的重置事件
|
|
|
+ replacementBtn() {
|
|
|
+ this.listChartPermission = this.listChartPermissionInit;
|
|
|
+ this.chartPermissionIds = "";
|
|
|
+ this.isShowJurisdiction = false;
|
|
|
+ this.listChartPermission.map((item) => (item.IsChoose = false));
|
|
|
+ this.chartPermissionName = "所有行业";
|
|
|
+ this.getActivityLabelTypeList();
|
|
|
+ },
|
|
|
+ //下拉选择的确定事件
|
|
|
+ replacementConfirm() {
|
|
|
+ const arr = [];
|
|
|
+ const str = [];
|
|
|
+ this.listChartPermission &&
|
|
|
+ this.listChartPermission.forEach((key) => {
|
|
|
+ if (key.IsChoose) {
|
|
|
+ arr.push(key.ChartPermissionId);
|
|
|
+ str.push(key.PermissionName);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if ((str.length == 6 && this.listChartPermission.length == 6) || str.length <= 0) {
|
|
|
+ this.chartPermissionName = "所有行业";
|
|
|
+ } else {
|
|
|
+ this.chartPermissionName = str.join(",");
|
|
|
+ }
|
|
|
+ this.chartPermissionIds = arr.join(",");
|
|
|
+ this.getActivityLabelTypeList();
|
|
|
+ this.selectComponent("#industry").toggle(false);
|
|
|
+ },
|
|
|
+ //今日明日的点击事件
|
|
|
+ isActivityDate(id) {
|
|
|
+ this.selectComponent("#industry").toggle(false);
|
|
|
+ this.activityTimeList.forEach((item) => {
|
|
|
+ if (item.Id == id) item.IsChoose = !item.IsChoose;
|
|
|
+ });
|
|
|
+ const arr = [];
|
|
|
+ this.activityTimeList.forEach((item) => item.IsChoose && arr.push(item.Id));
|
|
|
+ this.whichDay = arr.join(",");
|
|
|
+ this.getActivityLabelTypeList();
|
|
|
+ },
|
|
|
+ //是否有权限的点击事件
|
|
|
+ async permissioActivity() {
|
|
|
+ if (!this.$store.state.isAuth && !this.$store.state.isBind) {
|
|
|
+ this.selectComponent("#industry").toggle(false);
|
|
|
+ this.isShowJurisdiction = !this.isShowJurisdiction;
|
|
|
+ this.isGetJurisdiction = this.isShowJurisdiction ? 1 : 2;
|
|
|
+ await this.getUserSearchContent();
|
|
|
+ this.selectComponent("#industry").toggle(false);
|
|
|
+ if (this.isShowJurisdiction) {
|
|
|
+ this.getActivityLabelTypeList();
|
|
|
+ } else {
|
|
|
+ this.replacementBtn();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //已授权未绑定
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pageMy/login/login",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //点击后有权限的
|
|
|
+ clickPermission() {
|
|
|
+ if (this.isShowJurisdiction) {
|
|
|
+ const arr = [];
|
|
|
+ this.listChartPermission &&
|
|
|
+ this.listChartPermission.forEach((key) => {
|
|
|
+ if (key.IsChoose) {
|
|
|
+ arr.push(key.ChartPermissionId);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.chartPermissionIds = arr.join(",");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ loadShare(option) {
|
|
|
+ if (option && Object.keys(option).length !== 0) {
|
|
|
+ this.whichDay = option.whichDay || "";
|
|
|
+ this.chartPermissionIds = option.chartPermissionIds || "";
|
|
|
+ this.isGetJurisdiction = option.isGetJurisdiction;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let day = this.whichDay ? this.whichDay.split(",").map(Number) : [];
|
|
|
+ this.activityTimeList.forEach((item) => {
|
|
|
+ if (day.includes(item.Id)) {
|
|
|
+ item.IsChoose = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ goDetails(item, key) {
|
|
|
+ if (item.Resource === 1 || key === 1) {
|
|
|
+ let type = item.ActivityTypeName || "";
|
|
|
+ let key = item.ActivityTypeId || item.KeyWord;
|
|
|
+ this.$store.dispatch("checkHandle", "/activityPages/themeActivity/themeActivity?title=" + key + "&type=" + type + "&permissionIds=" + this.chartPermissionIds + "&whichDay=" + this.whichDay);
|
|
|
+ } else {
|
|
|
+ if (key) {
|
|
|
+ this.$store.dispatch("checkHandle", "/activityPages/specialDetail/specialDetail?id=" + item.ActivityId);
|
|
|
+ } else {
|
|
|
+ this.$store.dispatch("checkHandle", "/activityPages/specialResearchPage/specialResearchPage");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //去往搜索事件
|
|
|
+ goSearch() {
|
|
|
+ this.$store.dispatch("checkHandle", "/activityPages/activitySearch/activitySearch");
|
|
|
+ },
|
|
|
+ },
|
|
|
+ //load
|
|
|
+ onLoad(option) {
|
|
|
+ this.loadShare(option);
|
|
|
+ this.getUserSearchContent();
|
|
|
+ this.getActivityLabelTypeList();
|
|
|
+ },
|
|
|
+ async onShow() {
|
|
|
+ await this.$store.dispatch("checkHandle", "noGO");
|
|
|
+ },
|
|
|
+ /** 用户点击分享 */
|
|
|
+ onShareAppMessage: function (res) {
|
|
|
+ return {
|
|
|
+ title: this.isHorzMobile ? "好友向您推荐此内容,上传名片享查研观向免费月卡!" : this.messageTitle,
|
|
|
+ path: "/pages/activity/activity?whichDay=" + this.whichDay + "&chartPermissionIds=" + this.chartPermissionIds + "&isGetJurisdiction=" + this.isGetJurisdiction,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /* 触底 */
|
|
|
+ onReachBottom: Throttle(function () {
|
|
|
+ if (this.status === "nomore") return;
|
|
|
+ this.status = "loading";
|
|
|
+ this.page_no++;
|
|
|
+ this.tabsActive == 1 && this.getActivityList();
|
|
|
+ }),
|
|
|
+ /* 下拉刷新 */
|
|
|
+ onPullDownRefresh: Throttle(function () {
|
|
|
+ this.page_no = 1;
|
|
|
+ this.refresh = true;
|
|
|
+ this.tabsActive == 0 ? this.getActivityLabelTypeList() : this.getActivityList();
|
|
|
+ }),
|
|
|
+ // 页面滚动事件
|
|
|
+ onPageScroll() {},
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+// image{will-change: transform}
|
|
|
+.activity-content {
|
|
|
+ background-color: #f7f7f7;
|
|
|
+ padding-bottom: 90rpx;
|
|
|
+ position: relative;
|
|
|
+ .top-content {
|
|
|
+ position: sticky;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ z-index: 99;
|
|
|
+ padding-bottom: 2rpx;
|
|
|
+ background-color: #fff;
|
|
|
+ .tab {
|
|
|
+ display: flex;
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: #707070;
|
|
|
+ .tab-item {
|
|
|
+ flex: 1;
|
|
|
+ text-align: center;
|
|
|
+ .scroll-tab-item {
|
|
|
+ height: 78rpx;
|
|
|
+ line-height: 48rpx;
|
|
|
+ position: relative;
|
|
|
+ .border_act {
|
|
|
+ position: absolute;
|
|
|
+ height: 6rpx;
|
|
|
+ width: 340rpx;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .active {
|
|
|
+ color: #3385ff;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 34rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .index-fixed {
|
|
|
+ margin-top: 40rpx;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ height: 70rpx;
|
|
|
+ background: #f6f6f6;
|
|
|
+ border: 1rpx solid #e5e5e5;
|
|
|
+ opacity: 1;
|
|
|
+ border-radius: 35rpx;
|
|
|
+ padding-left: 34rpx;
|
|
|
+ color: #8d8d8d;
|
|
|
+ font-size: 28rpx;
|
|
|
+ .search_ico {
|
|
|
+ padding-right: 16rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .screen-item {
|
|
|
+ position: sticky;
|
|
|
+ top: 78rpx;
|
|
|
+ left: 0;
|
|
|
+ z-index: 99;
|
|
|
+ background-color: #fff;
|
|
|
+ height: 111rpx;
|
|
|
+ padding: 0 34rpx;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #333;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ text {
|
|
|
+ width: 150rpx;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 51rpx;
|
|
|
+ background-color: #f8f8fa;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 26rpx;
|
|
|
+ }
|
|
|
+ .active {
|
|
|
+ background-color: #3385ff;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .select-conyent {
|
|
|
+ .decide {
|
|
|
+ background-color: #f8f8fa;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin: 0 auto;
|
|
|
+ height: 110rpx;
|
|
|
+ width: 100%;
|
|
|
+ padding-left: 30rpx;
|
|
|
+ }
|
|
|
+ .items-box {
|
|
|
+ width: 40rpx;
|
|
|
+ }
|
|
|
+ .menu-items {
|
|
|
+ background-color: #f8f8fa;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ padding: 30rpx 30rpx 0;
|
|
|
+ .menu-items-box {
|
|
|
+ display: flex;
|
|
|
+ width: 50%;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ margin-bottom: 40rpx;
|
|
|
+ }
|
|
|
+ text {
|
|
|
+ text-align: left;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .replacement {
|
|
|
+ margin: 0rpx 30rpx 20rpx;
|
|
|
+ display: flex;
|
|
|
+ background-color: #2c83ff;
|
|
|
+ height: 60rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #ffffff;
|
|
|
+ border-radius: 30rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ text {
|
|
|
+ flex: 1;
|
|
|
+ line-height: 58rpx;
|
|
|
+ background-color: #2c83ff;
|
|
|
+ }
|
|
|
+ .replacement-box {
|
|
|
+ border: 1rpx solid #2c83ff;
|
|
|
+ color: #2c83ff;
|
|
|
+ background: #ffffff;
|
|
|
+ border-radius: 28rpx 0rpx 28rpx 28rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .nodata_ico {
|
|
|
+ width: 374rpx;
|
|
|
+ height: 288rpx;
|
|
|
+ }
|
|
|
+ .content-list {
|
|
|
+ display: flex;
|
|
|
+ padding: 34rpx;
|
|
|
+ }
|
|
|
+ .half {
|
|
|
+ width: 50%;
|
|
|
+ }
|
|
|
+ .activity-ltem {
|
|
|
+ width: 331rpx;
|
|
|
+ position: relative;
|
|
|
+ margin-bottom: 30rpx;
|
|
|
+ .zindex-one {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ height: 250rpx;
|
|
|
+ width: 100%;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+ .zindex-two {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ z-index: 2;
|
|
|
+ }
|
|
|
+ .content {
|
|
|
+ position: sticky;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ // padding-bottom: 30rpx;
|
|
|
+ border-radius:15rpx;
|
|
|
+ overflow: hidden;
|
|
|
+ z-index: 3;
|
|
|
+ }
|
|
|
+ .item-img {
|
|
|
+ width: 100%;
|
|
|
+ height: 147rpx;
|
|
|
+ margin-bottom: 30rpx;
|
|
|
+ font-size: 34rpx;
|
|
|
+ color: #fff;
|
|
|
+ padding: 30rpx 0 0 20rpx;
|
|
|
+ }
|
|
|
+ .activity-li {
|
|
|
+ width: 100%;
|
|
|
+ height: 86rpx;
|
|
|
+ position: relative;
|
|
|
+ .item-image {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ .text_oneLine {
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ height: 50rpx;
|
|
|
+ padding: 0 30rpx;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ top: 15rpx;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ // &::before {
|
|
|
+ // content: "";
|
|
|
+ // width: 0;
|
|
|
+ // height: 0;
|
|
|
+ // border-top: 8rpx solid transparent;
|
|
|
+ // border-left: 17rpx solid #fff;
|
|
|
+ // border-bottom: 8rpx solid transparent;
|
|
|
+ // margin-right: 10rpx;
|
|
|
+ // }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .more {
|
|
|
+ width: 100%;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 34rpx;
|
|
|
+ color: #3385ff;
|
|
|
+ margin-top: 90rpx;
|
|
|
+ }
|
|
|
+ .activity-ui {
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
+}
|
|
|
+/deep/.van-dropdown-menu {
|
|
|
+ background-color: #fff;
|
|
|
+ box-shadow: none !important;
|
|
|
+ align-items: center !important;
|
|
|
+}
|
|
|
+/deep/.van-dropdown-menu__item {
|
|
|
+ box-sizing: border-box;
|
|
|
+ width: 166rpx;
|
|
|
+ padding-right: 20rpx;
|
|
|
+ height: 51rpx;
|
|
|
+ border-radius: 26rpx;
|
|
|
+ background: #f8f8fa;
|
|
|
+}
|
|
|
+/deep/.van-dropdown-item {
|
|
|
+ margin-top: -10rpx;
|
|
|
+}
|
|
|
+/deep/[data-index="2"] {
|
|
|
+ margin-right: 0rpx;
|
|
|
+}
|
|
|
+/deep/ .van-ellipsis {
|
|
|
+ font-size: 24rpx;
|
|
|
+}
|
|
|
+@import "@/activityPages/components/indexActivity.scss";
|
|
|
+</style>
|