刘妍 2024-09-10 13:45:29 +08:00
commit ccce77c636
39 changed files with 750 additions and 444 deletions

View File

@ -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 });

View File

@ -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 });

View File

@ -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,210 +13,282 @@
</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;
});
}
});
// 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 const activeKey = ref('1');
props.data?.forEach(item => { watch(
if(item.name == '土地分类'){ () => activeKey.value,
data = {...item} () => {
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 addOnMap = ref(false);
const plowLandOccupyTable = computed(() => { const selectType = ref(2);
let data const landClassificationColumns = [
props.data?.forEach(item => { {
if(item.name == '耕地分类'){ title: '地类名称',
data = {...item} dataIndex: 'type',
} key: 'type',
}) sorter: (a, b) => a.landName - b.landName,
return data && data.list sortDirections: ['descend', 'ascend'],
}) },
const showData = computed(() => { {
let data title: '联合属性',
switch(type.value){ dataIndex: 'stats',
case '1': key: 'stats',
props.data?.forEach(item => { sorter: (a, b) => a.stats.length - b.stats.length,
if(item.name == '土地分类'){ sortDirections: ['descend', 'ascend'],
data = {...item} },
{
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;
}
});
} }
}) if (selectType.value == 0 || selectType.value == 1) {
return data url = data.url;
case '2': fourpoint = JSON.parse(`[${data.fourpoint}]`);
props.data?.forEach(item => { }
if(item.name == '耕地分类'){ let image = new Image();
data = {...item} 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);
// CanvasURL
const dataURL = canvas.toDataURL('image/jpeg');
console.log(216, dataURL);
//
if (map.getSource('radar')) {
map.removeSource('radar');
map.removeLayer('radar-layer');
} }
})
return data //
} map.addSource('radar', {
}) type: 'image',
const addOnMap = ref(false) url: dataURL,
const selectType = ref(0) coordinates: fourpoint,
const landClassificationColumns = [ // coordinates: [
{ // [118.79657110932101, 35.1014168593995],
title: '地类名称', // [118.79971349626699, 35.1014168593995],
dataIndex: 'type', // [118.79971349626699, 35.0976945740112],
key: 'type', // [118.79371349626699, 35.0976945740112],
sorter:(a,b) => a.landName - b.landName, // ],
sortDirections: ['descend', 'ascend'], });
},
{ map.addLayer({
title: '联合属性', id: 'radar-layer',
dataIndex: 'stats', type: 'raster',
key: 'stats', source: 'radar',
sorter:(a,b) => a.stats.length - b.stats.length, paint: {
sortDirections: ['descend', 'ascend'], 'raster-fade-duration': 0,
}, },
{ });
title: '面积(亩)',
dataIndex: 'area', let x = 0;
key: 'area', let y = 0;
sorter:(a,b) => a.area - b.area, let length = fourpoint.length;
sortDirections: ['descend', 'ascend'], for (let i = 0; i < fourpoint.length; i++) {
}, x = x + fourpoint[i][0];
] y = y + fourpoint[i][1];
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}
} }
}) x = x / length;
}else if(type.value == '2'){ y = y / length;
props.data.forEach(item => { map.flyTo({
if(item.name == '耕地分类'){ center: [fourpoint[0][0], fourpoint[0][1]],
data = {...item} zoom: 14,
} });
}) };
} }
if(selectType.value == 0){ }, 1000);
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)
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.select-menu{ .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);
display: flex; display: flex;
align-items: center; position: absolute;
justify-content: center; top: 10px;
border-top-left-radius: 5px; right: 10px;
border-bottom-left-radius: 5px; 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> </style>

View File

@ -11,61 +11,65 @@
</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 {
display: flex; display: flex;
justify-content: center; justify-content: center;
font-size: 18px; font-size: 18px;
color: #2f83d9; color: #2f83d9;
text-decoration: underline; text-decoration: underline;
font-weight: 600; font-weight: 600;
position: relative; 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> </style>

View File

@ -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)) {

View File

@ -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);

View File

@ -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 {

View File

@ -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] = ""
}) })
} }
}, },

View File

@ -1,43 +1,52 @@
<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>
<a-typography-text>{{ result }}</a-typography-text> <a-typography-text>{{ result }}</a-typography-text>
</a-table-summary-cell> </a-table-summary-cell>
</a-table-summary-row> </a-table-summary-row>
</a-table-summary> </a-table-summary>
</template> </template>
</a-table> </a-table>
</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>

View File

@ -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';

View File

@ -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){

View File

@ -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';

View File

@ -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' });

View File

@ -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';

View File

@ -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';

View File

@ -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();

View File

@ -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';

View File

@ -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,

View File

@ -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';

View File

@ -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';

View File

@ -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){

View File

@ -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'),

View File

@ -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';

View File

@ -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({

View File

@ -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';

View File

@ -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){

View File

@ -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';

View File

@ -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' });

View File

@ -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';

View File

@ -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';

View File

@ -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();

View File

@ -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';

View File

@ -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,

View File

@ -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';

View File

@ -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';

View File

@ -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){

View File

@ -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'),

View File

@ -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';

View File

@ -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({