ソースを参照

Merge branch 'feature/v1.0.67' into dev/v1.0.67_zsy

zhangsiya 9 ヶ月 前
コミット
ab15836eab

+ 2 - 2
apps/bigmember_pc/.env.production

@@ -1,6 +1,6 @@
 NODE_ENV=production
 VITE_APP_BASE_API=''
 VITE_APP_BASE_URL='/page_big_pc'
-VITE_APP_BASE_PUBLIC='/page_big_pc/'
+VITE_APP_BASE_PUBLIC='https://cdn-common.jianyu360.cn/page_big_pc/'
 VITE_APP_WORK_DESKTOP_URL='/page_workDesktop/work-bench/app/big'
-VITE_APP_GIT_BRANCH='v1.0.54.1'
+VITE_APP_GIT_BRANCH='v1.0.74'

BIN
apps/bigmember_pc/src/assets/images/channel-1.png


BIN
apps/bigmember_pc/src/assets/images/channel-2.png


BIN
apps/bigmember_pc/src/assets/images/channel-3.png


BIN
apps/bigmember_pc/src/assets/images/medical-field/content.png


+ 1 - 0
apps/mobile/.env.development

@@ -1,5 +1,6 @@
 VITE_APP_BASE_API='/api'
 VITE_APP_BASE_URL='/jy_mobile'
+VITE_APP_BASE_PUBLIC='/jy_mobile/'
 VITE_APP_IMAGE_BASE='https://web2-qmxtest.jydev.jianyu360.com'
 VITE_APP_APP_PROJECT_BASE='https://app2-jytest.jydev.jianyu360.com'
 VITE_APP_WX_PROJECT_BASE='https://jybx2-webtest.jydev.jianyu360.com'

+ 2 - 1
apps/mobile/.env.production

@@ -1,6 +1,7 @@
 VITE_APP_BASE_API=''
 VITE_APP_BASE_URL='/jy_mobile'
+VITE_APP_BASE_PUBLIC='https://cdn-common.jianyu360.cn/jy_mobile/'
 VITE_APP_IMAGE_BASE=''
 VITE_APP_APP_PROJECT_BASE=''
 VITE_APP_WX_PROJECT_BASE=''
-VITE_APP_GIT_BRANCH='v1.0.62'
+VITE_APP_GIT_BRANCH='v1.0.74'

+ 2 - 2
apps/mobile/src/components/ad/SwipeFloor.vue

