em-element-ui

基于Vue的自定义UI组件

Usage no npm install needed!

<script type="module">
  import emElementUi from 'https://cdn.skypack.dev/em-element-ui';
</script>

README

使用说明

em-element-ui该组件是基于Vue和element-ui开发,该组件主要用于快速开发列表的增删查改功能,只需配置页面上显示的字段,并对各个字段加上对应的显示规则即可显示。

安装

npm install element-ui -S
npm install em-element-ui -D

安装使用

import Vue from 'vue'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(Element)

import emUI from 'em-element-ui'
Vue.use(emUI);


:::

列表属性描述

参数 说明 类型 可选值 默认值
tableListName 列表对应名称 string 必填
source table表数据的来源。data表示自定义数据;query是通过URL动态获取,如:table queryURL string data/query query
sourceData source值为data时使用 array []
rowKey 表示table对应的字段显示下三角 string -
mode_list 修改和编译列表时,各个字段显示在不同的mode区域 array []
page_status 控制显示内容,1:搜索条件;2:选择显示列;4:表格;8:分页功能;16:增加按钮;32:删除按钮;64:全局搜索控件 int 12
page_column 列表对应字段 array 必填 -
select_list 列表中存在select组件,使用key-value对应 object -
composeParam 删除主键 array ['id']
buttonsList 自定义操作按钮{type: 'info',icon: '',event: 'import',name: '导入'} array/function -
queryParam 自定义list分页功能,格式:[{type: 1,key: 'page',value: 'pageNum'},{type: 1,key: 'size',value: 'pageSize'},{type: 2,key: 'param',value: {}}] array [{type: 1,key: 'page',value: 'pageNum'},{type: 1,key: 'size',value: 'pageSize'}]
dialogFooter 自定义dialog按钮,正在开发... array ['id']
axios 自定义请求头文件和超时时间,axios定义的参数 object {timeout: 5000, headers: {}}
optRules 删除前校验规则,如:isRules: true,_method: 'post',_url: '/',params: {busCode: function(row,field){//根据key获取删除记录对应的值},pageNum: 1,pageSize: 10},_axios: {},message: '该记录在数据中有关联,请先删除关联数据! object -
responseSuccess response返回字段校验{key:'code', value: 0, message: 'message'} object -

列表事件

事件名 说明 参数
onListEvent 用于用户自定义事件,扩充接口。type为事件类型,row操作的行 type, row
onReqParams 用于用户自定义参数,扩充接口。type为类型,obj为list对象,callback为回调函数用来输出自定义参数 type, row, callback

table queryURL

queryURL是一个自定义请求参数,以key-val方式传递,key代表是请求事件,如:add/edit/list/del和自定义事件,注意:key为name时,是新增和编辑左上角title提示;val为对象,描述如下: | 参数 | 说明 | 类型 | 可选值 | 默认值 | |---------- |-------------- |---------- |-------------------------------- |-------- | | url | 请求地址 | string | - | - | | method | 请求方式 | string | — | - | | name | 删除时回显字段 | string | — | - | | isArray | 多字段组合删除时,支持多个删除 | string | — | - | | success | response返回字段校验{key:'code', value: 0, message: 'message'} | object | — | - |

mode_list

参数 说明 类型 可选值 默认值
ou 区域的主键 int - -
name 区域的名称 string -

select_list

参数 说明 类型 可选值 默认值
key 字段的名字 string - -
value 字段值,array:为静态值,如:[{value: 0, label: '禁用'},{value: 1, label: '启用'}];object:为动态获取值,如:{url: '/',props: {value: 'oid', label: 'name'},node:['data', 'list'],params: {page: 1, size: 10}} array/object -

page_column table

参数 说明 类型 可选值 默认值
field 字段 string - -
stype 显示信息类型,值:checkbox,opt,tag,list-tag,link,switch,image,list,mapping string -
name 字段名称 string -
fixed 字段是否固定 string left/right -
width 字段宽度 int -
action 动态请求该字段值 string -
formatter 根据key-val获取对应的值 string -
sort 字段是否排序 boolean/string true/false/custom false
ispush 提交表单时,该字段是否提交 boolean false
align 显示位置 string left/center/right left
hide 是否隐藏 boolean false
show 用于控制增加和编辑form表单使用,详细情况:mode_list add/edit object -
search 用于控制查询条件,详细情况:mode_list search object -
rules 用于控制文本框合法校验,详细情况:mode_list rules array -
success response返回字段校验{key:'code', value: 0, message: 'message'} object -

mode_list add/edit

参数 说明 类型 可选值 默认值
field 如果该字段存在,则一个该字段给后台,如果没有默认以list为准 string - -
parent field字段归属于该字段 string - -
type 文本框类型,值:hide,text,password,text-tag,select,cascader,radio,checkboxall,file,switch,date,time-picker,date-picker,textarea,texttime,dynamic,button,span,task,key-val string - -
ou 根据mode主键显示文本框 int -
obj 动态获取对应的值 array -
isDisabled 是否在修改时,可编辑该文本框 boolean false
remote 动态搜索远程服务器功能 boolean false
findKey 搜索的字段 string -
paramKey 参数内参数 string -
value 设置默认值 string -
placeholder 文本框描述 string -
action 动态提交事件 string -
param 动态提交事件,解释值:{key: 'code', value: 200, filename: 'data'} obj -
mapping type为select,当前字段映射显示对应字段值 string -
success response返回字段校验{key:'code', value: 0, message: 'message'} object -

mode_list search

参数 说明 类型 可选值 默认值
type 文本框类型,值:text,date,time-picker,select,time-select,datetimerange string - -
obj 动态获取对应的值 array -
placeholder 文本框描述 string -

mode_list rules

参数 说明 类型 可选值 默认值
required 是否必输 boolean - false
message 错误提示消息 string -
trigger 触发校验 array/string blur/change -
min 最小长度 int -
max 最大长队 int -
validator 自定义校验规则,function代表自定义方法 string/function -

DEMO演示

<template>
    <div class="template-main">
        <em-table-list :tableListName="'collect'" :sourceData="sourceData" :source="source" :mode_list="mode_list" :page_status="page_status" :page_column="page_column" :select_list="select_list" @onListEvent="onListEvent"></em-table-list>
    </div>
</template>
<script>
    export default {
        name: 'collect',
        computed: {},
        data() {
            return {
                sourceData: [{
                    collectPartner: '10001',
                    businessLicense: '91110108MA01QC0B0T',
                    companyId: 'ENN123456789012345678',
                    companyName: 'test',
                    companyAddress: '河北廊坊',
                    status: 1
                }],
                source: 'data',
                mode_list: [],
                page_status: 29,
                page_column: [
                    {field: "collectPartner", name: "企业代码", fixed: "left", width: 90,
                        show: {type: 'text', ou: 1, placeholder: '企业代码', default: {}},
                        search: {type: 'text', obj: 'collectPartner', placeholder: '企业代码', default: {}},
                        rules: [
                            { required: true, message: '请输入名称!', trigger: 'blur' },
                            { min: 5, max: 32, message: '长度在 1 到 32 个字符', trigger: 'blur'},
                            { validator: function (rule, value, callback) {

                                }, message: '名称格式为汉字、字符和下划线', trigger:'blur'}]},
                    {field: "businessLicense", name: "信用代码", width: 190,
                        show: {type: 'text', ou: 1, placeholder: '社会信用统一代码'}},
                    {field: "companyId", name: "ID", width: 180},
                    {field: "companyName", name: "企业名称",
                        show: {type: 'text', ou: 1, placeholder: '企业名称'},
                        search: {type: 'text', obj: 'companyName', placeholder: '企业名称'}},
                    {field: "companyAddress", name: "企业地址",
                        show: {type: 'text', ou: 1, placeholder: '企业地址'}},
                    {field: "status", stype:'switch', name: "状态", formatter: 'status', width: 80, surl: '/', switchs: {key: 'companyId'},
                        show: {type: 'select', ou: 1, obj: 'status', placeholder: '状态'}},
                    {field: "useropts", stype:'opt', ispush: false, name: "操作", align: 'center', fixed: "right",
                        list:[
                            { type: 'add', size: 'small', icon: '', style: '', name: '新增'},
                            { type: 'edit', size: 'small', icon: '', style: '', name: '编辑'},
                            { type: 'del', size: 'small', icon: '', style: 'color: red', name: '删除'},
                            { type: 'exec', size: 'small', icon: '', name: '抽取'},
                        ]}
                ],
                select_list: {
                    status: [
                        {value: 0, label: '禁用'},
                        {value: 1, label: '启用'}
                    ],
                    companyList: {
                        url: '/',
                    }
                }
            }
        },
        created: function() {},
        methods: {
            onListEvent(){
                console.log(arguments)
            }
        }
    }

</script>
手机端图片显示线和柱状图
<template>
  <div class="template-main">
    <em-charts :webUIType="'f2'" :chartOptions="charts"></em-charts>
  </div>
</template>
<script>
export default {
  name: "collect",
  computed: {},
  data() {
    return {
      charts: {
        id: "charts",
        class: "",
        data: {
          status: 2,
          series: [
            {
              release: 0,
              year: "1951 年",
              sales: 38,
              type: 'a'
            },
            {
              release: 0,
              year: "1951 年",
              sales: 41,
              type: 'b'
            },
            {
              release: 1,
              year: "1952 年",
              sales: 52,
              type: 'a'
            },
            {
              release: 1,
              year: "1952 年",
              sales: 32,
              type: 'b'
            },
            {
              release: 2,
              year: "1956 年",
              sales: 61,
              type: 'a'
            },
            {
              release: 2,
              year: "1956 年",
              sales: 72,
              type: 'b'
            },
            {
              release: 3,
              year: "1957 年",
              sales: 145,
              type: 'a'
            },
            {
              release: 3,
              year: "1957 年",
              sales: 95,
              type: 'b'
            },
            {
              release: 4,
              year: "1958 年",
              sales: 48,
              type: 'a'
            },
            {
              release: 4,
              year: "1958 年",
              sales: 48,
              type: 'b'
            },
            {
              release: 5,
              year: "1959 年",
              sales: 38,
              type: 'a'
            },
            {
              release: 5,
              year: "1959 年",
              sales: 12,
              type: 'b'
            },
            {
              release: 6,
              year: "1960 年",
              sales: 38,
              type: 'a'
            },
            {
              release: 6,
              year: "1960 年",
              sales: 43,
              type: 'b'
            },
            {
              release: 7,
              year: "1962 年",
              sales: 38,
              type: 'a'
            },
            {
              release: 7,
              year: "1962 年",
              sales: 72,
              type: 'b'
            },
            {
              release: 8,
              year: "1963 年",
              sales: 38,
              type: 'a'
            },
            {
              release: 8,
              year: "1963 年",
              sales: 29,
              type: 'b'
            },
            {
              release: 9,
              year: "1964 年",
              sales: 39,
              type: 'a'
            },
            {
              release: 9,
              year: "1964 年",
              sales: 51,
              type: 'b'
            }
          ]//柱状图
          /*series: [
            {
              value: 63.4,
              city: "New York",
              release: 0,
              date: "2011-10-01"
            },
            {
              value: 62.7,
              city: "Alaska",
              release: 1,
              date: "2011-10-01"
            },
            {
              value: 72.2,
              city: "Austin",
              release: 2,
              date: "2011-10-01"
            },
            {
              value: 58,
              city: "New York",
              release: 3,
              date: "2011-10-02"
            },
            {
              value: 59.9,
              city: "Alaska",
              release: 4,
              date: "2011-10-02"
            },
            {
              value: 67.7,
              city: "Austin",
              release: 5,
              date: "2011-10-02"
            },
            {
              value: 53.3,
              city: "New York",
              release: 6,
              date: "2011-10-03"
            },
            {
              value: 59.1,
              city: "Alaska",
              release: 7,
              date: "2011-10-03"
            },
            {
              value: 69.4,
              city: "Austin",
              release: 8,
              date: "2011-10-03"
            },
            {
              value: 55.7,
              city: "New York",
              release: 9,
              date: "2011-10-04"
            },
            {
              value: 58.8,
              city: "Alaska",
              release: 10,
              date: "2011-10-04"
            },
            {
              value: 68,
              city: "Austin",
              release: 11,
              date: "2011-10-04"
            },
            {
              value: 64.2,
              city: "New York",
              release: 12,
              date: "2011-10-05"
            },
            {
              value: 58.7,
              city: "Alaska",
              release: 13,
              date: "2011-10-05"
            },
            {
              value: 72.4,
              city: "Austin",
              release: 14,
              date: "2011-10-05"
            },
            {
              value: 58.8,
              city: "New York",
              release: 15,
              date: "2011-10-06"
            },
            {
              value: 57,
              city: "Alaska",
              release: 16,
              date: "2011-10-06"
            },
            {
              value: 77,
              city: "Austin",
              release: 17,
              date: "2011-10-06"
            },
            {
              value: 57.9,
              city: "New York",
              release: 18,
              date: "2011-10-07"
            },
            {
              value: 56.7,
              city: "Alaska",
              release: 19,
              date: "2011-10-07"
            },
            {
              value: 82.3,
              city: "Austin",
              release: 20,
              date: "2011-10-07"
            },
            {
              value: 61.8,
              city: "New York",
              release: 21,
              date: "2011-10-08"
            },
            {
              value: 56.8,
              city: "Alaska",
              release: 22,
              date: "2011-10-08"
            },
            {
              value: 78.9,
              city: "Austin",
              release: 23,
              date: "2011-10-08"
            },
            {
              value: 69.3,
              city: "New York",
              release: 24,
              date: "2011-10-09"
            },
            {
              value: 56.7,
              city: "Alaska",
              release: 25,
              date: "2011-10-09"
            },
            {
              value: 68.8,
              city: "Austin",
              release: 26,
              date: "2011-10-09"
            },
            {
              value: 71.2,
              city: "New York",
              release: 27,
              date: "2011-10-10"
            },
            {
              value: 60.1,
              city: "Alaska",
              release: 28,
              date: "2011-10-10"
            },
            {
              value: 68.7,
              city: "Austin",
              release: 29,
              date: "2011-10-10"
            },
            {
              value: 68.7,
              city: "New York",
              release: 30,
              date: "2011-10-11"
            },
            {
              value: 61.1,
              city: "Alaska",
              release:31,
              date: "2011-10-11"
            },
            {
              value: 70.3,
              city: "Austin",
              release: 32,
              date: "2011-10-11"
            },
            {
              value: 61.8,
              city: "New York",
              release: 33,
              date: "2011-10-12"
            },
            {
              value: 61.5,
              city: "Alaska",
              release: 34,
              date: "2011-10-12"
            },
            {
              value: 75.3,
              city: "Austin",
              release: 35,
              date: "2011-10-12"
            },
            {
              value: 63,
              city: "New York",
              release: 36,
              date: "2011-10-13"
            },
            {
              value: 64.3,
              city: "Alaska",
              release: 37,
              date: "2011-10-13"
            },
            {
              value: 76.6,
              city: "Austin",
              release: 38,
              date: "2011-10-13"
            },
            {
              value: 66.9,
              city: "New York",
              release: 39,
              date: "2011-10-14"
            },
            {
              value: 67.1,
              city: "Alaska",
              release: 40,
              date: "2011-10-14"
            },
            {
              value: 66.6,
              city: "Austin",
              release: 41,
              date: "2011-10-14"
            },
            {
              value: 61.7,
              city: "New York",
              release: 42,
              date: "2011-10-15"
            },
            {
              value: 64.6,
              city: "Alaska",
              release: 43,
              date: "2011-10-15"
            },
            {
              value: 68,
              city: "Austin",
              release: 44,
              date: "2011-10-15"
            },
            {
              value: 61.8,
              city: "New York",
              release: 45,
              date: "2011-10-16"
            },
            {
              value: 61.6,
              city: "Alaska",
              release: 46,
              date: "2011-10-16"
            },
            {
              value: 70.6,
              city: "Austin",
              release: 47,
              date: "2011-10-16"
            },
            {
              value: 62.8,
              city: "New York",
              release: 48,
              date: "2011-10-17"
            },
            {
              value: 61.1,
              city: "Alaska",
              release: 49,
              date: "2011-10-17"
            },
            {
              value: 71.1,
              city: "Austin",
              release: 50,
              date: "2011-10-17"
            },
            {
              value: 60.8,
              city: "New York",
              release: 51,
              date: "2011-10-18"
            },
            {
              value: 59.2,
              city: "Alaska",
              release: 52,
              date: "2011-10-18"
            },
            {
              value: 70,
              city: "Austin",
              release: 53,
              date: "2011-10-18"
            },
            {
              value: 62.1,
              city: "New York",
              release: 54,
              date: "2011-10-19"
            },
            {
              value: 58.9,
              city: "Alaska",
              release: 55,
              date: "2011-10-19"
            },
            {
              value: 61.6,
              city: "Austin",
              release: 56,
              date: "2011-10-19"
            },
            {
              value: 65.1,
              city: "New York",
              release: 57,
              date: "2011-10-20"
            },
            {
              value: 57.2,
              city: "Alaska",
              release: 58,
              date: "2011-10-20"
            },
            {
              value: 57.4,
              city: "Austin",
              release: 59,
              date: "2011-10-20"
            },
            {
              value: 55.6,
              city: "New York",
              release: 60,
              date: "2011-10-21"
            },
            {
              value: 56.4,
              city: "Alaska",
              release: 61,
              date: "2011-10-21"
            },
            {
              value: 64.3,
              city: "Austin",
              release: 62,
              date: "2011-10-21"
            },
            {
              value: 54.4,
              city: "New York",
              release: 63,
              date: "2011-10-22"
            },
            {
              value: 60.7,
              city: "Alaska",
              release: 64,
              date: "2011-10-22"
            },
            {
              value: 72.4,
              city: "Austin",
              release: 65,
              date: "2011-10-22"
            },
            {
              value: 54.4,
              city: "New York",
              release: 66,
              date: "2011-10-23"
            },
            {
              value: 65.1,
              city: "Alaska",
              release: 67,
              date: "2011-10-23"
            },
            {
              value: 72.4,
              city: "Austin",
              release: 68,
              date: "2011-10-23"
            },
            {
              value: 54.8,
              city: "New York",
              release: 69,
              date: "2011-10-24"
            },
            {
              value: 60.9,
              city: "Alaska",
              release: 70,
              date: "2011-10-24"
            },
            {
              value: 72.5,
              city: "Austin",
              release: 71,
              date: "2011-10-24"
            },
            {
              value: 57.9,
              city: "New York",
              release: 72,
              date: "2011-10-25"
            },
            {
              value: 56.1,
              city: "Alaska",
              release: 73,
              date: "2011-10-25"
            },
            {
              value: 72.7,
              city: "Austin",
              release: 74,
              date: "2011-10-25"
            },
            {
              value: 54.6,
              city: "New York",
              release: 75,
              date: "2011-10-26"
            },
            {
              value: 54.6,
              city: "Alaska",
              release: 76,
              date: "2011-10-26"
            },
            {
              value: 73.4,
              city: "Austin",
              release: 77,
              date: "2011-10-26"
            },
            {
              value: 54.4,
              city: "New York",
              release: 78,
              date: "2011-10-27"
            },
            {
              value: 56.1,
              city: "Alaska",
              release: 79,
              date: "2011-10-27"
            },
            {
              value: 70.7,
              city: "Austin",
              release: 80,
              date: "2011-10-27"
            },
            {
              value: 42.5,
              city: "New York",
              release: 81,
              date: "2011-10-28"
            },
            {
              value: 58.1,
              city: "Alaska",
              release: 82,
              date: "2011-10-28"
            },
            {
              value: 56.8,
              city: "Austin",
              release: 83,
              date: "2011-10-28"
            },
            {
              value: 40.9,
              city: "New York",
              release: 84,
              date: "2011-10-29"
            },
            {
              value: 57.5,
              city: "Alaska",
              release: 85,
              date: "2011-10-29"
            },
            {
              value: 51,
              city: "Austin",
              release: 86,
              date: "2011-10-29"
            },
            {
              value: 38.6,
              city: "New York",
              release: 87,
              date: "2011-10-30"
            },
            {
              value: 57.7,
              city: "Alaska",
              release: 88,
              date: "2011-10-30"
            },
            {
              value: 54.9,
              city: "Austin",
              release: 89,
              date: "2011-10-30"
            },
            {
              value: 44.2,
              city: "New York",
              release: 90,
              date: "2011-10-31"
            },
            {
              value: 55.1,
              city: "Alaska",
              release: 91,
              date: "2011-10-31"
            },
            {
              value: 58.8,
              city: "Austin",
              release: 92,
              date: "2011-10-31"
            },
            {
              value: 49.6,
              city: "New York",
              release: 93,
              date: "2011-11-01"
            },
            {
              value: 57.9,
              city: "Alaska",
              release: 94,
              date: "2011-11-01"
            },
            {
              value: 62.6,
              city: "Austin",
              release: 95,
              date: "2011-11-01"
            },
            {
              value: 47.2,
              city: "New York",
              release: 96,
              date: "2011-11-02"
            },
            {
              value: 64.6,
              city: "Alaska",
              release: 97,
              date: "2011-11-02"
            },
            {
              value: 71,
              city: "Austin",
              release: 98,
              date: "2011-11-02"
            }
          ]*///线
        },
        title: {
          text: 'sksdkskd'
        },
        options: {
          x: "year",
          y: "sales",
          name: "type",
          type: "interval",
          size: 10,
          adjust: {
            type: 'dodge',
            marginRatio: -0.3
          },
          mode: 'more',
          scroll: true
        }//柱状图
        /*options: {
          x: "release",
          name: "city",
          y: "value",
          type: {
            line: true,
            point: false,
            area: true
          },
          scroll: true,
          size: 5,
          style: {
            type: "point",
            stroke: "#fff",
            lineWidth: 1
          },
          axis: {
              key: "release",
              mapping: 'date'
            }
        }*///线图
      }
    };
  }
};
</script>