123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404 |
- {extend name="public/layout"/} {block name="title"}楼盘数据统计{/block} {block name="body"}
- <link rel="stylesheet" href="__STATIC__/css/csspc.css">
- <link rel="stylesheet" href="__STATIC__/css/font.css">
- <style type="text/css">
- html{background: none;min-width:1100px;}
- .layui-form-select{float:left;width: 60%;}
- .sjtj_dl .sjtj_dl_dd{float: right;min-width:200px;margin-top:1px;margin-right: 10px;}
- .sjtj_dl .sjtj_dl_dd p{font-size: 14px;}
- .set_times{height: 36px;border:1px solid #c7d8e6;}
- .table_box thead tr th {
- text-align: center;
- white-space: nowrap;
- background: #d8e6f1;
- border-right: 1px solid #d8e6f1;
- /* outline: 1px solid #d4d4d4; */
- /* border:none !important; */
- }
-
- .table_box tbody tr td {
- text-align: center;
- word-break: keep-all;
- white-space: nowrap;
- /* outline: 1px solid #d4d4d4; */
- /* border:none !important; */
- }
-
- .table_box tbody tr td,.table_box thead tr th{border:1px solid #c7d8e6;}
- .table_box{position: relative;border-collapse: collapse;}
- .head_t_th_p1{font-size: 16px;font-weight: bold;}
- .head_t_th_p2{font-size: 14px;}
- .borhuise{border:1px solid #d1e5f5;}
- .borhuiserleft{border-left:1px solid #d1e5f5;}
- .borhuisertop,.bodylist_dd_p{border-top:1px solid #d1e5f5;}
- /* .body_top{background: #D8D8D8;} */
- .body_top .body_top_dd{width:16.66%;float:left;color:#475562;}
- .list_dd01{width:190px;}
- .list_dd02{width:96px;}
- .list_dd03{width:126px;}
- .list_dd04{width:160px;}
- .body_c .body_c_dd{float:left;text-align: center;font-size: 14px;border-left:1px solid #d1e5f5;line-height: 38px;}
- .lanse{color:#249efb}
- .bodylist li{line-height: 38px;}
- .bodylist li .bodylist_dd{border-left:1px solid #d1e5f5;border-top:1px solid #d1e5f5;float:left;text-align: center;font-size: 14px;}
- .bodylist_dd_p{line-height: 38px !important;}
- .layui-table{margin-top:0;}
- .iwidth {width: 220px !important;display: inline-block;}
- .table_tbodys tr td div{line-height: 30px;padding: 6px 15px;border-bottom: 1px solid #e6e6e6;}
- .table_tbodys br{display: contents;}
- .ispddiv{padding:0 !important;}
- .tableHeadertr{background: #D8E6F1 !important;}
- .bodybgsbox{margin-right: 16px;width: 100%;}
- .bodybgs{background: #f1f9ff;overflow: hidden;display: none;}
- .tableboxs{overflow-y: auto;width: 100%;height: 78vh;display: none;}
- .tableHeader{position:sticky;top:0;background: #d8e6f1;z-index:2;}
- #rangeDepart {
- width: 63%;
- height: 38px;
- }
- xm-select > .xm-body {
- z-index: 99999 !important;
- }
- </style>
- <body class="">
- <form class="layui-form layui-form-box ds" id="bodybox">
- <dl class="sjtj_dl">
- <dd style="float: left;">
- <button type="button" class="layui-btn layuiadmin-btn-list" id="export">
- 导出
- </button>
- </dd>
- <dd class="sjtj_dl_dd mdr20" style="width: 144px;min-width: 144px;margin-top:0;">
- <button class="layui-btn layuiadmin-btn-list submitbtn" id="searchbox" type="button">
- 搜索
- </button>
- <button class="layui-btn layuiadmin-btn-list" type="button" id="resetbtn">
- 重置
- </button>
- </dd>
- <dd class="sjtj_dl_dd" style="min-width:312px;">
- <p class="ids lh38">更新时间:</p>
- <input type="text" style="border:1px solid #e6e6e6;height:36px;" class=" iwidth layui-input" name="time" id="time_date" required lay-verify="required" placeholder="开始时间 - 结束时间" autocomplete="off">
- </dd>
- <dd class="sjtj_dl_dd width15_">
- <p class="wleft lh38">小区VR:</p>
- <select name="vr" id="hasvr">
- <option value="">请选择</option>
- <option value="有">有</option>
- <option value="无">无</option>
- </select>
- </dd>
- <dd class="sjtj_dl_dd width15_">
- <p class="wleft lh38">楼盘名称:</p>
- <select name="buildingname" id="building">
- <option value="">请选择</option>
- {volist name="building" id="vo"}
- <option value="{$vo.community_id}">{$vo.name}</option>
- {/volist}
- </select>
- </dd>
- <dd class="sjtj_dl_dd width15_">
- <p class="wleft lh38">选择部门:</p>
- <!-- <select name="org" id="org" lay-filter="org_select" lay-search>
- <option value="">请选择</option>
- {volist name="org" id="vo"}
- <option value="{$vo.id}">{$vo.title}</option>
- {/volist}
- </select> -->
- <div id="rangeDepart" class="wleft"></div>
- </dd>
- </dl>
- <div class="clear"></div>
- <div class="bodybgsbox">
- <div class="mdt30 borhuise borl0 bodybgs">
- <dl class="woverflow body_top pdtb20 borhuiserleft">
- <dd class="textc body_top_dd">
- <p class="font16 textb bodyTops01">0</p>
- <p class="font14">楼盘数量</p>
- </dd>
- <dd class="textc body_top_dd">
- <p class="font16 textb bodyTops02">0</p>
- <p class="font14">小区VR</p>
- </dd>
- <dd class="textc body_top_dd">
- <p class="font16 textb bodyTops03">0</p>
- <p class="font14">户型个数</p>
- </dd>
- <dd class="textc body_top_dd">
- <p class="font16 textb bodyTops04">0</p>
- <p class="font14">户型VR完整度</p>
- </dd>
- <dd class="textc body_top_dd">
- <p class="font16 textb bodyTops05">0</p>
- <p class="font14">研发案例</p>
- </dd>
- <dd class="textc body_top_dd">
- <p class="font16 textb bodyTops06">0</p>
- <p class="font14">研发案例完整度</p>
- </dd>
- </dl
- </div>
- </div>
-
- <div class="tableboxs">
- <table lay-filter="tabletotalbox" class="layui-table table_box">
- <thead class="tableHeader">
- <tr class="tableHeadertr">
-
- </tr>
- </thead>
- <tbody class="table_tbodys">
-
- </tbody>
- </table>
- </div>
- </form>
- </body>
- {/block} {block name="js"}
- <script type="text/javascript" src="__STATIC__/js/jquery.min.js"></script>
- <script type="text/javascript" src="__STATIC__/js/FileSaver.min.js"></script>
- <script type="text/javascript" src="__STATIC__/js/tableExport.min.js"></script>
- <script src="__STATIC__/layui/layui/layui.js"></script>
- <script src="__STATIC__/layui/layui/lay/modules/xm-select.js" type="text/javascript" charset="utf-8"></script>
- <script>
- var org = eval('{$org|raw}');
- layui.config({
- base: '__LAYUI__/',
- urlbase: '/sys'
- }).extend({
- index: 'lib/index' //主入口模块
- }).use(['index','element','upload','laydate','form','table', 'jquery'], function() {
- var
- // $ = layui.$,
- $ = layui.jquery,
- layer = layui.layer,
- form = layui.form,
- element = layui.element,
- laydate = layui.laydate,
- table=layui.table;
-
- $('#org').append(setOrgOption(org, ''));
- form.render('select')
- laydate.render({
- elem: '#time_date'
- , type: 'date'
- , range: true
- , trigger: 'click'//呼出事件改成click
- });
- function switch_set(numbers){
- switch(numbers){
- case 1:
- return "一";
- case 2:
- return "二";
- case 3:
- return "三";
- case 4:
- return "四";
- case 5:
- return "五";
- case 6:
- return "六";
- case 7:
- return "七";
- }
- }
-
-
- var departTree = xmSelect.render({
- el: "#rangeDepart",
- name: 'org',
- autoRow: true,
- filterable: true,
- tips: '请选择',
- radio: true,
- tree: {
- show: true,
- showFolderIcon: true,
- showLine: true,
- indent: 20,
- expandedKeys: [ -3 ],
- //是否严格遵守父子模式
- strict: false,
- },
- height: "200px",
- data: [],
- //文本显示模式
- //处理方式
- });
-
- $.ajax({
- url: '{:url("statistics/get_person")}',
- type: "post",
- data: {},
- success: function(res) {
- departTree.update({data:res})
- }
- })
-
-
-
- $('#searchbox').click(function () {
- var formData = new FormData();
- var orgids = departTree.getValue('value')[0]?departTree.getValue('value')[0]:'';
- formData.append('org', orgids);
- formData.append('community_id', $('#building').val());
- formData.append('vr', $('#hasvr').val());
- formData.append('time', $('#time_date').val());
- apiurl(formData);
- })
-
- $('#resetbtn').click(function(){
- departTree.setValue([ ]);
- $("#bodybox")[0].reset();
- layui.form.render();
- location.reload();
- })
-
- form.on('select(org_select)', function (data) {
- var formData = new FormData();
- formData.append('org', data.value);
- apiurl(formData);
- })
- window.parent.htmlhide = function(){
- $('.tableboxs').hide();
- $('.bodybgs').hide();
- }
-
- apiurl();
- function apiurl(formData){
- layer.load();
- $.ajax({
- url: '{:url("building/analysis")}',
- type: 'post',
- dataType: 'json',
- data: formData,
- processData: false,
- contentType: false,
- success: function(res) {
- if(res.code==0){
- layer.closeAll('loading');
- $('.tableboxs').show();
- $('.bodybgs').show();
- $('.bodyTops01').html(res.data.building_count);
- $('.bodyTops02').html(res.data.vr_count);
- $('.bodyTops03').html(res.data.housetype_count);
- $('.bodyTops04').html(res.data.housetype_vr_percent+'%');
- $('.bodyTops05').html(res.data.develop_all);
- $('.bodyTops06').html(res.data.housetype_deveolp_percent+'%');
- let str='<th lay-data="" colspan="1" >楼盘名称</th><th lay-data="" colspan = "1" > 基层部门</th>';
- let num= res.data.org_length;
- for(let i=0;i< res.data.org_length;i++){
- str+='<th lay-data="" colspan = "1">'+ switch_set(num-i) +'级部门</th>';
- }
- str+=`<th lay-data="" colspan="1">小区VR</th><th lay-data="" colspan="1">户型个数</th><th lay-data="" colspan="1">户型VR数量</th>
- <th lay-data="" colspan="1">户型VR完整度</th><th lay-data="" colspan="1">研发案例数量</th><th lay-data="" colspan="1">研发案例完整度</th>
- <th lay-data="" colspan="1">动态更新次数</th><th lay-data="" colspan="1">最近更新时间</th>
- <th lay-data="" colspan="1">浏览时长</th><th lay-data="" colspan="1">转发次数</th><th lay-data="" colspan="1">关联案例浏览次数</th><th lay-data="" colspan="1">在施工地浏览次数</th>
- <th lay-data="" colspan="1">楼盘上传时间</th>`;
- $('.tableHeadertr').html(str);
- let htmlstr='';
- for(let j = 0; j < res.data.list.length; j++){
- // 基层部门
- let basiclevel='';
- if(!res.data.list[j].assign_org.length){
- basiclevel="无";
- }else{
- for (let k = 0; k < res.data.list[j].assign_org.length; k++){
- if(k==res.data.list[j].assign_org.length-1){
- basiclevel+="<div class='borb0'>"+ res.data.list[j].assign_org[k].name +"</div>"
- }else{
- basiclevel+="<div>"+ res.data.list[j].assign_org[k].name +"</div><br/>"
- }
-
- }
- }
- // 上级部门
- let lastdapartstr='';
- if(res.data.org_length!=0){
- if(res.data.list[j].parents_org.length==0){
- for (let i = 0; i < res.data.org_length; i++) {
- lastdapartstr += '<td lay-data="" rowspan ="1">无</td>';
- }
- }else{
- for (let r = 0; r < res.data.list[j].parents_org.length; r++) {
- let str1 = '';
- for (let t = 0; t < res.data.list[j].parents_org[r].length; t++) {
-
- if(t==res.data.list[j].parents_org[r].length-1){
- str1 += "<div class='borb0'>" + (res.data.list[j].parents_org[r][t] ? res.data.list[j].parents_org[r][t] : '无') + "</div>"
- }else{
- str1 += "<div>" + (res.data.list[j].parents_org[r][t] ? res.data.list[j].parents_org[r][t] : '无') + "</div>"
- }
- }
- lastdapartstr += '<td lay-data="" rowspan ="1" class="ispddiv">' + str1 + '</td>';
- }
- }
- }
- htmlstr+=`<tr>
- <td lay-data="" rowspan="1">${res.data.list[j].name}</td>
- <td lay-data="" rowspan="1" class="${basiclevel=="无"?'':'ispddiv'}">${basiclevel}</td>
- ${lastdapartstr}
- <td lay-data="" rowspan="1">${res.data.list[j].vr_link?'有':'无'}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].housetype_count}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].housetype_vr_count}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].housetype_vr_percent}%</td>
- <td lay-data="" rowspan="1">${res.data.list[j].develop_count}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].develop_percent}%</td>
- <td lay-data="" rowspan="1">${res.data.list[j].progress_count}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].last_update_time?res.data.list[j].last_update_time:'--'}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].visit_due_time}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].shared_times}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].mater_case_view}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].construction_view}</td>
- <td lay-data="" rowspan="1">${res.data.list[j].addtime}</td>
- </tr>`;
- }
- $('.table_tbodys').html(htmlstr);
- // $(window).resize(function(){
- // $('.bodybgs').width($('.table_box').width());
- // }).resize();
- // $('.bodybgs').width($('.table_box').width());
- }
- }
- });
- }
-
- $('#export').on('click',function () {
- $('table').tableExport({
- type: 'excel',
- mso: {
- styles: ['background-color', 'border-top-color', 'border-left-color', 'border-right-color', 'border-bottom-color', 'border-top-width', 'border-left-width', 'border-right-width', 'border-bottom-width', 'border-top-style', 'border-left-style', 'border-right-style', 'border-bottom-style', 'color']
- }
- });
- })
-
- function setOrgOption(opt, sj) {
- var html = '';
- opt.forEach(element => {
- html += '<option value="' + element.id + '">' + sj + element.title + '</option>';
- if (element && element.children.length > 0) html += setOrgOption(element.children, sj + '-');
- });
- return html;
- }
- function in_array(search, array) {
- for (var i in array) {
- if (array[i] == search) {
- return true;
- }
- }
- return false;
- }
- document.onkeydown=function(event){
- var e = event || window.event || arguments.callee.caller.arguments[0];
- if(e && e.keyCode==13){
- $(".submitbtn").trigger("click");
- }
- };
- })
- </script>
- {/block}
|