Explorar o código

费用审核列表所属部门选择

梁世豪 hai 11 meses
pai
achega
b2b8a8404c

+ 1 - 1
src/main/resources/mapper/StaBudgetapprovalDao.xml

@@ -606,7 +606,7 @@
606 606
             and b.sqrxm like '%'+#{sqr}+'%'
607 607
         </if>
608 608
         <if test="ssbmmc != null and ssbmmc != ''">
609
-            and d.dept_name like '%'+#{ssbm}+'%'
609
+            and d.dept_name like '%'+#{ssbmmc}+'%'
610 610
         </if>
611 611
         <if test="nf != null and nf != ''">
612 612
             and b.NF = #{nf}

+ 58 - 4
src/main/resources/templates/stafeemanage/list_allapply.html

@@ -87,9 +87,9 @@
87 87
                             </div>
88 88
                         </div>
89 89
                         <div class="layui-inline">
90
-                            <label class="layui-form-label" style="width: 60px">所属部门</label>
91
-                            <div class="layui-input-inline" style="width: 150px">
92
-                                <input type="text" id="ssbmmc" name="ssbmmc" autocomplete="off" class="layui-input">
90
+                            <label class="layui-form-label required" style="width: 60px">所属部门</label>
91
+                            <div class="layui-input-block">
92
+                                <input type="text" id="ssbmmc" name="ssbmmc" >
93 93
                             </div>
94 94
                         </div>
95 95
                         <div class="layui-inline">
@@ -212,11 +212,12 @@
212 212
     var updateflag = 0;
213 213
     var fyApproval = {};
214 214
 
215
-    layui.use(['form', 'table', 'tableSelect', 'laydate'], function () {
215
+    layui.use(['form', 'table', 'tableSelect', 'laydate','layCascader'], function () {
216 216
         var form = layui.form,
217 217
             tableSelect = layui.tableSelect,
218 218
             laydate = layui.laydate,
219 219
             table = layui.table;
220
+            layCascader = layui.layCascader;
220 221
         var userId = $("#userId").val();
221 222
 
222 223
         var sqsj1 = '',
@@ -248,7 +249,46 @@
248 249
                 }
249 250
             }
250 251
         });
252
+        var index2 = layer.load(0, {shade: 0.1});
253
+        AjaxUtil.get({
254
+            url: AjaxUtil.ctx + 'userinfo/listDeptForSelect',
255
+            success: function (res) {
256
+                layer.close(index2);
257
+
258
+                var datalist = [];
259
+                for (let item of res.data) {
260
+                    item.value = item.deptName;
261
+                    item.label = item.deptName;
262
+                    datalist.push(item);
263
+                }
264
+                console.log(datalist)
265
+                // 扁平数据转树
266
+                var options = arrayToTree(datalist, "0");
267
+
268
+                // 初始化cascader实例
269
+                var cascader = layCascader({
270
+                    elem: '#ssbmmc',
271
+                    clearable: true,
272
+                    showAllLevels: false, // 配置仅显示最后一级
273
+                    props: {
274
+                        checkStrictly: true, // 配置选择任意一级选项
275
+                    },
276
+                    options: options
277
+                });
251 278
 
279
+                // 监听cascader变化
280
+                cascader.changeEvent(function (value, node) {
281
+                    // 主动关闭面板
282
+                    cascader.close();
283
+                    $("#deptId").val(value);
284
+                    console.log(node);
285
+                });
286
+            },
287
+            error: function (error) {
288
+                layer.close(index2);
289
+                Message.error('获取部门信息失败!', 1000);
290
+            }
291
+        });
252 292
         //电科院负责人
253 293
         tableSelect.render({
254 294
             elem: '#dkyfzrxm',
@@ -795,6 +835,20 @@
795 835
     function getXmApproval() {
796 836
         return xmApproval;
797 837
     }
838
+    function arrayToTree(data, firstPid) {
839
+        const result = [];
840
+        getChildren(data, result, firstPid)
841
+        return result;
842
+    }
843
+    function getChildren(data, result, parentId) {
844
+        for (const item of data) {
845
+            if (item.parentId === parentId) {
846
+                const newItem = {...item, children: []};
847
+                result.push(newItem);
848
+                getChildren(data, newItem.children, item.deptId);
849
+            }
850
+        }
851
+    }
798 852
 </script>
799 853
 </body>
800 854
 </html>