forked from kidgrow-microservices-platform

侯瑞军
2020-04-08 6325ff05bb15908b3dd975e958737c5dddf0e50d
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<!-- 菜单弹框 -->
<form id="menus-form" lay-filter="menus-form" class="layui-form model-form">
    <input name="id" type="hidden"/>
    <div class="layui-form-item">
        <label class="layui-form-label">菜单名称</label>
        <div class="layui-input-block">
            <input name="name" placeholder="请输入菜单名称" type="text" class="layui-input" maxlength="50"
                   lay-verify="required" required/>
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">菜单URL</label>
        <div class="layui-input-block">
            <input name="url" placeholder="请输入菜单URL" type="text" class="layui-input"/>
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">菜单PATH</label>
        <div class="layui-input-block">
            <input name="path" placeholder="请输入菜单PATH" type="text" class="layui-input"/>
        </div>
    </div>
 
    <div class="layui-form-item">
        <label class="layui-form-label">菜单图标</label>
        <div class="layui-input-block">
            <input name="css" placeholder="请输入菜单图标" type="text" class="layui-input"/>
        </div>
    </div>
 
    <div class="layui-form-item">
        <label class="layui-form-label">是否隐藏</label>
        <div class="layui-input-block">
            <input type="radio" name="hidden" value="false" title="否" checked/>
            <input type="radio" name="hidden" value="true" title="是"/>
        </div>
    </div>
 
    <div class="layui-form-item">
        <label class="layui-form-label">是否为菜单</label>
        <div class="layui-input-block">
            <input type="radio" name="type" lay-filter="resourceType" value="1" title="是" checked/>
            <input type="radio" name="type" lay-filter="resourceType" value="2" title="否"/>
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">请求方法</label>
        <div class="layui-input-block">
            <select name="pathMethod" id="pathMethod" disabled="true">
                <option value="-1"></option>
                <option>GET</option>
                <option>POST</option>
                <option>DELETE</option>
                <option>PUT</option>
            </select>
        </div>
    </div>
 
    <div class="layui-form-item">
        <label class="layui-form-label">排序号</label>
        <div class="layui-input-block">
            <input name="sort" placeholder="请输入排序号" type="number" class="layui-input" lay-verify="required" required/>
        </div>
    </div>
 
    <div class="layui-form-item">
        <label class="layui-form-label">所属应用</label>
        <div class="layui-input-block">
            <select name="menu_clients_add" id="menu_clients_add">
            </select>
        </div>
    </div>
 
    <div class="layui-form-item">
        <label class="layui-form-label">上级菜单</label>
        <div class="layui-input-block">
            <select name="parentId" id="parentId">
                <option value="-1">顶级目录</option>
            </select>
        </div>
    </div>
 
    <div class="layui-form-item model-form-footer">
        <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
        <button class="layui-btn" lay-filter="menus-form-submit" lay-submit>保存</button>
    </div>
</form>
 
<script>
    layui.use(['layer', 'admin', 'form', 'formSelects'],function () {
        var layer = layui.layer;
        var admin = layui.admin;
        var form = layui.form;
        var formSelects = layui.formSelects;
 
        // 修改菜单类型
        let changeType = function (type) {
            if (type == 2) {
                $('#pathMethod').attr('disabled', false);
            } else {
                $('#pathMethod').attr('disabled', true);
                $("#pathMethod").val("");
            }
            form.render('select', 'menus-form');
        };
 
        // 回显menu数据
        let menus = admin.getTempData('t_menus');
        // 获取一级菜单
        layer.load(2);
        admin.req('api-user/menus/findOnes?tenantId='+menus.tenantId,{}, function (data) {
            layer.closeAll('loading');
            if (0 == data.code) {
                $.each(data.data,function(index,item){
                    $('#parentId').append(new Option(item.name,item.id));//往下拉菜单里添加元素
                })
                $('#menus-form').attr('method', 'POST');
                if (menus) {
                    form.val('menus-form', menus);
                    changeType(menus.type);
                }
                form.render();  //菜单渲染 把内容加载进去
            } else {
                layer.msg('获取一级菜单', {icon: 2, time: 500});
            }
        }, 'GET');
 
        // 获取应用列表
        layer.load(3);
        admin.req('api-uaa/clients/all', {}, function (data) {
            layer.closeAll('loading');
            if (0 === data.code) {
                let selected = false;
                $.each(data.data,function(index,item){
                    //往下拉菜单里添加元素
                    if (menus.tenantId === item.clientId) {
                        selected = true;
                    } else {
                        selected = false;
                    }
                    $('#menu_clients_add').append(new Option(item.clientName, item.clientId,false, selected));
                    $('#menu_clients_add').attr('disabled',true);
                })
                form.render();
            } else {
                layer.msg(data.msg, {icon: 2, time: 500});
            }
        }, 'GET');
        // 表单提交事件
        form.on('submit(menus-form-submit)', function (data) {
            layer.load(2);
            data.field.tenantId=menus.tenantId;
            admin.req('api-user/menus/saveOrUpdate?tenantId='+menus.tenantId, JSON.stringify(data.field), function (data) {
                if (data.code === 0) {
                    layer.closeAll('loading');
                    layer.msg(data.msg, {icon: 1, time: 500});
                    admin.finishPopupCenter();
                } else {
                    layer.closeAll('loading');
                    layer.msg(data.msg, {icon: 2, time: 500});
                }
            }, $('#menus-form').attr('method'));
            return false;
        });
 
        form.on("radio(resourceType)", function (data) {
            changeType(data.value);
        });
    });
</script>