这个 package 主要定位于将非 BaseUI 的一些公用 vue 组件、插件等收敛在一起，便于在项目间共用。

## antd components

---

> [yqg-simple-form](antd/component/yqg-simple-form/README.md)

表单组件

---

> def-value 

主要给yqg-simple-table、yqg-static-form使用的根据fieldDef展示field的组件, 也可单独使用

|Property|Description|Type|Default Value|
|---|---|---|---|
|def|def option，详见yqg-simple-table、yqg-static-form|Object|required|
|value|字段值|[String, Number, Array, Boolean, Object]|''|
|defaultText|value 为空时展示|String|''|

* 展示类型

|Type|Value Type|View|
|---|---|---|
|type: 'date'|timestamp|日期|
|type: 'dateTime|timestamp|日期时间|
|type: 'time'|timestamp|时间|
|type: 'rich'|string|HTML|
|配置了filter|--|filtered value|
|配置了formOptions|Array|yqg-static-form|
|配置了tableOptions|Array|yqg-simple-table|

---

> yqg-static-form 静态展示表单

* Form

|Property|Description|Type|Default Value|
|---|---|---|---|
|ctx|一般是父级this|Object|this.$parent|
|title|表单标题，一般在使用modal时配置|string\|slot|''|
|values|数据对象|Object|null|
|options|表单配置对象|Object|required|
|layout|表单布局 inline\|horizontal\|verticla\| inline一般用于查询表单，horizontal一般用于弹窗提交表单，vertical可以配合column属性使用|String|'inline'|
|hideInvalid|隐藏空值field (!value && value !== 0)|Boolean|false|


* Form.options

|Property|Description|Type|Default Value|
|---|---|---|---|
|layout|表单布局，同Form.layout|Object|'inline'|
|column|配合vertical，多列展示，如{span: 12}, 2列|Object|null|
|labelCol|label布局|Object|{span: 4}|
|wrapperCol|输入控件布局|Object|24-labelCol.span|
|staticItemProps|Form.Item.props|Object|{colon: false}|
|fieldDefs|表单fields配置项|Array|required|

* FieldDefOption

注: 对于static-form，field内容展示有三种情况：slot | 通过staticComp配置的自定义组件 | def-value

|Property|Description|Type|Default Value|
|---|---|---|---|
|field|字段key|String\|slot|required|
|label|字段名称|String|若不配置，则不展示label占位;若需要占位但不展示label，可配置为空格' '|
|type|控件类型, def-value根据type对展示内容进行处理|String|--|
|enumType|enum，枚举类控件需要配置|String\|Object\|Enum|--|
|enumOptions|同@yqg/enum EnumOption, 若配置的i18n key 对应的是一个Array，则需配置|Object|--|
|format|用于格式化value，详见util/format.js, 可自定义|String\|Object|--|
|hide|是否隐藏field|Boolean\|function({record, values, ctx}) => hideValue:Boolean|fales|
|staticComp|若配置则展示自定义组件|Component|--|
|staticProps|field组件props, 可用于设置样式等|Object|--|
|staticItemProps|a-form-item props|Object|--|

> yqg-simple-table

表格

* Table

|Property|Description|Type|Default Value|
|---|---|---|---|
|ctx|一般为父组件this|Object|this.$parent|
|options|table配置|Object|required|
|records|数据数组|Array|null|
|pagination|分页数据对象|Object\|Boolean|{}|
|defaulPagination初始化分页对象配置|Object|{pageSizeOptions: ['10', '20', '50', '100', '200'],showSizeChanger: true}|
|simpleEmpty|无数据时只展示“暂无数据“|Boolean|false|
|fontSize|字号|Number|13|
|cellHorizontalPadding|单元格内边距|Number|20|
|paginationInfinite|是否启用无限翻页模式|Boolean|false|

* Table.options

|Property|Description|Type|Default Value|
|---|---|---|---|
|colDefs|数据列配置|Array|[]|
|search|是否开启表内搜索|Boolean|false|
|enableClientSort|是否开启客户端排序|Boolean|false|
|enableSelectColumn|是否开启隐藏列|Boolean|false|
|scroll|滚动条配置|Object|{x: true}|
|rowSelection|配置可选行|Object|null|

注：上述之外属性若放到options中，最后会bind到a-table上

配置可选行:
```
rowSelection: {
    rowKey: string,
    fixed: boolean,
    columnWidth: number,
    selectedRowKeys: array,
    onChange: function(selectedRowKeys: array, selectedRows: array): any,
    getCheckboxProps: record => ({
      props: {
        disabled: record.name === 'Disabled User', // Column configuration not to be checked
        name: record.name,
      },
    })
},
```

* DefOption

|Property|Description|Type|Default Value|
|---|---|---|---|
|field|字段key|String\|slot|required|
|label|列title|String|--|
|labelParam|$t(label, labelParam)|Array|--|
|column|列描述数据对象|Object|{}|
|column.sorter|列排序规则|String\|Function|'string'|
|enumType|枚举对象|String|Object|Enum|null|
|filter|全局注册过的过滤器|String|--|
|child|折叠列配置对象|{defaultVisible: Boolean, // 是否默认展示 colDefs: Array}|null|
|children|表头分组配置|Array|null|
|colSpan|表头列合并|Number|null|
|rowSpan|行合并|Number|null|

* slot

|Name|Description|SlotScope|
|---|---|---|
|title|自定义表头|{title, def}|
|footer|表格尾部|currentPageData|
|renderEmpty|无数据时展示|null|

* events

|Name|Description|params|
|---|---|---|
|change|分页、排序、筛选变化时触发|Function(pagination, filters, sorter)|
|expand|点击展开图标时触发|Function(expanded, record)|
|expandedRowsChange|展开的行变化时触发|Function(expandedRowKeys)|
|export-current-page|导出本页数据|Function({header, data})|

> yqg-infinite-pagination

无限分页组件
|Property|Description|Type|Default Value|
|---|---|---|---|
|pagination|分页数据对象|Object|{}|
|dataSize|当前页面数据量| Number|null|
|showSizeChanger|是否可以改变 pageSize| Boolean|true|

* events

|Name|Description|params|
|---|---|---|
|change|分页,改变pageSize时触发|Function(pageNo, pageSize)|