layui.use(['layer', 'ax', 'form', 'laydate', 'element', 'table'], function () { var $ = layui.$; var $ax = layui.ax; var layer = layui.layer; var form = layui.form; var laydate = layui.laydate; var element = layui.element; var table = layui.table; var fieldConfigList = []; table.render({ elem: '#fieldTable', url: Feng.ctxPath + '/getTableFieldConfigs?tableName=' + $("#tableName").val() + "&dbId=" + $("#dbId").val(), parseData: function (res) { //获取返回的数据缓存起来 fieldConfigList = res.data; return res; }, page: false, cellMinWidth: 100, cols: [[ {field: 'columnName', title: '字段名'}, {field: 'columnComment', title: '字段注释'}, {field: 'queryConditionFlag', title: '是否为查询条件', templet: '#conditionTpl'}, {field: 'inputType', title: '字段属性样式', templet: '#inputTypeTpl'} ]] }); form.render('select'); //监听下拉选项操作 form.on('select(columnStyleFilter)', function (data) { var columnName = data.elem.id; var inputType = data.elem.value; for (let i = 0, len = fieldConfigList.length; i < len; i++) { if (fieldConfigList[i].columnName === columnName) { fieldConfigList[i].inputType = inputType; } } console.log(fieldConfigList); }); //监听单选事件 form.on('checkbox(queryConditionFlagFilter)', function (data) { var columnName = data.elem.id; var checked = data.elem.checked; //fieldConfigList配置过字段则直接设置为checked for (let i = 0, len = fieldConfigList.length; i < len; i++) { if (fieldConfigList[i].columnName === columnName) { fieldConfigList[i].queryConditionFlag = checked; } } console.log(fieldConfigList); }); //点击提交时 $('#submit').click(function () { var requestBody = new Map(); requestBody.set("tableName", $("#tableName").val()); requestBody.set("fieldConfigList", fieldConfigList); layui.jquery.ajax({ url: Feng.ctxPath + "/saveFieldsConfig", type: 'post', contentType: "application/json; charset=utf-8", dataType: 'json', data: _mapToJson(requestBody), success: function (data) { fieldConfigList = []; Feng.success("保存成功"); parent.layer.close(parent.layer.getFrameIndex(window.name)); }, error: function (data) { Feng.error("保存失败"); } }); }); function _strMapToObj(strMap) { let obj = Object.create(null); for (let [k, v] of strMap) { obj[k] = v; } return obj; } function _mapToJson(map) { return JSON.stringify(_strMapToObj(map)); } });