图斑 => 线索

main
zhufu 2 months ago
parent ce4cf475d9
commit f7f84e5cb4

@ -65,13 +65,13 @@
DTU和PLC完
-->
<div class="online">
<div class="title">图斑线索统计</div>
<div class="title">线索线索统计</div>
<div class="online_con" id="container2">
</div>
</div>
<div class="industry">
<div class="title">图斑分类统计</div>
<div class="title">线索分类统计</div>
<div class="industry_con" id="container3"></div>
</div>
</div>
@ -138,7 +138,7 @@
<img class="centerimg" src="./images/newscase.png" />
<img class="centerimgActive" style="display: none;"
src="./images/newscase-active.png" />
最新图斑</span>
最新线索</span>
</div>
<!-- <div class="center_top_con_but" data-layerName="uavLayer" data-isActive="false">
<span>无人机</span>
@ -149,13 +149,13 @@
<img class="centerimg" src="./images/historycase.png" />
<img class="centerimgActive" style="display: none;"
src="./images/historycase-active.png" />
历史图斑</span>
历史线索</span>
</div>
</div>
</div>
</div>
<div class="center_bot" style="position:relative;">
<div class="title">今日图斑处理</div>
<div class="title">今日线索处理</div>
<div
style="position:absolute;left:0px;top:50px;height:25px;width:100%;overflow: hidden;overflow: auto;z-index:10;">
<table class="panel-table" bordercolor="#0d48e0" border="1">
@ -407,7 +407,7 @@
<!-- <div class="pop2" style="height: 650px;"> -->
<div class="pop2">
<div class="pop-top">
图斑详情
线索详情
<span class="pop-close"></span>
</div>
<!-- <div class="pop-content" style="height: 560px;"> -->
@ -424,15 +424,15 @@
</thead> -->
<tbody style="line-height:40px;">
<tr class="aaa" style="font-size: 16px;height:30px;" align="center">
<td style="font-size: 16px;height:30px;width:100px;">图斑编号</td>
<td style="font-size: 16px;height:30px;width:100px;">线索编号</td>
<td class="caseinfoNo"></td>
<td>图斑面积</td>
<td>线索面积</td>
<td class="caseinfoArea">&nbsp;</td>
</tr>
<tr class="aaa" style="font-size: 16px;" align="center">
<td>图斑类型</td>
<td>线索类型</td>
<td class="caseinfoType">&nbsp;</td>
<td>图斑描述</td>
<td>线索描述</td>
<td class="caseinfoDesc">&nbsp;</td>
</tr>
<tr class="aaa" style="font-size: 16px;" align="center">
@ -442,7 +442,7 @@
<td class="caseinfoAddress">&nbsp;</td>
</tr>
<tr class="aaa" style="font-size: 16px;" align="center">
<td>图斑图片</td>
<td>线索图片</td>
<td colspan="3" class="caseinfoImages" style="text-align: left;">
</td>
</tr>
@ -466,22 +466,22 @@
<!--弹出框-->
<div class="pop3">
<div class="pop-top">
图斑处理信息
线索处理信息
<span class="pop-close"></span>
</div>
<div class="pop-content">
<table class="panel-table case-detail" bordercolor="#deefff" border="1">
<tbody style="line-height:40px;">
<tr class="aaa" style="font-size: 16px;height:30px;" align="center">
<td style="font-size: 16px;height:30px;width:100px;">图斑编号</td>
<td style="font-size: 16px;height:30px;width:100px;">线索编号</td>
<td class="caseinfoNo"></td>
<td>处理时间</td>
<td class="dealTime">&nbsp;</td>
</tr>
<tr class="aaa" style="font-size: 16px;" align="center">
<td>图斑类型</td>
<td>线索类型</td>
<td class="caseinfoType">&nbsp;</td>
<td>图斑描述</td>
<td>线索描述</td>
<td class="caseinfoDesc">&nbsp;</td>
</tr>
<tr class="aaa" style="font-size: 16px;" align="center">
@ -495,11 +495,11 @@
<td colspan="3" class="dealResult">&nbsp;</td>
</tr>
<tr class="aaa" style="font-size: 16px;" align="center">
<td>图斑图片</td>
<td>线索图片</td>
<td colspan="3" class="caseinfoImages" style="text-align: left;">
</td>
</tr>
<!-- 图斑处理图片 -->
<!-- 线索处理图片 -->
<tr class="aaa" style="font-size: 16px;" align="center">
<td>处理图片</td>
<td colspan="3" class="dealImages">

