1.0.9 • Published 1 year ago

@achance/element-ui-advance v1.0.9

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

饿了么组件的二次开发

安装

npm i @achance/element-ui-advance

引入

import '@achance/element-ui-advance'

表单

<template>
  <div class='formPage'>
    <ac-form :form-config="form" v-model="hehe" ref="form-preview">
      你也可以自己写一点东西放在下面
    </ac-form>

  </div>
</template>
<script>
export default {
  name: 'formPage',
  data() {
    return {
      form: {
        'inline': false,
        'labelPosition': 'right',
        'labelWidth': '120px',
        'size': 'small',
        'statusIcon': true,
        'formItemList': [
          {
            'type': 'input',
            'label': '商品名称',
            'disabled': false,
            'readonly': false,
            'value': '',
            'placeholder': '请输入',
            'rules': [
              {
                'required': true,
                'message': '不能为空',
                'trigger': 'blur'
              },
              {
                'min': 1,
                'max': 8,
                'type': 'string',
                'message': '长度在1~8个字符',
                'trigger': 'blur'
              },
              {
                'pattern': '^[\\w\\u4e00-\\u9fa5-_]+$',
                'message': '正则验证失败:^[\\w\\u4e00-\\u9fa5-_]+$',
                'trigger': 'blur'
              },
              {
                'sql': 'SELECT {key} FROM balabala',
                'message': 'SQL验证失败',
                'trigger': 'blur'
              }
            ],
            'key': 'name',
            'subtype': 'text'
          },
          {
            'type': 'number',
            'label': '价格',
            'value': 16,
            'decimal1': 2,
            'min': 0,
            'max': 99998,
            'prepend': '¥',
            'append': '元',
            'key': 'price'
          },
          {
            'type': 'select',
            'label': '小菜',
            'value': '1',
            'disabled': false,
            'multiple': false,
            'placeholder': '请选择',
            'rules': [],
            'key': 'dish',
            'options': [
              {
                'value': '1',
                'label': '海带',
                'disabled': false
              },
              {
                'value': '2',
                'label': '萝卜',
                'disabled': false
              },
              {
                'value': '3',
                'label': '咸菜',
                'disabled': false
              }
            ]
          },
          {
            'type': 'switch',
            'label': '是否配送',
            'appearance': 'switch',
            'value': true,
            'key': 'delivery'
          },
          {
            'type': 'radio',
            'label': '是否需要打包盒',
            'value': '1',
            'button': false,
            'border': true,
            'rules': [
              {
                'required': true,
                'message': '请选择一项',
                'trigger': 'blur'
              }
            ],
            'key': 'box',
            'options': [
              {
                'value': '1',
                'label': '无',
                'disabled': false
              },
              {
                'value': '2',
                'label': '有',
                'disabled': false
              }
            ]
          },
          {
            'type': 'input',
            'label': '备注',
            'value': '',
            'key': 'remark',
            'subtype': 'textarea'
          },
          {
            'type': 'date',
            'value': [
              '2023-03-01',
              '2023-03-03'
            ],
            'disabled': false,
            'rules': [
              {
                'required': 'true',
                'message': '此项为必填项'
              }
            ],
            'placeholder': '请选择',
            'key': 'date',
            'subtype': 'daterange',
            'label': '配送日期',
            'valueFormat': 'yyyy-MM-dd'
          }
        ]
      },
      hehe: {
        name: '香辣鸡腿堡',
        price: 22,
        dish: '1',
        delivery: true,
        box: 1,
        remark: '微辣',
        date: ['2023-03-01', '2023-03-03']
      }
    }
  },
  methods: {},
  mounted() { }
}
</script>
<style lang='less' scoped>
.formPage {
}
</style>

表格

<template>
  <div class='HelloWorld'>
    <ac-table :headList="headList" :tableData="tableData" :PageIndex="PageIndex" :PageSize="PageSize" :total="total"
      class="table" @rowClick="rowClick" @handleCurrentChange="handleCurrentChange"
      @handleSizeChange="handleSizeChange">
      <!-- 操作插槽 -->
      <template #operation="{row}">
        <el-button @click="handleClick(row)" type="text" size="small">查看</el-button>
        <el-button type="text" size="small">编辑</el-button>
      </template>
      <!-- 其它插槽,slot为true的列 -->
      <template #address="{row}">
        <div style="color:skyblue;">{{ row.address }}</div>
      </template>
    </ac-table>
  </div>
</template>
<script>

export default {
  name: 'HelloWorld',
  data() {
    return {
      headList: [
        {
          prop: 'date',
          label: '日期',
          formatDate: true
        },
        {
          prop: 'name',
          label: '姓名'
        },
        {
          prop: 'address',
          label: '地址',
          slot: true // 自定义列
        },
        // 不想要操作栏可以注释掉这一行
        { prop: 'operation', label: '操作', width: '250', slot: true, fixed: 'right' }
      ],
      tableData: [
        { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },
        { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' },
        { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' },
        { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄' }
      ],
      PageIndex: 1,
      PageSize: 10,
      total: 4
    }
  },
  methods: {
    rowClick() { },
    handleSizeChange(val) {
      this.PageSize = val
      this.PageIndex = 1
      this.getData()
    },
    handleCurrentChange(val) {
      this.PageIndex = val
      this.getData()
    },
    handleClick() { }
  },
  mounted() { }
}
</script>
<style lang='less' scoped>
.HelloWorld {
}
</style>
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.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago