1.1.1 • Published 3 years ago

mmkk-plug v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

引入:

  npm i mmkk-plug -S

.vue:

import { btnBar, tableBar, formBar } from 'mmkk-plug'

components: {
  formBar,
  tableBar,
  btnBar
},

按钮 参数:

字段注释类型必传默认
btnList按钮列表Array[]
isAuthority是否启用权限Booleantrue
  • 备注:isAuthority 默认启用权限,使用的数据源为接口返回的数据列表

按钮 btnList参数:

字段注释类型必传默认
label按钮名称String''
value按钮对应值String/Number''
icon图标String''
type按钮类型String''
size按钮大小String''

表单 参数:

字段说明类型必传默认
formStyleform表单的样式及相关参数Object{}
formButton表单的按钮Object{}
formDataform表单的值,用于编辑表单的赋值时传入,默认值不建议使用此参数,该方式传递默认值会被清空,请使用formItem中的value传递默认参数Object{}
formItemform表单项、表单元素Object{}

表单 formStyle参数:

字段说明类型必传默认
lableWidth表单域标签的宽度String'80px'
inline一行内显示一个表单项 ( 查询表单默认是一行显示多个,只有在添加或编辑等表单会需要传此参数)Booleanfalse
labelPosition表单域标签的对齐方向String'right'
size用于控制该表单内组件的尺寸String'small'

表单 formButton参数:

字段说明类型必传默认
btnShow是否使用按钮组件 (传递true后或显示查询和重置两个按钮,用于查询表单)Booleanfalse
col按钮区域的排列Array4,6,8,12,24
list表单的其他按钮(此处按钮是没有权限验证的,需要 权限验证的按钮需要放在按钮组件中 )Array[]
list - label按钮名称String''
list - value按钮标识String/Number''

表单 formItem参数-公共:

字段说明类型必传默认
itemtype表单项类型,详见下表 【表单项类型参数】String''
label表单标签文本String''
value表单标签文本String''
col表单项排列Array4,6,8,12,24
isShow表单项是否显示Booleantrue
id表单项key,表格项有变化或者表单项像是隐藏时需要此idNumber''
value表单标签文本String''
lableWidth表单域标签的宽度String'80px'
rules表单验证条件Array[]
clearable是否显示清空按钮Booleantrue
placeholder占位提示语String'请输入/请选择' + label
disabled是否可编辑Booleanfalse

表单 表单项类型参数 :

类型说明
label展示框
input文本输入框
select下拉选择框
date日期时间段选择
number数字输入框
switch开关
cascader级联选择器
radio单选
checkbox多选
upload图片/文件上传
inputNumber文本输入框-只可输入数字
groupNumber数组输入框-区间输入
groupInput文本输入框-区间输入
slot插槽

formItem参数-input:

字段说明类型必传默认
type原生属性 text,textarea 等String''
maxlength最大输入数String''
showPassword是否显示切换密码图标Booleanfalse

**示例:**

{
		itemtype: 'input',
		label: '关键字',
		maxlength: 10,
		placeholder: '请输入用户昵称/账号/姓名',
		col: [6, 8, 12, 24, 24]
}

表单 formItem参数-select:

字段说明类型必传默认
option选择框数据列Array/String[]
valueNameoption中的显示内容属性名称。String''
lableNameoption中的值属性名称。String''
collapseTags多选时是否将选中值按文字的形式展示Booleanfalse
multiple是否多选Booleanfalse
filterable是否可搜索Booleanfalse
allowCreate是否允许用户创建新条目,需配合 filterable 使用Booleanfalse
defaultFirstOption在输入框按下回车,选择第一个匹配项Booleanfalse
valueKey如果 Select 的绑定值为对象类型,请务必指定 value-key 作为它的唯一性标识。String''

**示例:**

{
          itemtype: 'select',
          label: '状态',
          option: [
            { label: '全部', value: '' },
            { label: '启用', value: 10 },
            { label: '禁用', value: 20 }
          ],
          placeholder: '用户状态',
          col: [6, 8, 12, 24, 24]
}
  • 备注:option参数比较复杂,分三种情况,文档推荐直接传递数组一种形式

