-
+
+
+ *
+ 总用地面积(平方米)
+
{{ form.zydmj }}
-
+
+
+ *
+ 容积率
+
{{ form.rjl }}
-
+
+
+ *
+ 总建筑面积(平方米)
+
{{ form.zjzmj }}
@@ -59,7 +71,11 @@
{{ form.ldl }}
-
+
+
+ *
+ 建筑栋数(栋)
+
{{ form.jzds }}
@@ -71,7 +87,11 @@
{{ form.dxjzmj }}
-
+
+
+ *
+ 最高建筑层数(层)
+
{{ form.zgjzcs }}
@@ -87,7 +107,11 @@
{{ form.fjdctcw }}
-
+
+
+ *
+ 防火等级
+
{{ form.fhdj }}
@@ -176,7 +200,7 @@ export default {
updateTime: null,
},
rules: {
-
+
}
};
},
@@ -192,7 +216,6 @@ export default {
methods: {
checkPermi,
checkRole,
- // 导出操作
/** 导出 */
handleExport() {
this.download(
diff --git a/src/views/components/ProjectDetails/Projectpicturetwo.vue b/src/views/components/ProjectDetails/Projectpicturetwo.vue
index 2b4561e..30a0285 100644
--- a/src/views/components/ProjectDetails/Projectpicturetwo.vue
+++ b/src/views/components/ProjectDetails/Projectpicturetwo.vue
@@ -61,8 +61,8 @@ export default {
map: null,
keyword: "", // 搜索关键词
searchList: [], // 搜索结果列表
- searchBox: false, // 是否显示搜索结果框
- searchDebounce: null, // 防抖计时器
+ searchBox: false,
+ searchDebounce: null,
};
},
methods: {
@@ -205,8 +205,8 @@ export default {
.main-content {
display: flex;
- width: 82rem;
- padding: 0 1rem 1rem 1rem;
+ width: 74rem;
+ padding: 0 1rem 1rem 0rem;
}
.map-container {
diff --git a/src/views/components/ProjectDetails/supervisionicon.vue b/src/views/components/ProjectDetails/supervisionicon.vue
index 835100f..ac0c9e7 100644
--- a/src/views/components/ProjectDetails/supervisionicon.vue
+++ b/src/views/components/ProjectDetails/supervisionicon.vue
@@ -124,7 +124,7 @@
data() {
return {
dialogVisible: false,
- dialogTitle: "新增智能提醒规则",
+ dialogTitle: "新增智能提醒",
ruleForm: {
rulesName: "",
alertRecipients: "2",
diff --git a/src/views/components/analysis/allcompany.vue b/src/views/components/analysis/allcompany.vue
index 5a78163..0105248 100644
--- a/src/views/components/analysis/allcompany.vue
+++ b/src/views/components/analysis/allcompany.vue
@@ -4,13 +4,6 @@
diff --git a/src/views/components/analysis/chanyedxml.vue b/src/views/components/analysis/chanyedxml.vue
index d46a752..cbc310d 100644
--- a/src/views/components/analysis/chanyedxml.vue
+++ b/src/views/components/analysis/chanyedxml.vue
@@ -1,10 +1,11 @@
+
{{ totalCount }}
项目总数
-
+
@@ -59,14 +60,14 @@ export default {
orient: 'vertical', // 图例垂直排列
right: '10%', // 图例在右侧
top: 'center', // 图例垂直居中
- itemGap: 50, // 右侧间隔
+ itemGap: 30, // 右侧间隔
formatter: function (name) {
// 自定义图例显示格式
const item = this.chartData.find(item => item.name === name);
return `${name} ${item.value}个`;
}.bind(this),
textStyle: {
- fontSize: 16, // 设置图例字体大小
+ fontSize: 14, // 设置图例字体大小
fontfamily: 'alibold'
}
},
@@ -78,7 +79,7 @@ export default {
center: ['30%', '50%'],
data: this.chartData,
label: {
- show: false // 隐藏标签
+ show: false
},
emphasis: {
itemStyle: {
@@ -104,14 +105,14 @@ export default {
flex-direction: column;
justify-content: center;
align-items: center;
- top: 3.8rem;
- left: 7rem;
+ top: 3.2rem;
+ left: 7.5rem;
}
.itemsall span:nth-child(1) {
font-family: DINbold;
font-weight: 500;
- font-size: 2rem;
+ font-size: 1.2rem;
color: #292C33;
text-align: left;
font-style: normal;
@@ -121,7 +122,7 @@ export default {
.itemsall span:nth-child(2) {
font-family: alibold;
font-weight: 400;
- font-size: 1rem;
+ font-size: .7rem;
color: #9E9E9E;
text-align: left;
font-style: normal;
diff --git a/src/views/components/analysis/chanyeshuju.vue b/src/views/components/analysis/chanyeshuju.vue
index 7489e45..5c62de3 100644
--- a/src/views/components/analysis/chanyeshuju.vue
+++ b/src/views/components/analysis/chanyeshuju.vue
@@ -1,11 +1,12 @@
-
-
- {{ totalCount }}
- 项目总数
-
-
-
+
+
+
+ {{ totalCount }}
+ 项目总数
+
+
+
\ No newline at end of file
diff --git a/src/views/components/analysis/daiban.vue b/src/views/components/analysis/daiban.vue
index 57466c1..44d4f7e 100644
--- a/src/views/components/analysis/daiban.vue
+++ b/src/views/components/analysis/daiban.vue
@@ -13,9 +13,9 @@
- 填报
- 详情
diff --git a/src/views/components/analysis/function.vue b/src/views/components/analysis/function.vue
index 8491425..35ad46a 100644
--- a/src/views/components/analysis/function.vue
+++ b/src/views/components/analysis/function.vue
@@ -1,16 +1,24 @@
-
+
+
+ {{ functionnumber }}
+ 项目总数
+
+
+
+
\ No newline at end of file
diff --git a/src/views/components/analysis/invest.vue b/src/views/components/analysis/invest.vue
index 6d17b65..e0db20b 100644
--- a/src/views/components/analysis/invest.vue
+++ b/src/views/components/analysis/invest.vue
@@ -1,6 +1,12 @@
-
+
+
+ {{ functionnumber }}
+ 项目总数
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/views/components/analysis/map.vue b/src/views/components/analysis/map.vue
index 511074e..7ae46ce 100644
--- a/src/views/components/analysis/map.vue
+++ b/src/views/components/analysis/map.vue
@@ -33,6 +33,7 @@
+
@@ -67,7 +68,11 @@ import ProjectList from '@/views/components/analysis/projectList.vue'
import { getBasicInformationPage } from "@/api/ManageApi/index";
import { debounce } from 'lodash';
-// 自定义指令,点击外部关闭弹窗
+import suzhouData from '@/assets/json/suzhou.json'
+
+
+// 自定义指令
+// 点击外部关闭弹窗
const clickOutside = {
bind(el, binding, vnode) {
el.clickOutsideEvent = function (event) {
@@ -92,6 +97,8 @@ export default {
data() {
const basePathUrl = window.basePathUrl || "";
return {
+ markerIcon: require('@/assets/images/detailsicon/icon-定位@2x.png'),
+ projectMarker: null,
isCollapsed: false,
searchBox: '',
searchList: [],
@@ -138,11 +145,11 @@ export default {
show: true
}
],
- center: { lat: 31.3456, lng: 120.5957 },
+ center: { lat: 31.3356, lng: 120.7157 },
zoom: 11,
minZoom: 10,
maxZoom: 20,
- zoomControl: true,
+ // zoomControl: true,
chinaCRS: 'GCJ02'
},
map: null
@@ -166,27 +173,23 @@ export default {
this.map.on('load', this.onMapLoad);
},
- // 地图加载完成后的回调
onMapLoad() {
- // console.log('地图加载完成');
this.addSuzhouIndustrialParkLayer();
},
- // 添加苏州园区高亮区域
+ // 园区
async addSuzhouIndustrialParkLayer() {
try {
- const response = await fetch('/config/suzhou.json');
- const geoJsonData = await response.json();
+ const geoJsonData = suzhouData; // 直接使用导入的数据
const graphicLayer = new mars2d.layer.GraphicLayer({
name: "苏州园区高亮区域",
zIndex: 10
});
this.map.addLayer(graphicLayer);
- // 3. 添加GeoJSON数据
const polygon = mars2d.Util.geoJsonToGraphics(geoJsonData, {
style: {
fill: true,
fillColor: "#2B62F1",
- fillOpacity: 0.3,
+ fillOpacity: 0.3,
stroke: true,
color: "#2B62F1",
opacity: 0.8,
@@ -195,14 +198,9 @@ export default {
tooltip: "苏州工业园区"
});
graphicLayer.addGraphic(polygon);
-
- } catch (error) {}
- },
-
- handleClear() {
- this.showLocationIcon = false;
- this.searchList = [];
- this.hasSearched = false;
+ } catch (error) {
+ console.error('加载苏州园区数据失败:', error);
+ }
},
toggleCollapse() {
this.isCollapsed = !this.isCollapsed;
@@ -212,6 +210,7 @@ export default {
this.searchList = [];
this.hasSearched = false;
this.showLocationIcon = false;
+ this.showLocationIcon = false;
return;
}
this.debouncedSearch();
@@ -234,18 +233,23 @@ export default {
this.hasSearched = true;
if (response && response.code === 200 && response.data) {
this.searchList = response.data.records;
+ if (this.searchList.length === 0) {
+ this.$message.warning('查无此项目');
+ }
} else {
this.searchList = [];
+ this.$message.warning('查无此项目');
}
})
.catch(error => {
console.error('搜索失败:', error);
this.hasSearched = true;
this.searchList = [];
+ this.$message.error('搜索失败,请重试');
});
},
centerMap(item) {
- if (!item.jsdd) {
+ if (!item.longitude || !item.latitude) {
this.$message.warning('该项目未落图!');
return;
}
@@ -267,56 +271,61 @@ export default {
this.map.flyTo([lat, lng], 17);
}
- this.showLocationIcon = true;
- this.setRandomIconPosition();
- this.showDialog();
+ // 坐标定位
+ this.map.flyTo([item.latitude, item.longitude], 17);
+
+ // 标记
+ this.addProjectMarker(item);
},
- showDialog() {
- if (this.selectedProject.name) {
- this.dialogVisible = true;
- } else {
- this.$message.warning('请选择一个项目');
+ handleClear() {
+ this.showLocationIcon = false;
+ this.searchList = [];
+ this.hasSearched = false;
+ this.searchBox = '';
+ this.dialogVisible = false;
+ // 移除标记
+ if (this.projectMarker) {
+ this.map.removeLayer(this.projectMarker);
+ this.projectMarker = null;
+ }
+ this.map.setView(this.mapOptions.center, this.mapOptions.zoom);
+ },
+ addProjectMarker(item) {
+ if (this.projectMarker) {
+ this.map.removeLayer(this.projectMarker);
}
+
+ this.projectMarker = new mars2d.graphic.Marker({
+ latlng: [item.latitude, item.longitude],
+ style: {
+ image: this.markerIcon,
+ width: 32,
+ height: 44,
+ anchor: [16, 44]
+ },
+ interactive: true,
+ cursor: 'pointer'
+ });
+
+ // 点击图标
+ this.projectMarker.on(mars2d.EventType.click, (event) => {
+ this.selectedProject = { ...item };
+ this.dialogVisible = true;
+ });
+
+ this.map.addLayer(this.projectMarker);
+ },
+ showDialog() {
+ this.dialogVisible = true;
},
closeDialog() {
this.dialogVisible = false;
},
- setRandomIconPosition() {
- // 计算最大可随机范围
- const maxTop = 105;
- const maxLeft = 110;
-
- const randomTop = Math.floor(Math.random() * maxTop);
- const randomLeft = Math.floor(Math.random() * maxLeft);
-
- this.iconPosition = {
- position: 'absolute',
- top: `${randomTop}px`,
- left: `${randomLeft}px`,
- cursor: 'pointer'
- };
- }
}
}
\ No newline at end of file
diff --git a/src/views/components/analysis/messagecompany.vue b/src/views/components/analysis/messagecompany.vue
index 21a0d84..66c7a65 100644
--- a/src/views/components/analysis/messagecompany.vue
+++ b/src/views/components/analysis/messagecompany.vue
@@ -1,8 +1,8 @@
-
-
+
+
@@ -13,21 +13,18 @@
-
+
- {{ scope.row.date }}
+ {{ formatDate(scope.row.alertTime) }}
-
-
时间: {{ selectedMessage.date || '暂无' }}
内容: {{ selectedMessage.name }}
+
时间: {{ selectedMessage.alertTime}}
-
\ No newline at end of file