1.1.4 • Published 1 year ago

zjyg-ui v1.1.4

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

zjyg ui

# 安装依赖
npm install zjyg-ui

# 引入依赖 main.js
import zjygUi from 'zjyg-ui'
import 'zjyg-ui/zjyg-ui.css'

# 使用
<zjyg-query-form/>
<zjyg-data-table/>
<zjyg-crud/>

筛选、表格

筛选 zjyg-query-form

包含输入、下拉、时间联动表单

::: demo 在 zjyg-query-form 可以配置 input、select、date、date-link

<template>
    <zjyg-query-form :forms="forms" @query="handleQuery" @finish="finish"/>
</template>
<script>
  export default {
    data() {
      return {
      }
    },
    computed:{
        forms(){
            return [
                {
                    label:'测试名称',
                    prop:'testName',
                    type:'input'
                },
                {
                    label:'测试下拉',
                    prop:'testSelect',
                    type:'select',
                    config:{
                        oprions:[{
                            label:'test',
                            value:'1'
                        }]
                    }
                }

            ]
        }
    },
    methods:{
        finish(form){
          console.log(form)
        },
        //搜索、重置
        handleQuery(form){
            console.log(form)
        }
    }
  }
</script>

zjyg-query-form

Attributes

参数说明类型是否必传默认值
forms表头参数array

forms 参数说明

参数说明类型是否必传默认值
label名称stringtitle
prop键值string
type表单类型{string,'input,select,multiple,checkbox,radio,date,date-link'}
config{options:'下拉框的数据 { label,value }',表单类型:'select,multiple,checkbox,radio 必填' }array-

event

参数说明参数
finish表单渲染完成回调form
query搜索和重置回调form
change单一表单更改触发form

:::

表格 zjyg-data-table

配置表头和对应字段的数据

::: demo 当 data-table 元素中注入 heads 对象数组后,用prop 键名,label属性来定义表格的列名。datas 对象数组中 key 对应headsprop 键名即可填入数据

<template>
    <zjyg-data-table :heads="heads" :datas="list" @edit="edit"/>
</template>
<script>
  export default {
    data() {
      return {
        heads:[
            {
                label:'测试1',
                prop:'test1'
            },
            {
                label:'测试2',
                prop:'test2',
                dataType:'event',
                config:{
                    type:'text',
                    event:'edit',
                    style:{
                        color:'#999'
                    }
                }
            },
            {
                label:'测试3',
                prop:'test3'
            },
            {
                label:'测试4',
                prop:'test4'
            },
            {
                label:'测试5',
                prop:'test5'
            }
        ],
        list:[
            {test1:'111111',test2:'2222222222',test3:'3333333',test4:'444444444',test5:'5555555'}
        ]
      }
    },
    methods:{
        //event
        edit(row){
            console.log(row)
        }
    }
  }
</script>

zjyg-data-table

Attributes

参数说明类型是否必传默认值
heads表头参数array
datas显示的数据array

heads 参数说明

参数说明类型是否必传默认值
label名称stringtitle
prop键值string
width宽度number/string
dataType数据展示类型string / event / slotstring
slotName插槽名称stringdataType=slot-
isPagination是否展示分页booleantrue
config{event:'dataType是event 配置的事件名称',type:'展示的类型(按钮/文本)',style:'样式'}object/array

event

参数说明参数
eventconfig里面event配置的回掉事件row

slot

name说明
保持和参数slotName一致自定义表格插槽,参数为 {row}

:::

组合 zjyg-crud 结合筛选、表格、分页

默认使用

::: demo 在 zjyg-crud 中 query-bind 和 table-bind 对象配置组件

<template>
    <zjyg-crud 
      getListName="getData"
      :query-bind="queryBind" 
      :table-bind="tableBind" 
      :total="total" 
    />
