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="show-map-div">
|
||||||
<div class="select-menu">
|
<div class="select-menu">
|
||||||
<div class="add-on-map" v-if="selectType !== 2">
|
<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>
|
</div>
|
||||||
<a-radio-group v-model:value="selectType" button-style="solid" size="small">
|
<a-radio-group v-model:value="selectType" button-style="solid" size="small">
|
||||||
<a-radio-button :value="0">专题图</a-radio-button>
|
<a-radio-button :value="0">专题图</a-radio-button>
|
||||||
|
|
@ -11,198 +13,270 @@
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="selectType === 0 && !addOnMap">
|
<template v-if="selectType === 0 && !addOnMap">
|
||||||
<a-image
|
<a-image :width="470" :height="470" :src="showData?.url" />
|
||||||
:width="470"
|
|
||||||
:height="470"
|
|
||||||
:src="showData?.url"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
<template v-if="selectType === 1 && !addOnMap">
|
<template v-if="selectType === 1 && !addOnMap">
|
||||||
<a-image
|
<a-image :width="470" :height="470" :src="showData?.url" />
|
||||||
:width="470"
|
|
||||||
:height="470"
|
|
||||||
:src="showData.screenshotImage"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
<template v-if="selectType === 2 || addOnMap">
|
<template v-if="selectType === 2 || addOnMap">
|
||||||
<ModalMap :width="'470px'" :height="'470px'" @getMap="getMap"/>
|
<ModalMap :width="'470px'" :height="'470px'" @getMap="getMap" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a-tabs v-model:activeKey="type">
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<a-tab-pane key="1" tab="土地分类">
|
<a-tab-pane key="1" tab="土地分类">
|
||||||
<ShowTableList
|
<ShowTableList
|
||||||
:columns="landClassificationColumns"
|
:columns="landClassificationColumns"
|
||||||
:data="landClassifyTable"
|
:data="landClassifyTable"
|
||||||
:title="'土地利用现状查询结果'"/>
|
:title="'土地利用现状查询结果'"
|
||||||
|
/>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="2" tab="耕地占用">
|
<a-tab-pane key="2" tab="耕地占用">
|
||||||
<ShowTableList
|
<ShowTableList
|
||||||
:columns="landPlanningColumns"
|
:columns="landPlanningColumns"
|
||||||
:data="plowLandOccupyTable"
|
:data="plowLandOccupyTable"
|
||||||
:title="'土地规划查询结果'"/>
|
:title="'土地规划查询结果'"
|
||||||
|
/>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, defineProps, computed, watch, onMounted } from "vue"
|
import { ref, defineProps, computed, watch, onMounted } from 'vue';
|
||||||
import ShowTableList from '@/views/dashboard/test/components/ShowTableList/index.vue'
|
import ShowTableList from '@/views/dashboard/test/components/ShowTableList/index.vue';
|
||||||
import ModalMap from './ModalMap/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'])
|
const props = defineProps(['data']);
|
||||||
let map
|
let map;
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if(props.data){
|
if (props.data) {
|
||||||
type.value = props.data[0].name
|
activeKey.value = '1';
|
||||||
|
props.data.forEach((d) => {
|
||||||
|
d.url = isValidUrl(d.url) ? d.url : VITE_GLOB_API_URL_VAR.value + d.url;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
const type = ref('1')
|
|
||||||
const landClassifyTable = computed(() => {
|
|
||||||
|
|
||||||
let data
|
// 正则表达式验证URL
|
||||||
props.data?.forEach(item => {
|
function isValidUrl(url: string): boolean {
|
||||||
if(item.name == '土地分类'){
|
const regex =
|
||||||
data = {...item}
|
/^(?: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);
|
||||||
}
|
}
|
||||||
})
|
|
||||||
return data && data.list
|
const activeKey = ref('1');
|
||||||
})
|
watch(
|
||||||
const plowLandOccupyTable = computed(() => {
|
() => activeKey.value,
|
||||||
let data
|
() => {
|
||||||
props.data?.forEach(item => {
|
selectType.value = 2;
|
||||||
if(item.name == '耕地分类'){
|
addOnMap.value = false;
|
||||||
data = {...item}
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
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
|
return data && data.list;
|
||||||
})
|
});
|
||||||
const showData = computed(() => {
|
const plowLandOccupyTable = computed(() => {
|
||||||
let data
|
let data;
|
||||||
switch(type.value){
|
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':
|
case '1':
|
||||||
props.data?.forEach(item => {
|
props.data?.forEach((item) => {
|
||||||
if(item.name == '土地分类'){
|
if (item.name == '土地分类') {
|
||||||
data = {...item}
|
data = { ...item };
|
||||||
|
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
return data
|
return data;
|
||||||
case '2':
|
case '2':
|
||||||
props.data?.forEach(item => {
|
props.data?.forEach((item) => {
|
||||||
if(item.name == '耕地分类'){
|
if (item.name == '耕地占用') {
|
||||||
data = {...item}
|
data = { ...item };
|
||||||
|
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
return data
|
return data;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
const addOnMap = ref(false)
|
|
||||||
const selectType = ref(0)
|
const addOnMap = ref(false);
|
||||||
const landClassificationColumns = [
|
const selectType = ref(2);
|
||||||
|
const landClassificationColumns = [
|
||||||
{
|
{
|
||||||
title: '地类名称',
|
title: '地类名称',
|
||||||
dataIndex: 'type',
|
dataIndex: 'type',
|
||||||
key: 'type',
|
key: 'type',
|
||||||
sorter:(a,b) => a.landName - b.landName,
|
sorter: (a, b) => a.landName - b.landName,
|
||||||
sortDirections: ['descend', 'ascend'],
|
sortDirections: ['descend', 'ascend'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '联合属性',
|
title: '联合属性',
|
||||||
dataIndex: 'stats',
|
dataIndex: 'stats',
|
||||||
key: 'stats',
|
key: 'stats',
|
||||||
sorter:(a,b) => a.stats.length - b.stats.length,
|
sorter: (a, b) => a.stats.length - b.stats.length,
|
||||||
sortDirections: ['descend', 'ascend'],
|
sortDirections: ['descend', 'ascend'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '面积(亩)',
|
title: '面积(亩)',
|
||||||
dataIndex: 'area',
|
dataIndex: 'area',
|
||||||
key: 'area',
|
key: 'area',
|
||||||
sorter:(a,b) => a.area - b.area,
|
sorter: (a, b) => a.area - b.area,
|
||||||
sortDirections: ['descend', 'ascend'],
|
sortDirections: ['descend', 'ascend'],
|
||||||
},
|
},
|
||||||
]
|
];
|
||||||
const landPlanningColumns = [
|
const landPlanningColumns = [
|
||||||
{
|
{
|
||||||
title: '类型',
|
title: '类型',
|
||||||
dataIndex: 'type',
|
dataIndex: 'type',
|
||||||
key: 'type',
|
key: 'type',
|
||||||
sorter:(a,b) => a.type.length - b.type.length,
|
sorter: (a, b) => a.type.length - b.type.length,
|
||||||
sortDirections: ['descend', 'ascend'],
|
sortDirections: ['descend', 'ascend'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '面积(亩)',
|
title: '面积(亩)',
|
||||||
dataIndex: 'area',
|
dataIndex: 'area',
|
||||||
key: 'area',
|
key: 'area',
|
||||||
sorter:(a,b) => a.area - b.area,
|
sorter: (a, b) => a.area - b.area,
|
||||||
sortDirections: ['descend', 'ascend'],
|
sortDirections: ['descend', 'ascend'],
|
||||||
},
|
},
|
||||||
]
|
];
|
||||||
const getMap = (value) => {
|
const getMap = (value) => {
|
||||||
map = value
|
map = value;
|
||||||
}
|
};
|
||||||
const addOnMapChange = (value) => {
|
|
||||||
setTimeout(() => {
|
// 定义预加载图片的方法
|
||||||
let url= ''
|
const preloadImage = (url: string): Promise<string> => {
|
||||||
let fourpoint = ''
|
return new Promise((resolve, reject) => {
|
||||||
if(value){
|
const img = new Image();
|
||||||
let data = {}
|
img.onload = () => {
|
||||||
if(type.value == '1'){
|
resolve(url);
|
||||||
props.data.forEach(item => {
|
};
|
||||||
if(item.name == '土地分类'){
|
img.onerror = (error) => {
|
||||||
data = {...item}
|
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(type.value == '2'){
|
} else if (activeKey.value == '2') {
|
||||||
props.data.forEach(item => {
|
props.data.forEach((item) => {
|
||||||
if(item.name == '耕地分类'){
|
if (item.name == '耕地占用') {
|
||||||
data = {...item}
|
data = { ...item };
|
||||||
|
data.url = isValidUrl(data.url) ? data.url : VITE_GLOB_API_URL_VAR.value + data.url;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
if(selectType.value == 0){
|
if (selectType.value == 0 || selectType.value == 1) {
|
||||||
url = data.url
|
url = data.url;
|
||||||
fourpoint = JSON.parse(`[${data.fourpoint}]`)
|
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');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 添加新的源和图层
|
||||||
map.addSource('radar', {
|
map.addSource('radar', {
|
||||||
type: 'image',
|
type: 'image',
|
||||||
url:url,
|
url: dataURL,
|
||||||
coordinates: fourpoint
|
coordinates: fourpoint,
|
||||||
|
// coordinates: [
|
||||||
|
// [118.79657110932101, 35.1014168593995],
|
||||||
|
// [118.79971349626699, 35.1014168593995],
|
||||||
|
// [118.79971349626699, 35.0976945740112],
|
||||||
|
// [118.79371349626699, 35.0976945740112],
|
||||||
|
// ],
|
||||||
});
|
});
|
||||||
|
|
||||||
map.addLayer({
|
map.addLayer({
|
||||||
id: 'radar-layer',
|
id: 'radar-layer',
|
||||||
type: 'raster',
|
type: 'raster',
|
||||||
source: 'radar',
|
source: 'radar',
|
||||||
paint: {
|
paint: {
|
||||||
'raster-fade-duration': 0
|
'raster-fade-duration': 0,
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
let x = 0
|
|
||||||
let y = 0
|
let x = 0;
|
||||||
let length = fourpoint.length
|
let y = 0;
|
||||||
for(let i = 0; i < fourpoint.length; i++){
|
let length = fourpoint.length;
|
||||||
x = x + fourpoint[i][0]
|
for (let i = 0; i < fourpoint.length; i++) {
|
||||||
y = y + fourpoint[i][1]
|
x = x + fourpoint[i][0];
|
||||||
|
y = y + fourpoint[i][1];
|
||||||
}
|
}
|
||||||
x = x / length
|
x = x / length;
|
||||||
y = y / length
|
y = y / length;
|
||||||
map.flyTo({
|
map.flyTo({
|
||||||
center: [x,y],
|
center: [fourpoint[0][0], fourpoint[0][1]],
|
||||||
zoom: 14,
|
zoom: 14,
|
||||||
});
|
});
|
||||||
},500)
|
};
|
||||||
}
|
}
|
||||||
|
}, 1000);
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.select-menu{
|
.select-menu {
|
||||||
display: flex;
|
display: flex;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
.add-on-map{
|
.add-on-map {
|
||||||
width: 110px;
|
width: 110px;
|
||||||
background: rgba(0, 0, 0, 0.2);
|
background: rgba(0, 0, 0, 0.2);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -211,10 +285,10 @@ const addOnMapChange = (value) => {
|
||||||
border-top-left-radius: 5px;
|
border-top-left-radius: 5px;
|
||||||
border-bottom-left-radius: 5px;
|
border-bottom-left-radius: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.show-map-div{
|
.show-map-div {
|
||||||
width: 470px;
|
width: 470px;
|
||||||
height: 470px;
|
height: 470px;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -11,42 +11,46 @@
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex; width: 100%">
|
<div style="display: flex; width: 100%">
|
||||||
<div :style="`display: block; width: ${compare ? '50%' : '100%'};`">
|
<div :style="`display: block; width: ${compare ? '50%' : '100%'};`">
|
||||||
<CloudQueryModal :info="info"/>
|
<CloudQueryModal :info="info" />
|
||||||
</div>
|
</div>
|
||||||
<div style="display: block; width: 50%; margin-left: 20px" v-if="compare">
|
<div style="display: block; width: 50%; margin-left: 20px" v-if="compare">
|
||||||
<CloudQueryModal :info="info"/>
|
<CloudQueryModal :info="info" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, defineEmits } from "vue"
|
import { ref, onMounted, defineEmits } from 'vue';
|
||||||
import Icon from '@/components/Icon/Icon.vue';
|
import Icon from '@/components/Icon/Icon.vue';
|
||||||
import CloudQueryModal from './CloudQueryModal/index.vue';
|
import CloudQueryModal from './CloudQueryModal/index.vue';
|
||||||
import { useCloudQueryStore } from '@/store/modules/cloudquery';
|
import { useCloudQueryStore } from '@/store/modules/cloudquery';
|
||||||
import { LoadCloudQueryById } from '@/api/demo/cloudQuery'
|
import { LoadCloudQueryById } from '@/api/demo/cloudQuery';
|
||||||
|
|
||||||
const useCloudQuery = useCloudQueryStore();
|
const useCloudQuery = useCloudQueryStore();
|
||||||
const emits = defineEmits(['changeCompare'])
|
const emits = defineEmits(['changeCompare']);
|
||||||
const compare = ref(false);
|
const compare = ref(false);
|
||||||
const info = ref()
|
const info = ref();
|
||||||
const changeCompare = () => {
|
const changeCompare = () => {
|
||||||
compare.value = !compare.value;
|
compare.value = !compare.value;
|
||||||
console.log('compare.value', compare.value);
|
console.log('compare.value', compare.value);
|
||||||
emits('changeCompare', compare.value)
|
emits('changeCompare', compare.value);
|
||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
let id = useCloudQuery.getCloudQueryInfo.id
|
let id = useCloudQuery.getCloudQueryInfo.id;
|
||||||
LoadCloudQueryById({id}).then(res => {
|
// console.log(41, useCloudQuery.getCloudQueryInfo);
|
||||||
let data = JSON.parse(res.receiveContent)
|
LoadCloudQueryById({ id }).then((res) => {
|
||||||
info.value = data
|
let data = JSON.parse(res.receiveContent);
|
||||||
})
|
if (typeof data == 'string') {
|
||||||
})
|
data = JSON.parse(data);
|
||||||
|
}
|
||||||
|
info.value = data;
|
||||||
|
});
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.modal-content-div {
|
.modal-content-div {
|
||||||
padding: 53px 20px 10px 20px;
|
padding: 53px 20px 10px 20px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
.title-text {
|
.title-text {
|
||||||
|
|
@ -67,5 +71,5 @@ onMounted(() => {
|
||||||
color: #000000a3;
|
color: #000000a3;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -321,7 +321,6 @@ import shp from 'shpjs'
|
||||||
fillStyle: { 'fill-color': '#ff0000', 'fill-opacity': 0.1 },
|
fillStyle: { 'fill-color': '#ff0000', 'fill-opacity': 0.1 },
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -775,14 +774,10 @@ import shp from 'shpjs'
|
||||||
// 分割图斑
|
// 分割图斑
|
||||||
const splitFeature = (line) => {
|
const splitFeature = (line) => {
|
||||||
|
|
||||||
let splitLineString = {
|
let turfSplitLine = turf.lineString(line);
|
||||||
type: 'Feature',
|
|
||||||
properties: {},
|
let splitLineString = turf.cleanCoords(turfSplitLine);
|
||||||
geometry: {
|
|
||||||
coordinates: line,
|
|
||||||
type: 'LineString',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
let splitPolygon = currentGeoJson.value;
|
let splitPolygon = currentGeoJson.value;
|
||||||
try {
|
try {
|
||||||
// let features = polygonCut(splitPolygon,splitLineString,0.1,"meters");
|
// let features = polygonCut(splitPolygon,splitLineString,0.1,"meters");
|
||||||
|
|
@ -804,7 +799,6 @@ import shp from 'shpjs'
|
||||||
|
|
||||||
splitAfterFeatures.features = tempFeatures;
|
splitAfterFeatures.features = tempFeatures;
|
||||||
|
|
||||||
console.log("tempFeatures",tempFeatures)
|
|
||||||
// 分割数据返回父组件中
|
// 分割数据返回父组件中
|
||||||
emit('handlerSplitPolygon', tempFeatures);
|
emit('handlerSplitPolygon', tempFeatures);
|
||||||
|
|
||||||
|
|
@ -812,7 +806,6 @@ import shp from 'shpjs'
|
||||||
// handlerDetails(splitAfterFeatures);
|
// handlerDetails(splitAfterFeatures);
|
||||||
handlerUnDraw();
|
handlerUnDraw();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("error error",e);
|
|
||||||
createMessage.warning('分割线起点、终点需要在图斑外,多个图斑时需要点击选择需要分割的图斑!');
|
createMessage.warning('分割线起点、终点需要在图斑外,多个图斑时需要点击选择需要分割的图斑!');
|
||||||
handlerUnDraw();
|
handlerUnDraw();
|
||||||
}
|
}
|
||||||
|
|
@ -1263,20 +1256,23 @@ import shp from 'shpjs'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let singleFeature = {
|
let singleFeature = {
|
||||||
type: 'Feature',
|
type: 'Feature',
|
||||||
properties: {},
|
properties: {},
|
||||||
geometry: {
|
geometry: {
|
||||||
coordinates: coordinates,
|
coordinates:[],
|
||||||
type: 'Polygon',
|
type: 'Polygon',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if(coordinates){
|
||||||
|
let turfPolygon = turf.polygon(coordinates);
|
||||||
|
singleFeature = turf.cleanCoords(turfPolygon);
|
||||||
|
}
|
||||||
|
// 处理清除数据重复的点数据
|
||||||
|
|
||||||
// 需要将传入的geojson处理成单面才能在分割工具中使用
|
// 需要将传入的geojson处理成单面才能在分割工具中使用
|
||||||
currentGeoJson.value = singleFeature;
|
currentGeoJson.value = singleFeature;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (map.getSource(source)) {
|
if (map.getSource(source)) {
|
||||||
|
|
|
||||||
|
|
@ -7,77 +7,63 @@ import { generateUUID } from '../src/tool';
|
||||||
* return 返回切割的面数据
|
* return 返回切割的面数据
|
||||||
*/
|
*/
|
||||||
export function splitPolygonByLine(line, outerPolygon) {
|
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]), {
|
let truncatedSplitter = turf.truncate(turf.lineString(outerPolygon.geometry.coordinates[0]), {
|
||||||
precision: 7,
|
precision: 7,
|
||||||
});
|
});
|
||||||
console.log("分割面转换为线数据",truncatedSplitter);
|
console.log("第3步:分割面转换为线数据",truncatedSplitter);
|
||||||
|
|
||||||
//求交点
|
//求交点
|
||||||
let intersectCollection = turf.lineIntersect(line, truncatedSplitter);
|
let intersectCollection = turf.lineIntersect(line, truncatedSplitter);
|
||||||
console.log("与分割面的交点",intersectCollection);
|
console.log("第4步:与分割面的交点",intersectCollection);
|
||||||
// printLngLat(intersectCollection.geometry.coordinates);
|
// printLngLat(intersectCollection.geometry.coordinates);
|
||||||
|
|
||||||
// 交点小于2个 返回null
|
// 交点小于2个 返回null
|
||||||
if (intersectCollection.features.length < 2) {
|
if (intersectCollection.features.length < 2) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//将点合并成MultiPoint
|
//将点合并成MultiPoint
|
||||||
let intersectCombined = turf.combine(intersectCollection).features[0];
|
let intersectCombined = turf.combine(intersectCollection).features[0];
|
||||||
|
|
||||||
console.log("分割后所有点数据",intersectCombined)
|
console.log("第5步:分割后所有点数据",intersectCombined)
|
||||||
|
|
||||||
|
|
||||||
//分别获取切割线
|
//分别获取切割线
|
||||||
let outerPieceCollection = turf.lineSplit(line, intersectCombined);
|
let outerPieceCollection = turf.lineSplit(line, intersectCombined);
|
||||||
let splitterPieceCollection = turf.lineSplit(truncatedSplitter, 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(
|
let pieceCollection = turf.featureCollection(
|
||||||
outerPieceCollection.features.concat(splitterPieceCollection.features),
|
outerPieceCollection.features.concat(splitterPieceCollection.features),
|
||||||
);
|
);
|
||||||
|
console.log("第8步:所有分割线段",pieceCollection);
|
||||||
|
|
||||||
console.log("所有分割线段",pieceCollection);
|
|
||||||
|
|
||||||
//使用turf将闭合线组成多边形
|
//使用turf将闭合线组成多边形
|
||||||
let polygonCollection = turf.polygonize(pieceCollection);
|
let polygonCollection = turf.polygonize(pieceCollection);
|
||||||
|
|
||||||
console.log("分割线合并面数据",polygonCollection)
|
console.log("第9步:分割线合并面数据",polygonCollection)
|
||||||
|
|
||||||
//对多边形进行判断,切割外的多边形丢弃
|
//对多边形进行判断,切割外的多边形丢弃
|
||||||
let innerPolygons = polygonCollection.features.filter((polygon) => {
|
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 newcenter = turf.pointOnFeature(polygon);
|
||||||
|
|
||||||
// 判断点是否在被分割图斑内
|
|
||||||
// 图斑中心点
|
// 图斑中心点
|
||||||
let centerPoint = turf.point(newcenter.geometry.coordinates);
|
let centerPoint = turf.point(randomCenterPoint.geometry.coordinates);
|
||||||
|
console.log('第10步:封闭图形中心点数据',randomCenterPoint,centerPoint)
|
||||||
// 图斑面
|
|
||||||
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);
|
|
||||||
|
|
||||||
return turf.booleanWithin(centerPoint, outerPolygon);
|
return turf.booleanWithin(centerPoint, outerPolygon);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log("第11步:返回最终处理后的数据",innerPolygons)
|
||||||
// let innerPolygons = polygonCollection.features;
|
// let innerPolygons = polygonCollection.features;
|
||||||
|
|
||||||
//处理镂空数据(多处镂空数据会导致计算错误,因为polygonize方法无法正常的返回数据)
|
//处理镂空数据(多处镂空数据会导致计算错误,因为polygonize方法无法正常的返回数据)
|
||||||
|
|
@ -97,31 +83,12 @@ export function splitPolygonByLine(line, outerPolygon) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 每个图斑配置UUID
|
||||||
innerPolygons.forEach((item, index) => {
|
innerPolygons.forEach((item, index) => {
|
||||||
innerPolygons[index].properties.id = generateUUID();
|
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]));
|
|
||||||
});
|
});
|
||||||
|
console.log("************** 分割结束 end **************")
|
||||||
// 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);
|
|
||||||
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
|
|
||||||
return innerPolygons;
|
return innerPolygons;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getRandomPointInPolygon(polygon) {
|
function getRandomPointInPolygon(polygon) {
|
||||||
|
|
@ -130,12 +97,12 @@ function getRandomPointInPolygon(polygon) {
|
||||||
|
|
||||||
do {
|
do {
|
||||||
point = turf.randomPoint(1, {bbox: bbox}).features[0]; // 从边界框中生成一个随机点
|
point = turf.randomPoint(1, {bbox: bbox}).features[0]; // 从边界框中生成一个随机点
|
||||||
} while (!turf.booleanPointInPolygon(point, polygon)); // 检查点是否在多边形内部
|
} while (!turf.booleanWithin(point, polygon)); // 检查点是否在多边形内部
|
||||||
|
// 直到找到在内部的点再返回数据
|
||||||
return point;
|
return point;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 单个面数据分割
|
||||||
export function splitPolygonByFill(drawPolygon, outerPolygon) {
|
export function splitPolygonByFill(drawPolygon, outerPolygon) {
|
||||||
|
|
||||||
console.log("drawPolygon",drawPolygon);
|
console.log("drawPolygon",drawPolygon);
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,6 @@ class BaseMP {
|
||||||
featureCollection.features.push(polygonFeature);
|
featureCollection.features.push(polygonFeature);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return featureCollection;
|
return featureCollection;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -305,6 +304,7 @@ export class MP extends BaseMP {
|
||||||
}
|
}
|
||||||
const startPoint = this.drawLocal[this.drawLocal.length - 1];
|
const startPoint = this.drawLocal[this.drawLocal.length - 1];
|
||||||
const endPoint = this.getDrawEndPoint();
|
const endPoint = this.getDrawEndPoint();
|
||||||
|
|
||||||
// 添加动态线
|
// 添加动态线
|
||||||
const lastGSL = this._generateGeoJSON([startPoint, endPoint], 'LineString');
|
const lastGSL = this._generateGeoJSON([startPoint, endPoint], 'LineString');
|
||||||
this.crossesLine(this.drawLocal, [startPoint, endPoint]);
|
this.crossesLine(this.drawLocal, [startPoint, endPoint]);
|
||||||
|
|
@ -387,7 +387,9 @@ export class MP extends BaseMP {
|
||||||
clearTimeout(this.clickTimeout); // 清除超时变量
|
clearTimeout(this.clickTimeout); // 清除超时变量
|
||||||
this.clickCount = 0; // 计数器清零
|
this.clickCount = 0; // 计数器清零
|
||||||
// 在这里编写双击事件的操作
|
// 在这里编写双击事件的操作
|
||||||
console.log('在这里编写双击事件的操作');
|
|
||||||
|
// 鼠标双击事件
|
||||||
|
|
||||||
if (this.drawModel === this.drawModelChoose.LineString) {
|
if (this.drawModel === this.drawModelChoose.LineString) {
|
||||||
_this.drawLocal.push(e.lngLat);
|
_this.drawLocal.push(e.lngLat);
|
||||||
_this._currentDrawSource();
|
_this._currentDrawSource();
|
||||||
|
|
@ -452,7 +454,6 @@ export class MP extends BaseMP {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 判断是否相交 true 相交 false 不相交
|
// 判断是否相交 true 相交 false 不相交
|
||||||
crossesLine = (line1, line2) => {
|
crossesLine = (line1, line2) => {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
|
|
@ -497,14 +498,13 @@ export class MP extends BaseMP {
|
||||||
this.deleteDraw();
|
this.deleteDraw();
|
||||||
//禁用鼠标双击放大事件
|
//禁用鼠标双击放大事件
|
||||||
this.map.doubleClickZoom.disable();
|
this.map.doubleClickZoom.disable();
|
||||||
|
|
||||||
this._changeMouseCursor('crosshair');
|
this._changeMouseCursor('crosshair');
|
||||||
this.map.on('click', this.clickHandler);
|
this.map.on('click', this.clickHandler);
|
||||||
this.map.on('contextmenu', this.contextmenuHandler);
|
this.map.on('contextmenu', this.contextmenuHandler);
|
||||||
this.map.on('mousemove', this.mousemoveHandler);
|
this.map.on('mousemove', this.mousemoveHandler);
|
||||||
};
|
};
|
||||||
draw = (shape) => {
|
draw = (shape) => {
|
||||||
if (this.drawModelChoose[shape]) {
|
if(this.drawModelChoose[shape]) {
|
||||||
this.drawModel = this.drawModelChoose[shape];
|
this.drawModel = this.drawModelChoose[shape];
|
||||||
this.drawStart();
|
this.drawStart();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ export const subTableStore = defineStore({
|
||||||
},
|
},
|
||||||
clearGroupDataKeyList(keyList){
|
clearGroupDataKeyList(keyList){
|
||||||
keyList.forEach(key => {
|
keyList.forEach(key => {
|
||||||
delete this.groupData[key]
|
this.groupData[key] = ""
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="title">{{ title }}</div>
|
<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>
|
<template #summary>
|
||||||
<a-table-summary fixed>
|
<a-table-summary fixed>
|
||||||
<a-table-summary-row>
|
<a-table-summary-row>
|
||||||
<a-table-summary-cell>合计</a-table-summary-cell>
|
<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-typography-text></a-typography-text>
|
||||||
</a-table-summary-cell>
|
</a-table-summary-cell>
|
||||||
<a-table-summary-cell>
|
<a-table-summary-cell>
|
||||||
|
|
@ -18,26 +24,29 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { defineProps, computed } from "vue"
|
import { defineProps, computed } from 'vue';
|
||||||
const props = defineProps(["columns", "data", "title"])
|
const props = defineProps(['columns', 'data', 'title']);
|
||||||
const { columns=[], title="" } = props
|
const { columns = [], title = '' } = props;
|
||||||
const result = computed(() => {
|
const result = computed(() => {
|
||||||
let sum = 0
|
let sum = 0;
|
||||||
props.data?.forEach(item => {
|
if (props.data) {
|
||||||
sum += item.area
|
props.data?.forEach((item) => {
|
||||||
})
|
// item.area = item.area.toFixed(16);
|
||||||
return sum
|
sum += item.area;
|
||||||
})
|
});
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.title {
|
.title {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
:deep(.ant-table-summary){
|
:deep(.ant-table-summary) {
|
||||||
background: #fafafa;
|
background: #fafafa;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@
|
||||||
import { Empty, message } from 'ant-design-vue';
|
import { Empty, message } from 'ant-design-vue';
|
||||||
import { patchSourceOptions } from '@/utils/global';
|
import { patchSourceOptions } from '@/utils/global';
|
||||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
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 {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { flowStore } from '@/store/modules/flow';
|
import { flowStore } from '@/store/modules/flow';
|
||||||
|
|
|
||||||
|
|
@ -207,7 +207,7 @@
|
||||||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 { flowStore } from '@/store/modules/flow';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||||
|
|
@ -322,27 +322,6 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTaskList();
|
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 () => {
|
const prevData = async () => {
|
||||||
if(prevShowDataId.value === 0){
|
if(prevShowDataId.value === 0){
|
||||||
if(params.value.page === 1 || total.value == 0){
|
if(params.value.page === 1 || total.value == 0){
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||||
import AuditProgress from './AuditProgress/index.vue';
|
import AuditProgress from './AuditProgress/index.vue';
|
||||||
import MapList from './MapList/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 { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
import { ref, reactive, onMounted, defineProps, watch } from 'vue';
|
import { ref, reactive, onMounted, defineProps, watch } from 'vue';
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal';
|
import { BasicModal, useModalInner } from '@/components/Modal';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
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';
|
import { getChildrenTree } from '@/api/demo/system.ts';
|
||||||
const { createMessage } = useMessage();
|
const { createMessage } = useMessage();
|
||||||
defineOptions({ name: 'AccountModal' });
|
defineOptions({ name: 'AccountModal' });
|
||||||
|
|
|
||||||
|
|
@ -322,7 +322,7 @@
|
||||||
import { ref, onMounted, defineEmits, computed, h } from 'vue';
|
import { ref, onMounted, defineEmits, computed, h } from 'vue';
|
||||||
import { SearchOutlined, DownOutlined, SendOutlined } from '@ant-design/icons-vue';
|
import { SearchOutlined, DownOutlined, SendOutlined } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 {
|
import {
|
||||||
batchOptions,
|
batchOptions,
|
||||||
yearOptions,
|
yearOptions,
|
||||||
|
|
@ -332,7 +332,7 @@ import Amend from './amend.vue';
|
||||||
import { Empty, message,Modal } from 'ant-design-vue';
|
import { Empty, message,Modal } from 'ant-design-vue';
|
||||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||||
import SplitPolygonModal from '@/views/demo/tiankongdi/curbspotcity/MapList/SplitPolygonModal/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 { flowStore } from '@/store/modules/flow';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||||
import AuditProgress from './AuditProgress/index.vue';
|
import AuditProgress from './AuditProgress/index.vue';
|
||||||
import MapList from './MapList/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 { batchOptions, yearOptions } from '@/utils/global';
|
||||||
import { getChildrenTree } from '@/api/demo/system';
|
import { getChildrenTree } from '@/api/demo/system';
|
||||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||||
|
|
|
||||||
|
|
@ -397,7 +397,7 @@
|
||||||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||||
import { getConfig } from '@/api/sys/layerManagement';
|
import { getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getGeom } 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 { useMessage } from '@/hooks/web/useMessage';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
const { createMessage } = useMessage();
|
const { createMessage } = useMessage();
|
||||||
|
|
|
||||||
|
|
@ -489,7 +489,7 @@
|
||||||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||||
import { getConfig } from '@/api/sys/layerManagement';
|
import { getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getGeom } 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';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
const { createMessage } = useMessage();
|
const { createMessage } = useMessage();
|
||||||
import Icon from '@/components/Icon/Icon.vue';
|
import Icon from '@/components/Icon/Icon.vue';
|
||||||
|
|
@ -506,7 +506,7 @@
|
||||||
resultOptions,
|
resultOptions,
|
||||||
qitaUseTOOptions,
|
qitaUseTOOptions,
|
||||||
} from '@/utils/global';
|
} 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 ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||||
import { dataProcessing ,dataProcessingCount} from '@/views/demo/tiankongdi/util.ts';
|
import { dataProcessing ,dataProcessingCount} from '@/views/demo/tiankongdi/util.ts';
|
||||||
import { itemProps } from '@/components/Menu/src/props';
|
import { itemProps } from '@/components/Menu/src/props';
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@
|
||||||
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
|
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
|
||||||
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
|
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 {
|
import {
|
||||||
batchOptions,
|
batchOptions,
|
||||||
yearOptions,
|
yearOptions,
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
getLoadDroneCaseInfoCount,
|
getLoadDroneCaseInfoCount,
|
||||||
getLoadDroneCaseInfoDetail,
|
getLoadDroneCaseInfoDetail,
|
||||||
getLoadParents,
|
getLoadParents,
|
||||||
} from '@/api/tiankongdi/index.ts';
|
} from '@/api/keyproblem/keyissuesI/index.ts';
|
||||||
import { batchOptions, yearOptions } from '@/views/utils/global';
|
import { batchOptions, yearOptions } from '@/views/utils/global';
|
||||||
import { getChildrenTree } from '@/api/demo/system';
|
import { getChildrenTree } from '@/api/demo/system';
|
||||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@
|
||||||
import { Empty, message } from 'ant-design-vue';
|
import { Empty, message } from 'ant-design-vue';
|
||||||
import { patchSourceOptions } from '@/utils/global';
|
import { patchSourceOptions } from '@/utils/global';
|
||||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
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 {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { flowStore } from '@/store/modules/flow';
|
import { flowStore } from '@/store/modules/flow';
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@
|
||||||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 { flowStore } from '@/store/modules/flow';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||||
|
|
@ -322,27 +322,6 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTaskList();
|
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 () => {
|
const prevData = async () => {
|
||||||
if(prevShowDataId.value === 0){
|
if(prevShowDataId.value === 0){
|
||||||
if(params.value.page === 1 || total.value == 0){
|
if(params.value.page === 1 || total.value == 0){
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
import { getAppEnvConfig } from '@/utils/env';
|
import { getAppEnvConfig } from '@/utils/env';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
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 { useMessage } from '@/hooks/web/useMessage';
|
||||||
import { cloneDeep } from 'lodash-es';
|
import { cloneDeep } from 'lodash-es';
|
||||||
|
|
||||||
|
|
@ -154,7 +154,7 @@
|
||||||
params.countyid = searchInfo?.countyid;
|
params.countyid = searchInfo?.countyid;
|
||||||
axios({
|
axios({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoIllegalList',
|
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt1/ExportCaseInfoIllegalList',
|
||||||
params: params,
|
params: params,
|
||||||
headers: {
|
headers: {
|
||||||
'X-Token': localStorage.getItem('X-Token'),
|
'X-Token': localStorage.getItem('X-Token'),
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||||
import AuditProgress from './AuditProgress/index.vue';
|
import AuditProgress from './AuditProgress/index.vue';
|
||||||
import MapList from './MapList/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 { getGeom,getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
|
|
|
||||||
|
|
@ -94,13 +94,12 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive, onMounted } from 'vue';
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||||
import { loadCaseInfoTuBanList } from '@/api/demo/system';
|
|
||||||
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
||||||
import { columns, searchFormSchema } from './patchsummary.data';
|
import { columns, searchFormSchema } from './patchsummary.data';
|
||||||
import { getAppEnvConfig } from '@/utils/env';
|
import { getAppEnvConfig } from '@/utils/env';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
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 { dataProcessingCount } from '@/views/demo/tiankongdi/util';
|
||||||
import { BasicForm, useForm } from '@/components/Form';
|
import { BasicForm, useForm } from '@/components/Form';
|
||||||
import { PageWrapper } from '@/components/Page';
|
import { PageWrapper } from '@/components/Page';
|
||||||
|
|
@ -182,10 +181,10 @@
|
||||||
let url = '';
|
let url = '';
|
||||||
let fileName = '';
|
let fileName = '';
|
||||||
if (exportType == 'excel') {
|
if (exportType == 'excel') {
|
||||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoTuBanList';
|
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt1/ExportCaseInfoTuBanList';
|
||||||
fileName = '图斑列表统计报表' + new Date().getTime() + '.xls';
|
fileName = '图斑列表统计报表' + new Date().getTime() + '.xls';
|
||||||
} else if (exportType == 'shp') {
|
} 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';
|
fileName = '图斑列表矢量数据' + new Date().getTime() + '.zip';
|
||||||
}
|
}
|
||||||
axios({
|
axios({
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@
|
||||||
import { Empty, message } from 'ant-design-vue';
|
import { Empty, message } from 'ant-design-vue';
|
||||||
import { patchSourceOptions } from '@/utils/global';
|
import { patchSourceOptions } from '@/utils/global';
|
||||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
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 {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { flowStore } from '@/store/modules/flow';
|
import { flowStore } from '@/store/modules/flow';
|
||||||
|
|
|
||||||
|
|
@ -207,7 +207,7 @@
|
||||||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 { flowStore } from '@/store/modules/flow';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||||
|
|
@ -322,27 +322,6 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTaskList();
|
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 () => {
|
const prevData = async () => {
|
||||||
if(prevShowDataId.value === 0){
|
if(prevShowDataId.value === 0){
|
||||||
if(params.value.page === 1 || total.value == 0){
|
if(params.value.page === 1 || total.value == 0){
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||||
import AuditProgress from './AuditProgress/index.vue';
|
import AuditProgress from './AuditProgress/index.vue';
|
||||||
import MapList from './MapList/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 { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
import { ref, reactive, onMounted, defineProps, watch } from 'vue';
|
import { ref, reactive, onMounted, defineProps, watch } from 'vue';
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal';
|
import { BasicModal, useModalInner } from '@/components/Modal';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
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';
|
import { getChildrenTree } from '@/api/demo/system.ts';
|
||||||
const { createMessage } = useMessage();
|
const { createMessage } = useMessage();
|
||||||
defineOptions({ name: 'AccountModal' });
|
defineOptions({ name: 'AccountModal' });
|
||||||
|
|
|
||||||
|
|
@ -322,7 +322,7 @@
|
||||||
import { ref, onMounted, defineEmits, computed, h } from 'vue';
|
import { ref, onMounted, defineEmits, computed, h } from 'vue';
|
||||||
import { SearchOutlined, DownOutlined, SendOutlined } from '@ant-design/icons-vue';
|
import { SearchOutlined, DownOutlined, SendOutlined } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 {
|
import {
|
||||||
batchOptions,
|
batchOptions,
|
||||||
yearOptions,
|
yearOptions,
|
||||||
|
|
@ -332,7 +332,7 @@ import Amend from './amend.vue';
|
||||||
import { Empty, message,Modal } from 'ant-design-vue';
|
import { Empty, message,Modal } from 'ant-design-vue';
|
||||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||||
import SplitPolygonModal from '@/views/demo/tiankongdi/curbspotcity/MapList/SplitPolygonModal/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 { flowStore } from '@/store/modules/flow';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||||
import AuditProgress from './AuditProgress/index.vue';
|
import AuditProgress from './AuditProgress/index.vue';
|
||||||
import MapList from './MapList/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 { batchOptions, yearOptions } from '@/utils/global';
|
||||||
import { getChildrenTree } from '@/api/demo/system';
|
import { getChildrenTree } from '@/api/demo/system';
|
||||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||||
|
|
|
||||||
|
|
@ -397,7 +397,7 @@
|
||||||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||||
import { getConfig } from '@/api/sys/layerManagement';
|
import { getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getGeom } 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 { useMessage } from '@/hooks/web/useMessage';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
const { createMessage } = useMessage();
|
const { createMessage } = useMessage();
|
||||||
|
|
|
||||||
|
|
@ -489,7 +489,7 @@
|
||||||
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
import MapboxMap from '@/components/MapboxMaps/MapComponent.vue';
|
||||||
import { getConfig } from '@/api/sys/layerManagement';
|
import { getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getGeom } 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';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
const { createMessage } = useMessage();
|
const { createMessage } = useMessage();
|
||||||
import Icon from '@/components/Icon/Icon.vue';
|
import Icon from '@/components/Icon/Icon.vue';
|
||||||
|
|
@ -506,7 +506,7 @@
|
||||||
resultOptions,
|
resultOptions,
|
||||||
qitaUseTOOptions,
|
qitaUseTOOptions,
|
||||||
} from '@/utils/global';
|
} 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 ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||||
import { dataProcessing ,dataProcessingCount} from '@/views/demo/tiankongdi/util.ts';
|
import { dataProcessing ,dataProcessingCount} from '@/views/demo/tiankongdi/util.ts';
|
||||||
import { itemProps } from '@/components/Menu/src/props';
|
import { itemProps } from '@/components/Menu/src/props';
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@
|
||||||
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
|
import { ref, onMounted, defineEmits, defineProps, computed, h, watch } from "vue"
|
||||||
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
|
import { StarOutlined, StarFilled, SearchOutlined, RollbackOutlined } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 {
|
import {
|
||||||
batchOptions,
|
batchOptions,
|
||||||
yearOptions,
|
yearOptions,
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
getLoadDroneCaseInfoCount,
|
getLoadDroneCaseInfoCount,
|
||||||
getLoadDroneCaseInfoDetail,
|
getLoadDroneCaseInfoDetail,
|
||||||
getLoadParents,
|
getLoadParents,
|
||||||
} from '@/api/tiankongdi/index.ts';
|
} from '@/api/keyproblem/keyissuesII/index.ts';
|
||||||
import { batchOptions, yearOptions } from '@/views/utils/global';
|
import { batchOptions, yearOptions } from '@/views/utils/global';
|
||||||
import { getChildrenTree } from '@/api/demo/system';
|
import { getChildrenTree } from '@/api/demo/system';
|
||||||
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
import { getGeom, getConfig } from '@/api/sys/layerManagement';
|
||||||
|
|
|
||||||
|
|
@ -242,7 +242,7 @@
|
||||||
import { Empty, message } from 'ant-design-vue';
|
import { Empty, message } from 'ant-design-vue';
|
||||||
import { patchSourceOptions } from '@/utils/global';
|
import { patchSourceOptions } from '@/utils/global';
|
||||||
import { SearchOutlined} from '@ant-design/icons-vue'
|
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 {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { flowStore } from '@/store/modules/flow';
|
import { flowStore } from '@/store/modules/flow';
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@
|
||||||
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
import { onMounted, ref, defineEmits, computed, h, watch } from 'vue';
|
||||||
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
|
||||||
import Icon from '@/components/Icon/Icon.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 { flowStore } from '@/store/modules/flow';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||||
|
|
@ -322,27 +322,6 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTaskList();
|
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 () => {
|
const prevData = async () => {
|
||||||
if(prevShowDataId.value === 0){
|
if(prevShowDataId.value === 0){
|
||||||
if(params.value.page === 1 || total.value == 0){
|
if(params.value.page === 1 || total.value == 0){
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
import { getAppEnvConfig } from '@/utils/env';
|
import { getAppEnvConfig } from '@/utils/env';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
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 { useMessage } from '@/hooks/web/useMessage';
|
||||||
import { cloneDeep } from 'lodash-es';
|
import { cloneDeep } from 'lodash-es';
|
||||||
|
|
||||||
|
|
@ -154,7 +154,7 @@
|
||||||
params.countyid = searchInfo?.countyid;
|
params.countyid = searchInfo?.countyid;
|
||||||
axios({
|
axios({
|
||||||
method: 'post',
|
method: 'post',
|
||||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoIllegalList',
|
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt2/ExportCaseInfoIllegalList',
|
||||||
params: params,
|
params: params,
|
||||||
headers: {
|
headers: {
|
||||||
'X-Token': localStorage.getItem('X-Token'),
|
'X-Token': localStorage.getItem('X-Token'),
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
import { MapboxConfig, MapboxDefaultStyle } from '@/components/MapboxMaps/src/config.ts';
|
||||||
import AuditProgress from './AuditProgress/index.vue';
|
import AuditProgress from './AuditProgress/index.vue';
|
||||||
import MapList from './MapList/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 { getGeom,getConfig } from '@/api/sys/layerManagement';
|
||||||
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
import { getDetail } from '@/api/sys/WFSchemeInfo';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
|
|
|
||||||
|
|
@ -94,13 +94,12 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive, onMounted } from 'vue';
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||||
import { loadCaseInfoTuBanList } from '@/api/demo/system';
|
|
||||||
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
||||||
import { columns, searchFormSchema } from './patchsummary.data';
|
import { columns, searchFormSchema } from './patchsummary.data';
|
||||||
import { getAppEnvConfig } from '@/utils/env';
|
import { getAppEnvConfig } from '@/utils/env';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
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 { dataProcessingCount } from '@/views/demo/tiankongdi/util';
|
||||||
import { BasicForm, useForm } from '@/components/Form';
|
import { BasicForm, useForm } from '@/components/Form';
|
||||||
import { PageWrapper } from '@/components/Page';
|
import { PageWrapper } from '@/components/Page';
|
||||||
|
|
@ -182,10 +181,10 @@
|
||||||
let url = '';
|
let url = '';
|
||||||
let fileName = '';
|
let fileName = '';
|
||||||
if (exportType == 'excel') {
|
if (exportType == 'excel') {
|
||||||
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoTuBanList';
|
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoZdwt2/ExportCaseInfoTuBanList';
|
||||||
fileName = '图斑列表统计报表' + new Date().getTime() + '.xls';
|
fileName = '图斑列表统计报表' + new Date().getTime() + '.xls';
|
||||||
} else if (exportType == 'shp') {
|
} 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';
|
fileName = '图斑列表矢量数据' + new Date().getTime() + '.zip';
|
||||||
}
|
}
|
||||||
axios({
|
axios({
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue