1.5.8 • Published 5 years ago

tco-ui v1.5.8

Weekly downloads
151
License
MIT
Repository
-
Last release
5 years ago

tco-ui

基于iview3封装多功能组件(搜索表单、单个元素变化触发表单、可编辑、合并、分页表格、组织结构树、支持【xlsx(合并),csv,txt】导出组件)

# 使用效果

image

使用方法

npm install tco-ui

import tcoUi from 'tco-ui';

Vue.use(tcoUi);

  1. 搜索表单 支持下拉框、输入框、数字输入口、单选框、时间日期选择框搜索功能
<tco-form 
    vertical
    :objData="aSearch" 
    :objDefault="objDefault"
    :labelWidth="120"
    :bhidLable="false"
    btnName="试试"
    @handleFormSubmit="handleSearch"
    >
</tco-form>

tco-form prpps

属性说明类型默认值
objData显示的结构化数据Array[]
bhidLable是否显示labelBooleantrue
vertical是否竖排Booleanfalse
objDefault表单默认值Object{}
btnName按钮文本String'提交'
labelWidthlabel宽度Number100

objData

==下拉框==

 {
    type: 'select',
    label: '下拉框',
    value: 'select',
    disabled:true,//是否禁用
    clearable: true,//是否可清除
    filterable: true,//是否可搜索
    //defaultValue: '1',//默认value
    required: true,//是否必须项
    placeholder: '请选择',
    data: [
        {
            name: 'option1',
            disabled:true,//是否禁用
            value: '1'
        },
        {
            name: 'option2',
            value: '2'
        }
    ]
}

==单选框==

 {
    type: 'radio',
    label: '单选框',
    value: 'radio',
    //defaultValue: '1',//默认value
    required: true,//是否必须项
    clearable:true//是否可清除
    placeholder: '请选择',
    data: [
        {
            name: 'check1',
            disabled:true,//是否禁用
            value: '1'
        },
        {
            name: 'check2',
            value: '2'
        }
    ]
}

==输入框==

 {
    type: 'input',
    value: 'input',
    label: '输入框',
    disabled:true,//是否禁用
    prefix: 'ios-contact',//输入框头部图标
    suffix: 'ios-search',//	输入框尾部图标
    required: true,//是否必须项
    placeholder: '请输入'
}

==数字输入框==

 {
    type: 'inputNumber',
    value: 'inputNumber',
    disabled:true,//是否禁用
    label: '数字输入框',
    required: true,//是否必须项
    placeholder: '请输入'
}

==时间、日期选择器==

{
    type: 'date',
    label: '时间/日期',
    disabled:true,//是否禁用
    dateType: 'month',//date、daterange、datetime、datetimerange、year、month  当类型为范围时 加默认值:defaultRange:['a','b']
    value: 'end',//当type为datarange是value为数组[value1,value2]
    format: 'yyyy-MM',//date | daterange:yyyy-MM-dd、datetime | datetimerange:yyyy-MM-dd
    required: true,//是否必须项
    placeholder: '选择结束时间',
    limit: {//时间范围
        up: '2018-01-01 00:00:00',
        down: '2015-01-01 00:00:00'
    }
}

tco-form events

事件名说明返回值
handleSearch搜索search:搜索参数
  1. 分页table 支持iview中table、page原有api
<table-paging 
    :columns="aTableColumns"
    :data="aTableData" 
    :pagination="objPageControl" 
    :loading="false" 
    :show-header="true" 
    :stripe="true" 
    :border="true" 
    :disHover="false" 
    :height="false" 
    :width="false" 
    :size="size"
    @selectChange="selectChange"
    @changePage="changePage" 
    @changePageSize="changePageSize">
</table-paging>

API

Table props

属性说明类型默认值
data显示的结构化数据Array[]
columns表格列的配置描述Array[]
pagination分页Object-
loading表格是否加载中Booleanfalse
show-header是否显示表头Booleantrue
stripe是否显示间隔斑马纹Booleanfalse
border是否显示纵向边框Booleanfalse
disHover禁用鼠标悬停时的高亮Booleanfalse
height表格高度,单位 px,设置后,如果表格内容大于此值,会固定表头Number/String-
width表格宽度,单位 pxNumber/String自动
size表格尺寸,可选值为 large、small、default 或者不填String-

Table events

事件名说明返回值
selectChange在多选模式下有效,只要选中项发生变化时就会触发selection:已选项数据
changePage分页模式下有效,页码发生变化触发page:页码数
changePageSize分页模式下有效,每页条数发生变化触发pageSize:每页条数

