企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
```javascript /** * 自定义模块功能封装 * * @author liang <23426945@qq.com> * @version 1.0.0 * @datetime 2020-07-28 * * 添加、编辑、单个删除、批量删除、表格搜索、修改字段 * 请求接口、批量操作数据 */ layui.define(['table', 'admin', 'view', 'form'], function(exports){ var table = layui.table ,admin = layui.admin ,form = layui.form ,$ = layui.$ ,view = layui.view // 调试模式 let debug = true var obj = new Object(); // 添加和编辑 obj.addEdit = (opt, param, editData = {}) => { let init = { title: '添加' ,area: ['500px', '450px'] ,id: 'LAY-popup-user-add' } // package.addEdit({ // title: '添加出勤', // area: ['500px', '400px'], // }, { // url: '/index/attendance/add', // tableId: 'attendance', // viewPath: 'worker/attendance/form', // formFilter: 'layuiadmin-form-useradmin', // }, data); let url = param.url let tableId = param.tableId let viewPath = param.viewPath let formFilter = param.formFilter init.success = function (layero, index) { view(this.id).render(viewPath, editData).done(function(){ form.render(null, formFilter); let submitFilter = $('[lay-filter="' + formFilter + '"] [lay-submit]').attr('lay-filter') // 监听提交 form.on('submit(' + submitFilter + ')', function(data){ //获取提交的字段 var field = data.field; // 如果是编辑操作,将id传入 if (editData.id != undefined) { field.id = editData.id } // 前台用户表单 if (formFilter == 'layuiadmin-form-member') { field.avatar = $('#avatar-hidden').val() } // 调试模式 if (debug === true) { console.log(field) } admin.req({ url: url ,type: 'post' ,data: field ,done: res => { console.log(res) layer.msg(res.msg) if (res.status == 200) { layui.table.reload(tableId); //重载表格 layer.close(index); //执行关闭 } } }) }); }); } admin.popup(Object.assign(init, opt)) } // 批量删除 obj.batchdel = (opt, param) => { // package.batchdel({ // title: '批量删除' // },{ // msg: '确定删除吗?', // url: '/index/attendance/del', // tableId: 'attendance', // }) let msg = param.msg let url = param.url let tableId = param.tableId let init = { title: '批量删除' } var checkStatus = table.checkStatus(tableId) ,checkData = checkStatus.data; //得到选中的数据 if(checkData.length === 0){ return layer.msg('请选择数据'); } var ids = []; for (var v of checkData) ids.push(v.id); let requsest = {ids: ids} layer.confirm(msg, Object.assign(init, opt), function(index) { admin.req({ url: url, type: 'post', data: requsest, done: res => { if (debug === true) { console.log(res) } layer.msg(res.msg, { time: 1500, }); if (res.status == 200) { table.reload(tableId); } } }); layer.close(index) }); } // 批量操作数据 // opt, param, data 补充的数据 obj.batch = (opt, param, data = {}) => { // package.batch({ // title: '批量通过' // }, { // msg: '确定批量通过吗?', // url: '/shop.merch/adoptReject', // tableId: 'merch-apply', // }, { // status: 2 // }) let msg = param.msg let url = param.url let tableId = param.tableId let init = { title: '批量操作' } var checkStatus = table.checkStatus(tableId) ,checkData = checkStatus.data; //得到选中的数据 if(checkData.length === 0){ return layer.msg('请选择数据'); } var ids = []; for (var v of checkData) ids.push(v.id); let requsest = Object.assign({ids: ids}, data) if (debug === true) { console.log(requsest) } layer.confirm(msg, Object.assign(init, opt), function(index) { admin.req({ url: url, type: 'post', data: requsest, done: res => { if (debug === true) { console.log(res) } layer.msg(res.msg, { time: 1500, }); if (res.status == 200) { table.reload(tableId); } } }); layer.close(index) }); } // 单个删除 obj.del = (opt, param, data) => { // package.del({ // title: '删除' // },{ // msg: '确定删除吗?', // url: '/index/attendance/del', // tableId: 'attendance', // }, data) let msg = param.msg let url = param.url let tableId = param.tableId let init = { title: '批量删除' } layer.confirm(msg, Object.assign(init, opt), function(index){ admin.req({ url: url, type: 'get', data: {id: data.id}, success: res => { if (debug === true) { console.log(res) } layer.msg(res.msg) if (res.status == 200) { table.reload(tableId) } } }) layer.close(index); }); } // 数据表格搜索 obj.search = (param) => { // package.search({ // // 数据表格容器ID // tableId: 'attendance', // // 表单容器的 lay-filter // formFilter: 'layadmin-userfront-formlist', // // 提交按钮的 lay-filter // submitFilter: 'LAY-user-front-search', // }); let tableId = param.tableId let formFilter = param.formFilter let submitFilter = param.submitFilter form.render(null, formFilter); //监听搜索 form.on('submit(' + submitFilter + ')', function(data){ var field = data.field; if (debug === true) { console.log(field) } //执行重载 table.reload(tableId, { where: field ,page: { curr: 1 } ,text: { none: '没有查询到数据' } }); }); } // 数据表格搜索 v2 // 自动匹配搜索表单提交按钮事件过滤器的值 obj.searchTable = (param) => { // package.searchTable({ // // 数据表格容器ID // tableId: 'order-close', // // 搜索表单容器事件过滤器 // layfilter: 'search-form', // }); let submitFilter = $('[lay-filter="' + param.layfilter + '"] [lay-submit]').attr('lay-filter') // 更新渲染 form.render(null, param.layfilter); //监听搜索 form.on('submit(' + submitFilter + ')', function(data){ // 搜索表单字段 var field = data.field; // 调试模式输出表单数据 if (debug === true) console.log(field); // 表单重载,从第一页开始 table.reload(param.tableId, { where: field ,page: { curr: 1 } ,text: { none: '没有查询到数据' } }); }); } // 修改某个字段 直接执行修改 obj.switch = (param) => { // package.switch({ // url: '/admin/switchStatus', // data: { // id: data.id, // status: data.status, // }, // tableId: 'admin', // }) let url = param.url; let data = param.data; let tableId = param.tableId; admin.req({ url: url, type: 'post', data: data, done: res => { if (debug === true) console.log(res); layer.msg(res.msg, { time: 1000, }) if (res.status == 200) { table.reload(tableId) } } }) } // 修改某个字段 先询问再修改 obj.switchMsg = (param) => { // package.switchMsg({ // url: '/admin/switchStatus', // tableId: 'admin', // data: { // id: data.id, // status: data.status, // }, // msg: '确定要下架吗?', // ConfirmOpt: { // title: '下架商品' // }, // successMsgOpt: { // time: 1200, // } // }) layer.confirm(param.msg, param.ConfirmOpt, function(index){ admin.req({ url: param.url, type: 'post', data: param.data, done: res => { if (debug === true) console.log(res); layer.msg(res.msg, param.successMsgOpt) if (res.status == 200) { table.reload(param.tableId) } } }) layer.close(index); }); } // 发送添加和编辑请求 obj.addEditReq = (param) => { // package.addEditReq({ // // 提交按钮事件过滤器 // submitFilter: 'form-submit' // // 添加数据的接口 // ,url: '/shop.merch/add' // // 可选项,请求类型,默认post // ,type: 'post' // // 可选项,hash路径值(添加成功时跳转的路径),默认返回上一页 // ,hash: '/merch' // }) // 监听提交 form.on('submit(' + param.submitFilter + ')', function(data){ //获取提交的字段 var field = data.field; if (debug === true) { console.log(field) } admin.req({ url: param.url ,type: param.type ? param.type : 'post' ,data: field ,done: res => { if (debug === true) { console.log(res) } if (res.status == 200) { layer.msg(res.msg, { time: 1000 },()=>{ param.hash ? location.hash = param.hash : history.go(-1) }) } else { layer.msg(res.msg) } } }) return false }); } exports('package', obj); }); ```