Browse Source

Merge remote-tracking branch 'origin/feature-201821-wangcz' into feature-201821-wangcz

shenjj 7 years ago
parent
commit
0b4cf473e4

+ 20 - 7
assets/scss/mobilePayCenter.scss

@@ -44,16 +44,26 @@ $base-color: #3f84f6;
       .content-line {
       .content-line {
         padding-top: .24rem;
         padding-top: .24rem;
         font-size: .28rem;
         font-size: .28rem;
+        display: inline-block;
+        vertical-align: middle;
+        width: 62%;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        &:nth-child(even) {
+          width: 38%;
+        }
         i {
         i {
           margin-right: .05rem;
           margin-right: .05rem;
         }
         }
         .title {
         .title {
           color: #666;
           color: #666;
-          width: 23%;
         }
         }
         .content {
         .content {
-          text-align: right;
-          width: 77%;
+          text-align: left;
+        }
+        .link {
+          color: $base-color;
         }
         }
         .fr {
         .fr {
           color: $base-color;
           color: $base-color;
@@ -187,8 +197,11 @@ $base-color: #3f84f6;
     }
     }
     .filters-wrap {
     .filters-wrap {
       background: #fff;
       background: #fff;
-      text-align: center;
-      .date-wrap {
+      border-radius: .05rem;
+      padding: .24rem .21rem;
+      width: 7.1rem;
+      margin: 0 auto;
+      /*.date-wrap {
         label {
         label {
           width: 2.22rem;
           width: 2.22rem;
           height: .5rem;
           height: .5rem;
@@ -272,10 +285,10 @@ $base-color: #3f84f6;
             }
             }
           }
           }
         }
         }
-      }
+      }*/
     }
     }
     .record-list {
     .record-list {
-      width: 6.9rem;
+      width: 7.1rem;
       margin: .24rem auto;
       margin: .24rem auto;
     }
     }
   }
   }

+ 1 - 1
components/btbBusiness/means.vue

@@ -16,7 +16,7 @@
         <li><img src="/images/btbBusiness/dynamic-graph.gif"></li>
         <li><img src="/images/btbBusiness/dynamic-graph.gif"></li>
         <li>
         <li>
           <h4>优软商城</h4>
           <h4>优软商城</h4>
-          <p style="margin-bottom: 15px;">优软商城(UsoftMall)成立于2016年,总部位于南山区高新技术产业园科技南5路英唐大厦一楼。 优软商城是由深圳优软商城科技有限公司,为真正地解决电子信息行业的众多难题,秉持回归互联网精神的 “分享与链接”, 基于垂直细分理念打造的一个全球询价共享平台。 优软商城智能询价求购服务基于大数据结合人工智能,智能自动匹配商家询价求购信息,让供应商商机无限拓展,让采购商省时省力更省心。 目前我们拥有7千多家企业用户 7500家的原厂品牌,拥有超过1100万现货型号,交易额月均8亿,2017年公司产业互联网平台“优软云” GMV 已破100亿元,2018年目标有望超过300 亿元。 优软商城的主要服务有:询价求购、入驻开店、供应商资源对接、品牌墙、标准器件库、器件选型、垫资代采 。</p>
+          <p style="margin-bottom: 15px;">优软商城(UsoftMall)成立于2016年,总部位于南山区高新技术产业园科技南5路英唐大厦一楼。 优软商城是由深圳优软商城科技有限公司,为真正地解决电子信息行业的众多难题,秉持回归互联网精神的 “分享与链接”, 基于垂直细分理念打造的一个全球询价共享平台。 优软商城智能询价求购服务基于大数据结合人工智能,智能自动匹配商家询价求购信息,让供应商商机无限拓展,让采购商省时省力更省心。 目前我们拥有7千多家企业用户 7500家的原厂品牌,拥有超过1100万现货型号,交易额月均8亿,2017年公司产业互联网平台“优软云” GMV 已破100亿元,2018年目标有望超过300 亿元。 优软商城的主要服务有:询价求购、入驻开店、供应商资源对接、品牌墙、标准器件库、器件选型、垫资代采 。</p>
           <h4>优企云服</h4>
           <h4>优企云服</h4>
           <p>优软SAAS是UAS在云模式下的精简版,核心是给企业提供与优软B2B平台进行有效对接的内部管理软件。<br/>制造业及流通业的中小规模的企业,通过租用方式,在优软SAAS上开通企业数据库,进行内部的物流、财务、制造、流程等的管控。</p>
           <p>优软SAAS是UAS在云模式下的精简版,核心是给企业提供与优软B2B平台进行有效对接的内部管理软件。<br/>制造业及流通业的中小规模的企业,通过租用方式,在优软SAAS上开通企业数据库,进行内部的物流、财务、制造、流程等的管控。</p>
         </li>
         </li>

+ 1 - 1
components/main/Header.vue

@@ -57,7 +57,7 @@
       position: fixed;
       position: fixed;
       width: 100%;
       width: 100%;
       background: #fff;
       background: #fff;
-      z-index: 1001;
+      z-index: 1002;
       top: 0;
       top: 0;
       padding-top: 20px;
       padding-top: 20px;
       -webkit-box-shadow: 0 2px 0 0 #ccc;
       -webkit-box-shadow: 0 2px 0 0 #ccc;

+ 27 - 29
components/main/Nav.vue

@@ -1,8 +1,10 @@
 <template>
 <template>
   <nav class="nav-list">
   <nav class="nav-list">
     <div class="container">
     <div class="container">
-      <nuxt-link to="/product/kind/home" class="item item-first">
-        <div>器件选型</div>
+      <nuxt-link to="/product/kind/home" class="item item-first" tag="div">
+        <div>器件选型
+          <kind-category v-if="$route.path != '/'" @loadchild="loadProductKinds" id="kindCategory"></kind-category>
+        </div>
       </nuxt-link>
       </nuxt-link>
       <nuxt-link :to="'/'" class="item" exact>
       <nuxt-link :to="'/'" class="item" exact>
         <span>首&nbsp;&nbsp;页</span>
         <span>首&nbsp;&nbsp;页</span>
@@ -49,37 +51,15 @@
   </nav>
   </nav>
 </template>
 </template>
 <script>
 <script>
+  import { KindCategory } from '~components/home'
   export default {
   export default {
     name: 'navView',
     name: 'navView',
-    data () {
-      return {
-        isMounted: false
-      }
-    },
-    mounted () {
-      this.$nextTick(() => {
-        this.isMounted = true
-      })
-    },
-    computed: {
-      name () {
-        let path = this.$route.path
-        if (path === '/provider/factories') {
-          return '原厂专区'
-        } else if (path === '/provider/home') {
-          return '代理经销'
-        } else {
-          return '店  铺'
-        }
-      },
-      isActive () {
-        return (this.$route.path === '/provider/factories' && this.name === '原厂专区') || (this.$route.path === '/provider/home' && this.name === '代理经销')
-      }
+    components: {
+      KindCategory
     },
     },
     methods: {
     methods: {
-      open (url) {
-        window.open(url)
-//        this.$router.push(url)
+      loadProductKinds (id) {
+        this.$store.dispatch('loadAllProductKinds', {id})
       },
       },
       goB2B () {
       goB2B () {
         if (this.user.logged) {
         if (this.user.logged) {
@@ -88,6 +68,9 @@
           this.login(`${process.env.uasUrl}`)
           this.login(`${process.env.uasUrl}`)
         }
         }
       }
       }
+    },
+    created () {
+      this.$store.dispatch('loadProductKinds', { id: 0 })
     }
     }
   }
   }
 </script>
 </script>
@@ -169,6 +152,15 @@
         }
         }
       }
       }
 
 
