From f990d41ed26b2640ca87d13d53e0dd85675aafb5 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期四, 10 八月 2023 08:20:00 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js | 58 +++++++++++ src/main/java/com/zy/crm/manager/controller/PriSalesController.java | 18 +++ src/main/resources/mapper/PriQuoteMapper.xml | 1 src/main/resources/mapper/PriSalesMapper.xml | 1 src/main/java/com/zy/crm/manager/controller/PriQuoteBudgetController.java | 18 +++ src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java | 4 src/main/webapp/static/js/priSales/priSales.js | 58 +++++++++++ src/main/webapp/views/priSales/priSales.html | 56 +++++++++++ src/main/java/com/zy/crm/manager/entity/PriSales.java | 4 src/main/webapp/views/priQuoteBudget/priQuoteBudget.html | 56 +++++++++++ 10 files changed, 274 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/PriQuoteBudgetController.java b/src/main/java/com/zy/crm/manager/controller/PriQuoteBudgetController.java index c0c447a..e1e96c0 100644 --- a/src/main/java/com/zy/crm/manager/controller/PriQuoteBudgetController.java +++ b/src/main/java/com/zy/crm/manager/controller/PriQuoteBudgetController.java @@ -67,15 +67,32 @@ } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + boolean signUserId = false; + boolean signDeptId = false; + for (Map.Entry<String, Object> entry : map.entrySet()){ + if (entry.getKey().equals("dept_id")){ + signDeptId = true; + } + } for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); if (val.contains(RANGE_TIME_LINK)){ String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else if (entry.getKey().equals("dept_id")){ + if (!val.equals("19")){ + wrapper.eq(entry.getKey(), val); + } + } else if (entry.getKey().equals("user_id") && !signDeptId){ + signUserId = true; + wrapper.eq(entry.getKey(), val); } else { wrapper.like(entry.getKey(), val); } + } + if (!signUserId && !signDeptId){ + wrapper.eq("user_id", getUserId()); } } @@ -97,6 +114,7 @@ //鍒涘缓浜哄憳 priQuoteBudget.setUserId(getUserId()); + priQuoteBudget.setDeptId(getDeptId()); //鏇存柊浜哄憳 priQuoteBudget.setUpdateUserId(getUserId()); //鏇存柊鏃堕棿 diff --git a/src/main/java/com/zy/crm/manager/controller/PriSalesController.java b/src/main/java/com/zy/crm/manager/controller/PriSalesController.java index 16c6e53..3dc0bdc 100644 --- a/src/main/java/com/zy/crm/manager/controller/PriSalesController.java +++ b/src/main/java/com/zy/crm/manager/controller/PriSalesController.java @@ -67,15 +67,32 @@ } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ + boolean signUserId = false; + boolean signDeptId = false; + for (Map.Entry<String, Object> entry : map.entrySet()){ + if (entry.getKey().equals("dept_id")){ + signDeptId = true; + } + } for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); if (val.contains(RANGE_TIME_LINK)){ String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else if (entry.getKey().equals("dept_id")){ + if (!val.equals("19")){ + wrapper.eq(entry.getKey(), val); + } + } else if (entry.getKey().equals("user_id") && !signDeptId){ + signUserId = true; + wrapper.eq(entry.getKey(), val); } else { wrapper.like(entry.getKey(), val); } + } + if (!signUserId && !signDeptId){ + wrapper.eq("user_id", getUserId()); } } @@ -100,6 +117,7 @@ priSales.setUpdateUserId(getUserId()); //鏇存柊鏃堕棿 priSales.setUpdateTime(new Date()); + priSales.setDeptId(getDeptId()); //涓氬姟鍛� Item item = itemService.selectById(priSales.getItemId()); diff --git a/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java b/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java index b419cd3..def7b25 100644 --- a/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java +++ b/src/main/java/com/zy/crm/manager/entity/PriQuoteBudget.java @@ -85,6 +85,10 @@ @TableField("member_id") private Long memberId; + @ApiModelProperty(value= "鍒涘缓閮ㄩ棬") + @TableField("dept_id") + private Long deptId; + public PriQuoteBudget() {} public PriQuoteBudget(String title,String sheetData,Date createTime,String filepath) { diff --git a/src/main/java/com/zy/crm/manager/entity/PriSales.java b/src/main/java/com/zy/crm/manager/entity/PriSales.java index 26adc70..95b618f 100644 --- a/src/main/java/com/zy/crm/manager/entity/PriSales.java +++ b/src/main/java/com/zy/crm/manager/entity/PriSales.java @@ -70,6 +70,10 @@ @TableField("user_id") private Long userId; + @ApiModelProperty(value= "鍒涘缓閮ㄩ棬") + @TableField("dept_id") + private Long deptId; + @ApiModelProperty(value= "鏇存柊浜哄憳") @TableField("update_user_id") private Long updateUserId; diff --git a/src/main/resources/mapper/PriQuoteMapper.xml b/src/main/resources/mapper/PriQuoteMapper.xml index cb2a051..f163057 100644 --- a/src/main/resources/mapper/PriQuoteMapper.xml +++ b/src/main/resources/mapper/PriQuoteMapper.xml @@ -8,6 +8,7 @@ <result column="title" property="title" /> <result column="sheet_data" property="sheetData" /> <result column="create_time" property="createTime" /> + <result column="dept_id" property="deptId" /> </resultMap> diff --git a/src/main/resources/mapper/PriSalesMapper.xml b/src/main/resources/mapper/PriSalesMapper.xml index d0e7fe2..ae27fbc 100644 --- a/src/main/resources/mapper/PriSalesMapper.xml +++ b/src/main/resources/mapper/PriSalesMapper.xml @@ -8,6 +8,7 @@ <result column="title" property="title" /> <result column="sheet_data" property="sheetData" /> <result column="create_time" property="createTime" /> + <result column="dept_id" property="deptId" /> </resultMap> diff --git a/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js b/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js index 24af213..c582cea 100644 --- a/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js +++ b/src/main/webapp/static/js/priQuoteBudget/priQuoteBudget.js @@ -11,6 +11,64 @@ var layDate = layui.laydate; var form = layui.form; admin = layui.admin; + var tree = layui.tree; + var dropdown = layui.dropdown; + + $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon"></i>'); + + // 閮ㄩ棬浜哄憳 绛涢�� + dropdown.render({ + elem: '#organization' + ,content: ['<div id="organizationTree" style="height: calc(100vh - 525px);border: none"></div>'].join('') + ,style: 'width: 370px; height: 350px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);' + ,ready: function(){ + loadTree(); + } + }); + + // 鏍戝舰鍥� + var organizationTree; + window.loadTree = function(condition){ + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/dept/user/tree/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + 'condition': condition + }, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + organizationTree = tree.render({ + elem: '#organizationTree', + id: 'organizationTree', + onlyIconControl: true, + data: res.data, + click: function (obj) { + treeCond = { + key: obj.data.key, + val: obj.data.id + } + $('#organization').html(obj.data.title + ' <i class="layui-icon"></i>'); + $('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click'); + $(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click'); + clearFormVal($('#search-box')); + tableIns.reload({ + where: {[obj.data.key]: obj.data.id}, + page: {curr: 1} + }); + } + }); + treeData = res.data; + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + } // 鏁版嵁娓叉煋 tableIns = table.render({ diff --git a/src/main/webapp/static/js/priSales/priSales.js b/src/main/webapp/static/js/priSales/priSales.js index e366759..6265666 100644 --- a/src/main/webapp/static/js/priSales/priSales.js +++ b/src/main/webapp/static/js/priSales/priSales.js @@ -11,6 +11,64 @@ var layDate = layui.laydate; var form = layui.form; admin = layui.admin; + var tree = layui.tree; + var dropdown = layui.dropdown; + + $('#organization').html(localStorage.getItem('nickname') + ' <i class="layui-icon"></i>'); + + // 閮ㄩ棬浜哄憳 绛涢�� + dropdown.render({ + elem: '#organization' + ,content: ['<div id="organizationTree" style="height: calc(100vh - 525px);border: none"></div>'].join('') + ,style: 'width: 370px; height: 350px; padding: 0 15px; box-shadow: 1px 1px 30px rgb(0 0 0 / 12%);' + ,ready: function(){ + loadTree(); + } + }); + + // 鏍戝舰鍥� + var organizationTree; + window.loadTree = function(condition){ + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/dept/user/tree/auth", + headers: {'token': localStorage.getItem('token')}, + data: { + 'condition': condition + }, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + organizationTree = tree.render({ + elem: '#organizationTree', + id: 'organizationTree', + onlyIconControl: true, + data: res.data, + click: function (obj) { + treeCond = { + key: obj.data.key, + val: obj.data.id + } + $('#organization').html(obj.data.title + ' <i class="layui-icon"></i>'); + $('#organizationTree').find('.ew-tree-click').removeClass('ew-tree-click'); + $(obj.elem).children('.layui-tree-entry').addClass('ew-tree-click'); + clearFormVal($('#search-box')); + tableIns.reload({ + where: {[obj.data.key]: obj.data.id}, + page: {curr: 1} + }); + } + }); + treeData = res.data; + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg) + } + } + }) + } // 鏁版嵁娓叉煋 tableIns = table.render({ diff --git a/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html b/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html index 5ef0e16..1a7e11d 100644 --- a/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html +++ b/src/main/webapp/views/priQuoteBudget/priQuoteBudget.html @@ -9,6 +9,52 @@ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <style> + .nav-box { + position: absolute; + top: 1px; + left: 5px; + } + .nav-box-item { + display: inline-block; + vertical-align: middle; + margin-right: 5px; + } + + .layui-dropdown.layui-border-box.layui-panel.layui-anim.layui-anim-downbit,.layui-dropdown.layui-border-box.layui-panel.layui-anim.layui-anim-downbit * { + box-sizing:inherit; + } + + .layui-menu li { + width: inherit; + } + .layui-tree-icon { + height: 16px; + line-height: 15px; + width: 15px; + text-align: center; + border: 1px solid #c0c4cc; + } + + .site-dropdown-demo, + .site-dropdown-demo .layui-menu{background: #32363F;border-color: #484e58;} + .site-dropdown-demo .layui-menu li{color: #a1a8b8;} + .site-dropdown-demo .layui-menu li:hover{background-color: #32363F;} + .layui-menu-body-title>.layui-icon { + position: relative; + margin-right: 5px; + } + + .layui-form-radio { + display: block; + } + .layui-unselect.layui-form-radio { + display: inline-block; + } + .layui-form-radio:hover *, .layui-form-radioed, .layui-form-radioed>i { + color: #2d8cf0; + } + </style> </head> <body> @@ -16,6 +62,16 @@ <div class="layui-card"> <div class="layui-card-body"> <div id="search-box" class="layui-form toolbar" style="display: flex;justify-content: flex-end;position: relative"> + <div class="nav-box"> + <div class="nav-box-item"> + <i class="layui-icon" style="color: #1890ff;font-weight: bold"></i> + </div> + <div class="nav-box-item"> + <button id="organization" style="border: none;padding-right: 35px;" class="layui-btn layui-btn-primary icon-btn"> + 鏈煡 + </button> + </div> + </div> <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> diff --git a/src/main/webapp/views/priSales/priSales.html b/src/main/webapp/views/priSales/priSales.html index 2350401..fdafe6b 100644 --- a/src/main/webapp/views/priSales/priSales.html +++ b/src/main/webapp/views/priSales/priSales.html @@ -9,6 +9,52 @@ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <style> + .nav-box { + position: absolute; + top: 1px; + left: 5px; + } + .nav-box-item { + display: inline-block; + vertical-align: middle; + margin-right: 5px; + } + + .layui-dropdown.layui-border-box.layui-panel.layui-anim.layui-anim-downbit,.layui-dropdown.layui-border-box.layui-panel.layui-anim.layui-anim-downbit * { + box-sizing:inherit; + } + + .layui-menu li { + width: inherit; + } + .layui-tree-icon { + height: 16px; + line-height: 15px; + width: 15px; + text-align: center; + border: 1px solid #c0c4cc; + } + + .site-dropdown-demo, + .site-dropdown-demo .layui-menu{background: #32363F;border-color: #484e58;} + .site-dropdown-demo .layui-menu li{color: #a1a8b8;} + .site-dropdown-demo .layui-menu li:hover{background-color: #32363F;} + .layui-menu-body-title>.layui-icon { + position: relative; + margin-right: 5px; + } + + .layui-form-radio { + display: block; + } + .layui-unselect.layui-form-radio { + display: inline-block; + } + .layui-form-radio:hover *, .layui-form-radioed, .layui-form-radioed>i { + color: #2d8cf0; + } + </style> </head> <body> @@ -16,6 +62,16 @@ <div class="layui-card"> <div class="layui-card-body"> <div id="search-box" class="layui-form toolbar" style="display: flex;justify-content: flex-end;position: relative"> + <div class="nav-box"> + <div class="nav-box-item"> + <i class="layui-icon" style="color: #1890ff;font-weight: bold"></i> + </div> + <div class="nav-box-item"> + <button id="organization" style="border: none;padding-right: 35px;" class="layui-btn layui-btn-primary icon-btn"> + 鏈煡 + </button> + </div> + </div> <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> -- Gitblit v1.9.1