layui.config({ base: '../../js/ext/', // 第三方模块所在目录 version: 'v1.6.4' // 插件版本号 }).extend({ soulTable: 'soulTable.slim' }); var layer; var element; var form; var table; var soulTable; var allData; var resourceSetId = localStorage.getItem("subResourceSetId"); layui.use(['element', 'layer','form','table','soulTable'], function(){ layer = layui.layer; element = layui.element; form = layui.form; table = layui.table; soulTable = layui.soulTable; addSubTableMessage(); $("#addTable").click(function () { var newData = table.cache.myTable; //获取当前表格的数据 var indexNum = newData.length + 1; var newRow = {id:"",dictKey: "",dictSort:"",dickVal: "",description:"",parentId:"",isParent:"",isNewAdd:"1",LAY_NUM:indexNum}; //新增行的数据 newData.splice(indexNum, 0, newRow); //将新增行数据插入到当前行的后面 table.reload('myTable', { data: newData //重新加载表格数据 }); }); }); function addSubTableMessage() { $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: czl_ht_url + "/selectUtil/getDataDictByDickVal",// 请求地址 dataType: 'json', // 服务器返回数据类型 data: {"dictKey": "sub_type"}, //获取提交的表单字段 success: function (data) { let objData= data; allData = data; console.log("objData="+objData); if (objData.length > 0) { table.render({ elem: '#myTable' // ,toolbar: '#myBar' ,rowDrag: {done: function(obj) { // 完成时(松开时)触发 // 如果拖动前和拖动后无变化,则不会触发此方法 // console.log(obj.row) // 当前行数据 // console.log(obj.cache) // 改动后全表数据 console.log("原来的数据索引="+obj.oldIndex) // 原来的数据索引 console.log(" 改动后数据索引"+obj.newIndex) // 改动后数据索引 var row_id = obj.row.id // 当前id var row_sort = obj.newIndex+1 // 拖动后的排序 console.log(row_id) console.log(row_sort) }} ,totalRow: true ,cols: [[ {field: 'dictKey', title: '类型',edit:'text', align:'center'}, {fixed: 'right', title:'操作', align:'center',toolbar: '#toolsBar'} ]] , data: objData ,done: function () { soulTable.render(this) } }); //监听工具条 table.on('edit(test)', function (obj) { }); form.on('submit(formDemo)', function (data) { var tableData = table.cache.myTable; // console.log(JSON.stringify(tableData)); var tf = false; tableData.forEach(item => { let id = item.id; let dictKey = item.dictKey; let isNewAdd = item.isNewAdd; if(dictKey ==""){ tf = true; } }); if(tf){ layer.msg("请填写完整分类类型!", {icon: 2}); return; } $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: czl_ht_url + "/teamSet/saveDataDict",// 请求地址 dataType: 'json', // 服务器返回数据类型 data: {stringKey:JSON.stringify(tableData),resourceSetId:resourceSetId,dataDictType:"sub_type"}, //获取提交的表单字段 success: function (data) { var status = data.resMsg; if("保存成功"==status){ layer.msg("保存成功", {icon: 1}); }else{ // layer.msg("数据添加失败!", {icon: 2}); layer.msg("保存失败", {icon: 2}); } } }); }); //监听工具条 table.on('tool(myTable)', function (obj) { var data = obj.data; //当前行数据 var rowIndex = obj.index; var value = obj.value; // 得到修改后的值 var oldValue = obj.oldValue; var layEvent = obj.event; //当前点击的事件名 var id = obj.data.id; let dickVal = obj.data.dickVal; var field = obj.field; // 得到字段 var isNewAdd = obj.data.isNewAdd; var newData = table.cache.myTable; //获取当前表格的数据 if (layEvent === 'del') { if(isNewAdd == "1"){ newData.splice(rowIndex, 1); //将新增行数据插入到当前行的后面 table.reload('myTable', { data: newData //重新加载表格数据 }); }else{ if(dickVal == undefined || dickVal =='undefined'){ var conIndex = layer.confirm('是否确认删除?', { btn: ['确认', '取消'] //可以无限个按钮 }, function(index, layero){ //按钮【确认】的回调 $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: czl_ht_url + "/teamSet/delDataDict",// 请求地址 dataType: 'json', // 服务器返回数据类型 data: {id:id}, //获取提交的表单字段 success: function (data) { var status = data.resMsg; if("删除成功"==status){ //layer.msg("数据添加成功!", {icon: 1}); newData.splice(rowIndex, 1); //将新增行数据插入到当前行的后面 table.reload('myTable', { data: newData //重新加载表格数据 }); layer.msg("删除成功", {icon: 1}); }else{ // layer.msg("数据添加失败!", {icon: 2}); layer.msg("删除失败", {icon: 1}); } } }); }, function(index){ //按钮【取消】的回调 }); }else{ layer.msg("此数据位基础类型,不能删除!", {icon: 2}); } } } }); } }, error:function (data) { } }); }