|
@@ -0,0 +1,1599 @@
|
|
|
+import {
|
|
|
+ imgUrl,
|
|
|
+ newImgUrl
|
|
|
+} from "../api/request"
|
|
|
+import {
|
|
|
+ getMapDataType,
|
|
|
+ getHandMatterPage,
|
|
|
+ getHandMatterBySearch,
|
|
|
+ getMapDataAll,
|
|
|
+ searchHandMatterByVal
|
|
|
+} from "../api/yxna-api"
|
|
|
+var QQMapWX = require('../../libs/qqmap-wx-jssdk.min.js');
|
|
|
+const popType = [
|
|
|
+ [
|
|
|
+ [{
|
|
|
+ "name": "受理场所",
|
|
|
+ "dictType": "jzs,bms",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "查阅场所",
|
|
|
+ "dictType": "cycsbms,slcsjzs",
|
|
|
+ "type": ""
|
|
|
+ }, ],
|
|
|
+ [{
|
|
|
+ "name": "区级政务服务中心",
|
|
|
+ "dictType": "xzfwzxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "镇(街道)便民服务中心",
|
|
|
+ "dictType": "ggfwzxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "村(社区)便民服务站",
|
|
|
+ "dictType": "bmfwzxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "生源地助学贷款办理点",
|
|
|
+ "dictType": "dkblds",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "党群服务中心",
|
|
|
+ "dictType": "dqfwzxs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "职业教育学校",
|
|
|
+ "dictType": "zyyxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "特殊教育学校",
|
|
|
+ "dictType": "xxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "高等院校",
|
|
|
+ "dictType": "dxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "小学",
|
|
|
+ "dictType": "xxs",
|
|
|
+ "type": "小学"
|
|
|
+ }, {
|
|
|
+ "name": "中学",
|
|
|
+ "dictType": "xxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "幼儿园",
|
|
|
+ "dictType": "yeys",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "教育考试中心",
|
|
|
+ "dictType": "",
|
|
|
+ "type": "jykszxs"
|
|
|
+ }]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [{
|
|
|
+ "name": "村卫生室",
|
|
|
+ "dictType": "",
|
|
|
+ "type": "cwsss"
|
|
|
+ }, {
|
|
|
+ "name": "社区卫生服务站",
|
|
|
+ "dictType": "",
|
|
|
+ "type": "sqwsfwzs"
|
|
|
+ }, {
|
|
|
+ "name": "儿科诊疗服务机构",
|
|
|
+ "dictType": "ekzlfwjgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "狂犬病,破伤风处置门诊",
|
|
|
+ "dictType": "kqbpsfczmzs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "免疫规划预防接种门诊",
|
|
|
+ "dictType": "myghyfjzmzs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "二级医疗机构",
|
|
|
+ "dictType": "ejyljgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "三级医疗机构",
|
|
|
+ "dictType": "sjyljgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "社区卫生服务机构",
|
|
|
+ "dictType": "sqwsfwjgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "职业病诊断机构",
|
|
|
+ "dictType": "zybzdjgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "助产医疗机构",
|
|
|
+ "dictType": "zcyljg",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "产科门诊服务机构",
|
|
|
+ "dictType": "ckmzfwjgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "医疗保障事务中心",
|
|
|
+ "dictType": "ybs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "派出所",
|
|
|
+ "dictType": "pcss",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "出入境业务办理机构",
|
|
|
+ "dictType": "crjywbljgs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "交通支大队",
|
|
|
+ "dictType": "jtxljcdds",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "交通违法处理机构",
|
|
|
+ "dictType": "jtwfcljgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "交通事故处理机构",
|
|
|
+ "dictType": "jtsgcljgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "车管所",
|
|
|
+ "dictType": "cgss",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "机动车检测场所",
|
|
|
+ "dictType": "jdcjccss",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "驾驶人体检医院",
|
|
|
+ "dictType": "jsrtjzs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "车驾管社会服务站",
|
|
|
+ "dictType": "cjgshfwzs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "就业和人才中心",
|
|
|
+ "dictType": "jyhrczxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "社会保险事务中心",
|
|
|
+ "dictType": "shbxswzxs",
|
|
|
+ "type": ""
|
|
|
+ }]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+
|
|
|
+ [{
|
|
|
+ "name": "养老机构",
|
|
|
+ "dictType": "ylfwjgs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "婚姻登记机构",
|
|
|
+ "dictType": "hydjcs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "殡仪服务机构",
|
|
|
+ "dictType": "byfwjgs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [],
|
|
|
+ []
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [],
|
|
|
+ [],
|
|
|
+ [],
|
|
|
+ [{
|
|
|
+ "name": "图书馆",
|
|
|
+ "dictType": "tsgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "文化馆",
|
|
|
+ "dictType": "whgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "文管所",
|
|
|
+ "dictType": "wgss",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "公共体育馆",
|
|
|
+ "dictType": "ggtys",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "旅游景点",
|
|
|
+ "dictType": "jqs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "公园",
|
|
|
+ "dictType": "gys",
|
|
|
+ "type": ""
|
|
|
+ }]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [{
|
|
|
+ "name": "公证处",
|
|
|
+ "dictType": "gzcs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "司法鉴定机构",
|
|
|
+ "dictType": "sfjdjgs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "基层司法所",
|
|
|
+ "dictType": "jcfwfwss",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "法律援助机构",
|
|
|
+ "dictType": "flyzzxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "矫正中心",
|
|
|
+ "dictType": "jzzxs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "name": "残疾人服务中心",
|
|
|
+ "dictType": "cjrfwzxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "定点残疾人服务机构",
|
|
|
+ "dictType": "qtcjrfwzxs",
|
|
|
+ "type": ""
|
|
|
+ }],
|
|
|
+ [],
|
|
|
+ [{
|
|
|
+ "name": "商圈",
|
|
|
+ "dictType": "sqs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "购物中心",
|
|
|
+ "dictType": "gwzxs",
|
|
|
+ "type": ""
|
|
|
+ }, {
|
|
|
+ "name": "酒店",
|
|
|
+ "dictType": "jds",
|
|
|
+ "type": ""
|
|
|
+ }]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ [],
|
|
|
+ [],
|
|
|
+ [],
|
|
|
+ []
|
|
|
+ ]
|
|
|
+]
|
|
|
+
|
|
|
+let BMap = {};
|
|
|
+let x = null;
|
|
|
+let y = null;
|
|
|
+const INIT_MARKER = {
|
|
|
+ latitude: 0,
|
|
|
+ longitude: 0,
|
|
|
+ iconPath: imgUrl + "/location.png",
|
|
|
+ width: '34px',
|
|
|
+ height: '34px',
|
|
|
+ rotate: 0,
|
|
|
+ alpha: 1
|
|
|
+};
|
|
|
+Page({
|
|
|
+ data: {
|
|
|
+ issy:false,
|
|
|
+ imgUrl: imgUrl,
|
|
|
+ newImgUrl: newImgUrl,
|
|
|
+ markers: [INIT_MARKER],
|
|
|
+ latitude: '',
|
|
|
+ longitude: '',
|
|
|
+ custGap: 1000,
|
|
|
+ type: [
|
|
|
+ [{
|
|
|
+ "id": 1,
|
|
|
+ "name": "政务公开",
|
|
|
+ "image": "fgk.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 2,
|
|
|
+ "name": "政务服务",
|
|
|
+ "image": "fzwfw.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 3,
|
|
|
+ "name": "党群服务",
|
|
|
+ "image": "fdqfwzx.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 4,
|
|
|
+ "name": "教育资源",
|
|
|
+ "image": "fjy.png",
|
|
|
+ "dictType": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "id": 1,
|
|
|
+ "name": "医疗卫生",
|
|
|
+ "image": "fyl.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 2,
|
|
|
+ "name": "户籍管理",
|
|
|
+ "image": "fhjgl.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 3,
|
|
|
+ "name": "交通服务",
|
|
|
+ "image": "fjtfw.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 4,
|
|
|
+ "name": "社会保障",
|
|
|
+ "image": "fshbz.png",
|
|
|
+ "dictType": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "id": 1,
|
|
|
+ "name": "养老服务",
|
|
|
+ "image": "fylfw.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 2,
|
|
|
+ "name": "民政服务",
|
|
|
+ "image": "fmzfw.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 3,
|
|
|
+ "name": "办税服务",
|
|
|
+ "image": "fbsfwt.png",
|
|
|
+ "dictType": "bsfwts"
|
|
|
+ }, {
|
|
|
+ "id": 4,
|
|
|
+ "name": "市场监管",
|
|
|
+ "image": "fscjd.png",
|
|
|
+ "dictType": "scjdgljs"
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "id": 1,
|
|
|
+ "name": "住房保障",
|
|
|
+ "image": "fgzf.png",
|
|
|
+ "dictType": "fwglzxs"
|
|
|
+ }, {
|
|
|
+ "id": 2,
|
|
|
+ "name": "不动产登记",
|
|
|
+ "image": "fbdcdj.png",
|
|
|
+ "dictType": "bdcdjzxbsdts"
|
|
|
+ }, {
|
|
|
+ "id": 3,
|
|
|
+ "name": "住房公积金",
|
|
|
+ "image": "fgjj.png",
|
|
|
+ "dictType": "gjjs"
|
|
|
+ }, {
|
|
|
+ "id": 4,
|
|
|
+ "name": "文体旅游",
|
|
|
+ "image": "fwtly.png",
|
|
|
+ "dictType": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "id": 1,
|
|
|
+ "name": "司法服务",
|
|
|
+ "image": "fsffw.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 2,
|
|
|
+ "name": "助疾服务",
|
|
|
+ "image": "fcjr.png",
|
|
|
+ "dictType": ""
|
|
|
+ }, {
|
|
|
+ "id": 3,
|
|
|
+ "name": "产业园区",
|
|
|
+ "image": "fcyy.png",
|
|
|
+ "dictType": "cyys"
|
|
|
+ }, {
|
|
|
+ "id": 4,
|
|
|
+ "name": "商业服务",
|
|
|
+ "image": "fbmfw.png",
|
|
|
+ "dictType": ""
|
|
|
+ }],
|
|
|
+ [{
|
|
|
+ "id": 1,
|
|
|
+ "name": "便民公厕",
|
|
|
+ "image": "fgc.png",
|
|
|
+ "dictType": "gcs"
|
|
|
+ }, {
|
|
|
+ "id": 2,
|
|
|
+ "name": "停车泊车",
|
|
|
+ "image": "ftc.png",
|
|
|
+ "dictType": "tcs"
|
|
|
+ }, {
|
|
|
+ "id": 3,
|
|
|
+ "name": "直饮水点",
|
|
|
+ "image": "zysd.png",
|
|
|
+ "dictType": "zysd"
|
|
|
+ }, {
|
|
|
+ "id": 4,
|
|
|
+ "name": "劳动者港湾",
|
|
|
+ "image": "ldzgw.png",
|
|
|
+ "dictType": "ldzgw"
|
|
|
+ }]
|
|
|
+ ],
|
|
|
+ circle: [],
|
|
|
+ popData: [{
|
|
|
+ "popName": "",
|
|
|
+ "data": []
|
|
|
+ }],
|
|
|
+ showIndex: false,
|
|
|
+ showSearch: true,
|
|
|
+ showTraffic: true,
|
|
|
+ height: 0,
|
|
|
+ searchVal: '',
|
|
|
+ loadValue: '',
|
|
|
+ trafficStart: '',
|
|
|
+ trafficEnd: '',
|
|
|
+ index: 0,
|
|
|
+ isList: true,
|
|
|
+ showSet: false,
|
|
|
+ trafficType: 0,
|
|
|
+ page: 0,
|
|
|
+ limit: 15,
|
|
|
+ marksInfo: [],
|
|
|
+ marksView: [],
|
|
|
+ marksNum: 0,
|
|
|
+ searchInfo: {
|
|
|
+ navType: 0,
|
|
|
+ isShow: false
|
|
|
+ },
|
|
|
+ matterEventInfo: {
|
|
|
+ data: [],
|
|
|
+ isShow: false,
|
|
|
+ search: false
|
|
|
+ },
|
|
|
+ itemInfo: {
|
|
|
+ page: 1,
|
|
|
+ limit: 6,
|
|
|
+ navType: 0,
|
|
|
+ deptNow: '',
|
|
|
+ pageNext: true,
|
|
|
+ pagePrev: false,
|
|
|
+ matterStatus: true,
|
|
|
+ matterList: [{
|
|
|
+ itemName: '',
|
|
|
+ matterUrl: ''
|
|
|
+ }],
|
|
|
+ '重庆市南岸区政务服务中心(江南新城中心)': ['重庆市南岸区残联', '重庆市南岸区财政局', '重庆市南岸区文化和旅游发展委员会', '重庆市南岸区档案馆', '重庆市南岸区卫生健康委员会', '重庆市南岸区交通局', '重庆市南岸区规划自然资源局', '重庆市南岸区住房和城乡建设委员会', '重庆市南岸区生态环境局', '重庆市南岸区农业农村委员会', '重庆市南岸区发展和改革委员会', '重庆市南岸区消防救援支队', '重庆市南岸区城市管理局', '重庆市公安局南岸分局'],
|
|
|
+ '重庆市南岸区政务服务中心(南坪中心)': ['重庆市南岸区市场监管局', '重庆市公安局南岸分局'],
|
|
|
+ },
|
|
|
+ jnxc: ['重庆市南岸区残联', '重庆市南岸区财政局', '重庆市南岸区文化和旅游发展委员会', '重庆市南岸区档案馆', '重庆市南岸区卫生健康委员会', '重庆市南岸区交通局', '重庆市南岸区规划自然资源局', '重庆市南岸区住房和城乡建设委员会', '重庆市南岸区生态环境局', '重庆市南岸区农业农村委员会', '重庆市南岸区发展和改革委员会', '重庆市南岸区消防救援支队', '重庆市南岸区城市管理局', '重庆市公安局南岸分局'],
|
|
|
+ npzx: ['重庆市南岸区市场监管局', '重庆市公安局南岸分局'],
|
|
|
+ toType: ''
|
|
|
+ },
|
|
|
+
|
|
|
+ onLoad: function (options) {
|
|
|
+ this.setData({
|
|
|
+ height: wx.getSystemInfoSync().windowHeight,
|
|
|
+ })
|
|
|
+ if (options.type && options.type == 'tdcr') {
|
|
|
+ this.setData({
|
|
|
+ toType: options.type,
|
|
|
+ dataIndex: options.dataIndex
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // console.log(options);
|
|
|
+ if (options.se) {
|
|
|
+ this.setData({
|
|
|
+ loadValue: options.se,
|
|
|
+ showTraffic: false
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.setData({
|
|
|
+ showTraffic: true
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ // searchVal
|
|
|
+ },
|
|
|
+ onReady: function () {
|
|
|
+ // debugger
|
|
|
+ const that = this
|
|
|
+ this.loadItem();
|
|
|
+ getMapDataAll().then((res) => {
|
|
|
+ let arr = []
|
|
|
+ console.log(res.data);
|
|
|
+ for (const key in res.data) {
|
|
|
+ // console.log(res.data[key]);
|
|
|
+ Array.prototype.push.apply(arr, res.data[key])
|
|
|
+ }
|
|
|
+
|
|
|
+ // Array.prototype.push.apply(arr, res.data.xzfwzxs);
|
|
|
+ // Array.prototype.push.apply(arr, res.data.ggfwzxs);
|
|
|
+ for (let j = 0; j < arr.length; j++) {
|
|
|
+ if (arr[j].tel && !(arr[j].tel instanceof Array)) {
|
|
|
+ arr[j].tel = arr[j].tel.split(";")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ that.setData({
|
|
|
+ xzfwzxs: res.data.xzfwzxs,
|
|
|
+ marksInfo: arr
|
|
|
+ })
|
|
|
+ this.setMap();
|
|
|
+ });
|
|
|
+ // this.setMap();
|
|
|
+
|
|
|
+ },
|
|
|
+ async setMap() {
|
|
|
+ var that = this;
|
|
|
+ BMap = await new QQMapWX({
|
|
|
+ key: 'KN3BZ-KUDND-PGH4Y-POVRP-43KF3-RNF4K'
|
|
|
+ });
|
|
|
+
|
|
|
+ wx.getLocation({
|
|
|
+ type: 'gcj02', //返回可以用于wx.openLocation的经纬度
|
|
|
+ success(res) {
|
|
|
+ console.log(res)
|
|
|
+ const latitude = res.latitude
|
|
|
+ const longitude = res.longitude
|
|
|
+ initMapDataAll(that, latitude, longitude)
|
|
|
+ if (!(that.data.toType && that.data.toType == 'tdcr')) {
|
|
|
+ that.setData({
|
|
|
+ latitude: latitude,
|
|
|
+ longitude: longitude,
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ wx.request({
|
|
|
+ url: imgUrl + 'tdcr/details/data.json',
|
|
|
+ success: (res) => {
|
|
|
+ that.setData({
|
|
|
+ polygons: [{
|
|
|
+ dashArray: [10, 10],
|
|
|
+ strokeColor: '#ffe20063',
|
|
|
+ fillColor: '#ffe20063',
|
|
|
+ points: res.data[that.data.dataIndex].polygon
|
|
|
+ }],
|
|
|
+ longitude: res.data[that.data.dataIndex].longitude,
|
|
|
+ latitude: res.data[that.data.dataIndex].latitude,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ that.setData({
|
|
|
+
|
|
|
+ trafficStart: "我的位置",
|
|
|
+ circle: [{
|
|
|
+ latitude: res.latitude,
|
|
|
+ longitude: res.longitude,
|
|
|
+ radius: that.data.custGap + 500,
|
|
|
+ fillColor: '#c4d2ec6a',
|
|
|
+ color: '#c4d2ec'
|
|
|
+ }],
|
|
|
+ markers: [{
|
|
|
+ latitude: latitude,
|
|
|
+ longitude: longitude,
|
|
|
+ iconPath: imgUrl + "/location.png",
|
|
|
+ width: '30px',
|
|
|
+ height: '30px',
|
|
|
+ rotate: 0,
|
|
|
+ alpha: 1
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ popview(e) {
|
|
|
+ let x = e.currentTarget.dataset.index;
|
|
|
+ let y = e.currentTarget.dataset.id;
|
|
|
+ let pop = popType[x][y - 1]
|
|
|
+ if (pop.length > 0) {
|
|
|
+ // this.setTypeDateToPop2(pop)
|
|
|
+ this.setData({
|
|
|
+ popData: pop,
|
|
|
+ showIndex: true
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ let pop = this.data.type[x][y - 1]
|
|
|
+ // console.log(pop);
|
|
|
+ this.setDateToPop(pop)
|
|
|
+ this.setData({
|
|
|
+ showTraffic: false,
|
|
|
+ showIndex: false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ setTypeDateToPop2: function (pop) {
|
|
|
+ let arr = [];
|
|
|
+ pop.forEach(e => {
|
|
|
+ arr.push({
|
|
|
+ "popName": e.name
|
|
|
+ })
|
|
|
+ })
|
|
|
+ this.setData({
|
|
|
+ popData: arr
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ setDateToPop: function (pop) {
|
|
|
+ let arr = [];
|
|
|
+ let params = {
|
|
|
+ "dictType": pop.dictType,
|
|
|
+ "type": "",
|
|
|
+ "title": "",
|
|
|
+ };
|
|
|
+ wx.showToast({
|
|
|
+ title: '加载中...',
|
|
|
+ icon: 'loading'
|
|
|
+ });
|
|
|
+ getMapDataType(params).then((res) => {
|
|
|
+ console.log(res.data[0].tel);
|
|
|
+ let data = []
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.tel != null && item.tel != "" && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(item)
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ popData: data,
|
|
|
+ })
|
|
|
+ wx.hideToast({
|
|
|
+ success: (res) => {},
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ closePopup() {
|
|
|
+ this.setData({
|
|
|
+ showIndex: false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changeInfo(e) {
|
|
|
+ // console.log(e.currentTarget.dataset.data);
|
|
|
+ let searchInfo = this.data.searchInfo
|
|
|
+ searchInfo.isShow = false
|
|
|
+ this.setData({
|
|
|
+ searchInfo: searchInfo
|
|
|
+ })
|
|
|
+ let dataitem = e.currentTarget.dataset.data;
|
|
|
+ console.log(dataitem);
|
|
|
+ let params = {
|
|
|
+ "dictType": dataitem.dictType,
|
|
|
+ "type": "",
|
|
|
+ "title": "",
|
|
|
+ };
|
|
|
+ wx.showToast({
|
|
|
+ title: '加载中...',
|
|
|
+ icon: 'loading'
|
|
|
+ });
|
|
|
+ getMapDataType(params).then((res) => {
|
|
|
+ let data = []
|
|
|
+ switch (dataitem.name) {
|
|
|
+ case "小学":
|
|
|
+ case "特殊教育学校":
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.type == dataitem.name) {
|
|
|
+ data.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case "中学":
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.type == dataitem.name || item.specialtype == dataitem.name) {
|
|
|
+ data.push(item)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ data = res.data;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ let renderData = []
|
|
|
+ data.forEach((item) => {
|
|
|
+ if (item.tel != null && item.tel != "" && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ renderData.push(item)
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ popData: renderData,
|
|
|
+ showTraffic: false,
|
|
|
+ showIndex: false
|
|
|
+ })
|
|
|
+ wx.hideToast({
|
|
|
+ success: (res) => {},
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 拨打电话
|
|
|
+ * @param {*} e
|
|
|
+ */
|
|
|
+ callNumber(e) {
|
|
|
+ let phoneNumber = e.currentTarget.dataset.value;
|
|
|
+ wx.makePhoneCall({
|
|
|
+ phoneNumber: phoneNumber,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * list跳转info
|
|
|
+ *
|
|
|
+ */
|
|
|
+ changeItem(e) {
|
|
|
+ let that = this;
|
|
|
+ console.info(e)
|
|
|
+ let value = e.currentTarget.dataset.value;
|
|
|
+ if (value === "none") {
|
|
|
+ let searchInfo = that.data.searchInfo
|
|
|
+ searchInfo.isShow = false
|
|
|
+ that.setData({
|
|
|
+ isList: false,
|
|
|
+ showSearch: false,
|
|
|
+ showSet: false,
|
|
|
+ searchInfo: searchInfo
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 控制公交自驾选中状态
|
|
|
+ let type = e.currentTarget.dataset.type;
|
|
|
+ if (type == 0) {
|
|
|
+ if (e.detail.value == 0) {
|
|
|
+ changeValue = "transit";
|
|
|
+ } else {
|
|
|
+ changeValue = "driving";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ that.setData({
|
|
|
+ trafficType: type,
|
|
|
+ showSet: false
|
|
|
+ });
|
|
|
+ that.setData({
|
|
|
+ isList: false,
|
|
|
+ showSearch: false,
|
|
|
+ showSet: true
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // 详情赋值
|
|
|
+ let index = e.currentTarget.dataset.index;
|
|
|
+ let item = that.data.popData[index];
|
|
|
+ console.info(item);
|
|
|
+ let address = '';
|
|
|
+ if (item.address.search("重庆") == -1) {
|
|
|
+ address = "重庆" + item.address;
|
|
|
+ } else {
|
|
|
+ address = item.address;
|
|
|
+ }
|
|
|
+ console.log(item.time);
|
|
|
+ let itemInfo = that.data.itemInfo
|
|
|
+ if (itemInfo[item.dep]) {
|
|
|
+ let arr = []
|
|
|
+ for (let i = 0; i < itemInfo[item.dep].length; i++) {
|
|
|
+ arr.push(itemInfo[item.dep][i].replace('重庆市', '').replace('南岸', ''))
|
|
|
+ }
|
|
|
+ itemInfo.deptList = arr
|
|
|
+ itemInfo.oldDeptList = itemInfo[item.dep]
|
|
|
+ }
|
|
|
+ itemInfo.deptShow = itemInfo[item.dep] ? true : false
|
|
|
+ itemInfo.navType = 0
|
|
|
+ itemInfo.page = 1
|
|
|
+ itemInfo.deptNow = ''
|
|
|
+ let params = {
|
|
|
+ page: 1,
|
|
|
+ limit: itemInfo.limit,
|
|
|
+ type: itemInfo.navType,
|
|
|
+ }
|
|
|
+ if (itemInfo.deptShow) {
|
|
|
+ params.matterDept = itemInfo.oldDeptList.join(',')
|
|
|
+ } else {
|
|
|
+ params.matterDept = item.dep.replace('政府', '').replace('便民服务中心', '')
|
|
|
+ }
|
|
|
+ const _this = this
|
|
|
+ getHandMatterPage(params).then((res) => {
|
|
|
+ if (!(res && res.count > 0)) {
|
|
|
+ itemInfo.matterStatus = false
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ itemInfo.matterStatus = true
|
|
|
+ itemInfo.pagePrev = itemInfo.page == 1
|
|
|
+ itemInfo.pageNext = itemInfo.page * itemInfo.limit >= res.count
|
|
|
+ itemInfo.matterList = res.data
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ });
|
|
|
+
|
|
|
+ that.setData({
|
|
|
+ detail_dep: item.dep,
|
|
|
+ detail_content: item.content,
|
|
|
+ detail_img: item.img,
|
|
|
+ detail_address: item.address,
|
|
|
+ detail_time: item.time,
|
|
|
+ detail_tel: item.tel,
|
|
|
+ detail_index: index,
|
|
|
+ trafficEnd: address,
|
|
|
+ itemInfo: itemInfo
|
|
|
+ });
|
|
|
+
|
|
|
+ BMap.geocoder({
|
|
|
+ address: address,
|
|
|
+ success: function (data) {
|
|
|
+ var res = data.result
|
|
|
+ that.setData({
|
|
|
+ latitude: res.location.lat,
|
|
|
+ longitude: res.location.lng,
|
|
|
+ markers: [{
|
|
|
+ latitude: res.location.lat,
|
|
|
+ longitude: res.location.lng,
|
|
|
+ iconPath: imgUrl + "/location.png",
|
|
|
+ width: '30px',
|
|
|
+ height: '30px',
|
|
|
+ rotate: 0,
|
|
|
+ alpha: 1
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打开全景地图
|
|
|
+ * @param {*} e
|
|
|
+ */
|
|
|
+ openVR(e) {
|
|
|
+ wx.navigateTo({
|
|
|
+ url: '../map-vr/map-vr',
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ getSearchVal(e) {
|
|
|
+ this.setData({
|
|
|
+ searchVal: e.detail.value
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ loadItem() {
|
|
|
+ let searchVal = this.data.loadValue;
|
|
|
+ let datatype = this.data.type;
|
|
|
+ if (!searchVal) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wx.showToast({
|
|
|
+ title: '加载中...',
|
|
|
+ icon: 'loading'
|
|
|
+ });
|
|
|
+ let x = -1
|
|
|
+ let y = -1
|
|
|
+ for (let i = 0; i < datatype.length; i++) {
|
|
|
+ for (let j = 0; j < datatype[i].length; j++) {
|
|
|
+ if (datatype[i][j].name == searchVal) {
|
|
|
+ x = i
|
|
|
+ y = j
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (x != -1) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let searcharr = ""
|
|
|
+ if (datatype[x][y].dictType != "") {
|
|
|
+ searcharr = datatype[x][y].dictType
|
|
|
+ } else {
|
|
|
+ let arr = popType[x][y]
|
|
|
+ arr.forEach((item) => {
|
|
|
+ searcharr += item.dictType + ","
|
|
|
+ })
|
|
|
+ searcharr = searcharr.substring(0, searcharr.length - 1)
|
|
|
+ }
|
|
|
+
|
|
|
+ let params = {
|
|
|
+ "dictType": searcharr,
|
|
|
+ "type": "",
|
|
|
+ "title": "",
|
|
|
+ };
|
|
|
+ getMapDataType(params).then((res) => {
|
|
|
+ let data = []
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.tel != null && item.tel != "" && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(item)
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ // showTraffic: false,
|
|
|
+ popData: data,
|
|
|
+ })
|
|
|
+ wx.hideToast({
|
|
|
+ success: (res) => {},
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ // 搜索结果
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 顶部搜索点击事件
|
|
|
+ * @param {*} e
|
|
|
+ */
|
|
|
+ searchTap(e) {
|
|
|
+ let searchInfo = this.data.searchInfo
|
|
|
+ searchInfo.isShow = true
|
|
|
+ searchInfo.navType = 0
|
|
|
+ this.setData({
|
|
|
+ searchInfo: searchInfo
|
|
|
+ })
|
|
|
+ let searchVal = this.data.searchVal;
|
|
|
+
|
|
|
+ wx.showToast({
|
|
|
+ title: '加载中...',
|
|
|
+ icon: 'loading'
|
|
|
+ });
|
|
|
+ let params = {
|
|
|
+ "dictType": "",
|
|
|
+ "type": "",
|
|
|
+ "title": searchVal,
|
|
|
+ };
|
|
|
+ this.setData({
|
|
|
+ showTraffic: false
|
|
|
+ })
|
|
|
+ getMapDataType(params).then((res) => {
|
|
|
+ let data = []
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.tel != null && item.tel != "" && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(item)
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ showTraffic: false,
|
|
|
+ popData: data,
|
|
|
+ })
|
|
|
+ wx.hideToast({
|
|
|
+ success: (res) => {},
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ // 搜索结果
|
|
|
+ wx.hideToast({
|
|
|
+ success: (res) => {},
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getTrafficStart(e) {
|
|
|
+ this.setData({
|
|
|
+ trafficStart: e.detail.value
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getTrafficEnd(e) {
|
|
|
+ this.setData({
|
|
|
+ trafficEnd: e.detail.value
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 搜索进行交通路线规划
|
|
|
+ * @param {*} e
|
|
|
+ */
|
|
|
+ searchTrafficTap(e) {
|
|
|
+ const that = this;
|
|
|
+ // console.log(that.data.trafficType);
|
|
|
+ let trafficType = that.data.trafficType;
|
|
|
+ if (trafficType == 0) {
|
|
|
+ changeValue = "transit";
|
|
|
+ } else {
|
|
|
+ changeValue = "driving";
|
|
|
+ }
|
|
|
+ let trafficStart = that.data.trafficStart;
|
|
|
+ let trafficEnd = that.data.trafficEnd;
|
|
|
+ if (!trafficStart || !trafficEnd) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '请输入起点和终点',
|
|
|
+ icon: 'none'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ console.info(trafficStart, trafficEnd);
|
|
|
+
|
|
|
+ BMap.geocoder({
|
|
|
+ address: trafficEnd,
|
|
|
+ success: function (data) {
|
|
|
+ console.log(data);
|
|
|
+ var res = data.result
|
|
|
+ // console.log(res);
|
|
|
+ let key = 'KN3BZ-KUDND-PGH4Y-POVRP-43KF3-RNF4K'; //使用在腾讯位置服务申请的key
|
|
|
+ let referer = '掌上南岸'; //调用插件的app的名称
|
|
|
+ // 终点
|
|
|
+ let endPoint = JSON.stringify({
|
|
|
+ 'name': trafficEnd,
|
|
|
+ 'latitude': res.location.lat,
|
|
|
+ 'longitude': res.location.lng
|
|
|
+ });
|
|
|
+ wx.openLocation({
|
|
|
+ name: trafficEnd,
|
|
|
+ latitude: res.location.lat,
|
|
|
+ longitude: res.location.lng
|
|
|
+ })
|
|
|
+ // wx.navigateTo({
|
|
|
+ // url: 'plugin://routePlan/index?key=' + key + '&referer=' + referer + '&endPoint=' + endPoint + "&mode=" + changeValue
|
|
|
+ // });
|
|
|
+ },
|
|
|
+
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ backSearch() {
|
|
|
+ let that = this
|
|
|
+ let searchInfo = that.data.searchInfo
|
|
|
+ searchInfo.isShow = that.data.searchVal ? true : false
|
|
|
+ that.setData({
|
|
|
+ searchInfo: searchInfo
|
|
|
+ })
|
|
|
+ let matterEventInfo = that.data.matterEventInfo
|
|
|
+ console.log(matterEventInfo)
|
|
|
+ if (!that.data.isList) {
|
|
|
+ if (that.data.issy) {
|
|
|
+ that.setData({
|
|
|
+ showTraffic: true,
|
|
|
+ showSearch: true,
|
|
|
+ searchVal: ''
|
|
|
+ });
|
|
|
+ this.setMap();
|
|
|
+ return
|
|
|
+ }
|
|
|
+ matterEventInfo.isShow = searchInfo.navType != 1
|
|
|
+ this.setData({
|
|
|
+ isList: true,
|
|
|
+ showSearch: true,
|
|
|
+ showSet: false,
|
|
|
+ matterEventInfo: matterEventInfo
|
|
|
+ });
|
|
|
+ } else if (!matterEventInfo.isShow && matterEventInfo.search) {
|
|
|
+ matterEventInfo.isShow = true
|
|
|
+ this.setData({
|
|
|
+ isList: true,
|
|
|
+ showSearch: true,
|
|
|
+ showSet: false,
|
|
|
+ matterEventInfo: matterEventInfo
|
|
|
+ });
|
|
|
+ // this.setMap();
|
|
|
+ } else {
|
|
|
+ matterEventInfo.isShow = false
|
|
|
+ matterEventInfo.search = false
|
|
|
+ that.setData({
|
|
|
+ matterEventInfo: matterEventInfo
|
|
|
+ })
|
|
|
+ if (!that.data.showTraffic) {
|
|
|
+ that.setData({
|
|
|
+ showTraffic: true,
|
|
|
+ showSearch: true,
|
|
|
+ searchVal: ''
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.setMap();
|
|
|
+ }
|
|
|
+ wx.getLocation({
|
|
|
+ type: 'gcj02', //返回可以用于wx.openLocation的经纬度
|
|
|
+ success(res) {
|
|
|
+ const latitude = res.latitude
|
|
|
+ const longitude = res.longitude
|
|
|
+ that.setData({
|
|
|
+ latitude: latitude,
|
|
|
+ longitude: longitude,
|
|
|
+ trafficStart: "我的位置",
|
|
|
+ markers: [{
|
|
|
+ latitude: latitude,
|
|
|
+ longitude: longitude,
|
|
|
+ iconPath: imgUrl + "/location.png",
|
|
|
+ width: '34px',
|
|
|
+ height: '34px',
|
|
|
+ rotate: 0,
|
|
|
+ alpha: 1
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ changeValue = "transit";
|
|
|
+ },
|
|
|
+
|
|
|
+ matterTab(e) {
|
|
|
+ let itemInfo = this.data.itemInfo
|
|
|
+ itemInfo.navType = e.currentTarget.dataset?.type
|
|
|
+ let params = {
|
|
|
+ page: 1,
|
|
|
+ limit: itemInfo.limit,
|
|
|
+ type: itemInfo.navType,
|
|
|
+ }
|
|
|
+ if (itemInfo.deptShow) {
|
|
|
+ if (itemInfo.deptList && itemInfo.deptList.indexOf(itemInfo.deptNow) > -1) {
|
|
|
+ params.matterDept = itemInfo.deptNow.replace('政府', '').replace('便民服务中心', '')
|
|
|
+ } else {
|
|
|
+ params.matterDept = itemInfo.oldDeptList.join(',')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ params.matterDept = this.data.detail_dep.replace('政府', '').replace('便民服务中心', '')
|
|
|
+ }
|
|
|
+
|
|
|
+ const _this = this
|
|
|
+ getHandMatterPage(params).then((res) => {
|
|
|
+ if (!(res && res.count > 0)) {
|
|
|
+ itemInfo.matterStatus = false
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ itemInfo.matterStatus = true
|
|
|
+ itemInfo.page = 1
|
|
|
+ itemInfo.pagePrev = itemInfo.page == 1
|
|
|
+ itemInfo.pageNext = itemInfo.page * itemInfo.limit >= res.count
|
|
|
+ itemInfo.matterList = res.data
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ });
|
|
|
+ },
|
|
|
+ clickDept(e) {
|
|
|
+ console.log(e)
|
|
|
+ let itemInfo = this.data.itemInfo
|
|
|
+ itemInfo.deptNow = e.currentTarget.dataset.dept
|
|
|
+ itemInfo.page = 1
|
|
|
+ this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ let params = {
|
|
|
+ page: itemInfo.page,
|
|
|
+ limit: itemInfo.limit,
|
|
|
+ type: itemInfo.navType,
|
|
|
+ }
|
|
|
+ if (itemInfo.deptShow) {
|
|
|
+ if (itemInfo.deptList && itemInfo.deptList.indexOf(itemInfo.deptNow) > -1) {
|
|
|
+ params.matterDept = itemInfo.deptNow
|
|
|
+ } else {
|
|
|
+ params.matterDept = itemInfo.oldDeptList.join(',')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ params.matterDept = this.data.detail_dep
|
|
|
+ }
|
|
|
+ const _this = this
|
|
|
+ getHandMatterPage(params).then((res) => {
|
|
|
+ if (!(res && res.count > 0)) {
|
|
|
+ itemInfo.matterStatus = false
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ itemInfo.pagePrev = itemInfo.page == 1
|
|
|
+ itemInfo.pageNext = itemInfo.page * itemInfo.limit >= res.count
|
|
|
+ itemInfo.matterList = res.data
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ });
|
|
|
+ },
|
|
|
+ clickPageTo(e) {
|
|
|
+ let itemInfo = this.data.itemInfo
|
|
|
+ let page = 1
|
|
|
+ if (e.currentTarget.dataset.type == 0) {
|
|
|
+ // 上一页
|
|
|
+ if (itemInfo.pagePrev) return
|
|
|
+ page = itemInfo.page - 1
|
|
|
+ } else {
|
|
|
+ if (itemInfo.pageNext) return
|
|
|
+ page = itemInfo.page + 1
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ page: page,
|
|
|
+ limit: itemInfo.limit,
|
|
|
+ type: itemInfo.navType,
|
|
|
+ }
|
|
|
+ if (itemInfo.deptShow) {
|
|
|
+ if (itemInfo.deptList && itemInfo.deptList.indexOf(itemInfo.deptNow) > -1) {
|
|
|
+ params.matterDept = itemInfo.deptNow.replace('政府', '').replace('便民服务中心', '')
|
|
|
+ } else {
|
|
|
+ params.matterDept = itemInfo.oldDeptList.join(',')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ params.matterDept = this.data.detail_dep.replace('政府', '').replace('便民服务中心', '')
|
|
|
+ }
|
|
|
+ const _this = this
|
|
|
+ getHandMatterPage(params).then((res) => {
|
|
|
+ if (!(res && res.count > 0)) {
|
|
|
+ itemInfo.matterStatus = false
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ itemInfo.matterStatus = true
|
|
|
+ itemInfo.page = page
|
|
|
+ itemInfo.pagePrev = itemInfo.page == 1
|
|
|
+ itemInfo.pageNext = itemInfo.page * itemInfo.limit >= res.count
|
|
|
+ itemInfo.matterList = res.data
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ });
|
|
|
+ },
|
|
|
+ searchTab(e) {
|
|
|
+ let searchInfo = this.data.searchInfo
|
|
|
+ searchInfo.navType = e.currentTarget.dataset.type
|
|
|
+ this.setData({
|
|
|
+ searchInfo: searchInfo
|
|
|
+ })
|
|
|
+ const _this = this
|
|
|
+ if (searchInfo.navType == 0) {
|
|
|
+ let params = {
|
|
|
+ "title": _this.data.searchVal,
|
|
|
+ };
|
|
|
+ getMapDataType(params).then((res) => {
|
|
|
+ let data = []
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.tel != null && item.tel != "" && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(item)
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ showTraffic: false,
|
|
|
+ popData: data,
|
|
|
+ })
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ let matterEventInfo = _this.data.matterEventInfo
|
|
|
+ matterEventInfo.search = true
|
|
|
+ _this.setData({
|
|
|
+ matterEventInfo: matterEventInfo
|
|
|
+ })
|
|
|
+ searchHandMatterByValFun(_this)
|
|
|
+ // searchHandMatter(_this)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ clickMatterEvent(e) {
|
|
|
+ const _this = this
|
|
|
+ let matterEventInfo = _this.data.matterEventInfo
|
|
|
+ matterEventInfo.isShow = false
|
|
|
+ _this.setData({
|
|
|
+ matterEventInfo: matterEventInfo
|
|
|
+ })
|
|
|
+ console.log(_this.data)
|
|
|
+ searchHandMatter(_this, e.currentTarget.dataset.depts)
|
|
|
+ },
|
|
|
+ markClick(e) {
|
|
|
+ if (!e.markerId) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const arr = this.data.marksInfo
|
|
|
+ const that = this
|
|
|
+ this.setData({
|
|
|
+ popData: arr
|
|
|
+ })
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ if (arr[i].id == e.markerId) {
|
|
|
+
|
|
|
+ let searchInfo = that.data.searchInfo
|
|
|
+ searchInfo.isShow = false
|
|
|
+ that.setData({
|
|
|
+ isList: false,
|
|
|
+ showSearch: false,
|
|
|
+ showSet: false,
|
|
|
+ showTraffic: false,
|
|
|
+ searchInfo: searchInfo,
|
|
|
+ issy:true
|
|
|
+ });
|
|
|
+ let item = arr[i];
|
|
|
+ console.info(item);
|
|
|
+ if (item.tel && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ let address = item.address
|
|
|
+ console.log(item.time);
|
|
|
+ let itemInfo = that.data.itemInfo
|
|
|
+ if (itemInfo[item.dep]) {
|
|
|
+ let arr = []
|
|
|
+ for (let i = 0; i < itemInfo[item.dep].length; i++) {
|
|
|
+ arr.push(itemInfo[item.dep][i].replace('重庆市', '').replace('南岸', ''))
|
|
|
+ }
|
|
|
+ itemInfo.deptList = arr
|
|
|
+ itemInfo.oldDeptList = itemInfo[item.dep]
|
|
|
+ }
|
|
|
+ itemInfo.deptShow = itemInfo[item.dep] ? true : false
|
|
|
+ itemInfo.navType = 0
|
|
|
+ itemInfo.page = 1
|
|
|
+ itemInfo.deptNow = ''
|
|
|
+ let params = {
|
|
|
+ page: 1,
|
|
|
+ limit: itemInfo.limit,
|
|
|
+ type: itemInfo.navType,
|
|
|
+ }
|
|
|
+ if (itemInfo.deptShow) {
|
|
|
+ params.matterDept = itemInfo.oldDeptList.join(',')
|
|
|
+ } else {
|
|
|
+ params.matterDept = item.dep.replace('政府', '').replace('便民服务中心', '')
|
|
|
+ }
|
|
|
+ console.log(params)
|
|
|
+ const _this = this
|
|
|
+ getHandMatterPage(params).then((res) => {
|
|
|
+ if (!(res && res.count > 0)) {
|
|
|
+ itemInfo.matterStatus = false
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ itemInfo.matterStatus = true
|
|
|
+ itemInfo.pagePrev = itemInfo.page == 1
|
|
|
+ itemInfo.pageNext = itemInfo.page * itemInfo.limit >= res.count
|
|
|
+ itemInfo.matterList = res.data
|
|
|
+ _this.setData({
|
|
|
+ itemInfo: itemInfo
|
|
|
+ })
|
|
|
+ });
|
|
|
+
|
|
|
+ that.setData({
|
|
|
+ detail_dep: item.dep,
|
|
|
+ detail_content: item.content,
|
|
|
+ detail_img: item.img,
|
|
|
+ detail_address: item.address,
|
|
|
+ detail_time: item.time,
|
|
|
+ detail_tel: item.tel,
|
|
|
+ detail_index: i,
|
|
|
+ trafficEnd: address,
|
|
|
+ itemInfo: itemInfo
|
|
|
+ });
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ aroundEvent(e) {
|
|
|
+ const _this = this
|
|
|
+ this.setData({
|
|
|
+ isList: true,
|
|
|
+ showSearch: false,
|
|
|
+ showSet: false,
|
|
|
+ showTraffic: false,
|
|
|
+ popData: _this.data.marksView
|
|
|
+ })
|
|
|
+ },
|
|
|
+ toDetailWeb(e) {
|
|
|
+ console.log(e.currentTarget.dataset.url)
|
|
|
+ // wx.navigateTo({
|
|
|
+ // url: '/pages/web/web?gzUrl=' + e.currentTarget.dataset.url,
|
|
|
+ // })
|
|
|
+ },
|
|
|
+ onchange(e) {
|
|
|
+ let that = this;
|
|
|
+ if (e.detail.value == 0) {
|
|
|
+ that.setData({
|
|
|
+ trafficType: 0
|
|
|
+ });
|
|
|
+ changeValue = "transit";
|
|
|
+ } else {
|
|
|
+ that.setData({
|
|
|
+ trafficType: 1
|
|
|
+ });
|
|
|
+ changeValue = "driving";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 用户点击右上角分享
|
|
|
+ */
|
|
|
+ onShareAppMessage() {
|
|
|
+ return {
|
|
|
+ title: '地图服务'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShareTimeline() {
|
|
|
+ return {
|
|
|
+ title: '地图服务'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ openShq() {
|
|
|
+ wx.navigateTo({
|
|
|
+ url: '/pages/map-shq/map-shq',
|
|
|
+ })
|
|
|
+ }
|
|
|
+});
|
|
|
+let changeValue = "transit";
|
|
|
+
|
|
|
+function searchHandMatter(that, queryVal) {
|
|
|
+ // getHandMatterBySearch(queryVal).then((res) => {
|
|
|
+ // if (res.data && res.data.length) {
|
|
|
+ // searchDepVal(that, res.data.join(','), res.data)
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ searchDepVal(that, queryVal, queryVal.split(","))
|
|
|
+}
|
|
|
+
|
|
|
+function searchDepVal(that, queryVal, deptArr) {
|
|
|
+ let params = {
|
|
|
+ title: queryVal
|
|
|
+ }
|
|
|
+ wx.showToast({
|
|
|
+ title: '加载中...',
|
|
|
+ icon: 'loading'
|
|
|
+ });
|
|
|
+ getMapDataType(params).then((res) => {
|
|
|
+ let data = []
|
|
|
+ let st = true,
|
|
|
+ st2 = true
|
|
|
+ deptArr.forEach((item) => {
|
|
|
+ if (that.data.jnxc.indexOf(item) > -1 && st) {
|
|
|
+ st = false
|
|
|
+ let ite = that.data.xzfwzxs[0]
|
|
|
+ if (ite.tel && !(ite.tel instanceof Array)) {
|
|
|
+ ite.tel = ite.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(ite)
|
|
|
+ }
|
|
|
+ if (that.data.npzx.indexOf(item) > -1 && st2) {
|
|
|
+ st2 = false
|
|
|
+ let ite = that.data.xzfwzxs[1]
|
|
|
+ if (ite.tel && !(ite.tel instanceof Array)) {
|
|
|
+ ite.tel = ite.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(ite)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ if (item.tel != null && item.tel != "" && !(item.tel instanceof Array)) {
|
|
|
+ item.tel = item.tel.split(";")
|
|
|
+ }
|
|
|
+ data.push(item)
|
|
|
+ });
|
|
|
+
|
|
|
+ that.setData({
|
|
|
+ showTraffic: false,
|
|
|
+ popData: data,
|
|
|
+ })
|
|
|
+ wx.hideLoading()
|
|
|
+ });
|
|
|
+ wx.hideLoading()
|
|
|
+}
|
|
|
+
|
|
|
+function initMapDataAll(that, lat, lng) {
|
|
|
+ let arr = that.data.marksInfo
|
|
|
+ console.log(arr)
|
|
|
+ let index = 0;
|
|
|
+ let addrArr = []
|
|
|
+ let marksView = []
|
|
|
+ let task = setInterval(function () {
|
|
|
+ if (index >= arr.length) {
|
|
|
+ addrArr.push({
|
|
|
+ latitude: lat,
|
|
|
+ longitude: lng,
|
|
|
+ iconPath: imgUrl + "/location.png",
|
|
|
+ width: '30px',
|
|
|
+ height: '30px',
|
|
|
+ rotate: 0,
|
|
|
+ alpha: 1,
|
|
|
+ label: {
|
|
|
+ anchorX: 10,
|
|
|
+ anchorY: -22,
|
|
|
+ bgColor: '#fff',
|
|
|
+ borderRadius: 5,
|
|
|
+ padding: 5,
|
|
|
+ content: "我的位置",
|
|
|
+ color: '#333'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log(addrArr)
|
|
|
+ that.setData({
|
|
|
+ markers: addrArr,
|
|
|
+ marksView: marksView,
|
|
|
+ marksNum: addrArr.length - 1
|
|
|
+ })
|
|
|
+ clearInterval(task)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const address = arr[index]
|
|
|
+ index++
|
|
|
+ const jl = getDistances(lat, lng, address.latitude, address.longitude)
|
|
|
+ if (jl.m <= that.data.custGap) {
|
|
|
+ marksView.push(address)
|
|
|
+ addrArr.push({
|
|
|
+ id: address.id,
|
|
|
+ latitude: address.latitude,
|
|
|
+ longitude: address.longitude,
|
|
|
+ iconPath: imgUrl + "/location.png",
|
|
|
+ width: '34px',
|
|
|
+ height: '34px',
|
|
|
+ rotate: 0,
|
|
|
+ alpha: 1,
|
|
|
+ label: {
|
|
|
+ anchorX: 10,
|
|
|
+ anchorY: -22,
|
|
|
+ bgColor: '#fff',
|
|
|
+ borderRadius: 5,
|
|
|
+ padding: 5,
|
|
|
+ content: address.dep,
|
|
|
+ color: '#333'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // BMap.geocoder({
|
|
|
+ // address: address.address,
|
|
|
+ // success: (addr) => {
|
|
|
+
|
|
|
+ // BMap.calculateDistance({
|
|
|
+ // mode: 'straight',
|
|
|
+ // from: {
|
|
|
+ // latitude: lat,
|
|
|
+ // longitude: lng
|
|
|
+ // },
|
|
|
+ // to: [{
|
|
|
+ // latitude: addr.result.location.lat,
|
|
|
+ // longitude: addr.result.location.lng
|
|
|
+ // }],
|
|
|
+ // success: (json) => {
|
|
|
+ // console.log(getDistances(lat, lng, addr.result.location.lat, addr.result.location.lng))
|
|
|
+ // console.log(json)
|
|
|
+ // const jl = parseInt(json.result.elements[0].distance)
|
|
|
+ // if (jl <= 1000) {
|
|
|
+ // marksView.push(address)
|
|
|
+ // addrArr.push({
|
|
|
+ // id: address.id,
|
|
|
+ // latitude: json.result.elements[0].to.lat,
|
|
|
+ // longitude: json.result.elements[0].to.lng,
|
|
|
+ // iconPath: imgUrl+"/location.png",
|
|
|
+ // width: '34px',
|
|
|
+ // height: '34px',
|
|
|
+ // rotate: 0,
|
|
|
+ // alpha: 1
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ }, 10);
|
|
|
+}
|
|
|
+
|
|
|
+function searchHandMatterByValFun(that) {
|
|
|
+
|
|
|
+ searchHandMatterByVal(that.data.searchVal).then((res) => {
|
|
|
+
|
|
|
+ res.data.forEach((item) => {
|
|
|
+ const dept = item.depts.split(',')
|
|
|
+ let formtDept = item.fomartDept
|
|
|
+ const arr = dept.filter(value => that.data.jnxc.includes(value));
|
|
|
+ if (arr && arr.length) {
|
|
|
+ formtDept += ",区政务服务中心(江南新城中心)"
|
|
|
+ }
|
|
|
+ const arr2 = dept.filter(value => that.data.npzx.includes(value));
|
|
|
+ if (arr2 && arr2.length) {
|
|
|
+ formtDept += ",区政务服务中心(南坪中心)"
|
|
|
+ }
|
|
|
+ item.fomartDept = formtDept
|
|
|
+ })
|
|
|
+
|
|
|
+ let matterEventInfo = that.data.matterEventInfo
|
|
|
+ matterEventInfo.isShow = true
|
|
|
+ matterEventInfo.data = res.data
|
|
|
+ that.setData({
|
|
|
+ matterEventInfo: matterEventInfo
|
|
|
+ })
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+// 根据经纬度计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
|
|
|
+function getDistances(lat1, lng1, lat2, lng2) {
|
|
|
+ let EARTH_RADIUS = 6378.137; // 地球半径
|
|
|
+ let radLat1 = lat1 * Math.PI / 180.0; //lat1 * Math.PI / 180.0=>弧度计算
|
|
|
+ let radLat2 = lat2 * Math.PI / 180.0;
|
|
|
+ let a = radLat1 - radLat2;
|
|
|
+ let b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
|
|
|
+ let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
|
|
|
+ s = s * EARTH_RADIUS;
|
|
|
+ s = Math.round(s * 10000) / 10000; // 输出为公里
|
|
|
+ return {
|
|
|
+ m: s * 1000,
|
|
|
+ km: Number(s.toFixed(2))
|
|
|
+ }
|
|
|
+}
|