书写大屏页面

main
jinna 3 years ago
commit ad1888f816
  1. 7
      .editorconfig
  2. 23
      .gitignore
  3. 24
      README.md
  4. 5
      babel.config.js
  5. 19
      jsconfig.json
  6. 9613
      package-lock.json
  7. 58
      package.json
  8. 4
      public/config.js
  9. BIN
      public/favicon.ico
  10. 23
      public/index.html
  11. 28
      src/App.vue
  12. 7
      src/api/home.js
  13. BIN
      src/assets/fonts/Alibaba-PuHuiTi-Bold.ttf
  14. BIN
      src/assets/fonts/Alibaba-PuHuiTi-Heavy.otf
  15. BIN
      src/assets/fonts/Alibaba-PuHuiTi-Heavy.ttf
  16. BIN
      src/assets/fonts/Alibaba-PuHuiTi-Light.ttf
  17. BIN
      src/assets/fonts/Alibaba-PuHuiTi-Medium.ttf
  18. BIN
      src/assets/fonts/Alibaba-PuHuiTi-Regular.ttf
  19. BIN
      src/assets/fonts/DIN-Medium.otf
  20. BIN
      src/assets/fonts/DS-DIGI.TTF
  21. BIN
      src/assets/fonts/DS-DIGIB.TTF
  22. BIN
      src/assets/fonts/DS-DIGII.TTF
  23. BIN
      src/assets/fonts/DS-DIGIT.TTF
  24. BIN
      src/assets/fonts/HYLingXinJ.TTF
  25. BIN
      src/assets/fonts/PangMenZhengDao-3.TTF
  26. BIN
      src/assets/fonts/ShiShangZhongHeiJianTi.ttf
  27. BIN
      src/assets/fonts/Source-KeynoteartHans.otf
  28. BIN
      src/assets/fonts/SourceHanSansCN-Bold.otf
  29. BIN
      src/assets/fonts/SourceHanSansCN-ExtraLight.otf
  30. BIN
      src/assets/fonts/SourceHanSansCN-Heavy.otf
  31. BIN
      src/assets/fonts/SourceHanSansCN-Light.otf
  32. BIN
      src/assets/fonts/SourceHanSansCN-Medium.otf
  33. BIN
      src/assets/fonts/SourceHanSansCN-Normal.otf
  34. BIN
      src/assets/fonts/SourceHanSansCN-Regular.otf
  35. BIN
      src/assets/fonts/TRENDS.TTF
  36. BIN
      src/assets/fonts/YouSheBiaoTiHei.TTF
  37. BIN
      src/assets/fonts/number.ttf
  38. BIN
      src/assets/fonts/password.ttf
  39. BIN
      src/assets/images/360-5.jpg
  40. BIN
      src/assets/images/back.png
  41. BIN
      src/assets/images/dangjian.png
  42. BIN
      src/assets/images/maker-lan.png
  43. BIN
      src/assets/images/moren.png
  44. BIN
      src/assets/images/shequ.png
  45. BIN
      src/assets/img/all.png
  46. BIN
      src/assets/img/bag.png
  47. BIN
      src/assets/img/btn.png
  48. BIN
      src/assets/img/cancel.png
  49. BIN
      src/assets/img/date.png
  50. BIN
      src/assets/img/day.png
  51. BIN
      src/assets/img/dia_bag.png
  52. BIN
      src/assets/img/green.png
  53. BIN
      src/assets/img/left.jpg
  54. BIN
      src/assets/img/qua.png
  55. BIN
      src/assets/img/red.png
  56. BIN
      src/assets/img/sele.png
  57. BIN
      src/assets/img/title_bag.png
  58. BIN
      src/assets/img/year.png
  59. BIN
      src/assets/img/yellow.png
  60. BIN
      src/assets/logo.png
  61. BIN
      src/assets/wangge4/bg1.png
  62. BIN
      src/assets/wangge4/bg2.png
  63. BIN
      src/assets/wangge4/empty.png
  64. BIN
      src/assets/wangge4/sex1.png
  65. BIN
      src/assets/wangge4/sex2.png
  66. BIN
      src/assets/wangge4/tu1.png
  67. BIN
      src/assets/wangge4/tu10.png
  68. BIN
      src/assets/wangge4/tu11.png
  69. BIN
      src/assets/wangge4/tu12.png
  70. BIN
      src/assets/wangge4/tu13.png
  71. BIN
      src/assets/wangge4/tu14.png
  72. BIN
      src/assets/wangge4/tu2.png
  73. BIN
      src/assets/wangge4/tu3.png
  74. BIN
      src/assets/wangge4/tu4.png
  75. BIN
      src/assets/wangge4/tu5.png
  76. BIN
      src/assets/wangge4/tu6.png
  77. BIN
      src/assets/wangge4/tu7.png
  78. BIN
      src/assets/wangge4/tu8.png
  79. BIN
      src/assets/wangge4/tu9.png
  80. 60
      src/components/HelloWorld.vue
  81. 632
      src/components/map.vue
  82. 55
      src/config/index.js
  83. 137
      src/data/allData.js
  84. BIN
      src/data/imgs/1.jpg
  85. BIN
      src/data/imgs/2.jpeg
  86. BIN
      src/data/imgs/af1.png
  87. BIN
      src/data/imgs/af2.png
  88. BIN
      src/data/imgs/af3.png
  89. BIN
      src/data/imgs/af4.png
  90. BIN
      src/data/imgs/af5.png
  91. BIN
      src/data/imgs/af6.png
  92. BIN
      src/data/imgs/dian.png
  93. BIN
      src/data/imgs/img1.png
  94. BIN
      src/data/imgs/jg.jpg
  95. BIN
      src/data/imgs/ma2.png
  96. BIN
      src/data/imgs/qi.png
  97. BIN
      src/data/imgs/shui.png
  98. BIN
      src/data/imgs/xf.png
  99. BIN
      src/data/imgs/yx1.png
  100. BIN
      src/data/imgs/yx2.png
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,7 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 100

