刘妍 2024-07-11 18:36:13 +08:00
commit cae4856e35
11 changed files with 163 additions and 85 deletions

View File

@ -342,6 +342,7 @@
})
props.mapConfig.baseLayers?.forEach((item,index)=>{
console.log("baselayers",item);
let layer = JSON.parse(item.style);
let image = item.image.replace('\\','/');
let layers = {
@ -350,7 +351,7 @@
fixed:false,
// zoom:0,
easeToOptions:{},
active:false,
active:item.checked,
backgroundImage:VITE_GLOB_API_URL_VAR.value+image,
backgroundImageActive:"",
onVisibleChange:(visible:boolean)=>{

View File

@ -27,7 +27,7 @@
<div class="file-item" v-for="(item,index) in fileList" :key="index">
{{ item.name }}
<span class="delete-btn" @click="handlerDelete(index)"><DeleteOutlined/></span>
<span class="delete-btn" @click="handlerDelete(index)" v-if="!$attrs.disabled" ><DeleteOutlined/></span>
<span class="delete-btn" @click="handlerPreviewFile(item.url)"><CloudDownloadOutlined /></span>
</div>

View File

@ -2,20 +2,20 @@
<div class="image-preview-container" id="imagePreviewContainer">
<img id="zoomableImage" draggable="false" :src="imageUrl" />
<div class="operation-container">
<div>
<UndoOutlined @click="backTransFrom"/>
<div @click="backTransFrom" style="cursor:pointer;">
<UndoOutlined />
</div>
<div>
<ZoomInOutlined @click="bigScale" />
<div @click="bigScale" style="cursor:pointer;">
<ZoomInOutlined />
</div>
<div>
<ZoomOutOutlined @click="smallScale"/>
<div @click="smallScale" style="cursor:pointer;">
<ZoomOutOutlined />
</div>
<div>
<RedoOutlined @click="transform" />
<div @click="transform" style="cursor:pointer;" >
<RedoOutlined />
</div>
<div>
<CloseOutlined @click="closePreview"/>
<div @click="closePreview" style="cursor:pointer;">
<CloseOutlined />
</div>
</div>
</div>
@ -183,20 +183,20 @@ function smallScale():void {
if(scale>0.4){
scale-=0.4;
}
zoomableImage.style.transform = `scale(${scale})`;
zoomableImage.style.transform = `scale(${scale}) rotate(${rotate}deg)`;
}
function bigScale():void {
scale+=0.4;
zoomableImage.style.transform = `scale(${scale})`;
zoomableImage.style.transform = `scale(${scale}) rotate(${rotate}deg)`;
}
function transform (){
rotate += 90;
zoomableImage.style.transform = `rotate(${rotate}deg)`;
zoomableImage.style.transform = `scale(${scale}) rotate(${rotate}deg)`;
}
function backTransFrom() {
rotate -= 90;
zoomableImage.style.transform = `rotate(${rotate}deg)`;
zoomableImage.style.transform = `scale(${scale}) rotate(${rotate}deg)`;
}
function closePreview():void{

View File

@ -82,7 +82,7 @@
},
{
title: '图斑面积',
dataIndex: 'gengdi_area',
dataIndex: 'area',
},
{
title: '耕地面积',
@ -189,10 +189,10 @@
//
switch (recordValue) {
case 0:
result = '非农化';
result = '非农化违法用地';
break;
case 1:
result = '非粮化';
result = '非粮化违法用地';
break;
}
} else if (dataIndex == 'measure_name') {

View File

@ -95,22 +95,24 @@
<a @click="handlePreViewData(column, record, 7)">{{ record.ccgdmj }}</a>
</template>
<!-- 新增违法占用耕地情况计算·核实后新增违法耕地·宗数 -->
<!--
新增违法占用耕地情况计算·核实后新增违法耕地·宗数
<template v-if="column.key === 'hshxzwfgdzs' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record)">{{ record.hshxzwfgdzs }}</a>
</template>
<!-- 新增违法占用耕地情况计算·核实后新增违法耕地·耕地面积 -->
新增违法占用耕地情况计算·核实后新增违法耕地·耕地面积
<template v-if="column.key === 'hshxzwfgdgdmj' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record)">{{ record.hshxzwfgdgdmj }}</a>
</template>
<!-- 新增违法占用耕地情况计算·整改后剩余违法耕地·宗数 -->
新增违法占用耕地情况计算·整改后剩余违法耕地·宗数
<template v-if="column.key === 'zghsywfgdzs' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record)">{{ record.zghsywfgdzs }}</a>
</template>
<!-- 新增违法占用耕地情况计算·整改后剩余违法耕地·耕地面积 -->
新增违法占用耕地情况计算·整改后剩余违法耕地·耕地面积
<template v-if="column.key === 'zghsywfgdgdmj' && record.countyname != '总计'">
<a @click="handlePreViewData(column, record)">{{ record.zghsywfgdgdmj }}</a>
</template>
-->
</template>
</BasicTable>

View File

@ -29,16 +29,12 @@
</div>
<div class="screen-item">
<div class="screen-item-label" style="margin-right:9px;">批次</div>
<a-select
<a-input
allowClear
style="width: 117px"
class="item-input"
style="width:117px;"
v-model:value="props.batch"
:options="batchOptions"
@change="
(value) => {
emits('auditProgressScreenChange', value, 'batch');
}
"
@change="(value) => emits('auditProgressScreenChange',value.target.value,'batch')"
/>
</div>
</div>
@ -141,6 +137,15 @@
color: #000000;
// width: 33.3%;
display: flex;
.item-input{
width:223px;
font-family: Alibaba PuHuiTi;
font-weight: 500;
font-size: 17px;
color: #000000;
line-height: 30px;
box-shadow: 2px 3px 3px 1px rgba(13,13,13,0.05);
}
.screen-item-label {
font-family: Alibaba PuHuiTi;
font-weight: 500;

View File

@ -21,11 +21,11 @@
</div>
<div class="screen-item" style="margin-bottom:15px;">
<div class="screen-item-label">批次</div>
<a-select
<a-input
allowClear
class="item-input"
style="width:117px;"
v-model:value="params.picihao"
:options="props.batchOptions"
/>
</div>
<div class="screen-item" style="margin-right:13px;">
@ -139,7 +139,7 @@
<div class="info-layout-div">
<div>
<Icon
:style="`font-size: 30px; color: #314A8C; cursor: pointer;${item.isouttime === 0? 'color: #314A8C;': item.isouttime === 1? 'color: #F7710F;': 'color: #D03542;'}`"
:style="`font-size: 30px; color: #314A8C; cursor: pointer;${item.isouttime === 2? 'color: #D03542;': item.isouttime === 1? 'color: #F7710F;': 'color: #314A8C;'}`"
icon="icon-park-solid:timer"
@click="()=>{}"
/>

View File

@ -41,13 +41,8 @@
</a-form>
</a-modal>
<!-- <a-modal
v-if="false"
v-bind="$attrs"
@register="registerModal"
title="飞地调整"
@ok="handleSubmit"
>
<a-modal v-if="false" v-bind="$attrs" @register="registerModal" title="飞地调整" @ok="handleSubmit" >
<a-form
ref="formRef"
:model="formState"
@ -95,7 +90,6 @@
import { useMessage } from '@/hooks/web/useMessage';
import { updateDroneCaseInfo, getCaseInfoById } from '@/api/tiankongdi/index.ts';
import { getChildrenTree } from '@/api/demo/system.ts';
const { createMessage } = useMessage();
defineOptions({ name: 'AccountModal' });
const formRef = ref();

View File

@ -1,21 +1,21 @@
<template>
<div class="content">
<div class="rollback">
<!-- <div class="rollback">
<Icon
style="font-size: 20px; cursor: pointer"
icon="ant-design:arrow-left-outlined"
@click="emits('closeShowInfo', false)"
/>
</div>
</div> -->
<div class="screen-div">
<div class="screen-item">
<div class="screen-item-label">年份</div>
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.year"
v-model:value="infoScreenData.year"
:options="yearOptions"
@change="(value) => emits('mapListScreenChange', value, 'year')"
@change="(value) => mapListScreenChange(value, 'year')"
/>
</div>
<div class="screen-item">
@ -23,18 +23,18 @@
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.batch"
v-model:value="infoScreenData.picihao"
:options="batchOptions"
@change="(value) => emits('mapListScreenChange', value, 'batch')"
@change="(value) => mapListScreenChange(value, 'batch')"
/>
</div>
<div class="screen-item">
<div class="screen-item-label">图斑号</div>
<a-input
allowClear
v-model:value="props.infoScreenData.mapNo"
v-model:value="infoScreenData.caseNo"
style="flex: 1"
@change="(value) => emits('mapListScreenChange', value.target.value, 'mapNo')"
@change="(value) => mapListScreenChange( value.target.value, 'caseNo')"
/>
</div>
<div class="screen-item" v-if="cityType.level === 0">
@ -43,7 +43,7 @@
disabled
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.countyId"
v-model:value="infoScreenData.countyId"
:options="props.municipalAreaOptions"
@change="(value) => emits('mapListScreenChange', value, 'countyId')"
/>
@ -66,7 +66,7 @@
style="flex: 1"
v-model:value="props.infoScreenData.countyId"
:options="props.municipalAreaOptions"
@change="(value) => emits('mapListScreenChange', value, 'countyId')"
@change="(value) => mapListScreenChange( value, 'countyId')"
/>
</div>
<div class="screen-item" v-if="cityType.level !== 0">
@ -84,29 +84,29 @@
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.mapType"
v-model:value="infoScreenData.isIllegal"
:options="mapTypeOptions"
@change="(value) => emits('mapListScreenChange', value, 'mapType')"
@change="(value) => mapListScreenChange( value, 'isIllegal')"
/>
</div>
<div class="screen-item" v-if="props.infoScreenData.mapType === 1">
<div class="screen-item" v-if="infoScreenData.isIllegal === 1">
<div class="screen-item-label">违法类型</div>
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.illegalType"
v-model:value="infoScreenData.weifaleixing"
:options="illegalTypeOptions"
@change="(value) => emits('mapListScreenChange', value, 'illegalType')"
@change="(value) => mapListScreenChange( value, 'weifaleixing')"
/>
</div>
<div class="screen-item" v-if="props.infoScreenData.illegalType === 0">
<div class="screen-item" v-if="infoScreenData.weifaleixing === 0">
<div class="screen-item-label">整改措施</div>
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.measure"
v-model:value="infoScreenData.measureName"
:options="measureOptions"
@change="(value) => emits('mapListScreenChange', value, 'measure')"
@change="(value) => mapListScreenChange( value, 'measureName')"
/>
</div>
<div class="screen-item">
@ -114,9 +114,9 @@
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.mapStatus"
v-model:value="infoScreenData.nowStatus"
:options="mapStatusOptions"
@change="(value) => emits('mapListScreenChange', value, 'mapStatus')"
@change="(value) => mapListScreenChange( value, 'nowStatus')"
/>
</div>
<div class="screen-item">
@ -124,9 +124,9 @@
<a-select
allowClear
style="flex: 1"
v-model:value="props.infoScreenData.markType"
v-model:value="infoScreenData.isBuildName"
:options="markTypeOptions"
@change="(value) => emits('mapListScreenChange', value, 'markType')"
@change="(value) => mapListScreenChange( value, 'isBuildName')"
/>
</div>
<div class="screen-button-div">
@ -136,18 +136,18 @@
<a-button type="primary" @click="dataListSort('gengdi_area')">
{{ `排序(耕地面积) ${props.infoScreenData.sort === 'gengdi_area' ? orderMark() : '-'}` }}
</a-button>
<a-button type="primary">导出</a-button>
<!-- <a-button type="primary">导出</a-button> -->
<!-- <a-button
type="primary"
:style="openCollect && 'background: #bf0000;'"
@click="getCollectList"
>我的收藏</a-button
> -->
<a-button @click="emits('getInfoList', 1)">查询</a-button>
<a-button @click="getInfoList"></a-button>
</div>
</div>
<div class="data-list-div">
<div v-for="(item, index) in props.infoDataList" :key="index" class="data-list-item">
<div v-for="(item, index) in infoDataList" :key="index" class="data-list-item">
<div class="data-list-layout-div">
<div class="data-list-title-div">
<img src="/positioning.png" class="map-mark" style="cursor:pointer;" @click="locationFun(item)"/>
@ -277,7 +277,7 @@
/>
</div>
</div>
<div v-else class="no-data">
<div v-else class="no-data" v-if="infoDataList.length == 0">
<a-empty :image="simpleImage" />
</div>
</div>
@ -292,7 +292,7 @@
@change="changePage"
/>
</div>
<Amend @register="registerModal" @success="handleSuccess" :modalShow="modalShow" :modalRecord="modalRecord" @closeModel="closeModal"/>
<Amend @register="registerModal" @success="handleSuccess" :modalShow="modalShow" @closeModel="closeModal"/>
<a-modal
style="width:100vw;top:0px;left:0px;margin:0px;padding:0px;"
wrap-class-name="full-modal"
@ -330,14 +330,13 @@
mapStatusOptions,
markTypeOptions,
} from '@/views/demo/tiankongdi/curbspotcity/util.ts';
import Amend from './amend.vue';
import { useModal } from '@/components/Modal';
import { Empty } from 'ant-design-vue';
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
import { message } from 'ant-design-vue';
const modalShow = ref(false)
const modalRecord = ref({});
const [registerModal, { openModal }] = useModal();
const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
@ -372,6 +371,81 @@
return '↓';
}
};
const infoDataList = ref([]);
const infoScreenData = ref({
year:null,
picihao:null,
batch: null,
countyid: null,
streetid: null,
geomid: null,
nowStatus:null,
is_illegal: null,
weifaleixing: null,
measure_name: null,
handle_status_id: null,
is_build_complete: null,
areaid: null,
level: null,
page: 1,
limit: 10,
sort: null,
order: null,
type: null,
});
const mapListScreenChange = (value, type) => {
switch (type) {
case 'year':
infoScreenData.value.year = value;
break;
case 'batch':
infoScreenData.value.picihao = value;
break;
case 'caseNo':
infoScreenData.value.caseNo = value;
break;
case 'countyId':
infoScreenData.value.countyId = value;
break;
case 'streetId':
infoScreenData.value.streetId = value;
break;
case 'isIllegal':
infoScreenData.value.isIllegal = value;
if (value !== 1) {
infoScreenData.value.weifaleixing = null;
infoScreenData.value.measureName = null;
}
break;
case 'illegalType':
infoScreenData.value.weifaleixing = value;
if (value !== 0) {
infoScreenData.value.measureName = null;
}
break;
case 'measureName':
infoScreenData.value.measureName = value;
break;
case 'nowStatus':
infoScreenData.value.nowStatus = value;
break;
case 'isBuildName':
infoScreenData.value.isBuildName = value;
break;
}
};
const getInfoList = ()=>{
getLoadDroneCaseInfoDetail(infoScreenData.value).then((res) => {
infoDataList.value = res.items;
});
}
getInfoList();
const showInfoOpen = ref(false);
const openCollect = computed(() => {
if (props.infoScreenData.type === '') return false;
@ -433,15 +507,13 @@
}
function changeArea(record) {
modalShow.value = true;
modalRecord.value = record;
// openModal(true, {
// record: record,
// });
openModal(true, {
record: record,
});
}
function closeModal(){
modalShow.value = false;
emits('getInfoList');
}
function handleSuccess() {}
</script>

View File

@ -33,12 +33,11 @@
</div>
<div class="screen-item" style="margin-bottom:12px;">
<div class="screen-item-label">批次</div>
<a-select
allowClear
<a-input
class="item-input"
style="width:117px;"
v-model:value="props.infoScreenData.batch"
:options="batchOptions"
@change="(value) => emits('mapListScreenChange',value,'batch')"
@change="(value) => emits('mapListScreenChange',value.target.value,'batch')"
/>
</div>
<div class="screen-item" style="margin-right:15px;margin-bottom:22px;">
@ -117,7 +116,7 @@
<div class="collect-div">
<a-popover placement="bottom">
<template #content>
<div style="display:flex;">
<div style="display:flex;margin-bottom:5px;">
<div>当前状态</div>
<div>
<a-checkbox-group
@ -127,7 +126,7 @@
:options="mapStatusOptions"></a-checkbox-group>
</div>
</div>
<div style="display:flex;">
<div style="display:flex;margin-bottom:5px;">
<div>是否超期</div>
<div>
<a-checkbox-group
@ -137,7 +136,7 @@
:options="isOverdueOptions"></a-checkbox-group>
</div>
</div>
<div style="display:flex;">
<div style="display:flex;margin-bottom:5px;align-items: center;">
<div>图斑面积</div>
<div style="display:flex;">
<a-input style="width:30%;"
@ -151,7 +150,7 @@
/>
</div>
</div>
<div style="display:flex;">
<div style="display:flex;margin-bottom:5px;align-items: center;">
<div>耕地面积</div>
<div style="display:flex;">
<a-input style="width:30%;"
@ -165,6 +164,10 @@
/>
</div>
</div>
<a-button
style="background:#086DEC"
type="primary"
@click="emits('getInfoList')">查询</a-button>
</template>
<Icon
style="font-size: 30px; cursor: pointer;margin-right: 10px;"

View File

@ -889,6 +889,7 @@
});
if (data) {
closePage();
rejectOpen.value = false
return createMessage.success('成功');
} else {
return createMessage.error('失败');