今天要写的是layui表单审核及代码实现
我对layui 真是又爱又恨 学不完的layui
首先明确自己的功能需求,我的后台管理主要是把审核修改状态,根据这个需求只需要些一个 修改状态的代码。
其余的就是layui实现功能了。
- 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版权协议,转载请附上原文出处链接和本声明。