+      #kindCategory {
+        display: none;
+        font-weight: normal;
+        text-align: left;
+        z-index: 1001;
+        top: 40px;
+        left: 0;
+      }
+
       &.item-first {
       &.item-first {
         width: 220px;
         width: 220px;
         margin: 0;
         margin: 0;
@@ -178,6 +170,12 @@
         text-align: center;
         text-align: center;
         color: #fff;
         color: #fff;
         cursor: pointer;
         cursor: pointer;
+        position: relative;
+        &:hover {
+          #kindCategory {
+            display: block;
+          }
+        }
       }
       }
     }
     }
   }
   }

+ 1 - 1
components/mobile/applyPurchase/SeekList.vue

@@ -60,7 +60,7 @@
                 <span>{{item.quotation.user ? item.quotation.user.userTel : '-'}}</span>
                 <span>{{item.quotation.user ? item.quotation.user.userTel : '-'}}</span>
               </div>
               </div>
               <div class="content">
               <div class="content">
-                交期:
+                交期(天)
                 <span class="date">{{item.quotation.leadtime || '-'}}</span>
                 <span class="date">{{item.quotation.leadtime || '-'}}</span>
               </div>
               </div>
               <table class="com-price-list">
               <table class="com-price-list">

+ 207 - 0
components/mobile/base/BaseFilter.vue

