Browse Source

宅基地资产地图公开

rongxin_prod
Xyq123* 1 year ago
parent
commit
d24eaee113
4 changed files with 1034 additions and 2 deletions
  1. +40
    -0
      src/api/sunVillage_info/fixedAssets.js
  2. +9
    -0
      src/router/index.js
  3. +14
    -2
      src/views/homesteadSurvey/nmfwAdd.vue
  4. +971
    -0
      src/views/sunVillage_info/assetMapOpen.vue

+ 40
- 0
src/api/sunVillage_info/fixedAssets.js View File

@@ -1071,3 +1071,43 @@ export function faceVerification(data) {

}

// 查询当前账套固定资产空间数据
export function getPermanentList(id) {
return request({
url: '/open/asset/getPermanentList/' + id,
method: 'get'
})
}
// 查询当前账套资源空间数据
export function getResourceList(id) {
return request({
url: '/open/assetresource/getResourceList/' + id,
method: 'get'
})
}
export const openAttachmentList = (data) => {
return request({
url: '/open/attachment/query',
method: 'get',
params: data
})
}

// 资产详情
export function assetDetail(id, parms) {
return request({
url: '/home/asset/v2/assetDetail/' + id,
method: 'get',
params: parms,
});
}
//资源详情
export function assetContractionDetail(id, parms) {
return request({
url: '/home/asset/v2/assetContractionDetail/' + id,
method: 'get',
params: parms,
});
}



+ 9
- 0
src/router/index.js View File

@@ -4164,6 +4164,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_contract_ranking'], resolve)
},
{ ////阳光村务(新)-- 资产地图公开
path: '/sunVillage_info/assetMapOpen',
name: 'sunVillageInfoAssetMapOpen',
meta: {
title: '资产地图公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/assetMapOpen'], resolve)
},
{ ////阳光村务(新)-- 资源管理
path: '/sunVillage_info/resource',
name: 'sunVillageInfoListResource',


+ 14
- 2
src/views/homesteadSurvey/nmfwAdd.vue View File

@@ -314,6 +314,8 @@
:value="new Date"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDjsj"
@cancel="showDjsj = false"
/>
@@ -353,6 +355,8 @@
:value="new Date"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmCfqssj"
@cancel="showCfqssj = false"
/>
@@ -375,6 +379,8 @@
:value="new Date"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmCfjssj"
@cancel="showCfjssj = false"
/>
@@ -445,6 +451,8 @@
:value="new Date"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmFwxzqssj"
@cancel="showFwxzqssj = false"
/>
@@ -502,6 +510,8 @@
:value="new Date"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmZwlvqssj"
@cancel="showZwlvqssj = false"
/>
@@ -524,6 +534,8 @@
:value="new Date"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmZwlvjssj"
@cancel="showZwlvjssj = false"
/>
@@ -631,8 +643,8 @@ export default {
// 当前位置信息
tGeoOrganizationLat: null,
tGeoOrganizationLng: null,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
minDate: new Date(1990, 1, 1),
maxDate: new Date(2030, 10, 1),
showZgqrzrq:false,
form:{}
};


+ 971
- 0
src/views/sunVillage_info/assetMapOpen.vue View File

@@ -0,0 +1,971 @@
<template>
<div class="homestead_main">
<!--<div id="landMapDiv"></div>-->
<div id="mapAll"></div>
<div id="info" style="display: none"></div>
<div class="plotPremises_right" v-if="this.mapHaDataValue">
<div class="land_information_main">
<div class="area_information">
<div class="mian">
<div class="basic_information" v-if="mapHasDateStatus == 0">
<div class="basic_block">
<van-row>
<van-col :span="4"><span class="title">资源编码:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.code }}</span></van-col>
<van-col :span="4"><span class="title">资源名称:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.name }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">资源类型:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.resourceType }}</span></van-col>
<van-col :span="4"><span class="title">坐落位置:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.location }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">东至:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.east }}</span></van-col>
<van-col :span="4"><span class="title">西至:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.west }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">南至:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.south }}</span></van-col>
<van-col :span="4"><span class="title">北至:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.north }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">总面积:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.totalArea }}</span></van-col>
<van-col :span="4"><span class="title">资产状态:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.status }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">使用情况:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.useType }}</span></van-col>
<van-col :span="4"><span class="title">备注:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.remark }}</span></van-col>
</van-row>