3.合并table

==columns增加属性==

属性说明类型默认值
combine是否向下合并Booleanfalse
<table-combine 
    :columns="aTableColumns"
    :data="aTableData" 
    :pagination="objPageControl" 
    :loading="false" 
    :show-header="true" 
    :stripe="true" 
    :border="true" 
    :disHover="false" 
    :height="false" 
    :width="false" 
    :size="size"
    @selectChange="selectChange"
</table-combine>

4.编辑table

==columns增加属性==

属性说明类型默认值
edit编辑参数objnull
<table-edit 
    :columns="aTableColumns"
    :data="aTableData" 
    :pagination="objPageControl" 
    :loading="false" 
    :show-header="true" 
    :stripe="true" 
    :border="true" 
    :disHover="false" 
    :height="false" 
    :width="false" 
    :size="size"
</table-edit>
edit: {
    type: 'input',//必填input、inputNumber、select
    key: 'key3',//必填
    option: []//可填:select必填时option下拉框数据
}

5.组织结构树

属性说明类型默认值
objData组织结构数组Array[]
objDefaultKey默认keyObject见下方
<tco-tree 
    :objData="aTreeData" :objDefaultKey="objDefaultKey" @selectNode="selectNode">
</tco-tree>

Table events

事件名说明返回值
selectNode选中组织结构node包含节点所有信息
默认key

{
    id: 'id',
    pId: 'pId',
    path: 'path',
    pPath: 'pPath',
    name: 'name',
    fullName: 'fullName',
    level: 'level',
    expand: 'expand'
}


aTreeData: [
    {
        deptFullname: '京东集团',
        deptName: '京东集团',
        deep: 0,
        parentCode: '',
        deptCode: '333',
        expand:true
    },
    {
        deptFullname: '资产管理-资源池',
        deptName: '资源池',
        deep: 3,
        parentCode: 'ttt',
        deptCode: '222'
    },
    {
        deptFullname: 'CCO体系',
        deptName: 'CCO体系',
        deep: 1,
        parentCode: 'eeee',
        deptCode: 'dddd'
    },
]

objDefaultKey: {
    id: 'deptCode',
    pId: 'parentCode',
    path: 'path',
    pPath: 'pPath',
    name: 'deptName',
    fullName: 'deptFullname',
    level: 'deep',
    expend: null
},

6.上传组件

属性说明类型默认值
name上传的文件字段名Stringfile_key
action上传的地址,必填String---
format支持的文件类型Array[]
<tco-upload 
    name="uploadName" action="//jsonplaceholder.typicode.com/posts/" 
    :format="['csv']" 
    :on-success="uploadSuccess"
></tco-upload>

upload events

事件名说明返回值
uploadSuccess上传成功(event,file)
// 上传成功
uploadSuccess(evnet, file) {
    console.log('event', event);
    console.log('file', file);
    this.$Notice.success({
        title: '文件上传成功',
        desc: '文件 ' + file.name + ' 上传成功。'
    });
}
  1. 搜索表单-单个触发 支持下拉框、输入框、数字输入口、单选框、时间日期选择框搜索功能
<tco-form-single
:labelWidth="65"
:objDefault="objDefaultSingle"
:objData="objSearchSingle"
@fetchParams="handleFetchData"
/>

tco-form-single prpps

属性说明类型默认值
objData显示的结构化数据Array[]
objDefault表单默认值Object{}
labelWidthlabel宽度Number100

objData

==下拉框==

{
  type: "select",
  label: "下拉框",
  value: "select",
  clearable: true, //是否可清除
  filterable: true, //是否可搜索
  placeholder: "请选择",
  data: [
    {
      name: "option1",
      value: "1"
    },
    {
      name: "option2",
      value: "2"
    }
  ]
}

==单选框==

 {
  type: "radio",
  label: "单选框",
  value: "radio",
  placeholder: "请选择",
  data: [
    {
      name: "check1",
      value: "1"
    },
    {
      name: "check2",
      value: "2"
    }
  ]
}

==输入框==

 {
    type: 'input',
    value: 'input',
    label: '输入框',
    disabled:true,//是否禁用
    prefix: 'ios-contact',//输入框头部图标
    suffix: 'ios-search',//	输入框尾部图标
    placeholder: '请输入'
}

==数字输入框==

 {
    type: 'inputNumber',
    value: 'inputNumber',
    disabled:true,//是否禁用
    label: '数字输入框',
    placeholder: '请输入'
}

