layui数据表格的接口规范

175 阅读2分钟

后端接口返回的格式如下图所示: api.jpg

前端请求传递的参数:

请求的规范.jpg

前端数据表格渲染

 let tableIns = table.render({
    elem: '#dataTable',
    height: 500,
    url: containercode_url2 + "/customer/list",
    parseData: function (res) { //res 即为原始返回的数据
      return {
        "code": res.errorCode, //解析接口状态
        "msg": res.message, //解析提示文本
        "count": res.data.total, //解析数据长度
        "data": res.data.list //解析数据列表
      };
    },
    response: {
      statusCode: 200 //成功的状态码,默认:0
      ,
    },
    where: {
      // userId: 'uidadmin',
      userToken: localStorage.getItem('userToken')

    },
    // headers: { accessKey: localStorage.getItem('userToken') },
    // contentType: 'application/json',
    cols: [
      [{
        field: 'index',
        title: '序号',
        align: 'center'
      }, {
        field: 'userName',
        title: '用户名',
        align: 'center',
      }, {
        field: 'companyTelephone',
        title: '手机号',
        align: 'center',
      }, {
        field: 'companyName',
        title: '企业名称',
        align: 'center',
      },
      // {
      //   field: 'companyIdentifer',
      //   title: '企业标识',
      //   align: 'center',
      // },
      {
        field: 'companyType',
        title: '企业类型',
        align: 'center',
        // templet: function (d) {
        //   switch (d.companyNature) {
        //     case '1':
        //       return '国有控股';
        //     case '2':
        //       return '民营控股';
        //     case '3':
        //       return '外商控股';
        //     case '4':
        //       return '事业单位';
        //     case '5':
        //       return '民营非盈利组织';
        //     default:
        //       return "";
        //   }
        // }
      }, {
        field: 'addTime',
        title: '所属行业',
        align: 'center',
      }, {
        field: 'creditState',
        title: '入网申请',
        align: 'center',
        templet: function (d) {
          // console.log('d', d);
          switch (d.creditState) {
            case 0:
              return '未入网申请';
            case 1:
              return '等待审核';
            case 2:
              return '审核不通过等待修改';
            case 3:
              return '认证通过';
            default:
              return "";
          }
        }
      }, {
        field: 'applicationTime',
        title: '申请时间',
        align: 'center',
      }, {
        field: 'userStatus',
        title: '当前状态',
        align: 'center',
        templet: function (d) {
          if (d.userStatus == 'USERSTATUS_MORMAL') {
            return '正常使用'
          } else if (d.userStatus == 'USERSTATUS_LOCK') {
            return '锁定/禁用'
          } else if (d.userStatus == 'USERSTATUS_FROZEN') {
            return '冻结'
          } else if (d.userStatus == 'USERSTATUS_ABOLISH') {
            return '注销'
          } else {
            return "";
          }
        },
      }, {
        title: '操作',
        align: 'center',
        templet: function (d) {
          if (d.creditState == '0') {
            return '<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a>' +
              '<a class="layui-btn layui-btn-danger layui-btn-xs layui-btn-disabled" disabled>未入网申请</a>' +
              '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>' +
              '<a id="statusBtn" class="layui-btn layui-btn-warm layui-btn-xs" lay-event="changeStatus">禁用</a>';
          } else if (d.creditState == '1') {
            return '<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a>' +
              '<a class="layui-btn  layui-btn-normal layui-btn-xs" lay-event="examine">等待审核</a>' +
              '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>' +
              '<a id="statusBtn" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="changeStatus">启用</a>';
          } else if (d.creditState == '2') {
            return '<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a>' +
              '<a class="layui-btn layui-btn-danger layui-btn-xs layui-disabled" disabled>审核不通过等待修改</a>' +
              '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>' +
              '<a id="statusBtn" class="layui-btn layui-btn-xs layui-btn-disabled" lay-event="changeStatus">禁用</a>';
          } else if (d.creditState == '3') {
            return '<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a>' +
              '<a class="layui-btn layui-btn-disabled layui-btn-xs" disabled>认证通过</a>' +
              '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>' +
              '<a id="statusBtn" class="layui-btn layui-btn-xs layui-btn-disabled" lay-event="changeStatus">禁用</a>';
          }

        }
      }]
    ],
    method: 'get' //如果无需自定义HTTP类型,可不加该参数
    ,
    request: { //如果无需自定义请求参数,可不加该参数
      pageName: 'pageIndex', //页码的参数名称,默认:page
      limitName: 'pageSize', //每页数据量的参数名,默认:limit
    },

    page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
      groups: 3 //只显示 1 个连续页码
      ,
      first: '首页' //首页
      ,
      last: '尾页' //尾页
      ,
      limits: [5, 10, 15, 20, 30, 50] //返回条数
      ,
      limit: 10
    },
    loading: true //点击分页时跳转的进度条
    ,
    text: {
      none: '无数据'
    },
    done: function (res, curr, count) {
      console.log('表格数据', res);
      if (res.success == false && res.message.indexOf("Session") != "-1") {
        layer.confirm('Session已失效,请重新登录!', {
          title: '登录',
          shade: [1.0, '#fff'],
          skin: 'layui-layer-lan',
          btn: ['去登陆'] //按钮
        }, function () {
          if ($.parseJSON(localStorage.getItem('userInfo')).userType.indexOf("ADMIN") != "-1") {
            //跳转回管理员登录页
            parent.location.href = "../login.html";
          } else {
            //跳转回用户登录页
            parent.location.href = "../login.html";
          }
        }, function () { });
      }
    }
  });