layui 审核按钮 及 代码实现

今天要写的是layui表单审核及代码实现
我对layui 真是又爱又恨 学不完的layui
首先明确自己的功能需求,我的后台管理主要是把审核修改状态,根据这个需求只需要些一个 修改状态的代码。
其余的就是layui实现功能了。

  1. html
    我的html 里面写的script 因为在js里写了自定义
<script type="text/html" id="statusTpl">
    {{d.statusStr}}
    {{# if(d.status == '0') { }}
    <button type="button" class="layui-btn layui-btn-xs" lay-event="audit">审核</button>
    {{# } }}
</script>

2.js

 // 先在表格列这里自定义一下
 {field: 'statusStr',  title: '内容状态',templet: '#statusTpl',minWidth: 170}/**
接下来就是功能实现
*/

 // 工具条点击事件
    table.on('tool(' + CommunityMomentsContent.tableId + ')', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;
       if (layEvent === 'audit') {
            CommunityMomentsContent.jumpAuditPage(data);
        }
    });
    /**
     * 内容审核
     */
    CommunityMomentsContent.jumpAuditPage = function (auditData) {

        var data = {};
        data.id = auditData.id;

        layer.open({
            title: '内容审核',
            type: 1,
            skin: 'layui-layer-admin',
            btn: ['拒绝', '同意'],
            btn2: function (index, layero) {
                data.status = '1';
                audit(data, index);
            },
            btn1: function (index, layero) {
                data.status = '-3';
                audit(data, index);
            },
            end: function () {
                //回调刷新
                window.location.href = Feng.ctxPath + '/communityMomentsContent';
            }
        });
    }
    /**
     * 发起审核请求
     * @param data
     */
    function audit(data, index) {
        var ajax = new $ax(Feng.ctxPath + "/communityMomentsContent/updateStatus", function (data) {
            Feng.success("审核成功!");
            admin.putTempData('formOk', true);
            //关掉对话框
            layer.close(index)
        }, function (data) {
            Feng.error("审核失败!" + data.responseJSON.message)
        });
        ajax.set(data);
        ajax.start();

        return false;
    }

关于上面的 审核 需要根据自己的 类型值去设置 不会再问我
3. 上代码

 /**
     * 内容审核
     *
     */
    @RequestMapping("/updateStatus")
    @ResponseBody
//    @Permission
    public ResponseData updateStatus(CommunityMomentsContentParam communityMomentsContentParam) {
        this.communityMomentsContentService.updateStatus(communityMomentsContentParam.getId(),communityMomentsContentParam.getStatus());
        return ResponseData.success();
    }
//service
@Override
    public void updateStatus(Long id, String newStatus) {
        if (newStatus.equals(CommunityMomentsContentStatusEnum.NORMAL.getValue())|| newStatus.equals(CommunityMomentsContentStatusEnum.CLOSE.getValue())){
            this.baseMapper.updateStatusById(newStatus,id);
        }
    }
   //mapper 
    <select id="updateStatusById" >
        update mt_community_moments_content content set content.status=#{newStatus} where content.id = #{id}
    </select>

这样就可以了 因为这个 newStatus 是点击的时候传的值 所以就直接 用参数接接收一下就可以了。

我在写这个的时候 真的是烦死了 因为我不知道没有实体类里没有这个字段 是怎么直接用newStatus接收的呢

关于参数 类型 传值 接收值 我是真的晕 。

不过根据这个实例 我知道了一件事 只有有接收值或者传值的参数 可以直接在table 表格去展示 没有字段名字的对应接收参数 mapper有这个相关的多表查询就可以,传参的话 也要在mapper 写清楚
大概就是这样
多去实验 不要被我误导 就可以了。 告辞。


版权声明:本文为FairyHe原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。