Compare commits

...

3 Commits

Author SHA1 Message Date
徐景良 a78ac5d7ac merge 2024-07-20 17:27:22 +08:00
徐景良 e57b8a87c2 Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua 2024-07-20 16:18:43 +08:00
徐景良 e25f76e461 merge 2024-07-20 16:18:38 +08:00
4 changed files with 77 additions and 42 deletions

View File

@ -30,17 +30,20 @@ import { generateUUID } from "../src/tool";
//对多边形进行判断,切割外的多边形丢弃
let innerPolygons = polygonCollection.features.filter(polygon => {
// 获取多边形质心 多边形不规则时有问题
// let center = turf.centroid(polygon);
// let innerPolygons = polygonCollection.features.filter(polygon => {
// // 获取多边形质心 多边形不规则时有问题
// // let center = turf.centroid(polygon);
// console.log("polygon123",polygon);
// // 获取多边形表面一点
// let newcenter = turf.pointOnFeature(polygon);
// 获取多边形表面一点
let newcenter = turf.pointOnFeature(polygon);
// // 求多边形内一点
// // let innerCenter =
return turf.booleanWithin(newcenter, outerPolygon);
});
// return turf.booleanWithin(newcenter, outerPolygon);
// });
// let innerPolygons = polygonCollection.features;
let innerPolygons = polygonCollection.features;
//处理镂空数据多处镂空数据会导致计算错误因为polygonize方法无法正常的返回数据

View File

@ -158,7 +158,7 @@
</div>
<div class="item-mark" v-if="item.isbuildname">{{item.isbuildname}}</div>
</div>
<div class="data-item-type-div" style="cursor:pointer;" @click="goAudit(item)">
<div class="data-item-type-div" style="cursor:pointer;">
{{item.unitname}}
</div>
</div>

View File

@ -285,7 +285,7 @@
@cancel="showSplitPolygon = false"
>
<div class="modal-content">
<SplitPolygonModal :showInfoData="showInfoData" @closeModal="showSplitPolygon=false"/>
<SplitPolygonModal :showInfoData="showInfoData" @closeModal="handlerSplitComplete"/>
</div>
</a-modal>
@ -303,7 +303,7 @@ import {
patchSourceOptions,
} from '@/views/demo/tiankongdi/curbspotcity/util';
import Amend from './amend.vue';
import { Empty, message } from 'ant-design-vue';
import { Empty, message,Modal } from 'ant-design-vue';
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
import SplitPolygonModal from '@/views/demo/tiankongdi/curbspotcity/MapList/SplitPolygonModal/index.vue';
import {recoverCase} from '@/api/tiankongdi'
@ -434,6 +434,12 @@ const showInfoData = ref();
onMounted(() => {
getInfoList();
});
function handlerSplitComplete(){
showSplitPolygon.value=false;
getInfoList();
}
//
async function locationFun(record) {
console.log(record);
@ -456,18 +462,27 @@ const getCollectList = () => {
};
const showSplitPolygon = ref(false);
const handlerRevertPolygon = (item)=>{
let params = {
"caseid": selectItem.value.id,
"parts": [
{
"caseid": null
}
],
"type": 0,
};
recoverCase(params).then(res=>{
if(res){
message.info(res)
Modal.confirm({
title:'是否确认还原分割图斑?',
onCancel() {
handlerUnDraw();
},
async onOk() {
let params = {
"caseid": selectItem.value.id,
"parts": [
{
"caseid": null
}
],
"type": 0,
};
recoverCase(params).then(res=>{
if(res){
message.info(res);
getInfoList();
}
})
}
})
}

View File

@ -233,27 +233,27 @@
</div>
<div class="data-list-info-div">
<div class="info-layout-div">
<div class="info-item">
<div class="info-label"></div>
<div class="info-data">{{item.area}}</div>
<div class="info-item" style="width: 130px;">
<div class="info-label">面积</div>
<div class="info-data" :title="`${item.area || '0'}亩`">{{item.area ? item.area : 0}}</div>
</div>
<div class="info-item">
<div class="info-label"></div>
<div class="info-data">{{item.gengdi_area}}</div>
<div class="info-label">农用地</div>
<div class="info-data" :title="`${item.nongyongdi_area || '0'}亩`">{{item.nongyongdi_area ? item.nongyongdi_area : 0}}</div>
</div>
<div class="info-item">
<div class="info-label"></div>
<div class="info-data">{{item.yongjiujibennongtian_area}}</div>
<div class="info-label">耕地</div>
<div class="info-data" :title="`${item.gengdi_area || '0'}亩`">{{item.gengdi_area ? item.gengdi_area : 0}}</div>
</div>
<div class="info-item">
<div class="info-label"></div>
<div class="info-data">{{item.nongyongdi_area}}</div>
<div class="info-item" style="width: 120px;">
<div class="info-label">基本</div>
<div class="info-data" :title="`${item.yongjiujibennongtian_area || '0'}亩`">{{item.yongjiujibennongtian_area ? item.yongjiujibennongtian_area : 0}}</div>
</div>
</div>
<div class="info-layout-div">
<span class="info-time">{{item.createdate}}</span>
<div>
<Icon
title="详情"
style="font-size: 30px; cursor: pointer"
@ -314,7 +314,7 @@
</a-col>
<a-col :span="12">
<a-form-item
label="生态保护红线面积"
label="生态红线面积"
name="shengtaibaohuhongxian_area"
>
<a-input v-model:value="splitPolygonAreaForm.shengtaibaohuhongxian_area" addon-after="" />
@ -323,17 +323,30 @@
</a-row>
<a-row>
<a-col :span="12">
<a-form-item
label="国土空间规划面积"
label="占重点区域面积"
name="guotukongjianguihua_area"
>
<a-input v-model:value="splitPolygonAreaForm.guotukongjianguihua_area" addon-after="" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
label="案件面积"
label="占空间规划面积"
name="guotukongjianguihua_area"
>
<a-input v-model:value="splitPolygonAreaForm.guotukongjianguihua_area" addon-after="" />
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<a-form-item
label="图斑面积"
name="area"
>
<a-input v-model:value="splitPolygonAreaForm.area" addon-after="" />
@ -814,16 +827,16 @@
margin-right: 5px;
}
}
.info-item{
display:flex;
.info-item {
display: flex;
background: rgba(237, 237, 237, 0.55);
align-items: center;
width: 80px;
width: 110px;
border-radius: 7px;
margin-right: 8px;
height: 30px;
justify-content: center;
.info-label{
.info-label {
font-family: Alibaba PuHuiTi;
font-weight: 400;
font-size: 16px;
@ -832,12 +845,16 @@
display: flex;
justify-content: center;
padding-right: 5px;
white-space: nowrap;
}
.info-data{
.info-data {
font-family: HarmonyOS Sans;
font-weight: 500;
font-size: 16px;
color: #000000;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}