123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689 |
- {extend name="public/layout"}
- {block name="head"}
- {include file="public/head"}
- <link rel="stylesheet" href="/static/css/welcome.css?ver=2.8">
- <style>
- body {
- color: #384855;
- }
- .nonedatabox {
- display: block;
- width: 100%;
- position: absolute;
- top: 50%;
- left: 0;
- margin-top: -101px;
- }
- .noneimg {
- display: block;
- width: 200px;
- height: 161px;
- margin: 0px auto 20px;
- }
- .nonetext {
- font-size: 16px;
- text-align: center;
- }
- .mb0 {
- margin-bottom: 0px;
- }
- .line-middle {
- width: 10px;
- height: 100%;
- margin: 0px 10px;
- }
- .line {
- width: 10px;
- height: 2px;
- background-color: #999999;
- }
- .flex-row,
- .row {
- display: flex;
- }
- .align-center {
- align-items: center;
- }
- .ml10 {
- margin-left: 10px;
- }
- .mt10 {
- margin-top: 10px;
- }
- .layui-input-block {
- margin-left: 0px;
- }
- .justify-end {
- justify-content: flex-end;
- }
- .justify-between {
- justify-content: space-between;
- }
- .titext {
- height: 38px;
- line-height: 38px;
- font-size: 18px;
- padding-left: 12px;
- position: relative;
- }
- .titext::after {
- content: ' ';
- display: block;
- width: 4px;
- height: 16px;
- border-radius: 3px;
- background: #85A1B8;
- position: absolute;
- top: 11px;
- left: 0;
- }
- .layui-btn {
- background-color: #fff;
- color: #555;
- border: 1px solid #c9c9c9
- }
- .layui-btn:hover {
- background-color: #fff;
- color: #555;
- border: 1px solid #249efb;
- }
- .layui-btn-primary,
- .sBtn {
- background-color: #249efb;
- color: #fff;
- border: 1px solid #249efb;
- }
- .layui-btn-primary:hover {
- background-color: #249efb;
- color: #fff;
- border: 1px solid #249efb;
- }
- .layui-table td,
- .layui-table th {
- box-sizing: border-box !important;
- }
- .layui-table-view .layui-table {
- width: 100%;
- }
- .layui-tab-title {
- left: 25px;
- margin-top: 15px;
- }
- .layui-this {
- background-color: #249EFB !important;
- color: #fff !important;
- }
- .layui-tab-title li {
- background-color: #F2F2F2;
- margin: 0px 5px;
- border-radius: 2px;
- }
- .layui-tab-title li::after {
- border: 0 !important;
- }
- .layui-tab-content {
- padding: 0;
- }
- .none {
- display: none !important;
- }
- #topleftline{
- display: block;
- width: 100%;
- height: 240px;
- position: relative;
- top: -30px;
- }
- #toprightline {
- display: block;
- width: 95%;
- height: 240px;
- position: relative;
- top: -30px;
- float: right;
- }
- #lookline {
- display: block;
- height: 240px;
- width: calc(100% - 760px);
- position: absolute;
- bottom: -30px;
- right: 10px;
- }
- #crmpie {
- display: block;
- width: 130px;
- height: 130px;
- position: absolute;
- bottom: 20px;
- left: 0;
- }
- .crmnumbox {
- position: absolute;
- bottom: 60px;
- left: 26px;
- z-index: 8;
- width: 76px;
- text-align: center;
- }
- .rightitopbox{
- max-width: calc(100% - 100px);
- float: right;
- }
- .layui-table-cell {
- padding: 0px 20px;
- }
- th.layui-table-patch{padding: 0 !important;}
- .numtablebox .topnum{
- margin-bottom: 0;
- }
- #cluelineDatabox{
- padding: 0 !important;
- }
- #cluelineData{
- display: block;
- width: 100%;
- height: 240px;
- position: relative;
- top: -5px;
- }
- .colorred{
- color: #F51231 !important;
- }
- .levelcrm .otherlev{
- display: block;
- width: 20px;
- height: 12px;
- position: relative;
- top: 4px;
- margin-right: 8px;
- background-color: #85A1B8;
- }
- @media screen and (max-width: 950px) {
- .crmpiebox .levelcrm:last-child .otherlev{
- margin-right: 0;
- }
- }
- </style>
- {/block}
- {block name="body"}
- <body>
- <div class="clearfix titlebox">
- <div class="left titext">数据统计</div>
- <div class="left search-form layui-form flex-row align-center justify-between rightitopbox">
- <div class="flex-row align-center ">
- <div class="layui-form-item mb0" lay-filter="form_whereyear">
- <select name="whereyear" id="sel" lay-filter="whereyear" lay-search>
- </select>
- </div>
- <div class="layui-inline row ml10" id="timeBtn">
- <input type="button" class="layui-btn" value="今日" />
- <input type="button" class="layui-btn" value="7天" />
- <input type="button" class="layui-btn layui-btn-primary" value="1个月" />
- <input type="button" class="layui-btn" value="3个月" />
- <input type="button" class="layui-btn " value="1年" />
- </div>
- <div class="layui-inline ml10">
- <!-- 注意:这一层元素并不是必须的 -->
- <input type="text" class="layui-input" id="sDate" name="start_date" placeholder="选择开始日期">
- </div>
- <div class="line-middle">
- <div class="line"></div>
- </div>
- <div class="layui-inline">
- <!-- 注意:这一层元素并不是必须的 -->
- <input type="text" class="layui-input" id="eDate" name="end_date" placeholder="选择结束日期">
- </div>
- </div>
- <div class="filterbox">
- <button id="filtersearch" class="layui-btn sBtn ml10" lay-submit lay-filter="table-search">筛选</button>
- </div>
- </div>
- </div>
- <div class="topdatabox">
-
- <div class="clearfix alldatabox">
- <div class="clearfix" >
- <div class="left everydatabox topleftdata height180 relative alldatatopleftbox" >
-
- </div>
- <div class="topleftlinedata left everydatabox topleftdata height180 relative none" style="padding: 0;">
- <img class="leftlinecloseimgbox pointer" src="/static/img/golast.png" />
- <div id="topleftline" >
-
- </div>
- </div>
- <div class="right everydatabox toprightdata height180 alldatatoprightbox">
-
- </div>
- <div class="toprightlinedata right everydatabox toprightdata height180 relative none" style="padding: 0;">
- <img class="rightlinecloseimgbox pointer" src="/static/img/golast.png" />
- <div id="toprightline">
-
- </div>
- </div>
- </div>
- <div class="clearfix mt16 everydatabox relative height170">
- <div class="clearfix looktit">见面数据</div>
- <div class="mt16 center clearfix visitDatabox">
-
- </div>
- <div id="lookline">
-
- </div>
- </div>
- <div class="clearfix mt16">
- <div class="left everydatabox topleftdata relative crmleftpiebox height170">
- <div class="clearfix">
- <img class="left iconimg" src="/static/img/topicon.png" />
- <div class="left toptitbox">客户分类</div>
- {auth:check name="statistics/customer"}
- <a class="right crmlevbox toptitbox pointer color249efb">详情>></a>
- {/auth:check}
- </div>
- <div id="crmpie" ></div>
- <div class="crmnumbox">
- <div class="crmallnum" id="crmallnum">0</div>
- <div>客户总量</div>
- </div>
- <div class="crmpiebox clearfix">
- <div class="levelcrm left center">
- <div class="inline-block clearfix">
- <div class="crmallnum crmallnum_a colorred">0</div>
- <div class="everycrmbox clearfix">
- <span class="alev left "></span>
- <span class="left">A类客户</span>
- </div>
- <div class="crmcutnumbox">转化率0%</div>
- </div>
- </div>
- <div class="levelcrm left center">
- <div class="inline-block clearfix">
- <div class="crmallnum crmallnum_b">0</div>
- <div class="everycrmbox clearfix">
- <span class="blev left"></span>
- <span class="left">B类客户</span>
- </div>
- </div>
- </div>
- <div class="levelcrm left center">
- <div class="inline-block clearfix">
- <div class="crmallnum crmallnum_c">0</div>
- <div class="everycrmbox clearfix">
- <span class="clev left"></span>
- <span class="left">C类客户</span>
- </div>
- </div>
- </div>
- <div class="levelcrm left center">
- <div class="inline-block clearfix">
- <div class="crmallnum crmallnum_d">0</div>
- <div class="everycrmbox clearfix">
- <span class="dlev left"></span>
- <span class="left">D类客户</span>
- </div>
- </div>
- </div>
- <div class="levelcrm left center">
- <div class="inline-block clearfix">
- <div class="crmallnum crmallnum_other">0</div>
- <div class="everycrmbox clearfix">
- <span class="otherlev left"></span>
- <span class="left">其他客户</span>
- </div>
- </div>
- </div>
- </div>
-
- </div>
- <div class="right everydatabox toprightdata height170 cluenumData">
-
- </div>
- <div id="cluelineDatabox" class="right everydatabox toprightdata height170 relative" style="display:none;">
- <img class="rightlinecloseimgbox pointer" src="/static/img/golast.png" />
- <div id="cluelineData">
-
- </div>
- </div>
- </div>
- <div class="clearfix mt16 clearfix relative">
- <div class="left everydatabox rightmainbox relative topleftdata">
- <div class="achievement">统计排行</div>
- <div class="maintypebox clearfix">
- <div class="nowtit dingrank" id="dingrankEle">定金</div>
- <div class="signrank" id="signrankEle">合同</div>
- </div>
- <div class="depositRank">
- <div class="rankingbox relative rankingbox1">
- <div class="ranktitbox">
- <div class="namebox tleft">姓名</div>
- <div class="departbox">部门</div>
- <div class="complete" id="completeEle">交定数量</div>
- <div class="workbox" id="workboxEle">交定率</div>
- <div class="ranknum">排名</div>
- </div>
- <div class="ranklistbox dingrankbox">
-
- </div>
- </div>
- <div class="dingrankbox1 nonedatabox " style="display: none;">
- <img class="noneimg" src="/static/img/nonedata.png" alt="" />
- <div class="nonetext" id="nonetextEle">暂无交定数据</div>
- </div>
- </div>
-
- <div class="signRank" style="display: none;">
- <div class="rankingbox relative rankingbox2" >
- <div class="ranktitbox">
- <div class="namebox tleft">姓名</div>
- <div class="departbox">部门</div>
- <div class="complete" id="completeEls">定金数量</div>
- <div class="workbox" id="workboxEls">定金率</div>
- <div class="ranknum">排名</div>
- </div>
- <div class="ranklistbox signrankbox" >
-
-
- </div>
- </div>
- <div class="signrankbox1 nonedatabox " style="display: none;">
- <img class="noneimg" src="/static/img/nonedata.png" alt="" />
- <div class="nonetext" id="nonetextEls">暂无定金数据</div>
- </div>
- </div>
- </div>
- <div class="right everydatabox echartlinebox toprightdata" id='echartbox'>
-
- </div>
- </div>
- </div>
- </div>
- </body>
- {/block}
- {block name="js"}
- <script src="/static/js/echarts.min.js"></script>
- <script src="/static/js/jquery.min.js"></script>
- <script>
- var xinjushang = "{$xinjushang}";
- function setYMD(time) {
- let dateTime = new Date(time);
- let year = dateTime.getFullYear();
- let Month = dateTime.getMonth() + 1;
- let days = dateTime.getDate();
- return `${year}-${Month > 9 ? Month : '0' + Month}-${days > 9 ? days : '0' + days}`;
- }
- var dateArr = {};
- var today = new Date().getTime();
- var oneTime = 24 * 60 * 60 * 1000;
- var sevenDay1 = today - 6 * oneTime;
- var oneMonth = today - 30 * oneTime;
- var threeMonth = today - 3 * 30 * oneTime;
- var oneyear = today - 365 * oneTime;
- dateArr = {
- nowS: setYMD(today),
- nowE: setYMD(today),
- sevenDayS: setYMD(sevenDay1),
- sevenDayE: setYMD(today),
- oneMonthS: setYMD(oneMonth),
- oneMonthE: setYMD(today),
- threeMonthS: setYMD(threeMonth),
- threeMonthE: setYMD(today),
- oneyearS: setYMD(oneyear),
- oneyearE: setYMD(today),
- }
- layui.use(['table','form', 'laydate', 'element'], function () {
- let form = layui.form,
- table=layui.table,
- element = layui.element,
- laydate = layui.laydate,
- $ = layui.$;
- $('#sDate').val(dateArr.oneMonthS);
- $('#eDate').val(dateArr.oneMonthE);
-
- let textVal = '定金';
- let textval1 = '合同';
- let textval2 = '定金数量';
- let textval3 = '定金率';
- let textval4 = '合同数量';
- let textval5 = '合同率';
- let textval6 = '暂无合同数据';
- let textval7 = '暂无定金数据';
- $("#dingrankEle").text(textVal);
- $("#signrankEle").text(textval1);
- $("#completeEle").text(textval2);
- $("#workboxEle").text(textval3);
- $("#completeEls").text(textval4);
- $("#workboxEls").text(textval5);
- $("#nonetextEls").text(textval6);
- $("#nonetextEle").text(textval7);
- $('body').attr('layadmin-themealias', 'default');
- laydate.render({
- elem: '#sDate', //指定元素
- format: 'yyyy-MM-dd',
- trigger: 'click'
- });
- laydate.render({
- elem: '#eDate', //指定元素
- format: 'yyyy-MM-dd',
- trigger: 'click'
- });
- $.ajax({
- type: 'post',
- url: '/dashboard/index/org.html',
- data: {},
- success: function (res) {
- // sel
- if (res.code == 0) {
- var str = '<option value="">全部</option>';
- for (var i in res.data) {
- str += '<option value="' + res.data[i].id + '">' + res.data[i].name + '</option>';
- str += arrfun(res.data[i].child);
- }
- $('#sel').append(str);
- form.render('select');
- }
- }
- })
- signData();
-
- depositData();
- visitData();
- customerLevelData();
- clueData();
- depositRank();
- signRank();
- echartline();
- lookfun();
-
-
- $('#timeBtn').on('click', function (e) {
- if (!!(e.target.localName != 'input')) return;
- let o = document.querySelector('#timeBtn').children;
- if (e.target.classList.contains('layui-btn-primary') == true) {
- for (var i = 0; i < o.length; i++) {
- o[i].className = 'layui-btn';
- }
- $('#sDate').val('');
- $('#eDate').val('');
- } else {
- for (var i = 0; i < o.length; i++) {
- o[i].className = 'layui-btn';
- }
- e.target.className = 'layui-btn layui-btn-primary';
- if (!!(e.target.className.indexOf('layui-btn-primary') > 0)) {
- if (e.target.value == '今日') {
- $('#sDate').val(dateArr.nowS);
- $('#eDate').val(dateArr.nowE);
- } else if (e.target.value == '7天') {
- $('#sDate').val(dateArr.sevenDayS);
- $('#eDate').val(dateArr.sevenDayE);
- } else if (e.target.value == '1个月') {
- $('#sDate').val(dateArr.oneMonthS);
- $('#eDate').val(dateArr.oneMonthE);
- } else if (e.target.value == '3个月') {
- $('#sDate').val(dateArr.threeMonthS);
- $('#eDate').val(dateArr.threeMonthE);
- } else if (e.target.value == '1年') {
- $('#sDate').val(dateArr.oneyearS);
- $('#eDate').val(dateArr.oneyearE);
- } else {
- $('#sDate').val(dateArr.oneyearS);
- $('#eDate').val(dateArr.oneyearE);
- }
- }
- }
- getAllData()
- })
-
- form.on('submit(table-search)', function (data) {
- let field = data.field;
- let element = $('.layui-btn-primary');
- if (element && element[0]) {
- let el = element[0].value;
- }
- getAllData()
- });
- function getAllData(){
- signData();
- depositData();
- visitData();
- customerLevelData();
- clueData();
- depositRank();
- signRank();
- if($('.topleftlinedata').css('display')!='none'){
- leftlinefun();
- }
- if ($('.toprightlinedata').css('display') != 'none') {
- rightlinefun();
- }
- if ($('#cluelineDatabox').css('display') != 'none') {
- cluefun();
- }
- echartline();
- lookfun();
- }
- form.on('select(whereyear)', function () {
- getAllData()
- });
-
- $('.crmlevbox').on('click',function(){
- window.parent.numtap();
- })
- $('.alldatatopleftbox').on('click','.topleftlistmsgbox',function(){
- window.parent.numtap();
- })
-
- $('.alldatatopleftbox').on('click', '#topleftimg',function () {
- $(this).parents('.everydatabox').addClass('none');
- $(this).parents('.everydatabox').siblings('.topleftlinedata').removeClass('none');
- leftlinefun();
- })
- $('.leftlinecloseimgbox').on('click', function () {
- $(this).parents('.everydatabox').addClass('none');
- $(this).parents('.everydatabox').siblings('.everydatabox')[0].classList.remove('none');
- })
-
- $('.alldatatoprightbox').on('click', '.toprightlistmsgbox', function () {
- window.parent.numtap();
- })
- $('.alldatatoprightbox').on('click', '#toprightimg', function () {
- $(this).parents('.everydatabox').addClass('none');
- $(this).parents('.everydatabox').siblings('.toprightlinedata').removeClass('none');
- rightlinefun();
- })
- $('.cluenumData').on('click','.cluelineshowbox',function () {
- $(this).parents('.everydatabox').hide();
- $(this).parents('.everydatabox').siblings('#cluelineDatabox').show();
- cluefun();
- })
- $('.toprightlinedata .rightlinecloseimgbox').on('click', function () {
- $(this).parents('.everydatabox').addClass('none');
- $(this).parents('.everydatabox').siblings('.everydatabox')[2].classList.remove('none');
- })
- $('#cluelineDatabox .rightlinecloseimgbox').on('click', function () {
- $(this).parents('.everydatabox').hide();
- $(this).parents('.everydatabox').siblings('.cluenumData').show();
- })
- $('.maintypebox div').on('click', function () {
- $('.nowtit').removeClass('nowtit')
- $(this).addClass('nowtit');
- if ($(this).hasClass('dingrank')) {
- $('.depositRank').show();
- $('.signRank').hide();
- } else {
- $('.depositRank').hide();
- $('.signRank').show();
- }
- });
- $('.cluenumData').on('click','.centercluelistbox',function () {
- window.parent.numtap();
- })
-
-
- })
- function echartline() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/followUpData.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- let dataArr = ['有效线索', '已到店', '已到场', '已量房', '定金', '合同'];
- if (res.code == 0) {
- var myChart = echarts.init(document.getElementById('echartbox'));
- var option = {
- title: {
- text: '客户跟进次数',
- top: 20,
- left: '0%',
- textStyle:{
- fontWeight:'normal'
- },
- },
- grid: {
- left: '3%',
- right: '4%',
- top: 66,
- bottom: '3%',
- containLabel: true
- },
- tooltip: {
- trigger: 'axis',
- axisPointer: {
- type: 'shadow'
- }
- },
- xAxis: {
- type: 'category',
- data: dataArr,
- },
- yAxis: {
- type: 'value',
- minInterval: 1
- },
- series: [
- {
- type: 'bar',
- itemStyle:{
- },
- data: [res.data.valid_num, res.data.shop_num, res.data.present_num, res.data.measure_num, res.data.deposit_num, res.data.sign_num],
- backgroundStyle: {
- color: '#249efb'
- }
- }
- ]
- };
- myChart.setOption(option);
- $(window).resize(function () {
- myChart.resize();
- })
- }
- }
- })
-
- }
- function signRank() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/signRank.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var str = "";
- for (var i in res.data) {
- str += '<div class="bgfff relative clearfix ' + (i == 0 ? 'firstbox' : i == 1 ? 'secondbox': i == 2?'secondbox thirdbox': '') + ' borderbt">' +
- '<div class="clearfix namebox tleft" >' +
- ' <img class="left" src="' + (res.data[i].headimgurl ? res.data[i].headimgurl : '/static/img/default.png') + '" />' +
- ' <div class="left tleft personamebox ellipsis">' + res.data[i].name + '</div>' +
- ' </div >' +
- ' <div class="departbox">' + res.data[i].org_name + '</div>' +
- ' <div class="complete">' + res.data[i].num + '</div>' +
- ' <div class="workbox">' + res.data[i].lv + '</div>' +
- ' <div class="ranknum">' + (i * 1 + 1) + '</div>' +
- '</div >';
- }
- if (!str) {
- $('.rankingbox2').hide();;
- $('.signrankbox1').show();;
- }
- $('.signrankbox').html(str);
- }
- }
- })
- }
- function depositRank() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/depositRank.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var str = "";
- for (var i in res.data) {
- str += '<div class="bgfff relative clearfix ' + (i == 0 ? 'firstbox' : i == 1 ? 'secondbox' : i == 2 ? 'secondbox thirdbox' : '') + ' borderbt">' +
- '<div class="clearfix namebox tleft" >' +
- ' <img class="left" src="' + (res.data[i].headimgurl ? res.data[i].headimgurl : '/static/img/default.png') + '" />' +
- ' <div class="left tleft personamebox ellipsis">' + res.data[i].name + '</div>' +
- ' </div >' +
- ' <div class="departbox">' + res.data[i].org_name + '</div>' +
- ' <div class="complete">' + res.data[i].num + '</div>' +
- ' <div class="workbox">' + res.data[i].lv + '</div>' +
- ' <div class="ranknum">' + (i * 1 + 1) + '</div>' +
- '</div >';
- }
- if (!str) {
- $('.rankingbox1').hide();
- $('.dingrankbox1').show();
- }
- $('.dingrankbox').html(str);
- }
- }
- })
- }
- function clueData() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/clueData.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var str = '<div class="clearfix">' +
- ' <img class="left iconimg" src = "/static/img/topicon.png" />' +
- ' <div class="left toptitbox">获客数据</div>' +
- ' <div class="right">' +
- ' <div class="left rightadd '+ ($('#sDate').val()== $('#eDate').val()?'':'none')+'">今日新增:' + res.data.today + '单</div>' +
- ' <img class="left righticonimg pointer cluelineshowbox" src="/static/img/lineicon.png" />' +
- ' </div>' +
- '</div >' +
- '<div class="clearfix mt32 center">' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.num + '</div>' +
- ' <div class="cluetext">获客量</div>' +
- ' </div>' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.valid_num + '</div>' +
- ' <div class="cluetext">有效线索建档</div>' +
- ' </div>' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.valid_lv + '</div>' +
- ' <div class="cluetext">有效率</div>' +
- ' </div>' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.invalid_num + '</div>' +
- ' <div class="cluetext">无效线索</div>' +
- ' </div>' +
- '</div>';
- '{auth:check name="statistics/customer" }'
- str = '<div class="clearfix">' +
- ' <img class="left iconimg" src = "/static/img/topicon.png" />' +
- ' <div class="left toptitbox">获客数据</div>' +
- ' <div class="right">' +
- ' <div class="left rightadd ' + ($('#sDate').val() == $('#eDate').val() ? '' : 'none') + '">今日新增:' + res.data.today + '单</div>' +
- ' <img class="left righticonimg pointer cluelineshowbox" src="/static/img/lineicon.png" />' +
- ' <div class="left toptitbox pointer centercluelistbox color249efb">详情>></div>' +
- ' </div>' +
- '</div >' +
- '<div class="clearfix mt32 center">' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.num + '</div>' +
- ' <div class="cluetext">获客量</div>' +
- ' </div>' +
- ' <div class="left cluept">' +
- ' <div class="topnum colorred">' + res.data.valid_num + '</div>' +
- ' <div class="cluetext">有效线索建档</div>' +
- ' </div>' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.valid_lv + '</div>' +
- ' <div class="cluetext">有效率</div>' +
- ' </div>' +
- ' <div class="left cluept">' +
- ' <div class="topnum">' + res.data.invalid_num + '</div>' +
- ' <div class="cluetext">无效线索</div>' +
- ' </div>' +
- '</div>';
- '{/auth:check}'
- $('.cluenumData').html(str);
- }
- }
- })
- }
- function customerLevelData() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/customerLevelData.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- $('#crmallnum').html(res.data.num);
- $('.crmallnum_a').html(res.data.A_num);
- $('.crmallnum_b').html(res.data.B_num);
- $('.crmallnum_c').html(res.data.C_num);
- $('.crmallnum_d').html(res.data.D_num);
- $('.crmcutnumbox').html('转化率'+res.data.a_sign_lv);
- var num= res.data.num- res.data.A_num- res.data.B_num- res.data.C_num; - res.data.D_num;
- $('.crmallnum_other').html(num);
- var myChart1 = echarts.init(document.getElementById('crmpie'));
- var option1 = {
- legend: {
- show: false,
- },
- tooltip: {
- show: false,
- },
- series: [
- {
- type: 'pie',
- radius: ['90%', '55%'],
- avoidLabelOverlap: false,
- itemStyle: {
- borderColor: '#fff',
- borderWidth: 10
- },
- label: {
- show: false,
- position: 'center'
- },
- data: [
- {
- value: res.data.A_num,
- itemStyle: {
- color: '#ff0000'
- }
- },
- {
- value: res.data.B_num,
- itemStyle: {
- color: '#249efb'
- }
- },
- {
- value: res.data.C_num,
- itemStyle: {
- color: '#f5dc00'
- }
- },
- {
- value: res.data.D_num,
- itemStyle: {
- color: '#5EC530'
- }
- },
- {
- value: num,
- itemStyle: {
- color: '#85A1B8'
- }
- }
- ]
- }
- ]
- };
- myChart1.setOption(option1);
- $(window).resize(function () {
- myChart1.resize();
- })
- }
- }
- })
- }
- function signData() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/signData.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- let signText = '合同';
- if (res.code == 0) {
- var num= res.data.employee_num?res.data.sign_num?(res.data.sign_num / res.data.employee_num)<1?0: (res.data.sign_num / res.data.employee_num).toFixed(0):0: res.data.sign_num;
- var str = "<div class=\"clearfix\">" +
- "<img class=\"left iconimg\" src=\"/static/img/topicon.png\" />" +
- "<div class=\"left toptitbox\">"+signText+"数据</div>" +
- "<div class=\"left " + ($('.layui-btn-primary').val() == '1个月' ? '' : 'none') +" monthaddnum\">同比上月增长:" + res.data.month_lv + "</div> " +
- "<div class=\"right\"> " +
- "<div class=\"left "+ ($('#sDate').val() == $('#eDate').val() ? '' : 'none') +" rightadd\">今日新增:" + res.data.today + "单</div> " +
- "<img class=\"left righticonimg pointer\" id=\"topleftimg\" src=\"/static/img/lineicon.png\" /> " +
- "</div> " +
- "</div > " +
- "<div class=\"clearfix mt32 center signtext\">" +
- "<div class=\"left signmoney\">" +
- " <div class=\"topnum colorred\">¥ " + res.data.sign_money + "</div>" +
- " <div>"+signText+"金额</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.sign_num + "</div>" +
- " <div>"+signText+"数量</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.employee_num + "</div>" +
- " <div>见面量</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.sign_lv + "</div>" +
- " <div>"+signText+"率</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.sign_avg + "</div>" +
- " <div>均单</div>" +
- "</div>" +
- "</div>";
- '{auth:check name="statistics/customer" }'
- str = "<div class=\"clearfix\">" +
- "<img class=\"left iconimg\" src=\"/static/img/topicon.png\" />" +
- "<div class=\"left toptitbox\">"+signText+"数据</div>" +
- "<div class=\"left " + ($('.layui-btn-primary').val() == '1个月' ? '' : 'none') + " monthaddnum\">同比上月增长:" + res.data.month_lv + "</div> " +
- "<div class=\"right\"> " +
- "<div class=\"left " + ($('#sDate').val() == $('#eDate').val() ? '' : 'none') + " rightadd\">今日新增:" + res.data.today + "单</div> " +
- "<img class=\"left righticonimg pointer\" id=\"topleftimg\" src=\"/static/img/lineicon.png\" /> " +
- "<div class=\"left toptitbox topleftlistmsgbox pointer color249efb\" >详情>></div> " +
- "</div> " +
- "</div > " +
- "<div class=\"clearfix mt32 center signtext\">" +
- "<div class=\"left signmoney\">" +
- " <div class=\"topnum colorred\">¥ " + res.data.sign_money + "</div>" +
- " <div>"+signText+"金额</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.sign_num + "</div>" +
- " <div>"+signText+"数量</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.num + "</div>" +
- " <div>见面量</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.sign_lv + "</div>" +
- " <div>"+signText+"率</div>" +
- "</div>" +
- "<div class=\"left signnum\">" +
- " <div class=\"topnum\">" + res.data.sign_avg + "</div>" +
- " <div>均单</div>" +
- "</div>" +
- "</div>";
- '{/auth:check}'
- $('.alldatatopleftbox').html(str);
- }
- }
- })
- }
- function depositData() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/depositData.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- let depositVal = '定金';
- if (res.code == 0) {
- var str = '<div class="clearfix">' +
- ' <img class="left iconimg" src="/static/img/topicon.png" />' +
- ' <div class="left toptitbox">'+depositVal+'数据</div>' +
- ' <div class="right">' +
- ' <div class="left ' + ($('#sDate').val() == $('#eDate').val() ? '' : 'none') + ' rightadd">今日新增:' + res.data.today + '单</div>' +
- ' <img class="left righticonimg pointer" id="toprightimg" src="/static/img/lineicon.png" />' +
- ' </div>' +
- '</div >' +
- '<div class="clearfix mt32 center signtext">' +
- ' <div class="left signpt" style="width:50%;">' +
- ' <div class="topnum colorred">¥ ' + res.data.deposit_money + '</div>' +
- ' <div>'+depositVal+'金额</div>' +
- ' </div>' +
- ' <div class="left signpt">' +
- ' <div class="topnum">' + res.data.deposit_num + '</div>' +
- ' <div>'+depositVal+'数量</div>' +
- ' </div>' +
- ' <div class="left signpt">' +
- ' <div class="topnum">' + res.data.deposit_lv + '</div>' +
- ' <div>'+depositVal+'率</div>' +
- ' </div>' +
- '</div>';
- '{auth:check name="statistics/customer" }'
- str = '<div class="clearfix">' +
- ' <img class="left iconimg" src="/static/img/topicon.png" />' +
- ' <div class="left toptitbox">'+depositVal+'数据</div>' +
- ' <div class="right">' +
- ' <div class="left ' + ($('#sDate').val() == $('#eDate').val() ? '' : 'none') + ' rightadd">今日新增:' + res.data.today + '单</div>' +
- ' <img class="left righticonimg pointer" id="toprightimg" src="/static/img/lineicon.png" />' +
- ' <a class="left toptitbox pointer color249efb toprightlistmsgbox">详情>></a>' +
- ' </div>' +
- '</div >' +
- '<div class="clearfix mt32 center signtext">' +
- ' <div class="left signpt" style="width:50%;">' +
- ' <div class="topnum colorred">¥ ' + res.data.deposit_money + '</div>' +
- ' <div>'+depositVal+'金额</div>' +
- ' </div>' +
- ' <div class="left signpt">' +
- ' <div class="topnum">' + res.data.deposit_num + '</div>' +
- ' <div>'+depositVal+'数量</div>' +
- ' </div>' +
- ' <div class="left signpt">' +
- ' <div class="topnum">' + res.data.deposit_lv + '</div>' +
- ' <div>'+depositVal+'率</div>' +
- ' </div>' +
- '</div>';
- '{/auth:check}'
- $('.alldatatoprightbox').html(str);
- }
- }
- })
- }
- function visitData() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/visitData.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var str = '<div class="numtablebox left mr52">' +
- ' <div class="topnumtit" > 到店</div >' +
- ' <div class="clearfix">' +
- ' <div class="left width50_ everynumtable">' +
- ' <div class="topnum">' + res.data.confirm_shop_num + '</div>' +
- ' <div>客户量</div>' +
- ' </div>' +
- ' <div class="left width50_ everynumtable leftbdr">' +
- ' <div class="topnum">' + res.data.confirm_shop_lv + '</div>' +
- ' <div>转化率</div>' +
- ' </div>' +
- ' </div>' +
- '</div >' +
- '<div class="numtablebox left mr52">' +
- ' <div class="topnumtit">到场</div>' +
- ' <div class="clearfix">' +
- ' <div class="left width50_ everynumtable">' +
- ' <div class="topnum">' + res.data.confirm_present_num + '</div>' +
- ' <div>客户量</div>' +
- ' </div>' +
- ' <div class="left width50_ everynumtable leftbdr">' +
- ' <div class="topnum">' + res.data.confirm_present_lv + '</div>' +
- ' <div>转化率</div>' +
- ' </div>' +
- ' </div>' +
- '</div>' +
- '<div class="numtablebox left ">' +
- ' <div class="topnumtit">量房</div>' +
- ' <div class="clearfix">' +
- ' <div class="left width50_ everynumtable">' +
- ' <div class="topnum">' + res.data.confirm_measure_num + '</div>' +
- ' <div>客户量</div>' +
- ' </div>' +
- ' <div class="left width50_ everynumtable leftbdr">' +
- ' <div class="topnum">' + res.data.confirm_measure_lv + '</div>' +
- ' <div>转化率</div>' +
- ' </div>' +
- ' </div>' +
- '</div>';
- $('.visitDatabox').html(str);
- }
- }
- })
- }
- function arrfun(arr){
- var str='';
- // child
- for(var i in arr){
- str += '<option value="' + arr[i].id + '">' + arr[i].name + '</option>';
- str += arrfun(arr[i].child);
- }
- return str;
- }
-
-
- function leftlinefun() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/signLine.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var myChart1 = echarts.init(document.getElementById('topleftline'));
- if($('.layui-btn-primary').val()=='1个月'){
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- data: res.data.x
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- width: '100%',
- height: 140,
- data: ['1234']
- },
- yAxis: {
- type: 'value',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- dataZoom: [
- {
- type: 'inside',
- start: 0,
- end: 50
- }
- ],
- series: [
- {
- type: 'line',
- smooth: 0.6,
- markLine: {
- symbol: ['none', 'none'],
- label: { show: false },
- data: []
- },
- data: res.data.y
- }
- ]
- };
- }else{
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- data: res.data.x
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- width: '100%',
- height: 140,
- data: ['1234']
- },
- yAxis: {
- type: 'value',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- series: [
- {
- type: 'line',
- smooth: 0.6,
- markLine: {
- symbol: ['none', 'none'],
- label: { show: false },
- data: []
- },
- data: res.data.y
- }
- ]
- };
- }
-
- myChart1.setOption(option1);
- $(window).resize(function () {
- myChart1.resize();
- })
- }
- }
- })
-
- }
- function rightlinefun() {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/depositLine.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var myChart1 = echarts.init(document.getElementById('toprightline'));
- if ($('.layui-btn-primary').val() == '1个月') {
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- data: res.data.x
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- width: '100%',
- height: 140,
- data: ['1234']
- },
- yAxis: {
- type: 'value',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- dataZoom: [
- {
- type: 'inside',
- start: 0,
- end: 50
- }
- ],
- series: [
- {
- type: 'line',
- smooth: 0.6,
- markLine: {
- symbol: ['none', 'none'],
- label: { show: false },
- data: []
- },
- data: res.data.y
- }
- ]
- };
- } else {
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- data: res.data.x
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- width: '100%',
- height: 140,
- data: ['1234']
- },
- yAxis: {
- type: 'value',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- series: [
- {
- type: 'line',
- smooth: 0.6,
- markLine: {
- symbol: ['none', 'none'],
- label: { show: false },
- data: []
- },
- data: res.data.y
- }
- ]
- };
- }
- myChart1.setOption(option1);
- $(window).resize(function () {
- myChart1.resize();
- })
- }
- }
- })
- }
- function lookfun(params) {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/visitLine.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var myChart1 = echarts.init(document.getElementById('lookline'));
- if ($('.layui-btn-primary').val() == '1个月') {
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- name: '时间',
- data: res.data.x
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- width: '100%',
- data: ['1234']
- },
- yAxis: {
- type: 'value',
- name: '数量',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- dataZoom: [
- {
- type: 'inside',
- start: 0,
- end: 50
- }
- ],
- series: [
- {
- type: 'line',
- name: '到店',
- smooth: 0.6,
- data: res.data.y[0]
- },
- {
- type: 'line',
- smooth: 0.6,
- name: '到场',
- data: res.data.y[1]
- },
- {
- type: 'line',
- smooth: 0.6,
- name: '量房',
- data: res.data.y[2]
- }
- ]
- };
- } else {
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- name: '时间',
- data: res.data.x
- },
- legend: {
- width: '100%',
- data: ['1234']
- },
- tooltip: {
- trigger: 'axis'
- },
- yAxis: {
- type: 'value',
- name: '数量',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- series: [
- {
- type: 'line',
- name:'到店',
- smooth: 0.6,
-
- data: res.data.y[0]
- },
- {
- type: 'line',
- smooth: 0.6,
- name: '到场',
- data: res.data.y[1]
- },
- {
- type: 'line',
- smooth: 0.6,
- name: '量房',
- data: res.data.y[2]
- }
- ]
- };
- }
- myChart1.setOption(option1);
- $(window).resize(function () {
- myChart1.resize();
- })
- }
- }
- })
- }
-
- function cluefun(params) {
- $.ajax({
- type: 'post',
- url: '/dashboard/index/clueLine.html',
- data: {
- org_id: $('#sel').val(),
- start_date: $('#sDate').val(),
- end_date: $('#eDate').val(),
- },
- success: function (res) {
- if (res.code == 0) {
- var myChart1 = echarts.init(document.getElementById('cluelineData'));
- if ($('.layui-btn-primary').val() == '1个月') {
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- name: '时间',
- data: res.data.x
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- width: '100%',
- data: ['1234']
- },
- yAxis: {
- type: 'value',
- name: '数量',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- dataZoom: [
- {
- type: 'inside',
- start: 0,
- end: 50
- }
- ],
- series: [
- {
- type: 'line',
- smooth: 0.6,
- name:'有效线索',
- data: res.data.y[0]
- },
- {
- type: 'line',
- smooth: 0.6,
- name: '无效线索',
- data: res.data.y[1]
- }
- ]
- };
- } else {
- var option1 = {
- xAxis: {
- type: 'category',
- boundaryGap: false,
- splitLine: {
- show: true
- },
- name: '时间',
- data: res.data.x
- },
- legend: {
- width: '100%',
- data: ['1234']
- },
- tooltip: {
- trigger: 'axis'
- },
- yAxis: {
- type: 'value',
- name: '数量',
- splitLine: {
- show: false
- },
- minInterval: 1
- },
- series: [
- {
- type: 'line',
- name: '有效线索',
- smooth: 0.6,
- data: res.data.y[0]
- },
- {
- type: 'line',
- smooth: 0.6,
- name: '无效线索',
- data: res.data.y[1]
- }
- ]
- };
- }
- myChart1.setOption(option1);
- $(window).resize(function () {
- myChart1.resize();
- })
- }
- }
- })
- }
-
-
- </script>
- {/block}
|