23
.gitignore vendored

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

@ -0,0 +1,24 @@
# admin
## Project setup
```
yarn install
```
### Compiles and hot-reloads for development
```
yarn serve
```
### Compiles and minifies for production
```
yarn build
```
### Lints and fixes files
```
yarn lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset',
],
};

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

9613
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,58 @@
{
"name": "map",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"axios": "^1.4.0",
"core-js": "^3.8.3",
"echarts": "^5.4.2",
"element-ui": "^2.15.13",
"rxjs": "^7.8.1",
"vue": "^2.6.14",
"vue-router": "^3.5.1",
"vue-seamless-scroll": "^1.1.23",
"vuex": "^3.6.2"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"@vue/eslint-config-airbnb": "^6.0.0",
"eslint": "^7.32.0",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-vue": "^8.0.3",
"eslint-plugin-vuejs-accessibility": "^1.1.0",
"sass": "^1.32.7",
"sass-loader": "^12.0.0",
"vue-template-compiler": "^2.6.14"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"@vue/airbnb"
],
"parserOptions": {
"parser": "@babel/eslint-parser"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}

@ -0,0 +1,4 @@
const config = {
baseIp: '/gw/',
baseYFIp: '/yunfan/',
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<script src="./config.js"></script>
<script type="text/javascript">
window._AMapSecurityConfig = {
securityJsCode: '03a24273f9b3e14e3806b84664820a1d',
}
</script>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

@ -0,0 +1,28 @@
<template>
<div id="app">
<router-view/>
</div>
</template>
<style lang="scss">
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
nav {
padding: 30px;
a {
font-weight: bold;
color: #2c3e50;
&.router-link-exact-active {
color: #42b983;
}
}
}
</style>

@ -0,0 +1,7 @@
import request from "@/util/axios";
export const queryResolve = () =>
request({
url: "/api/blade-business/report/getMediateFinish",
method: "get",
});

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

@ -0,0 +1,60 @@
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String,
},
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>

@ -0,0 +1,632 @@
<template>
<!-- :style="{ width: aWidth + 'px', height: aHeight + 'px' }"
:style="{
transform: `translate(-${translateX}px, -${translateY}px)`,
}" -->
<div class="amap-wai">
<div class="amap-box" :id="amapId"></div>
<!-- <div class="custom-info">
<div class="custom">
<div class="title_info">
<div class="title_name">胶西街道</div>
<div class="title_num">
<div>已上报</div>
<div><span>5</span></div>
</div>
</div>
<div class="con_info">
<div class="con_info_top">
<div class="con_tit">初登日期</div>
<div class="con_tit">诉求类型</div>
<div class="con_tit">来访人姓名</div>
</div>
<div class="con_info_con">
<div class="con_item">
<div class="item_txt">2023/06/08</div>
<div class="item_txt">王华华</div>
<div class="item_txt">家庭纠纷</div>
</div>
<div class="con_item">
<div class="item_txt">2023/06/08</div>
<div class="item_txt">王华华</div>
<div class="item_txt">家庭纠纷</div>
</div>
</div>
</div>
</div>
<div class="cancel">
<img src="@/assets/img/cancel.png" alt="">
</div>
</div> -->
</div>
</template>
<script>
let communityData = [];
import AMapLoader from "@amap/amap-jsapi-loader";
import { getZoom, callFuncInMain, ifIframe } from "@/libs/util";
import {
mapView1,
mapView2,
createAMap,
addJiaozhouMaker,
addQingdao,
addJiaozhou,
addJiedao,
addNullJiedao,
addWangge3,
addWangge4,
addJiaozhouTexts,
addQingDaoTexts,
addWanggeMakers,
addWangge31,
addWangge41,
resetGroup3Style,
resetGroup4Style,
hideWanggeAll,
resetGroup2Style,
deleteWanggeAll,
addJiaozhouLabelMarker,
deleteWangge2,
addShequ,
} from "@/libs/amap";
import {
selectedWanggeLevel$,
selectedJiaozhou$,
selectedStreet$,
selectedWangge3$,
selectedWangge4$,
hotMapType$,
selectedModelInfo$,
} from "@/subjects/sub";
import { Divider } from 'element-ui';
export default {
name: "index",
props: {
reliData: Array,
},
data() {
return {
amapId: !ifIframe() ? "amap-id-click" : "amap-id",
aWidth: 1920,
aHeight: 1080,
winWidth: 1920,
winHeight: 1080,
translateX: 0,
translateY: 0,
amap: null,
ob: null,
ob1: null,
rankList: {},
markersArr:[],
markers: [
{
name: "洋河镇",
position: [119.945718, 36.136799], //
offset: [-100, -80],
},
{
name: "铺集镇",
position: [119.726968, 36.126774], //
offset: [-80, -120],
},
{
name: "里岔镇",
position: [119.788636, 36.070297], //
offset: [20, -150],
},
{
name: "胶西街道",
position: [119.920687, 36.26026], //西
offset: [-80, -80],
},
{
name: "九龙街道",
position: [120.080354, 36.20667], //
offset: [-30, 0],
},
{
name: "中云街道",
position: [120.002198, 36.28424], //
offset: [-80, -80],
},
{
name: "阜安街道",
position: [120.015932, 36.284843], //
offset: [-60, -80],
},
{
name: "三里河街道",
position: [120.003466, 36.267643], //
offset: [-60, -20],
},
{
name: "胶东街道",
position: [120.097643, 36.310525], //
offset: [-100, -150],
},
{
name: "胶北街道",
position: [119.965759, 36.362683], //
offset: [-80, -60],
},
{
name: "胶莱街道",
position: [120.070996, 36.443059], //
offset: [-80, -60],
},
{
name: "李哥庄镇",
position: [120.158927, 36.352635], //
offset: [-20, -70],
},
],
};
},
// ,
watch: {
$route: {
handler: function (val, oldVal) {},
//
deep: true,
},
reliData: {
handler(newVal, oldVal) {
console.log("this ==>", this);
console.log("newVal ==>", newVal);
console.log("oldVal ==>", oldVal);
this.rankList = newVal[0];
if(this.amap == null){
this.$nextTick(() =>{
this.newMap()
})
}else{
this.selectedWanggeLevel2Event();
}
},
},
},
mounted() {
this.setZoom();
window.clickMark = this.clickMark;
window.addEventListener("resize", () => {
this.setZoom();
});
},
beforeUnmount() {
this.ob?.unsubscribe();
this.ob1?.unsubscribe();
},
created() {
// console.log('reliData ===>',)
},
methods: {
createInfo(title, content){
var info = document.createElement("div");
info.className = "custom-info input-card content-window-card";
// //
info.style.width = "350px";
info.innerHTML =
'<div class="custom">'+
'<div class="title_info">' +
'<div class="title_name">洋河镇</div>'+
'<div class="title_num">'+
'<div style="color:#fff">已上报</div>'+
'<div class="sb_num_txt"><span style="font-size:20px">5</span>件</div>'+
'</div>'+'</div>'+
'<div class="con_info">' +
' <div class="con_info_top">' +
'<div class="con_tit">初登日期</div>' +
'<div class="con_tit">诉求类型</div>' +
' <div class="con_tit">来访人姓名</div>' +
' </div>' +
'<div class="con_info_con">' +
'<div class="con_item">'+
' <div class="item_txt">2023/06/08</div>'+
'<div class="item_txt">王华华</div>'+
'<div class="item_txt">家庭纠纷</div>'+
'</div>'+
'<div class="con_item">'+
' <div class="item_txt">2023/06/08</div>'+
'<div class="item_txt">王华华</div>'+
'<div class="item_txt">家庭纠纷</div>'+
'</div>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="cancel">'+
'</div>'
console.log(info)
return info;
},
clickMark(val){
console.log('点击事件',val + '')
let tmp = this.markers.find(item => item.name == val)
console.log(tmp)
var title = '方恒假日酒店<span style="font-size:11px;color:#F00;">价格:318</span>',
content = [];
content.push("<img src='http://tpc.googlesyndication.com/simgad/5843493769827749134'>地址:北京市朝阳区阜通东大街6号院3号楼东北8.3公里");
content.push("电话:010-64733333");
content.push("<a href='https://ditu.amap.com/detail/B000A8URXB?citycode=110105'>详细信息</a>");
var infoWindow = new AMap.InfoWindow({
isCustom: true, //使
content: this.createInfo(title, content.join("<br/>")),
offset: new AMap.Pixel(16, -45)
});
infoWindow.open(this.amap,tmp.position)
},
// markerClick(e){
// console.log(e)
// },
newMap(){
AMapLoader.load({
key: this.config.amap.key, // WebKey load
version: "2.0", // JSAPI 1.4.15
plugins: ["AMap.GeoJSON"], // 使'AMap.Scale'
})
.then((AMap) => {
this.amap = createAMap(this.amapId);
this.amap.setCenter([119.954097, 36.220797]);
this.amap.on("complete", async () => {
callFuncInMain("wanggeScreenComplete", "");
this.ob = selectedWanggeLevel$.subscribe(async (key) => {
console.log('key',key)
this.amap?.clearMap()
this.clearModal();
hideWanggeAll();
if (key === 1) {
this.amap.setZoomAndCenter(mapView1.zoom, mapView1.center, true);
this.amap.setPitch(mapView1.pitch, true);
this.amap.setRotation(mapView1.rotation, true);
addQingdao(this.amap);
addJiaozhou(this.amap);
addJiaozhouMaker(this.amap);
// addQingDaoTexts(this.amap)
} else if (key === 2) {
// deleteWangge2()
this.selectedWanggeLevel2Event(hotMapType$.value);
}
});
// this.ob1 = hotMapType$.subscribe((type) => {
// if (selectedWanggeLevel$.value === 2) {
// this.selectedWanggeLevel2Event(hotMapType$.value);
// }
// });
});
this.amap.on("click", (e) => {
// console.log(this.amap.getCenter())
// console.log(this.amap.getZoom())
// console.log(this.amap.getPitch())
// console.log(this.amap.getRotation())
this.clearModal();
});
})
.catch((e) => {
console.log(e);
});
},
async getSecret() {
const { data } = await this.$fetch.get("api/bs/secret", {});
return RSAJieMi(data);
},
/**
*
* @param {*} hotType 热力图 形式 0按积分 1 按数量
*/
async selectedWanggeLevel2Event() {
// ,
// this.addAMapWanggeLevel2({}, hotType)
// let rankList = {}
// if (hotType === 0) {
// //
// rankList = await this.qryMobileSuqiuKanbanList('zjd')
// // console.log('rankList',rankList)
// } else {
// //
// // rankList = await this.getQrySqpm('zjd')
// }
// rankList = { : 1, : 4 };
console.log('selectedWanggeLevel$.value',selectedWanggeLevel$.value)
if (selectedWanggeLevel$.value === 2) {
this.addAMapWanggeLevel2(this.rankList);
}
},
/**
* 添加二级网格的地图上的东西
* @param {*} rankList
* @param {*} hotType
*/
addAMapWanggeLevel2(rankList) {
// console.log('hotType ==>',hotType,)
// this.amap.setZoomAndCenter(mapView2.zoom, mapView2.center, true);
// this.amap.setPitch(mapView2.pitch, true);
// this.amap.setRotation(mapView2.rotation, true);
// let latLng = new LatLng(119.726968,36.126774);
if(this.markersArr.length !== 0){
this.amap.remove(this.markersArr)
}
let markerArr = [];
for (let key in rankList) {
this.markers.map((item) => {
if (key == item.name) {
if (rankList[key] < 75) {
markerArr.push({
markerContent:
'<div class="green-content-marker">' +
' <div class="green-btn">' +
rankList[key] +
"</div>" +
"</div>",
position: item.position,
offset: item.offset,
});
} else if (rankList[key] >= 75 && rankList[key] <= 85){
markerArr.push({
markerContent:
"<div class='yellow-content-marker'" + 'onclick="clickMark(' + "'" + key + "'" +')"' + '</div>'+
'<div class="yellow-btn">' +
rankList[key] +
"</div>" +
"</div>",
position: item.position,
offset: item.offset,
});
} else if (rankList[key] > 85) {
markerArr.push({
markerContent:
'<div class="red-content-marker">' +
' <div class="red-btn">' +
rankList[key] +
"</div>" +
"</div>",
position: item.position,
offset: item.offset,
});
}
}
});
}
markerArr.forEach((marker) => {
let markTmp = new AMap.Marker({
map: this.amap,
content: marker.markerContent,
// icon: marker.icon,
position: [marker.position[0], marker.position[1]],
offset: new AMap.Pixel(marker.offset[0], marker.offset[1]),
});
this.markersArr.push(markTmp)
// markTmp.on('click', this.markerClick);
});
addJiedao(this.amap, 2, rankList);
addJiaozhouTexts(this.amap);
addJiaozhouLabelMarker(this.amap)
},
clearModal() {
// ,
selectedJiaozhou$.next(null);
//
selectedStreet$.next(null);
resetGroup2Style();
//
selectedWangge3$.next(null);
resetGroup3Style();
//
selectedWangge4$.next(null);
selectedModelInfo$.next(null);
resetGroup4Style();
},
setZoom() {
const zoom = getZoom();
this.aWidth = 1920 * zoom;
this.aHeight = 1080 * zoom;
//
this.winWidth = window.innerWidth;
this.winHeight = window.innerHeight;
if (this.winWidth > this.aWidth) {
this.translateX = (this.winWidth - this.aWidth) / 2;
}
if (this.winHeight > this.aHeight) {
this.translateY = (this.winHeight - this.aHeight) / 2;
}
},
},
};
</script>
<style scoped lang="scss">
.amap-wai {
width: 100%;
height: 100%;
}
::v-deep .amap-icon {
width: 100px !important;
height: 100px !important;
display: flex;
align-items: center;
justify-content: center;
img {
width: 100%;
height: 100%;
}
}
::v-deep .custom-info{
width: 350px;
height: 300px;
display: flex;
padding-top:20px;
.custom{
width: 90%;
height: 100%;
background: url('@/assets/img/dia_bag.png') no-repeat;
background-size: 100% 100%;
.title_info{
width: 96%;
height: 14%;
/* background: red; */
display: flex;
/* margin-top: 20px; */
margin: 0 auto;
margin-top: 20px;
align-items: center;
justify-content: space-between;
.title_name{
width: 60%;
text-align: left;
padding-left: 10px;
font-size: 18px;
color: #fff;
}
.title_num{
width: 40%;
/* background: green; */
display: flex;
height: 100%;
align-items: center;
.sb_num_txt{
background-image: linear-gradient(to bottom, #92eeff, #5bcaf5);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: bold;
}
// justify-content: center;
}
}
.con_info{
width: 90%;
height: 75%;
margin: 0 auto;
margin-top: 3%;
.con_info_top{
width: 100%;
height: 13%;
display: flex;
background: url("@/assets/img/title_bag.png") no-repeat;
background-size: 100% 100%;
color: #47c5f0;
.con_tit{
width: 33%;
display: flex;
align-items: center;
justify-content: center;
}
}
.con_info_con{
width: 100%;
height: 85%;
margin-top: 2%;
.con_item{
width: 100%;
height: 12%;
background: rgba(17, 71, 96, 0.3);
display: flex;
align-items: center;
color: #fff;
margin-bottom: 5px;
.item_txt{
width: 33%;
display: flex;
align-items: center;
justify-content: center;
}
}
}
}
}
.cancel{
width:30px;
height:30px;
background: url("@/assets/img/cancel.png") no-repeat;
background-size: 100% 100%;
}
}
::v-deep .green-content-marker {
width: 100px;
height: 100px;
background: url("@/assets/img/green.png") no-repeat;
background-size: 100% 100%;
display: flex;
align-items: center;
justify-content: center;
}
::v-deep .red-content-marker {
width: 100px;
height: 100px;
background: url("@/assets/img/red.png") no-repeat;
background-size: 100% 100%;
display: flex;
align-items: center;
justify-content: center;
}
::v-deep .yellow-content-marker {
width: 100px;
height: 100px;
background: url("@/assets/img/yellow.png") no-repeat;
background-size: 100% 100%;
display: flex;
align-items: center;
justify-content: center;
}
::v-deep .green-btn {
background-image: linear-gradient(to bottom, #caffe9, #7effbb);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 34px;
}
::v-deep .red-btn {
background-image: linear-gradient(to bottom, #ffbbbb, #ff7373);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 34px;
}
::v-deep .yellow-btn {
background-image: linear-gradient(to bottom, #fff0c8, #f4e05c);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 34px;
}
.amap-box {
// position: absolute;
// left: 0;
// top: 0;
width: 100%;
height: 100%;
// width: 100vw;
// height: 100vh;
}
::v-deep .amap-marker {
color: #fff !important;
}
</style>

@ -0,0 +1,55 @@
export default {
/**
* @description 配置显示在浏览器标签的title
*/
// title: '胶州市党建引领一网统筹城乡网格治理电子地图',
// title: '胶州市党建引领基层治理数字驾驶舱',
title: "党建引领基层治理综合服务平台",
/**
* 屏幕分辨率
*/
sWidth: 1920,
sHeight: 1080,
/**
* 一些定时器的轮询时间现在5分钟
*/
timeInterval: 5 * 60 * 1000,
/**
* 胶州code
*/
jzCode: 370281,
/**
* 公钥
*/
PUBLICKEY: `MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJM+2K1ceGZfgAf80PAPGkjskem6WzS6ZSJb//pi9C0V2MBQUPKRvmYr4rEKwsU8Y/nwfINwU4SdQSjpG3JYq/Xi4BbOZYJIiyC98cOECBSJ9qMMjxsPUH8w0Oj8HQVWkIPNu/XMJwy0LHCkeOJY92lyPalsioqvlw+B59JGqsZQIDAQAB`,
/**
* @description api请求基础路径
*/
baseUrl: {
imgBase: "https://rootai.cn",
dev: "/", // 正式环境
// pro: config.baseIp,
},
baseUrlYF: {
dev: "/",
// pro: config.baseYFIp,
},
amap: {
// 李学广的
key: "2803c231f8da7ed638fe7fb6ec0c07e5",
mapStyle: "becfeeb8d2ffaf0c7e58b872cf77a16d",
// 我的
// key:'aecab6c02e6bcca3dd79b717b54db235',
// mapStyle:'ae5993dd8f1b787fbc1c55cd4e7af167'
},
// 服务列表
serveces: {
ops: "services/smx-ops/",
tenant: "services/smx-tenant/",
tensec: "services/smx-tenant-security/",
uaa: "services/smx-uaa/",
iot: "services/smx-iot/",
grid: "services/smx-tenant-grid-operator/",
gateway: "",
},
};

@ -0,0 +1,137 @@
/**
* 青岛的区
*/
export const QingDaoArea = [
{
name: '平度市',
lonlat: [119.958734, 36.756091],
},
{
name: '莱西市',
lonlat: [120.422906, 36.813283],
},
{
name: '即墨区',
lonlat: [120.686578, 36.491572],
},
{
name: '黄岛区',
lonlat: [119.901056, 35.88197],
},
{
name: '城阳区',
lonlat: [120.332269, 36.270448],
},
{
name: '崂山区',
lonlat: [120.609674, 36.184039],
},
{
name: '李沧区',
lonlat: [120.422765, 36.175832],
},
{
name: '市北区',
lonlat: [120.371742, 36.112084],
},
{
name: '市南区',
lonlat: [120.368115, 36.059835],
},
]
/**
* 胶州镇街
*/
export const JiaoZhouStreets = [
{
name: '洋河镇',
lonlat: [119.93812790669215, 36.10555101363873],
},
{
name: '里岔镇',
lonlat: [119.81427191569176, 36.088312187216864],
},
{
name: '铺集镇',
lonlat: [119.69961418613835, 36.10939977641625],
},
{
name: '九龙街道',
lonlat: [120.05134785376572, 36.1910063974024],
},
{
name: '胶西街道',
lonlat: [119.87578419752631, 36.22684798508332],
},
{
name: '胶北街道',
lonlat: [119.96510683139181, 36.3662414967107],
},
{
name: '胶莱街道',
lonlat: [120.05558423842885, 36.43479965967534],
},
{
name: '李哥庄镇',
lonlat: [120.176459, 36.336042],
},
{
name: '胶东街道',
lonlat: [120.07256238227389, 36.343183055182685],
},
{
name: '中云街道',
lonlat: [119.9773152727287, 36.2800766934777],
},
{
name: '阜安街道',
lonlat: [120.02124745283263, 36.28850013293789],
},
{
name: '三里河街道',
lonlat: [119.987337307199, 36.23296421121942],
},
]
/**
* 街道编码配置
*/
export const JiaoZhouStreetsCodeObj = {
洋河镇: '370281111',
铺集镇: '370281105',
李哥庄镇: '370281102',
九龙街道: '370281006',
胶西街道: '370281009',
胶北街道: '370281008',
胶东街道: '370281007',
阜安街道: '370281001',
中云街道: '370281002',
三里河街道: '370281004',
里岔镇: '370281108',
胶莱街道: '370281010',
}
export const wangge3MapTexts = [
{
name: '商城社区',
lonlat: [119.88975, 36.116219],
},
{
name: '商城社区2',
lonlat: [119.81427191569176, 36.088312187216864],
},
]
export const wangge4MapTexts = [
{
name: '龙泉社区第一网格',
lonlat: [120.059352, 36.360455],
},
{
name: '龙泉社区第二网格',
lonlat: [119.943088, 36.283618],
},
]
export const data1 = {}
function getRandom(num) {
return parseInt(Math.random() * num)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 982 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1019 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save