bding 1 год назад
Родитель
Сommit
49c5a98f5a

+ 16 - 1
config/modules/Reports.js

@@ -151,5 +151,20 @@ export const Reports = {
   hetReport_selectionList: (params) => {
     return getHttp("/report_selection/list", params, 0);
   },
-  
+  /* 路演banner列表接口 */
+  collectionBannerList: (params) => {
+    return getHttp("/collection/banner/list", params, 0);
+  },
+  // 精选看板跳转详情地址
+  getCollectionDetail: (params) => {
+    return getHttp("/collection/detail", params, 0);
+  },
+  // 精选看板跳转详情地址
+  collectionApplyAdd: (params) => {
+    return postHttp("/collection/apply/add", params, 0);
+  },
+  // 获取申请详情接口
+  collectionApplyDetail: (params) => {
+    return getHttp("/collection/apply/detail", params, 0);
+  },
 };

+ 22 - 1
pages.json

@@ -241,6 +241,27 @@
             "navigationBarTitleText": "重点公司",
             "enablePullDownRefresh": false
           }
+        },
+        {
+          "path": "selectedBulletin/selectedBulletin",
+          "style": {
+            "navigationBarTitleText": "精选看板",
+            "enablePullDownRefresh": false
+          }
+        },
+        {
+          "path": "bulletinMessage/bulletinMessage",
+          "style": {
+            "navigationBarTitleText": "精选看板",
+            "enablePullDownRefresh": false
+          }
+        },
+        {
+          "path": "bulletinDetail/bulletinDetail",
+          "style": {
+            "navigationBarTitleText": "申请详情",
+            "enablePullDownRefresh": false
+          }
         }
       ]
     },
@@ -448,7 +469,7 @@
           "path": "newResources/newResources",
           "style": {
             "enablePullDownRefresh": false,
-            "navigationStyle":"custom"
+            "navigationStyle": "custom"
           }
         }
       ]

+ 38 - 35
pages/reportForm/index.scss

@@ -23,7 +23,7 @@
         height: 70rpx;
         font-size: 30rpx;
         color: #707070;
-        background: #F9F9F9;
+        background: #f9f9f9;
         padding: 0 34rpx 0 70rpx;
         border-radius: 70rpx;
       }
@@ -209,6 +209,9 @@
         font-weight: 400;
         display: flex;
       }
+      .van-checkbox-group {
+        display: flex;
+      }
       .checkbox-ui {
         display: flex;
         align-items: center;
@@ -403,39 +406,39 @@
     margin-left: 60rpx;
     display: flex;
     flex-wrap: wrap;
-	.industry-video-item{
-		height: 126rpx;
-		width: 170rpx;
-		margin: 0 40rpx 27rpx 0;
-		border-radius: 8rpx;
-		background-size: cover;
-		background-position: center;
-		background-repeat: no-repeat;
-		font-weight: 500;
-		font-size: 32rpx;
-		color: white;
-		line-height: 45rpx;
-		padding: 20rpx;
-		position: relative;
-		overflow: hidden;
-		.industry-video-icon{
-			height: 0rpx;
-			width: 0rpx;
-			border-style: solid;
-			border-color: #3385FF #3385FF transparent transparent;
-			border-width: 28rpx;
-			position: absolute;
-			right: 0;
-			top: 0;
-			image{
-				position: absolute;
-				right: -24rpx;
-				bottom: 0;
-				height: 20rpx;
-				width: 20rpx;
-			}
-		}
-	}
+    .industry-video-item {
+      height: 126rpx;
+      width: 170rpx;
+      margin: 0 40rpx 27rpx 0;
+      border-radius: 8rpx;
+      background-size: cover;
+      background-position: center;
+      background-repeat: no-repeat;
+      font-weight: 500;
+      font-size: 32rpx;
+      color: white;
+      line-height: 45rpx;
+      padding: 20rpx;
+      position: relative;
+      overflow: hidden;
+      .industry-video-icon {
+        height: 0rpx;
+        width: 0rpx;
+        border-style: solid;
+        border-color: #3385ff #3385ff transparent transparent;
+        border-width: 28rpx;
+        position: absolute;
+        right: 0;
+        top: 0;
+        image {
+          position: absolute;
+          right: -24rpx;
+          bottom: 0;
+          height: 20rpx;
+          width: 20rpx;
+        }
+      }
+    }
     .text-box {
       margin-bottom: 30rpx;
       margin-right: 40rpx;
@@ -481,4 +484,4 @@
 .text-bottom-none {
   width: 100%;
   text-align: center;
-}
+}

+ 45 - 30
pages/reportForm/reportForm.vue

@@ -22,12 +22,16 @@
     <view class="strategy" v-if="strategyIndex >= 4">
       <view class="banne-content" v-if="strategyIndex == 4">
         <swiper autoplay :interval="4000" circular indicator-dots>
-          <view v-for="item in bannerDataList" :key="item.BannerId" @click="bannerSwiperHandler(item)">
+          <view v-for="(bannerItem, index) in bannerDataList" :key="index" @click.native="bannerSwiperHandler(bannerItem)">
             <swiper-item>
-              <image :src="item.IndexImg"></image>
+              <image :src="bannerItem.IndexImg"></image>
             </swiper-item>
           </view>
         </swiper>
+        <view class="bulletin" @click="lookBulletinhandler">
+          <image :src="bulletinData.IndexImg"></image>
+          <image v-if="bulletinData.IsShowSustainable" class="limit-img" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/limit_icon.png"></image>
+        </view>
       </view>
       <view class="tab-cont-two">
         <block v-for="(item, index) in tabBarsTow" :key="item.CategoryId">
@@ -241,6 +245,7 @@ export default {
         }, //第一项是为了获取当前手机下,三行是多少相对高度
       ],
       bannerDataList: [],
