admin
2025-06-30 cd3eccb32719bb5409ec62f4e201b85992df2d33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
$(function() {
    app_ls = new Vue({
        el: "#low_suction",
        data: {
            
        },
        mounted: function() {
            layui.use(['form'], function() {
                var form = layui.form;
                // 自定义验证规则
                form.verify({
                    // 自定义规则名称
                    rate: function(value, item) { // value:表单的值,item:表单的DOM对象
                        // 转换为数字
                        var num = parseFloat(value);
                        // 检查是否为有效数字
                        if (isNaN(num)) {
                            return '请输入有效的数字';
                        }
                        // 检查范围
                        if (num < -1 || num > 1) {
                            return '请输入-1到+1之间的数值';
                        }
                    },
 
                    // 示例:手机号验证
                    num: function(value, item) {
                        if (!/^\d+$/.test(value) || value < 0) {
                            return '请输入非负整数';
                        }
                    },
                    money: function(value, item) {
                        if (!/^(0|[1-9]\d*)(\.\d{0,2})?$/.test(value)) {
                            return '请输入正确的金额';
                        }
                    },
                });
                form.on('submit(settings)', function(res) {
                    let params = {};
                    $("#low_suction").find('input[type="checkbox"]').each(
                function() {
                        var name = $(this).attr('name');
                        // 如果开关未开启且数据中不存在该字段
                        if (!this.checked && !res.field[name]) {
                            console.log("尚未选中", name);
                            res.field[name] = "0"; // 添加关闭状态
                        }
                    });
                    console.log("field", res)
                    for (key in res.field) {
                        var val = res.field[key];
                        val = String(val).trim();
                        if (val != '' && !isNaN(Number(val))) {
                            if (val.indexOf(".") >= 0) {
                                val = parseFloat(val);
                            } else {
                                val = parseInt(val);
                            }
                        }
                        if (key.indexOf("-") >= 0) {
                            let k = key.split('-')[0];
                            if (!(k in params)) {
                                params[k] = [];
                            }
                            let index = parseInt(key.split('-')[1]);
                            params[k].splice(index, 0, val);
                        } else {
                            params[key] = val;
                        }
                    }
                    layer.confirm('确定要执行此操作吗?', {
                            title: '操作确认',
                            btn: ['确定', '取消'] //按钮
                        }, function() { // 用户点击确定后执行的操作  
                            console.log(params)
                            app_ls.set_settings(params);
                        },
                        function() { // 用户点击取消后执行的操作  
                            
                        }
                    );
                    
                    return false;
                });
                form.on('switch(trade_state)', function(data) {
                    app_ls.set_settings({
                        "trade_state": this.checked ? 1 : 0
                    });
                });
 
            });
            setTimeout(function(){
                app_ls.get_settings();
            },100);
            
 
        },
        watch: {
 
        },
        methods: {
            // 获取设置
            get_settings: function() {
                http_util_of_ls.get_settings(function(res) {
                    console.log("获取设置信息:", res);
                    if (res.code == 0) {
                        let data = res.data;
                        for (key in data) {
                            if (Array.isArray(data[key])) {
                                for (var i = 0; i < data[key].length; i++) {
                                    data[key + "-" + i] = data[key][i];
                                }
                            }
                        }
                        layui.form.val('settings', data);
                    }
                });
            },
            set_settings: function(params) {
                http_util_of_ls.set_settings(params, function(res) {
                    console.log("获取设置信息:", res);
                    if (res.code == 0) {
                        layer.msg("设置成功");
                        app_ls.get_settings();
                    } else {
                        layer.msg(res.msg);
                    }
                });
            }
 
        }
    });
});