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