@@ -199,13 +199,13 @@ $swiper-floor-item-font-size: 11px;
 .my-swipe-floor {
   width: 100%;
   margin: 0 auto;
-  padding: 8px 0;
+  padding: 4px 0;
   box-sizing: border-box;
   position: relative;
   &-group {
     width: 100%;
     height: $swiper-floor-content-height;
-    padding-bottom: 16px;
+    padding-bottom: 8px;
     box-sizing: content-box;
     .swiper-pagination {
       width: $swiper-floor-pagination-width;

+ 12 - 1
apps/mobile/src/components/search/bidding/filters.vue

@@ -888,8 +888,12 @@ export default {
             industry
           } = this.defaultFilterState
           const sameList = []
-
           // 更多关键词
+          if (this.filters.moreKeywordsMode?.wordsMode) {
+            // this.filters.moreKeywordsMode对象在未知地方没有wordsMode属性会设置一个默认值wordsMode = '0'
+            // 所以这里对比的时候moreKeywordsMode也需要加一个,否则会永远不相等
+            moreKeywordsMode.wordsMode = '0'
+          }
           sameList.push(
             deepCompare(this.filters.moreKeywordsMode, moreKeywordsMode)
           )
@@ -928,6 +932,12 @@ export default {
           )
           // 行业
           sameList.push(deepCompare(this.filters.industry, industry))
+          // console.log(
+          //   sameList,
+          //   'sameList',
+          //   this.filters.moreKeywordsMode,
+          //   moreKeywordsMode
+          // )
           needHighlight = sameList.includes(false)
           break
         }
@@ -1420,6 +1430,7 @@ export default {
 <style lang="scss" scoped>
 ::v-deep {
   .van-dropdown-menu__title {
+    padding: 0 8px 0 0;
     color: $gray_9;
     &--active {
       color: $main;

+ 93 - 54
apps/mobile/src/views/search/result/bidding/index.vue

@@ -86,19 +86,6 @@
       <div class="intercept-tip-container" v-show="interceptTipText">
         <AppIcon name="tishi" /> {{ interceptTipText }}
       </div>
-      <!-- 超前项目推荐 & 定制化分析报告 P611需求:将报告插到列表第一条数据后面位置 -->
-      <div class="recommend-card-container" v-show="cardLoaded">
-        <RecommendCard
-          v-if="recommendInfo.show"
-          :key="recommendInfo.key"
-          v-model="recommendInfo.showContent"
-          :chart-data="recommendInfo.chart"
-          :brief-list="recommendInfo.brief"
-          :project-list="recommendInfo.project"
-          :keys="pageState.splitKeys"
-          @do-leave="saveState"
-        />
-      </div>
     </div>
     <div class="j-main list-container" ref="listContainer">
       <div class="tab-search-info" v-show="tabSearchInfoShow">
@@ -176,6 +163,20 @@
           </div>
         </div>
       </div>
+      <!-- 超前项目推荐 & 定制化分析报告 P611需求:将报告插到列表第一条数据后面位置 -->
+      <div class="recommend-card-container">
+        <RecommendCard
+          ref="recommendCardRef"
+          v-if="recommendInfo.show"
+          :key="recommendInfo.key"
+          v-model="recommendInfo.showContent"
+          :chart-data="recommendInfo.chart"
+          :brief-list="recommendInfo.brief"
+          :project-list="recommendInfo.project"
+          :keys="pageState.splitKeys"
+          @do-leave="saveState"
+        />
+      </div>
       <van-list
         v-show="pageState.listTabActive !== 'table'"
         v-model="listState.loading"
@@ -329,7 +330,10 @@
           >
         </AppEmpty>
       </van-list>
-      <div class="table-container" v-show="pageState.listTabActive === 'table'">
+      <div
+        class="table-container calc-height-1px"
+        v-show="pageState.listTabActive === 'table'"
+      >
         <div class="scroll" v-show="listState.list.length">
           <table class="table">
             <tr class="table-header">
@@ -412,7 +416,11 @@
             </tr>
           </table>
         </div>
-        <div class="to-look-more" v-show="listState.list.length > 20">
+        <div
+          class="to-look-more"
+          :class="{ 'ios-look-more': $envs.inIOS }"
+          v-show="listState.list.length > 20"
+        >
           <van-button plain size="small" type="primary" @click="dataExport"
             >查看更多</van-button
           >
@@ -974,7 +982,7 @@ export default {
     },
     calcFilterText() {
       const params = this.getSaveFilterToHistoryParams()
-      const { label } = this.formatFilterItems(params)
+      const { label } = this.formatFilterItems(params, 'text')
       return label
     },
     // 默认筛选条件(不可更改赋值)用于清空操作,原defaultFilterState会被缓存赋值(版本需求)
@@ -1010,42 +1018,13 @@ export default {
               '推荐使用电脑浏览器访问剑鱼标讯网站\njianyu360.cn查看数据表格,体验更佳。'
           })
         }
-        // 市场分析报告插到表格头部位置
-        this.$nextTick(() => {
-          const recommend = document.querySelector('.recommend-card-container')
-          const table = document.querySelector('.table')
-          if (recommend && table) {
-            const parentNode = table.parentNode
-            parentNode.insertBefore(recommend, table)
-            this.cardLoaded = true
-          }
-        })
-      } else {
-        this.$toast.clear()
-        // 市场分析报告插到第一条数据后面位置
-        this.$nextTick(() => {
-          const recommend = document.querySelector('.recommend-card-container')
-          const cellList = document.querySelectorAll('.project-cell')
-          if (recommend && cellList[0]) {
-            const parentNode = cellList[0].parentNode
-            parentNode.insertBefore(recommend, cellList[0].nextSibling)
-            this.cardLoaded = true
-          }
-        })
       }
+      this.moveRecommendCard(n)
     },
     searchList(list) {
-      if (list && list.length) {
+      if (list && list.length && this.pageState.listTabActive === 'list') {
         // 市场分析报告插到第一条数据后面位置
-        this.$nextTick(() => {
-          const recommend = document.querySelector('.recommend-card-container')
-          const cellList = document.querySelectorAll('.project-cell')
-          if (recommend && cellList[0]) {
-            const parentNode = cellList[0].parentNode
-            parentNode.insertBefore(recommend, cellList[0].nextSibling)
-            this.cardLoaded = true
-          }
-        })
+        this.moveRecommendCard('list')
       }
     }
   },
@@ -1350,6 +1329,12 @@ export default {
       }
       if (filters.price) {
         const key = 'price'
+        if (!filters[key].start) {
+          filters[key].start = ''
+        }
+        if (!filters[key].end) {
+          filters[key].end = ''
+        }
         if (filters[key].start || filters[key].end) {
           this.filters.priceCheckbox = ['custom']
         }
@@ -2265,9 +2250,22 @@ export default {
                 className: 'j-confirm-dialog',
                 confirmButtonText: '立即升级'
               })
-              // 设置完区域后跳至关键词订阅页面
+              // 设置完区域后跳至关键词订阅页面,区域设置成功后关键词要同步设置(要携带参数过去)
+              const { moreKeywordsMode } = this.filters
+              const { tags, wordsMode } = moreKeywordsMode
+              // 订阅的关键词 = 主关键词 + 多关键词
+              let formatKeyword = ''
+              if (tags && tags.length) {
+                formatKeyword = this.filters.keywords + ' ' + tags.join(' ')
+              } else {
+                formatKeyword = this.filters.keywords
+              }
               this.toSetArea({
-                query: { url: LINKS.关键词列表[this.$env.platform] }
+                query: {
+                  url: LINKS.关键词列表[this.$env.platform],
+                  keywords: formatKeyword,
+                  wordsMode
+                }
               })
               return
             }
@@ -2373,6 +2371,7 @@ export default {
     // 保存筛选条件
     async saveFilterToHistory() {
       const params = this.getSaveFilterToHistoryParams()
+      console.log(params, 'params')
       // 如未输入关键词(包含顶部搜索框及更多筛选条件设置的多关键词、采购单位、中标单位和招标代理机构)则toast提示“请输入关键词”
       if (
         !params.searchvalue &&
@@ -2447,7 +2446,7 @@ export default {
         done()
       }
     },
-    formatFilterItems(item) {
+    formatFilterItems(item, type = 'dialog') {
       item.scope = item.selectType
       item.infotype = item.subtype
       const formatted = FilterHistoryAjaxModel2ViewModel.formatAll(item)
@@ -2484,7 +2483,7 @@ export default {
         .filter((v) => {
           if (v.label.includes('信息类型')) {
             const isChecked = deepCompareInfoType(v.text)
-            v.text = isChecked ? '' : v.text
+            v.text = type === 'text' && isChecked ? '' : v.text
           }
           if (this.topSearch.input) {
             return v && v.text
@@ -2834,6 +2833,8 @@ export default {
     // 清空已选筛选条件,恢复到默认值
     onClearFilter() {
       const noChangeDefaultFilterState = this.noChangeDefaultFilterState
+      this.filters.infoType = noChangeDefaultFilterState.infoType
+      this.pageState.searchGroup = '0'
       for (const key in noChangeDefaultFilterState) {
         this.$set(this.filters, key, noChangeDefaultFilterState[key])
       }
@@ -2845,6 +2846,39 @@ export default {
         keyStr,
         '<span class="highlight-text-orange-bd">' + keyStr + '</span>'
       )
+    },
+    moveRecommendCard(n) {
+      if (n === 'table') {
+        // 市场分析报告插到表格头部位置
+        this.$nextTick(() => {
+          const recommend = document.querySelector('.recommend-card-container')
+          const scroll = document.querySelector('.table-container .scroll')
+          const recommendChild = document.querySelector('.recommend-bg')
+          if (recommend && scroll) {
+            const parentNode = scroll.parentNode
+            parentNode.insertBefore(recommend, scroll)
+            this.cardLoaded = true
+            if (recommendChild) {
+              recommendChild.style.margin = '0 8px'
+            }
+          }
+        })
+      } else {
+        // 市场分析报告插到第一条数据后面位置
+        this.$nextTick(() => {
+          const recommend = document.querySelector('.recommend-card-container')
+          const cellList = document.querySelectorAll('.project-cell')
+          const recommendChild = document.querySelector('.recommend-bg')
+          if (recommend && cellList[0]) {
+            const parentNode = cellList[0].parentNode
+            parentNode.insertBefore(recommend, cellList[0].nextSibling)
+            this.cardLoaded = true
+            if (recommendChild) {
+              recommendChild.style.margin = '8px 8px 0'
+            }
+          }
+        })
+      }
     }
   }
 }
@@ -3177,6 +3211,10 @@ export default {
     rgba(255, 255, 255, 1),
     rgba(255, 255, 255, 1)
   );
+  &.ios-look-more {
+    height: 180px;
+    padding-bottom: 50px;
+  }
 }
 .sub-this-keywords {
   display: flex;
@@ -3267,7 +3305,7 @@ export default {
   }
 }
 .tab-saved {
-  padding: 8px 12px;
+  padding: 2px 12px 8px;
   background: #fff;
   &-left {
     flex: 1;
@@ -3276,6 +3314,7 @@ export default {
       color: #171826;
       font-size: 13px;
       line-height: 20px;
+      font-weight: bold;
     }
     &-value {
       font-size: 12px;
@@ -3289,7 +3328,7 @@ export default {
     font-size: 12px;
     line-height: 18px;
     .clear-action {
-      margin-right: 4px;
+      margin-right: 10px;
       padding: 1px 4px;
     }
     .save-action {

+ 1 - 1
apps/mobile/vite.config.js

@@ -36,7 +36,7 @@ function getExternals(isDev) {
 export default defineConfig(({ mode, command }) => {
   const env = loadEnv(mode, process.cwd())
   return {
-    base: '/jy_mobile/',
+    base: env.VITE_APP_BASE_PUBLIC,
     build: {
       sourcemap: true,
       outDir: '../../dist/jy_mobile',