</template>
<script>
export default {
  props: {
    msg: String
  },
  data(){
    return {
        //form 
        form:null,
         total:0,
        //表头
        heads:[
          {
            label:'名字',
            prop:'name'
          }
          {
            label:'年龄',
            prop:'age'
          }
          {
            label:'性别',
            prop:'sex'
          }
        ],
        //表格数据
        list:[]
    }
  },
  created(){
  },
  computed:{
    forms(){
      return [
        {
            label: "MB/L No.",
            prop: "mainOrderNo",
            type: "input"
          },
          {
            label: "select",
            prop: "sale",
            type: "select",
            config:{
              options:[
                {
                    label:'aaa',
                    value:'aaaa'
                },
                {
                    label:'bbbb',
                    value:'bbbb'
                }
                ]
            }
          },
      ]
    },
    //筛选 bind
    queryBind(){
      return {
        forms:this.forms
      }
    },
    //表格 bind
    tableBind(){
      return {
        heads:this.heads,
        datas:this.list
      }
    }
  },
  methods:{
    getData(form,page){
      setTimeout(() => {
        const param=this.form
        ajaxFun({...form},{...page}).then(res=>{
            res={total:10,rows:[{name:'aaa',age:12,sex:'男'}]}
            this.list=res.rows
            this.total=res.total
        })
      }, 1000);
    }
  }
}
</script>

自定义筛选和分页

::: demo 在 zjyg-crud 中 query-bind 和 table-bind 对象配置组件

<template>
    <zjyg-crud 
      :query-bind="queryBind" 
      :table-bind="tableBind" 
      :pagination="page" 
      :total="total" 
      @query="handleQuery" 
      @current-change="currentChange" 
      @size-change="sizeChange"/>
</template>
<script>
export default {
  props: {
    msg: String
  },
  data(){
    return {
        //form 
        form:null,
        //分页
       page:{
            pageSize:20,
            pageNum:1,
           
        },
         total:0,
        //表头
      heads:[
        {
          label:'名字',
          prop:'name'
        }
        {
          label:'年龄',
          prop:'age'
        }
        {
          label:'性别',
          prop:'sex'
        }
      ],
      //表格数据
      list:[]
    }
  },
  created(){
    this.getData()
  },
  computed:{
    forms(){
      return [
        {
            label: "MB/L No.",
            prop: "mainOrderNo",
            type: "input"
          },
          {
            label: "select",
            prop: "sale",
            type: "select",
            config:{
              options:[
                {
                    label:'aaa',
                    value:'aaaa'
                },
                {
                    label:'bbbb',
                    value:'bbbb'
                }
                ]
            }
          },
      ]
    },
    //筛选 bind
    queryBind(){
      return {
        forms:this.forms
      }
    },
    //表格 bind
    tableBind(){
      return {
        heads:this.heads,
        datas:this.list
      }
    }
  },
  methods:{
    getData(){
      setTimeout(() => {
        const param=this.form
        ajaxFun(param,{pageSize:this.page.pageSize,pageNum:this.page.pageNum}).then(res=>{
            res={total:10,rows:[{name:'aaa',age:12,sex:'男'}]}
            this.list=res.rows
            this.total=res.total
        })
      }, 1000);
    },
    //搜索重置
    handleQuery(form){
        this.form=form
        this.page.pageNum=1
        getData()
    },
    //分页
    currentChange(p){
        this.page.pageNum=p
        this.getData()
    },
    sizeChange(s){
        this.page.pageSize=s
        this.getData()
    }
  }
}
</script>

zjyg-data-table

Attributes

参数说明类型是否必传默认值
queryBind筛选表单object
tableBind表格object
getListName获取列表数据方法名称string-

queryBind 参数说明

说明
参考zjyg-data-table参数说明

tabkeBind 参数说明

说明
参考zjyg-query-form参数说明

event

参数说明
event参考 zjyg-data-table 和 zjyg-query-form 事件

slot

name说明
保持和参数slotName一致自定义表格插槽,参数为 {row}

:::

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

0.1.0

1 year ago