ソースを参照

新增默认地图坐标

laiguoran 3 年 前
コミット
485affcfeb
3 ファイル変更52 行追加2 行削除
  1. 30 0
      app/const/map.js
  2. 20 0
      app/controller/tender_controller.js
  3. 2 2
      app/view/tender/detail.ejs

+ 30 - 0
app/const/map.js

@@ -0,0 +1,30 @@
+'use strict';
+
+/**
+ * 地图默认坐标展示相关
+ *
+ * @author Ellisran
+ * @date
+ * @version
+ */
+
+const level = 15;
+
+const map = [
+    { province: '默认', lng: 116.404, lat: 39.915, office: 15, level: 15 },
+    { province: '甘肃', lng: 103.612, lat: 34.687, office: 3, level: 15 },
+    { province: '内蒙', lng: 110.088, lat: 41.457, office: 9, level: 15 },
+    { province: '四川', lng: 102.6445, lat: 29.386, office: 7, level: 15 },
+    { province: '重庆', lng: 106.863, lat: 29.066, office: 8, level: 15 },
+    { province: '广西', lng: 109.980, lat: 24.484, office: 5, level: 15 },
+    { province: '广东', lng: 113.795, lat: 23.218, office: 4, level: 15 },
+    { province: '江西', lng: 118.366, lat: 27.071, office: 6, level: 15 },
+    { province: '浙江', lng: 120.792, lat: 30.073, office: 10, level: 15 },
+    { province: '山东', lng: 119.059, lat: 36.552, office: 11, level: 15 },
+];
+
+
+module.exports = {
+    map,
+    level,
+};

+ 20 - 0
app/controller/tender_controller.js

@@ -23,6 +23,7 @@ const sendToWormhole = require('stream-wormhole');
 const scheduleConst = require('../const/schedule');
 const changeConst = require('../const/change');
 const tenderInfoModel = require('../lib/tender_info');
+const mapConst = require('../const/map');
 
 module.exports = app => {
 
@@ -511,6 +512,24 @@ module.exports = app => {
                 const tenderALLInfo = await ctx.service.tender.getDataById(tender.id);
                 const hadMap = tenderALLInfo.had_map === 1 ? 0 : 1;
                 const tenderMapList = await ctx.service.tenderMap.getAllDataByCondition({ where: { tid: tender.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 = {
                     tenders,
                     categoryData,
@@ -533,6 +552,7 @@ module.exports = app => {
                     jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.tender.tenderInfo),
                     gclChapter,
                     tenderMapList,
+                    map_json,
                 };
                 if (ctx.session.sessionUser.is_admin) {
                     renderData.tourists = await ctx.service.tenderTourist.getTourists(tender.id);

+ 2 - 2
app/view/tender/detail.ejs

@@ -1297,8 +1297,8 @@
             // 创建地图实例
 
             const polyLineList = [];
-            const centerPoint = { lng: 116.404, lat: 39.915 };
-            let level = 15;
+            const centerPoint = { lng: <%- map_json.lng %>, lat: <%- map_json.lat %> };
+            let level = <%- map_json.level %>;
             const pointList = [];
             const centerList = [];
             for (const tm of tenderMapList) {