@@ -0,0 +1,207 @@
+<template>
+  <div class="mobile-base-filter">
+    <span class="title inline-block">{{title}}:</span>
+    <div class="inline-block content">
+        <span class="item inline-block" v-for="item in selectItems" @click.stop="setSelect(item)">
+          <label class="mobile-cart-check" :class="{active: val === item.val}"></label>
+          {{item.key}}
+        </span>
+    </div>
+    <div class="date-wrap" v-if="selectOption === 'date' && val === 4">
+      <label>
+        <i class="iconfont icon-ico-date"></i>
+        <input type="date" v-model="dateObj.fromDate" @change="setDate('fromDate')">
+        <p v-if="dateObj.fromDate">{{dateObj.fromDate | date}}</p>
+      </label>
+      <span>—</span>
+      <label>
+        <i class="iconfont icon-ico-date"></i>
+        <input type="date" v-model="dateObj.toDate" @change="setDate('toDate')">
+        <p v-if="dateObj.toDate">{{dateObj.toDate | date}}</p>
+      </label>
+    </div>
+    <remind-box :title="remindText" :timeoutCount="timeoutCount"></remind-box>
+  </div>
+</template>
+<script>
+  import { RemindBox } from '~components/mobile/common'
+  export default {
+    props: {
+      // 筛选标题
+      title: {
+        type: String,
+        default: '标题'
+      },
+      // 筛选条件
+      selectItems: {
+        type: Array,
+        default: function () {
+          return []
+        }
+      },
+      // 默认选择
+      defaultVal: {
+        default: 0
+      },
+      // 选择属性值
+      selectOption: {
+        type: String,
+        default: 'defaultKey'
+      }
+    },
+    data () {
+      return {
+        val: 0,
+        dateObj: {
+          fromDate: null,
+          toDate: null
+        },
+        remindText: '',
+        timeoutCount: ''
+      }
+    },
+    components: {
+      RemindBox
+    },
+    watch: {
+      val: {
+        handler: function (val) {
+          if (val) {
+            this.val = val
+          }
+        },
+        immediate: true
+      }
+    },
+    methods: {
+      setRemindText: function (str) {
+        this.remindText = str
+        this.timeoutCount++
+      },
+      setSelect (item) {
+        this.val = item.val
+        if (this.selectOption === 'date' && item.val === 4) {
+          return
+        }
+        this.$emit('selectAction', {
+          key: this.selectOption,
+          value: this.selectOption === 'date' ? this.getDateObj(item.val) : item.val
+        })
+      },
+      /*
+      * 通过勾选获取时间
+      * @val: 0 => 全部
+      *       1 => 最近一个月
+      *       2 => 最近三个月
+      *       3 => 最近六个月
+      * */
+      getDateObj (val) {
+        let dateObj = null
+        // 当天0点时间戳
+        let currentTime = this.baseUtils.getClearDay(new Date())
+        if (val === 1) { // 一个月
+          dateObj = {
+            fromDate: currentTime - 30 * 24 * 60 * 60 * 1000,
+            toDate: currentTime
+          }
+        } else if (val === 2) { // 三个月
+          dateObj = {
+            fromDate: currentTime - 3 * 30 * 24 * 60 * 60 * 1000,
+            toDate: currentTime
+          }
+        } else if (val === 3) { // 六个月
+          dateObj = {
+            fromDate: currentTime - 6 * 30 * 24 * 60 * 60 * 1000,
+            toDate: currentTime
+          }
+        }
+        return dateObj
+      },
+      setDate (type) {
+        if (this.dateObj[type]) {
+          this.dateObj[type] = new Date(this.dateObj[type]).getTime() - 8 * 60 * 60 * 1000
+          if (this.dateObj.fromDate && this.dateObj.toDate && this.dateObj.fromDate > this.dateObj.toDate) {
+            if (type === 'fromDate') {
+              this.setRemindText('起始时间不能大于结束时间')
+            } else {
+              this.setRemindText('结束时间不能小于起始时间')
+            }
+            this.dateObj[type] = null
+          } else {
+            if (this.dateObj.fromDate && this.dateObj.toDate && this.dateObj.fromDate === this.dateObj.toDate) {
+              // 23:59:59
+              this.dateObj.toDate += 23 * 60 * 60 * 1000 + 59 * 60 * 1000 + 59 * 1000
+            }
+          }
+        } else {
+          this.dateObj[type] = null
+        }
+        this.$emit('selectAction', {
+          key: 'date',
+          value: this.dateObj
+        })
+      }
+    }
+  }
+</script>
+<style lang="scss" scoped>
+  $base-color: #3f84f6;
+  .mobile-base-filter {
+    line-height: .5rem;
+    .title {
+      vertical-align: top;
+      width: 21%;
+    }
+    .content {
+      width: 79%;
+      .item {
+        width: 33%;
+        color: $base-color;
+      }
+    }
+    .date-wrap {
+      text-align: center;
+      label {
+        width: 2.6rem;
+        height: .5rem;
+        line-height: .5rem;
+        border-radius: .04rem;
+        border: 1px solid #bfbfbf;
+        background: url(/images/mobile/select-arrow.png) no-repeat;
+        background-size: .12rem .06rem;
+        vertical-align: middle;
+        background-color: #fff;
+        background-position: 2.1rem .2rem;
+        position: relative;
+        margin: .2rem 0 0 0;
+        input {
+          opacity: 0;
+          width: 2.22rem;
+          height: .5rem;
+          position: absolute;
+          left: 0;
+          z-index: 1;
+        }
+        i {
+          font-size: .28rem;
+          color: $base-color;
+          margin-left: .2rem;
+          float: left;
+        }
+      }
+      p {
+        font-weight: normal;
+        font-size: .22rem;
+        padding-right: .4rem;
+      }
+      span {
+        color: #a0a0a0;
+        margin: 0 .4rem;
+        vertical-align: bottom;
+        width: .5rem;
+        display: inline-block;
+        text-align: center;
+      }
+    }
+  }
+</style>

+ 2 - 1
components/mobile/base/index.js

