Browse Source

搜索页调整,器件选型调整

yangc 8 years ago
parent
commit
fcce4426d4

+ 1 - 0
components/product/CategoryProperty.vue

@@ -170,6 +170,7 @@
         this.selectedProduct['a' + propertyId] = item
         this.JSONObj[propertyId] = item.value
         this.$emit('loadCmpGoodsByTypeEvent', JSON.stringify(this.JSONObj))
+        this.list_exp_flag = false
       },
       use_exp_list: function (pro, index) {
         this.selectedProperties = pro

+ 74 - 12
components/search/DetailBrand.vue

@@ -1,21 +1,83 @@
 <template>
-  <div>
-    <h1>啊哈哈哈</h1>
-    <h1>啊哈哈哈</h1>
-    <h1>啊哈哈哈</h1>
-    <h1>啊哈哈哈</h1>
-    <h1>啊哈哈哈</h1><h1>啊哈哈哈</h1><h1>啊哈哈哈</h1>
-    <h1>啊哈哈哈</h1><h1>啊哈哈哈</h1>
-    <h1>啊哈哈哈</h1>
+  <div class="brandDetail container" v-if="list_brands">
+    <div id="brand">
+      <nuxt-link :to="`/product/brand/${list_brands.uuid}`" class="brand-logo">
+        <img :src="list.logoUrl || '/images/component/default.png'" :alt="list.nameEn" :title="list.nameEn"/>
+      </nuxt-link>
+      <div class="brand-message">
+        <div class="brand-main" v-show="list.series">主营产品:<span>{{list.series}}</span></div>
+        <div class="brand-main" v-show="applications.length>0">
+          应用领域:<span v-for="(item, index) in applications"><span>{{item}}</span><span v-show="index+1 < applications.length">|</span></span>
+        </div>
+        <div class="brand-main" v-show="list.brief">品牌介绍:<span>{{list.brief}}</span></div>
+        <div class="brand-main" v-show="list.url">官网地址:<a class="office-address" :href="list.url">{{list.url}}</a></div>
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
-  created: {
-      console.log(1)
+  export default {
+    data () {
+      return {
+        applications: []
+      }
+    },
+    computed: {
+      list_brands () {
+        return this.$store.state.searchData.searchList.lists.data.brands
+      },
+      list () {
+        let list = this.$store.state.searchData.searchDetail.detail.data
+        if (list.application && list.application !== '') {
+          this.applications = list.application.split(',')
+        }
+        return list
+      }
+    }
   }
 </script>
 
-<style>
-
+<style scoped>
+  .brandDetail {
+    margin-top: 20px;
+    width: 1190px;
+    padding: 0;
+    overflow: hidden;
+  }
+  .brand-main{
+    font-size: 14px;
+    line-height: 20px;
+    font-weight: 700;
+    margin-left: 223px;
+    margin-bottom: 10px;
+  }
+  .brand-main >span {
+    font-weight: 500;
+    font-size: 13px;
+    margin-top: 5px;
+  }
+  .office-address{
+    margin-top: 10px;
+  }
+  .office-address{
+    color: #666;
+  }
+  .office-address:hover{
+    color: #5078cb;
+    cursor: pointer;
+  }
+  .brandDetail .brand-logo{
+    float: left;
+    width: 213px;
+    height: 160px;
+    text-align: center;
+    line-height: 100px;
+  }
+  .brandDetail .brand-logo img {
+    width: 212px;
+    height: 159px;
+    border: 1px solid #ccc;
+    vertical-align: middle;
+  }
 </style>

+ 37 - 9
components/search/Kind.vue

@@ -25,7 +25,7 @@
         </a>
       </div>
     </div>
-    <div class="sl-wrap" v-if="good_list.total > 0">
+    <div class="sl-wrap" v-if="good_list.total > 0 && !list_data_brands">
       <div class="sl-key f14">品牌:</div>
       <div class="sl-value" >
          <span v-for="(brand_temp, index) in brand_exp_arr" >
@@ -104,11 +104,22 @@
       <div class="sl-value">
         <ul class="list-inline"  >
           <li><a class="f14" @click="restore('crname')">全部</a></li>
-          <li v-for="cr in list_crname_temp">
-            <a v-if="cr.cr_name=='RMB'?!crname_click_flag.rmb_click_flag:!crname_click_flag.usd_click_flag" v-text="cr.cr_name=='RMB'?'大陆':'香港'" class="f14" @click="click_crname(cr.cr_name)"></a>
-            <span v-if="cr.cr_name=='RMB'?crname_click_flag.rmb_click_flag:crname_click_flag.usd_click_flag" @click="cancel_crname(cr.cr_name)">
+          <li>
+            <a v-if="!crnameInArr(list_crname_temp, {'cr_name':'RMB'})&&!crname_click_flag.rmb_click_flag" class="f14" @click="click_crname('RMB')">大陆</a>
+            <div style="color: #999;" v-if="crnameInArr(list_crname_temp, {'cr_name':'RMB'})&&!crname_click_flag.rmb_click_flag" class="f14">大陆</div>
+            <span v-if="crname_click_flag.rmb_click_flag" @click="cancel_crname('RMB')">
               <div class="sl-filter">
-                <a class="text-num" v-text="cr.cr_name=='RMB'?'大陆':'香港'"></a>
+                <a class="text-num" >大陆</a>
+                <span><i class="fa fa-close"></i></span>
+              </div>
+            </span>
+          </li>
+          <li>
+            <a v-if="!crnameInArr(list_crname_temp, {'cr_name':'USD'})&&!crname_click_flag.usd_click_flag" class="f14" @click="click_crname('USD')">香港</a>
+            <div style="color: #999;" v-if="crnameInArr(list_crname_temp, {'cr_name':'USD'})&&!crname_click_flag.usd_click_flag" class="f14">香港</div>
+            <span v-if="crname_click_flag.usd_click_flag" @click="cancel_crname('USD')">
+              <div class="sl-filter">
+                <a class="text-num" >香港</a>
                 <span><i class="fa fa-close"></i></span>
               </div>
             </span>
@@ -121,11 +132,22 @@
       <div class="sl-value">
         <ul class="list-inline"  >
           <li><a class="f14" @click="restore('crname')">全部</a></li>
-          <li v-for="cr in list_crname_temp">
-            <a v-if="cr.cr_name=='RMB'?!crname_click_flag.rmb_click_flag:!crname_click_flag.usd_click_flag" v-text="cr.cr_name=='RMB'?'人民币':'美元'" class="f14" @click="click_crname(cr.cr_name)"></a>
-            <span v-if="cr.cr_name=='RMB'?crname_click_flag.rmb_click_flag:crname_click_flag.usd_click_flag" @click="cancel_crname(cr.cr_name)">
+          <li>
+            <a v-if="!crnameInArr(list_crname_temp, {'cr_name':'RMB'})&&!crname_click_flag.rmb_click_flag" class="f14" @click="click_crname('RMB')">人民币</a>
+            <div style="color: #999;" v-if="crnameInArr(list_crname_temp, {'cr_name':'RMB'})&&!crname_click_flag.rmb_click_flag" class="f14">人民币</div>
+            <span v-if="crname_click_flag.rmb_click_flag" @click="cancel_crname('RMB')">
               <div class="sl-filter">
-                <a class="text-num" v-text="cr.cr_name=='RMB'?'人民币':'美元'"></a>
+                <a class="text-num" >人民币</a>
+                <span><i class="fa fa-close"></i></span>
+              </div>
+            </span>
+          </li>
+          <li>
+            <a v-if="!crnameInArr(list_crname_temp, {'cr_name':'USD'})&&!crname_click_flag.usd_click_flag" class="f14" @click="click_crname('USD')">美元</a>
+            <div style="color: #999;" v-if="crnameInArr(list_crname_temp, {'cr_name':'USD'})&&!crname_click_flag.usd_click_flag" class="f14">美元</div>
+            <span v-if="crname_click_flag.usd_click_flag" @click="cancel_crname('USD')">
+              <div class="sl-filter">
+                <a class="text-num" >美元</a>
                 <span><i class="fa fa-close"></i></span>
               </div>
             </span>
@@ -203,6 +225,9 @@
       },
       good_list () {
         return this.good_lists.data
+      },
+      list_data_brands () {
+        return this.good_list.brands
       }
     },
     methods: {
@@ -337,6 +362,9 @@
           }
         }
         return -1
+      },
+      crnameInArr: function (arr, obj) {
+        return (JSON.stringify(arr).indexOf(JSON.stringify(obj)) === -1)
       }
     }
   }

+ 1 - 1
nuxt.config.js

@@ -1,6 +1,6 @@
 const path = require('path')
 const isProdMode = Object.is(process.env.NODE_ENV, 'production')
-const baseUrl = process.env.BASE_URL || (isProdMode ? 'http://www.usoftmall.com/' : 'http://192.168.253.60:9090/platform-b2c/')
+const baseUrl = process.env.BASE_URL || (isProdMode ? 'http://www.usoftmall.com/' : 'http://192.168.253.121:8080/platform-b2c/')
 const webpack = require('webpack')
 
 module.exports = {

+ 2 - 1
pages/search/_keyword.vue

@@ -16,7 +16,8 @@
 </div>
 </template>
 <script>
-  import { GoodList, Kind, ResultTitle, DetailBrand } from '~components/search'
+  import { GoodList, Kind, ResultTitle } from '~components/search'
+  import DetailBrand from '~components/search/DetailBrand.vue'
   export default{
     layout: 'main',
     data () {