表单 formItem参数-date:

字段说明类型必传默认
type时间选择框类型 year/month/date/week/ datetime/datetimerange/daterangeString'date '
format可选,绑定值的格式。不指定则绑定值为 Date 对象String''

**示例:**

{
          itemtype: 'date',
          label: '创建时间',
          type: 'datetimerange',
          col: [6, 16, 12, 24, 24]
}

表单 formItem参数-number:

字段说明类型必传默认
controls是否使用控制按钮Booleanfalse
controlsposition控制按钮位置String'right'
precision数值精度Number0
step计数器步长Number0
max最大值NumberInfinity
min控制按钮位置Number0
unit单位String''

表单 formItem参数-switch:

字段说明类型默认
activeValueswitch 打开时的值boolean / string / number1
inactiveValueswitch 关闭时的值boolean / string / number0

表单 formItem参数-cascader:

字段说明类型必传默认
option选择框数据列Array/String[]
filterable是否可搜索Booleanfalse
checkStrictly是否严格的遵守父子节点不互相关联。Booleanfalse
valueNameoption中的显示内容属性名称。String''
lableNameoption中的值属性名称。String''
multiple是否多选Booleanfalse
emitPath在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组,若设置 false,则只返回该节点的值Booleanfalse
  • 备注:option参数比较复杂,分三种情况,文档推荐直接传递数组一种形式

表单 formItem参数-radio/checkbox:

字段说明类型必传默认
option选择框数据列Array[]

formItem参数-upload:

字段说明类型必传默认
accept接受上传的文件类型(thumbnail-mode 模式下此参数无效 .xls,.xlsx .png, .jpg)String''
limit最大允许上传个数Number''
fileList上传的文件列表, 例如: {name: 'food.jpg', url: 'https://xxx.cdn.com/xxx.jpg'}Array[]
tip提示内容String''

表单 formItem参数-groupNumber:

字段说明类型必传默认
controls是否使用控制按钮Booleanfalse
controlsposition控制按钮位置String'right'
precision数值精度Number0
numberMax最大值NumberInfinity
min控制按钮位置Number0
prop1起始值属性名称String0
prop2终止值属性名称String''

表单 formItem参数-slot:

字段说明类型必传默认
style样式Array{}

**示例:**

	{
		itemtype: 'slot',
		label: '门店',
		heightAuto: true,
		col: [6, 16, 12, 24, 24],
		style: {
			'height': 'auto !important'
		}
	}

表单 事件

字段说明返回参数
formClick返回通过验证的form对象form, item, row, index
formChange公共触发事件 change事件val, item, form
uploadCallback覆盖默认的上传行为,可以自定义上传的实现file
uploadRemove删除文件file

表单 formClick事件返回参数说明

字段说明类型
form表单对象Object
item按钮对象 两个默认按钮 0:重置 1:查询 其他的类型是需要传入的 牢记传入的类型不可为0和1Object
row传入的按钮对象,传入按钮参数会返回Object
index传入的按钮角标,传入按钮参数会返回Object

表单 父组件可调用方法

字段说明类型
forceUpdate表单重绘 更新function
formClear表单清空function
formReset表单重置function
formCreated表单数据重新转换,用于编辑表单赋值不成功的情况function

表单 父组件可调用其他操作

  • 父组件获取表单数据 this.$refs.组件ref.form
  • 父组件获取表单通过验证的数据结果
this.$refs.组件ref.$refs.form.validate(valid => {
        if (valid) {
          通过验证
        } else {
          console.log('表单验证失败')
          return false
        }
})

**表单 示例**

<form-bar
  ref="serchform"
  :form-item="formItem"
  :form-button="formButton"
  @formClick="formClick"
>
  <template slot="storeIds" slot-scope="scope">
    <el-select
      v-model="scope.form.storeIds"
      class="width-style"
      placeholder="请选择门店"
      clearable
      multiple
      filterable
      remote
      reserve-keyword
      collapse-tags
      :remote-method="remoteMethod"
