mixins_JeecgListMixin.js - xinwu-yang/cube-vue GitHub Wiki

mixins/JeecgListMixin.js

通用表格页面mixin,通常用于一般表格页面。包含了新增弹窗、编辑弹窗、详情弹窗、请求列表、搜索、删除、多选、批量删除、翻页、导入、导出、预览、文件下载等方法。

引入后,在页面的data项中新增url配置

/**
 * 新增修改完成调用 modalFormOk 方法 编辑弹框组件ref须定义为modalForm
 * 高级查询按钮调用 superQuery 方法  高级查询组件ref须定义为superQueryModal
 * data中url定义 list为查询列表  delete为删除单条记录  deleteBatch为批量删除
 */
data() {
  return {
    url: {
      list: '', // 列表请求地址
      delete: '', // 删除请求地址
      deleteBatch: '', // 批量删除请求地址
      exportXlsUrl: '', // 导出excel请求地址
    },
    disableMixinCreated: false // 禁用mixin中的created钩子函数
  }
}

mixin部分

data() {
  return {
    // token header
    tokenHeader: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
    // 查询条件-请不要在queryParam中声明非字符串值的属性
    queryParam: {},
    // 数据源列表
    dataSource: [],
    // 分页参数
    ipagination: {
      current: 1,
      pageSize: 10,
      pageSizeOptions: ['10', '20', '30'],
      showTotal: (total, range) => {
        return range[0] + '-' + range[1] + ' 共' + total + '条'
      },
      showQuickJumper: true,
      showSizeChanger: true,
      total: 0
    },
    // 排序参数
    isorter: {
      column: 'createTime',
      order: 'desc'
    },
    // 筛选参数
    filters: {},
    // table加载状态
    loading: false,
    // table选中keys
    selectedRowKeys: [],
    // table选中records
    selectionRows: [],
    // 搜索条件折叠
    toggleSearchStatus: false,
    // 高级查询条件生效状态
    superQueryFlag: false,
    // 高级查询条件
    superQueryParams: '',
    // 高级查询拼接方式
    superQueryMatchType: 'and'
  }
}
created() {
  if (!this.disableMixinCreated) {
    this.loadData()
    // 初始化字典配置 在自己页面定义
    this.initDictConfig()
  }
}
methods: {
  // 根据 url.list 加载数据
  loadData(arg)
  // 高级查询
  handleSuperQuery(params, matchType)
  // 获取查询条件
  getQueryParams()
  // 选择表格行
  onSelectChange(selectedRowKeys, selectionRows)
  // 清空选中行
  onClearSelected()
  // 搜索
  searchQuery()
  // 显示高级查询
  superQuery()
  // 重置查询参数
  searchReset()
  // 批量删除
  batchDel()
  // 删除
  handleDelete()
  // 点击编辑,显示编辑弹窗
  handleEdit(record)
  // 点击新增,显示新增弹窗
  handleAdd()
  // 分页
  handleTableChange(pagination, filters, sorter)
  // 展开|收起更多搜索项
  handleToggleSearch()
  // 新增/修改 成功时,重载列表
  modalFormOk()
  // 详情
  handleDetail(record)
  // 导出2
  handleExportXls2()
  // 导出
  handleExportXls(fileName)
  // 导入
  handleImportExcel(info)
  // 图片预览
  getImgView(text)
  // 文件下载
  downloadFile(text)
}