<van-row>
<van-col :span="24"><span class="title">附件图片:</span></van-col>
</van-row>
<van-row>
<van-col :span="24" style="height: 120px;overflow-y: auto;">
<div class="fileList">
<template v-for="(item,index) in mapHasData.fileList">
<a :href="item.url" v-if="item.url.indexOf('xlsx') > -1 || item.url.indexOf('xls') > -1">
<img src="../../assets/images/homestead/icon_excel.jpg" alt="" style="width:100px;height: 100px;">
</a>
<a :href="item.url" v-else-if="item.url.indexOf('docx') > -1 || item.url.indexOf('dox') > -1">
<img src="../../assets/images/homestead/icon_word.jpg" alt="" style="width:100px;height: 100px;">
</a>
<img v-else :src="item.url" alt="" @click="openImage(item.url)" style="width:100px;height: 100px;">
</template>
<van-empty v-if="mapHasData.fileList.length<1" description="暂无附件"></van-empty>
</div>
</van-col>
</van-row>
<div class="gl_main">
<div class="headers">
<div class="flex3">合同编码</div>
<div class="flex3">合同名称</div>
<div class="flex3">承包款</div>
<div class="flex3">状态</div>

</div>
<div class="desc_main">
<ul class="analysisTable_list">
<!--1-->
<li v-for="item in contractionList" class="flex_item">
<div class="flex3" >{{item.code}}</div>
<div class="flex3" >{{item.name}}</div>
<div class="flex3">{{item.totalAmount}}</div>
<div class="flex3">{{selectDictLabel(contractionStatuOptions, item.contractionStatus)}}</div>
</li>
</ul>
</div>
</div>
<!-- <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>-->
</div>
</div>

<div class="basic_information" v-if="mapHasDateStatus == 1">
<div class="basic_block">
<van-row>
<van-col :span="4"><span class="title">资产编码:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.code }}</span></van-col>
<van-col :span="4"><span class="title">资产名称:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.name }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">资产类别:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.assetType }}</span></van-col>
<van-col :span="4"><span class="title">经营属性:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.operationType }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">增加方式:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.addType }}</span></van-col>
<van-col :span="4"><span class="title">构建时间:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.buildTime }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">坐落位置:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.location }}</span></van-col>
<van-col :span="4"><span class="title">规格型号:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.specification }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">供应商:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.supplier }}</span></van-col>
<van-col :span="4"><span class="title">使用情况:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.useType }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">数量/面积:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.quantity }}</span></van-col>
<van-col :span="4"><span class="title">计量单位:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.unit }}</span></van-col>
</van-row>
<van-row>
<van-col :span="4"><span class="title">原值:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.originalValue }}</span></van-col>
<van-col :span="4"><span class="title">资产状态:</span></van-col>
<van-col :span="8"><span class="desc">{{ mapHasData.assetStatus }}</span></van-col>
</van-row>
<van-row>
<van-col :span="24"><span class="title">附件图片:</span></van-col>
</van-row>
<van-row>
<van-col :span="24" style="height: 120px;overflow-y: auto;">
<div class="fileList">
<template v-for="(item,index) in mapHasData.fileList">
<a :href="item.url" v-if="item.url.indexOf('xlsx') > -1 || item.url.indexOf('xls') > -1">
<img src="../../assets/images/homestead/icon_excel.jpg" alt="" style="width:100px;height: 100px;">
</a>
<a :href="item.url" v-else-if="item.url.indexOf('docx') > -1 || item.url.indexOf('dox') > -1">
<img src="../../assets/images/homestead/icon_word.jpg" alt="" style="width:100px;height: 100px;">
</a>
<img v-else :src="item.url" alt="" @click="openImage(item.url)" style="width:100px;height: 100px;">
</template>
<van-empty v-if="mapHasData.fileList.length<1" description="暂无附件"></van-empty>
</div>
</van-col>
</van-row>
<div class="gl_main">
<div class="headers">
<div class="flex3">合同编码</div>
<div class="flex3">合同名称</div>
<div class="flex3">承包款</div>
<div class="flex3">状态</div>

