0.1.58 • Published 2 years ago

crud-support v0.1.58

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

CrudSupport

1.介绍

通过配置的方式快速生成后台管理系统中常用的增删改查页面

2.软件架构

基于Element-UI进行二次封装

3.安装教程

npm install crud-support

4.使用说明

引入全局组件(强制)

xxxxx
import Crud from 'crud-support'
import 'crud-support/lib/crud-support.css'
xxxxx
Vue.use(Crud)

引入混入工具类(强制)

//方式一
import  from 'crud-support/packages/crud-mixins'
//方式二
import { crud_mixins } from 'crud-support'

引入请求工具类(非强制)

  • 将tempalte目录下的'request-mixins.js.template'文件拷贝至自己项目中的utils目录下并改名为'request-mixins.js'
  • 将template目录下的'request.js.template'文件拷贝至自己项目中的utils目录下改名为'改名为request.js'
  • 其中request.js需要根据自身情况进行适配
  • 需使用时可自行引入'request-mixins.js'

3.组件使用样例

请参考项目中example目录

4.布局配置

页面布局配置对应的layout()方法已经在混入工具中定义,自行实现layout()方法,在方法内对页面布局进行自定义配置,参考上述样例

attribute

参数说明类型可选值默认值备注
search-inputs查询参数绑定的对象Object-searchInputssearchInputs在混入工具中已经定义可直接赋值
search-configs配置查询输入框和按钮的数据Array-searchConfigssearchConfigs在混入工具中已经定义可直接赋值
button-configs配置查询下方自定义操作按钮Array-button-configsbutton-configs在混入工具中已经定义可直接赋值
column-button配置表数据中操作列中显示的按钮Array'add','edit','delete'[]column-button需自行指定不指定则操作列不显示
header-height配置头部布局高度String-100px当有下方自定义按钮或者搜索项很多时建议高度>200px
header-size配置组件大小String-small建议不用配置或配置small
table-data配置表中要渲染的数据Array-[]从后端接口拿来的数据
table-configs配置表中要显示的列Array-[]配置列对应绑定的值和名称以及显示样式
page-conf配置分页组件中对应的页码Object-绑定了分页组件中对应的数据
searchButton查询按钮开关Booleantrue/falsetrue是否显示查询按钮
resetButton重置按钮开关Booleantrue/falsetrue是否显示重置按钮
addButton新增按钮开关Booleantrue/falsefalse是否展示新增按钮
dialogWidth新增修改dialog的宽度String-800px可自定义指定dialog的宽度
tableExpandRow是否开启列展开模式Boolean-false指定此参数时可开启展开列显示详情模式,根据tableConfigs配置进行显示
tableExpandProp指定row中要展开显示的字段String--当指定了此字段时,会自动从row中获取此字段对应的值然后根据tableConfigs配置进行显示
tableExpandType指定展开内容的样式Stringtable/desc-支持el-table和el-el-descriptions两种显示

search-configs

search-configs是数组类型,数组中每一个元素是一个对象代表着一个搜索项,以下为元素对象的可配置项

参数说明类型可选值默认值备注
id当需要使用this.refreshHeaderOptions时id必填且必须唯一String--非必填
prop绑定到searchInput中的字段名称String--必填
type指定搜索项的类型Stringselect, input, datetimerange, daterange, monthrange, selectRemote-必填
placeholder搜索项文字占位符String--非必填
desc指定鼠标悬停时要显示的tooltipsString--非必填
startPlaceholder时间选择器起始时间选择框文字占位符String--type为datetimerange/dateramge/monthrange时必填
endPlaceholder时间选择器结束时间选择框文字占位符String--type为datetimerange/dateramge/monthrange时必填
clearable是否可清空Boolean-true输入框或者下拉框是否为可清空
filterable是否可过滤Boolean-true下拉框支持前端搜索
options下拉选择框中的值Array--当搜索项为下拉框时需要指定下拉框的内容,其中格式为{label: 'xxx', value: 'xxx'}...
fetch(弃用)同步下拉框中的数据Function--由于很多下拉框需要实时去后台拉去数据所以options就会存在渲染不及时问题,通过fetch将数据实时同步
remoteMethodtype为selectRemote时远程搜索调用的方法Function--下拉框设置为远程搜索时用户输入keyword会调用此方法,方法实现可根据keyword调用接口并将最新的数据通过混入工具中的this.refreshHeaderOptions('{id}', value)

table-configs

table-configs是数组类型,数组中每一个元素是一个对象代表着一个列的配置,以下为元素对象的可配置项

参数说明类型可选值默认值备注
prop绑定行数据中的字段String--必填
type列类型Stringtag/switch/select-非必填
tagType指定标签类型(即颜色)string/functionstring/function-string类型时直接指定tag颜色;function类型时会传入(index(行号), row(行数据))并要求函数返回计算后的type
label列名称String--非必填
change列为开关样式时监听开关变化的方法Function--type为switch时必填
activeValue列为开关样式时开关打开时绑定的值String/Number--type为switch时必填
inactiveValue列为开关样式时开关打开时绑定的值String/Number--type为switch时必填
convert当type为tag时可将列值显示的内容改为convert方法转换后的值Function--type为tag时可填
columnConvert根据当前行数据转换为要显示的数据Function(index(当前行), row(行数据))--convert只会接收列值,columnConvert会接收航值,可更灵活处理
optionstype为select时有效指定下拉框中内容Array--数据类型为{value: xxx, label: xxx}...
fetchtype为select时有效指定下拉框中内容Function--数据类型为{value: xxx, label: xxx}...,当数据需要主动拉取时可替代options
changetype为select时接收下拉选值变化事件Function(index(当前行), row(行数据))--可在此处调用后台接口进行值修改