@ -240,7 +240,7 @@ function getCaseClassData() {
}
});
}
//今日图斑处理
//今日线索处理
$.ajax({
type: "GET",
url: BASE_URL + "/api/DroneScreenDisplay/LoadDroneCaseDeal",
@ -285,7 +285,7 @@ function getTodayCaseDeal() {
}
// target2.on("click", ".click_pop2", function(){
// 今日图斑处理详情
// 今日线索处理详情
$(".click_pop2").click(function () {
$('.bgPop3,.pop3').show();
var IMAGE_BASE_URL = " http://60.213.14.14:6070";
@ -786,16 +786,16 @@ function updateData() {
// 获取最新上报
getNewestReport();
//获取今日图斑处理
//获取今日线索处理
getTodayCaseDeal();
//线索办理图表数据更新
getDealingAndCompleteData();
//图斑线索统计表数据更新
//线索线索统计表数据更新
getVillageData();
//图斑分类统计表数据更新
//线索分类统计表数据更新
getCaseClassData();
//本周图表数据更新
@ -840,8 +840,8 @@ var scn_data = {
factoryHeader: [
{ "categories": "处理时间" },
// {"categories":"上报时间"},
{ "categories": "图斑类型" },
{ "categories": "图斑描述" },
{ "categories": "线索类型" },
{ "categories": "线索描述" },
{ "categories": "乡镇" },
{ "categories": "处理结果" }
],
@ -1057,7 +1057,7 @@ function loadCompleteCaseCountCharts(plc) {
},
xAxis: {
type: 'category',
data: ['图斑总数', '已处理数'],
data: ['线索总数', '已处理数'],
axisLine: {
show: true,
lineStyle: {
@ -1167,7 +1167,7 @@ function loadCompleteCaseCountCharts(plc) {
}
loadCompleteCaseCountCharts(news_drow_dtu_num);
//加载乡镇图斑线索统计表
//加载乡镇线索线索统计表
var villageCharts = null;
function loadVillageData(online) {
let option = {
@ -1222,7 +1222,7 @@ function loadVillageData(online) {
},
series: [
{
name: '乡镇图斑数量',
name: '乡镇线索数量',
type: 'pictorialBar',
pictorialBar: '40%',
// symbol: 'path://M0,10 L10,10 L5,0 L0,10 z',
@ -1273,7 +1273,7 @@ function loadVillageData(online) {
}
loadVillageData(news_online);
//加载图斑分类统计
//加载线索分类统计
var caseClassCharts = null;
function loadCaseClassCharts(industy) {
@ -1296,7 +1296,7 @@ function loadCaseClassCharts(industy) {
calculable: true,
series: [
{
name: '图斑分类统计',
name: '线索分类统计',
type: 'pie',
radius: ['35%', '55%'],
center: ['50%', '40%'],

@ -73,7 +73,7 @@ $(function () {
// flyTo: true
// },
// {
// name: "历史图斑",
// name: "历史线索",
// type: "wms",
// url: "http://175.27.168.120:8080/geoserver/feixian/wms",
// layers: "tanyizhen:anjianjilu",

@ -468,7 +468,7 @@ function loadNewestReportPoint() {
var townshipName = document.createElement("div");
townshipName.className = 'townshipName';
var mytext = document.createTextNode("历史图斑" + townships[t].historyCount);
var mytext = document.createTextNode("历史线索" + townships[t].historyCount);
townshipName.appendChild(mytext);
@ -490,7 +490,7 @@ function loadNewestReportPoint() {
var newestName = document.createElement("div");
newestName.className = 'newestName';
var mytext = document.createTextNode("最新图斑" + townships[t].newestCount);
var mytext = document.createTextNode("最新线索" + townships[t].newestCount);
newestName.appendChild(mytext);
@ -811,7 +811,7 @@ map.on('load', function () {
'fill-opacity': 1,
}
});
// 历史图斑数量
// 历史线索数量
map.addLayer({
id: `historyCaseLayer`,
type: 'symbol',
@ -820,7 +820,7 @@ map.on('load', function () {
layout: {
'icon-image': '',
visibility: 'none',
'text-field': '历史图斑{count}',//此属性为需要显示的字段
'text-field': '历史线索{count}',//此属性为需要显示的字段
'text-size': 12,
'text-offset': [0, 1],
'text-allow-overlap': false, // 是否允许文本重叠(可选,默认值为 false。
@ -835,7 +835,7 @@ map.on('load', function () {
'text-translate-anchor': 'map', // 文本的平移锚点,即相对的参考物(可选,可选值为 map、viewport默认为 map
},
})
// 最新图斑数量
// 最新线索数量
map.addLayer({
id: `newCaseLayer`,
type: 'symbol',
@ -844,7 +844,7 @@ map.on('load', function () {
layout: {
'icon-image': '',
visibility: 'none',
'text-field': '最新图斑{newestCount}',//此属性为需要显示的字段
'text-field': '最新线索{newestCount}',//此属性为需要显示的字段
'text-size': 12,
'text-offset': [0, -1],
'text-allow-overlap': false, // 是否允许文本重叠(可选,默认值为 false。
@ -1066,7 +1066,7 @@ map.on('load', function () {
// "icon-image": "cat"
// }
// });
//历史图斑
//历史线索
function getPolygonCenter(pList) { //获取多边形中心点
var area = 0;
var x = 0;
@ -1176,7 +1176,7 @@ map.on('load', function () {
return item.name == e.features[0].properties.XZQMC;
})
var str = "乡镇名称:" + e.features[0].properties.XZQMC + "<br> &nbsp;<br>图斑数量:" + townshipInfo[0].reportCount;
var str = "乡镇名称:" + e.features[0].properties.XZQMC + "<br> &nbsp;<br>线索数量:" + townshipInfo[0].reportCount;
popup.setLngLat([e.lngLat.lng, e.lngLat.lat]).setHTML("<p style='color:#333;font-weight:bold;'>" + str + "</p>").addTo(map);
});
@ -1228,7 +1228,7 @@ map.on('load', function () {
let jrajs = townshipInfo[0].todayCount || ''
let lsajs = townshipInfo[0].historyCount || ''
var str = "区域名称:" + e.features[0].properties.name + "<br> &nbsp;<br>图斑数量:" + townshipInfo[0].reportCount;
var str = "区域名称:" + e.features[0].properties.name + "<br> &nbsp;<br>线索数量:" + townshipInfo[0].reportCount;
popup.setLngLat([e.lngLat.lng, e.lngLat.lat]).setHTML("<p style='color:#333;font-weight:bold;'>" + str + "</p>").addTo(map);
if (e.features.length > 0) {

@ -1,12 +1,12 @@
import { defHttp } from '@/utils/http/axios';
enum Api {
// 非粮化 接收办理 和图斑调整
// 非粮化 接收办理 和线索调整
LoadCaiKuangTaskList = '/api/DroneCaseInfoFLH/LoadFLHTaskList',
// 添加收藏
AddCaiKuangTaskFavorite = '/api/DroneCaseInfoFLH/AddFLHTaskFavorite',
// 取消收藏
DeleteCaiKuangTaskCase = '/api/DroneCaseInfoFLH/DeleteFLHTaskCase',
// 非粮化 图斑列表
// 非粮化 线索列表
LoadCaseInfoWpxfTuBanList = '/api/DroneCaseInfoFLH/LoadCaseInfoTuBanListV1',
// 非粮化 填报审核第一层
LoadReportCaseCount = '/api/DroneCaseInfoFLH/LoadTaskCountV1',
@ -16,13 +16,13 @@ enum Api {
LoadReformCaseCount = '/api/DroneCaseInfoFLH/LoadTaskCountV1',
// 非粮化 整改审核第二层
LoadTaskIllegalDetailList = '/api/DroneCaseInfoFLH/LoadTaskIllegalDetailListV1',
// 图斑详情
// 线索详情
GetCaseInfoById = '/api/DroneCaseInfoFLH/GetCaseInfoById',
// 非粮化 图斑调整 更新图斑行政区划
// 非粮化 线索调整 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoFLH/UpdateDroneCaseInfo',
// 分割还原
CaseRecover = '/api/DroneCaseInfoFLH/CaseRecover',
// 图斑分割
// 线索分割
CaseSplit = '/api/DroneCaseInfoFLH/CaseSplit',
}
export function LoadCaiKuangTaskList(params) {

@ -77,9 +77,9 @@ enum Api {
AddTable = '/api/DbTable/AddTable',
// 创建字段
AddColumn = '/api/DbTable/AddColumn',
// 图斑组件-图层列表
// 线索组件-图层列表
ShpLayerSourceLoadPage = '/api/ShpLayerSource/LoadPage',
// 图斑组件-图层列表-图层选择后-查找字段名
// 线索组件-图层列表-图层选择后-查找字段名
GetTableAndViewColumnList = '/api/CodeTable/GetTableAndViewColumnList',
}
@ -266,14 +266,14 @@ export function AddColumn(params) {
});
}
// 图斑组件-图层列表
// 线索组件-图层列表
export function ShpLayerSourceLoadPage() {
return defHttp.get<ShpLayerSourceLoadPage_Model>({
url: Api.ShpLayerSourceLoadPage,
});
}
// 图斑组件-图层列表-图层选择后-查找字段名
// 线索组件-图层列表-图层选择后-查找字段名
export function GetTableAndViewColumnList(params) {
return defHttp.get<CodeTable_GetForms_Responses_Model>({
url: Api.GetTableAndViewColumnList,

@ -221,7 +221,7 @@ export type CodeTable_GetForms_Responses_Model = {
db_codecolumnsList: db_codecolumnsList_Model;
};
// 图斑组件-图层列表
// 线索组件-图层列表
export interface ShpLayerSourceLoadPage {
id: string;
name: string;

@ -14,9 +14,9 @@ enum Api {
// complete-导出
Get_ExportCaseInfoList = '/api/DroneCaseinfo/ExportCaseInfoList',
// 图斑详情
// 线索详情
Get_getCaseInfo = '/api/DroneCaseinfo/GetCaseInfo',
// 获取图斑处理流程
// 获取线索处理流程
Get_GetCaseFlowLog = '/api/DroneCaseinfo/GetCaseFlowLog',
// 处理详情
Get_GetDroneCaseDeal = '/api/DroneCaseinfo/GetDroneCaseDeal',
@ -61,7 +61,7 @@ export function fun_ExportCaseInfoList(params) {
});
}
// 图斑详情
// 线索详情
export function fun_getCaseInfo(params) {
return defHttp.get<responsesmodel>({
url: Api.Get_getCaseInfo,
@ -77,7 +77,7 @@ export function fun_GetCaseFlowLog(params) {
});
}
// 获取图斑处理流程
// 获取线索处理流程
export function fun_GetDroneCaseDeal(params) {
return defHttp.get<droneCaseDealModel>({
url: Api.Get_GetDroneCaseDeal,

@ -81,13 +81,13 @@ enum Api {
CaseOffence = '/api/DroneCaseInfoSingle/CaseOffence',
LoadCaseInfoListOffence = '/api/DroneCaseInfoSingle/LoadCaseInfoListOffence',
DealIllegalCaseInfo = '/api/DroneCaseInfoSingle/dealIllegalCaseInfo',
// 修改图斑-获取图斑列表
// 修改线索-获取线索列表
LoadCaseInfoListForUpdate = '/api/DroneCaseInfoSingle/LoadCaseInfoListForUpdate',
// 修改图斑-获取单个图斑信息
// 修改线索-获取单个线索信息
LoadCaseInfoById = '/api/DroneCaseInfoSingle/LoadCaseInfoById',
// 修改图斑-修改图斑信息
// 修改线索-修改线索信息
UpdateCaseInfo = '/api/DroneCaseInfoSingle/UpdateCaseInfo',
// 修改图斑-获取图斑历史信息
// 修改线索-获取线索历史信息
LoadCaseHistoryInfoList = '/api/DroneCaseInfoSingle/LoadCaseHistoryInfoList',
// 成果管理-图层管理
// geo服务增加

@ -6,7 +6,7 @@ enum Api {
AddCaiKuangTaskFavorite = '/api/DroneCaseInfoSatellite/AddCaiKuangTaskFavorite',
// 取消收藏
DeleteCaiKuangTaskCase = '/api/DroneCaseInfoSatellite/DeleteCaiKuangTaskCase',
// 非法采矿图斑列表
// 非法采矿线索列表
LoadCaseInfoWpxfTuBanList = '/api/DroneCaseInfoSatellite/LoadCaseInfoWpxfTuBanList',
// 非法采矿填报审核第一层
LoadReportCaseCount = '/api/DroneCaseInfoSatellite/LoadReportCaseCount',
@ -16,40 +16,40 @@ enum Api {
LoadReformCaseCount = '/api/DroneCaseInfoSatellite/LoadReformCaseCount',
// 非法采矿整改审核第二层
LoadTaskIllegalDetailList = '/api/DroneCaseInfoSatellite/LoadTaskIllegalDetailList',
// 图斑详情
// 线索详情
GetCaseInfoById = '/api/DroneCaseInfoSatellite/GetCaseInfoById',
/****************************************************************************************************************************/
// 图斑填报
// 线索填报
LoadReportingTaskList = '/api/DroneCaseInfoMinerals/LoadReportingTaskList',
// 填报审核
LoadReportingAuditTaskList = '/api/DroneCaseInfoMinerals/LoadReportingAuditTaskList',
// 图斑查处
// 线索查处
LoadExaminingTaskList = '/api/DroneCaseInfoMinerals/LoadExaminingTaskList',
// 查处审核
LoadExaminingAuditTaskList = '/api/DroneCaseInfoMinerals/LoadExaminingAuditTaskList',
// 图斑整改
// 线索整改
LoadRectifyingTaskList = '/api/DroneCaseInfoMinerals/LoadRectifyingTaskList',
// 整改审核
LoadRectifyingAuditTaskList = '/api/DroneCaseInfoMinerals/LoadRectifyingAuditTaskList',
// 图斑调整
// 线索调整
LoadModifyingTaskList = '/api/DroneCaseInfoMinerals/LoadModifyingTaskList',
// 图斑收藏
// 线索收藏
AddTaskFavorite = '/api/DroneCaseInfoMinerals/AddTaskFavorite',
// 取消收藏
CancelTaskFavorite = '/api/DroneCaseInfoMinerals/CancelTaskFavorite',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoMinerals/LoadModifyingTaskList',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoMinerals/LoadTasklList',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoMinerals/CaseRecover',
// 获取图斑详情
// 获取线索详情
mineralsGetCaseInfoById = '/api/DroneCaseInfoMinerals/GetCaseInfoById',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoMinerals/CaseSplit',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoMinerals/UpdateDroneCaseInfo',
// 判读-待审核列表
MainLoadCaseInfoLists = '/api/DroneCaseInfoMinerals/LoadCaseInfoCheckTuBanList',

@ -4,20 +4,20 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
// 获取待办任务统计数据
LoadTaskCount = '/api/DroneCaseInfoXcsj/LoadTaskCount',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoXcsj/LoadDroneCaseInfoCount',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoXcsj/LoadTasklList',
// 分页获取任务信息列表
LoadTaskDetailList = '/api/DroneCaseInfoXcsj/LoadTaskDetailList',
// 收藏图斑
// 收藏线索
AddCaseFavorite = '/api/DroneCaseInfoXcsj/AddCaseFavorite',
// 获取收藏图斑列表
// 获取收藏线索列表
FavoriteCaseList = '/api/DroneCaseinfo/FavoriteCaseList',
DeleteFavoriteCase = '/api/DroneCaseInfoXcsj/DeleteFavoriteCase',
// 获取图斑详情
// 获取线索详情
GetCaseInfoById = '/api/DroneCaseInfoXcsj/GetCaseInfoById',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoXcsj/UpdateDroneCaseInfo',
// 督办流程
Supervise = '/api/WFProcess/Supervise',
@ -31,15 +31,15 @@ enum Api {
loadStreet = '/api/DroneCaseInfoXcsj/loadStreet',
// 违法处理,待办任务列表
LoadTaskIllegalDetailList = '/api/DroneCaseInfoXcsj/LoadTaskIllegalDetailList',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoXcsj/CaseSplit',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoXcsj/CaseRecover',
// 获取图斑中心点
// 获取线索中心点
GetPolygonCenter = '/api/DroneCaseInfoXcsj/GetCenterPoints',
// 获取用户访问机构权限
GetUserOrgs = '/api/Check/GetOrgs',
// 大屏下发图斑统计
// 大屏下发线索统计
IssuedStatitical = "/api/DroneScreenDisplay/CaseOffenceXiaFa",
// 大屏核实新增统计
VerifyStatitical = "/api/DroneScreenDisplay/CaseOffenceCheckAdd",
@ -47,7 +47,7 @@ enum Api {
RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
// 获取案件图片坐标、方位角信息
LoadCaseImgList = "/api/DroneCaseInfoXcsj/LoadCaseImgList",
// 图斑列表
// 线索列表
LoadCaseInfoTuBanList = '/api/DroneCaseInfoXcsj/LoadCaseInfoTuBanList',
CaseOffence = '/api/DroneCaseInfoXcsj/CaseOffence',
LoadCaseInfoListOffence = '/api/DroneCaseInfoXcsj/LoadCaseInfoListOffence',

@ -4,20 +4,20 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
// 获取待办任务统计数据
LoadTaskCount = '/api/DroneCaseInfoZdwt1/LoadTaskCount',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoZdwt1/LoadDroneCaseInfoCount',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoZdwt1/LoadTasklList',
// 分页获取任务信息列表
LoadTaskDetailList = '/api/DroneCaseInfoZdwt1/LoadTaskDetailList',
// 收藏图斑
// 收藏线索
AddCaseFavorite = '/api/DroneCaseInfoZdwt1/AddCaseFavorite',
// // 获取收藏图斑列表
// // 获取收藏线索列表
// FavoriteCaseList = '/api/DroneCaseinfo/FavoriteCaseList',
DeleteFavoriteCase = '/api/DroneCaseInfoZdwt1/DeleteFavoriteCase',
// 获取图斑详情
// 获取线索详情
GetCaseInfoById = '/api/DroneCaseInfoZdwt1/GetCaseInfoById',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoZdwt1/UpdateDroneCaseInfo',
// // 督办流程
// Supervise = '/api/WFProcess/Supervise',
@ -31,15 +31,15 @@ enum Api {
loadStreet = '/api/DroneCaseInfoZdwt1/loadStreet',
// 违法处理,待办任务列表
LoadTaskIllegalDetailList = '/api/DroneCaseInfoZdwt1/LoadTaskIllegalDetailList',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoZdwt1/CaseSplit',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoZdwt1/CaseRecover',
// 获取图斑中心点
// 获取线索中心点
GetPolygonCenter = '/api/DroneCaseInfoZdwt1/GetCenterPoints',
// 获取用户访问机构权限
// GetUserOrgs = '/api/Check/GetOrgs',
// // 大屏下发图斑统计
// // 大屏下发线索统计
// IssuedStatitical = "/api/DroneScreenDisplay/CaseOffenceXiaFa",
// // 大屏核实新增统计
// VerifyStatitical = "/api/DroneScreenDisplay/CaseOffenceCheckAdd",
@ -47,7 +47,7 @@ enum Api {
// RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
// 获取案件图片坐标、方位角信息
LoadCaseImgList = "/api/DroneCaseInfoZdwt1/LoadCaseImgList",
// 图斑列表
// 线索列表
LoadCaseInfoTuBanList = '/api/DroneCaseInfoZdwt1/LoadCaseInfoTuBanList',
CaseOffence = '/api/DroneCaseInfoZdwt1/CaseOffence',
LoadCaseInfoListOffence = '/api/DroneCaseInfoZdwt1/LoadCaseInfoListOffence',

@ -4,20 +4,20 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
// 获取待办任务统计数据
LoadTaskCount = '/api/DroneCaseInfoZdwt2/LoadTaskCount',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoZdwt2/LoadDroneCaseInfoCount',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoZdwt2/LoadTasklList',
// 分页获取任务信息列表
LoadTaskDetailList = '/api/DroneCaseInfoZdwt2/LoadTaskDetailList',
// 收藏图斑
// 收藏线索
AddCaseFavorite = '/api/DroneCaseInfoZdwt2/AddCaseFavorite',
// // 获取收藏图斑列表
// // 获取收藏线索列表
// FavoriteCaseList = '/api/DroneCaseinfo/FavoriteCaseList',
DeleteFavoriteCase = '/api/DroneCaseInfoZdwt2/DeleteFavoriteCase',
// 获取图斑详情
// 获取线索详情
GetCaseInfoById = '/api/DroneCaseInfoZdwt2/GetCaseInfoById',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoZdwt2/UpdateDroneCaseInfo',
// // 督办流程
// Supervise = '/api/WFProcess/Supervise',
@ -31,15 +31,15 @@ enum Api {
loadStreet = '/api/DroneCaseInfoZdwt2/loadStreet',
// 违法处理,待办任务列表
LoadTaskIllegalDetailList = '/api/DroneCaseInfoZdwt2/LoadTaskIllegalDetailList',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoZdwt2/CaseSplit',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoZdwt2/CaseRecover',
// 获取图斑中心点
// 获取线索中心点
GetPolygonCenter = '/api/DroneCaseInfoZdwt2/GetCenterPoints',
// 获取用户访问机构权限
// GetUserOrgs = '/api/Check/GetOrgs',
// // 大屏下发图斑统计
// // 大屏下发线索统计
// IssuedStatitical = "/api/DroneScreenDisplay/CaseOffenceXiaFa",
// // 大屏核实新增统计
// VerifyStatitical = "/api/DroneScreenDisplay/CaseOffenceCheckAdd",
@ -47,7 +47,7 @@ enum Api {
// RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
// 获取案件图片坐标、方位角信息
LoadCaseImgList = "/api/DroneCaseInfoZdwt2/LoadCaseImgList",
// 图斑列表
// 线索列表
LoadCaseInfoTuBanList = '/api/DroneCaseInfoZdwt2/LoadCaseInfoTuBanList',
CaseOffence = '/api/DroneCaseInfoZdwt2/CaseOffence',
LoadCaseInfoListOffence = '/api/DroneCaseInfoZdwt2/LoadCaseInfoListOffence',

@ -11,25 +11,25 @@ import {
} from './model/index';
enum Api {
// 获取图斑详情步骤条
// 获取线索详情步骤条
GetCaseFlowLog = '/api/DroneCaseinfo/GetCaseFlowLog',
// 获取图斑处理详情
// 获取线索处理详情
GetDroneCaseDeal = '/api/DroneCaseinfo/GetDroneCaseDeal',
// 获取图斑详情
// 获取线索详情
GetCaseInfo = '/api/DroneCaseinfo/GetCaseInfo',
// 图斑列表
// 线索列表
// LoadCaseInfoList = '/api/DroneCaseinfo/LoadCaseInfoList',
LoadCaseInfoList = '/api/DroneCaseInfoSingle/LoadCaseInfoList',
// 导出图斑
// 导出线索
ExportCaseInfo = "/api/DroneCaseInfoSingle/DroneCaseInfoExport",
// 图斑统计列表
// 线索统计列表
// 获取GeoJson图层
GetDroneGeoJson = '/api/DroneCaseinfo/GetDroneGeoJson',
// 上报图斑(图斑判读保存)
// 上报线索(线索判读保存)
AddDroneCaseInfo = '/api/DroneCaseinfo/AddDroneCaseInfo',
// 图斑判读
// 线索判读
UpdateDroneCaseInfoIntact = '/api/DroneCaseinfo/UpdateDroneCaseInfoIntact',
// 关闭图斑
// 关闭线索
CloseDroneCaseInfo = '/api/DroneCaseinfo/CloseDroneCaseInfo',
// 上传图片任务列表
PicListTask = '/api/DroneShpImageexif/ListTask',

@ -4,20 +4,20 @@ import { defHttp } from '@/utils/http/axios';
enum Api {
// 获取待办任务统计数据
LoadTaskCount = '/api/DroneCaseInfoSTHX/LoadTaskCount',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoZdwt1/LoadDroneCaseInfoCount',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoSTHX/LoadTasklList',
// 分页获取任务信息列表
LoadTaskDetailList = '/api/DroneCaseInfoSTHX/LoadTaskDetailList',
// 收藏图斑
// 收藏线索
AddCaseFavorite = '/api/DroneCaseInfoZdwt1/AddCaseFavorite',
// // 获取收藏图斑列表
// // 获取收藏线索列表
// FavoriteCaseList = '/api/DroneCaseinfo/FavoriteCaseList',
DeleteFavoriteCase = '/api/DroneCaseInfoZdwt1/DeleteFavoriteCase',
// 获取图斑详情
// 获取线索详情
GetCaseInfoById = '/api/DroneCaseInfoSTHX/GetCaseInfoById',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoSTHX/UpdateDroneCaseInfo',
// // 督办流程
// Supervise = '/api/WFProcess/Supervise',
@ -31,15 +31,15 @@ enum Api {
loadStreet = '/api/DroneCaseInfoSTHX/loadStreet',
// 违法处理,待办任务列表
LoadTaskIllegalDetailList = '/api/DroneCaseInfoZdwt1/LoadTaskIllegalDetailList',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoSTHX/CaseSplit',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoSTHX/CaseRecover',
// 获取图斑中心点
// 获取线索中心点
GetPolygonCenter = '/api/DroneCaseInfoZdwt1/GetCenterPoints',
// 获取用户访问机构权限
// GetUserOrgs = '/api/Check/GetOrgs',
// // 大屏下发图斑统计
// // 大屏下发线索统计
// IssuedStatitical = "/api/DroneScreenDisplay/CaseOffenceXiaFa",
// // 大屏核实新增统计
// VerifyStatitical = "/api/DroneScreenDisplay/CaseOffenceCheckAdd",
@ -47,7 +47,7 @@ enum Api {
// RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
// 获取案件图片坐标、方位角信息
LoadCaseImgList = '/api/DroneCaseInfoSTHX/LoadCaseImgList',
// 图斑列表
// 线索列表
LoadCaseInfoTuBanList = '/api/DroneCaseInfoSTHX/LoadCaseInfoTuBanList',
CaseOffence = '/api/DroneCaseInfoZdwt1/CaseOffence',
LoadCaseInfoListOffence = '/api/DroneCaseInfoZdwt1/LoadCaseInfoListOffence',

@ -12,22 +12,22 @@ import {
enum Api {
// 获取待办任务统计数据
LoadTaskCount = '/api/DroneCaseInfoSTXF/LoadTaskCount',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoSTXF/LoadDroneCaseInfoCount',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoSTXF/LoadTasklList',
// 分页获取任务信息列表
LoadTaskDetailList = '/api/DroneCaseInfoSTXF/LoadTaskDetailList',
// 收藏图斑
// 收藏线索
AddCaseFavorite = '/api/DroneCaseInfoSTXF/AddCaseFavorite',
// 获取收藏图斑列表
// 获取收藏线索列表
FavoriteCaseList = '/api/DroneCaseInfoSTXF/FavoriteCaseList',
DeleteFavoriteCase = '/api/DroneCaseInfoSTXF/DeleteFavoriteCase',
// 获取图斑列表
// 获取线索列表
LoadCaseInfoTuBanList = '/api/DroneCaseInfoSTXF/LoadCaseInfoTuBanList',
// 获取图斑详情
// 获取线索详情
GetCaseInfoById = '/api/DroneCaseInfoSTXF/GetCaseInfoById',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoSTXF/UpdateDroneCaseInfo',
// 督办流程
Supervise = '/api/WFProcess/Supervise',
@ -41,11 +41,11 @@ enum Api {
loadStreet = '/api/DroneCaseInfoSingle/loadStreet',
// 违法处理,待办任务列表
LoadTaskIllegalDetailList = '/api/DroneCaseInfoSTXF/LoadTaskIllegalDetailList',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoSTXF/CaseSplit',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoSTXF/CaseRecover',
// 获取图斑中心点
// 获取线索中心点
GetPolygonCenter = '/api/DroneCaseInfoSTXF/GetCenterPoints',
// 获取用户访问机构权限
GetUserOrgs = '/api/Check/GetOrgs',

@ -12,20 +12,20 @@ import {
enum Api {
// 获取待办任务统计数据
LoadTaskCount = '/api/DroneCaseInfoSingle/LoadTaskCount',
// 获取图斑信息统计数据
// 获取线索信息统计数据
LoadDroneCaseInfoCount = '/api/DroneCaseInfoSingle/LoadDroneCaseInfoCount',
// 分页获取图斑信息列表
// 分页获取线索信息列表
LoadDroneCaseInfoDetail = '/api/DroneCaseInfoSingle/LoadTasklList',
// 分页获取任务信息列表
LoadTaskDetailList = '/api/DroneCaseInfoSingle/LoadTaskDetailList',
// 收藏图斑
// 收藏线索
AddCaseFavorite = '/api/DroneCaseInfoSingle/AddCaseFavorite',
// 获取收藏图斑列表
// 获取收藏线索列表
FavoriteCaseList = '/api/DroneCaseinfo/FavoriteCaseList',
DeleteFavoriteCase = '/api/DroneCaseInfoSingle/DeleteFavoriteCase',
// 获取图斑详情
// 获取线索详情
GetCaseInfoById = '/api/DroneCaseInfoSingle/GetCaseInfoById',
// 更新图斑行政区划
// 更新线索行政区划
UpdateDroneCaseInfo = '/api/DroneCaseInfoSingle/UpdateDroneCaseInfo',
// 督办流程
Supervise = '/api/WFProcess/Supervise',
@ -39,15 +39,15 @@ enum Api {
loadStreet = '/api/DroneCaseInfoSingle/loadStreet',
// 违法处理,待办任务列表
LoadTaskIllegalDetailList = '/api/DroneCaseInfoSingle/LoadTaskIllegalDetailList',
// 分割图斑
// 分割线索
SplitCase = '/api/DroneCaseInfoSingle/CaseSplit',
// 恢复还原
RecoverCase = '/api/DroneCaseInfoSingle/CaseRecover',
// 获取图斑中心点
// 获取线索中心点
GetPolygonCenter = '/api/DroneCaseInfoSingle/GetCenterPoints',
// 获取用户访问机构权限
GetUserOrgs = '/api/Check/GetOrgs',
// 大屏下发图斑统计
// 大屏下发线索统计
IssuedStatitical = "/api/DroneScreenDisplay/CaseOffenceXiaFa",
// 大屏核实新增统计
VerifyStatitical = "/api/DroneScreenDisplay/CaseOffenceCheckAdd",
@ -59,10 +59,10 @@ enum Api {
GetIntersects = "/api/GeoTiffManager/GetIntersects",
// 获取网络环境
GetNetWorkEev = "/api/DroneCloudQuery/IsPublic",
// 获取其他专题或历史图斑图片
// 获取其他专题或历史线索图片
rebackzhuantipic = "/api/DroneCaseInfoSingle/rebackzhuantipic",
CopyImg = "/api/DroneCaseInfoSingle/CopyImg",
// 获取其他专题或历史图斑附件
// 获取其他专题或历史线索附件
rebackzhuantifujian = "/api/DroneCaseInfoSingle/rebackzhuantifujian",
Copyfujian = "/api/DroneCaseInfoSingle/Copyfujian"
}

@ -26,19 +26,19 @@ const props = defineProps(["picihao"])
const emits = defineEmits(["closeImportModal"])
const columns = [
{
title: "图斑编号",
title: "线索编号",
dataIndex: "case_no",
},
{
title: "图斑描述",
title: "线索描述",
dataIndex: "case_description",
},
{
title: "图斑类型",
title: "线索类型",
dataIndex: "typename",
},
{
title: "图斑面积",
title: "线索面积",
dataIndex: "area",
},
]
@ -59,7 +59,7 @@ const [registerTable, { getSelectRowKeys }] = useTable({
schemas: [
{
field: 'typename',
label: '原始图斑编号',
label: '原始线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {

@ -3,38 +3,38 @@
<div class="modal-content">
<div class="row">
<div class="item">
<div class="label">图斑编号</div>
<div class="label">线索编号</div>
<div class="item-value" style="flex:2">
<a-input v-model:value="props.infoData.case_no" :disabled="!props.control"/>
</div>
</div>
<div class="item">
<div class="label">图斑类型</div>
<div class="label">线索类型</div>
<div class="item-value">
<a-select
style="width: 100%"
v-model:value="props.infoData.typename"
:options="typenameOptions"
placeholder="请选择图斑类型"
placeholder="请选择线索类型"
:disabled="!props.control"/>
</div>
</div>
<div class="item" style="flex:2">
<div class="label">图斑详情</div>
<div class="label">线索详情</div>
<div class="item-value" style="flex:3">
<a-select
v-if="props.type == '违法用地'"
style="width: 50%"
v-model:value="caseDescription[0]"
:options="tubanbiaoqian1Options"
placeholder="请选择图斑详情"
placeholder="请选择线索详情"
:disabled="!props.control"/>
<a-select
v-if="props.type == '违法用地'"
style="width: 50%"
v-model:value="caseDescription[1]"
:options="tubanbiaoqian2Options"
placeholder="请选择图斑详情"
placeholder="请选择线索详情"
:disabled="!props.control"/>
<a-input v-else v-model:value="props.infoData.case_description"
:disabled="!props.control"/>
@ -87,7 +87,7 @@
</div>
<div class="row">
<div class="item">
<div class="label">图斑面积</div>
<div class="label">线索面积</div>
<div class="item-value">
<a-input v-model:value="props.infoData.area" :disabled="!props.control"/>
</div>
@ -105,13 +105,13 @@
</div>
</div>
<div class="item" v-if="props.type == '违法用地'">
<div class="label">图斑来源</div>
<div class="label">线索来源</div>
<div class="item-value">
<a-select
style="width: 100%"
v-model:value="props.infoData.tubanlaiyuan"
:options="tubanlaiyuanOptions"
placeholder="请选择图斑来源"
placeholder="请选择线索来源"
:disabled="!props.control"/>
</div>
</div>
@ -502,11 +502,11 @@ async function changeTask() {
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
geomsList.value = null;
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
const onMapboxLoad = () => {

@ -32,7 +32,7 @@
<!-- 显示条件文件类型为shp 或者 类型为Excel时有图斑数据 -->
<!-- 显示条件文件类型为shp 或者 类型为Excel时有线索数据 -->
<a-form-item label="空间参考" name="srid" >
<a-select v-model:value="uploadFrom.srid" placeholder="请选择空间参考">
<a-select-option value="EPSG:4326">EPSG:4326</a-select-option>
@ -41,7 +41,7 @@
</a-select>
</a-form-item>
<!-- 显示条件文件类型为Excel有图斑-->
<!-- 显示条件文件类型为Excel有线索-->
<a-form-item label="数据类型" name="vectorType" >
<a-select v-model:value="uploadFrom.vectorType" placeholder="请选择数据类型">
<a-select-option value="point"></a-select-option>
@ -217,7 +217,7 @@
const uploadFormRules = reactive({
name: [{ required: true, message: '请输入服务名称', trigger: 'blur' }],
description:[{ required: true, message: '请输入服务描述', trigger: 'blur' }],
hasFeature: [{ required: true, message: '请选择是否有图斑数据', trigger: 'blur' }],
hasFeature: [{ required: true, message: '请选择是否有线索数据', trigger: 'blur' }],
srid: [{ required: true, message: '请选择参考系', trigger: 'blur' }],
vectorType: [{ required: true, message: '请选数据类型', trigger: 'blur' }],
relationTable: [{ required: true, message: '请输入表名', trigger: 'blur' }],

@ -61,14 +61,14 @@
</a-form-item>
<!-- 显示条件文件类型为Excel时 -->
<a-form-item label="图斑数据" name="hasFeature" v-if="!isShp">
<a-select v-model:value="uploadFrom.hasFeature" placeholder="请选择是否具有图斑数据">
<a-form-item label="线索数据" name="hasFeature" v-if="!isShp">
<a-select v-model:value="uploadFrom.hasFeature" placeholder="请选择是否具有线索数据">
<a-select-option value="1"></a-select-option>
<a-select-option value="0"></a-select-option>
</a-select>
</a-form-item>
<!-- 显示条件文件类型为shp 或者 类型为Excel时有图斑数据 -->
<!-- 显示条件文件类型为shp 或者 类型为Excel时有线索数据 -->
<a-form-item label="空间参考" name="spaceType" v-if="isShp || (!isShp && uploadFrom.hasFeature == '1')">
<a-select v-model:value="uploadFrom.spaceType" placeholder="请选择空间参考">
<a-select-option value="EPSG:4326">EPSG:4326</a-select-option>
@ -77,7 +77,7 @@
</a-select>
</a-form-item>
<!-- 显示条件文件类型为Excel有图斑-->
<!-- 显示条件文件类型为Excel有线索-->
<a-form-item label="数据类型" name="spaceType" v-if="!isShp && uploadFrom.hasFeature == '1'">
<a-select v-model:value="uploadFrom.layerType" placeholder="请选择数据类型">
<a-select-option value="point"></a-select-option>
@ -189,7 +189,7 @@
<!-- 显示条件文件类型为shp 或者 类型为Excel时有图斑数据 -->
<!-- 显示条件文件类型为shp 或者 类型为Excel时有线索数据 -->
<a-form-item label="空间参考" name="srid" >
<a-select v-model:value="uploadFrom.srid" placeholder="请选择空间参考">
<a-select-option value="EPSG:4326">EPSG:4326</a-select-option>
@ -198,7 +198,7 @@
</a-select>
</a-form-item>
<!-- 显示条件文件类型为Excel有图斑-->
<!-- 显示条件文件类型为Excel有线索-->
<a-form-item label="数据类型" name="vectorType" >
<a-select v-model:value="uploadFrom.vectorType" placeholder="请选择数据类型">
<a-select-option value="point"></a-select-option>
@ -465,7 +465,7 @@
const uploadFormRules = reactive({
serverName: [{ required: true, message: '请输入服务名称', trigger: 'blur' }],
imageServerAddress: [{ required: true, message: '请输入服务地址', trigger: 'blur' }],
hasFeature: [{ required: true, message: '请选择是否有图斑数据', trigger: 'blur' }],
hasFeature: [{ required: true, message: '请选择是否有线索数据', trigger: 'blur' }],
spaceType: [{ required: true, message: '请选择参考系', trigger: 'blur' }],
layerType: [{ required: true, message: '请选数据类型', trigger: 'blur' }],
tableName: [{ required: true, message: '请输入表名', trigger: 'blur' }],

@ -83,7 +83,7 @@
<!-- 根据输入坐标定位 -->
<div class="position-by-lnglat">
<a-tooltip>
<template #title>图斑定位</template>
<template #title>线索定位</template>
<div class="to-location" @click="handlerToPosition()"></div>
</a-tooltip>
@ -107,10 +107,10 @@
<p class="split-panel-item">导入图层分割</p>
</a-upload>
<!-- <p class="split-panel-item" >地类图斑分割</p> -->
<!-- <p class="split-panel-item" >地类线索分割</p> -->
<a-dropdown>
<p @click.prevent>地类图斑分割 <DownOutlined /></p>
<p @click.prevent>地类线索分割 <DownOutlined /></p>
<template #overlay>
<a-menu>
<a-menu-item @click="handlerSelectLandType('gengdi')">
@ -128,7 +128,7 @@
</a-popover>
<a-tooltip>
<template #title>线分割图斑</template>
<template #title>线分割线索</template>
</a-tooltip>
<a-tooltip>
@ -171,7 +171,7 @@
size="small"
v-if="props.splitPlugin"
@click="onHandlerSplitPolygon"
><SplitCellsOutlined />分割图斑</a-button>
><SplitCellsOutlined />分割线索</a-button>
<span style="float: right">
<CloseOutlined @click="handlerLocationClose" />
</span>
@ -365,7 +365,7 @@
let geojson = JSON.parse(JSON.stringify(res))
// shapgefile
// shapgefile线
handlerDetails(
res,
'shapefileSource',
@ -377,7 +377,7 @@
)
Modal.confirm({
title: '是否确认分割图斑?',
title: '是否确认分割线索?',
onCancel() {
handlerDetails(
{type:"FeatureCollection",features:[]},
@ -440,7 +440,7 @@
return result;
}
//
// 线
const handlerSelectLandType = (type)=>{
emit('handlerStartSpliting',true);
@ -1022,7 +1022,7 @@
//
// splitFeature();
//
// 线
// map.addLayer({
// id: 'yingxiang',
// type: 'raster',
@ -1250,7 +1250,7 @@
handler === 'handlerDrawLineString' && handlerDrawLineString();
handler === 'handlerDrawPolygon' && handlerDrawPolygon();
};
// 使
// 使线
const onHandlerSplitPolygon = () => {
if (locationArrays.value.length < 2) {
createMessage.warning('必须绘制2个以上点');
@ -1273,7 +1273,7 @@
splitFeature(feature.geometry.coordinates);
}
};
//
// 线
const splitFeature = (line) => {
let turfSplitLine = turf.lineString(line);
@ -1312,7 +1312,7 @@
}
} catch (e) {
console.error(e);
createMessage.warning('分割线起点、终点需要在图斑外,多个图斑时需要点击选择需要分割的图斑');
createMessage.warning('分割线起点、终点需要在线索外,多个线索时需要点击选择需要分割的线索');
handlerUnDraw();
}
};
@ -1396,7 +1396,7 @@
mp.draw('LineString');
mp.on('LineString', function (e) {
Modal.confirm({
title: '是否确认分割图斑?',
title: '是否确认分割线索?',
onCancel() {
handlerUnDraw();
},
@ -1418,7 +1418,7 @@
mp.draw('Polygon');
mp.on('Polygon', function (e) {
Modal.confirm({
title: '是否确认分割图斑?',
title: '是否确认分割线索?',
onCancel() {
handlerUnDraw();
},
@ -1503,7 +1503,7 @@
drawing.value = true;
};
//
// 线
const handlerCopyToTargetLayer = (e) => {
if (e.features.length > 0) {
if (popup) {
@ -1523,7 +1523,7 @@
.setLngLat(clickPoisition)
.setHTML(
`
<div style="color:#333;padding:3px 12px;cursor:pointer;" type="primary" icon="el-icon-search" onclick="handlerCopyFeature();">复制当前图斑</div>`,
<div style="color:#333;padding:3px 12px;cursor:pointer;" type="primary" icon="el-icon-search" onclick="handlerCopyFeature();">复制当前线索</div>`,
)
.addTo(map);
} else {
@ -1583,7 +1583,7 @@
//
const handlerDataList = () => {};
//
// 线
const handlerPreviewFeatureInfo = (e) => {
if (e.features) {
isOpen.value = true;
@ -1595,7 +1595,7 @@
};
const currentPosition = ref(null);
//
// 线
const handlerLocation = (lngLat) => {
map.flyTo({
center: lngLat,
@ -1624,7 +1624,7 @@
}
};
//
// 线
const handlerEdit = (info) => {
initDraw(info);
};
@ -1716,7 +1716,7 @@
type: 'FeatureCollection',
features: [],
};
//
// 线
if (map.getSource('detailsSource')) {
map.getSource('detailsSource').setData({
type: 'FeatureCollection',
@ -1738,7 +1738,7 @@
geometry: featureTemp,
};
geo.features.push(feature);
//
// 线
if (i == 0) {
let lngLat = getGeometryCenter(feature);
// let lngLat = getGeometryCenter(geo.features[0]);
@ -1808,7 +1808,7 @@
}
// 2Mapbox
// 线 2Mapbox
if (coordinates) {
if((coordinates[0][coordinates[0].length - 1][0] == coordinates[0][coordinates[0].length - 2][0]) && (coordinates[0][coordinates[0].length - 1][1] == coordinates[0][coordinates[0].length - 2][1])) {
coordinates[0]?.pop();
@ -1868,7 +1868,7 @@
}
};
//
// 线
//
interface LocationItem {
@ -2258,7 +2258,7 @@
// -
function initiateCloudQuery2() {
let geomidStr = props.geomsList.map((item) => item.key).join(',');
//
// 线
LoadCloudQueryByCaseNo({
geomid: useCloudQuery.geomid,
caseno: useCloudQuery.caseno,
@ -2266,7 +2266,7 @@
if (res) {
if (geomidStr == useCloudQuery.geomid && props.caseno == useCloudQuery.caseno) {
if (res.state == 1 || res.state == 0) {
message.warning('当前图斑的云查询正在运行,请稍候等待');
message.warning('当前线索的云查询正在运行,请稍候等待');
} else {
useCloudQuery.setIdentification(false);
useCloudQuery.setBeforeId(res.queryId);
@ -2277,7 +2277,7 @@
open.value = true;
}
} else {
//
// 线
message.warning('已有云查询运行,不能再次提交');
}
}

@ -381,7 +381,7 @@
// map.addControl(drawTool, 'top-right');
};
//
// 线
const handlerCopyToTargetLayer = (e) => {
if (e.features.length > 0) {
if (popup) {
@ -401,7 +401,7 @@
.setLngLat(clickPoisition)
.setHTML(
`
<div style="color:#333;padding:3px 12px;cursor:pointer;" type="primary" icon="el-icon-search" onclick="handlerCopyFeature();">复制当前图斑</div>`,
<div style="color:#333;padding:3px 12px;cursor:pointer;" type="primary" icon="el-icon-search" onclick="handlerCopyFeature();">复制当前线索</div>`,
)
.addTo(map);
} else {
@ -442,7 +442,7 @@
}
};
//
// 线
const handlerPreviewFeatureInfo = (e) => {
if (e.features) {
openRightInfo.value = true;

@ -12,7 +12,7 @@ export function splitPolygonByLine(line, outerPolygon) {
let splitAfterFeatures = [];
// 判断outerpolygon类型
if(outerPolygon.geometry.type == "MultiPolygon"){
// 如果是MultiPolygon图斑 遍历数据 转换为Polygon分割 后合成数组
// 如果是MultiPolygon线索 遍历数据 转换为Polygon分割 后合成数组
outerPolygon.geometry.coordinates.forEach((item,index)=>{
let tempPolygon = {
@ -39,7 +39,7 @@ export function splitPolygonByLine(line, outerPolygon) {
})
}else if(outerPolygon.geometry.type == "Polygon"){
// 如果是Polygon的单图斑 直接获取分割结果
// 如果是Polygon的单线索 直接获取分割结果
let splitRes = splitByLine(line,outerPolygon);
// 如果有数据就拼接数据
@ -109,7 +109,7 @@ export function splitPolygonByLine(line, outerPolygon) {
// 获取多边形表面一点
let newcenter = turf.pointOnFeature(polygon);
// 图斑中心点
// 线索中心点
let centerPoint = turf.point(randomCenterPoint.geometry.coordinates);
//console.log('第10步封闭图形中心点数据',randomCenterPoint,centerPoint)
return turf.booleanWithin(centerPoint, outerPolygon);
@ -137,7 +137,7 @@ export function splitPolygonByLine(line, outerPolygon) {
});
}
// 每个图斑配置UUID 处理每个数据保留8位数
// 每个线索配置UUID 处理每个数据保留8位数
innerPolygons.forEach((item, index) => {
innerPolygons[index] = turf.truncate(turf.polygon(innerPolygons[index].geometry.coordinates),dealOptions)
@ -209,7 +209,7 @@ function splitByLine(line,outerPolygon){
// 获取多边形表面一点
let newcenter = turf.pointOnFeature(polygon);
// 图斑中心点
// 线索中心点
let centerPoint = turf.point(randomCenterPoint.geometry.coordinates);
//console.log('第10步封闭图形中心点数据',randomCenterPoint,centerPoint)
return turf.booleanWithin(centerPoint, outerPolygon);
@ -237,7 +237,7 @@ function splitByLine(line,outerPolygon){
});
}
// 每个图斑配置UUID 处理每个数据保留8位数
// 每个线索配置UUID 处理每个数据保留8位数
innerPolygons.forEach((item, index) => {
innerPolygons[index] = turf.truncate(turf.polygon(innerPolygons[index].geometry.coordinates),dealOptions)
innerPolygons[index].properties.id = generateUUID();
@ -279,10 +279,10 @@ export async function splitPolygonByFill(drawPolygon, outerPolygon) {
let intersection = turf.intersect(turf.featureCollection([polygon1, polygon2]));
//console.log("第4步获取绘制图斑和分割图斑的交集",JSON.stringify(polygon2),JSON.stringify(polygon1),intersection);
//console.log("第4步获取绘制线索和分割线索的交集",JSON.stringify(polygon2),JSON.stringify(polygon1),intersection);
var difference = turf.difference(turf.featureCollection([polygon2, polygon1]));
//console.log("第3步获取绘制图斑和分割图斑的差集",difference);
//console.log("第3步获取绘制线索和分割线索的差集",difference);
let splitAfterFeatures = [intersection,difference];
@ -310,7 +310,7 @@ export async function splitPolygonByMultiFill(drawPolygons,outerPolygon){
// 所有结果集合
let resultArray = [];
// 绘制图斑和分割图斑数组集合
// 绘制线索和分割线索数组集合
let featuresArray = [];
let turfOuterPolygon = null;
@ -325,25 +325,25 @@ export async function splitPolygonByMultiFill(drawPolygons,outerPolygon){
}
featuresArray.push(turf.truncate(turfOuterPolygon,dealOptions));
//console.log("💩第3步处理精度后的被分割图斑",featuresArray);
//console.log("💩第3步处理精度后的被分割线索",featuresArray);
// 绘制图斑数组
// 绘制线索数组
let splitFeaturesArray = [];
// 求交集图斑
// 求交集线索
drawPolygons.forEach((item,index)=>{
try{
let splitPolygonItem = null;
if(item.geometry.type == "Polygon"){
// 如果分割图斑是单面
// 如果分割线索是单面
splitPolygonItem = turf.polygon(item.geometry.coordinates);
}else if(item.geometry.type == "MultiPolygon"){
// 如果分割图斑是多面
// 如果分割线索是多面
splitPolygonItem = turf.multiPolygon(item.geometry.coordinates);
}
// 处理精度后绘制图斑
// 处理精度后绘制线索
let turfPolygon = turf.truncate(splitPolygonItem,dealOptions);
//console.log("💩第4步处理精度后绘制图斑",turfPolygon);
//console.log("💩第4步处理精度后绘制线索",turfPolygon);
console.log("求交集的处理数据:",turf.featureCollection([featuresArray[0],turfPolygon]));
// 取交集
let intersection = turf.intersect(turf.featureCollection([featuresArray[0],turfPolygon]),dealOptions);
@ -366,8 +366,8 @@ export async function splitPolygonByMultiFill(drawPolygons,outerPolygon){
resultArray.push(difference);
}
// 全部图斑
//console.log("💩第7步分割后所有图斑",resultArray);
// 全部线索
//console.log("💩第7步分割后所有线索",resultArray);
resolve(resultArray)

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:12px;" v-if="showItem('tubanlaiyuan')">
<div class="screen-item-label" style="margin-right: 11px;">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px;">线索来源</div>
<a-select
allowClear
style="width:144px;"
@ -55,7 +55,7 @@
/>
</div>
<div class="screen-item" style="margin-right: 13px;margin-bottom:12px;" v-if="showItem('typename')">
<div class="screen-item-label">图斑类型</div>
<div class="screen-item-label">线索类型</div>
<a-select
allowClear
style="width: 97px"
@ -88,7 +88,7 @@
<div class="screen-item" style="margin-right: 14px;" v-if="showItem('caseNo')">
<a-input
allowClear
placeholder="请输入图斑编号"
placeholder="请输入线索编号"
class="item-input"
v-model:value="props.screenData.caseNo"
@change="(value) => emits('screenDataChange',value.target.value,'caseNo')"

@ -1,22 +1,22 @@
/**
* year
* tubanlaiyuan
* typename
* 线 tubanlaiyuan
* 线 typename
* countyid
* streetid
* nowStatus
* startTime-endTime
* caseNo
* 线 caseNo
* register
*/
// 图斑来源
// 线索来源
import { getChildrenTree } from '@/api/demo/system';
import { asyncGetOptions } from '@/utils/global';
const counties = await getChildrenTree({ parentId: 371300 })
export const polygonSourceOptions= await asyncGetOptions('tubanlaiyuan')
// 图斑类型
// 线索类型
export const polygonTypeOptions= await asyncGetOptions('kctubanleixing')
// 当前状态
export const statusOptions = await asyncGetOptions('kcdangqianzhuangtai')

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:12px;" v-if="showItem('tubanlaiyuan')">
<div class="screen-item-label" style="margin-right: 11px;">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px;">线索来源</div>
<a-select
allowClear
style="width:144px;"
@ -55,7 +55,7 @@
/>
</div>
<div class="screen-item" style="margin-right: 13px;margin-bottom:12px;" v-if="showItem('typename')">
<div class="screen-item-label">图斑类型</div>
<div class="screen-item-label">线索类型</div>
<a-select
allowClear
style="width: 97px"
@ -88,7 +88,7 @@
<div class="screen-item" style="margin-right: 14px;" v-if="showItem('caseNo')">
<a-input
allowClear
placeholder="请输入图斑编号"
placeholder="请输入线索编号"
class="item-input"
v-model:value="props.screenData.caseNo"
@change="(value) => emits('screenDataChange',value.target.value,'caseNo')"

@ -1,22 +1,22 @@
/**
* year
* tubanlaiyuan
* typename
* 线 tubanlaiyuan
* 线 typename
* countyid
* streetid
* nowStatus
* startTime-endTime
* caseNo
* 线 caseNo
* register
*/
// 图斑来源
// 线索来源
import { getChildrenTree } from '@/api/demo/system';
import { asyncGetOptions } from '@/utils/global';
const counties = await getChildrenTree({ parentId: 371300 })
export const polygonSourceOptions= await asyncGetOptions('tubanlaiyuan')
// 图斑类型
// 线索类型
export const polygonTypeOptions= await asyncGetOptions('kctubanleixing')
// 当前状态
export const statusOptions = await asyncGetOptions('kcdangqianzhuangtai')

@ -76,12 +76,12 @@
ifShow: false,
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'caseNo',
width: 150,
},
{
title: '图斑ID',
title: '线索ID',
dataIndex: 'geomId',
width: 100,
},
@ -110,13 +110,13 @@
const searchFormSchema: FormSchema[] = [
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 8 },
},
{
field: 'geomId',
label: '图斑ID',
label: '线索ID',
component: 'Input',
colProps: { span: 8 },
},

@ -51,6 +51,6 @@ export const toDoDate = [
]
export const updateDate = [
{ id: 1, title: '自然资源监管平台6月07日更新公告', datetime: '2025-06-07 10:39:03',
content:'1.手机端非法采矿专题新增地图和全部功能模块\n2.电脑端非法采矿专题新增数据列表功能\n3.手机端违法用地专题图斑来源筛选优化\n4.电脑端新增"图斑持续监管"功能模块,实现对指定图斑的全周期动态监测与智能化管理。\n5.电脑端矿产专题优化矿产图斑导出功能,新增审核全要素信息导出'
content:'1.手机端非法采矿专题新增地图和全部功能模块\n2.电脑端非法采矿专题新增数据列表功能\n3.手机端违法用地专题线索来源筛选优化\n4.电脑端新增"线索持续监管"功能模块,实现对指定线索的全周期动态监测与智能化管理。\n5.电脑端矿产专题优化矿产线索导出功能,新增审核全要素信息导出'
},
]

@ -47,7 +47,7 @@
<div class="cloudquery-title">
<div class="cloudquery-left">
<img src="/message.png" alt="" />
<span class="title-box">您有一条按照地类分割图斑结果请查收</span>
<span class="title-box">您有一条按照地类分割线索结果请查收</span>
</div>
<div class="cloudquery-right">
<a-button type="primary" @click="handCloudLandQuery"></a-button>
@ -86,7 +86,7 @@
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
wrap-class-name="full-modal"
v-model:open="showSplitPolygon"
title="图斑分综"
title="线索分综"
:footer="null"
:maskClosable="true"
:destroyOnClose="true"
@ -368,7 +368,7 @@
showInfoData.value = res;
closeCloudLandQuery();
showSplitPolygon.value = true;
//
// 线
setTimeout(function () {
let geoms = {
type: 'FeatureCollection',

@ -89,7 +89,7 @@ export const markTypeOptions = [
{ label: '已建成', value: '已建成' },
{ label: '持续变化', value: '持续变化' },
];
// 图斑来源
// 线索来源
export const patchSourceOptions = [
{
label: '全域巡查',
@ -100,16 +100,16 @@ export const patchSourceOptions = [
value: '卫片下发',
},
// {
// label: '部级矿产卫片图斑',
// value: '部级矿产卫片图斑',
// label: '部级矿产卫片线索',
// value: '部级矿产卫片线索',
// },
// {
// label: '省级矿产卫片图斑',
// value: '省级矿产卫片图斑',
// label: '省级矿产卫片线索',
// value: '省级矿产卫片线索',
// },
{
label: '省级月度图斑',
value: '省级月度图斑',
label: '省级月度线索',
value: '省级月度线索',
},
];
export const isOverdueOptions = [

@ -33,7 +33,7 @@
//
const type = ref('add')
//
// 线
// const feature ="LINESTRING (118.55483239594203 35.81329409678203, 118.54889167836416 35.806406839795216, 118.55647247134772 35.80285975465173, 118.56157492816281 35.803303140294986)"
// const feature = "POLYGON ((118.54774514802972 35.80786133598188, 118.54515277045988 35.79816597053564, 118.55919536113471 35.80085134034624, 118.56021460056033 35.80462789316549, 118.5595188628206 35.80695604583504, 118.5580066425723 35.80815336506183, 118.54774514802972 35.80786133598188))"
@ -53,17 +53,17 @@ let drawFeatures = [
// geom
const handlerDrawComplete = (geom)=>{
console.log("绘制完成返回的图斑",geom);
console.log("绘制完成返回的线索",geom);
}
//
const MapboxComponent = ref()
//
// 线
// setTimeout(function(){
// //
// // 线
// // MapboxComponent.value.handlerDraw()
// //
// // 线
// MapboxComponent.value.handlerDraw(drawFeatures)
// },3000)
@ -74,7 +74,7 @@ let drawFeatures = [
// // MapboxComponent.value.handlerDraw()
// },6000)
//
// 线
// setTimeout(function(){
// MapboxComponent.value.handlerLocation([118.556717,35.80391]);
// },6000)

@ -1,5 +1,5 @@
<template>
<a-input placeholder="请输入目标位置、图斑编号" style="margin-bottom: 10px;">
<a-input placeholder="请输入目标位置、线索编号" style="margin-bottom: 10px;">
<template #suffix>
<SearchOutlined />
</template>

@ -1,5 +1,5 @@
<template>
<SubTitleSelect :data="[{title:'绘制范围', value: 0}, {title:'图斑搜索', value: 1}]" :select="select" @changeSelect="changeSelect"/>
<SubTitleSelect :data="[{title:'绘制范围', value: 0}, {title:'线索搜索', value: 1}]" :select="select" @changeSelect="changeSelect"/>
<div class="search-draw-map" v-if="select === 0">
<a-radio-group v-model:value="drawMapType">
<a-radio-button value="rectangle">矩形</a-radio-button>
@ -7,7 +7,7 @@
</a-radio-group>
</div>
<div class="search-content" v-if="select === 1">
<a-input placeholder="请输入目标位置、图斑编号">
<a-input placeholder="请输入目标位置、线索编号">
<template #suffix>
<SearchOutlined />
</template>
@ -33,7 +33,7 @@ const select = ref(0)
const drawMapType = ref()
const columns = ref([
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'id',
key: 'id',
},

@ -43,7 +43,7 @@
</a-table>
<div class="bottom">
<span v-if="props.title == '土地规划查询结果' && result == 0">
查询的本图斑并未占用耕地旱地水浇地水田
查询的本线索并未占用耕地旱地水浇地水田
</span>
</div>
</template>

@ -53,7 +53,7 @@
}}</a-select-option>
</a-select>
</a-form-item>
<a-form-item label="图斑编号" name="prefix">
<a-form-item label="线索编号" name="prefix">
<a-input v-model:value="props.modalData.data.prefix" />
</a-form-item>
</template>

@ -70,7 +70,7 @@
message.warning('请选择一条数据');
return;
}
modalData.title = type === 'bindCaseTypes' ? '分配图斑类型' : '分配角色';
modalData.title = type === 'bindCaseTypes' ? '分配线索类型' : '分配角色';
modalData.topicId = row[0].topicId;
modalData.type = type;
openModal.value = true;

@ -13,7 +13,7 @@ export const columns = [
dataIndex: 'topicName',
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'caseTypes',
},
{
@ -46,7 +46,7 @@ export const emptyTopicItem = {
};
export const caseTypesColumns = [
{
title: '图斑名称',
title: '线索名称',
dataIndex: 'itemName',
},
{

@ -38,22 +38,22 @@ export const codeObj = {
}
export const columns: BasicColumn[] = [
{
title: '原始图斑编号',
title: '原始线索编号',
dataIndex: 'original_case_no',
width: 200,
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'case_no',
width: 200,
},
{
title: '图斑描述',
title: '线索描述',
dataIndex: 'case_description',
width: 300,
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
@ -90,7 +90,7 @@ export const searchFormSchemaFunction:(type:string, audit:boolean) => FormSchema
return [
{
field: 'originalCaseNo',
label: '原始图斑编号',
label: '原始线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
@ -99,16 +99,16 @@ export const searchFormSchemaFunction:(type:string, audit:boolean) => FormSchema
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
placeholder: '请输入图斑编号',
placeholder: '请输入线索编号',
},
},
{
field: 'typename',
label:'图斑类型',
label:'线索类型',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({formModel}) => {

@ -30,7 +30,7 @@
<BasicModal
v-bind="$attrs"
@register="registerModal"
title="图斑详情"
title="线索详情"
:canFullscreen="false"
:defaultFullscreen="true"
:showCancelBtn="false"
@ -58,7 +58,7 @@
data: [],
col: [
{
title: '图斑来源',
title: '线索来源',
dataIndex: 'tubanlaiyuan',
},
{
@ -74,19 +74,19 @@
dataIndex: 'communityname',
},
{
title: '图斑描述',
title: '线索描述',
dataIndex: 'case_description',
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'case_no',
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
title: '图斑面积',
title: '线索面积',
dataIndex: 'area',
},
{

@ -182,7 +182,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'tubanlaiyuan',
label: '图斑来源',
label: '线索来源',
component: 'ApiSelect',
colProps: { span: 5 },
componentProps: ({ formModel }) => {

@ -30,7 +30,7 @@
const [registerTable] = useTable({
api: CaseOffenceMineralsNew,
columns: columnsNew,
// title: '',
// title: '线',
// titleHelpMessage: '',
formConfig: {
labelWidth: 120,

@ -38,7 +38,7 @@
const [registerTable] = useTable({
api: CaseOffenceMinerals,
columns: columns,
// title: '',
// title: '线',
// titleHelpMessage: '',
formConfig: {
labelWidth: 120,

@ -16,7 +16,7 @@ export const columns: BasicColumn[] = [
fixed: 'left',
},
{
title: '下发图斑',
title: '下发线索',
children: [
{
title: '宗数',
@ -238,7 +238,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'tubanlaiyuan',
label: '图斑来源',
label: '线索来源',
component: 'ApiSelect',
colProps: { span: 5 },
componentProps: ({ formModel }) => {

@ -12,17 +12,17 @@
</a>
</template> -->
<!-- 下发图斑·宗数 -->
<!-- 下发线索·宗数 -->
<template v-if="column.key === 'xftbzs'">
<a @click="handlePreViewData(column, record, 1)"> {{ record.xftbzs }} </a>
</template>
<!-- 下发图斑·面积 -->
<!-- 下发线索·面积 -->
<template v-if="column.key === 'xfmj'">
<!-- <a @click="handlePreViewData(column, record, 1)"> -->
{{ record.xfmj == 0 ? 0 : record.xfmj.toFixed(2) }}
<!-- </a> -->
</template>
<!-- 下发图斑·耕地面积 -->
<!-- 下发线索·耕地面积 -->
<template v-if="column.key === 'xfgdmj'">
<!-- <a @click="handlePreViewData(column, record, 1)"> -->
{{ record.xfgdmj == 0 ? 0 : record.xfgdmj.toFixed(2) }}
@ -177,20 +177,20 @@
<a-modal v-model:open="open_mingxi" title="导出表格种类" :footer="null">
<div>
<a-button class="exportbutton" @click="handleExport('mingxi_1')">
无人机全域巡查图斑核查情况统计表
无人机全域巡查线索核查情况统计表
</a-button>
<a-button class="exportbutton" @click="handleExport('mingxi_2')">
无人机全域巡查图斑下发情况统计表
无人机全域巡查线索下发情况统计表
</a-button>
<a-button class="exportbutton" @click="handleExport('mingxi_3')">
无人机全域巡查图斑整改情况统计表
无人机全域巡查线索整改情况统计表
</a-button>
</div>
</a-modal>
<a-modal v-model:open="open_chuantou" title="导出文件类型" :footer="null">
<div>
<a-button class="exportbutton" @click="handleExport('chuantou_execl')">
统计明细图斑信息execl
统计明细线索信息execl
</a-button>
<a-button class="exportbutton" @click="handleExport('chuantou_shp')">
统计明细矢量数据shp
@ -260,7 +260,7 @@
const [registerTable] = useTable({
api: getCaseOffence,
columns: columns,
title: '无人机全域巡查图斑情况统计表',
title: '无人机全域巡查线索情况统计表',
titleHelpMessage: '合法、其他、非粮化、补办手续、拆除复耕均需市级审核通过才可判定为举证类型。',
formConfig: {
labelWidth: 120,
@ -328,7 +328,7 @@
};
switch (CaseType) {
case 1:
tabItem.label = '下发图斑';
tabItem.label = '下发线索';
break;
case 2:
tabItem.label = '合法';
@ -424,10 +424,10 @@
}
switch (exportType) {
case 'chuantou_execl':
// 穿-execl
// 穿-线execl
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExprotCaseListByType';
fileName =
'统计明细图斑信息 ' +
'统计明细线索信息 ' +
tablist[activeKey.value].countyname +
'-' +
tablist[activeKey.value].label +
@ -436,7 +436,7 @@
'.xls';
break;
case 'chuantou_shp':
// 穿-shp
// 穿-线shp
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportShapefile';
fileName =
'统计明细矢量数据 ' +
@ -448,19 +448,19 @@
'.zip';
break;
case 'mingxi_1':
//
// 线
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/CaseOffenceToExcel';
fileName = '无人机全域巡查图斑核查情况统计表 ' + afterTitle + '.xls';
fileName = '无人机全域巡查线索核查情况统计表 ' + afterTitle + '.xls';
break;
case 'mingxi_2':
//
// 线
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/CaseOfWrjqyxctbxfqktjbToExcel';
fileName = '无人机全域巡查图斑下发情况统计表 ' + afterTitle + '.xls';
fileName = '无人机全域巡查线索下发情况统计表 ' + afterTitle + '.xls';
break;
case 'mingxi_3':
//
// 线
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/CaseOfWrjqyxctbzgqktjbToExcel';
fileName = '无人机全域巡查图斑整改情况统计表 ' + afterTitle + '.xls';
fileName = '无人机全域巡查线索整改情况统计表 ' + afterTitle + '.xls';
break;
default:
break;

@ -16,7 +16,7 @@
/>
</div>
<div class="screen-item" style="margin-left: 20px; margin-right: 17px">
<div class="screen-item-label" style="margin-right: 11px">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px">线索来源</div>
<a-select
allowClear
style="width: 142px"
@ -46,7 +46,7 @@
<div class="screen-item" style="margin-right: 14px; margin-top: 12px">
<a-input
allowClear
placeholder="请输入图斑编号(模糊查询获取近十条数据)"
placeholder="请输入线索编号(模糊查询获取近十条数据)"
class="item-input"
v-model:value="mapNo"
style="width: 443px"

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:15px;">
<div class="screen-item-label">图斑来源</div>
<div class="screen-item-label">线索来源</div>
<a-select
allowClear
style="width:130px;"
@ -38,7 +38,7 @@
/>
</div> -->
<div class="screen-item" style="margin-right:10px;">
<a-input style="width:455px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入图斑编号"/>
<a-input style="width:455px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入线索编号"/>
</div>
<div class="screen-item" style="display: flex; justify-content: end;margin-bottom: 0px;">
<a-button type="primary" class="item-button" :icon="h(SearchOutlined)" @click="query"></a-button>

@ -148,11 +148,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
}

@ -29,7 +29,7 @@
<BasicModal
v-bind="$attrs"
@register="registerModal"
title="图斑详情"
title="线索详情"
:canFullscreen="false"
:defaultFullscreen="true"
:showCancelBtn="false"
@ -56,7 +56,7 @@
data: [],
col: [
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'case_no',
ifShow: false,
},
@ -73,7 +73,7 @@
dataIndex: 'communityname',
},
{
title: '图斑描述',
title: '线索描述',
dataIndex: 'case_description',
},
{
@ -85,7 +85,7 @@
dataIndex: 'createtime',
},
{
title: '图斑面积',
title: '线索面积',
dataIndex: 'area',
},
{
@ -97,7 +97,7 @@
dataIndex: 'is_illegal',
},
{
title: '图斑状态',
title: '线索状态',
dataIndex: 'handle_status_name',
},
{

@ -15,7 +15,7 @@ export const columns: BasicColumn[] = [
fixed: 'left',
},
{
title: '下发图斑',
title: '下发线索',
children: [
{
title: '宗数',

@ -12,17 +12,17 @@
</a>
</template> -->
<!-- 下发图斑·宗数 -->
<!-- 下发线索·宗数 -->
<template v-if="column.key === 'xftbzs' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record, 1)"> {{ record.xftbzs }} </a>
</template>
<!-- 下发图斑·面积 -->
<!-- 下发线索·面积 -->
<template v-if="column.key === 'xfmj' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record, 1)">
{{ record.xfmj == 0 ? 0 : record.xfmj.toFixed(2) }}
</a>
</template>
<!-- 下发图斑·耕地面积 -->
<!-- 下发线索·耕地面积 -->
<template v-if="column.key === 'xfgdmj' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record, 1)">
{{ record.xfgdmj == 0 ? 0 : record.xfgdmj.toFixed(2) }}
@ -177,7 +177,7 @@
<a-modal v-model:open="open_mingxi" title="导出表格种类" :footer="null">
<div>
<a-button class="exportbutton" @click="handleExport('mingxi_1')">
无人机全域巡查图斑情况统计表
无人机全域巡查线索情况统计表
</a-button>
<a-button class="exportbutton" @click="handleExport('mingxi_2')">
土地卫片新增违法占用耕地情况统计表
@ -190,7 +190,7 @@
<a-modal v-model:open="open_chuantou" title="导出文件类型" :footer="null">
<div>
<a-button class="exportbutton" @click="handleExport('chuantou_execl')">
统计明细图斑信息execl
统计明细线索信息execl
</a-button>
<a-button class="exportbutton" @click="handleExport('chuantou_shp')">
统计明细矢量数据shp
@ -262,7 +262,7 @@
const [registerTable] = useTable({
api: getCaseOffence,
columns: columns,
// title: '',
// title: '线',
// titleHelpMessage: '',
formConfig: {
labelWidth: 120,
@ -325,7 +325,7 @@
};
switch (CaseType) {
case 1:
tabItem.label = '下发图斑';
tabItem.label = '下发线索';
break;
case 2:
tabItem.label = '合法';
@ -421,10 +421,10 @@
}
switch (exportType) {
case 'chuantou_execl':
// 穿-execl
// 穿-线execl
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExprotCaseListByType';
fileName =
'统计明细图斑信息 ' +
'统计明细线索信息 ' +
tablist[activeKey.value].countyname +
'-' +
tablist[activeKey.value].label +
@ -433,7 +433,7 @@
'.xls';
break;
case 'chuantou_shp':
// 穿-shp
// 穿-线shp
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportShapefile';
fileName =
'统计明细矢量数据 ' +
@ -445,9 +445,9 @@
'.zip';
break;
case 'mingxi_1':
//
// 线
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/CaseOffenceToExcel';
fileName = '无人机全域巡查图斑情况统计表 ' + afterTitle + '.xls';
fileName = '无人机全域巡查线索情况统计表 ' + afterTitle + '.xls';
break;
case 'mingxi_2':
//

@ -2,7 +2,7 @@
<div>
<a-modal
v-model:open="props.modalShow"
title="图斑调整"
title="线索调整"
@ok="handleSubmit"
@cancel="handlerCloseModal"
>
@ -13,10 +13,10 @@
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-form-item label="图斑编号" name="case_no">
<a-form-item label="线索编号" name="case_no">
<a-input v-model:value="formState.case_no" disabled />
</a-form-item>
<a-form-item label="图斑描述" name="case_description">
<a-form-item label="线索描述" name="case_description">
<a-input v-model:value="formState.case_description" disabled />
</a-form-item>
<a-form-item label="县区" name="countyid">
@ -61,10 +61,10 @@
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-form-item label="图斑编号" name="case_no">
<a-form-item label="线索编号" name="case_no">
<a-input v-model:value="formState.case_no" disabled />
</a-form-item>
<a-form-item label="图斑描述" name="case_description">
<a-form-item label="线索描述" name="case_description">
<a-input v-model:value="formState.case_description" disabled />
</a-form-item>
<a-form-item label="县区" name="countyid">

@ -12,7 +12,7 @@
/>
</div>
<div class="screen-item" style="margin-right: 17px; margin-bottom: 12px">
<div class="screen-item-label" style="margin-right: 11px">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px">线索来源</div>
<a-select
allowClear
style="width: 130px"
@ -44,7 +44,7 @@
<div class="screen-item" style="margin-bottom: 12px;width:389px">
<a-input
allowClear
placeholder="请输入图斑编号"
placeholder="请输入线索编号"
class="item-input"
v-model:value="infoScreenData.caseNo"
@change="(value) => mapListScreenChange(value.target.value, 'caseNo')"
@ -60,7 +60,7 @@
<a-dropdown>
<template #overlay>
<a-menu @click="handleOperateClick">
<a-menu-item key="1">图斑分割</a-menu-item>
<a-menu-item key="1">线索分割</a-menu-item>
<a-menu-item key="2">分割还原</a-menu-item>
<!-- <a-menu-item key="3">分宗示意图</a-menu-item> -->
</a-menu>
@ -116,7 +116,7 @@
</div>
</div>
<div style="display:flex;align-items: center;">
<div>图斑面积</div>
<div>线索面积</div>
<div style="display:flex;">
<a-input style="width:30%;"
v-model:value="infoScreenData.tubanArea1"
@ -210,7 +210,7 @@
@click="showInfo(item)"
/> -->
<!-- <Icon
title="图斑分宗"
title="线索分宗"
style="font-size: 30px; cursor: pointer"
icon="ant-design:split-cells-outlined"
@click="handlerSplitPolygon(item)"
@ -289,7 +289,7 @@
style="width:100vw;top:0px;left:0px;margin:0px;padding:0px;"
wrap-class-name="full-modal"
v-model:open="showSplitPolygon"
title="图斑分综"
title="线索分综"
:footer="null"
:maskClosable="true"
:destroyOnClose="true"
@ -487,7 +487,7 @@ const getCollectList = () => {
};
const handlerRevertPolygon = (item)=>{
Modal.confirm({
title:'是否确认还原分割图斑?',
title:'是否确认还原分割线索?',
onCancel() {
},
async onOk() {

@ -205,11 +205,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
const infoDataListSort = (type, order) => {

@ -24,10 +24,10 @@
'word-break': 'break-all',
}"
>
<a-descriptions-item label="图斑编号">{{
<a-descriptions-item label="线索编号">{{
props.showInfoData.case_no
}}</a-descriptions-item>
<a-descriptions-item label="图斑类型">{{
<a-descriptions-item label="线索类型">{{
props.showInfoData.typename
}}</a-descriptions-item>
<a-descriptions-item label="县区">{{
@ -39,7 +39,7 @@
<a-descriptions-item label="社区/村">{{
props.showInfoData.communityname
}}</a-descriptions-item>
<a-descriptions-item label="图斑面积(亩)">{{
<a-descriptions-item label="线索面积(亩)">{{
dataProcessing(props.showInfoData.area)
}}</a-descriptions-item>
<a-descriptions-item label="农用地面积(亩)">{{
@ -56,17 +56,17 @@
dataProcessing(props.showInfoData.shengtaibaohuhongxian_area)
}}</a-descriptions-item>
<!-- <a-descriptions-item label="占空间规划面积(亩)">{{ dataProcessing(guotukongjianguihua_area) }}</a-descriptions-item> -->
<a-descriptions-item label="图斑描述">{{
<a-descriptions-item label="线索描述">{{
props.showInfoData.case_description
}}</a-descriptions-item>
<!-- <a-descriptions-item label="图斑地址">{{ address }}</a-descriptions-item> -->
<!-- <a-descriptions-item label="线索地址">{{ address }}</a-descriptions-item> -->
<a-descriptions-item label="备注">{{ props.showInfoData.remark }}</a-descriptions-item>
<a-descriptions-item label="经度">{{ props.showInfoData.lng }}</a-descriptions-item>
<a-descriptions-item label="纬度">{{ props.showInfoData.lat }}</a-descriptions-item>
<a-descriptions-item label="下发时间">{{
props.showInfoData.synchronoustime
}}</a-descriptions-item>
<a-descriptions-item label="图斑照片">
<a-descriptions-item label="线索照片">
<div class="image-div">
<a-image-preview-group
:preview="{
@ -98,7 +98,7 @@
<a-tab-pane
key="2"
v-if="!['建设用地', '推堆土'].includes(props.showInfoData.typename)"
tab="图斑填报"
tab="线索填报"
force-render
>
<a-descriptions
@ -113,7 +113,7 @@
<a-descriptions-item label="发生时间">{{
props.showInfoData.fashengshijian
}}</a-descriptions-item>
<a-descriptions-item label="图斑类型">{{
<a-descriptions-item label="线索类型">{{
getLabel('tianbaoleixing', props.showInfoData.tianbaoleixing)
}}</a-descriptions-item>
<a-descriptions-item label="现场情况">{{
@ -226,7 +226,7 @@
<a-tab-pane
key="4"
v-if="!['建设用地', '推堆土'].includes(props.showInfoData.typename)"
tab="图斑整改"
tab="线索整改"
>
<a-descriptions
:column="2"
@ -578,11 +578,11 @@
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
geomsList.value = null;
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
// const hanlderPreViewFile = (url) => {

@ -6,7 +6,7 @@
</div>
<div class="left-container">
<a-divider orientation="left">图斑信息</a-divider>
<a-divider orientation="left">线索信息</a-divider>
<div class="map-container">
<MapboxMap
:geomsList="geomsList"
@ -37,10 +37,10 @@
'word-break': 'break-all',
}"
>
<a-descriptions-item label="图斑编号">{{
<a-descriptions-item label="线索编号">{{
props.showInfoData.case_no
}}</a-descriptions-item>
<a-descriptions-item label="图斑类型">{{
<a-descriptions-item label="线索类型">{{
props.showInfoData.typename
}}</a-descriptions-item>
<a-descriptions-item label="县区">{{
@ -52,7 +52,7 @@
<a-descriptions-item label="社区/村">{{
props.showInfoData.communityname
}}</a-descriptions-item>
<a-descriptions-item label="图斑面积(亩)">{{
<a-descriptions-item label="线索面积(亩)">{{
dataProcessing(props.showInfoData.area)
}}</a-descriptions-item>
<a-descriptions-item label="农用地面积(亩)">{{
@ -69,17 +69,17 @@
dataProcessing(props.showInfoData.shengtaibaohuhongxian_area)
}}</a-descriptions-item>
<!-- <a-descriptions-item label="占空间规划面积(亩)">{{ dataProcessing(guotukongjianguihua_area) }}</a-descriptions-item> -->
<a-descriptions-item label="图斑描述">{{
<a-descriptions-item label="线索描述">{{
props.showInfoData.case_description
}}</a-descriptions-item>
<!-- <a-descriptions-item label="图斑地址">{{ address }}</a-descriptions-item> -->
<!-- <a-descriptions-item label="线索地址">{{ address }}</a-descriptions-item> -->
<a-descriptions-item label="备注">{{ props.showInfoData.remark }}</a-descriptions-item>
<a-descriptions-item label="经度">{{ props.showInfoData.lng }}</a-descriptions-item>
<a-descriptions-item label="纬度">{{ props.showInfoData.lat }}</a-descriptions-item>
<a-descriptions-item label="下发时间">{{
props.showInfoData.synchronoustime
}}</a-descriptions-item>
<a-descriptions-item label="图斑照片">
<a-descriptions-item label="线索照片">
<div class="image-div">
<a-image-preview-group
:preview="{
@ -457,7 +457,7 @@
</div>
<div class="right-container">
<a-divider orientation="left">图斑分割结果 </a-divider>
<a-divider orientation="left">线索分割结果 </a-divider>
<div class="data-list">
<div
v-for="(item, index) in splitPolygonForm"
@ -566,9 +566,9 @@
</div>
<div class="split-operation">
<a-button type="primary" :disabled="isSpliting" @click="mergeSplitResult"></a-button>
<a-button type="primary" :disabled="isSpliting" @click="mergeSplitResult">线</a-button>
<!-- &nbsp;
<a-button type="error" :disabled="isSpliting" @click="deleteSplitResult"></a-button> -->
<a-button type="error" :disabled="isSpliting" @click="deleteSplitResult">线</a-button> -->
&nbsp;
<a-button type="primary" :disabled="isSpliting" @click="reductionSplit"></a-button>
&nbsp;
@ -608,7 +608,7 @@
>
<a-row>
<a-col :span="12">
<a-form-item label="图斑面积" name="area">
<a-form-item label="线索面积" name="area">
<a-input
v-model:value="splitPolygonAreaForm.area"
@keydown.stop
@ -950,11 +950,11 @@
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
geomsList.value = null;
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
// const hanlderPreViewFile = (url) => {
@ -999,7 +999,7 @@
let splitPolygonPromiseArray = [];
const handlerSplitPolygon = (e) => {
isLandTypeSpliting.value = true;
//
// 线
if(currentPolygon.value){
splitPolygonForm.value?.splice(currentPolygon.value,1);
splitAfterPolygon.value?.splice(currentPolygon.value,1);
@ -1022,7 +1022,7 @@
fid: null,
unitname: '',
createdate: createtime,
caseno: case_no + ' 分割图斑',
caseno: case_no + ' 分割线索',
countyname: countyname,
streetname: streetname,
isbuildname: '',
@ -1063,19 +1063,19 @@
//
handlerFeatureArea();
//
// 线
let geoms = {
type: 'FeatureCollection',
features: [],
};
//
// 线
MapboxComponent.value.handlerDetails(geoms, 'splitPolygonSource', 'splitPolygonLayer', {
lineStyle: { 'line-color': '#408eff', 'line-width': 3 },
fillStyle: { 'fill-color': '#408eff', 'fill-opacity': 0.1 },
});
//
// 线
currentPolygon.value = null;
//
@ -1102,7 +1102,7 @@
}
splitPolygonForm.value?.forEach((item,index)=>{
//
// 线
if(index == splitPolygonForm.value.length-1){
splitPolygonForm.value[index].area = (area - addArea.area).toFixed(2) > 0 ? (area - addArea.area).toFixed(2) : null;
splitPolygonForm.value[index].gengdi_area = (gengdi_area - addArea.gengdi_area).toFixed(2) > 0 ? (gengdi_area - addArea.gengdi_area).toFixed(2) : null;
@ -1150,14 +1150,14 @@
splitPolygonDetailShow.value = true;
};
//
// 线
const currentPolygon = ref(null);
const changeCurrentPolygon = (index, item) => {
let geoms = {
type: 'FeatureCollection',
features: [item.geom],
};
//
// 线
MapboxComponent.value.handlerDetails(geoms, 'splitPolygonSource', 'splitPolygonLayer', {
lineStyle: { 'line-color': '#408eff', 'line-width': 3 },
fillStyle: { 'fill-color': '#408eff', 'fill-opacity': 0.1 },
@ -1165,7 +1165,7 @@
currentPolygon.value = index;
};
//
// 线
const onFeatureClick = (feature) => {
splitPolygonForm.value?.forEach((item, index) => {
if (item['geom']['properties']['id'] == feature.properties.id) {
@ -1196,7 +1196,7 @@
};
//
// 线
const deleteSplitResult = ()=>{
@ -1210,7 +1210,7 @@
})
if(deleteIndexs.length<1){
createMessage.error("请选择需要删除的图斑");
createMessage.error("请选择需要删除的线索");
return;
}
@ -1219,7 +1219,7 @@
//
// 线
let geoms = {
type: 'FeatureCollection',
features:splitAfterPolygon.value?splitAfterPolygon.value : [],
@ -1257,7 +1257,7 @@
}
//
// 线
const mergeSplitResult = ()=>{
@ -1279,7 +1279,7 @@
})
if(deleteIndexs.length!=2){
createMessage.error("请选择两个图斑进行合并!");
createMessage.error("请选择两个线索进行合并!");
return;
}
@ -1289,7 +1289,7 @@
removeElementsByIndexes(splitPolygonForm.value,deleteIndexs);
//
// 线
// turf
// let union = turf.union(mergeArr[0],mergeArr[1]);
@ -1297,7 +1297,7 @@
// turf 7.0
let union = turf.union(turf.featureCollection([mergeArr[0], mergeArr[1]]))
//
// 线
let calAreaParams:CalTubanAreaModel = {
"wktgeom": GeojsonToWkt(union['geometry']),
}
@ -1308,7 +1308,7 @@
fid: null,
unitname: '',
createdate: createtime,
caseno: case_no + ' 分割图斑',
caseno: case_no + ' 分割线索',
countyname: countyname,
streetname: streetname,
isbuildname: '',
@ -1325,7 +1325,7 @@
splitAfterPolygon.value?.push(union);
splitPolygonForm.value?.push(polygon);
//
// 线
let geoms = {
type: 'FeatureCollection',
features:splitAfterPolygon.value?splitAfterPolygon.value : [],
@ -1335,7 +1335,7 @@
fillStyle: { 'fill-color': '#fcf003', 'fill-opacity': 0.1 },
});
//
// 线
let checkedGeoms = {
type: 'FeatureCollection',
features: [],
@ -1364,7 +1364,7 @@
const saveSplitResult = () => {
isSpliting.value = true;
if (splitPolygonForm.value?.length == 0) {
createMessage.error('请先使用分割工具分割图斑');
createMessage.error('请先使用分割工具分割线索');
isSpliting.value = false;
return null;
}
@ -1444,7 +1444,7 @@
}
for (let key in areaAbnormal.value) {
if (areaAbnormal.value[key]) {
createMessage.error('分割后总面积与原图斑总面积不一致!');
createMessage.error('分割后总面积与原线索总面积不一致!');
return false;
}
}

@ -12,7 +12,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:12px;">
<div class="screen-item-label" style="margin-right: 11px;">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px;">线索来源</div>
<a-select
allowClear
style="width:120px;"
@ -55,7 +55,7 @@
<div class="screen-item" style="margin-right: 14px;">
<a-input
allowClear
placeholder="请输入图斑编号"
placeholder="请输入线索编号"
class="item-input"
v-model:value="props.infoScreenData.mapNo"
@change="(value) => emits('mapListScreenChange',value.target.value,'mapNo')"
@ -109,7 +109,7 @@
</div>
</div>
<div style="display:flex;align-items: center;margin-top: 4px;">
<div>图斑面积</div>
<div>线索面积</div>
<div style="display:flex;">
<a-input style="width:30%;"
v-model:value="props.infoScreenData.mapAreaFirst"
@ -481,7 +481,7 @@ const getParams = (data) => {
// landType: props.infoScreenData.landType, //0 1
isOutTime: props.infoScreenData.isOverdue, //
year: props.infoScreenData.year, //
tubanlaiyuan: props.infoScreenData.patchSource, //
tubanlaiyuan: props.infoScreenData.patchSource, //线
picihao: props.infoScreenData.batch, //
streetid: props.infoScreenData.streetId,
caseNo: props.infoScreenData.mapNo, //
@ -489,8 +489,8 @@ const getParams = (data) => {
endTime: props.infoScreenData.endTime, //
nowStatus: props.infoScreenData.mapStatus, //
isBuildName: props.infoScreenData.markType, //
tubanArea1: props.infoScreenData.mapAreaFirst, // 1
tubanArea2: props.infoScreenData.mapAreaLast, // 2
tubanArea1: props.infoScreenData.mapAreaFirst, // 线1
tubanArea2: props.infoScreenData.mapAreaLast, // 线2
gengdiArea1: props.infoScreenData.arableAreaFirst, //1
gengdiArea2: props.infoScreenData.arableAreaLast, //2
page: props.pageNo,

@ -267,7 +267,7 @@
// landType: infoScreenData.value.landType, //0 1
isOutTime: infoScreenData.value.isOverdue, //
year: infoScreenData.value.year, //
tubanlaiyuan: infoScreenData.value.patchSource, //
tubanlaiyuan: infoScreenData.value.patchSource, //线
picihao: infoScreenData.value.batch, //
// countyid: infoScreenData.value.countyId,
streetid: infoScreenData.value.streetId,
@ -280,8 +280,8 @@
// measure_name: infoScreenData.value.measure,
nowStatus: infoScreenData.value.mapStatus, //
isBuildName: infoScreenData.value.markType, //
tubanArea1: infoScreenData.value.mapAreaFirst, // 1
tubanArea2: infoScreenData.value.mapAreaLast, // 2
tubanArea1: infoScreenData.value.mapAreaFirst, // 线1
tubanArea2: infoScreenData.value.mapAreaLast, // 线2
gengdiArea1: infoScreenData.value.arableAreaFirst, //1
gengdiArea2: infoScreenData.value.arableAreaLast, //2
// areaid: cityType.value.areaid,
@ -393,11 +393,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
const infoDataListSort = (type, order) => {

@ -16,7 +16,7 @@
/>
</div>
<div class="screen-item" style="margin-left: 20px; margin-right: 17px">
<div class="screen-item-label" style="margin-right: 11px">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px">线索来源</div>
<a-select
allowClear
style="width: 142px"
@ -46,7 +46,7 @@
<div class="screen-item" style="margin-right: 14px; margin-top: 12px">
<a-input
allowClear
placeholder="请输入图斑编号(模糊查询获取近十条数据)"
placeholder="请输入线索编号(模糊查询获取近十条数据)"
class="item-input"
v-model:value="mapNo"
style="width: 443px"

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:15px;">
<div class="screen-item-label">图斑来源</div>
<div class="screen-item-label">线索来源</div>
<a-select
allowClear
style="width:130px;"
@ -38,7 +38,7 @@
/>
</div> -->
<div class="screen-item" style="margin-right:10px;">
<a-input style="width:455px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入图斑编号"/>
<a-input style="width:455px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入线索编号"/>
</div>
<div class="screen-item" style="display: flex; justify-content: end;margin-bottom: 0px;">
<a-button type="primary" class="item-button" :icon="h(SearchOutlined)" @click="query"></a-button>

@ -37,7 +37,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'streetname',
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'caseno',
width: 200,
},
@ -46,7 +46,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'identificationtime',
},
{
title: '图斑面积',
title: '线索面积',
dataIndex: 'area',
},
{
@ -123,7 +123,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'tubanlaiyuan',
label: '图斑来源',
label: '线索来源',
component: 'Select',
colProps: { span: 4 },
componentProps: {
@ -191,7 +191,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 4 },
},

@ -145,11 +145,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
}

@ -68,10 +68,10 @@
<a-modal v-model:open="open" title="导出文件类型" :footer="null">
<div>
<a-button class="exportbutton" @click="handleExport('excel')">
图斑汇总统计报表execl
线索汇总统计报表execl
</a-button>
<a-button class="exportbutton" @click="handleExport('shp')">
图斑汇总矢量数据shp
线索汇总矢量数据shp
</a-button>
</div>
</a-modal>
@ -157,7 +157,7 @@
});
const [registerTable, { setTableData, reload, clearSelectedRowKeys, setPagination, setLoading }] =
useTable({
title: '图斑汇总',
title: '线索汇总',
dataSource: tableData.value,
columns,
rowKey: 'id',
@ -187,10 +187,10 @@
let fileName = '';
if (exportType == 'excel') {
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoFLH/ExportCaseInfoTuBanListV1';
fileName = '图斑汇总统计报表' + new Date().getTime() + '.xls';
fileName = '线索汇总统计报表' + new Date().getTime() + '.xls';
} else if (exportType == 'shp') {
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoFLH/ExportCaseInfoShapefileV1';
fileName = '图斑汇总矢量数据' + new Date().getTime() + '.zip';
fileName = '线索汇总矢量数据' + new Date().getTime() + '.zip';
}
axios({
method: 'post',

@ -13,7 +13,7 @@ export const nowStatusOptions = await asyncGetOptions('gdflhdqzt');
export const columns: BasicColumn[] = [
{
title: '图斑来源',
title: '线索来源',
dataIndex: 'tubanlaiyuan',
},
{
@ -30,16 +30,16 @@ export const columns: BasicColumn[] = [
dataIndex: 'communityname',
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'caseno',
width: 200,
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
title: '图斑面积',
title: '线索面积',
dataIndex: 'area',
width: 110,
},
@ -97,7 +97,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'tubanlaiyuan',
label: '图斑来源',
label: '线索来源',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({ formModel }) => {
@ -115,7 +115,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'typename',
label: '图斑类型',
label: '线索类型',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({ formModel }) => {
@ -215,10 +215,10 @@ export const searchFormSchema: FormSchema[] = [
},
},
// 增加图斑面积、耕地面积、永农面积的筛选项;
// 增加线索面积、耕地面积、永农面积的筛选项;
{
field: 'tubanmianji',
label: '图斑面积',
label: '线索面积',
colProps: { span: 4 },
slot: 'tubanmianji',
},
@ -246,7 +246,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 5 },
},

@ -9,7 +9,7 @@
v-else-if="formConfig.currentItem.component == 'MapGeom'"
label-align="left"
layout="vertical"
description="图斑控件"
description="线索控件"
>
<FormItem label="选择空间数据表">
<a-select
@ -19,7 +19,7 @@
placeholder="请选择空间数据表"
/>
</FormItem>
<FormItem label="是否允许编辑图斑">
<FormItem label="是否允许编辑线索">
<Switch v-model:checked="formConfig.currentItem.mapSetData.isAllowEditPolygon" />
</FormItem>
<FormItem label="是否开启位置跳转">
@ -186,7 +186,7 @@
formConfig.value.currentItem.itemProps.wrapperCol =
formConfig.value.currentItem.itemProps.wrapperCol || {};
if (formConfig.value.currentItem.component === 'MapGeom') {
//
// 线
formConfig.value.currentItem.mapSetData = formConfig.value.currentItem.mapSetData
? formConfig.value.currentItem.mapSetData
: {

@ -35,7 +35,7 @@
@change="handleChange"
@click="handleClick(schema)"
>
图斑组件
线索组件
</Divider>
<a-button
v-else-if="['Button'].includes(schema.component)"

@ -128,7 +128,7 @@ export const customComponents: IVFormComponent[] = [
},
{
component: 'MapGeom',
label: '图斑',
label: '线索',
icon: 'bi:box-arrow-in-up-left',
field: 'mapgeom',
colProps: { span: 24 },

@ -32,7 +32,7 @@ export interface LayerFields {
labelFieldOptions?: any[];
}
/**
*
* 线
*/
export interface MapComponent {
width?: number;
@ -105,7 +105,7 @@ export interface IVFormComponent {
wrapperCol?: IAnyObject;
// 子控件
columns?: Array<{ span: number; children: any[] }>;
// 图斑数据
// 线索数据
mapSetData?: MapComponent;
// 判断子表的字段
type?: string;

@ -14,7 +14,7 @@
/>
</div>
<div class="screen-item" style="margin-left:20px;margin-right:17px;">
<div class="screen-item-label" style="margin-right:11px;">图斑来源</div>
<div class="screen-item-label" style="margin-right:11px;">线索来源</div>
<a-select
allowClear
style="width: 142px"

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:15px;">
<div class="screen-item-label">图斑来源</div>
<div class="screen-item-label">线索来源</div>
<a-select
allowClear
style="width:130px;"
@ -38,8 +38,8 @@
/>
</div>
<div class="screen-item" style="margin-right:10px;">
<!-- <div class="screen-item-label">图斑</div> -->
<a-input style="width:270px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入图斑编号" @press-enter="query"/>
<!-- <div class="screen-item-label">线索</div> -->
<a-input style="width:270px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入线索编号" @press-enter="query"/>
</div>
<div class="screen-item" style="display: flex; justify-content: end;margin-bottom: 0px;">
<a-button type="primary" class="item-button" :icon="h(SearchOutlined)" @click="query"></a-button>

@ -146,11 +146,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
}

@ -24,10 +24,10 @@
'word-break': 'break-all',
}"
>
<a-descriptions-item label="图斑编号">{{
<a-descriptions-item label="线索编号">{{
props.showInfoData.case_no
}}</a-descriptions-item>
<a-descriptions-item label="图斑类型">{{
<a-descriptions-item label="线索类型">{{
props.showInfoData.typename
}}</a-descriptions-item>
<a-descriptions-item label="县区">{{
@ -39,7 +39,7 @@
<a-descriptions-item label="社区/村">{{
props.showInfoData.communityname
}}</a-descriptions-item>
<a-descriptions-item label="图斑面积(亩)">{{
<a-descriptions-item label="线索面积(亩)">{{
dataProcessing(props.showInfoData.area)
}}</a-descriptions-item>
<a-descriptions-item label="农用地面积(亩)">{{
@ -56,17 +56,17 @@
dataProcessing(props.showInfoData.shengtaibaohuhongxian_area)
}}</a-descriptions-item>
<!-- <a-descriptions-item label="占空间规划面积(亩)">{{ dataProcessing(guotukongjianguihua_area) }}</a-descriptions-item> -->
<a-descriptions-item label="图斑描述">{{
<a-descriptions-item label="线索描述">{{
props.showInfoData.case_description
}}</a-descriptions-item>
<!-- <a-descriptions-item label="图斑地址">{{ address }}</a-descriptions-item> -->
<!-- <a-descriptions-item label="线索地址">{{ address }}</a-descriptions-item> -->
<a-descriptions-item label="备注">{{ props.showInfoData.remark }}</a-descriptions-item>
<a-descriptions-item label="经度">{{ props.showInfoData.lng }}</a-descriptions-item>
<a-descriptions-item label="纬度">{{ props.showInfoData.lat }}</a-descriptions-item>
<a-descriptions-item label="下发时间">{{
props.showInfoData.synchronoustime
}}</a-descriptions-item>
<a-descriptions-item label="图斑照片">
<a-descriptions-item label="线索照片">
<div class="image-div">
<a-image-preview-group
:preview="{
@ -636,11 +636,11 @@
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
geomsList.value = null;
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
// const hanlderPreViewFile = (url) => {

@ -1,7 +1,7 @@
<template>
<div class="detail-container">
<div class="left-container">
<a-divider orientation="left">图斑信息</a-divider>
<a-divider orientation="left">线索信息</a-divider>
<div class="map-container">
<MapboxMap
:caseno="case_no"
@ -30,25 +30,25 @@
'word-break': 'break-all',
}"
>
<a-descriptions-item label="图斑编号">{{ case_no }}</a-descriptions-item>
<a-descriptions-item label="图斑类型">{{ typename }}</a-descriptions-item>
<a-descriptions-item label="线索编号">{{ case_no }}</a-descriptions-item>
<a-descriptions-item label="线索类型">{{ typename }}</a-descriptions-item>
<a-descriptions-item label="县区">{{ countyname }}</a-descriptions-item>
<a-descriptions-item label="乡镇">{{ streetname }}</a-descriptions-item>
<a-descriptions-item label="社区/村">{{ communityname }}</a-descriptions-item>
<a-descriptions-item label="图斑面积(亩)">{{ dataProcessing(area) }}</a-descriptions-item>
<a-descriptions-item label="线索面积(亩)">{{ dataProcessing(area) }}</a-descriptions-item>
<a-descriptions-item label="农用地面积(亩)">{{ dataProcessing(nongyongdi_area) }}</a-descriptions-item>
<a-descriptions-item label="耕地面积(亩)">{{ dataProcessing(gengdi_area) }}</a-descriptions-item>
<a-descriptions-item label="永农面积(亩)">{{ dataProcessing(yongjiujibennongtian_area) }}</a-descriptions-item>
<!-- <a-descriptions-item label="占重点区域面积(亩)">{{ dataProcessing(zhongdianquyu_area) }}</a-descriptions-item> -->
<a-descriptions-item label="占生态红线面积(亩)">{{ dataProcessing(shengtaibaohuhongxian_area) }}</a-descriptions-item>
<!-- <a-descriptions-item label="占空间规划面积(亩)">{{ dataProcessing(guotukongjianguihua_area) }}</a-descriptions-item> -->
<a-descriptions-item label="图斑描述">{{ case_description }}</a-descriptions-item>
<!-- <a-descriptions-item label="图斑地址">{{ address }}</a-descriptions-item> -->
<a-descriptions-item label="线索描述">{{ case_description }}</a-descriptions-item>
<!-- <a-descriptions-item label="线索地址">{{ address }}</a-descriptions-item> -->
<a-descriptions-item label="备注">{{ remark }}</a-descriptions-item>
<a-descriptions-item label="经度">{{ lng }}</a-descriptions-item>
<a-descriptions-item label="纬度">{{ lat }}</a-descriptions-item>
<a-descriptions-item label="下发时间">{{ createtime }}</a-descriptions-item>
<a-descriptions-item label="图斑照片">
<a-descriptions-item label="线索照片">
<div class="image-div">
<template v-for="(imageItem, imageIndex) in casepicList" :key="imageIndex">
<a-image
@ -242,7 +242,7 @@
</div>
<div class="right-container">
<a-divider orientation="left">图斑分割结果 </a-divider>
<a-divider orientation="left">线索分割结果 </a-divider>
<div class="data-list">
<div
v-for="(item, index) in splitPolygonForm"
@ -385,7 +385,7 @@
>
<a-row>
<a-col :span="12">
<a-form-item label="图斑面积" name="area">
<a-form-item label="线索面积" name="area">
<a-input
v-model:value="splitPolygonAreaForm.area"
@keydown.stop
@ -704,11 +704,11 @@
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
geomsList.value = null;
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
// const hanlderPreViewFile = (url) => {
@ -751,7 +751,7 @@
fid: null,
unitname: '',
createdate: createtime,
caseno: case_no + ' 分割图斑',
caseno: case_no + ' 分割线索',
countyname: countyname,
streetname: streetname,
isbuildname: '',
@ -797,14 +797,14 @@
splitPolygonDetailShow.value = true;
};
//
// 线
const currentPolygon = ref<Number>();
const changeCurrentPolygon = (index, item) => {
let geoms = {
type: 'FeatureCollection',
features: [item.geom],
};
//
// 线
MapboxComponent.value.handlerDetails(geoms, 'splitPolygonSource', 'splitPolygonLayer', {
lineStyle: { 'line-color': '#408eff', 'line-width': 3 },
fillStyle: { 'fill-color': '#408eff', 'fill-opacity': 0.1 },
@ -812,7 +812,7 @@
currentPolygon.value = index;
};
//
// 线
const onFeatureClick = (feature) => {
splitPolygonForm.value?.forEach((item, index) => {
console.log('item---', item);
@ -844,7 +844,7 @@
//
const saveSplitResult = () => {
if (splitPolygonForm.value?.length == 0) {
createMessage.error('请先使用风格工具分割图斑');
createMessage.error('请先使用风格工具分割线索');
return null;
}
let checkResult = handlerBeforeSubmitCheckArea();
@ -913,7 +913,7 @@
}
for (let key in areaAbnormal.value) {
if (areaAbnormal.value[key]) {
createMessage.error('分割后总面积与原图斑总面积不一致!');
createMessage.error('分割后总面积与原线索总面积不一致!');
return false;
}
}

@ -12,7 +12,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:12px;">
<div class="screen-item-label" style="margin-right: 11px;">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px;">线索来源</div>
<a-select
allowClear
style="width:120px;"
@ -55,7 +55,7 @@
<div class="screen-item" style="margin-right: 14px;">
<a-input
allowClear
placeholder="请输入图斑编号"
placeholder="请输入线索编号"
class="item-input"
v-model:value="props.infoScreenData.mapNo"
@change="(value) => emits('mapListScreenChange',value.target.value,'mapNo')"
@ -110,7 +110,7 @@
</div>
</div>
<div style="display:flex;align-items: center;margin-top: 4px;">
<div>图斑面积</div>
<div>线索面积</div>
<div style="display:flex;">
<a-input style="width:30%;"
v-model:value="props.infoScreenData.mapAreaFirst"
@ -482,7 +482,7 @@ const getParams = (data) => {
// landType: props.infoScreenData.landType, //0 1
isOutTime: props.infoScreenData.isOverdue, //
year: props.infoScreenData.year, //
tubanlaiyuan: props.infoScreenData.patchSource, //
tubanlaiyuan: props.infoScreenData.patchSource, //线
picihao: props.infoScreenData.batch, //
streetid: props.infoScreenData.streetId,
caseNo: props.infoScreenData.mapNo, //
@ -490,8 +490,8 @@ const getParams = (data) => {
endTime: props.infoScreenData.endTime, //
nowStatus: props.infoScreenData.mapStatus, //
isBuildName: props.infoScreenData.markType, //
tubanArea1: props.infoScreenData.mapAreaFirst, // 1
tubanArea2: props.infoScreenData.mapAreaLast, // 2
tubanArea1: props.infoScreenData.mapAreaFirst, // 线1
tubanArea2: props.infoScreenData.mapAreaLast, // 线2
gengdiArea1: props.infoScreenData.arableAreaFirst, //1
gengdiArea2: props.infoScreenData.arableAreaLast, //2
page: props.pageNo,

@ -267,7 +267,7 @@
// landType: infoScreenData.value.landType, //0 1
isOutTime: infoScreenData.value.isOverdue, //
year: infoScreenData.value.year, //
tubanlaiyuan: infoScreenData.value.patchSource, //
tubanlaiyuan: infoScreenData.value.patchSource, //线
picihao: infoScreenData.value.batch, //
// countyid: infoScreenData.value.countyId,
streetid: infoScreenData.value.streetId,
@ -280,8 +280,8 @@
// measure_name: infoScreenData.value.measure,
nowStatus: infoScreenData.value.mapStatus, //
isBuildName: infoScreenData.value.markType, //
tubanArea1: infoScreenData.value.mapAreaFirst, // 1
tubanArea2: infoScreenData.value.mapAreaLast, // 2
tubanArea1: infoScreenData.value.mapAreaFirst, // 线1
tubanArea2: infoScreenData.value.mapAreaLast, // 线2
gengdiArea1: infoScreenData.value.arableAreaFirst, //1
gengdiArea2: infoScreenData.value.arableAreaLast, //2
// areaid: cityType.value.areaid,
@ -392,11 +392,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
const infoDataListSort = (type, order) => {

@ -58,11 +58,11 @@ function changeTask(val) {
}
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
</script>

@ -58,11 +58,11 @@ function changeTask(val) {
}
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
</script>

@ -1,7 +1,7 @@
<template>
<div class="search-container">
<div class="search-input">
<a-input placeholder="请输入图斑号或位置" v-model:value="keyword" allow-clear @blur="onInputBlue"></a-input>
<a-input placeholder="请输入线索号或位置" v-model:value="keyword" allow-clear @blur="onInputBlue"></a-input>
</div>
<div class="search-button" @click="searchArea">
<img src="/statistical/search-btn.png" alt="">

@ -86,7 +86,7 @@ const initMap = () => {
});
};
//
// 线
const mainPolygonVisibility = ref<String>("visible");
const isRootLevel = ref<Boolean>(false)
@ -222,7 +222,7 @@ function handlerLoadPolygon(code = "", filter = "", type = "", level = "") {
})
}
//
// 线
const currentCode = ref("")
async function handlerDealPoint(code = "") {
let sql_filter;
@ -289,7 +289,7 @@ function handlerLoadSearchResult(item) {
],
};
}
//
// 线
function handlerLoadHeatLayer(heatdata) {
if (map.getSource("heatSource")) {
map.getSource("heatSource").setData(heatdata);
@ -430,8 +430,8 @@ const handlerDealCountry = (countyName: String = "临沂市"): void => {
* 乡镇边界streetLayer
* 乡镇名称图层streetLabelLayer
* 遮罩图层mb-tag
* 图斑线historyLayerLine
* 图斑historyLayerFill
* 线索线historyLayerLine
* 线索historyLayerFill
*
* */
//
@ -675,9 +675,9 @@ const handlerLoadVillageLayer = () => {
/**
* 热力图heatLayer
*
* 图斑线historyLayerLine
* 线索线historyLayerLine
*
* 图斑historyLayerFill
* 线索historyLayerFill
*
* 行政区划countyLayer
*

@ -16,7 +16,7 @@
/>
</div>
<div class="screen-item" style="margin-left: 20px; margin-right: 17px">
<div class="screen-item-label" style="margin-right: 11px">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px">线索来源</div>
<a-select
allowClear
style="width: 142px"

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:15px;">
<div class="screen-item-label">图斑来源</div>
<div class="screen-item-label">线索来源</div>
<a-select
allowClear
style="width:130px;"
@ -38,8 +38,8 @@
/>
</div>
<div class="screen-item" style="margin-right:10px;">
<!-- <div class="screen-item-label">图斑</div> -->
<a-input style="width:270px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入图斑编号" @press-enter="query"/>
<!-- <div class="screen-item-label">线索</div> -->
<a-input style="width:270px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入线索编号" @press-enter="query"/>
</div>
<div class="screen-item" style="display: flex; justify-content: end;margin-bottom: 0px;">
<a-button type="primary" class="item-button" :icon="h(SearchOutlined)" @click="query"></a-button>

@ -37,7 +37,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'streetname',
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'caseno',
width: 200,
},
@ -46,7 +46,7 @@ export const columns: BasicColumn[] = [
dataIndex: 'identificationtime',
},
{
title: '图斑面积',
title: '线索面积',
dataIndex: 'area',
},
{
@ -123,7 +123,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'tubanlaiyuan',
label: '图斑来源',
label: '线索来源',
component: 'Select',
colProps: { span: 4 },
componentProps: {
@ -191,7 +191,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 4 },
},

@ -143,11 +143,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}

@ -5,22 +5,22 @@ import { getChildrenTree } from '@/api/demo/system';
import { getLoad } from '@/api/sys/sysDataItemDetail';
export const columns: BasicColumn[] = [
{
title: '原始图斑编号',
title: '原始线索编号',
dataIndex: 'original_case_no',
width: 200,
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'case_no',
width: 200,
},
{
title: '图斑描述',
title: '线索描述',
dataIndex: 'case_description',
width: 300,
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
@ -57,7 +57,7 @@ export const columns: BasicColumn[] = [
export const searchFormSchema: FormSchema[] = [
{
field: 'originalCaseNo',
label: '原始图斑编号',
label: '原始线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
@ -66,16 +66,16 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
placeholder: '请输入图斑编号',
placeholder: '请输入线索编号',
},
},
{
field: 'typename',
label:'图斑类型',
label:'线索类型',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({formModel}) => {

@ -3,24 +3,24 @@
<div class="modal-content">
<div class="row">
<div class="item">
<div class="label">图斑编号</div>
<div class="label">线索编号</div>
<div class="item-value" style="flex:2">
<a-input v-model:value="props.infoData.case_no" :disabled="!props.control"/>
</div>
</div>
<div class="item">
<div class="label">图斑类型</div>
<div class="label">线索类型</div>
<div class="item-value">
<a-select
style="width: 100%"
v-model:value="props.infoData.typename"
:options="typenameOptions"
placeholder="请选择图斑类型"
placeholder="请选择线索类型"
:disabled="!props.control"/>
</div>
</div>
<div class="item" style="flex:2">
<div class="label">图斑详情</div>
<div class="label">线索详情</div>
<div class="item-value" style="flex:3">
<a-input v-model:value="props.infoData.case_description" :disabled="!props.control"/>
</div>
@ -110,7 +110,7 @@
</div>
</div>
<div class="item">
<div class="label" style="font-size: 13px;">疑似违法涉矿图斑面积</div>
<div class="label" style="font-size: 13px;">疑似违法涉矿线索面积</div>
<div class="item-value">
<a-input v-model:value="props.infoData.weifaarea_base" :disabled="!props.control"/>
</div>
@ -457,11 +457,11 @@ async function changeTask() {
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
geomsList.value = null;
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
const onMapboxLoad = () => {

@ -10,22 +10,22 @@ export const subjectKey = SubjectKeyList[code];
export const columns: BasicColumn[] = [
{
title: '原始图斑编号',
title: '原始线索编号',
dataIndex: 'original_case_no',
width: 200,
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'case_no',
width: 200,
},
{
title: '图斑描述',
title: '线索描述',
dataIndex: 'case_description',
width: 300,
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
@ -62,7 +62,7 @@ export const columns: BasicColumn[] = [
export const searchFormSchema: FormSchema[] = [
{
field: 'originalCaseNo',
label: '原始图斑编号',
label: '原始线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
@ -71,16 +71,16 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
placeholder: '请输入图斑编号',
placeholder: '请输入线索编号',
},
},
{
field: 'typename',
label:'图斑类型',
label:'线索类型',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({formModel}) => {

@ -5,22 +5,22 @@ import { getChildrenTree } from '@/api/demo/system';
import { getLoad } from '@/api/sys/sysDataItemDetail';
export const columns: BasicColumn[] = [
{
title: '原始图斑编号',
title: '原始线索编号',
dataIndex: 'original_case_no',
width: 200,
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'case_no',
width: 200,
},
{
title: '图斑描述',
title: '线索描述',
dataIndex: 'case_description',
width: 300,
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
@ -57,7 +57,7 @@ export const columns: BasicColumn[] = [
export const searchFormSchema: FormSchema[] = [
{
field: 'originalCaseNo',
label: '原始图斑编号',
label: '原始线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
@ -66,16 +66,16 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 5 },
componentProps: {
placeholder: '请输入图斑编号',
placeholder: '请输入线索编号',
},
},
{
field: 'typename',
label:'图斑类型',
label:'线索类型',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({formModel}) => {

@ -68,10 +68,10 @@
<a-modal v-model:open="open" title="导出文件类型" :footer="null">
<div>
<a-button class="exportbutton" @click="handleExport('excel')">
图斑汇总统计报表execl
线索汇总统计报表execl
</a-button>
<a-button class="exportbutton" @click="handleExport('shp')">
图斑汇总矢量数据shp
线索汇总矢量数据shp
</a-button>
</div>
</a-modal>
@ -159,7 +159,7 @@
});
const [registerTable, { setTableData, reload, clearSelectedRowKeys, setPagination, setLoading }] =
useTable({
title: '图斑汇总',
title: '线索汇总',
dataSource: tableData.value,
columns,
rowKey: 'id',
@ -189,10 +189,10 @@
let fileName = '';
if (exportType == 'excel') {
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSatellite/ExportCaseInfoWpxfTuBanList';
fileName = '图斑汇总统计报表' + new Date().getTime() + '.xls';
fileName = '线索汇总统计报表' + new Date().getTime() + '.xls';
} else if (exportType == 'shp') {
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSatellite/ExportCaseInfoWpxfShapefile';
fileName = '图斑汇总矢量数据' + new Date().getTime() + '.zip';
fileName = '线索汇总矢量数据' + new Date().getTime() + '.zip';
}
axios({
method: 'post',

@ -11,7 +11,7 @@ import { getLoad } from '@/api/sys/sysDataItemDetail';
export const columns: BasicColumn[] = [
{
title: '图斑来源',
title: '线索来源',
dataIndex: 'tubanlaiyuan',
},
{
@ -28,16 +28,16 @@ export const columns: BasicColumn[] = [
dataIndex: 'communityname',
},
{
title: '图斑编号',
title: '线索编号',
dataIndex: 'caseno',
width: 200,
},
{
title: '图斑类型',
title: '线索类型',
dataIndex: 'typename',
},
{
title: '图斑面积',
title: '线索面积',
dataIndex: 'area',
width: 110,
},
@ -104,7 +104,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'tubanlaiyuan',
label: '图斑来源',
label: '线索来源',
component: 'ApiSelect',
colProps: { span: 4 },
componentProps: ({ formModel }) => {
@ -131,13 +131,13 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'typename',
label: '图斑类型',
label: '线索类型',
component: 'Select',
colProps: { span: 4 },
componentProps: {
options: [
{ label: '部级矿产卫片图斑', value: '部级矿产卫片图斑' },
{ label: '省级矿产卫片图斑', value: '省级矿产卫片图斑' },
{ label: '部级矿产卫片线索', value: '部级矿产卫片线索' },
{ label: '省级矿产卫片线索', value: '省级矿产卫片线索' },
],
},
},
@ -228,10 +228,10 @@ export const searchFormSchema: FormSchema[] = [
],
},
},
// 增加图斑面积、耕地面积、永农面积的筛选项;
// 增加线索面积、耕地面积、永农面积的筛选项;
{
field: 'tubanmianji',
label: '图斑面积',
label: '线索面积',
colProps: { span: 4 },
slot: 'tubanmianji',
},
@ -256,7 +256,7 @@ export const searchFormSchema: FormSchema[] = [
},
{
field: 'caseNo',
label: '图斑编号',
label: '线索编号',
component: 'Input',
colProps: { span: 6 },
},

@ -2,7 +2,7 @@
<div>
<a-modal
v-model:open="props.modalShow"
title="图斑调整"
title="线索调整"
@ok="handleSubmit"
@cancel="handlerCloseModal"
>
@ -13,10 +13,10 @@
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-form-item label="图斑编号" name="case_no">
<a-form-item label="线索编号" name="case_no">
<a-input v-model:value="formState.case_no" disabled />
</a-form-item>
<a-form-item label="图斑描述" name="case_description">
<a-form-item label="线索描述" name="case_description">
<a-input v-model:value="formState.case_description" disabled />
</a-form-item>
<a-form-item label="县区" name="countyid">
@ -61,10 +61,10 @@
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-form-item label="图斑编号" name="case_no">
<a-form-item label="线索编号" name="case_no">
<a-input v-model:value="formState.case_no" disabled />
</a-form-item>
<a-form-item label="图斑描述" name="case_description">
<a-form-item label="线索描述" name="case_description">
<a-input v-model:value="formState.case_description" disabled />
</a-form-item>
<a-form-item label="县区" name="countyid">

@ -12,7 +12,7 @@
/>
</div>
<div class="screen-item" style="margin-right: 17px; margin-bottom: 12px">
<div class="screen-item-label" style="margin-right: 11px">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px">线索来源</div>
<a-select
allowClear
style="width: 144px"
@ -36,7 +36,7 @@
<div class="screen-item" style="margin-bottom: 12px;width:240px">
<a-input
allowClear
placeholder="请输入图斑编号"
placeholder="请输入线索编号"
class="item-input"
v-model:value="infoScreenData.caseNo"
@change="(value) => mapListScreenChange(value.target.value, 'caseNo')"
@ -53,7 +53,7 @@
<a-dropdown>
<template #overlay>
<a-menu @click="handleOperateClick">
<a-menu-item key="1">图斑分割</a-menu-item>
<a-menu-item key="1">线索分割</a-menu-item>
<a-menu-item key="2">分割还原</a-menu-item>
<!-- <a-menu-item key="3">分宗示意图</a-menu-item> -->
</a-menu>
@ -109,7 +109,7 @@
</div>
</div>
<div style="display:flex;align-items: center;">
<div>图斑面积</div>
<div>线索面积</div>
<div style="display:flex;">
<a-input style="width:30%;"
v-model:value="infoScreenData.tubanArea1"
@ -199,7 +199,7 @@
@click="showInfo(item)"
/> -->
<!-- <Icon
title="图斑分宗"
title="线索分宗"
style="font-size: 30px; cursor: pointer"
icon="ant-design:split-cells-outlined"
@click="handlerSplitPolygon(item)"
@ -279,7 +279,7 @@
style="width:100vw;top:0px;left:0px;margin:0px;padding:0px;"
wrap-class-name="full-modal"
v-model:open="showSplitPolygon"
title="图斑分综"
title="线索分综"
:footer="null"
:maskClosable="true"
:destroyOnClose="true"
@ -491,7 +491,7 @@ const getCollectList = () => {
};
const handlerRevertPolygon = (item)=>{
Modal.confirm({
title:'是否确认还原分割图斑?',
title:'是否确认还原分割线索?',
onCancel() {
},
async onOk() {

@ -225,11 +225,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
const infoDataListSort = (type, order) => {

@ -58,11 +58,11 @@ function changeTask(val) {
}
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
</script>

@ -58,11 +58,11 @@ function changeTask(val) {
}
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
</script>

@ -58,11 +58,11 @@ function changeTask(val) {
}
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
</script>

@ -58,11 +58,11 @@ function changeTask(val) {
}
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
});
} else {
message.error('当前数据没有图斑');
message.error('当前数据没有线索');
}
}
</script>

@ -16,7 +16,7 @@
/>
</div>
<div class="screen-item" style="margin-left: 20px; margin-right: 17px;margin-bottom:12px;">
<div class="screen-item-label" style="margin-right: 11px">图斑来源</div>
<div class="screen-item-label" style="margin-right: 11px">线索来源</div>
<a-select
allowClear
style="width: 142px"
@ -46,7 +46,7 @@
<div class="screen-item" style="margin-right: 14px;">
<a-input
allowClear
placeholder="请输入图斑编号(模糊查询获取近十条数据)"
placeholder="请输入线索编号(模糊查询获取近十条数据)"
class="item-input"
v-model:value="mapNo"
style="width:443px;"

@ -11,7 +11,7 @@
/>
</div>
<div class="screen-item" style="margin-right:17px;margin-bottom:15px;">
<div class="screen-item-label">图斑来源</div>
<div class="screen-item-label">线索来源</div>
<a-select
allowClear
style="width:130px;"
@ -38,8 +38,8 @@
/>
</div>
<div class="screen-item" style="margin-right:10px;">
<!-- <div class="screen-item-label">图斑</div> -->
<a-input style="width:270px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入图斑编号" @press-enter="query"/>
<!-- <div class="screen-item-label">线索</div> -->
<a-input style="width:270px;" allowClear v-model:value="params.geomid" class="item-input" placeholder="请输入线索编号" @press-enter="query"/>
</div>
<div class="screen-item" style="display: flex; justify-content: end;margin-bottom: 0px;">
<a-button type="primary" class="item-button" :icon="h(SearchOutlined)" @click="query"></a-button>

@ -150,11 +150,11 @@
// MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
MapboxComponent.value.handlerDraw('Details', geoms, false);
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
});
} else {
createMessage.error('当前数据没有图斑');
createMessage.error('当前数据没有线索');
}
}
}

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

Loading…
Cancel
Save