1. test-number-switch

test-number-switch

用法:

 npm i llgtfoo-components-boxs --save

在main.js中引入

 import llgtfooComponentsBoxs from 'llgtfoo-components-boxs'
import 'llgtfoo-components-boxs/dist/llgtfoo-components-boxs.css'
Vue.use(llgtfooComponentsBoxs)
注:全局使用,组件可以单独引用
组件:
<date-time/> 时间显示
<select-date /> 时间选中框
<number-scroll/> 数字滚动
<tab-page/> tab页切换、滚动(单个和一页滚动)
<list-scroll/> 列表无缝滚动或者逐条滚动(支持事件暂停)
new this.$CMap() 集成cmap
指令:
v-auto-scale 大屏尺寸缩放
v-water-marker 系统水印
v-drag 鼠标自由拖拽
过滤器:
|numberFormat 格式化数字,如33,333
  • 组件

    组件-1:

     <date-time>
    
        <template slot-scope="time">
    
         {{time.data.year}}-{{time.data.time}}
    
       </template>
    
    </date-time>    
    

    利用作用域插槽返回时间对象,自定义时间格式以及样式

   data:{
         year, //年
          month,//月
          day,//日
          week,//星期几
          time//时间
  }

注:组件可以用容器包裹,来显示在不同的位置。

组件-2:
<select-date
:initYear="1996"
:styleObj='styleObj1'
@getDate='getDate'>

   initYear是初始年份,年下拉框显示当前年到初始年的所有年份
  styleObj1:{
    bg:'rgba(11, 41, 82, 0.5)',//选中框背景
    dropBg:'rgba(11, 41, 82, 0.8)',//下拉框背景
    hoverBg:'cyan',//下拉框选择鼠标滑过背景
    scale:0.5,//大小
    fontColor:'red'//字体颜色
  }

注:可选填其中几种;组件可以用容器包裹,来显示在不同的位置。

组件-3:

  <number-scroll class='llo' 
      :maxValue="maxValue" 
      :duration="duration"
      :separator="separator"
      :toFixed='toFixed'
      :prefix='prefix'
      :suffix='suffix'></number-scroll>

      maxValue:20000,//滚动数字的最大值,默认最大值2020
      duration:1000,//耗时,单位ms
      separator:',',//三位间隔符,默认没有字符
      toFixed:1 ,//保留小数,默认不保留
      prefix:'¥',//前缀,默认没有字符
      suffix:'单位'//后缀,默认没有字符

    注:可选填

注:数字样式自定义,例如类型llo

组件-4:

  <tab-page :data='dataLists' :option='option1'>
        <ul class="list-box">
          <li v-for="(item,index) in dataLists" :key="index">{{item.name}}</li>
        </ul>
  </tab-page>
  dataLists:为数据
  ul为slot元素
  option1:{
        number:5,//默认显示五个
        single:true,//默认值false是一次性走动一页,true是一次性走动一个
        autoScroll:true,//自动滚动,默认false不滚动
        autoScrollTime:2000,//自动滚动时间间隔,默认3s,
        button:true,//左右两侧按钮显示
        (autoScroll为false,button必为true)
      },
   注:
       1.li如果有间隔,请向右间隔,即margin-right
       2.option1参数选填,可全不填
       3.移到元素上停止滚动效果,离开继续

组件-5:

          <div class="list-scroll-header" slot="header">
            <ul>
              <li
                v-for="(item,index) in headerList"
                :key="index"
                :style="{flex:`${item.width&&item.width}`}"
              >{{item.name}}</li>
            </ul>
          </div>//列表顶部标题
      <list-scroll v-if="dataScrollList.length>0" :option='scrollOption'      ref='scrollList'>
          <ul class="scroll-list" slot="main">
            <li v-for="(item,index) in dataScrollList" :key="index" id="child" ref="child">
              <span>{{item.name}}</span>
              <span>{{item.age}}</span>
              <span>{{item.marriage}}</span>
            </li>
          </ul>//列表滚动内容
        </list-scroll>
   参数:
   slot="header"为标题内容
   slot="main"为滚动内容
   dataScrollList为滚动数据,数据不为空的时候加载组件,计算组件高度
------------------------------------------------------------------------------
    scrollOption:{
        number:6,//默认显示几个
        seamless:true,//无缝滚动,默认true
        duration:2000//滚动时间间隔,无缝滚动时间间隔为此时间除以10
      },
          存在鼠标滚动
-------------------------------------------------------------------------------
      或者
       scrollOption:{
        number:6,//默认显示几个
        seamless:false,//单个过渡滚动,默认true
        duration:2000//滚动时间间隔,无缝滚动时间间隔为此时间除以10
      },
          鼠标操作无效,可以事件触发
     方法:
   可以利用ref调取函数
   sKeep()//继续滚动
   sStop()//停止滚动
-------------------------------------------------------------------------------------      
    注:选填几种,或者不填
    
  

组件-6:
CMap地图:

集成cmap地图,只需new this.$CMap(options)即可使用
用法: https://www.npmjs.com/package/@ektx/cmap

  • 指令:

    指令-1:

 v-auto-scale='{width: 1920, height: 1080}'

​ v-auto-scale用于根据自定义的尺寸缩放屏幕,一般用于大屏自适应

​ 指令-2:

 v-water-marker='{
        width = '200px', //宽度
        height = '200px', //高度
        textAlign = 'center', //规定高度和宽度剧中
        textBaseline = 'middle', //垂直剧中
        font = '16px microsoft yahei', //字体
        fillStyle = 'rgba(184, 184, 184, 0.4)',  //颜色
        content = 'llgtfoo@163.com', //水印内容
        rotate = '-30', //水印水平倾斜角度
        zIndex = 1,  //水平层级,一般要低于页面的层级
        visible = true,//水印是否显示
}'

v-water-marker用于生成系统水印

指令3:

  v-drag="#top" 用于自由拖拽 
  
  #top是按指定区域可以拖拽,

  没值按整个区域都可以拖拽
  • 过滤器

    过滤器-1:

     numberFormat 用于几位格式化数字
    numberFormat(
      {
        separator:'*',//符号
        step:4 //几位出现符号
    }
      )