event

组件中声明了很多事件坚挺用于支撑业务交互

事件名称说明参数返回值备注
selectionChange当表格中勾选项产生变化会调用此value: 勾选的数据-必填
load表格组件渲染时调用的方法--强制要求在load方法中封装向后台请求表格中要显示的数据
aeConfirm新增修改表单中点击确认按钮调用的方法用于校验表单中的数据--混入中已经实现,不要随意修改
addSubmitaeConfirm执行完成后调用此方法进行数据提交--混入中已定义,需要自行实现,此方法发起向后端请求
editSubmitaeConfirm执行完成后调用此方法进行数据提交--混入中已定义,需要自行实现,此方法发起向后端请求
aeReset新增修改表单中点击取消或者窗口关闭时调用的方法--混入中有定义此方法,并将formData重置为空对象(混入中有声明,不要随意修改)
aeResetBeforeaeReset方法执行前调用的方法--混入中已定义,需要自行实现
aeResetAfteraeReset方法执行后调用的方法--混入中已定义,需要自行实现
deleteSubmit表格中行数据删除确认时调用的方法row: 行数据-混入中有定义,但需自行实现
aeAddOpenBefore新增窗口打开前调用的方法如果是行级别的新增会传入行数据和index-混入中有定义,但需自行实现
aeEditOpenBefore修改窗口打开前调用的方法如果是行级别的新增会传入行数据和index-混入中有定义,但需自行实现

slot

名称说明
dialogForm当开启dialog时dialog中要显示的内容,一般都是通过插槽的方式插入form表单

method

名称说明
columnButtonDisable禁止表格中某一行操作列中某些按钮,入参为二维数组,例如['edit', 'add', 'delete', '自定义按钮的name'],数组中的每一个元素代表表格中从上到下每一行的按钮配置
columnButtonDisableReset充值表格中所有按钮的disabled状态

5.混入工具类

crud-mixins

method

名称说明参数
refreshHeaderOptions手动刷新header中的options配置id(search-configs中的id), value(要刷新的值)
selectionChange表格开启勾选框后调用的方法【不建议覆盖实现】value(选中的数据)
aeConfirm新增编辑窗口打开后点击确认触发的方法【不建议覆盖实现】-
aeOpen新增编辑按钮出发弹窗打开时调用的方法【不建议覆盖实现】index(行号),row(行数据),type(打开类型)
aeAddOpenBefore点击新增按钮触发aeOpen前执行的方法【可以覆盖实现】index(行号),row(行数据)
aeEditOpenBefore新增编辑按钮出发弹窗打开时调用的方法【可以覆盖实现】index(行号),row(行数据)
addSubmit新增窗口打开时点击确认后触发的方法用于向后段提交数据【可以覆盖实现】callback(回调方法,通知已执行成功)
editSubmit编辑窗口打开时点击确认后触发的方法用于向后段提交数据【可以覆盖实现】callback(回调方法,通知已执行成功)
deleteSubmit删除窗口打开时点击确认后触发的方法用于向后段提交数据【可以覆盖实现】【可以覆盖实现】index(行号),row(行数据)
aeResetAfter新增编辑窗口关闭后触发aeReset方法前调用的方法【可以覆盖实现】-
aeResetBefore新增编辑窗口关闭后触发aeReset方法后调用的方法【可以覆盖实现】-
aeReset新增编辑窗口关闭后触发的方法【不建议覆盖实现】-
layout配置页面布局时调用的方法【可以覆盖实现】-
openLoadingtable显示loading状态【可以覆盖实现】-
closeLoadingtable关闭loading状态【可以覆盖实现】-
setPageConf设置分页参数【可以覆盖实现】{page, conf, size}

data

名称说明
tableSelected表格勾选的数据
tableData表格渲染的数据
searchInputs查询参数绑定的数据
searchConfigs查询布局配置绑定的参数
buttonConfigs自定义按钮绑定的参数
tableConfigs表格列相关配置的参数
formData绑定新增修改form表单的数据,绑定在插槽中插入的form表单的数据
formDataRule绑定新增修改form表单验证的规则,绑定在插槽中插入的form表单验证规则的数据
pageConf分页参数绑定的配置
0.1.56

2 years ago

0.1.57

2 years ago

0.1.58

2 years ago

0.1.53

2 years ago

0.1.54

2 years ago

0.1.55

2 years ago

0.1.52

2 years ago

0.1.50

2 years ago

0.1.51

2 years ago

0.1.49

2 years ago

0.1.41

2 years ago

0.1.42

2 years ago

0.1.43

2 years ago

0.1.44

2 years ago

0.1.45

2 years ago

0.1.46

2 years ago

0.1.47

2 years ago

0.1.48

2 years ago

0.1.40

2 years ago

0.1.38

2 years ago

0.1.39

2 years ago

0.1.33

2 years ago

0.1.34

2 years ago

0.1.35

2 years ago

0.1.36

2 years ago

0.1.37

2 years ago

0.1.30

2 years ago

0.1.31

2 years ago

0.1.32

2 years ago

0.1.29

2 years ago

0.1.27

2 years ago

0.1.28

2 years ago

0.1.20

2 years ago

0.1.21

2 years ago

0.1.22

2 years ago

0.1.23

2 years ago

0.1.24

2 years ago

0.1.25

2 years ago

0.1.26

2 years ago

0.1.19

2 years ago

0.1.18

2 years ago

0.1.17

2 years ago

0.1.16

2 years ago

0.1.15

2 years ago

0.1.13

2 years ago

0.1.12

2 years ago

0.1.11

3 years ago

0.1.10

3 years ago

0.1.9

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago