Browse Source

通知重复调整

laiguoran 3 years ago
parent
commit
8c90fecb26

+ 21 - 0
app/controller/datacollect_controller.js

@@ -23,6 +23,7 @@ const sendToWormhole = require('stream-wormhole');
 const scheduleConst = require('../const/schedule');
 const scheduleConst = require('../const/schedule');
 const changeConst = require('../const/change');
 const changeConst = require('../const/change');
 const tenderInfoModel = require('../lib/tender_info');
 const tenderInfoModel = require('../lib/tender_info');
+const mapConst = require('../const/map');
 
 
 module.exports = app => {
 module.exports = app => {
     class DatacollectController extends app.BaseController {
     class DatacollectController extends app.BaseController {
@@ -50,9 +51,28 @@ module.exports = app => {
                 const noticeList = await ctx.service.noticePush.getNoticeByDataCollect(ctx.session.sessionProject.id, tenderidList);
                 const noticeList = await ctx.service.noticePush.getNoticeByDataCollect(ctx.session.sessionProject.id, tenderidList);
                 // 获取分类
                 // 获取分类
                 const categoryData = await this.ctx.service.category.getListByCategoryLevel(ctx.session.sessionProject.id);
                 const categoryData = await this.ctx.service.category.getListByCategoryLevel(ctx.session.sessionProject.id);
+                // 默认坐标,否则则取办事处坐标
+                const projectData = await ctx.service.project.getDataById(ctx.session.sessionProject.id);
+                let map_json = {
+                    province: mapConst.map[0].province,
+                    lng: mapConst.map[0].lng,
+                    lat: mapConst.map[0].lat,
+                    level: 15,
+                };
+                if (projectData.map_json) {
+                    map_json = JSON.parse(projectData.map_json);
+                } else {
+                    const mapInfo = ctx.helper._.find(mapConst.map, { office: projectData.manager_office });
+                    if (mapInfo) {
+                        map_json.province = mapInfo.province;
+                        map_json.lng = mapInfo.lng;
+                        map_json.lat = mapInfo.lat;
+                    }
+                }
                 const renderData = {
                 const renderData = {
                     noticeList,
                     noticeList,
                     categoryData,
                     categoryData,
+                    map_json,
                     acLedger: auditConst.ledger,
                     acLedger: auditConst.ledger,
                     acStage: auditConst.stage,
                     acStage: auditConst.stage,
                     acChange: auditConst.flow,
                     acChange: auditConst.flow,
@@ -121,6 +141,7 @@ module.exports = app => {
                     }
                     }
                     t.month_stage = month_stage;
                     t.month_stage = month_stage;
                 }
                 }
+                // const tenderMapList = await ctx.service.tenderMap.getAllDataByCondition({ where: { tid: tender.id } });
                 responseData.data.tenderList = tenderList;
                 responseData.data.tenderList = tenderList;
                 ctx.body = responseData;
                 ctx.body = responseData;
             } catch (err) {
             } catch (err) {

+ 7 - 6
app/service/notice_push.js

@@ -54,7 +54,7 @@ module.exports = app => {
         }
         }
 
 
         /**
         /**
-         * 查询所有推送记录
+         * 查询所有推送记录,不重复数据
          * @param {Integer} pid - 项目id
          * @param {Integer} pid - 项目id
          * @param {Integer} uid - 查询人id
          * @param {Integer} uid - 查询人id
          */
          */
@@ -63,14 +63,15 @@ module.exports = app => {
             let notice = await this.db.select(this.tableName, {
             let notice = await this.db.select(this.tableName, {
                 where: wheres,
                 where: wheres,
                 orders: [['create_time', 'desc']],
                 orders: [['create_time', 'desc']],
-                limit: 10,
+                limit: 40,
                 offset: 0
                 offset: 0
-            })
+            });
+            notice = this._.uniqBy(notice, 'content');
             notice = notice.map(v => {
             notice = notice.map(v => {
-                const extra = JSON.parse(v.content)
-                delete v.content
+                const extra = JSON.parse(v.content);
+                delete v.content;
                 return { ...v, ...extra }
                 return { ...v, ...extra }
-            })
+            });
             return notice
             return notice
         }
         }
     }
     }

+ 35 - 6
app/view/datacollect/index.ejs

@@ -130,15 +130,15 @@
                                 <div class="center-di">
                                 <div class="center-di">
                                     <div class="card bg-dark height-100">
                                     <div class="card bg-dark height-100">
                                         <div class="jlchart" data-chart-num="1" id="jlchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 1) { %>display:none;<% } %>"></div>
                                         <div class="jlchart" data-chart-num="1" id="jlchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 1) { %>display:none;<% } %>"></div>
-                                        <div class="di-content mb-2" style="background: #343A40; <% if (ctx.session.sessionProject.dataCollect === 2) { %>display:none;<% } %>">
+                                        <div class="di-content mb-2" id="map1" style="background: #343A40; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 2) { %>display:none;<% } %>">
                                         </div>
                                         </div>
                                     </div>
                                     </div>
                                 </div>
                                 </div>
                                 <div class="center-chart">
                                 <div class="center-chart">
                                     <div class="card height-100 bg-dark mt-2">
                                     <div class="card height-100 bg-dark mt-2">
                                         <div class="jlchart" data-chart-num="2" id="jlchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 2) { %>display:none;<% } %>"></div>
                                         <div class="jlchart" data-chart-num="2" id="jlchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 2) { %>display:none;<% } %>"></div>
-                                        <div class="di-content mb-2">
-                                            <div class="jldbchart" data-chart-num="1" id="jldbchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 1) { %>display:none;<% } %>"></div>
+                                        <div class="di-content mb-2" <% if (ctx.session.sessionProject.dataCollect === 1) { %>style="display:none;"<% } %>>
+                                            <div class="jldbchart" data-chart-num="1" id="jldbchart" style="height: 100%; width: 100%;"></div>
                                         </div>
                                         </div>
                                     </div>
                                     </div>
                                 </div>
                                 </div>
@@ -425,7 +425,7 @@
                                     <div class="height-60 mt-2">
                                     <div class="height-60 mt-2">
                                         <div class="card height-100 bg-dark">
                                         <div class="card height-100 bg-dark">
                                             <div class="jldbchart" data-chart-num="2" id="jldbchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 3) { %>display:none;<% } %>"></div>
                                             <div class="jldbchart" data-chart-num="2" id="jldbchart" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 3) { %>display:none;<% } %>"></div>
-                                            <div class="di-content mb-2" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 4) { %>display:none;<% } %>"></div>
+                                            <div class="di-content mb-2" id="map2" style="height: 100%; width: 100%; <% if (ctx.session.sessionProject.dataCollect === 4) { %>display:none;<% } %>"></div>
                                         </div>
                                         </div>
                                     </div>
                                     </div>
                                     <div class="height-36 mt-2">
                                     <div class="height-36 mt-2">
@@ -1103,9 +1103,20 @@
         }
         }
     });
     });
 </script>
 </script>
+<script src="/public/js/map/turf.min.js"></script>
+<script src="/public/js/map/gcoord.js"></script>
+<!--<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=C3hLZAjuWTaCdwnwoYY83APrwlPEj4v7"></script>-->
 <script>
 <script>
+    function loadScript() {
+        var script = document.createElement("script");
+        script.src = "https://api.map.baidu.com/api?v=1.0&type=webgl&ak=C3hLZAjuWTaCdwnwoYY83APrwlPEj4v7&callback=initialize";
+        document.body.appendChild(script);
+    }
+    window.onload = loadScript;
+
     const originDataCollect = parseInt('<%- ctx.session.sessionProject.dataCollect %>');
     const originDataCollect = parseInt('<%- ctx.session.sessionProject.dataCollect %>');
     const category = JSON.parse(unescape('<%- escape(JSON.stringify(categoryData)) %>'));
     const category = JSON.parse(unescape('<%- escape(JSON.stringify(categoryData)) %>'));
+    const mapJson = JSON.parse(unescape('<%- escape(JSON.stringify(map_json)) %>'));
     let tenders = '';
     let tenders = '';
     // let noticeList = '';
     // let noticeList = '';
     $(function () {
     $(function () {
@@ -1376,7 +1387,6 @@
                 // chart_option4_data 排序
                 // chart_option4_data 排序
                 const new_chart_option4_data = _.sortBy(chart_option4_data, 'yearmonth');
                 const new_chart_option4_data = _.sortBy(chart_option4_data, 'yearmonth');
                 for (const [i,c4] of new_chart_option4_data.entries()) {
                 for (const [i,c4] of new_chart_option4_data.entries()) {
-                    console.log(c4);
                     option4_data.yearmonth.push(c4.yearmonth);
                     option4_data.yearmonth.push(c4.yearmonth);
                     option4_data.tp.push(c4.tp);
                     option4_data.tp.push(c4.tp);
                     if(i !== 0) {
                     if(i !== 0) {
@@ -1394,6 +1404,26 @@
             option4.series[1].data = option4_data.end_tp;
             option4.series[1].data = option4_data.end_tp;
             myChart4_1.setOption(option4);
             myChart4_1.setOption(option4);
             myChart4_2.setOption(option4);
             myChart4_2.setOption(option4);
+
+            // 地图设置
+            // const polyLineList = [];
+            const centerPoint = { lng: mapJson.lng, lat: mapJson.lat };
+            let level = mapJson.level;
+            // 初始化地图,设置中心点坐标和地图级别
+            const map1 = new BMapGL.Map("map1");
+            const map2 = new BMapGL.Map("map2");
+            const point = new BMapGL.Point(centerPoint.lng, centerPoint.lat);
+
+            // 创建地图实例
+            map1.centerAndZoom(point, level);
+            map1.enableScrollWheelZoom(true);
+            map1.setMapStyleV2({styleId: '20d4aea41cf71387395f2dc835f1c4b6'});
+            // 创建地图实例
+            map2.centerAndZoom(point, level);
+            map2.enableScrollWheelZoom(true);
+            map2.setMapStyleV2({styleId: '20d4aea41cf71387395f2dc835f1c4b6'});
+            map1.reset();
+            map2.reset();
         }
         }
 
 
         $('.change-collect').on('click', function () {
         $('.change-collect').on('click', function () {
@@ -1555,5 +1585,4 @@
             return 100;
             return 100;
         }
         }
     }
     }
-
 </script>
 </script>