浏览代码

Merge branch 'feature/v1.0.36' into dev/1.0.36_zsy

zhangsiya 1 年之前
父节点
当前提交
bc83542542

+ 21 - 7
apps/bigmember_pc/src/components/filter-items/BasePowerLayout.vue

@@ -2,10 +2,15 @@
   <section class="base-power-layout">
     <div class="base-power-module default-module">
       <slot name="default"></slot>
+      <div v-if="baseMaskShow" class="base-mask" @click="clickBaseMask"></div>
     </div>
-    <div class="base-power-module vip-module" v-if='vipShow'>
+    <div class="base-power-module vip-module" v-if="vipModuleShow">
       <slot name="vip"></slot>
-      <div v-if="vipMask" class="vip-mask pointer" @click="clickMask"></div>
+      <div
+        v-if="vipMaskShow"
+        class="vip-mask pointer"
+        @click="clickVipMask"
+      ></div>
     </div>
   </section>
 </template>
@@ -14,18 +19,25 @@
 export default {
   name: 'BasePowerLayout',
   props: {
-    vipMask: {
+    baseMaskShow: {
       type: Boolean,
       default: false
     },
-    vipShow: {
+    vipMaskShow: {
+      type: Boolean,
+      default: false
+    },
+    vipModuleShow: {
       type: Boolean,
       default: false
     }
   },
   methods: {
-    clickMask() {
-      this.$emit('clickMask')
+    clickBaseMask() {
+      this.$emit('clickBaseMask')
+    },
+    clickVipMask() {
+      this.$emit('clickVipMask')
     }
   }
 }
@@ -40,6 +52,7 @@ $gold: #c98f37;
   flex-wrap: wrap;
 }
 .base-power-module {
+  position: relative;
   display: flex;
   align-items: center;
   padding: 0 12px 0 6px;
@@ -49,7 +62,6 @@ $gold: #c98f37;
   margin-right: 8px;
 }
 .vip-module {
-  position: relative;
   border: 1px dashed $gold;
   background: linear-gradient(90deg, #fff7dC 0%, rgba(255, 247, 220, 0) 100%);
   &::after {
@@ -65,6 +77,7 @@ $gold: #c98f37;
     background-size: contain;
   }
 }
+.base-mask,
 .vip-mask {
   position: absolute;
   left: 0;
@@ -72,5 +85,6 @@ $gold: #c98f37;
   top: 0;
   bottom: 0;
   z-index: 2;
+  cursor: pointer;
 }
 </style>

+ 18 - 5
apps/bigmember_pc/src/components/filter-items/SelectorWithBasePower.vue

@@ -1,6 +1,12 @@
 <template>
   <div class="selector-with-base-power">
-    <BasePowerLayout @clickMask="clickMask" :vipMask="vipMask" :vipShow='vipShow'>
+    <BasePowerLayout
+      @clickVipMask="clickVipMask"
+      @clickBaseMask="clickBaseMask"
+      :vipMaskShow="vipMaskShow"
+      :baseMaskShow="baseMaskShow"
+      :vipModuleShow="vipModuleShow"
+    >
       <component
         :is="component"
         :value="value"
@@ -35,14 +41,18 @@ export default {
     component: {
       required: true
     },
+    baseMaskShow: {
+      type: Boolean,
+      default: false
+    },
     value: {
       default: undefined
     },
-    vipMask: {
+    vipMaskShow: {
       type: Boolean,
       default: false
     },
-    vipShow: {
+    vipModuleShow: {
       type: Boolean,
       default: false
     },
@@ -64,8 +74,11 @@ export default {
     event: 'change'
   },
   methods: {
-    clickMask() {
-      this.$emit('clickMask')
+    clickVipMask() {
+      this.$emit('clickVipMask')
+    },
+    clickBaseMask() {
+      this.$emit('clickBaseMask')
     },
     onChange(value) {
       this.$emit('change', value)

+ 11 - 4
apps/bigmember_pc/src/views/search/bidding/components/search-bid-filter.vue

@@ -59,7 +59,7 @@ if(inBIPropertyIframe) {
 
 const customMoreSchema = computed(() => {
   return {
-    vipShow: true,
+    vipModuleShow: true,
     commonConf: {
       showLabel: false,
       styleType: 'row'
@@ -79,6 +79,11 @@ function noPower() {
   $bus.$emit('search:filter:no-power')
 }
 
+function toLogin() {
+  console.log('need login')
+  $bus.$emit('common:login:to-login')
+}
+
 function doChangeFilter() {
   doQuery()
 }
@@ -125,9 +130,11 @@ function doChangeFilter() {
             :freeConf="customMoreSchema.freeConf"
             :vipConf="customMoreSchema.vipConf"
             v-model="filterState"
-            vipMask
-            :vipShow="isInApp && isVip"
-            @clickMask="noPower"
+            vipMaskShow
+            :baseMaskShow="!isLogin"
+            :vipModuleShow="isInApp && isVip"
+            @clickVipMask="noPower"
+            @clickBaseMask="toLogin"
             @change="doChangeFilter"
           ></SelectorWithBasePower>
         </template>

+ 4 - 4
apps/bigmember_pc/src/views/search/bidding/constant/search-filters.js

@@ -41,8 +41,8 @@ function createSearchBidBaseSchema(conf = {}) {
     component: SelectorWithBasePower,
     props: {
       component: SearchTimeScopeSelector,
-      vipMask: true,
-      vipShow: showVip,
+      vipMaskShow: true,
+      vipModuleShow: showVip,
       freeConf: {
         options: ['lately7', 'lately30', 'sinceLastYear'],
       },
@@ -51,7 +51,7 @@ function createSearchBidBaseSchema(conf = {}) {
       }
     },
     hooks: {
-      clickMask: noPower
+      clickVipMask: noPower
     }
   }
   const publishTimeExpandVip = {
@@ -67,7 +67,7 @@ function createSearchBidBaseSchema(conf = {}) {
   const searchScopeExpandFree = {
     component: SelectorWithBasePower,
     props: {
-      vipShow: showVip,
+      vipModuleShow: showVip,
       component: SearchScopeSelector,
       options: defaultScopeOptions,
       freeConf: {

+ 5 - 2
apps/bigmember_pc/src/views/subscribe/components/key/SubConfig.vue

@@ -351,7 +351,7 @@ export default {
         matchtype: state
       })
     },
-    // 保存区域修改数据
+    // 保存区域修改数据(已停用)
     saveAreaData(data) {
       setAreaBuyer({
         vSwitch: 'm',
@@ -371,9 +371,12 @@ export default {
     },
     // 保存采购单位行业数据及匹配未分类行业数据
     saveBuyClassData(data) {
+    const {area, district} = this.$refs.areaCityCountry.formatProvinceAndCities(this.areaData)
       setAreaBuyer({
         vSwitch: 'm',
-        area: JSON.stringify(this.areaData),
+        // area: JSON.stringify(this.areaData),
+        area: JSON.stringify(area),
+        district: JSON.stringify(district),
         industry: data.toString()
       }).then((res) => {
         if (res.data.doSuccess) {