Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua
commit
ccce77c636
|
|
@ -0,0 +1,171 @@
|
|||
// WFProcess 流程模版基本信息
|
||||
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',
|
||||
// 获取部门父级
|
||||
LoadParents = '/api/Orgs/LoadParents',
|
||||
// 审核列表收藏
|
||||
AddtaskFavorite = '/api/DroneCaseInfoZdwt1/AddtaskFavorite',
|
||||
// 审核列表删除收藏
|
||||
DeleteTaskCase = '/api/DroneCaseInfoZdwt1/DeleteTaskCase',
|
||||
// 获取当前账号可以看见的乡镇
|
||||
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",
|
||||
// // 大屏整改剩余统计
|
||||
// RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
|
||||
// 获取案件图片坐标、方位角信息
|
||||
LoadCaseImgList = "/api/DroneCaseInfoZdwt1/LoadCaseImgList",
|
||||
// 图斑列表
|
||||
LoadCaseInfoTuBanList = '/api/DroneCaseInfoZdwt1/LoadCaseInfoTuBanList',
|
||||
CaseOffence = '/api/DroneCaseInfoZdwt1/CaseOffence',
|
||||
LoadCaseInfoListOffence = '/api/DroneCaseInfoZdwt1/LoadCaseInfoListOffence',
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadTaskCount(params?) {
|
||||
return defHttp.get({ url: Api.LoadTaskCount, params });
|
||||
}
|
||||
export function getLoadStreet() {
|
||||
return defHttp.get({ url: Api.loadStreet });
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadDroneCaseInfoCount(params) {
|
||||
return defHttp.get({ url: Api.LoadDroneCaseInfoCount, params });
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadDroneCaseInfoDetail(params) {
|
||||
return defHttp.get({ url: Api.LoadDroneCaseInfoDetail, params });
|
||||
}
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadTaskDetailList(params) {
|
||||
return defHttp.get({ url: Api.LoadTaskDetailList, params });
|
||||
}
|
||||
|
||||
export function addCaseFavorite(params) {
|
||||
return defHttp.post({ url: Api.AddCaseFavorite, params });
|
||||
}
|
||||
export function addTaskFavorite(params?: { taskId: string; favoriteUserId: string }) {
|
||||
return defHttp.post({ url: Api.AddtaskFavorite, params });
|
||||
}
|
||||
export function deleteFavoriteCase(params: string) {
|
||||
return defHttp.post({ url: Api.DeleteFavoriteCase, data: params });
|
||||
}
|
||||
export function deleteTaskCase(params: string) {
|
||||
return defHttp.post({ url: Api.DeleteTaskCase, data: params });
|
||||
}
|
||||
|
||||
// export function getFavoriteCaseList(params?: { uid: string }) {
|
||||
// return defHttp.get({ url: Api.FavoriteCaseList, params });
|
||||
// }
|
||||
export function getCaseInfoById(params?: { id: string }) {
|
||||
return defHttp.get({ url: Api.GetCaseInfoById, params });
|
||||
}
|
||||
export const updateDroneCaseInfo = (params) =>
|
||||
defHttp.post({ url: Api.UpdateDroneCaseInfo, params });
|
||||
|
||||
// export const updateSupervise = (params: { id: string; supervise: number }) =>
|
||||
// defHttp.post({ url: `${Api.Supervise}?id=${params.id}&supervise=${params.supervise}`, params });
|
||||
|
||||
export const getLoadParents = (params: { childId: Number }) =>
|
||||
defHttp.get({ url: `${Api.LoadParents}?childId=${params.childId}` });
|
||||
|
||||
export function getLoadTaskIllegalDetailList(params) {
|
||||
return defHttp.get({ url: Api.LoadTaskIllegalDetailList, params });
|
||||
}
|
||||
|
||||
export function splitCase(params){
|
||||
return defHttp.post({ url: Api.SplitCase, data: params });
|
||||
}
|
||||
|
||||
export function recoverCase(params){
|
||||
return defHttp.post({ url: Api.RecoverCase, data: params });
|
||||
}
|
||||
|
||||
export function getPolygonCenter(params){
|
||||
return defHttp.get({ url: Api.GetPolygonCenter, params });
|
||||
}
|
||||
|
||||
// export function getUserOrgs(params){
|
||||
// return defHttp.get({ url: Api.GetUserOrgs, params });
|
||||
// }
|
||||
|
||||
|
||||
// export function getIssuedStatitical(params) {
|
||||
// return defHttp.get({
|
||||
// url: Api.IssuedStatitical,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function getVerifyStatitical(params) {
|
||||
// return defHttp.get({
|
||||
// url: Api.VerifyStatitical,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function getRectificationStatitical(params) {
|
||||
// return defHttp.get({
|
||||
// url: Api.RectificationStatitical,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function getLoadCaseImgList(params){
|
||||
return defHttp.get({
|
||||
url: Api.LoadCaseImgList,
|
||||
params,
|
||||
});
|
||||
}
|
||||
export function loadCaseInfoTuBanList(params) {
|
||||
return defHttp.get({
|
||||
url: Api.LoadCaseInfoTuBanList,
|
||||
params,
|
||||
});
|
||||
}
|
||||
export const getCaseOffence = (params) =>
|
||||
defHttp.get({ url: Api.CaseOffence, params });
|
||||
export const getLoadCaseInfoListOffence = (params) =>
|
||||
defHttp.get({ url: Api.LoadCaseInfoListOffence, params });
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
// WFProcess 流程模版基本信息
|
||||
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',
|
||||
// 获取部门父级
|
||||
LoadParents = '/api/Orgs/LoadParents',
|
||||
// 审核列表收藏
|
||||
AddtaskFavorite = '/api/DroneCaseInfoZdwt2/AddtaskFavorite',
|
||||
// 审核列表删除收藏
|
||||
DeleteTaskCase = '/api/DroneCaseInfoZdwt2/DeleteTaskCase',
|
||||
// 获取当前账号可以看见的乡镇
|
||||
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",
|
||||
// // 大屏整改剩余统计
|
||||
// RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
|
||||
// 获取案件图片坐标、方位角信息
|
||||
LoadCaseImgList = "/api/DroneCaseInfoZdwt2/LoadCaseImgList",
|
||||
// 图斑列表
|
||||
LoadCaseInfoTuBanList = '/api/DroneCaseInfoZdwt2/LoadCaseInfoTuBanList',
|
||||
CaseOffence = '/api/DroneCaseInfoZdwt2/CaseOffence',
|
||||
LoadCaseInfoListOffence = '/api/DroneCaseInfoZdwt2/LoadCaseInfoListOffence',
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadTaskCount(params?) {
|
||||
return defHttp.get({ url: Api.LoadTaskCount, params });
|
||||
}
|
||||
export function getLoadStreet() {
|
||||
return defHttp.get({ url: Api.loadStreet });
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadDroneCaseInfoCount(params) {
|
||||
return defHttp.get({ url: Api.LoadDroneCaseInfoCount, params });
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadDroneCaseInfoDetail(params) {
|
||||
return defHttp.get({ url: Api.LoadDroneCaseInfoDetail, params });
|
||||
}
|
||||
/**
|
||||
* @description: getCaseFlowLog
|
||||
*/
|
||||
export function getLoadTaskDetailList(params) {
|
||||
return defHttp.get({ url: Api.LoadTaskDetailList, params });
|
||||
}
|
||||
|
||||
export function addCaseFavorite(params) {
|
||||
return defHttp.post({ url: Api.AddCaseFavorite, params });
|
||||
}
|
||||
export function addTaskFavorite(params?: { taskId: string; favoriteUserId: string }) {
|
||||
return defHttp.post({ url: Api.AddtaskFavorite, params });
|
||||
}
|
||||
export function deleteFavoriteCase(params: string) {
|
||||
return defHttp.post({ url: Api.DeleteFavoriteCase, data: params });
|
||||
}
|
||||
export function deleteTaskCase(params: string) {
|
||||
return defHttp.post({ url: Api.DeleteTaskCase, data: params });
|
||||
}
|
||||
|
||||
// export function getFavoriteCaseList(params?: { uid: string }) {
|
||||
// return defHttp.get({ url: Api.FavoriteCaseList, params });
|
||||
// }
|
||||
export function getCaseInfoById(params?: { id: string }) {
|
||||
return defHttp.get({ url: Api.GetCaseInfoById, params });
|
||||
}
|
||||
export const updateDroneCaseInfo = (params) =>
|
||||
defHttp.post({ url: Api.UpdateDroneCaseInfo, params });
|
||||
|
||||
// export const updateSupervise = (params: { id: string; supervise: number }) =>
|
||||
// defHttp.post({ url: `${Api.Supervise}?id=${params.id}&supervise=${params.supervise}`, params });
|
||||
|
||||
export const getLoadParents = (params: { childId: Number }) =>
|
||||
defHttp.get({ url: `${Api.LoadParents}?childId=${params.childId}` });
|
||||
|
||||
export function getLoadTaskIllegalDetailList(params) {
|
||||
return defHttp.get({ url: Api.LoadTaskIllegalDetailList, params });
|
||||
}
|
||||
|
||||
export function splitCase(params){
|
||||
return defHttp.post({ url: Api.SplitCase, data: params });
|
||||
}
|
||||
|
||||
export function recoverCase(params){
|
||||
return defHttp.post({ url: Api.RecoverCase, data: params });
|
||||
}
|
||||
|
||||
export function getPolygonCenter(params){
|
||||
return defHttp.get({ url: Api.GetPolygonCenter, params });
|
||||
}
|
||||
|
||||
// export function getUserOrgs(params){
|
||||
// return defHttp.get({ url: Api.GetUserOrgs, params });
|
||||
// }
|
||||
|
||||
|
||||
// export function getIssuedStatitical(params) {
|
||||
// return defHttp.get({
|
||||
// url: Api.IssuedStatitical,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function getVerifyStatitical(params) {
|
||||
// return defHttp.get({
|
||||
// url: Api.VerifyStatitical,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function getRectificationStatitical(params) {
|
||||
// return defHttp.get({
|
||||
// url: Api.RectificationStatitical,
|
||||
// params,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function getLoadCaseImgList(params){
|
||||
return defHttp.get({
|
||||
url: Api.LoadCaseImgList,
|
||||
params,
|
||||
});
|
||||
}
|
||||
export function loadCaseInfoTuBanList(params) {
|
||||
return defHttp.get({
|
||||
url: Api.LoadCaseInfoTuBanList,
|
||||
params,
|
||||
});
|
||||
}
|
||||
export const getCaseOffence = (params) =>
|
||||
defHttp.get({ url: Api.CaseOffence, params });
|
||||
export const getLoadCaseInfoListOffence = (params) =>
|
||||
defHttp.get({ url: Api.LoadCaseInfoListOffence, params });
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
<div class="show-map-div">
|
||||
<div class="select-menu">
|
||||
<div class="add-on-map" v-if="selectType !== 2">
|
||||
<a-checkbox v-model:checked="addOnMap" @change="(e) => addOnMapChange(e.target.checked)">叠加到地图</a-checkbox>
|
||||
<a-checkbox v-model:checked="addOnMap" @change="(e) => addOnMapChange(e.target.checked)">
|
||||
叠加到地图
|
||||
</a-checkbox>
|
||||
</div>
|
||||
<a-radio-group v-model:value="selectType" button-style="solid" size="small">
|
||||
<a-radio-button :value="0">专题图</a-radio-button>
|
||||
|
|
@ -11,210 +13,282 @@
|
|||
</a-radio-group>
|
||||
</div>
|
||||
<template v-if="selectType === 0 && !addOnMap">
|
||||
<a-image
|
||||
:width="470"
|
||||
:height="470"
|
||||
:src="showData?.url"
|
||||
/>
|
||||
<a-image :width="470" :height="470" :src="showData?.url" />
|
||||
</template>
|
||||
<template v-if="selectType === 1 && !addOnMap">
|
||||
<a-image
|
||||
:width="470"
|
||||
:height="470"
|
||||
:src="showData.screenshotImage"
|
||||
/>
|
||||
<a-image :width="470" :height="470" :src="showData?.url" />
|
||||
</template>
|
||||
<template v-if="selectType === 2 || addOnMap">
|
||||
<ModalMap :width="'470px'" :height="'470px'" @getMap="getMap"/>
|
||||
<ModalMap :width="'470px'" :height="'470px'" @getMap="getMap" />
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<a-tabs v-model:activeKey="type">
|
||||
<a-tabs v-model:activeKey="activeKey">
|
||||
<a-tab-pane key="1" tab="土地分类">
|
||||
<ShowTableList
|
||||
:columns="landClassificationColumns"
|
||||
<ShowTableList
|
||||
:columns="landClassificationColumns"
|
||||
:data="landClassifyTable"
|
||||
:title="'土地利用现状查询结果'"/>
|
||||
:title="'土地利用现状查询结果'"
|
||||
/>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" tab="耕地占用">
|
||||
<ShowTableList
|
||||
:columns="landPlanningColumns"
|
||||
<ShowTableList
|
||||
:columns="landPlanningColumns"
|
||||
:data="plowLandOccupyTable"
|
||||
:title="'土地规划查询结果'"/>
|
||||
:title="'土地规划查询结果'"
|
||||
/>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, defineProps, computed, watch, onMounted } from "vue"
|
||||
import ShowTableList from '@/views/dashboard/test/components/ShowTableList/index.vue'
|
||||
import ModalMap from './ModalMap/index.vue'
|
||||
import { ref, defineProps, computed, watch, onMounted } from 'vue';
|
||||
import ShowTableList from '@/views/dashboard/test/components/ShowTableList/index.vue';
|
||||
import ModalMap from './ModalMap/index.vue';
|
||||
import mapboxgl from 'mapbox-gl';
|
||||
// 图片路径拼接
|
||||
import { getAppEnvConfig } from '@/utils/env';
|
||||
const { VITE_GLOB_API_URL } = getAppEnvConfig();
|
||||
const VITE_GLOB_API_URL_VAR = ref<String>(VITE_GLOB_API_URL + '/');
|
||||
|
||||
const props = defineProps(['data'])
|
||||
let map
|
||||
onMounted(() => {
|
||||
if(props.data){
|
||||
type.value = props.data[0].name
|
||||
const props = defineProps(['data']);
|
||||
let map;
|
||||
onMounted(() => {
|
||||
if (props.data) {
|
||||
activeKey.value = '1';
|
||||
props.data.forEach((d) => {
|
||||
d.url = isValidUrl(d.url) ? d.url : VITE_GLOB_API_URL_VAR.value + d.url;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 正则表达式验证URL
|
||||
function isValidUrl(url: string): boolean {
|
||||
const regex =
|
||||
/^(?:http|ftp)s?:\/\/(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[?[A-F0-9]*:[A-F0-9:]+\]?)(?::\d+)?(?:\/?|[\/?]\S+)$/i;
|
||||
return regex.test(url);
|
||||
}
|
||||
})
|
||||
const type = ref('1')
|
||||
const landClassifyTable = computed(() => {
|
||||
|
||||
let data
|
||||
props.data?.forEach(item => {
|
||||
if(item.name == '土地分类'){
|
||||
data = {...item}
|
||||
const activeKey = ref('1');
|
||||
watch(
|
||||
() => activeKey.value,
|
||||
() => {
|
||||
selectType.value = 2;
|
||||
addOnMap.value = false;
|
||||
},
|
||||
);
|
||||
|
||||
const landClassifyTable = computed(() => {
|
||||
let data;
|
||||
props.data?.forEach((item) => {
|
||||
console.log(props.data);
|
||||
if (item.name == '土地分类') {
|
||||
data = { ...item };
|
||||
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||
}
|
||||
});
|
||||
return data && data.list;
|
||||
});
|
||||
const plowLandOccupyTable = computed(() => {
|
||||
let data;
|
||||
props.data?.forEach((item) => {
|
||||
if (item.name == '耕地占用') {
|
||||
data = { ...item };
|
||||
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||
}
|
||||
});
|
||||
return data && data.list;
|
||||
});
|
||||
const showData = computed(() => {
|
||||
let data;
|
||||
switch (activeKey.value) {
|
||||
case '1':
|
||||
props.data?.forEach((item) => {
|
||||
if (item.name == '土地分类') {
|
||||
data = { ...item };
|
||||
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||
}
|
||||
});
|
||||
return data;
|
||||
case '2':
|
||||
props.data?.forEach((item) => {
|
||||
if (item.name == '耕地占用') {
|
||||
data = { ...item };
|
||||
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
})
|
||||
return data && data.list
|
||||
})
|
||||
const plowLandOccupyTable = computed(() => {
|
||||
let data
|
||||
props.data?.forEach(item => {
|
||||
if(item.name == '耕地分类'){
|
||||
data = {...item}
|
||||
}
|
||||
})
|
||||
return data && data.list
|
||||
})
|
||||
const showData = computed(() => {
|
||||
let data
|
||||
switch(type.value){
|
||||
case '1':
|
||||
props.data?.forEach(item => {
|
||||
if(item.name == '土地分类'){
|
||||
data = {...item}
|
||||
});
|
||||
|
||||
const addOnMap = ref(false);
|
||||
const selectType = ref(2);
|
||||
const landClassificationColumns = [
|
||||
{
|
||||
title: '地类名称',
|
||||
dataIndex: 'type',
|
||||
key: 'type',
|
||||
sorter: (a, b) => a.landName - b.landName,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
{
|
||||
title: '联合属性',
|
||||
dataIndex: 'stats',
|
||||
key: 'stats',
|
||||
sorter: (a, b) => a.stats.length - b.stats.length,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
{
|
||||
title: '面积(亩)',
|
||||
dataIndex: 'area',
|
||||
key: 'area',
|
||||
sorter: (a, b) => a.area - b.area,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
];
|
||||
const landPlanningColumns = [
|
||||
{
|
||||
title: '类型',
|
||||
dataIndex: 'type',
|
||||
key: 'type',
|
||||
sorter: (a, b) => a.type.length - b.type.length,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
{
|
||||
title: '面积(亩)',
|
||||
dataIndex: 'area',
|
||||
key: 'area',
|
||||
sorter: (a, b) => a.area - b.area,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
];
|
||||
const getMap = (value) => {
|
||||
map = value;
|
||||
};
|
||||
|
||||
// 定义预加载图片的方法
|
||||
const preloadImage = (url: string): Promise<string> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const img = new Image();
|
||||
img.onload = () => {
|
||||
resolve(url);
|
||||
};
|
||||
img.onerror = (error) => {
|
||||
reject(error);
|
||||
};
|
||||
img.src = url;
|
||||
});
|
||||
};
|
||||
|
||||
const addOnMapChange = (value) => {
|
||||
setTimeout(async () => {
|
||||
let url = '';
|
||||
let fourpoint = '';
|
||||
if (value) {
|
||||
let data = {};
|
||||
if (activeKey.value == '1') {
|
||||
props.data.forEach((item) => {
|
||||
if (item.name == '土地分类') {
|
||||
data = { ...item };
|
||||
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||
}
|
||||
});
|
||||
} else if (activeKey.value == '2') {
|
||||
props.data.forEach((item) => {
|
||||
if (item.name == '耕地占用') {
|
||||
data = { ...item };
|
||||
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
return data
|
||||
case '2':
|
||||
props.data?.forEach(item => {
|
||||
if(item.name == '耕地分类'){
|
||||
data = {...item}
|
||||
if (selectType.value == 0 || selectType.value == 1) {
|
||||
url = data.url;
|
||||
fourpoint = JSON.parse(`[${data.fourpoint}]`);
|
||||
}
|
||||
let image = new Image();
|
||||
image.crossOrigin = 'anonymous';
|
||||
image.src = url;
|
||||
image.onload = () => {
|
||||
console.log(205, image);
|
||||
// 创建Canvas元素
|
||||
const canvas = document.createElement('canvas');
|
||||
canvas.width = image.width;
|
||||
canvas.height = image.height;
|
||||
|
||||
// 获取Canvas绘图上下文
|
||||
const ctx = canvas.getContext('2d');
|
||||
// 在Canvas上绘制图片
|
||||
ctx.drawImage(image, 0, 0, image.width, image.height);
|
||||
// 将Canvas内容转换为图片的数据URL
|
||||
const dataURL = canvas.toDataURL('image/jpeg');
|
||||
console.log(216, dataURL);
|
||||
|
||||
// 移除旧的图层和源
|
||||
if (map.getSource('radar')) {
|
||||
map.removeSource('radar');
|
||||
map.removeLayer('radar-layer');
|
||||
}
|
||||
})
|
||||
return data
|
||||
}
|
||||
})
|
||||
const addOnMap = ref(false)
|
||||
const selectType = ref(0)
|
||||
const landClassificationColumns = [
|
||||
{
|
||||
title: '地类名称',
|
||||
dataIndex: 'type',
|
||||
key: 'type',
|
||||
sorter:(a,b) => a.landName - b.landName,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
{
|
||||
title: '联合属性',
|
||||
dataIndex: 'stats',
|
||||
key: 'stats',
|
||||
sorter:(a,b) => a.stats.length - b.stats.length,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
{
|
||||
title: '面积(亩)',
|
||||
dataIndex: 'area',
|
||||
key: 'area',
|
||||
sorter:(a,b) => a.area - b.area,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
]
|
||||
const landPlanningColumns = [
|
||||
{
|
||||
title: '类型',
|
||||
dataIndex: 'type',
|
||||
key: 'type',
|
||||
sorter:(a,b) => a.type.length - b.type.length,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
{
|
||||
title: '面积(亩)',
|
||||
dataIndex: 'area',
|
||||
key: 'area',
|
||||
sorter:(a,b) => a.area - b.area,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
},
|
||||
]
|
||||
const getMap = (value) => {
|
||||
map = value
|
||||
}
|
||||
const addOnMapChange = (value) => {
|
||||
setTimeout(() => {
|
||||
let url= ''
|
||||
let fourpoint = ''
|
||||
if(value){
|
||||
let data = {}
|
||||
if(type.value == '1'){
|
||||
props.data.forEach(item => {
|
||||
if(item.name == '土地分类'){
|
||||
data = {...item}
|
||||
|
||||
// 添加新的源和图层
|
||||
map.addSource('radar', {
|
||||
type: 'image',
|
||||
url: dataURL,
|
||||
coordinates: fourpoint,
|
||||
// coordinates: [
|
||||
// [118.79657110932101, 35.1014168593995],
|
||||
// [118.79971349626699, 35.1014168593995],
|
||||
// [118.79971349626699, 35.0976945740112],
|
||||
// [118.79371349626699, 35.0976945740112],
|
||||
// ],
|
||||
});
|
||||
|
||||
map.addLayer({
|
||||
id: 'radar-layer',
|
||||
type: 'raster',
|
||||
source: 'radar',
|
||||
paint: {
|
||||
'raster-fade-duration': 0,
|
||||
},
|
||||
});
|
||||
|
||||
let x = 0;
|
||||
let y = 0;
|
||||
let length = fourpoint.length;
|
||||
for (let i = 0; i < fourpoint.length; i++) {
|
||||
x = x + fourpoint[i][0];
|
||||
y = y + fourpoint[i][1];
|
||||
}
|
||||
})
|
||||
}else if(type.value == '2'){
|
||||
props.data.forEach(item => {
|
||||
if(item.name == '耕地分类'){
|
||||
data = {...item}
|
||||
}
|
||||
})
|
||||
x = x / length;
|
||||
y = y / length;
|
||||
map.flyTo({
|
||||
center: [fourpoint[0][0], fourpoint[0][1]],
|
||||
zoom: 14,
|
||||
});
|
||||
};
|
||||
}
|
||||
if(selectType.value == 0){
|
||||
url = data.url
|
||||
fourpoint = JSON.parse(`[${data.fourpoint}]`)
|
||||
}
|
||||
}
|
||||
|
||||
map.addSource('radar', {
|
||||
type: 'image',
|
||||
url:url,
|
||||
coordinates: fourpoint
|
||||
});
|
||||
map.addLayer({
|
||||
id: 'radar-layer',
|
||||
type: 'raster',
|
||||
source: 'radar',
|
||||
paint: {
|
||||
'raster-fade-duration': 0
|
||||
}
|
||||
});
|
||||
let x = 0
|
||||
let y = 0
|
||||
let length = fourpoint.length
|
||||
for(let i = 0; i < fourpoint.length; i++){
|
||||
x = x + fourpoint[i][0]
|
||||
y = y + fourpoint[i][1]
|
||||
}
|
||||
x = x / length
|
||||
y = y / length
|
||||
map.flyTo({
|
||||
center: [x,y],
|
||||
zoom: 14,
|
||||
});
|
||||
},500)
|
||||
}
|
||||
}, 1000);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.select-menu{
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
z-index: 100;
|
||||
.add-on-map{
|
||||
width: 110px;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
.select-menu {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
z-index: 100;
|
||||
.add-on-map {
|
||||
width: 110px;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
}
|
||||
}
|
||||
.show-map-div {
|
||||
width: 470px;
|
||||
height: 470px;
|
||||
position: relative;
|
||||
}
|
||||
}
|
||||
.show-map-div{
|
||||
width: 470px;
|
||||
height: 470px;
|
||||
position: relative;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -11,61 +11,65 @@
|
|||
</div>
|
||||
<div style="display: flex; width: 100%">
|
||||
<div :style="`display: block; width: ${compare ? '50%' : '100%'};`">
|
||||
<CloudQueryModal :info="info"/>
|
||||
<CloudQueryModal :info="info" />
|
||||
</div>
|
||||
<div style="display: block; width: 50%; margin-left: 20px" v-if="compare">
|
||||
<CloudQueryModal :info="info"/>
|
||||
<CloudQueryModal :info="info" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, defineEmits } from "vue"
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import CloudQueryModal from './CloudQueryModal/index.vue';
|
||||
import { useCloudQueryStore } from '@/store/modules/cloudquery';
|
||||
import { LoadCloudQueryById } from '@/api/demo/cloudQuery'
|
||||
import { ref, onMounted, defineEmits } from 'vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import CloudQueryModal from './CloudQueryModal/index.vue';
|
||||
import { useCloudQueryStore } from '@/store/modules/cloudquery';
|
||||
import { LoadCloudQueryById } from '@/api/demo/cloudQuery';
|
||||
|
||||
const useCloudQuery = useCloudQueryStore();
|
||||
const emits = defineEmits(['changeCompare'])
|
||||
const compare = ref(false);
|
||||
const info = ref()
|
||||
const changeCompare = () => {
|
||||
compare.value = !compare.value;
|
||||
console.log('compare.value', compare.value);
|
||||
emits('changeCompare', compare.value)
|
||||
};
|
||||
onMounted(() => {
|
||||
let id = useCloudQuery.getCloudQueryInfo.id
|
||||
LoadCloudQueryById({id}).then(res => {
|
||||
let data = JSON.parse(res.receiveContent)
|
||||
info.value = data
|
||||
})
|
||||
})
|
||||
const useCloudQuery = useCloudQueryStore();
|
||||
const emits = defineEmits(['changeCompare']);
|
||||
const compare = ref(false);
|
||||
const info = ref();
|
||||
const changeCompare = () => {
|
||||
compare.value = !compare.value;
|
||||
console.log('compare.value', compare.value);
|
||||
emits('changeCompare', compare.value);
|
||||
};
|
||||
onMounted(() => {
|
||||
let id = useCloudQuery.getCloudQueryInfo.id;
|
||||
// console.log(41, useCloudQuery.getCloudQueryInfo);
|
||||
LoadCloudQueryById({ id }).then((res) => {
|
||||
let data = JSON.parse(res.receiveContent);
|
||||
if (typeof data == 'string') {
|
||||
data = JSON.parse(data);
|
||||
}
|
||||
info.value = data;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.modal-content-div {
|
||||
padding: 53px 20px 10px 20px;
|
||||
width: 100%;
|
||||
.title-text {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
color: #2f83d9;
|
||||
text-decoration: underline;
|
||||
font-weight: 600;
|
||||
position: relative;
|
||||
.modal-content-div {
|
||||
padding: 53px 20px 10px 20px;
|
||||
width: 100%;
|
||||
.title-text {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
color: #2f83d9;
|
||||
text-decoration: underline;
|
||||
font-weight: 600;
|
||||
position: relative;
|
||||
}
|
||||
.split-button {
|
||||
font-size: 20px;
|
||||
display: inline-flex;
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 2px;
|
||||
color: #000000a3;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.split-button {
|
||||
font-size: 20px;
|
||||
display: inline-flex;
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 2px;
|
||||
color: #000000a3;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -321,7 +321,6 @@ import shp from 'shpjs'
|
|||
fillStyle: { 'fill-color': '#ff0000', 'fill-opacity': 0.1 },
|
||||
}
|
||||
)
|
||||
|
||||
},
|
||||
});
|
||||
});
|
||||
|
|
@ -775,14 +774,10 @@ import shp from 'shpjs'
|
|||
// 分割图斑
|
||||
const splitFeature = (line) => {
|
||||
|
||||
let splitLineString = {
|
||||
type: 'Feature',
|
||||
properties: {},
|
||||
geometry: {
|
||||
coordinates: line,
|
||||
type: 'LineString',
|
||||
},
|
||||
};
|
||||
let turfSplitLine = turf.lineString(line);
|
||||
|
||||
let splitLineString = turf.cleanCoords(turfSplitLine);
|
||||
|
||||
let splitPolygon = currentGeoJson.value;
|
||||
try {
|
||||
// let features = polygonCut(splitPolygon,splitLineString,0.1,"meters");
|
||||
|
|
@ -804,7 +799,6 @@ import shp from 'shpjs'
|
|||
|
||||
splitAfterFeatures.features = tempFeatures;
|
||||
|
||||
console.log("tempFeatures",tempFeatures)
|
||||
// 分割数据返回父组件中
|
||||
emit('handlerSplitPolygon', tempFeatures);
|
||||
|
||||
|
|
@ -812,7 +806,6 @@ import shp from 'shpjs'
|
|||
// handlerDetails(splitAfterFeatures);
|
||||
handlerUnDraw();
|
||||
} catch (e) {
|
||||
console.log("error error",e);
|
||||
createMessage.warning('分割线起点、终点需要在图斑外,多个图斑时需要点击选择需要分割的图斑!');
|
||||
handlerUnDraw();
|
||||
}
|
||||
|
|
@ -1263,20 +1256,23 @@ import shp from 'shpjs'
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
let singleFeature = {
|
||||
type: 'Feature',
|
||||
properties: {},
|
||||
geometry: {
|
||||
coordinates: coordinates,
|
||||
coordinates:[],
|
||||
type: 'Polygon',
|
||||
},
|
||||
};
|
||||
|
||||
if(coordinates){
|
||||
let turfPolygon = turf.polygon(coordinates);
|
||||
singleFeature = turf.cleanCoords(turfPolygon);
|
||||
}
|
||||
// 处理清除数据重复的点数据
|
||||
|
||||
// 需要将传入的geojson处理成单面才能在分割工具中使用
|
||||
currentGeoJson.value = singleFeature;
|
||||
|
||||
}
|
||||
|
||||
if (map.getSource(source)) {
|
||||
|
|
|
|||
|
|
@ -7,77 +7,63 @@ import { generateUUID } from '../src/tool';
|
|||
* return 返回切割的面数据
|
||||
*/
|
||||
export function splitPolygonByLine(line, outerPolygon) {
|
||||
console.log("绘制的分割线数据",line);
|
||||
console.log("************** 分割开始 start **************")
|
||||
console.log("第1步:传入的分割线数据",line);
|
||||
console.log("第2步:传入的分割面数据",outerPolygon)
|
||||
|
||||
// 处理被分割的面数据坐标小数点保留多少位
|
||||
let truncatedSplitter = turf.truncate(turf.lineString(outerPolygon.geometry.coordinates[0]), {
|
||||
precision: 7,
|
||||
});
|
||||
console.log("分割面转换为线数据",truncatedSplitter);
|
||||
|
||||
console.log("第3步:分割面转换为线数据",truncatedSplitter);
|
||||
//求交点
|
||||
let intersectCollection = turf.lineIntersect(line, truncatedSplitter);
|
||||
console.log("与分割面的交点",intersectCollection);
|
||||
console.log("第4步:与分割面的交点",intersectCollection);
|
||||
// printLngLat(intersectCollection.geometry.coordinates);
|
||||
|
||||
// 交点小于2个 返回null
|
||||
if (intersectCollection.features.length < 2) {
|
||||
return null;
|
||||
}
|
||||
|
||||
//将点合并成MultiPoint
|
||||
let intersectCombined = turf.combine(intersectCollection).features[0];
|
||||
|
||||
console.log("分割后所有点数据",intersectCombined)
|
||||
console.log("第5步:分割后所有点数据",intersectCombined)
|
||||
|
||||
|
||||
//分别获取切割线
|
||||
let outerPieceCollection = turf.lineSplit(line, intersectCombined);
|
||||
let splitterPieceCollection = turf.lineSplit(truncatedSplitter, intersectCombined);
|
||||
|
||||
console.log("切割线被分割后所有线段",outerPieceCollection);
|
||||
console.log("第6步:切割线被分割后所有线段",outerPieceCollection);
|
||||
|
||||
console.log("切割面被分割后所有线段",splitterPieceCollection);
|
||||
console.log("第7步:切割面被分割后所有线段",splitterPieceCollection);
|
||||
|
||||
//将所有的线段放到一起
|
||||
let pieceCollection = turf.featureCollection(
|
||||
outerPieceCollection.features.concat(splitterPieceCollection.features),
|
||||
);
|
||||
|
||||
|
||||
console.log("所有分割线段",pieceCollection);
|
||||
|
||||
console.log("第8步:所有分割线段",pieceCollection);
|
||||
//使用turf将闭合线组成多边形
|
||||
let polygonCollection = turf.polygonize(pieceCollection);
|
||||
|
||||
console.log("分割线合并面数据",polygonCollection)
|
||||
console.log("第9步:分割线合并面数据",polygonCollection)
|
||||
|
||||
//对多边形进行判断,切割外的多边形丢弃
|
||||
let innerPolygons = polygonCollection.features.filter((polygon) => {
|
||||
// 获取多边形质心 多边形不规则时有问题
|
||||
// let center = turf.centroid(polygon);
|
||||
// let newcenter = turf.centroid(polygon);
|
||||
let randomCenterPoint = getRandomPointInPolygon(polygon);
|
||||
|
||||
// 获取多边形表面一点
|
||||
let newcenter = turf.pointOnFeature(polygon);
|
||||
|
||||
// 判断点是否在被分割图斑内
|
||||
// 图斑中心点
|
||||
let centerPoint = turf.point(newcenter.geometry.coordinates);
|
||||
|
||||
// 图斑面
|
||||
let outPolygon = turf.polygon(outerPolygon.geometry.coordinates)
|
||||
// return turf.booleanPointInPolygon(centerPoint, outPolygon);
|
||||
|
||||
// let innerPoint = getRandomPointInPolygon(outPolygon);
|
||||
|
||||
// 获取多边形边界
|
||||
// let bbox = turf.bbox(outPolygon); // 获取多边形的边界框
|
||||
|
||||
// return turf.booleanPointInPolygon(randomPoint.features[0], outPolygon);
|
||||
|
||||
let centerPoint = turf.point(randomCenterPoint.geometry.coordinates);
|
||||
console.log('第10步:封闭图形中心点数据',randomCenterPoint,centerPoint)
|
||||
return turf.booleanWithin(centerPoint, outerPolygon);
|
||||
|
||||
});
|
||||
|
||||
console.log("第11步:返回最终处理后的数据",innerPolygons)
|
||||
// let innerPolygons = polygonCollection.features;
|
||||
|
||||
//处理镂空数据(多处镂空数据会导致计算错误,因为polygonize方法无法正常的返回数据)
|
||||
|
|
@ -97,31 +83,12 @@ export function splitPolygonByLine(line, outerPolygon) {
|
|||
});
|
||||
}
|
||||
|
||||
// 每个图斑配置UUID
|
||||
innerPolygons.forEach((item, index) => {
|
||||
innerPolygons[index].properties.id = generateUUID();
|
||||
// console.log("innerPolygons_length",innerPolygons[index].geometry.coordinates[0].length);
|
||||
// console.log("innerPolygons_array",innerPolygons[index].geometry.coordinates[0])
|
||||
// console.log("innerPolygons_length",innerPolygons[index].geometry.coordinates[0].length);
|
||||
// console.log("innerPolygons_string",JSON.stringify(innerPolygons[index].geometry.coordinates[0]));
|
||||
});
|
||||
|
||||
// let arr = JSON.parse(JSON.stringify(innerPolygons))
|
||||
|
||||
// arr.forEach((item, index) => {
|
||||
// arr[index].properties.id = generateUUID();
|
||||
|
||||
// if((arr[index].geometry.coordinates[0][0][0] == arr[index].geometry.coordinates[0][arr[index].geometry.coordinates[0].length-1][0]) && arr[index].geometry.coordinates[0][0][1] == arr[index].geometry.coordinates[0][arr[index].geometry.coordinates[0].length-1][1]){
|
||||
|
||||
// }else{
|
||||
// arr[index].geometry.coordinates[0].push(arr[index].geometry.coordinates[0][0])
|
||||
// console.log("coordinates789",arr);
|
||||
|
||||
// }
|
||||
// });
|
||||
|
||||
|
||||
console.log("************** 分割结束 end **************")
|
||||
return innerPolygons;
|
||||
|
||||
}
|
||||
|
||||
function getRandomPointInPolygon(polygon) {
|
||||
|
|
@ -130,12 +97,12 @@ function getRandomPointInPolygon(polygon) {
|
|||
|
||||
do {
|
||||
point = turf.randomPoint(1, {bbox: bbox}).features[0]; // 从边界框中生成一个随机点
|
||||
} while (!turf.booleanPointInPolygon(point, polygon)); // 检查点是否在多边形内部
|
||||
|
||||
} while (!turf.booleanWithin(point, polygon)); // 检查点是否在多边形内部
|
||||
// 直到找到在内部的点再返回数据
|
||||
return point;
|
||||
}
|
||||
|
||||
|
||||
// 单个面数据分割
|
||||
export function splitPolygonByFill(drawPolygon, outerPolygon) {
|
||||
|
||||
console.log("drawPolygon",drawPolygon);
|
||||
|
|
|
|||
|
|
@ -182,7 +182,6 @@ class BaseMP {
|
|||
featureCollection.features.push(polygonFeature);
|
||||
break;
|
||||
}
|
||||
|
||||
return featureCollection;
|
||||
}
|
||||
}
|
||||
|
|
@ -305,6 +304,7 @@ export class MP extends BaseMP {
|
|||
}
|
||||
const startPoint = this.drawLocal[this.drawLocal.length - 1];
|
||||
const endPoint = this.getDrawEndPoint();
|
||||
|
||||
// 添加动态线
|
||||
const lastGSL = this._generateGeoJSON([startPoint, endPoint], 'LineString');
|
||||
this.crossesLine(this.drawLocal, [startPoint, endPoint]);
|
||||
|
|
@ -387,7 +387,9 @@ export class MP extends BaseMP {
|
|||
clearTimeout(this.clickTimeout); // 清除超时变量
|
||||
this.clickCount = 0; // 计数器清零
|
||||
// 在这里编写双击事件的操作
|
||||
console.log('在这里编写双击事件的操作');
|
||||
|
||||
// 鼠标双击事件
|
||||
|
||||
if (this.drawModel === this.drawModelChoose.LineString) {
|
||||
_this.drawLocal.push(e.lngLat);
|
||||
_this._currentDrawSource();
|
||||
|
|
@ -452,7 +454,6 @@ export class MP extends BaseMP {
|
|||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
// 判断是否相交 true 相交 false 不相交
|
||||
crossesLine = (line1, line2) => {
|
||||
let _this = this;
|
||||
|
|
@ -497,14 +498,13 @@ export class MP extends BaseMP {
|
|||
this.deleteDraw();
|
||||
//禁用鼠标双击放大事件
|
||||
this.map.doubleClickZoom.disable();
|
||||
|
||||
this._changeMouseCursor('crosshair');
|
||||
this.map.on('click', this.clickHandler);
|
||||
this.map.on('contextmenu', this.contextmenuHandler);
|
||||
this.map.on('mousemove', this.mousemoveHandler);
|
||||
};
|
||||
draw = (shape) => {
|
||||
if (this.drawModelChoose[shape]) {
|
||||
if(this.drawModelChoose[shape]) {
|
||||
this.drawModel = this.drawModelChoose[shape];
|
||||
this.drawStart();
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ export const subTableStore = defineStore({
|
|||
},
|
||||
clearGroupDataKeyList(keyList){
|
||||
keyList.forEach(key => {
|
||||
delete this.groupData[key]
|
||||
this.groupData[key] = ""
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,43 +1,52 @@
|
|||
<template>
|
||||
<div class="title">{{ title }}</div>
|
||||
<a-table :columns="columns" :data-source="props.data" :pagination="false" size="small" :scroll="{y: 100}">
|
||||
<a-table
|
||||
:columns="columns"
|
||||
:data-source="props.data"
|
||||
:pagination="false"
|
||||
size="small"
|
||||
:scroll="{ y: 100 }"
|
||||
>
|
||||
<template #summary>
|
||||
<a-table-summary fixed>
|
||||
<a-table-summary-row>
|
||||
<a-table-summary-cell>合计</a-table-summary-cell>
|
||||
<a-table-summary-cell v-for="col in columns.length-2">
|
||||
<a-table-summary-cell v-for="col in columns.length - 2">
|
||||
<a-typography-text></a-typography-text>
|
||||
</a-table-summary-cell>
|
||||
<a-table-summary-cell>
|
||||
<a-typography-text>{{ result }}</a-typography-text>
|
||||
</a-table-summary-cell>
|
||||
</a-table-summary-row>
|
||||
</a-table-summary>
|
||||
</a-table-summary>
|
||||
</template>
|
||||
</a-table>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { defineProps, computed } from "vue"
|
||||
const props = defineProps(["columns", "data", "title"])
|
||||
const { columns=[], title="" } = props
|
||||
const result = computed(() => {
|
||||
let sum = 0
|
||||
props.data?.forEach(item => {
|
||||
sum += item.area
|
||||
})
|
||||
return sum
|
||||
})
|
||||
import { defineProps, computed } from 'vue';
|
||||
const props = defineProps(['columns', 'data', 'title']);
|
||||
const { columns = [], title = '' } = props;
|
||||
const result = computed(() => {
|
||||
let sum = 0;
|
||||
if (props.data) {
|
||||
props.data?.forEach((item) => {
|
||||
// item.area = item.area.toFixed(16);
|
||||
sum += item.area;
|
||||
});
|
||||
return sum;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.title {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
:deep(.ant-table-summary){
|
||||
background: #fafafa;
|
||||
}
|
||||
.title {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
:deep(.ant-table-summary) {
|
||||
background: #fafafa;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@
|
|||
import { Empty, message } from 'ant-design-vue';
|
||||
import { patchSourceOptions } from '@/utils/global';
|
||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite} from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite} from '@/api/keyproblem/keyissuesI/index';
|
||||
import {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@
|
|||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getLoadTaskDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskDetailList, addTaskFavorite, deleteTaskCase } from '@/api/keyproblem/keyissuesI/index';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
|
|
@ -322,27 +322,6 @@
|
|||
onMounted(() => {
|
||||
getTaskList();
|
||||
});
|
||||
const changeSupervise = (item) => {
|
||||
if(item.cancelsupervise === 0 && item.issupervise === 1){
|
||||
message.error('取消改督办权限不足')
|
||||
return
|
||||
}
|
||||
let params = {
|
||||
id: item.processid,
|
||||
supervise: 1,
|
||||
}
|
||||
if(item.issupervise === 1){
|
||||
params.supervise = 0
|
||||
}
|
||||
updateSupervise(params).then(res => {
|
||||
if(params.supervise === 1){
|
||||
message.success('成功发起督办')
|
||||
}else{
|
||||
message.success('取消督办成功')
|
||||
}
|
||||
getTaskList();
|
||||
})
|
||||
}
|
||||
const prevData = async () => {
|
||||
if(prevShowDataId.value === 0){
|
||||
if(params.value.page === 1 || total.value == 0){
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||
import AuditProgress from './AuditProgress/index.vue';
|
||||
import MapList from './MapList/index.vue';
|
||||
import { getLoadTaskCount } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskCount } from '@/api/keyproblem/keyissuesI/index';
|
||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@
|
|||
import { ref, reactive, onMounted, defineProps, watch } from 'vue';
|
||||
import { BasicModal, useModalInner } from '@/components/Modal';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import { updateDroneCaseInfo, getCaseInfoById } from '@/api/tiankongdi/index.ts';
|
||||
import { updateDroneCaseInfo, getCaseInfoById } from '@/api/keyproblem/keyissuesI/index.ts';
|
||||
import { getChildrenTree } from '@/api/demo/system.ts';
|
||||
const { createMessage } = useMessage();
|
||||
defineOptions({ name: 'AccountModal' });
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@
|
|||
import { ref, onMounted, defineEmits, computed, h } from 'vue';
|
||||
import { SearchOutlined, DownOutlined, SendOutlined } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getLoadDroneCaseInfoDetail, getCaseInfoById, getLoadStreet } from '@/api/tiankongdi/index';
|
||||
import { getLoadDroneCaseInfoDetail, getCaseInfoById, getLoadStreet } from '@/api/keyproblem/keyissuesI/index';
|
||||
import {
|
||||
batchOptions,
|
||||
yearOptions,
|
||||
|
|
@ -332,7 +332,7 @@ import Amend from './amend.vue';
|
|||
import { Empty, message,Modal } from 'ant-design-vue';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import SplitPolygonModal from '@/views/demo/tiankongdi/curbspotcity/MapList/SplitPolygonModal/index.vue';
|
||||
import {recoverCase} from '@/api/tiankongdi'
|
||||
import {recoverCase} from '@/api/keyproblem/keyissuesI'
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||
import AuditProgress from './AuditProgress/index.vue';
|
||||
import MapList from './MapList/index.vue';
|
||||
import { getLoadDroneCaseInfoCount, getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
|
||||
import { getLoadDroneCaseInfoCount, getLoadDroneCaseInfoDetail } from '@/api/keyproblem/keyissuesI/index.ts';
|
||||
import { batchOptions, yearOptions } from '@/utils/global';
|
||||
import { getChildrenTree } from '@/api/demo/system';
|
||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||
|
|
|
|||
|
|
@ -397,7 +397,7 @@
|
|||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||
import { getConfig } from '@/api/sys/layerManagement';
|
||||
import { getGeom } from '@/api/sys/layerManagement';
|
||||
import {getLoadCaseImgList} from '@/api/tiankongdi'
|
||||
import {getLoadCaseImgList} from '@/api/keyproblem/keyissuesI'
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import axios from 'axios';
|
||||
const { createMessage } = useMessage();
|
||||
|
|
|
|||
|
|
@ -489,7 +489,7 @@
|
|||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||
import { getConfig } from '@/api/sys/layerManagement';
|
||||
import { getGeom } from '@/api/sys/layerManagement';
|
||||
import { splitCase } from '@/api/tiankongdi';
|
||||
import { splitCase } from '@/api/keyproblem/keyissuesI';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
const { createMessage } = useMessage();
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
|
|
@ -506,7 +506,7 @@
|
|||
resultOptions,
|
||||
qitaUseTOOptions,
|
||||
} from '@/utils/global';
|
||||
import { getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
|
||||
import { getLoadDroneCaseInfoDetail } from '@/api/keyproblem/keyissuesI/index.ts';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import { dataProcessing ,dataProcessingCount} from '@/views/demo/tiankongdi/util.ts';
|
||||
import { itemProps } from '@/components/Menu/src/props';
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@
|
|||
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
|
||||
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { addCaseFavorite,addTaskFavorite,getCaseInfoById, deleteFavoriteCase,deleteTaskCase,getLoadStreet, getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
|
||||
import { addCaseFavorite,addTaskFavorite,getCaseInfoById, deleteFavoriteCase,deleteTaskCase,getLoadStreet, getLoadDroneCaseInfoDetail } from '@/api/keyproblem/keyissuesI/index.ts';
|
||||
import {
|
||||
batchOptions,
|
||||
yearOptions,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
getLoadDroneCaseInfoCount,
|
||||
getLoadDroneCaseInfoDetail,
|
||||
getLoadParents,
|
||||
} from '@/api/tiankongdi/index.ts';
|
||||
} from '@/api/keyproblem/keyissuesI/index.ts';
|
||||
import { batchOptions, yearOptions } from '@/views/utils/global';
|
||||
import { getChildrenTree } from '@/api/demo/system';
|
||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@
|
|||
import { Empty, message } from 'ant-design-vue';
|
||||
import { patchSourceOptions } from '@/utils/global';
|
||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite, getLoadTaskIllegalDetailList} from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite, getLoadTaskIllegalDetailList} from '@/api/keyproblem/keyissuesI/index';
|
||||
import {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@
|
|||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getLoadTaskIllegalDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskIllegalDetailList, addTaskFavorite, deleteTaskCase } from '@/api/keyproblem/keyissuesI/index';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
|
|
@ -322,27 +322,6 @@
|
|||
onMounted(() => {
|
||||
getTaskList();
|
||||
});
|
||||
const changeSupervise = (item) => {
|
||||
if(item.cancelsupervise === 0 && item.issupervise === 1){
|
||||
message.error('取消改督办权限不足')
|
||||
return
|
||||
}
|
||||
let params = {
|
||||
id: item.processid,
|
||||
supervise: 1,
|
||||
}
|
||||
if(item.issupervise === 1){
|
||||
params.supervise = 0
|
||||
}
|
||||
updateSupervise(params).then(res => {
|
||||
if(params.supervise === 1){
|
||||
message.success('成功发起督办')
|
||||
}else{
|
||||
message.success('取消督办成功')
|
||||
}
|
||||
getTaskList();
|
||||
})
|
||||
}
|
||||
const prevData = async () => {
|
||||
if(prevShowDataId.value === 0){
|
||||
if(params.value.page === 1 || total.value == 0){
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
import { getAppEnvConfig } from '@/utils/env';
|
||||
import axios from 'axios';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import { getCaseInfoById } from '@/api/tiankongdi/index';
|
||||
import { getCaseInfoById } from '@/api/keyproblem/keyissuesI/index';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import { cloneDeep } from 'lodash-es';
|
||||
|
||||
|
|
@ -154,7 +154,7 @@
|
|||
params.countyid = searchInfo?.countyid;
|
||||
axios({
|
||||
method: 'post',
|
||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoIllegalList',
|
||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt1/ExportCaseInfoIllegalList',
|
||||
params: params,
|
||||
headers: {
|
||||
'X-Token': localStorage.getItem('X-Token'),
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||
import AuditProgress from './AuditProgress/index.vue';
|
||||
import MapList from './MapList/index.vue';
|
||||
import { getLoadTaskCount } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskCount } from '@/api/keyproblem/keyissuesI/index';
|
||||
import { getGeom,getConfig } from '@/api/sys/layerManagement';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
|
|
|||
|
|
@ -94,13 +94,12 @@
|
|||
<script lang="ts" setup>
|
||||
import { ref, reactive, onMounted } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { loadCaseInfoTuBanList } from '@/api/demo/system';
|
||||
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
||||
import { columns, searchFormSchema } from './patchsummary.data';
|
||||
import { getAppEnvConfig } from '@/utils/env';
|
||||
import axios from 'axios';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import { getCaseInfoById } from '@/api/tiankongdi/index';
|
||||
import { getCaseInfoById, loadCaseInfoTuBanList } from '@/api/keyproblem/keyissuesI/index';
|
||||
import { dataProcessingCount } from '@/views/demo/tiankongdi/util';
|
||||
import { BasicForm, useForm } from '@/components/Form';
|
||||
import { PageWrapper } from '@/components/Page';
|
||||
|
|
@ -182,10 +181,10 @@
|
|||
let url = '';
|
||||
let fileName = '';
|
||||
if (exportType == 'excel') {
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoTuBanList';
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt1/ExportCaseInfoTuBanList';
|
||||
fileName = '图斑列表统计报表' + new Date().getTime() + '.xls';
|
||||
} else if (exportType == 'shp') {
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoShapefile';
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt1/ExportCaseInfoShapefile';
|
||||
fileName = '图斑列表矢量数据' + new Date().getTime() + '.zip';
|
||||
}
|
||||
axios({
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@
|
|||
import { Empty, message } from 'ant-design-vue';
|
||||
import { patchSourceOptions } from '@/utils/global';
|
||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite} from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite} from '@/api/keyproblem/keyissuesII/index';
|
||||
import {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@
|
|||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getLoadTaskDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskDetailList, addTaskFavorite, deleteTaskCase } from '@/api/keyproblem/keyissuesII/index';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
|
|
@ -322,27 +322,6 @@
|
|||
onMounted(() => {
|
||||
getTaskList();
|
||||
});
|
||||
const changeSupervise = (item) => {
|
||||
if(item.cancelsupervise === 0 && item.issupervise === 1){
|
||||
message.error('取消改督办权限不足')
|
||||
return
|
||||
}
|
||||
let params = {
|
||||
id: item.processid,
|
||||
supervise: 1,
|
||||
}
|
||||
if(item.issupervise === 1){
|
||||
params.supervise = 0
|
||||
}
|
||||
updateSupervise(params).then(res => {
|
||||
if(params.supervise === 1){
|
||||
message.success('成功发起督办')
|
||||
}else{
|
||||
message.success('取消督办成功')
|
||||
}
|
||||
getTaskList();
|
||||
})
|
||||
}
|
||||
const prevData = async () => {
|
||||
if(prevShowDataId.value === 0){
|
||||
if(params.value.page === 1 || total.value == 0){
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||
import AuditProgress from './AuditProgress/index.vue';
|
||||
import MapList from './MapList/index.vue';
|
||||
import { getLoadTaskCount } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskCount } from '@/api/keyproblem/keyissuesII/index';
|
||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@
|
|||
import { ref, reactive, onMounted, defineProps, watch } from 'vue';
|
||||
import { BasicModal, useModalInner } from '@/components/Modal';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import { updateDroneCaseInfo, getCaseInfoById } from '@/api/tiankongdi/index.ts';
|
||||
import { updateDroneCaseInfo, getCaseInfoById } from '@/api/keyproblem/keyissuesII/index.ts';
|
||||
import { getChildrenTree } from '@/api/demo/system.ts';
|
||||
const { createMessage } = useMessage();
|
||||
defineOptions({ name: 'AccountModal' });
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@
|
|||
import { ref, onMounted, defineEmits, computed, h } from 'vue';
|
||||
import { SearchOutlined, DownOutlined, SendOutlined } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getLoadDroneCaseInfoDetail, getCaseInfoById, getLoadStreet } from '@/api/tiankongdi/index';
|
||||
import { getLoadDroneCaseInfoDetail, getCaseInfoById, getLoadStreet } from '@/api/keyproblem/keyissuesII/index';
|
||||
import {
|
||||
batchOptions,
|
||||
yearOptions,
|
||||
|
|
@ -332,7 +332,7 @@ import Amend from './amend.vue';
|
|||
import { Empty, message,Modal } from 'ant-design-vue';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import SplitPolygonModal from '@/views/demo/tiankongdi/curbspotcity/MapList/SplitPolygonModal/index.vue';
|
||||
import {recoverCase} from '@/api/tiankongdi'
|
||||
import {recoverCase} from '@/api/keyproblem/keyissuesII'
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@
|
|||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||
import AuditProgress from './AuditProgress/index.vue';
|
||||
import MapList from './MapList/index.vue';
|
||||
import { getLoadDroneCaseInfoCount, getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
|
||||
import { getLoadDroneCaseInfoCount, getLoadDroneCaseInfoDetail } from '@/api/keyproblem/keyissuesII/index.ts';
|
||||
import { batchOptions, yearOptions } from '@/utils/global';
|
||||
import { getChildrenTree } from '@/api/demo/system';
|
||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||
|
|
|
|||
|
|
@ -397,7 +397,7 @@
|
|||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||
import { getConfig } from '@/api/sys/layerManagement';
|
||||
import { getGeom } from '@/api/sys/layerManagement';
|
||||
import {getLoadCaseImgList} from '@/api/tiankongdi'
|
||||
import {getLoadCaseImgList} from '@/api/keyproblem/keyissuesII'
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import axios from 'axios';
|
||||
const { createMessage } = useMessage();
|
||||
|
|
|
|||
|
|
@ -489,7 +489,7 @@
|
|||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||
import { getConfig } from '@/api/sys/layerManagement';
|
||||
import { getGeom } from '@/api/sys/layerManagement';
|
||||
import { splitCase } from '@/api/tiankongdi';
|
||||
import { splitCase } from '@/api/keyproblem/keyissuesII';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
const { createMessage } = useMessage();
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
|
|
@ -506,7 +506,7 @@
|
|||
resultOptions,
|
||||
qitaUseTOOptions,
|
||||
} from '@/utils/global';
|
||||
import { getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
|
||||
import { getLoadDroneCaseInfoDetail } from '@/api/keyproblem/keyissuesII/index.ts';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import { dataProcessing ,dataProcessingCount} from '@/views/demo/tiankongdi/util.ts';
|
||||
import { itemProps } from '@/components/Menu/src/props';
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@
|
|||
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
|
||||
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { addCaseFavorite,addTaskFavorite,getCaseInfoById, deleteFavoriteCase,deleteTaskCase,getLoadStreet, getLoadDroneCaseInfoDetail } from '@/api/tiankongdi/index.ts';
|
||||
import { addCaseFavorite,addTaskFavorite,getCaseInfoById, deleteFavoriteCase,deleteTaskCase,getLoadStreet, getLoadDroneCaseInfoDetail } from '@/api/keyproblem/keyissuesII/index.ts';
|
||||
import {
|
||||
batchOptions,
|
||||
yearOptions,
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
getLoadDroneCaseInfoCount,
|
||||
getLoadDroneCaseInfoDetail,
|
||||
getLoadParents,
|
||||
} from '@/api/tiankongdi/index.ts';
|
||||
} from '@/api/keyproblem/keyissuesII/index.ts';
|
||||
import { batchOptions, yearOptions } from '@/views/utils/global';
|
||||
import { getChildrenTree } from '@/api/demo/system';
|
||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@
|
|||
import { Empty, message } from 'ant-design-vue';
|
||||
import { patchSourceOptions } from '@/utils/global';
|
||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite, getLoadTaskIllegalDetailList} from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskDetailList, deleteTaskCase, addTaskFavorite, getLoadTaskIllegalDetailList} from '@/api/keyproblem/keyissuesII/index';
|
||||
import {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@
|
|||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getLoadTaskIllegalDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskIllegalDetailList, addTaskFavorite, deleteTaskCase } from '@/api/keyproblem/keyissuesII/index';
|
||||
import { flowStore } from '@/store/modules/flow';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
|
|
@ -322,27 +322,6 @@
|
|||
onMounted(() => {
|
||||
getTaskList();
|
||||
});
|
||||
const changeSupervise = (item) => {
|
||||
if(item.cancelsupervise === 0 && item.issupervise === 1){
|
||||
message.error('取消改督办权限不足')
|
||||
return
|
||||
}
|
||||
let params = {
|
||||
id: item.processid,
|
||||
supervise: 1,
|
||||
}
|
||||
if(item.issupervise === 1){
|
||||
params.supervise = 0
|
||||
}
|
||||
updateSupervise(params).then(res => {
|
||||
if(params.supervise === 1){
|
||||
message.success('成功发起督办')
|
||||
}else{
|
||||
message.success('取消督办成功')
|
||||
}
|
||||
getTaskList();
|
||||
})
|
||||
}
|
||||
const prevData = async () => {
|
||||
if(prevShowDataId.value === 0){
|
||||
if(params.value.page === 1 || total.value == 0){
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
import { getAppEnvConfig } from '@/utils/env';
|
||||
import axios from 'axios';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import { getCaseInfoById } from '@/api/tiankongdi/index';
|
||||
import { getCaseInfoById } from '@/api/keyproblem/keyissuesII/index';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import { cloneDeep } from 'lodash-es';
|
||||
|
||||
|
|
@ -154,7 +154,7 @@
|
|||
params.countyid = searchInfo?.countyid;
|
||||
axios({
|
||||
method: 'post',
|
||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoIllegalList',
|
||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt2/ExportCaseInfoIllegalList',
|
||||
params: params,
|
||||
headers: {
|
||||
'X-Token': localStorage.getItem('X-Token'),
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||
import AuditProgress from './AuditProgress/index.vue';
|
||||
import MapList from './MapList/index.vue';
|
||||
import { getLoadTaskCount } from '@/api/tiankongdi/index';
|
||||
import { getLoadTaskCount } from '@/api/keyproblem/keyissuesII/index';
|
||||
import { getGeom,getConfig } from '@/api/sys/layerManagement';
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
|
|
|||
|
|
@ -94,13 +94,12 @@
|
|||
<script lang="ts" setup>
|
||||
import { ref, reactive, onMounted } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { loadCaseInfoTuBanList } from '@/api/demo/system';
|
||||
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
||||
import { columns, searchFormSchema } from './patchsummary.data';
|
||||
import { getAppEnvConfig } from '@/utils/env';
|
||||
import axios from 'axios';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import { getCaseInfoById } from '@/api/tiankongdi/index';
|
||||
import { getCaseInfoById, loadCaseInfoTuBanList } from '@/api/keyproblem/keyissuesII/index';
|
||||
import { dataProcessingCount } from '@/views/demo/tiankongdi/util';
|
||||
import { BasicForm, useForm } from '@/components/Form';
|
||||
import { PageWrapper } from '@/components/Page';
|
||||
|
|
@ -182,10 +181,10 @@
|
|||
let url = '';
|
||||
let fileName = '';
|
||||
if (exportType == 'excel') {
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoTuBanList';
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt2/ExportCaseInfoTuBanList';
|
||||
fileName = '图斑列表统计报表' + new Date().getTime() + '.xls';
|
||||
} else if (exportType == 'shp') {
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoShapefile';
|
||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt2/ExportCaseInfoShapefile';
|
||||
fileName = '图斑列表矢量数据' + new Date().getTime() + '.zip';
|
||||
}
|
||||
axios({
|
||||
|
|
|
|||
Loading…
Reference in New Issue