中扬CRM客户关系管理系统
#
LSH
2023-11-17 470ae430433a79c68e115fdc94fc16291f034749
#
3个文件已修改
254 ■■■■■ 已修改文件
src/main/java/com/zy/crm/manager/controller/DashboardController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/CompanyMoneyMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/home/dashboard.html 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/DashboardController.java
@@ -72,9 +72,15 @@
//        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / (successMoney + progressMoney + failedMoney)) * 100;
        double yearTransactionRate = successMoney == 0 ? successMoney : (successMoney / Double.parseDouble(companyTarget.getTarget())) * 100;
        Double successMoney1 = companyMoneyService.selectMoneyReceivablesAll(null, year);
        Double successMoney2 = companyMoneyService.selectMoneyActualReceiptsAll(null, year);
        map.put("successMoney", formatter.format(successMoney));//全年交易成功金额
        map.put("progressMoney", formatter.format(progressMoney));//全年未交易成功金额
        map.put("yearTransactionRate", String.format("%.2f", yearTransactionRate));//全年交易率
        map.put("receivablesMoney", successMoney1/10000);//应收款
        map.put("actualReceiptsMoney",successMoney2/10000);//实际收款
        return R.ok().add(map);
    }
@@ -203,12 +209,18 @@
        if (Cools.isEmpty(token)){
            return R.ok(item);
        }
        User user = getUser(token);
        if (Cools.isEmpty(user) || Cools.isEmpty(user.getRoleId())){
            return R.ok(item);
        }
        if (user.getRoleId()<3){
            item="true";
        try{
            User user = getUser(token);
            if (Cools.isEmpty(user) || Cools.isEmpty(user.getRoleId())){
                return R.ok(item);
            }
            if (user.getRoleId()<2){
                item="true";
            }else if (user.getRoleId()<3){
                item="true2";
            }
        }catch (Exception e){
        }
        return R.ok(item);
    }
src/main/resources/mapper/CompanyMoneyMapper.xml
@@ -31,13 +31,17 @@
    <select id="selectMoneyReceivablesAll" resultType="java.lang.Double">
        select sum(receivables) receivables from man_company_money
        where year(create_time) = #{year}
        and user_id = #{userId}
        <if test="userId != null">
            and user_id = #{userId}
        </if>
    </select>
    <select id="selectMoneyActualReceiptsAll" resultType="java.lang.Double">
        select sum(actual_receipts) actualReceipts from man_company_money
        where year(create_time) = #{year}
        and user_id = #{userId}
        <if test="userId != null">
            and user_id = #{userId}
        </if>
    </select>
    <select id="selectMoneyCopyAll" resultMap="BaseResultMap">
src/main/webapp/views/home/dashboard.html
@@ -84,7 +84,7 @@
                                <a href="#" id="openReimburseOnlinePendingTasks" style="color: #1E9FFF"><span id="reimburseOnlinePendingTaskCount">12121</span><em class="numberInfoSuffix">个</em></a>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center">
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" ID="popupPlanPriOnlinePendingTaskCount">
                            <div class="numberInfoSubTitle testColorBlack">可接收核价任务</div>
                            <div class="numberInfoValue">
<!--                                <a href="#" id="openPlanPriOnlinePendingTasks" style="color: #1E9FFF"><span id="planPriOnlinePendingTaskCount">888</span><em class="numberInfoSuffix">个</em></a>-->
@@ -114,6 +114,14 @@
                                <span id="companySuccess">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg6 text-center">
                            <div class="numberInfoSubTitle testColorBlack">项目应收款</div>
                            <div class="numberInfoValue">
                                <span id="receivables">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                    </div>
                    <div  class="layui-row" style="margin-top: 40px;">
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg3 text-center">
                            <div class="numberInfoSubTitle testColorBlack">未完成销售任务</div>
                            <div class="numberInfoValue">
@@ -124,10 +132,46 @@
                            <div class="numberInfoSubTitle testColorBlack">完成率</div>
                            <div class="numberInfoValue"><span id="companyRate">92</span>%</div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg6 text-center">
                            <div class="numberInfoSubTitle testColorBlack">项目实际收款</div>
                            <div class="numberInfoValue">
                                <span id="actualReceipts">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-card" style="background-color: #ffffff">
            <div class="layui-card" style="" id="popupTwo">
                <div class="layui-card-header testColorBlack" style="background-color: #FFFA1C1C">团队活动实时交易情况</div>
                <div class="layui-card-body" style="padding-bottom: 20px;background-color: #FFC6A02D">
                    <div class="layui-row">
                        <div class="testColorBlack">团队数据</div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg3 text-center">
                            <div class="numberInfoSubTitle testColorBlack" >年度销售目标</div>
                            <div class="numberInfoValue">
                                <span id="companyYearTargetTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg3 text-center">
                            <div class="numberInfoSubTitle testColorBlack">已完成销售任务</div>
                            <div class="numberInfoValue">
                                <span id="companySuccessTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg3 text-center">
                            <div class="numberInfoSubTitle testColorBlack">未完成销售任务</div>
                            <div class="numberInfoValue">
                                <span id="companyProgressTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg3 text-center">
                            <div class="numberInfoSubTitle testColorBlack">完成率</div>
                            <div class="numberInfoValue"><span id="companyRateTwo">92</span>%</div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-card"  id="popupNow" style="background-color: #ffffff">
                <div class="layui-card-header testColorBlack" style="background-color: #FFFA1C1C">实时销售情况</div>
                <div class="layui-card-body" style="padding-bottom: 20px;background-color: #FFC6A02D">
                    <div class="layui-row">