+      bulletinData: {},
     };
   },
   onLoad(option) {
@@ -561,36 +566,25 @@ export default {
     },
     // 获取banner 列表
     async getBannerList() {
-      const res = await Home.bannerList();
+      const res = await Reports.collectionBannerList();
       if (res.Ret === 200) {
-        this.bannerDataList = res.Data.List || [];
+        console.log(res);
+        this.bannerDataList = res.Data.ListA || [];
+        console.log(this.bannerDataList);
+        this.bulletinData = res.Data.ListB || {};
       }
     },
     // bannaer 点击事件
-    async bannerSwiperHandler(item) {
-      let { Type, SourceId, Path } = item.BannerUrlResp;
-      if (Type == 1) return;
-      await Home.bannerHistory({
-        BannerId: item.BannerId,
+    bannerSwiperHandler(item) {
+      uni.navigateTo({
+        url: item.Path,
+      });
+    },
+    // 精选看板的点击事件
+    lookBulletinhandler() {
+      uni.navigateTo({
+        url: "/reportPages/selectedBulletin/selectedBulletin",
       });
-      if (Type == 5) {
-        let obj = {
-          BackgroundImg: "https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/czbk/my_log.png",
-          Id: SourceId,
-          PlaySeconds: "15",
-          ResourceUrl: "https://hzstatic.hzinsights.com/static/yb/video/8617330c2a76e0c35999f6466b4470c4.mp4",
-          Title: "三分钟了解弘则研究体系和方法论",
-          Type: "三分钟了解弘则研究体系和方法论",
-        };
-        this.videoPopListUp = obj;
-        this.showVideoPopUp = true;
-        await Mine.addHistory();
-      } else {
-        Path &&
-          uni.navigateTo({
-            url: Path + SourceId,
-          });
-      }
     },
   },
   /* 触底 */
@@ -765,18 +759,39 @@ export default {
     font-size: 24rpx;
   }
   .banne-content {
-    height: 200rpx;
-    width: 682rpx;
+    height: 110rpx;
+    width: 100%;
+    padding: 0 30rpx;
     overflow: hidden;
     margin: 20rpx auto;
     border-radius: 8rpx;
+    display: flex;
+    justify-content: space-between;
     swiper {
-      height: 202rpx;
+      width: 447rpx;
+      height: 110rpx;
+      border-radius: 16rpx;
+      overflow: hidden;
     }
     image {
       width: 100%;
       height: 100%;
     }
+    .bulletin {
+      position: relative;
+      width: 214rpx;
+      height: 110rpx;
+      border-radius: 16rpx;
+      overflow: hidden;
+      .limit-img {
+        position: absolute;
+        top: 0;
+        right: 0;
+        width: 50rpx;
+        height: 26rpx;
+        z-index: 1;
+      }
+    }
   }
 }
 .content-intimate {

+ 32 - 0
reportPages/bulletinDetail/bulletinDetail.vue

@@ -0,0 +1,32 @@
+<template>
+  <view style="padding: 30rpx"> {{ detailData.Content }} </view>
+</template>
+
+<script>
+import { Reports } from "@/config/api.js";
+
+export default {
+  data() {
+    return {
+      id: "",
+      detailData: {},
+    };
+  },
+  methods: {
+    async getDetail() {
+      const res = await Reports.collectionApplyDetail({
+        ApplyCollectionId: 1,
+      });
+      if (res.Ret === 200) {
+        this.detailData = res.Data.Detail;
+      }
+    },
+  },
+  onLoad(options) {
+	this.id = Number(options.id) || ''
+    this.getDetail();
+  },
+};
+</script>
+
+<style></style>

+ 87 - 0
reportPages/bulletinMessage/bulletinMessage.vue

@@ -0,0 +1,87 @@
+<template>
+  <view class="container ask-container-message">
+    <view class="advice-ipt-cont">
+      <u-input v-model="advice_content" type="textarea" maxlength="100" :clearable="false" :placeholder="titlePlaceholder" height="300" class="ipt" />
+      <text class="num-tag">{{ advice_content.length }}/100</text>
+    </view>
+    <view class="btn-cont" @click="submitHandle"> 提交 </view>
+    <freeCharge class="free-charge" :isShowFreeBtn="isShowFree" />
+    <Loading />
+  </view>
+</template>
+
+<script>
+import { Reports } from "@/config/api.js";
+import freeCharge from "@/components/freeCharge";
+export default {
+  data() {
+    return {
+      advice_content: "",
+      id: "",
+      type: "",
+    };
+  },
+  components: {
+    freeCharge,
+  },
+  computed: {
+    titlePlaceholder() {
+      return "提交您的看板需求";
+    },
+  },
+  methods: {
+    async submitHandle() {
+      if (!this.advice_content)
+        return uni.showToast({
+          title: "内容不能为空",
+          icon: "none",
+          duration: 2000,
+        });
+      const res = await Reports.collectionApplyAdd({
+        Content: this.this.advice_content,
+      });
+      if (res.Ret === 200) {
+        this.$util.toast("提交成功");
+        this.advice_content = "";
+        setTimeout(() => {
+          uni.navigateBack();
+        }, 500);
+      }
+    },
+  },
+  onLoad(option) {},
+};
+</script>
+
+<style scoped lang="scss">
+.ask-container-message {
+  background-color: #fff;
+  padding: 30rpx 34rpx;
+  .advice-ipt-cont {
+    height: 420rpx;
+    border: 1rpx solid #d0cfd5;
+    border-radius: 8rpx;
+    padding: 30rpx;
+    position: relative;
+    font-size: 28rpx;
+    color: #d0cfd5;
+    .num-tag {
+      position: absolute;
+      bottom: 30rpx;
+      right: 30rpx;
+    }
+  }
+  .btn-cont {
+    margin: 80rpx auto;
+    width: 368rpx;
+    height: 80rpx;
+    font-size: 34rpx;
+    line-height: 80rpx;
+    text-align: center;
+    color: #ffffff;
+    background: linear-gradient(268deg, #2ddbff 0%, #1599ff 49%, #005eff 100%);
+    opacity: 1;
+    border-radius: 4rpx;
+  }
+}
+</style>

+ 77 - 0
reportPages/selectedBulletin/selectedBulletin.vue

@@ -0,0 +1,77 @@
+<template>
+  <view class="container selectedBulletin-container" v-if="isUserBindingPhoneNumber">
+    <web-view :src="linkurl" v-if="linkurl">
+      <cover-view class="search-view">
+        <cover-view class="search-view-box" @click="lookBulletinMessage">
+          <cover-view>点此提交您的看板需求</cover-view>
+        </cover-view>
+      </cover-view>
+    </web-view>
+  </view>
+  <not-have-login v-else />
+</template>
+
+<script>
+import { Report, User, Reports, FreeButton } from "@/config/api.js";
+import notHaveLogin from "@/components/notHaveLogin.vue";
+export default {
+  components: { notHaveLogin },
+  data() {
+    return {
+      linkurl: "",
+    };
+  },
+  methods: {
+    /* 获取详情 */
+    async getDetail() {
+      const res = await Reports.getCollectionDetail();
+      if (res.Ret === 200) {
+        this.linkurl = res.Data.HttpUrl;
+      }
+    },
+    // 精选看板留言
+    lookBulletinMessage() {
+      uni.navigateTo({
+        url: "/reportPages/bulletinMessage/bulletinMessage",
+      });
+    },
+  },
+  onLoad() {
+    this.getDetail();
+  },
+  onShow() {},
+};
+</script>
+
+<style lang="scss" scoped>
+.selectedBulletin-container {
+  background-color: #fff;
+  padding-bottom: 200rpx;
+  padding-bottom: calc(200rpx + constant(safe-area-inset-bottom));
+  padding-bottom: calc(200rpx + env(safe-area-inset-bottom));
+  .search-view {
+    position: fixed;
+    width: 100%;
+    height: 60rpx;
+    background: #fff;
+    z-index: 99999;
+    font-size: 24rpx;
+    box-sizing: border-box;
+    .search-view-box {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      background: #3385ff;
+      color: #fff;
+      height: 60rpx;
+      z-index: 99999;
+    }
+    .search-icon {
+      width: 147rpx;
+      height: 40rpx;
+      margin: 0 15rpx;
+      z-index: 99999;
+    }
+  }
+}
+</style>