@@ -8,5 +8,6 @@ import AddressView from './addressView.vue'
 import AddressEdit from './addressEdit.vue'
 import AddressEdit from './addressEdit.vue'
 import RemindStr from './RemindStr.vue'
 import RemindStr from './RemindStr.vue'
 import RemindOpeModal from './RemindOpeModal.vue'
 import RemindOpeModal from './RemindOpeModal.vue'
+import BaseFilter from './BaseFilter.vue'
 
 
-export { SearchHeader, SearchHeader2, LinkUser, ModalWrapper, BottomModalWrapper, SelectAddress, AddressView, AddressEdit, RemindStr, RemindOpeModal }
+export { SearchHeader, SearchHeader2, LinkUser, ModalWrapper, BottomModalWrapper, SelectAddress, AddressView, AddressEdit, RemindStr, RemindOpeModal, BaseFilter }

+ 6 - 6
components/mobile/share/store/StoreFooter.vue

@@ -34,7 +34,7 @@
       <div class="hr"></div>
       <div class="hr"></div>
       <img src="/images/mobile/@2x/shareStore/logo.png" alt="">
       <img src="/images/mobile/@2x/shareStore/logo.png" alt="">
       <div class="hr right"></div>
       <div class="hr right"></div>
-      <p>此页面由深圳优软商城科技有限公司提供</p>
+      <p>此页面由深圳优软商城科技有限公司提供</p>
       <a href="https://www.usoftmall.com">www.usoftmall.com</a>
       <a href="https://www.usoftmall.com">www.usoftmall.com</a>
     </div>
     </div>
   </div>
   </div>
@@ -57,12 +57,12 @@
           width: 0.08rem;
           width: 0.08rem;
           height: 0.3rem;
           height: 0.3rem;
           line-height: 0.3rem;
           line-height: 0.3rem;