==时间、日期选择器==

{
    type: 'date',
    label: '时间/日期',
    disabled:true,//是否禁用
    dateType: 'month',//date、daterange、datetime、datetimerange、year、month 当类型为范围时 加默认值:defaultRange:['a','b']
    value: 'end',//当type为datarange是value为数组[value1,value2]
    format: 'yyyy-MM',//date | daterange:yyyy-MM-dd、datetime | datetimerange:yyyy-MM-dd
    placeholder: '选择结束时间',
    limit: {//时间范围
        up: '2018-01-01 00:00:00',
        down: '2015-01-01 00:00:00'
    }
}

tco-form-dynamic events

事件名说明返回值
fetchParams搜索search:搜索参数7. 搜索表单-单个触发
支持下拉框、输入框、数字输入口、单选框、时间日期选择框搜索功能
<tco-form-dynamic
:labelWidth="65"
:dynamicList="aSearch"
:objDefault="objDefaultSingle"
:objData="objSearchSingle"
@fetchParams="handleFetchData"
/>

tco-form-dynamic prpps

属性说明类型默认值
objData显示的结构化数据Array[]
dynamicList动态搜索数据 {label:'名',value:'ss'}Array[]
objDefault表单默认值Object{}
labelWidthlabel宽度Number100

objData

==下拉框==

{
  type: "select",
  label: "下拉框",
  value: "select",
  clearable: true, //是否可清除
  filterable: true, //是否可搜索
  placeholder: "请选择",
  data: [
    {
      name: "option1",
      value: "1"
    },
    {
      name: "option2",
      value: "2"
    }
  ]
}

==单选框==

 {
  type: "radio",
  label: "单选框",
  value: "radio",
  placeholder: "请选择",
  data: [
    {
      name: "check1",
      value: "1"
    },
    {
      name: "check2",
      value: "2"
    }
  ]
}

==输入框==

 {
    type: 'input',
    value: 'input',
    label: '输入框',
    disabled:true,//是否禁用
    prefix: 'ios-contact',//输入框头部图标
    suffix: 'ios-search',//	输入框尾部图标
    placeholder: '请输入'
}

==数字输入框==

 {
    type: 'inputNumber',
    value: 'inputNumber',
    disabled:true,//是否禁用
    label: '数字输入框',
    placeholder: '请输入'
}

==时间、日期选择器==

{
    type: 'date',
    label: '时间/日期',
    disabled:true,//是否禁用
    dateType: 'month',//date、daterange、datetime、datetimerange、year、month 当类型为范围时 加默认值:defaultRange:['a','b']
    value: 'end',//当type为datarange是value为数组[value1,value2]
    format: 'yyyy-MM',//date | daterange:yyyy-MM-dd、datetime | datetimerange:yyyy-MM-dd
    placeholder: '选择结束时间',
    limit: {//时间范围
        up: '2018-01-01 00:00:00',
        down: '2015-01-01 00:00:00'
    }
}

tco-form-dynamic events

事件名说明返回值
fetchParams搜索search:搜索参数

9.下载组件

属性说明类型默认值
id组件唯一标识String""
type按钮样式String"primary"
name按钮名称String"下载"
icon图标String"md-cloud-download"
exportData导出数据Object{}
//支持行列合并
exportData={
    
        type: "xlsx",//csv、txt
        file_name:'下载',
        method:'json'//table(默认) table方法仅支持xlsx格式导出
        column: [
          {
            key: "item",
            combine:true,//是否合并此列,注:csv导出不支持合并功能
            title: "aa",
            align: "center"
          },
          {
            key: "col_1",
            title: "201901",
            align: "center"
          }
        ],
        data: [
          {
            item: "故障数量",
            col_1: 35
          },
          {
            item: "保内故障数量",
            col_1: 35
          }
        ]
}
<tco-export type="default" name="test" icon="md-archive" :exportData="objExport"/>
1.5.8

5 years ago

1.5.7

5 years ago

1.5.6

5 years ago

1.5.5

5 years ago

1.5.4

5 years ago

1.5.3

5 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

5 years ago

1.4.9

5 years ago

1.4.8

5 years ago

1.4.7

5 years ago

1.4.6

5 years ago

1.4.5

5 years ago

1.4.4

5 years ago

1.4.3

5 years ago

1.4.2

5 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.9

5 years ago

1.3.8

5 years ago

1.3.7

5 years ago

1.3.6

5 years ago

1.3.5

5 years ago

1.3.4

5 years ago

1.3.3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago