From fa0351848cbf1650b19c4383f7032e02901183dd Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 十一月 2022 14:31:50 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/plan/plan.js |  420 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 314 insertions(+), 106 deletions(-)

diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 31bfe0e..5c60d0f 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -19,6 +19,7 @@
     var cascader = layui.cascader;
     var tree = layui.tree;
     var dropdown = layui.dropdown;
+    var element = layui.element;
 
     $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon">&#xe61a;</i>');
 
@@ -138,17 +139,17 @@
             {type: 'checkbox'}
             // ,{field: 'id', align: 'center',title: 'ID'}
             // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'}
-            ,{field: 'userId$', align: 'center',title: '涓氬姟鍛�'}
-            ,{field: 'planType$', align: 'center',title: '涓氬姟绫诲瀷'}
-            ,{field: 'name', align: 'center',title: '鍞墠瑙勫垝鐢宠鍗曞悕绉�'}
-            ,{field: 'planNeed$', align: 'center',title: '鎵�闇�'}
-            ,{field: 'deptId$', align: 'center',title: '鎵�灞為儴闂�'}
-            ,{field: 'orderId$', align: 'center',title: '璺熻釜椤圭洰'}
-            ,{field: 'cstmrId$', align: 'center',title: '鐢叉柟鍗曚綅'}
-            ,{field: 'uuid', align: 'center',title: '瑙勫垝鍗曚唬鍙�'}
-            ,{field: 'appleTime$', align: 'center',title: '鐢宠鏃ユ湡'}
+            ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�'}
+            ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150}
+            ,{field: 'name', align: 'left',title: '鍞墠瑙勫垝鐢宠鍗曞悕绉�', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'more'}
+            ,{field: 'uuid', align: 'left',title: '瑙勫垝鍗曞彿', width: 100}
+            ,{field: 'planNeed$', align: 'left',title: '鎵�闇�', templet:function(d){return emptyShow(d.planNeed$)}}
+            ,{field: 'deptId$', align: 'left',title: '鎵�灞為儴闂�'}
+            ,{field: 'orderId$', align: 'left',title: '璺熻釜椤圭洰', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'orderMore'}
+            // ,{field: 'cstmrId$', align: 'left',title: '鐢叉柟鍗曚綅', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'cstmrMore'}
+            ,{field: 'appleTime$', align: 'left',title: '鐢宠鏃ユ湡', hide: true}
             // ,{field: 'beItem$', align: 'center',title: '绔嬮」'}
-            ,{field: 'planner', align: 'center',title: '瑙勫垝鍛�', templet:function(d){return emptyShow(d.planner)}}
+            // ,{field: 'planner', align: 'left',title: '瑙勫垝鍛�', templet:function(d){return emptyShow(d.planner)}}
             // ,{field: 'finishTime$', align: 'center',title: '瀹屾垚鏃堕棿'}
             // ,{field: 'form', align: 'center',title: '琛ㄥ崟鍐呭'}
             // ,{field: 'change$', align: 'center',title: '鏇存敼鏂规'}
@@ -161,11 +162,12 @@
             // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'}
             // ,{field: 'comment', align: 'center',title: '璇勮'}
             // ,{field: 'status$', align: 'center',title: '鐘舵��'}