@@ -195,15 +239,94 @@
                    </div>
                </div>
            </div>
            <div class="layui-card"   id="popupNowTwo"style="background-color: #ffffff">
                <div class="layui-card-header testColorBlack" style="background-color: #FFFA1C1C">实时销售情况</div>
                <div class="layui-card-body" style="padding-bottom: 20px;background-color: #FFC6A02D">
                    <div class="layui-row">
                        <div class="testColorBlack" style="">个人数据</div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">年度销售目标</div>
                            <div class="numberInfoValue">
                                <span id="personYearTargetTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">已完成销售任务</div>
                            <div class="numberInfoValue">
                                <span id="personSuccessTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">未完成销售任务</div>
                            <div class="numberInfoValue">
                                <span id="personProgressTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">完成率</div>
                            <div class="numberInfoValue"><span id="personRateTwo">92</span>%</div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">个人项目实际收款</div>
                            <div class="numberInfoValue">
                                <span id="successMoney2Two">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                    </div>
                    <div class="layui-row" style="margin-top: 40px;">
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">跟踪项目数量</div>
                            <div class="numberInfoValue">
                                <a href="#" id="openProgressTwo" style="color: #1E9FFF"><span id="progressCountTwo">124</span><em class="numberInfoSuffix">个</em></a>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">跟踪项目金额</div>
                            <div class="numberInfoValue">
                                <span id="progressMoneyTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">成交项目数量</div>
                            <div class="numberInfoValue">
                                <a href="#" id="openSuccessTwo" style="color: #1E9FFF"><span id="successCountTwo">121</span><em class="numberInfoSuffix">个</em></a>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">成交项目金额</div>
                            <div class="numberInfoValue">
                                <span id="successMoneyTwo">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                        <div class="layui-col-xs12 layui-col-sm6 layui-col-lg2 text-center" style="margin-left: 3%">
                            <div class="numberInfoSubTitle testColorBlack">个人项目应收款</div>
                            <div class="numberInfoValue">
                                <span id="successMoney1Two">124,543,233</span><em class="numberInfoSuffix">万元</em>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="layui-col-xs12 layui-col-md4">
            <div class="layui-card" style="height: 403px;overflow: hidden;background-color: #FFFA1C1C;height: 438px">
        <div class="layui-col-xs12 layui-col-md4" id="popupPost">
            <div class="layui-card" style="overflow: hidden;background-color: #FFFA1C1C;height: 548px">
                <div class="layui-card-header" style="display: flex;justify-content: space-between;">
                    <div>公司公告</div>
                    <div><a href="#" id="openCompanyPost" style="color: #1E9FFF">查看更多>></a></div>
                </div>
                <div class="layui-card-body" id="companyPostId" style="background-color: #FFC6A02D">
                </div>
            </div>
        </div>
        <div class="layui-col-xs12 layui-col-md4" id="popupPostTwo">
            <div class="layui-card" style="height: 300px;overflow: hidden;background-color: #FFFA1C1C;">
                <div class="layui-card-header" style="display: flex;justify-content: space-between;">
                    <div>公司公告</div>
                    <div><a href="#" id="openCompanyPostTwo" style="color: #1E9FFF">查看更多>></a></div>
                </div>
                <div class="layui-card-body" id="companyPostIdTwo" style="background-color: #FFC6A02D">
                </div>
            </div>
        </div>
@@ -315,14 +438,37 @@
    function showPopup(res) {
        if (res==="true"){
            document.getElementById('popup').style.display = 'block';
        }else {
            document.getElementById('popupTwo').style.display = 'none';
            document.getElementById('popupNow').style.display = 'block';
            document.getElementById('popupNowTwo').style.display = 'none';
            document.getElementById('popupPost').style.display = 'block';
            document.getElementById('popupPostTwo').style.display = 'none';
        }else if (res==="true2"){
            document.getElementById('popup').style.display = 'none';
            document.getElementById('popupTwo').style.display = 'block';
            document.getElementById('popupNow').style.display = 'block';
            document.getElementById('popupNowTwo').style.display = 'none';
            document.getElementById('popupPost').style.display = 'block';
            document.getElementById('popupPostTwo').style.display = 'none';
        } else {
            // 隐藏团队数据
            document.getElementById('popup').style.display = 'none';
            document.getElementById('popupTwo').style.display = 'none';
            document.getElementById('popupNow').style.display = 'none';
            document.getElementById('popupNowTwo').style.display = 'block';
            document.getElementById('popupPost').style.display = 'none';
            document.getElementById('popupPostTwo').style.display = 'block';
        }
    }
    // 隐藏团队数据
    function hidePopup() {
        document.getElementById('popup').style.display = 'none';
        document.getElementById('popupTwo').style.display = 'none';
        document.getElementById('popupNow').style.display = 'none';
        document.getElementById('popupNowTwo').style.display = 'block';
        document.getElementById('popupPlanPriOnlinePendingTaskCount').style.display = 'none';
        document.getElementById('popupPost').style.display = 'none';
        document.getElementById('popupPostTwo').style.display = 'block';
    }