</div>
<div class="desc_main">
<ul class="analysisTable_list">
<!--1-->
<li v-for="item in contractionList" class="flex_item">
<div class="flex3" >{{item.code}}</div>
<div class="flex3" >{{item.name}}</div>
<div class="flex3" >{{item.totalAmount}}</div>
<div class="flex3">{{selectDictLabel(contractionStatuOptions, item.contractionStatus)}}</div>
</li>
</ul>
</div>
</div>
</div>
<!--<div class="basic_block">
<span class="title">折旧科目:</span>
<span class="desc">{{ mapHasData.depreciationSubject }}</span>
</div>
<div class="basic_block">
<span class="title">折旧费用科目:</span>
<span class="desc">{{ mapHasData.depreciationFeeSubject }}</span>
</div>
<div class="basic_block">
<span class="title">资产清理科目:</span>
<span class="desc">{{ mapHasData.fixedSubject }}</span>
</div>
<div class="basic_block">
<span class="title">资产清理额:</span>
<span class="desc">{{ mapHasData.fixedValue }}</span>
</div>
<div class="basic_block">
<span class="title">购置凭证ID:</span>
<span class="desc">{{ mapHasData.voucherId }}</span>
</div>-->
</div>
</div>
</div>
</div>
</div>

<van-dialog v-model="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</van-dialog>

</div>
</template>

