Prechádzať zdrojové kódy

feat: 市场分析报告下载展示优化

zhangsiya 1 rok pred
rodič
commit
c29c24661c

+ 16 - 2
apps/bigmember_pc/src/views/analysisReport/MarketAnalysisResult.vue

@@ -547,8 +547,9 @@
     </el-tabs>
     <!--页面底部下载提示-->
     <download-bottom-tip
-      v-if="bottomDownloadShow"
+      v-show="bottomDownloadShow"
       typeText="业主分析报告"
+      ref="downloadBottomTip"
       :hasPower="isConf26"
       @goFreeExperience="goFreeExperience"
       @downloadReport="downloadReport"
@@ -921,7 +922,7 @@ export default {
       return this.projectDetailFilters.keywordsGroupList
     },
     isConf26() {
-      return this.info.power.indexOf(26) !== -1
+      return this.info?.power?.indexOf(26) !== -1
     },
     getVipUpgradeMap() {
       const tempMap = this.vipUpgradeMap
@@ -982,6 +983,7 @@ export default {
         window.addEventListener('scroll', this.calcStickyNav)
       }
     })
+    this.getBottomFixedWidth()
   },
   destroyed() {
     if (this.inWorkDeskTop) {
@@ -992,6 +994,14 @@ export default {
     }
   },
   methods: {
+    // 处理底部下载提示框展示宽度
+    getBottomFixedWidth () {
+      const originWidth = this.calcOriginWidth()
+      if(this.$root.$el.querySelector('.download-bottom-tip')) {
+        this.$root.$el.querySelector('.download-bottom-tip').style.width =
+          originWidth + 'px'
+      }
+    },
     // 页面滚动方法
     calcStickyNav() {
       let scrollTop = 0
@@ -2601,6 +2611,10 @@ export default {
       border-top-left-radius: 8px;
     }
   }
+  .download-bottom-tip {
+    left: calc(50% + 100px);
+    transform: translateX(-50%);
+  }
 }
 
 .el-loading-parent--relative {

+ 9 - 1
apps/bigmember_pc/src/views/analysisReport/components/ReportDownloadDialog.vue

@@ -22,7 +22,7 @@
         <span v-for="item in totalList">{{item.label}}:<strong>{{ item.count + item.unit }}</strong></span>
         <span class="highlight view-more" @click="viewMore">查看更多</span>
       </section>
-      <section class="email-box">
+      <section class="email-box" v-if="hasPower">
         <span class="email-label"><i class="star">*</i>接收邮箱:</span>
         <el-input v-model="s_email" placeholder="必填,报告将发送至邮箱" @input="showEmailError = false" @change="checkEmail"></el-input>
         <span class="error-tip" v-if="showEmailError">
@@ -30,6 +30,9 @@
           <span v-if="s_email">邮箱格式错误</span>
           <span v-else>请输入邮箱</span>
         </span>
+        <span class="error-tip" v-if="s_email && !showEmailError">
+          <i class="el-icon-success"></i>
+        </span>
       </section>
       <section class="download-notice-box">
         <p class="box-label">下载须知:</p>
@@ -267,6 +270,11 @@ export default {
           font-size:22px;
           margin:0 8px;
         }
+        .el-icon-success{
+          font-size:22px;
+          margin-left: 8px;
+          color: #2CB7CA;
+        }
       }
       ::v-deep {
         .el-input {

+ 1 - 1
apps/bigmember_pc/src/views/portrayal/components/EntReportDownloadDialog.vue

@@ -188,7 +188,7 @@ export default {
     },
     // 立即下载
     downloadHandle: debounce(function (fileUrl) {
-      if(this.residueCount === 0) {
+      if(this.residueCount > 0) {
         // 校验邮箱
         this.checkEmail()
         if(this.showEmailError) {

+ 1 - 1
apps/bigmember_pc/src/views/portrayal/components/UnitReportDownloadDialog.vue

@@ -181,7 +181,7 @@ export default {
     },
     // 立即下载
     downloadHandle: debounce(function () {
-      if(this.residueCount === 0) {
+      if(this.residueCount > 0) {
         // 校验邮箱
         this.checkEmail()
         if(this.showEmailError) {