</script>
@@ -350,9 +496,15 @@
            method: 'POST',
            success: function (res) {
                $("#companyYearTarget").text(res.data.yearTarget)
                $("#companyYearTargetTwo").text(res.data.yearTarget)
                $("#companySuccess").text(res.data.successMoney)
                $("#companySuccessTwo").text(res.data.successMoney)
                $("#companyProgress").text(res.data.progressMoney)
                $("#companyProgressTwo").text(res.data.progressMoney)
                $("#companyRate").text(res.data.yearTransactionRate)
                $("#companyRateTwo").text(res.data.yearTransactionRate)
                $("#receivables").text(res.data.receivablesMoney)
                $("#actualReceipts").text(res.data.actualReceiptsMoney)
            }
        });
@@ -366,21 +518,37 @@
            method: 'POST',
            success: function (res) {
                $("#personYearTarget").text(res.data.yearTarget)
                $("#personYearTargetTwo").text(res.data.yearTarget)
                $("#personSuccess").text(res.data.successMoney)
                $("#personSuccessTwo").text(res.data.successMoney)
                $("#personProgress").text(res.data.progressMoney)
                $("#personProgressTwo").text(res.data.progressMoney)
                $("#personRate").text(res.data.yearTransactionRate)
                $("#personRateTwo").text(res.data.yearTransactionRate)
                $("#progressCount").text(res.data.progressCount)
                $("#progressCountTwo").text(res.data.progressCount)
                $("#successCount").text(res.data.successCount)
                $("#successCountTwo").text(res.data.successCount)
                $("#progressMoney").text(res.data.progressMoney2)
                $("#progressMoneyTwo").text(res.data.progressMoney2)
                $("#successMoney").text(res.data.successMoney)
                $("#successMoneyTwo").text(res.data.successMoney)
                $("#planPendingTaskCount").text(res.data.planPendingTaskCount)
                $("#planPendingTaskCountTwo").text(res.data.planPendingTaskCount)
                $("#priOnlinePendingTaskCount").text(res.data.priOnlinePendingTaskCount)
                $("#priOnlinePendingTaskCountTwo").text(res.data.priOnlinePendingTaskCount)
                $("#priQuotePendingTaskCount").text(res.data.priQuotePendingTaskCount)
                $("#priQuotePendingTaskCountTwo").text(res.data.priQuotePendingTaskCount)
                $("#businessTripPendingTaskCount").text(res.data.businessTripPendingTaskCount)
                $("#businessTripPendingTaskCountTwo").text(res.data.businessTripPendingTaskCount)
                $("#reimburseOnlinePendingTaskCount").text(res.data.reimburseOnlinePendingTaskCount)
                $("#reimburseOnlinePendingTaskCountTwo").text(res.data.reimburseOnlinePendingTaskCount)
                $("#planPriOnlinePendingTaskCount").text(res.data.planPriOnlinePendingTaskCount)
                $("#planPriOnlinePendingTaskCountTwo").text(res.data.planPriOnlinePendingTaskCount)
                $("#successMoney1").text(res.data.successMoney1)
                $("#successMoney1Two").text(res.data.successMoney1)
                $("#successMoney2").text(res.data.successMoney2)
                $("#successMoney2Two").text(res.data.successMoney2)
            }
        });
@@ -451,6 +619,7 @@
                    $("#companyPostId").append(div)
                    $("#companyPostIdTwo").append(div)
                }
            }
        });
@@ -567,6 +736,35 @@
                }
            });
        });
        $("#openProgressTwo").on("click", () => {
            layer.open({
                type: 2,
                title: '跟踪项目',
                maxmin: true,
                area: [top.detailWidth, top.detailHeight],
                shadeClose: true,
                content: '../order/order.html?status=0',
                success: function(layero, index){
                }
            });
        });
        $("#openSuccessTwo").on("click", () => {
            layer.open({
                type: 2,
                title: '跟踪项目',
                maxmin: true,
                area: [top.detailWidth, top.detailHeight],
                shadeClose: true,
                content: '../order/order.html?status=1',
                success: function(layero, index){
                }
            });
        });
        $("#openPlanPendingTasks").on("click", () => {
            layer.open({
                type: 2,
@@ -637,6 +835,20 @@
            });
        });
        $("#openCompanyPostTwo").on("click", () => {
            layer.open({
                type: 2,
                title: '公告',
                maxmin: true,
                area: [top.detailWidth, top.detailHeight],
                shadeClose: true,
                content: '../companyPost/companyPost_view.html',
                success: function(layero, index){
                }
            });
        });
    });
    function f() {