懒羊羊
2023-08-30 1ac2bc1590406d9babec036e154d8d08f34a6aa1
提交 | 用户 | 时间
1ac2bc 1 layui.use(['layer', 'ax', 'form', 'laydate', 'element', 'table'], function () {
2     var $ = layui.$;
3     var $ax = layui.ax;
4     var layer = layui.layer;
5     var form = layui.form;
6     var laydate = layui.laydate;
7     var element = layui.element;
8     var table = layui.table;
9     var fieldConfigList = [];
10
11     table.render({
12         elem: '#fieldTable',
13         url: Feng.ctxPath + '/getTableFieldConfigs?tableName=' + $("#tableName").val() + "&dbId=" + $("#dbId").val(),
14         parseData: function (res) {
15             //获取返回的数据缓存起来
16             fieldConfigList = res.data;
17             return res;
18         },
19         page: false,
20         cellMinWidth: 100,
21         cols: [[
22             {field: 'columnName', title: '字段名'},
23             {field: 'columnComment', title: '字段注释'},
24             {field: 'queryConditionFlag', title: '是否为查询条件', templet: '#conditionTpl'},
25             {field: 'inputType', title: '字段属性样式', templet: '#inputTypeTpl'}
26         ]]
27     });
28     form.render('select');
29
30     //监听下拉选项操作
31     form.on('select(columnStyleFilter)', function (data) {
32         var columnName = data.elem.id;
33         var inputType = data.elem.value;
34
35         for (let i = 0, len = fieldConfigList.length; i < len; i++) {
36             if (fieldConfigList[i].columnName === columnName) {
37                 fieldConfigList[i].inputType = inputType;
38             }
39         }
40
41         console.log(fieldConfigList);
42     });
43
44     //监听单选事件
45     form.on('checkbox(queryConditionFlagFilter)', function (data) {
46         var columnName = data.elem.id;
47         var checked = data.elem.checked;
48
49         //fieldConfigList配置过字段则直接设置为checked
50         for (let i = 0, len = fieldConfigList.length; i < len; i++) {
51             if (fieldConfigList[i].columnName === columnName) {
52                 fieldConfigList[i].queryConditionFlag = checked;
53             }
54         }
55
56         console.log(fieldConfigList);
57     });
58
59     //点击提交时
60     $('#submit').click(function () {
61         var requestBody = new Map();
62         requestBody.set("tableName", $("#tableName").val());
63         requestBody.set("fieldConfigList", fieldConfigList);
64
65         layui.jquery.ajax({
66             url: Feng.ctxPath + "/saveFieldsConfig",
67             type: 'post',
68             contentType: "application/json; charset=utf-8",
69             dataType: 'json',
70             data: _mapToJson(requestBody),
71             success: function (data) {
72                 fieldConfigList = [];
73                 Feng.success("保存成功");
74                 parent.layer.close(parent.layer.getFrameIndex(window.name));
75             },
76             error: function (data) {
77                 Feng.error("保存失败");
78             }
79         });
80
81     });
82
83     function _strMapToObj(strMap) {
84         let obj = Object.create(null);
85         for (let [k, v] of strMap) {
86             obj[k] = v;
87         }
88         return obj;
89     }
90
91     function _mapToJson(map) {
92         return JSON.stringify(_strMapToObj(map));
93     }
94
95 });