<style scoped lang="scss">
.homestead_main {
height: 100vh;
display: flex;
display: -webkit-flex;
display: -ms-flexbox;
display: -moz-box;
flex-direction: column;
position: relative;
}
#mapAll {
height: 100vh;
position: absolute;
left: 0;
top: 0;
width: 100vw;
}
.fileList{
img{
width: 8vw;
height: 8vw;
margin-right: 20px;
}
}
.flex3 {
flex: 0.5;
overflow: hidden; /*超出部分隐藏*/
white-space: nowrap; /*不换行*/
text-overflow: ellipsis; /*超出部分文字以...显示*/
}
.plotPremises_right {
width: 98%;
position: fixed;
z-index: 1001;
top: 50%;
transform: translateY(-50%);
right: 0;
display: flex;
// display: none;
min-width: 300px;
/*height: calc(100% - 104px);*/
flex-direction: column;
.topTrimLine {
width: 100%;
height: 8px;
background: url("../../assets/images/homestead/header_border.png")
no-repeat;
background-size: 100% 100%;
position: absolute;
top: -4px;
left: 0;
}
.land_information_main {
flex: 1;
display: flex;

// align-items: center;
.area_information {
// margin-bottom: 3%;
flex: 1.5;
position: relative;
display: flex;
.mian {
background: rgba(25, 29, 24, 0.7);
/*background: rgba(255, 255, 255, 0.7);*/
// background: url("../../assets/images/dataScreen/plotPremises/left_top_img.png")
// no-repeat;
// background-size: 100% 100%;
padding: 3%;
flex: 1;
display: flex;
flex-direction: column;
.area_title {
margin: 0;
font-size: 22px;
color: #38da94;
}
.basic_information {
position: relative;
flex: 1;
display: flex;
flex-direction: column;
.basic_block {
font-size: 15px;
color: #47c68f;
flex: 1;
.van-row{
display:flex;
flex-wrap: wrap;
.van-col{
padding: 1% 0 1% 2%;
border-top: 1px solid #fff;
border-left: 1px solid #fff;
&:last-child{
border-right: 1px solid #fff;
}
}
&:last-child{
.van-col{
&:last-child{
border-bottom: 1px solid #fff;
}
}
}

}
.title {
color: #fff;
padding-right: 8px;
}
}
.patternmaking {
position: absolute;
right: 2%;
bottom: 16%;
.img_block {
margin-top: 8px;
&:first-child {
margin-top: 0;
}
}
p {
margin: 0;
font-size: 0;
img {
width: 78px;
height: 60px;
}
}
}
.gl_main{
margin-top: .8vh;
height: 28.15vh;
padding:0.92vh 0 0 0;
.headers {
height: 3.24vh;
font-size: 1.48vh;
color: #0befca;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
background: rgba(11,239,202,.3);
padding-right: 0.53vw;
margin-bottom: 1vh;
.flex_left{
text-align: left;
padding-left: 0.83vw;
}
}
.desc_main{
height: 21.5vh;
overflow-y: scroll;
padding-right: 0.3vw;
box-sizing:border-box;
.analysisTable_list {
margin: 0;
padding: 0;
flex: 1;
display: flex;
flex-direction: column;
.flex_left{
text-align: left;
padding-left: 0.83vw;
box-sizing:border-box;
}
.flex_item {
height: 2.77vh;
list-style: none;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
color: #fff;
font-size: 1.29vh;
position: relative;
// border-bottom: 1px solid rgba(255, 255, 255, 0.2);
// &:hover {
// background: rgba(8, 85, 255, 0.6);
// }
&:nth-child(2n){
background: rgba(53, 125, 250, 0.1);
}
}
}
}

}
}
.area_data {
padding: 4% 0;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
border-bottom: 1px solid #62655d;
.details_block {
width: 33.33%;
&.line {
margin-bottom: 2%;
}
p {
margin: 0;
}
.m_title {
color: #bbb;
font-size: 12px;
padding-bottom: 5px;
}
.m_desc {
color: #fff;
font-size: 14px;
}
}
}
.farmhouse_table {
padding: 4% 0 2%;
.header_main {
display: block;
overflow: hidden;
.farmhouse_title {
margin: 0;
font-size: 14px;
color: #fff;
float: left;
}
.farmhouse_ul {
font-size: 12px;
margin: 0;
float: right;
color: #fff;
padding: 0;
padding-right: 5px;
li {
float: left;
margin-left: 9px;
list-style: none;
cursor: pointer;
padding: 0;
&.active {
color: #87cf9a;
border-bottom: 1px solid #87cf9a;
}
}
}
}
}
}
}
}
}

</style>

<script>

import {
getPermanentList,
getResourceList,
assetDetail,
assetContractionDetail,
openAttachmentList
} from "@/api/sunVillage_info/fixedAssets";
import {getQueryLand} from "@/api/sunVillage_info/homestead/application";
export default {
components: {
getPermanentList,
getResourceList,
getQueryLand
},
data() {
return {
situationW: 70,
//地图判断
openMap: false,
mapTheGeomId: null,
mapTheGeomResourceId: null,
drawInsert:null,
mapHasData:{},
contractionList:[],
//合同状态字典
contractionStatuOptions:[],
mapHaDataValue:false,
mapHasDateStatus: 0, //0资源资产 1固定资产
dialogVisible:false,
dialogImageUrl:''
};
},

mounted() {
let mapTheGeomAll =this.$cookies.get("bookId");
console.info(mapTheGeomAll);
getPermanentList(mapTheGeomAll).then((response) => {
if (response.code == 200) {
this.mapTheGeomId = response.data;
}
});
getResourceList(mapTheGeomAll).then((response) => {
if (response.code == 200) {
this.mapTheGeomResourceId = response.data;
setTimeout(() => {
this.GetMapsInit();
}, 500);
}
});
},
methods: {
openImage(url){
this.dialogImageUrl = url;
this.dialogVisible = true;
},
//地图加载 -----start
GetMapsInit() {
this.getDicts("contraction_status").then((response) => {
this.contractionStatuOptions = response.data;
});
//加载地图编辑
var that = this;
var map;
//矢量标注样式设置函数,设置image为图标ol.style.Icon
function createLabelStyle() {
return new ol.style.Style({
image: new ol.style.Icon({
//设置图标偏移
anchor: [0.5, 1],
//标注样式的起点位置
anchorOrigin: "top-right",
//X方向单位:分数
anchorXUnits: "fraction",
//Y方向单位:像素
anchorYUnits: "pixels",
//偏移起点位置的方向
offsetOrigin: "top-right",
//透明度
opacity: 0.9,
//图片路径
src: require("../../assets/images/homestead/mark.png"),
}),
text: new ol.style.Text({
textAlign: "center", //位置
textBaseline: "middle", //基准线
font: "normal 12px 微软雅黑", //文字样式
//text: "标注点", //文本内容
fill: new ol.style.Fill({
//文本填充样式(即文字颜色)
color: "#ff0000",
}),
}),
zIndex: 9999,
});
}
// document.getElementById("mapAll").innerHTML = '';
var hc_land;
var vector_drawing;
var projection = new ol.proj.Projection({
//地图投影类型
code: "EPSG:3857",
units: "degrees",
//extent:extent
});

var aerial = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "http://t0.tianditu.gov.cn/img_w/wmts?" +
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067",
}),
isGroup: true,
name: "卫星影像图",
});

var yingxzi = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "https://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067",
}),
isGroup: true,
name: "天地图文字标注--卫星影像图",
});
//加载地图
map = new ol.Map({
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮
layers: [aerial, yingxzi],
projection: projection,
target: "mapAll",
view: new ol.View({
//center: ol.proj.fromLonLat([115.452752, 31.789033]),
zoom: 15,
minZoom: 0, //地图缩小限制
maxZoom: 18.3, //地图放大限制
}),
});
//判断当前账套是否有数据
var mapTalkAbout = true;
//图层查询固定资产定位开始 ---------start
if(this.mapTheGeomId.length >0) {
for (var i = 0; this.mapTheGeomId.length > i; i++) {
if (this.mapTheGeomId[i] != null && this.mapTheGeomId[i].theGeom != null && this.mapTheGeomId[i].theGeom != "") {
mapTalkAbout =false;
var theGeomMap = this.mapTheGeomId[i].theGeom.replace("Point", "MultiPolygon");
var pointLeft = theGeomMap.replace("[", "[[[[");
var pointRight = pointLeft.replace("]", "]]]]");
hc_land = new ol.layer.Vector({
title: "add Layer",
source: new ol.source.Vector({
projection: projection,
features: new ol.format.GeoJSON().readFeatures("{\n" +
" \"type\": \"Feature\",\n" +
" \"geometry\":" + pointRight +", \"properties\":" + JSON.stringify(this.mapTheGeomId[i]) + "}"),
}),
style: new ol.style.Style({
fill: new ol.style.Fill({
//矢量图层填充颜色,以及透明度
color: "rgba(204, 255, 204,0.3)",
}),
stroke: new ol.style.Stroke({
//边界样式
color: "#47c68f",
width: 3,
}),
}),
});
map.addLayer(hc_land);
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
//定位查询位置
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
var newcenterFeature = new ol.Feature({
geometry: new ol.geom.Point(center), //几何信息
name: "标注点",
properties: hc_land.values_.source.featuresRtree_.rbush_.data.children
});
var sourceMapLook = new ol.source.Vector({wrapX: false});
vector_drawing = new ol.layer.Vector({
source: sourceMapLook,
});
map.addLayer(vector_drawing);
newcenterFeature.setStyle(createLabelStyle()); //设置要素样式
sourceMapLook.addFeature(newcenterFeature);
map.getView().animate({
// 只设置需要的属性即可
center: center, // 中心点
zoom: 15.8, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
}
}
//图层查询固定资产定位结束 ---------end
//图层查询资源性资产定位开始 ---------start
if(this.mapTheGeomResourceId.length >0) {
for (var i = 0; this.mapTheGeomResourceId.length > i; i++) {
if (this.mapTheGeomResourceId[i] !=null && this.mapTheGeomResourceId[i].theGeom != null && this.mapTheGeomResourceId[i].theGeom != "") {
mapTalkAbout =false;
hc_land = new ol.layer.Vector({
title: "add Layer",
source: new ol.source.Vector({
projection: projection,
features: new ol.format.GeoJSON().readFeatures("{\n" +
" \"type\": \"Feature\",\n" +
" \"geometry\":" + this.mapTheGeomResourceId[i].theGeom + ", \"properties\":" + JSON.stringify(this.mapTheGeomResourceId[i]) + "}"),
}),
style: new ol.style.Style({
fill: new ol.style.Fill({
//矢量图层填充颜色,以及透明度
color: "rgba(204, 255, 204,0.3)",
}),
stroke: new ol.style.Stroke({
//边界样式
color: "#47c68f",
width: 3,
}),
}),
});
map.addLayer(hc_land);
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
//定位查询位置
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
map.getView().animate({
// 只设置需要的属性即可
center: center, // 中心点
zoom: 15.8, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
}
}
//图层查询资源性资产定位开始 ---------end
//点击查询详细信息
map.on("singleclick", function (evt) {
let feature = map.forEachFeatureAtPixel(
evt.pixel,
(feature) => feature
);

if(feature) {

var ifConsole = feature.values_.name;

if (ifConsole !="标注点") {
console.log(feature)
assetContractionDetail(feature.values_.id, {translate_dict: 1}).then((resp) => {
that.contractionList = resp.data.params.contractionAssetList;
that.mapHaDataValue = true;
});
let obj = {};
that.mapHasDateStatus = 0;
obj.code = feature.values_.code;//资源编码
obj.name = feature.values_.name;//资源名称
obj.totalArea = feature.values_.totalArea; //总面积
obj.location = feature.values_.location; //坐落位置
obj.east = feature.values_.east; //东至
obj.west = feature.values_.west; //西至
obj.south = feature.values_.south; //南至
obj.north = feature.values_.north; //北至
obj.sumArea = feature.values_.sumArea; //未利用地=集体经营+出租经营+其他经营
obj.groupArea = feature.values_.groupArea; //面积-集体经营
obj.groupValue = feature.values_.groupValue; //年收益-集体经营
obj.rentArea = feature.values_.rentArea; //面积-出租经营(合同写入的)
obj.rentValue = feature.values_.rentValue; //年租金-出租经营(合同写入的)
obj.rentLessee = feature.values_.rentLessee; //承租人-出租经营(合同写入的)
obj.rentStartTime = feature.values_.rentStartTime; //开始时间-出租经营(合同写入的)
obj.rentEndTime = feature.values_.rentEndTime; //到期时间-出租经营(合同写入的)
obj.otherArea = feature.values_.otherArea; //面积-其他经营
obj.otherValue = feature.values_.otherValue; //年收益-其他经营
obj.farmerArea = feature.values_.farmerArea; //已承包到户总面积
obj.circulationArea = feature.values_.circulationArea; //面积-流转入集体统一经营
obj.circulationValue = feature.values_.circulationValue; //年收益-流转入集体统一经营
obj.investmentArea = feature.values_.investmentArea; //面积-对外投资
obj.investmentValue = feature.values_.investmentValue; //年收益-对外投资
obj.investmentLessee = feature.values_.investmentLessee; //投资对象-对外投资
obj.investmentStartTime = feature.values_.investmentStartTime; //开始时间-对外投资
obj.investmentEndTime = feature.values_.investmentEndTime; //到期时间-对外投资
obj.resourceType = feature.values_.resourceType; //资产类型
obj.status = feature.values_.status; //资产状态
obj.useType = feature.values_.useType; //使用情况
obj.remark = feature.values_.remark; //备注
//资源资产字典项
that.getDicts("resource_type").then(response => {
var resourceTypeOptions = response.data;
if(obj.resourceType !=null && obj.resourceType !="") {
for (var i = 0; resourceTypeOptions.length > i; i++) {
if (obj.resourceType == resourceTypeOptions[i].dictValue) {
obj.resourceType = resourceTypeOptions[i].dictLabel;
break;
}
}
}
});
//使用情况字典项
that.getDicts("use_type").then(response => {
var useTypeOptions = response.data;
if(obj.useType !=null && obj.useType !="") {
for (var i = 0; useTypeOptions.length > i; i++) {
if (obj.useType == useTypeOptions[i].dictValue) {
obj.useType = useTypeOptions[i].dictLabel;
break;
}
}
}
});
//资产状态字典项
that.getDicts("sys_normal_disable").then(response => {
var statusOptions = response.data;
if(obj.status !=null && obj.status !="") {
for (var i = 0; statusOptions.length > i; i++) {
if (obj.status == statusOptions[i].dictValue) {
obj.status = statusOptions[i].dictLabel;
break;
}
}
}
});

obj.fileList = [];
let parmasData = {
tableId: feature.values_.id,
tableName: 't_asset_resource',
bizPath: 'asset',
};
openAttachmentList(parmasData).then((res) => {
if (res.code == 200) {
res.rows.map(rr=>{
obj.fileList.push({
url:'/api'+rr.fileUrl
})
})
}
});
console.log(obj)
that.mapHasData = obj;
} else {
let obj = {};
assetDetail(feature.values_.properties[0].value.values_.id, {translate_dict: 1}).then((resp) => {
that.contractionList = resp.data.params.contractionAssetList;
that.mapHaDataValue = true;
});
that.mapHasDateStatus = 1;
obj.code = feature.values_.properties[0].value.values_.code;//资源编码
obj.name = feature.values_.properties[0].value.values_.name;//资源名称
obj.buildTime = feature.values_.properties[0].value.values_.buildTime; //构建时间
obj.location = feature.values_.properties[0].value.values_.location; //坐落位置
obj.specification = feature.values_.properties[0].value.values_.specification; //规格型号
obj.supplier = feature.values_.properties[0].value.values_.supplier; //供应商
obj.quantity = feature.values_.properties[0].value.values_.quantity; //数量/建筑面积
//obj.unit = feature.values_.properties[0].value.values_.unit; //计量单位
obj.originalValue = feature.values_.properties[0].value.values_.originalValue; //原值
obj.netValue = feature.values_.properties[0].value.values_.netValue; //净值(原值-累计折旧)
obj.residualsRate = feature.values_.properties[0].value.values_.residualsRate; //残值率 N%
obj.netSalvage = feature.values_.properties[0].value.values_.netSalvage; //净残值(原值*残值率)
obj.expectedYears = feature.values_.properties[0].value.values_.expectedYears; //预计使用年数
obj.perYearDepreciationValue = feature.values_.perYearDepreciationValue; //每年折旧额:(原值-净残值)/ 预计使用年数
obj.depreciationYears = feature.values_.properties[0].value.values_.depreciationYears; //已折旧年数
obj.depreciationValue = feature.values_.properties[0].value.values_.depreciationValue; //累计折旧(已提折旧):每年折旧额*已折旧年数
obj.depreciationSubject = feature.values_.properties[0].value.values_.depreciationSubject; //折旧科目(152:累计折旧)
obj.depreciationFeeSubject = feature.values_.properties[0].value.values_.depreciationFeeSubject; //折旧费用科目(541005:管理费用-折旧及修理费)
obj.fixedSubject = feature.values_.properties[0].value.values_.fixedSubject; //资产清理科目(153:固定资产清理)
obj.fixedValue = feature.values_.properties[0].value.values_.fixedValue; //资产清理额
obj.voucherId = feature.values_.properties[0].value.values_.voucherId; //购置凭证ID
obj.assetType = feature.values_.properties[0].value.values_.assetType; //资产类别
obj.operationType = feature.values_.properties[0].value.values_.operationType; //经营属性
obj.addType = feature.values_.properties[0].value.values_.addType; //增加方式
obj.useType = feature.values_.properties[0].value.values_.useType; //使用情况
obj.depreciationType = feature.values_.properties[0].value.values_.depreciationType; //折旧方式
obj.assetStatus = feature.values_.properties[0].value.values_.assetStatus; //资产状态
obj.unit = feature.values_.properties[0].value.values_.unit; //计量单位

obj.fileList = [];
let parmasData = {
tableId: feature.values_.properties[0].value.values_.id,
tableName: 't_asset_permanent',
bizPath: 'asset',
};
openAttachmentList(parmasData).then((res) => {
if (res.code == 200) {
res.rows.map(rr=>{
obj.fileList.push({
url:'/api'+rr.fileUrl
})
})
}
});

//固定资产字典项
that.getDicts("asset_type").then((response) => {
var assetTypeOptions = response.data;
if(obj.assetType !=null && obj.assetType !=""){
for(var i=0;assetTypeOptions.length >i; i++){
if(obj.assetType == assetTypeOptions[i].dictValue) {
obj.assetType = assetTypeOptions[i].dictLabel;
break;
}
}
}
});
that.getDicts("operation_type").then((response) => {
var operationTypeOptions = response.data;
if(obj.operationType !=null && obj.operationType !="") {
for (var i = 0; operationTypeOptions.length > i; i++) {
if (obj.operationType == operationTypeOptions[i].dictValue) {
obj.operationType = operationTypeOptions[i].dictLabel;
break;
}
}
}
});
that.getDicts("add_type").then((response) => {
var addTypeOptions = response.data;
if(obj.addType !=null && obj.addType !="") {
for (var i = 0; addTypeOptions.length > i; i++) {
if (obj.addType == addTypeOptions[i].dictValue) {
obj.addType = addTypeOptions[i].dictLabel;
break;
}
}
}
});
that.getDicts("use_type").then((response) => {
var useTypeOptions = response.data;
if(obj.useType !=null && obj.useType !="") {
for (var i = 0; useTypeOptions.length > i; i++) {
if (obj.useType == useTypeOptions[i].dictValue) {
obj.useType = useTypeOptions[i].dictLabel;
break;
}
}
}
});
that.getDicts("depreciation_type").then((response) => {
var depreciationTypeOptions = response.data;
if(obj.depreciationType !=null && obj.depreciationType !="") {
for (var i = 0; depreciationTypeOptions.length > i; i++) {
if (obj.depreciationType == depreciationTypeOptions[i].dictValue) {
obj.depreciationType = depreciationTypeOptions[i].dictLabel;
break;
}
}
}
});
that.getDicts("asset_status").then((response) => {
var assetStatusOptions = response.data;
if(obj.assetStatus !=null && obj.assetStatus !="") {
for (var i = 0; assetStatusOptions.length > i; i++) {
if (obj.assetStatus == assetStatusOptions[i].dictValue) {
obj.assetStatus = assetStatusOptions[i].dictLabel;
break;
}
}
}
});
that.getDicts("fixed_assets_unit").then((response) => {
var unitOptions = response.data;
if(obj.unit !=null && obj.unit !="") {
for (var i = 0; unitOptions.length > i; i++) {
if (obj.unit == unitOptions[i].dictValue) {
obj.unit = unitOptions[i].dictLabel;
break;
}
}
}
});
that.mapHasData = obj;
}
}else {
that.mapHaDataValue = false;
}
});
//当前账套没有任何空间数据
if(mapTalkAbout){
let deptName = this.$store.state.user.loginDeptId + "";
getQueryLand(deptName).then((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
var lat = InsertCode.lat;
var lng = InsertCode.lng;
var center;
if(lat !=null && lng !=null && lat !="" && lng !=""){
center = [lng,lat];
}else {
center =[115.452752, 31.789033];
}
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(center), // 中心点
zoom: 17.9, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
}
});
}
},
},
};
</script>

Loading…
Cancel
Save