Browse Source

style: 样式调整&selector组件title使用插槽

cuiyalong 4 năm trước cách đây
mục cha
commit
5149672905

+ 4 - 1
src/components/common/Empty.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="empty-container">
+  <div class="empty-container mtb60">
     <div class="empty-content-position">
       <el-image :src="require('@/assets/images/empty.png')"></el-image>
       <div class="empty-main">
@@ -34,6 +34,9 @@ export default {
     flex: 1;
     padding: 16px;
     box-sizing: border-box;
+    &.mtb60 {
+      margin: 60px auto;
+    }
 
     .empty-content-position {
       display: flex;

+ 3 - 2
src/components/forecast/ForLimit.vue

@@ -40,8 +40,9 @@
         ref="areaSelector"
         selectorType="line"
         :singleChoice="true"
-        :initCityMap="backArea"
-      />
+        :initCityMap="backArea">
+        <slot name="header">选择区域:</slot>
+      </AreaSelector>
       <!-- 提示 -->
       <div class="limit_tips">请确保以上所有内容的准确性,以免信息不够完善造成预测失败,从而浪费预测额度。</div>
       <!-- 预测按钮 -->

+ 0 - 3
src/components/push-list/ProjectList.vue

@@ -187,9 +187,6 @@ export default {
     .el-card__body {
       padding: 20px 40px;
     }
-    .empty-container {
-      margin: 60px auto;
-    }
     .get-more {
       display: flex;
       .el-icon-arrow-right {

+ 0 - 3
src/components/push-list/PushList.vue

@@ -178,9 +178,6 @@ export default {
     .el-card__body {
       padding: 20px 40px;
     }
-    .empty-container {
-      margin: 60px auto;
-    }
     .get-more {
       display: flex;
       .el-icon-arrow-right {

+ 3 - 2
src/components/selector/AreaSelector.vue

@@ -4,8 +4,9 @@
     :cardType="selectorType"
     @onConfirm="onConfirm"
     @onCancel="onCancel">
-    <div slot="header" v-if="selectorType === 'card'" key="header">选择区域</div>
-    <div slot="header" class="s-header" v-if="selectorType === 'line'" key="header">选择区域:</div>
+    <div slot="header" :class="{ 's-header': selectorType === 'line' }">
+      <slot name="header">选择区域</slot>
+    </div>
     <AreaSelectorContent
       ref="content"
       :selectorType="selectorType"

+ 2 - 6
src/components/selector/AreaSelectorContent.vue

@@ -68,7 +68,7 @@
       <div class="index-item" :data-index="key" :ref="'index-item-' + key" v-for="(item, key) in provinceListMap" :key="key">
         <span class="index-bar" v-if="key !== '#'">{{ key }}</span>
         <div
-          class="province-item"
+          class="j-button-item"
           v-for="(province, ii) in item"
           :class="{
             expand: province.expanded && province.canExpanded,
@@ -885,18 +885,14 @@ export default {
         display: flex;
         flex-wrap: wrap;
         .index-item {
-          margin: 6px 0;
           .index-bar {
             margin-left: 10px;
             margin-right: 5px;
             color: #999;
           }
         }
-        .province-item {
+        .j-button-item {
           display: inline-block;
-          padding: 4px 8px;
-          border-radius: 4px;
-          cursor: pointer;
           &:hover {
             color: $color-text--highlight;
           }

+ 3 - 2
src/components/selector/BusinessScopeSelector.vue

@@ -5,8 +5,9 @@
     @onConfirm="onConfirm"
     @onCancel="onCancel"
   >
-    <div slot="header" v-if="selectorType === 'card'" key="header">业务范围</div>
-    <div slot="header" class="s-header" v-if="selectorType === 'line'" key="header">业务范围:</div>
+    <div slot="header" :class="{ 's-header': selectorType === 'line' }">
+      <slot name="header">业务范围</slot>
+    </div>
     <BusinessScopeSelectorContent
       ref="content"
       :selectorType="selectorType"

+ 7 - 2
src/components/selector/BuyerclassSelector.vue

@@ -5,8 +5,9 @@
     @onConfirm="onConfirm"
     @onCancel="onCancel"
   >
-    <div slot="header" v-if="selectorType === 'card'" key="header">选择采购单位类型</div>
-    <div slot="header" class="s-header" v-if="selectorType === 'line'" key="header">客户分类:</div>
+    <div slot="header" :class="{ 's-header': selectorType === 'line' }">
+      <slot name="header">选择采购单位类型</slot>
+    </div>
     <BuyerclassSelectorContent
       ref="content"
       :selectorType="selectorType"
@@ -26,6 +27,10 @@ export default {
     BuyerclassSelectorContent
   },
   props: {
+    title: {
+      type: String,
+      default: 'card' // card/line
+    },
     selectorType: {
       type: String,
       default: 'card' // card/line

+ 1 - 1
src/components/selector/BuyerclassSelectorContent.vue

@@ -270,13 +270,13 @@ export default {
       display: flex;
       flex-wrap: wrap;
       width: 100%;
+      padding-right: 45px;
       &.no-more {
         height: 38px;
         overflow: hidden;
       }
     }
     .select-group-container {
-      margin: 0 4px;
       display: flex;
       flex-wrap: wrap;
       .select-group {

+ 3 - 2
src/components/selector/IndustrySelector.vue

@@ -5,8 +5,9 @@
     @onConfirm="onConfirm"
     @onCancel="onCancel"
   >
-    <div slot="header" v-if="selectorType === 'card'" key="header">选择行业分类</div>
-    <div slot="header" class="s-header" v-if="selectorType === 'line'" key="header">行业分类:</div>
+    <div slot="header" :class="{ 's-header': selectorType === 'line' }">
+      <slot name="header">选择行业分类</slot>
+    </div>
     <IndustrySelectorContent
       ref="content"
       @onChange="onChange"

+ 1 - 1
src/components/selector/IndustrySelectorContent.vue

@@ -361,6 +361,7 @@ export default {
     .selector-content {
       display: flex;
       flex-wrap: wrap;
+      padding-right: 45px;
       &.no-more {
         height: 38px;
         overflow: hidden;
@@ -372,7 +373,6 @@ export default {
     }
     .select-group-container {
       position: relative;
-      margin: 0 4px;
       display: flex;
       flex-wrap: wrap;
       &:not(:last-of-type)::after {

+ 3 - 2
src/components/selector/InfoTypeSelector.vue

@@ -5,8 +5,9 @@
     @onConfirm="onConfirm"
     @onCancel="onCancel"
   >
-    <div slot="header" v-if="selectorType === 'card'" key="header">选择信息类型</div>
-    <div slot="header" class="s-header" v-if="selectorType === 'line'" key="header">信息类型:</div>
+    <div slot="header" :class="{ 's-header': selectorType === 'line' }">
+      <slot name="header">选择信息类型</slot>
+    </div>
     <InfoTypeSelectorContent
       ref="content"
       :selectorType="selectorType"

+ 5 - 0
src/components/selector/SelectorCard.vue

@@ -177,6 +177,11 @@ export default {
           background-color: #f7f7f7;
           border-radius: 22px;
         }
+        .el-input__prefix {
+          display: flex;
+          align-items: center;
+          justify-content: center;
+        }
         .el-icon-search {
           margin-left: 6px;
           font-size: 18px;

+ 3 - 2
src/components/selector/TimeSelector.vue

@@ -5,8 +5,9 @@
     @onConfirm="onConfirm"
     @onCancel="onCancel"
   >
-    <div slot="header" v-if="selectorType === 'card'" key="header">选择时间</div>
-    <div slot="header" class="s-header" v-if="selectorType === 'line'" key="header">选择时间:</div>
+    <div slot="header" :class="{ 's-header': selectorType === 'line' }">
+      <slot name="header">选择时间</slot>
+    </div>
     <TimeSelectorContent
       ref="content"
       :selectorType="selectorType"

+ 10 - 5
src/components/selector/TimeSelectorContent.vue

@@ -224,7 +224,6 @@ export default {
         default: {
           t.start = 0
           t.end = 0
-          console.warn(`未提供${exact}值的计算`)
           break
         }
       }
@@ -237,18 +236,24 @@ export default {
 
       this.onChange()
     },
-    startDatePickerChange (value) {
+    startDatePickerChange (start) {
       const { end } = this.dateTimePickerState
-      if (value && end) {
+      if (start && end) { // start和end都有值
         this.setTimeSelectListState()
         this.onChange()
+      } else if (!start && !end) { // start和end都没值
+        this.setTimeSelectListState('all')
+        this.onChange()
       }
     },
-    endDatePickerChange (value) {
+    endDatePickerChange (end) {
       const { start } = this.dateTimePickerState
-      if (value && start) {
+      if (start && end) { // start和end都有值
         this.setTimeSelectListState()
         this.onChange()
+      } else if (!start && !end) { // start和end都没值
+        this.setTimeSelectListState('all')
+        this.onChange()
       }
     }
   }

+ 12 - 4
src/views/PotentialList.vue

@@ -15,10 +15,18 @@
               <span>业务范围设置</span>
             </div>
           </div>
-          <AreaSelector @onChange="changeArea" ref="areaSelector" selectorType="line"></AreaSelector>
-          <IndustrySelector @onChange="changeIndustry"  selectorType="line"></IndustrySelector>
-          <BuyerclassSelector @onChange="changeBuyerclass" selectorType="line"></BuyerclassSelector>
-          <BusinessScopeSelector @onChange="changeBusiness" :initList="getScopeKeyList"  selectorType="line"></BusinessScopeSelector>
+          <AreaSelector @onChange="changeArea" ref="areaSelector" selectorType="line">
+            <div slot="header">选择区域:</div>
+          </AreaSelector>
+          <IndustrySelector @onChange="changeIndustry"  selectorType="line">
+            <div slot="header">行业分类:</div>
+          </IndustrySelector>
+          <BuyerclassSelector @onChange="changeBuyerclass" selectorType="line">
+            <div slot="header">客户分类:</div>
+          </BuyerclassSelector>
+          <BusinessScopeSelector @onChange="changeBusiness" :initList="getScopeKeyList"  selectorType="line">
+            <div slot="header">业务范围:</div>
+          </BusinessScopeSelector>
         </div>
         <div class="content-list-box">
           <potential-list @goDetail="goDetail" :title="getTopInfo.text" :filters="filters" ref="pushList" :showMore="false"></potential-list>

+ 8 - 2
src/views/SubPush.vue

@@ -2,7 +2,9 @@
   <div class="page--sub-push">
     <div class="page-content">
       <div class="border-box">
-        <TimeSelector  @onChange="changeTime" selectorType="line"></TimeSelector>
+        <TimeSelector  @onChange="changeTime" selectorType="line">
+          <div slot="header">选择时间:</div>
+        </TimeSelector>
         <AreaSelector @onChange="changeArea" ref="areaSelector" selectorType="line"></AreaSelector>
       </div>
       <push-list :filters="filters" class="m-24" ref="pushList" :showMore="false"></push-list>
@@ -35,7 +37,11 @@ export default {
       if (item.end) {
         time += '_' + parseInt(item.end / 1000)
       }
-      this.filters.time = time
+      if (item.start === 0 && item.end === 0) {
+        this.filters.time = ''
+      } else {
+        this.filters.time = time
+      }
       this.$refs.pushList.doQuery(this.filters)
     },
     changeArea (item) {

+ 6 - 4
src/views/subscribe/components/SubConfig.vue

@@ -102,8 +102,9 @@
       <BuyClassSelect
         :initCate="datas.buyClassArr"
         @onCancel="dialog.buyClass = false"
-        @onConfirm="saveBuyClassData"
-      ></BuyClassSelect>
+        @onConfirm="saveBuyClassData">
+        <div slot="header">客户分类:</div>
+      </BuyClassSelect>
     </el-dialog>
     <!-- 信息类型dialog -->
     <el-dialog
@@ -117,8 +118,9 @@
       <InfoTypeSelect
         :initInfoType="datas.infoTypeArr"
         @onCancel="dialog.infoType = false"
-        @onConfirm="saveInfoTypeData"
-      ></InfoTypeSelect>
+        @onConfirm="saveInfoTypeData">
+        <div slot="header">信息类型:</div>
+      </InfoTypeSelect>
     </el-dialog>
   </div>
 </template>

+ 7 - 2
vue.config.js

@@ -9,15 +9,20 @@ module.exports = {
     disableHostCheck: true,
     proxy: {
       '^/bigmember': {
-        target: 'http://app3-jytest.jydev.jianyu360.com',
+        target: 'http://web-jytest.jydev.jianyu360.com',
         changeOrigin: true,
         logLevel: 'debug',
         pathRewrite: {
           '^/bigmember': '/bigmember'
         }
       },
+      '^/jydoc': {
+        target: 'http://web-jytest.jydev.jianyu360.com',
+        changeOrigin: true,
+        logLevel: 'debug'
+      },
       '^/jypay': {
-        target: 'http://app3-jytest.jydev.jianyu360.com',
+        target: 'http://web-jytest.jydev.jianyu360.com',
         changeOrigin: true,
         logLevel: 'debug'
       }