-            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
-            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
-            ,{field: 'memo', align: 'center',title: '娉ㄩ噴', hide: true}
+            ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃ユ湡', width: 160, hide: false}
+            ,{field: 'updateBy$', align: 'left',title: '淇敼浜�'}
+            ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true}
+            ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true}
 
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 180}
         ]],
         request: {
             pageName: 'curr',
@@ -193,7 +195,130 @@
 
     // 娣诲姞
     $("#planAddBtn").click(function () {
-        showEditModel();
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/planType/list/radio/auth",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    admin.open({
+                        type: 1,
+                        area: '300px',
+                        title: '鏂板缓鍞墠瑙勫垝鐢宠鍗�',
+                        content: $('#addDialogPre').html(),
+                        success: function (layero, dIndex) {
+                            let template = Handlebars.compile($('#planTypeTpl').html());
+                            $('#planTypeBox').html(template({list: res.data.map(function (d) {
+                                    return {
+                                        id: d.id,
+                                        name: d.name,
+                                        checked: d.checked
+                                    }
+                                })})
+                            );
+                            element.init();form.render();
+                            layer.close(loadIndex);
+                            // 纭瑙勫垝鍗曠被鍨�
+                            form.on('submit(planTypeSubmit)', function (data) {
+                                layer.close(dIndex);
+                                let planTypeId = data.field.planType;
+                                let loadIndex0 = layer.load(2);
+                                $.ajax({
+                                    url: baseUrl + "/planType/" + planTypeId + "/plan/auth",
+                                    headers: {'token': localStorage.getItem('token')},
+                                    method: 'GET',
+                                    success: function (res0) {
+                                        let planType = res0.data.planType;
+                                        if (res0.code === 200) {
+                                            admin.open({
+                                                type: 1,
+                                                area: ["95%", "90%"],
+                                                offset: 'auto',
+                                                title: '娣诲姞鍞墠瑙勫垝鐢宠鍗�' + ' - ' + planType.name,
+                                                content: $('#editDialog').html(),
+                                                success: function (layero0, dIndex0) {
+                                                    $('#customizeBox').html(planType.html)
+
+                                                    layer.close(loadIndex0);
+                                                    let orderSel = loadOrderSel();
+                                                    let cstmrSel = loadCstmrSel();
+                                                    let userSel = loadUserSel();
+                                                    userSel.setValue([
+                                                        {name: res0.data.nickName, value: Number(res0.data.userId)},
+                                                    ])
+                                                    let planNeedSel = loadPlanNeedSel();
+                                                    form.val('detail', {
+                                                        planTypeName: planType.name
+                                                    });
+                                                    layDateRender();
+                                                    form.on('submit(editSubmit)', function (data) {
+                                                        data.field.planType = planType.id;
+                                                        data.field.orderId = orderSel.getValue()[0] ? orderSel.getValue()[0].value : null;
+                                                        data.field.cstmrId = cstmrSel.getValue()[0] ? cstmrSel.getValue()[0].value : null;
+                                                        data.field.userId = userSel.getValue()[0] ? userSel.getValue()[0].value : null;
+                                                        data.field.planNeed = planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+
+                                                        delete data.field.select;delete data.field.planTypeName;
+
+                                                        if (!data.field.orderId) {
+                                                            layer.msg("璺熻釜椤圭洰涓嶈兘涓虹┖", {icon: 2});
+                                                            top.requireTip($('#orderXmlSel'));
+                                                            return false;
+                                                        }
+                                                        if (!data.field.cstmrId) {
+                                                            layer.msg("瀹㈡埛鍚嶇О涓嶈兘涓虹┖", {icon: 2});
+                                                            top.requireTip($('#cstmrXmlSel'));
+                                                            return false;
+                                                        }
+                                                        if (!data.field.userId) {
+                                                            layer.msg("涓氬姟鍛樹笉鑳戒负绌�", {icon: 2});
+                                                            top.requireTip($('#userXmlSel'));
+                                                            return false;
+                                                        }
+                                                        var loadIndex = layer.load(2);
+                                                        $.ajax({
+                                                            url: baseUrl+"/plan/add/auth",
+                                                            headers: {'token': localStorage.getItem('token')},
+                                                            data: data.field,
+                                                            method: 'POST',
+                                                            success: function (res) {
+                                                                layer.close(loadIndex);
+                                                                if (res.code === 200){
+                                                                    layer.close(dIndex0);
+                                                                    layer.msg(res.msg, {icon: 1});
+                                                                    tableReload();
+                                                                } else if (res.code === 403){
+                                                                    top.location.href = baseUrl+"/";
+                                                                } else {
+                                                                    layer.msg(res.msg, {icon: 2});
+                                                                }
+                                                            }
+                                                        })
+                                                        return false;
+                                                    });
+                                                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                                                    layui.form.render('select');
+                                                }
+                                            });
+                                        } else if (res0.code === 403) {
+                                            top.location.href = baseUrl + "/";
+                                        } else {
+                                            layer.msg(res0.msg, {icon: 2});
+                                        }
+                                    }
+                                })
+                                return false;
+                            });
+                        }
+                    })
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        })
     });
 
     // 鍒犻櫎
@@ -220,25 +345,6 @@
             where: searchData,
             page: {curr: 1}
         });
-    });
-
-    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
-    table.on('toolbar(plan)', function (obj) {
-        var checkStatus = table.checkStatus(obj.config.id).data;
-        switch(obj.event) {
-            case 'addData':
-                showEditModel();
-                break;
-            case 'deleteData':
-               if (checkStatus.length === 0) {
-                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
-                   return;
-               }
-               del(checkStatus.map(function (d) {
-                   return d.id;
-               }));
-               break;
-        }
     });
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
@@ -281,6 +387,68 @@
                     }
                 })
                 break;
+            case 'approval':
+                layer.confirm('瀹℃壒閫氳繃锛�', {
+                    skin: 'layui-layer-admin',
+                    shade: .1,
+                    offset: '200px',
+                    title: data.name
+                }, function (i) {
+                    layer.close(i);
+                    // 鎸囧畾瑙勫垝鍛�
+                    if (data.settle === 2) {
+                        admin.open({
+                            type: 1,
+                            area: '300px',
+                            title: '閫夋嫨瑙勫垝鍛�',
+                            content: $('#plannerListDialog').html(),
+                            success: function (layero, dIndex) {
+                                let plannerSel = xmSelect.render({
+                                    el: '#plannerXmlSel',
+                                    autoRow: true,
+                                    filterable: true,
+                                    remoteSearch: true,
+                                    radio: true,
+                                    remoteMethod: function (val, cb, show) {
+                                        let loadIndex = layer.load(2);
+                                        $.ajax({
+                                            url: baseUrl+"/plan/planner/list/auth",
+                                            headers: {'token': localStorage.getItem('token')},
+                                            data: {
+                                                planId: data.id
+                                            },
+                                            method: 'POST',
+                                            success: function (res) {
+                                                layer.close(loadIndex);
+                                                if (res.code === 200) {
+                                                    cb(res.data)
+                                                } else {
+                                                    layer.close(dIndex);
+                                                    layer.msg(res.msg, {icon: 2});
+                                                }
+                                            }
+                                        })
+                                    }
+                                });
+
+                                form.on('submit(editSubmit)', function () {
+                                    let plannerId = plannerSel.getValue()[0] ? plannerSel.getValue()[0].value : null;
+                                    if (!plannerId) {
+                                        layer.msg("璇烽�夋嫨瑙勫垝鍛�", {icon: 2});
+                                        top.requireTip($('#plannerXmlSel'));
+                                        return false;
+                                    }
+                                    approval(data.id, plannerId, dIndex);
+                                });
+
+                                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                            }
+                        })
+                    } else {
+                        approval(data.id);
+                    }
+                });
+                break;
             case 'edit':
                 showEditModel(data);
                 break;
@@ -290,40 +458,111 @@
         }
     });
 
+    function approval(planId, plannerId, dIdx) {
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl+"/plan/approval/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {
+                planId: planId,
+                plannerId: plannerId
+            },
+            method: 'POST',
+            success: function (res) {
+                if (dIdx) {
+                    layer.close(dIdx);
+                }
+                layer.close(loadIndex);
+                if (res.code === 200){
+                    layer.msg(res.msg, {icon: 1});
+                    tableReload();
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg, {icon: 2});
+                }
+            }
+        })
+    }
+
     /* 寮圭獥 - 鏂板銆佷慨鏀� */
     function showEditModel(mData) {
-        admin.open({
-            type: 1,
-            area: '600px',
-            title: (mData ? '淇敼' : '娣诲姞') + '鍞墠瑙勫垝鐢宠鍗�',
-            content: $('#editDialog').html(),
-            success: function (layero, dIndex) {
-                layDateRender(mData);
-                form.val('detail', mData);
-                form.on('submit(editSubmit)', function (data) {
-                    var loadIndex = layer.load(2);
-                    $.ajax({
-                        url: baseUrl+"/plan/"+(mData?'update':'add')+"/auth",
-                        headers: {'token': localStorage.getItem('token')},
-                        data: data.field,
-                        method: 'POST',
-                        success: function (res) {
-                            layer.close(loadIndex);
-                            if (res.code === 200){
-                                layer.close(dIndex);
-                                layer.msg(res.msg, {icon: 1});
-                                tableReload();
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
-                            }else {
-                                layer.msg(res.msg, {icon: 2});
-                            }
+        let loadIndex = layer.load(2);
+        $.ajax({
+            url: baseUrl + "/plan/" + mData.id + "/auth",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'GET',
+            success: function (res) {
+                layer.close(loadIndex);
+                if (res.code === 200){
+                    let plan = res.data;
+                    admin.open({
+                        type: 1,
+                        area: ["95%", "90%"],
+                        offset: 'auto',
+                        title: '缂栬緫鍞墠瑙勫垝鐢宠鍗� - ' + plan.planType$,
+                        content: $('#editDialog').html(),
+                        success: function (layero, dIndex) {
+                            $('#customizeBox').html(plan.formHtml);
+                            let orderSel = loadOrderSel();
+                            let cstmrSel = loadCstmrSel();
+                            let userSel = loadUserSel();
+                            let planNeedSel = loadPlanNeedSel();
+                            if (plan.orderId) { orderSel.setValue([{name: plan.orderId$, value: plan.orderId}]); }
+                            if (plan.cstmrId) { cstmrSel.setValue([{name: plan.cstmrId$, value: plan.cstmrId}]); }
+                            if (plan.userId) { userSel.setValue([{name: plan.userId$, value: plan.userId}]); }
+                            if (plan.planNeed) { planNeedSel.setValue([{name: plan.planNeed$, value: plan.planNeed}]); }
+                            layDateRender(plan);
+                            plan['planTypeName'] = plan.planType$;
+                            form.val('detail', plan);
+                            form.on('submit(editSubmit)', function (data) {
+                                data.field.orderId = orderSel.getValue()[0] ? orderSel.getValue()[0].value : null;
+                                data.field.cstmrId = cstmrSel.getValue()[0] ? cstmrSel.getValue()[0].value : null;
+                                data.field.userId = userSel.getValue()[0] ? userSel.getValue()[0].value : null;
+                                data.field.planNeed = planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+
+                                delete data.field.select;delete data.field.planTypeName;
+
+                                if (!data.field.orderId) {
+                                    layer.msg("璺熻釜椤圭洰涓嶈兘涓虹┖", {icon: 2});
+                                    top.requireTip($('#orderXmlSel'));
+                                    return false;
+                                }
+                                if (!data.field.cstmrId) {
+                                    layer.msg("瀹㈡埛鍚嶇О涓嶈兘涓虹┖", {icon: 2});
+                                    top.requireTip($('#cstmrXmlSel'));
+                                    return false;
+                                }
+                                let loadIndex = layer.load(2);
+                                $.ajax({
+                                    url: baseUrl+"/plan/update/auth",
+                                    headers: {'token': localStorage.getItem('token')},
+                                    data: data.field,
+                                    method: 'POST',
+                                    success: function (res) {
+                                        layer.close(loadIndex);
+                                        if (res.code === 200){
+                                            layer.close(dIndex);
+                                            layer.msg(res.msg, {icon: 1});
+                                            tableReload();
+                                        } else if (res.code === 403){
+                                            top.location.href = baseUrl+"/";
+                                        }else {
+                                            layer.msg(res.msg, {icon: 2});
+                                        }
+                                    }
+                                })
+                                return false;
+                            });
+                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                            layui.form.render('select');
                         }
-                    })
-                    return false;
-                });
-                $(layero).children('.layui-layer-content').css('overflow', 'visible');
-                layui.form.render('select');
+                    });
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                } else {
+                    layer.msg(res.msg, {icon: 2});
+                }
             }
         });
     }
@@ -359,13 +598,7 @@
     // 鎼滅储
     form.on('submit(search)', function (data) {
         pageCurr = 1;
-        tableReload();
-    });
-
-    // 閲嶇疆
-    form.on('submit(reset)', function (data) {
-        pageCurr = 1;
-        clearFormVal($('#search-box'));
+        pageCount = 0;
         tableReload();
     });
 
@@ -379,56 +612,28 @@
             });
             layDate.render({
                 elem: '#appleTime\\$',
-                type: 'datetime',
-                value: data!==undefined?data['appleTime\\$']:null
+                type: 'date',
+                value: data!==undefined?data['appleTime$']:null
             });
             layDate.render({
                 elem: '#finishTime\\$',
-                type: 'datetime',
-                value: data!==undefined?data['finishTime\\$']:null
+                type: 'date',
+                value: data!==undefined?data['finishTime$']:null
             });
             layDate.render({
                 elem: '#createTime\\$',
                 type: 'datetime',
-                value: data!==undefined?data['createTime\\$']:null
+                value: data!==undefined?data['createTime$']:null
             });
             layDate.render({
                 elem: '#updateTime\\$',
                 type: 'datetime',
-                value: data!==undefined?data['updateTime\\$']:null
+                value: data!==undefined?data['updateTime$']:null
             });
 
         }, 300);
     }
     layDateRender();
-
-    window.loadDeptSel = function () {
-        return xmSelect.render({
-            el: '#deptXmlSel',
-            autoRow: true,
-            filterable: true,
-            remoteSearch: true,
-            radio: true,
-            remoteMethod: function (val, cb, show) {
-                $.ajax({
-                    url: baseUrl + "/dept/all/get/kv",
-                    headers: {'token': localStorage.getItem('token')},
-                    data: {
-                        condition: val
-                    },
-                    method: 'POST',
-                    success: function (res) {
-                        if (res.code === 200) {
-                            cb(res.data)
-                        } else {
-                            cb([]);
-                            layer.msg(res.msg, {icon: 2});
-                        }
-                    }
-                });
-            }
-        });
-    }
 
     window.loadPlanTypeSel = function () {
         return xmSelect.render({
@@ -584,6 +789,9 @@
         $.each($('#search-box [name]').serializeArray(), function() {
             searchData[this.name] = this.value;
         });
+        if (treeCond) {
+            searchData[treeCond.key] = treeCond.val;
+        }
         tableIns.reload({
             where: searchData,
             page: {curr: pageCurr}

--
Gitblit v1.9.1