:loading="storeLoading"
size="small"
>
<el-option
v-for="item in storetList"
:key="item.id"
:label="item.storeName"
:value="item.id"
/>
</el-select>
</template>
</form-bar>
formItem: {
searchWord: {
itemtype: 'input',
label: '关键字',
// maxlength: 10,
placeholder: '请输入用户昵称/账号/姓名',
col: [6, 8, 12, 24, 24]
},
status: {
itemtype: 'select',
label: '状态',
option: [
  { label: '全部', value: '' },
  { label: '启用', value: 10 },
  { label: '禁用', value: 20 }
],
placeholder: '用户状态',
col: [6, 8, 12, 24, 24]
},
storeIds: {
itemtype: 'slot',
label: '门店',
heightAuto: true,
col: [6, 16, 12, 24, 24],
style: {
  'height': 'auto !important'
}
},
startTime: {
itemtype: 'date',
label: '创建时间',
type: 'datetimerange',
col: [6, 16, 12, 24, 24]
}
},
formButton: {
btnShow: true,
col: [6, 8, 12, 24, 24]
},

表格 参数:

字段注释类型必传默认
dataList数据列表Array[]
tableColumn表格表头及设置Array[]
operationbtn操作列按钮Array[]
operationWidth列宽度String'120px'
numberSerial是否显示序号Booleanfalse
selection是否显示选择框Booleanfalse
tableOption是否启用表格列操作按钮Booleanfalse
total分页总条数Booleanfalse
paging分页配置Object{}
tableHelght表格用于计算高度差值Number0
rowKey折叠表格设置key值String'id'
errorMsg页面错误提示String'暂无数据'
isAuthority是否使用权限Booleanfalse
isSkeleton是否使用骨架屏Booleanfalse
  • 备注:isAuthority 默认启用权限,使用的数据源为接口返回的数据列表

表格 tableColumn参数:

字段注释类型必传默认
label列名称String''
prop列名称对应的数据属性名String''
width列宽度String''
showTooltip超出隐藏并悬浮提示String''
align数据对齐方式String'center'
headerAlign表头对齐方式String'center'
sortable对应列是否可以排序 true, false, 'custom'Boolean/String'false
fixed列是否固定在左侧或者右侧,true 表示固定在左侧Stringtrue
filter根据数据展示相应的文字 建议使用slotArray[]
copy是否使用复制Booleanfalse
link是否使用超链接跳转Booleanfalse
img是否使用图片展示Booleanfalse
slot是否使用slotBooleanfalse

表格 tableColumn参数 - filter:

字段注释类型必传默认
value需要转义的值String''
lable将值转义成的字符串String''

表格 operationbtn参数:

字段注释类型必传默认
filter根据数据展示相应的文字 建议使用slotArray[]
slot是否使用slotBooleanfalse
label按钮名称String''
value按钮对应值String/''
icon图标String''
type按钮类型String''
size按钮大小String''

表格 返回事件

字段注释参数
btnClick表单按钮返回数据row, index
btnselectionChange选择数据触发row
pagination分页数据paging

**表格 示例**

<table-bar
  :data-list="dataList"
  :table-column="tableColumn"
  :operationbtn="operationbtn"
  :total="total"
  :paging="paging"
  :operation-width="'200px'"
  :selection="true"
  @pagination="pagination"
  @btnselectionChange="selectionChange"
  @BtnClick="BtnClick"
>
  <template slot="status" slot-scope="scope">
    <el-switch
      v-model="scope.row.status"
      :active-value="10"
      :inactive-value="20"
      @change="handleStatusChange(scope.row)"
    />
  </template>
</table-bar>
tableColumn: [
  {
    label: '用户编号',
    width: '180',
    prop: 'userId'
  },
  {
    label: '员工号/账号',
    width: '100',
    prop: 'userName'
  },
  {
    label: '用户状态',
    prop: 'status',
    slot: true,
    width: '120'
  },
],
operationbtn: [
  {
    value: 2,
    label: '修改'
  },
  {
    value: 3,
    label: '删除'
  },
  {
    value: 4,
    label: '重置密码'
  }
],
paging: {
  pageSize: 10,
  pageIndex: 1
}

1.1.1

3 years ago

1.1.0

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago