|
|
@@ -0,0 +1,309 @@
|
|
|
+<template>
|
|
|
+ <view class="content">
|
|
|
+ <div class="actives">
|
|
|
+ <div
|
|
|
+ v-for="(active, idx) in activeListCopy"
|
|
|
+ :key="idx"
|
|
|
+ class="actives-item"
|
|
|
+ @click="goDeatil(active.id)"
|
|
|
+ >
|
|
|
+ <div class="active-content">
|
|
|
+ <div class="img-box"><img :src="active.url" alt="" /></div>
|
|
|
+ <div class="right">
|
|
|
+ <div class="right-title">{{ active.title }}</div>
|
|
|
+ <div class="right-inf">
|
|
|
+ <div class="inf-type" style="width: 17%;">
|
|
|
+ <div
|
|
|
+ :class="{ color: active.type == 1 }"
|
|
|
+ class="originColor"
|
|
|
+ ></div>
|
|
|
+ <div>{{ active.type == 1 ? "线上" : "线下" }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="inf-way" style="width: 24%;">
|
|
|
+ {{ active.way }}
|
|
|
+ </div>
|
|
|
+ <div class="inf-date">
|
|
|
+ {{ active.date }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="readShare">
|
|
|
+ <div v-show="active.status == '0'" class="active-tips-box wait-color">活动待开始</div>
|
|
|
+ <div v-show="active.status == '1'" class="active-tips-box ing-color">活动进行中</div>
|
|
|
+ <div v-show="active.status == '2'" class="active-tips-box end-color">活动已结束</div>
|
|
|
+ <div class="read">浏览 {{ active.read }}</div>
|
|
|
+ <div class="share">分享 {{ active.share }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import md5 from "@/common/md5.js";
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ message: "我的活动",
|
|
|
+ themeColor: "#007AFF",
|
|
|
+ mode: "selector",
|
|
|
+ typeActive: true,
|
|
|
+ indexType: 0,
|
|
|
+ indexState: 0,
|
|
|
+ activeList: [
|
|
|
+ // {
|
|
|
+ // url: "/static/activity/1.png",
|
|
|
+ // title: "400场讲座,200门课程,免费送上门!就等你申请",
|
|
|
+ // way: "区人力资源局",
|
|
|
+ // date: "2021-08-08",
|
|
|
+ // read: 322,
|
|
|
+ // share: 1,
|
|
|
+ // type: 1, //1线上
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // url: "/static/activity/2.png",
|
|
|
+ // title: "智能制造商标品牌培育系列培训活动",
|
|
|
+ // way: "市场监督管理局",
|
|
|
+ // date: "2021-08-07",
|
|
|
+ // read: 322,
|
|
|
+ // share: 1,
|
|
|
+ // type: 2, //2线下
|
|
|
+ // },
|
|
|
+ ],
|
|
|
+ activeListCopy: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ this.getActive();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ goDeatil(id) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: "/pages/activity/activity_deatil?id=" + id,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getActive() {
|
|
|
+ let md5Sign = md5(
|
|
|
+ "method=" +
|
|
|
+ "activity" +
|
|
|
+ "×tamp=" +
|
|
|
+ getApp().globalData.globalTimestamp +
|
|
|
+ "&secret=" +
|
|
|
+ getApp().globalData.secret
|
|
|
+ );
|
|
|
+ let url =
|
|
|
+ getApp().globalData.shareUrl +
|
|
|
+ "api/api.php" +
|
|
|
+ "?method=activity&source=activity&action=my_list×tamp=" +
|
|
|
+ getApp().globalData.globalTimestamp +
|
|
|
+ "&sign=" +
|
|
|
+ md5Sign;
|
|
|
+ let postData = {
|
|
|
+ // page: 1,
|
|
|
+ // page_size: 15,
|
|
|
+ openId:getApp().globalData.open_id
|
|
|
+ };
|
|
|
+ uni.request({
|
|
|
+ url: url,
|
|
|
+ method: "POST",
|
|
|
+ header: {
|
|
|
+ "content-type": "application/x-www-form-urlencoded",
|
|
|
+ },
|
|
|
+ data: postData,
|
|
|
+ success: (res) => {
|
|
|
+ // console.log(res);
|
|
|
+ if (res.data.code === 200) {
|
|
|
+ let list = res.data.data.list;
|
|
|
+ this.activeList = list.map((item) => {
|
|
|
+ /*
|
|
|
+ url: "/static/activity/2.png",
|
|
|
+ title: "智能制造商标品牌培育系列培训活动",
|
|
|
+ way: "市场监督管理局",
|
|
|
+ date: "2021-08-07",
|
|
|
+ read: 322,
|
|
|
+ share: 1,
|
|
|
+ type: 0, //0线下
|
|
|
+ */
|
|
|
+ let ob = {
|
|
|
+ url: "",
|
|
|
+ title: "",
|
|
|
+ way: "",
|
|
|
+ date: "",
|
|
|
+ read: 0,
|
|
|
+ share: 0,
|
|
|
+ type: "",
|
|
|
+ status:'',
|
|
|
+ id: "",
|
|
|
+ status: 0,
|
|
|
+ };
|
|
|
+ ob.url = getApp().globalData.shareUrl + item.pic_url;
|
|
|
+ ob.title = item.name;
|
|
|
+ ob.way = item.sponsor;
|
|
|
+ let time = this.$options.filters["globalTime"](item.start_time);
|
|
|
+ let timeSecond = this.$options.filters["globalTime"](item.end_time);
|
|
|
+ ob.date = time + "至" + timeSecond;
|
|
|
+ ob.read = parseInt(item.base_read_count) + parseInt(item.real_read_count);
|
|
|
+ ob.share =parseInt(item.real_repost_count) +parseInt(item.base_repost_count);
|
|
|
+ ob.type = item.type;
|
|
|
+ ob.status = item.status;
|
|
|
+ ob.id = item.id;
|
|
|
+ ob.status = item.status;
|
|
|
+ return ob;
|
|
|
+ });
|
|
|
+ this.activeListCopy = this.activeList;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: () => {
|
|
|
+ console.log("连接失败");
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.content {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ width: 100%;
|
|
|
+ .choose-box {
|
|
|
+ padding: 20rpx 0;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ position: fixed;
|
|
|
+ height: 50rpx;
|
|
|
+ top: 0;
|
|
|
+ margin-bottom: 50rpx;
|
|
|
+ .type,
|
|
|
+ .state {
|
|
|
+ width: 50%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ position: relative;
|
|
|
+ .packer {
|
|
|
+ width: 100%;
|
|
|
+ .picker_title {
|
|
|
+ z-index: 99;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .type::after,
|
|
|
+ .state::after {
|
|
|
+ z-index: -1;
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ right: 30%;
|
|
|
+ top: 20%;
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ border-top: 15rpx solid rgb(173, 173, 173);
|
|
|
+ border-left: 15rpx solid transparent;
|
|
|
+ border-right: 15rpx solid transparent;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .actives {
|
|
|
+ margin-top: 50rpx;
|
|
|
+ padding: 0 40rpx;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .actives-item {
|
|
|
+ // height: 150rpx;
|
|
|
+ box-shadow: 0px 4rpx 32rpx rgba(0, 0, 0, 0.1);
|
|
|
+ border-radius: 32rpx;
|
|
|
+ margin-top: 20px;
|
|
|
+ padding: 20rpx;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .active-content {
|
|
|
+ display: flex;
|
|
|
+ .img-box {
|
|
|
+ margin-right: 20rpx;
|
|
|
+ width: 120rpx;
|
|
|
+ height: 120rpx;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ border-radius: 10%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .right {
|
|
|
+ width: 80%;
|
|
|
+ height: 120rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
+ .right-title {
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ font-size: 27rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ letter-spacing: 3rpx;
|
|
|
+ }
|
|
|
+ .right-inf {
|
|
|
+ display: flex;
|
|
|
+ font-size: 21rpx;
|
|
|
+ align-items: center;
|
|
|
+ color: $uni-text-color-grey;
|
|
|
+ .inf-type {
|
|
|
+ margin-right: 10rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .originColor {
|
|
|
+ margin-right: 8rpx;
|
|
|
+ height: 20rpx;
|
|
|
+ width: 20rpx;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: #ffcf86;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .inf-way {
|
|
|
+ margin-right: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .readShare {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ font-size: 20rpx;
|
|
|
+ color: rgba(0, 0, 0, 0.3);
|
|
|
+ margin-top: 20rpx;
|
|
|
+ align-items: center;
|
|
|
+ .active-tips-box {
|
|
|
+ font-size: 22rpx;
|
|
|
+ padding: 10rpx;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ color: #fff;
|
|
|
+ margin-right: 50rpx;
|
|
|
+ }
|
|
|
+ .wait-color {
|
|
|
+ background-color: #AEE359;
|
|
|
+ }
|
|
|
+ .ing-color {
|
|
|
+ background-color: #00A8EA;
|
|
|
+ }
|
|
|
+ .end-color {
|
|
|
+ background-color: #d7d7d7;
|
|
|
+ }
|
|
|
+ .read {
|
|
|
+ margin-right: 60rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.active {
|
|
|
+ color: $uni-color-primary;
|
|
|
+}
|
|
|
+.color {
|
|
|
+ background-color: #589cff !important;
|
|
|
+}
|
|
|
+</style>
|