Browse Source

feat:标讯搜索结果页,vip得开通改为v标识

zhangsiya 11 months ago
parent
commit
148ca52c2a

BIN
apps/mobile/src/assets/image/icon/vip/v_icon.png


+ 21 - 24
apps/mobile/src/components/search/bidding/filters.vue

@@ -25,7 +25,7 @@
         >
           <template #default="{ item }">
             <van-tag
-              class="scope-tag"
+              class=""
               round
               type="primary"
               v-if="item.labelTag"
@@ -173,7 +173,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">采购单位类型</span>
-              <van-tag plain round type="danger">开通</van-tag>
+              <span class="v-vip-icon"></span>
             </template>
           </van-cell>
           <JCell
@@ -183,9 +183,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">中标企业联系方式</span>
-              <van-tag plain round type="danger" @click="onNoPower"
-                >开通</van-tag
-              >
+              <span class="v-vip-icon" @click="onNoPower"></span>
             </template>
             <template #label>
               <CheckboxGroup
@@ -203,9 +201,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">采购单位联系方式</span>
-              <van-tag plain round type="danger" @click="onNoPower"
-                >开通</van-tag
-              >
+              <span class="v-vip-icon" @click="onNoPower"></span>
             </template>
             <template #label>
               <CheckboxGroup
@@ -224,9 +220,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">排除词</span>
-              <van-tag plain round type="danger" @click="onNoPower"
-                >开通</van-tag
-              >
+              <span class="v-vip-icon" @click="onNoPower"></span>
             </template>
             <template #label>
               <KeywordsInputGroup
@@ -245,9 +239,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">采购单位</span>
-              <van-tag plain round type="danger" @click="onNoPower">
-                开通
-              </van-tag>
+              <span class="v-vip-icon" @click="onNoPower"></span>
             </template>
             <template #label>
               <KeywordsInputGroup
@@ -268,9 +260,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">中标企业</span>
-              <van-tag plain round type="danger" @click="onNoPower">
-                开通
-              </van-tag>
+              <span class="v-vip-icon" @click="onNoPower"></span>
             </template>
             <template #label>
               <KeywordsInputGroup
@@ -291,9 +281,7 @@
           >
             <template #title v-if="noLoginOrFree">
               <span class="mr-6">招标代理机构</span>
-              <van-tag plain round type="danger" @click="onNoPower">
-                开通
-              </van-tag>
+              <span class="v-vip-icon" @click="onNoPower"></span>
             </template>
             <template #label>
               <KeywordsInputGroup
@@ -599,10 +587,10 @@ export default {
         if (item.needPower) {
           if (this.noLoginOrFree && !oldUserExclusive) {
             this.$set(item, 'disabled', true)
-            this.$set(item, 'tag', '开通')
+            this.$set(item, 'vip', true)
           } else {
             this.$set(item, 'disabled', false)
-            this.$set(item, 'tag', '')
+            this.$set(item, 'vip', false)
             if (oldUserExclusive) {
               this.$set(item, 'labelTag', '老用户免费专享')
             }
@@ -621,14 +609,14 @@ export default {
         list.forEach((item) => {
           if (item.needPower) {
             this.$set(item, 'disabled', true)
-            this.$set(item, 'tag', '开通')
+            this.$set(item, 'vip', true)
           }
         })
       } else {
         list.forEach((item) => {
           if (item.needPower) {
             this.$set(item, 'disabled', false)
-            this.$set(item, 'tag', '')
+            this.$set(item, 'vip', false)
           }
         })
       }
@@ -1240,4 +1228,13 @@ export default {
 .price-input-group {
   margin-top: 6px;
 }
+.v-vip-icon{
+  display: inline-block;
+  width: 14px;
+  height: 14px;
+  margin-left: 2px;
+  background: url(@/assets/image/icon/vip/v_icon.png) no-repeat center;
+  background-size: contain;
+  margin-bottom: 1px;
+}
 </style>

+ 11 - 3
apps/mobile/src/components/selector/scope/index.vue

@@ -9,6 +9,7 @@
     >
       <div class="scope-item-label">
         <span class="item-label">{{ item.label }}</span>
+        <span v-if="item.vip && item.disabled" class="v-vip-icon"></span>
         <slot :item="item"></slot>
       </div>
       <div class="scope-item-action">
@@ -205,12 +206,10 @@ export default {
     font-weight: 500;
     color: $gray_7;
     line-height: 20px;
+    box-sizing: border-box;
     &.active {
       color: $main;
     }
-    &.disabled {
-      color: $gray_5;
-    }
     &:not(:last-child)::after {
       position: absolute;
       content: '';
@@ -220,6 +219,15 @@ export default {
       height: 1px;
       background: $border_color_3;
     }
+    .v-vip-icon{
+      display: inline-block;
+      width: 14px;
+      height: 14px;
+      margin-left: 4px;
+      background: url(@/assets/image/icon/vip/v_icon.png) no-repeat center;
+      background-size: contain;
+      margin-bottom: 2px;
+    }
   }
 
   ::v-deep {

+ 10 - 0
apps/mobile/src/ui/checkbox-group/index.vue

@@ -22,6 +22,7 @@
         :$index="index"
       ></slot>
       <slot v-else :item="item">{{ item[getConfig.findLabel] }}</slot>
+      <span v-if="item.vip" class="v-vip-icon"></span>
       <span v-if="item.tag" class="jy-tag">{{ item.tag }}</span>
     </CheckBox>
   </div>
@@ -251,5 +252,14 @@ export default {
       margin-right: 0;
     }
   }
+  .v-vip-icon{
+    display: inline-block;
+    width: 14px;
+    height: 14px;
+    margin-left: 2px;
+    background: url(@/assets/image/icon/vip/v_icon.png) no-repeat center;
+    background-size: contain;
+    margin-bottom: 1px;
+  }
 }
 </style>