-          background-image: linear-gradient(90deg, 
-            #7188ff 0%, 
-            #6066fe 84%, 
-            #4f44fd 100%), 
+          background-image: linear-gradient(90deg,
+            #7188ff 0%,
+            #6066fe 84%,
+            #4f44fd 100%),
           linear-gradient(
           linear-gradient(
-            #000000, 
+            #000000,
             #000000);
             #000000);
           display: inline-block;
           display: inline-block;
           margin-top: 0.02rem;
           margin-top: 0.02rem;

+ 1 - 1
pages/activity/business.vue

@@ -10,7 +10,7 @@
         <h3>优软商城介绍</h3>
         <h3>优软商城介绍</h3>
         <div class="theme"></div>
         <div class="theme"></div>
         <div class="text">
         <div class="text">
-          <p> 优软商城是由深圳优软商城科技有限公司,为真正地解决电子信息行业的众多难题,秉持回归互联网精神的“分享与链接”,
+          <p> 优软商城是由深圳优软商城科技有限公司,为真正地解决电子信息行业的众多难题,秉持回归互联网精神的“分享与链接”,
           基于垂直细分理念打造的一个独立的第三方电子交易商城。目前优软商城已经收录了3000家的原厂品牌,700多万现货型号.</p>
           基于垂直细分理念打造的一个独立的第三方电子交易商城。目前优软商城已经收录了3000家的原厂品牌,700多万现货型号.</p>
           针对电子信息行业的难题,优软商城将为客户提供更简单,更放心的解决方案。
           针对电子信息行业的难题,优软商城将为客户提供更简单,更放心的解决方案。
           <p>我们严格把关供应商资质,从源头上杜绝虚假信息,做到付款交期如实,借助物流仓储的一站式服务帮您实现交易高效、库存无忧。</p>
           <p>我们严格把关供应商资质,从源头上杜绝虚假信息,做到付款交期如实,借助物流仓储的一站式服务帮您实现交易高效、库存无忧。</p>

+ 117 - 28
pages/mobile/center/user/payCenter.vue

@@ -38,7 +38,7 @@
         <input type="text" placeholder="卖家名称/订单号" v-model="filterParams.keyword" @keyup.13="filterRecord">
         <input type="text" placeholder="卖家名称/订单号" v-model="filterParams.keyword" @keyup.13="filterRecord">
         <span @click="filterRecord"><i class="iconfont icon-sousuo"></i></span>
         <span @click="filterRecord"><i class="iconfont icon-sousuo"></i></span>
       </div>
       </div>
-      <div class="filters-wrap">
+      <!--<div class="filters-wrap">
         <div class="date-wrap">
         <div class="date-wrap">
           <label>
           <label>
             <i class="iconfont icon-ico-date"></i>
             <i class="iconfont icon-ico-date"></i>
@@ -77,36 +77,46 @@
             </ul>
             </ul>
           </li>
           </li>
         </ul>
         </ul>
+      </div>-->
+      <div class="filters-wrap">
+        <base-filter
+          v-for="filterOption in filterOptions"
+          :key="filterOption.selectOption"
+          :selectItems="filterOption.selectItems"
+          :defaultVal="filterOption.defaultVal"
+          :selectOption="filterOption.selectOption"
+          @selectAction="onSelectAction"
+          :title="filterOption.title"></base-filter>
       </div>
       </div>
       <ul class="mp-list record-list">
       <ul class="mp-list record-list">
         <li v-for="record in recordList">
         <li v-for="record in recordList">
-          <div class="content-line">
-            <span class="inline-block title">时间:</span>
-            <span class="inline-block content text-ellipse">{{record.paytime | time}}</span>
-          </div>
           <div class="content-line">
           <div class="content-line">
             <span class="inline-block title">订单号:</span>
             <span class="inline-block title">订单号:</span>
-            <span class="inline-block content text-ellipse">{{record.orderid}}</span>
+            <nuxt-link :to="`/mobile/order/details?uuid=${baseUtils.enidfilter(record.orderid)}&type=buyer`" class="inline-block content link">{{record.orderid}}</nuxt-link>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">卖家名称:</span>
-            <span class="inline-block content text-ellipse">{{record.sellername}}</span>
+            <span class="inline-block title">金额:</span>
+            <span class="inline-block content">{{record.currencyName | currencyFilter}}{{record.ensurePrice}}</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">币种:</span>
-            <span class="inline-block content text-ellipse">{{record.currencyName}}</span>
+            <span class="inline-block title">卖家:</span>
+            <span class="inline-block content">{{record.sellername}}</span>
           </div>
           </div>
+          <!--<div class="content-line">
+            <span class="inline-block title">交易方式:</span>
+            <span class="inline-block content text-ellipse">{{record.paytype == 1103 ? '线下支付' : '线上支付'}}</span>
+          </div>-->
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">金额:</span>
-            <span class="inline-block content text-ellipse"><i class="fa fa-minus" style="color: #1da902;"></i>{{record.ensurePrice}}</span>
+            <span class="inline-block title">收款方式:</span>
+            <span class="inline-block content">卖家收款</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">交易方式:</span>
-            <span class="inline-block content text-ellipse">{{record.paytype == 1103 ? '线下支付' : '线上支付'}}</span>
+            <span class="inline-block title">时间:</span>
+            <span class="inline-block content">{{record.paytime | time}}</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
             <span class="inline-block title">状态:</span>
             <span class="inline-block title">状态:</span>
-            <span class="inline-block content text-ellipse">支付成功</span>
+            <span class="inline-block content">支付成功</span>
           </div>
           </div>
         </li>
         </li>
       </ul>
       </ul>
@@ -153,7 +163,7 @@
 </template>
 </template>
 <script>
 <script>
   import { RemindBox, PullUp, EmptyStatus } from '~components/mobile/common'
   import { RemindBox, PullUp, EmptyStatus } from '~components/mobile/common'
-  import { ModalWrapper } from '~components/mobile/base'
+  import { ModalWrapper, BaseFilter } from '~components/mobile/base'
   export default {
   export default {
     layout: 'mobile',
     layout: 'mobile',
     middleware: 'authenticated',
     middleware: 'authenticated',
@@ -197,14 +207,79 @@
         dateObj: {
         dateObj: {
           fromDate: '',
           fromDate: '',
           toDate: ''
           toDate: ''
-        }
+        },
+        filterOptions: [
+//          {
+//            title: '交易方式',
+//            selectOption: 'method',
+//            selectItems: [{key: '全部',
+//              val: 0
+//            }, {
+//              key: '卖家收款',
+//              val: 1
+//            }, {
+//              key: '平台代收',
+//              val: 2
+//            }],
+//            defaultVal: 0
+//          },
+          {
+            title: '交易币种',
+            selectOption: 'currencyName',
+            selectItems: [{key: '全部',
+              val: 0
+            }, {
+              key: 'RMB',
+              val: 'RMB'
+            }, {
+              key: 'USD',
+              val: 'USD'
+            }],
+            defaultVal: 0
+          },
+//          {
+//            title: '交易状态',
+//            selectOption: 'status',
+//            selectItems: [{key: '全部',
+//              val: 0
+//            }, {
+//              key: '已付款',
+//              val: 1
+//            }, {
+//              key: '待付款',
+//              val: 2
+//            }],
+//            defaultVal: 0
+//          },
+          {
+            title: '交易时间',
+            selectOption: 'date',
+            selectItems: [{key: '全部',
+              val: 0
+            }, {
+              key: '一个月',
+              val: 1
+            }, {
+              key: '三个月',
+              val: 2
+            }, {
+              key: '六个月',
+              val: 3
+            }, {
+              key: '自定义',
+              val: 4
+            }],
+            defaultVal: 0
+          }
+        ]
       }
       }
     },
     },
     components: {
     components: {
       RemindBox,
       RemindBox,
       PullUp,
       PullUp,
       ModalWrapper,
       ModalWrapper,
-      EmptyStatus
+      EmptyStatus,
+      BaseFilter
     },
     },
     fetch ({store}) {
     fetch ({store}) {
       return Promise.all([
       return Promise.all([
@@ -335,17 +410,31 @@
         }
         }
       },
       },
       setSelect (type, val) {
       setSelect (type, val) {
-        if (type === 'method') {
-          this.filterParams.method = val
-          this.setShowSelect('method', false)
-        } else if (type === 'currencyName') {
-          this.filterParams.currencyName = val
-          this.setShowSelect('currencyName', false)
-        } else if (type === 'status') {
-          this.filterParams.status = val
-          this.setShowSelect('status', false)
+//        if (type === 'method') {
+//          this.filterParams.method = val
+//          this.setShowSelect('method', false)
+//        } else if (type === 'currencyName') {
+//          this.filterParams.currencyName = val
+//          this.setShowSelect('currencyName', false)
+//        } else if (type === 'status') {
+//          this.filterParams.status = val
+//          this.setShowSelect('status', false)
+//        }
+        if (type === 'date') {
+          if (val) {
+            this.filterParams.fromDate = val.fromDate
+            this.filterParams.toDate = val.toDate
+          } else {
+            this.filterParams.fromDate = null
+            this.filterParams.toDate = null
+          }
+        } else {
+          this.filterParams[type] = val
         }
         }
-        this.filterRecord(this.filterParams.currencyName)
+        this.filterRecord()
+      },
+      onSelectAction (selectObj) {
+        this.setSelect(selectObj.key, selectObj.value)
       },
       },
       setDate (type) {
       setDate (type) {
         if (this.dateObj[type]) {
         if (this.dateObj[type]) {

+ 88 - 69
pages/mobile/center/vendor/payCenter.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <div class="mobile-pay-center vendor-pay mobile-fix-content mobile-centerfix-content" :class="{'vendor-pay-record': switchType === 'record' && recordList.length}" id="mobileFixContent" @click="setShowSelect('all', false)">
+  <div class="mobile-pay-center vendor-pay mobile-fix-content mobile-centerfix-content" :class="{'vendor-pay-record': switchType === 'record' && recordList.length}" id="mobileFixContent">
     <div class="mp-head">
     <div class="mp-head">
       <span class="inline-block" :class="{'active': switchType === 'record'}" @click="setSwitchType('record')">交易记录</span>
       <span class="inline-block" :class="{'active': switchType === 'record'}" @click="setSwitchType('record')">交易记录</span>
       <span class="inline-block" :class="{'active': switchType === 'account'}" @click="setSwitchType('account')">收款账户</span>
       <span class="inline-block" :class="{'active': switchType === 'account'}" @click="setSwitchType('account')">收款账户</span>
@@ -50,61 +50,36 @@
         <span @click="filterRecord"><i class="iconfont icon-sousuo"></i></span>
         <span @click="filterRecord"><i class="iconfont icon-sousuo"></i></span>
       </div>
       </div>
       <div class="filters-wrap">
       <div class="filters-wrap">
-        <div class="date-wrap">
-          <label>
-            <i class="iconfont icon-ico-date"></i>
-            <input type="date" v-model="dateObj.fromDate" @change="setDate('fromDate')">
-            <p v-if="filterParams.fromDate">{{filterParams.fromDate | date}}</p>
-          </label>
-          <span>—</span>
-          <label>
-            <i class="iconfont icon-ico-date"></i>
-            <input type="date" v-model="dateObj.toDate" @change="setDate('toDate')">
-            <p v-if="filterParams.toDate">{{filterParams.toDate | date}}</p>
-          </label>
-        </div>
-        <ul class="select-wrap clearfix">
-          <li class="inline-block fl">
-            <div @click.stop="setShowSelect('method', !showSelectMethod)">{{filterParams.method ? filterParams.method == 1103 ? '线下支付' : '线上支付' : '交易方式'}}</div>
-            <ul class="select-list" v-show="showSelectMethod">
-              <li @click.stop="setSelect('method', null)">交易方式</li>
-              <li @click.stop="setSelect('method', 1103)">线下支付</li>
-            </ul>
-          </li>
-          <li class="inline-block fr">
-            <div @click.stop="setShowSelect('status', !showSelectStatus)">{{filterParams.status || '状态'}}</div>
-            <ul class="select-list" v-show="showSelectStatus">
-              <li @click.stop="setSelect('status', null)">状态</li>
-              <li @click.stop="setSelect('status', '收款成功')">收款成功</li>
-            </ul>
-          </li>
-        </ul>
+        <base-filter
+          v-for="filterOption in filterOptions"
+          :key="filterOption.selectOption"
+          :selectItems="filterOption.selectItems"
+          :defaultVal="filterOption.defaultVal"
+          :selectOption="filterOption.selectOption"
+          @selectAction="onSelectAction"
+          :title="filterOption.title"></base-filter>
       </div>
       </div>
       <ul class="mp-list record-list" v-if="recordList.length">
       <ul class="mp-list record-list" v-if="recordList.length">
         <li v-for="record in recordList">
         <li v-for="record in recordList">
-          <div class="content-line">
-            <span class="inline-block title">时间:</span>
-            <span class="inline-block content text-ellipse">{{record.transferTime | time}}</span>
-          </div>
           <div class="content-line">
           <div class="content-line">
             <span class="inline-block title">订单号:</span>
             <span class="inline-block title">订单号:</span>
-            <span class="inline-block content text-ellipse">{{record.orderid}}</span>
+            <nuxt-link :to="`/mobile/order/details?uuid=${baseUtils.enidfilter(record.puid)}&type=saler`" class="inline-block content text-ellipse link">{{record.orderid}}</nuxt-link>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">买家名称:</span>
-            <span class="inline-block content text-ellipse">{{record.buyerentername || record.buyername}}</span>
+            <span class="inline-block title">金额:</span>
+            <span class="inline-block content text-ellipse">{{record.currencyName | currencyFilter}}{{record.total}}</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">币种:</span>
-            <span class="inline-block content text-ellipse">{{record.currencyName}}</span>
+            <span class="inline-block title">买家:</span>
+            <span class="inline-block content text-ellipse">{{record.buyerentername || record.buyername}}</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">金额:</span>
-            <span class="inline-block content text-ellipse"><i class="fa fa-plus" style="color: #f51c24;"></i>{{record.total}}</span>
+            <span class="inline-block title">付款方式:</span>
+            <span class="inline-block content text-ellipse">{{record.operateType === 1063 ? '买家付款' : '平台代收'}}</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
-            <span class="inline-block title">交易方式:</span>
-            <span class="inline-block content text-ellipse">线下付款</span>
+            <span class="inline-block title">时间:</span>
+            <span class="inline-block content text-ellipse">{{record.transferTime | time}}</span>
           </div>
           </div>
           <div class="content-line">
           <div class="content-line">
             <span class="inline-block title">状态:</span>
             <span class="inline-block title">状态:</span>
@@ -116,9 +91,9 @@
     </div>
     </div>
     <!-- 交易记录end -->
     <!-- 交易记录end -->
     <div class="fix-count-wrap" v-if="recordList.length">
     <div class="fix-count-wrap" v-if="recordList.length">
-      <span class="content">收总计:<span>{{currencySymbol | currencyFilter}}&nbsp;{{totalRecordPrice}}</span></span>
-      <span class="content">支出总计:<span>{{currencySymbol | currencyFilter}}&nbsp;0</span></span>
-      <p>结余:{{currencySymbol | currencyFilter}}&nbsp;{{totalRecordPrice}} (共计{{recordList.length || 0}}笔交易)</p>
+      <span class="content">收总计:<span>{{currencySymbol | currencyFilter}}&nbsp;{{totalRecordPrice}}</span></span>
+      <!--<span class="content">支出总计:<span>{{currencySymbol | currencyFilter}}&nbsp;0</span></span>
+      <p>结余:{{currencySymbol | currencyFilter}}&nbsp;{{totalRecordPrice}} (共计{{recordList.length || 0}}笔交易)</p>-->
     </div>
     </div>
     <!-- 新增账户弹框start -->
     <!-- 新增账户弹框start -->
     <modal-wrapper :noHeader="true" :showModal="showModal" @closeAction="showModal = false">
     <modal-wrapper :noHeader="true" :showModal="showModal" @closeAction="showModal = false">
@@ -196,7 +171,7 @@
 </template>
 </template>
 <script>
 <script>
   import { RemindBox, PullUp, EmptyStatus } from '~components/mobile/common'
   import { RemindBox, PullUp, EmptyStatus } from '~components/mobile/common'
-  import { ModalWrapper } from '~components/mobile/base'
+  import { ModalWrapper, BaseFilter } from '~components/mobile/base'
   export default {
   export default {
     layout: 'mobile',
     layout: 'mobile',
     middleware: 'authenticated',
     middleware: 'authenticated',
@@ -233,8 +208,6 @@
           method: '',
           method: '',
           status: ''
           status: ''
         },
         },
-        showSelectMethod: false,
-        showSelectStatus: false,
         currentId: '',
         currentId: '',
         showReuseModal: false,
         showReuseModal: false,
         totalRecordPrice: 0,
         totalRecordPrice: 0,
@@ -242,14 +215,65 @@
         dateObj: {
         dateObj: {
           fromDate: '',
           fromDate: '',
           toDate: ''
           toDate: ''
-        }
+        },
+        filterOptions: [
+          {
+            title: '交易方式',
+            selectOption: 'method',
+            selectItems: [{key: '全部',
+              val: 0
+            }, {
+              key: '买家付款',
+              val: 1
+            }, {
+              key: '平台代收',
+              val: 2
+            }],
+            defaultVal: 0
+          },
+          {
+            title: '交易状态',
+            selectOption: 'status',
+            selectItems: [{key: '全部',
+              val: 0
+            }, {
+              key: '已收款',
+              val: 1
+            }, {
+              key: '待收款',
+              val: 2
+            }],
+            defaultVal: 0
+          },
+          {
+            title: '交易时间',
+            selectOption: 'date',
+            selectItems: [{key: '全部',
+              val: 0
+            }, {
+              key: '一个月',
+              val: 1
+            }, {
+              key: '三个月',
+              val: 2
+            }, {
+              key: '六个月',
+              val: 3
+            }, {
+              key: '自定义',
+              val: 4
+            }],
+            defaultVal: 0
+          }
+        ]
       }
       }
     },
     },
     components: {
     components: {
       RemindBox,
       RemindBox,
       PullUp,
       PullUp,
       ModalWrapper,
       ModalWrapper,
-      EmptyStatus
+      EmptyStatus,
+      BaseFilter
     },
     },
     fetch ({store}) {
     fetch ({store}) {
       return Promise.all([
       return Promise.all([
@@ -386,25 +410,20 @@
         this.isChange = true
         this.isChange = true
         this.reloadList()
         this.reloadList()
       },
       },
-      setShowSelect (type, flag) {
-        if (type === 'all') {
-          this.showSelectMethod = flag
-          this.showSelectStatus = flag
-        } else if (type === 'method') {
-          this.showSelectMethod = flag
-          this.showSelectStatus = false
-        } else if (type === 'status') {
-          this.showSelectStatus = flag
-          this.showSelectMethod = false
-        }
+      onSelectAction (selectObj) {
+        this.setSelect(selectObj.key, selectObj.value)
       },
       },
       setSelect (type, val) {
       setSelect (type, val) {
-        if (type === 'method') {
-          this.filterParams.method = val
-          this.setShowSelect('method', false)
-        } else if (type === 'status') {
-          this.filterParams.status = val
-          this.setShowSelect('status', false)
+        if (type === 'date') {
+          if (val) {
+            this.filterParams.fromDate = val.fromDate
+            this.filterParams.toDate = val.toDate
+          } else {
+            this.filterParams.fromDate = null
+            this.filterParams.toDate = null
+          }
+        } else {
+          this.filterParams[type] = val
         }
         }
         this.filterRecord()
         this.filterRecord()
       },
       },
@@ -685,7 +704,7 @@
     background: #fff;
     background: #fff;
     border-radius: .02rem;
     border-radius: .02rem;
     border-top: 1px solid #bfbfbf;
     border-top: 1px solid #bfbfbf;
-    line-height: .63rem;
+    line-height: 1.25rem;
     font-size: .28rem;
     font-size: .28rem;
     width: 100%;
     width: 100%;
     padding-right: .3rem;
     padding-right: .3rem;

+ 1 - 1
pages/mobile/share/purChase/_uuid.vue

@@ -71,7 +71,7 @@
       <div class="hr"></div>
       <div class="hr"></div>
       <img src="/images/mobile/@2x/shareStore/logo.png" alt="">
       <img src="/images/mobile/@2x/shareStore/logo.png" alt="">
       <div class="hr right"></div>
       <div class="hr right"></div>
-      <p>此页面由深圳优软商城科技有限公司提供</p>
+      <p>此页面由深圳优软商城科技有限公司提供</p>
       <nuxt-link :to="'/'">www.usoftmall.com</nuxt-link>
       <nuxt-link :to="'/'">www.usoftmall.com</nuxt-link>
       <!-- <a href="https://www.usoftmall.com">www.usoftmall.com</a> -->
       <!-- <a href="https://www.usoftmall.com">www.usoftmall.com</a> -->
     </div>
     </div>

+ 1 - 1
pages/mobile/wechat/index.vue

@@ -31,7 +31,7 @@
         <div class="hr"></div>
         <div class="hr"></div>
         <img src="/images/mobile/@2x/wechat/logo.png" alt="">
         <img src="/images/mobile/@2x/wechat/logo.png" alt="">
         <div class="hr right"></div>
         <div class="hr right"></div>
-        <!--<p>此页面由深圳优软商城科技有限公司提供</p>-->
+        <!--<p>此页面由深圳优软商城科技有限公司提供</p>-->
         <!--<nuxt-link :to="'/'">www.usoftmall.com</nuxt-link>-->
         <!--<nuxt-link :to="'/'">www.usoftmall.com</nuxt-link>-->
         <!-- <a href="https://www.usoftmall.com">www.usoftmall.com</a> -->
         <!-- <a href="https://www.usoftmall.com">www.usoftmall.com</a> -->
       </nuxt-link>
       </nuxt-link>

+ 12 - 1
utils/baseUtils.js

@@ -456,10 +456,19 @@ const _onFileUpload = ($this, file) => {
   }
   }
 }
 }
 
 
+// 排除空格的空字符串
 const _isEmptyStr = (str) => {
 const _isEmptyStr = (str) => {
   return !str || !str.trim()
   return !str || !str.trim()
 }
 }
 
 
+/*
+* 获取某个时间段去除时分秒的时间戳
+* @date 默认当天 Date格式
+* */
+const _getClearDay = (date = new Date()) => {
+  return new Date(_formatDate(date, 'yyyy-MM-dd')).getTime() - 8 * 60 * 60 * 1000
+}
+
 export default {
 export default {
   // 获取字符串字符长度
   // 获取字符串字符长度
   getRealLen: _getRealLen,
   getRealLen: _getRealLen,
@@ -502,5 +511,7 @@ export default {
   setMessage: _setMessage,
   setMessage: _setMessage,
   // 文件上传
   // 文件上传
   onFileUpload: _onFileUpload,
   onFileUpload: _onFileUpload,
-  isEmptyStr: _isEmptyStr
+  isEmptyStr: _isEmptyStr,
+  // 获取00:00:00的时间
+  getClearDay: _getClearDay
 }
 }