刘妍 2024-07-17 17:23:30 +08:00
commit e6b1d537cc
9 changed files with 117 additions and 94 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@ -198,10 +198,10 @@
} else if (dataIndex == 'measure_name') {
//
switch (recordValue) {
case 0:
case '0':
result = '拆除复耕';
break;
case 1:
case '1':
result = '补办手续';
break;
}

View File

@ -117,10 +117,10 @@
<a-modal v-model:open="open" title="导出表格类型" :footer="null">
<div v-if="showRecordList">
<a-button class="exportbutton" @click="handleExport('chuantou_execl')">
案件信息execl
统计明细案件信息execl
</a-button>
<a-button class="exportbutton" @click="handleExport('chuantou_shp')">
图斑信息shp
统计明细矢量数据shp
</a-button>
</div>
<div v-else>
@ -314,7 +314,6 @@
function handleTabChange(e) {
currentListQuery.listQuery = tablist[e].listQuery;
}
// 穿
function handleCloseRecordList() {
showRecordList.value = false;
@ -345,7 +344,7 @@
// 穿-execl
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExprotCaseListByType';
fileName =
'案件信息 ' +
'统计明细案件信息 ' +
tablist[activeKey.value].countyname +
'_' +
tablist[activeKey.value].label +
@ -355,7 +354,7 @@
// 穿-shp
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportShapefile';
fileName =
'图斑信息 ' +
'统计明细矢量数据 ' +
tablist[activeKey.value].countyname +
'_' +
tablist[activeKey.value].label +

View File

@ -81,7 +81,7 @@
<div class="info-data-label">下发</div>
<div class="info-data-data">{{item.totaltask}}</div>
</div>
<div
<!-- <div
style="
width: 1px;
margin-right: 15px;
@ -89,12 +89,12 @@
background-color: #ededed;
height: 15px;
"
></div>
></div> -->
<div class="info-data-item">
<div class="info-data-label">接收</div>
<div class="info-data-data">{{item.receivetask}}</div>
</div>
<div
<!-- <div
style="
width: 1px;
margin-right: 15px;
@ -102,12 +102,12 @@
background-color: #ededed;
height: 15px;
"
></div>
></div> -->
<div class="info-data-item">
<div class="info-data-label">非粮化</div>
<div class="info-data-data">{{ item.nonfoodcase }}</div>
</div>
<div
<!-- <div
style="
width: 1px;
margin-right: 15px;
@ -115,12 +115,12 @@
background-color: #ededed;
height: 15px;
"
></div>
></div> -->
<div class="info-data-item">
<div class="info-data-label">拆除复耕</div>
<div class="info-data-data">{{ item.rehabilitationcase }}</div>
</div>
<div
<!-- <div
style="
width: 1px;
margin-right: 15px;
@ -128,7 +128,7 @@
background-color: #ededed;
height: 15px;
"
></div>
></div> -->
<div class="info-data-item">
<div class="info-data-label">补办手续</div>
<div class="info-data-data">{{ item.makeupcase }}</div>
@ -252,15 +252,15 @@
height: 61px;
display: flex;
align-items: center;
padding-left: 2px;
// padding-left: 2px;
// justify-content: space-between;
// margin-top: 10px;
.info-data-item {
display: flex;
align-items: center;
// flex: 1;
flex: 1;
justify-content: center;
// border-right: 1px solid #EDEDED;
border-right: 1px solid #EDEDED;
.info-data-label {
font-family: Alibaba PuHuiTi;
font-weight: 400;

View File

@ -4,7 +4,6 @@
<template #toolbar>
<PermissionBtn @btn-event="onBtnClicked" />
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
@ -25,7 +24,7 @@
图斑汇总统计报表execl
</a-button>
<a-button class="exportbutton" @click="handleExport('shp')">
图斑汇总统计信息shp
图斑汇总矢量数据shp
</a-button>
</div>
</a-modal>
@ -102,9 +101,8 @@
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoTuBanList';
fileName = '图斑汇总统计报表' + new Date().getTime() + '.xls';
} else if (exportType == 'shp') {
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoTuBanList';
fileName = '图斑汇总统计信息' + new Date().getTime() + '.shp';
return;
url = VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoShapefile';
fileName = '图斑汇总矢量数据' + new Date().getTime() + '.shp';
}
axios({
method: 'post',

View File

@ -70,17 +70,17 @@
<div class="info-data-label">下发</div>
<div class="info-data-data">{{item.totaltask}}</div>
</div>
<div style="width: 1px;margin-right:27px;margin-left:31px;background-color:#EDEDED;height: 15px;"></div>
<!-- <div style="width: 1px;margin-right:27px;margin-left:31px;background-color:#EDEDED;height: 15px;"></div> -->
<div class="info-data-item">
<div class="info-data-label">接收</div>
<div class="info-data-data">{{item.receivetask}}</div>
</div>
<div style="width: 1px;margin-right:15px;margin-left:30px;background-color:#EDEDED;height: 15px;"></div>
<!-- <div style="width: 1px;margin-right:15px;margin-left:30px;background-color:#EDEDED;height: 15px;"></div> -->
<div class="info-data-item">
<div class="info-data-label">举证合法</div>
<div class="info-data-data">{{item.legalcase}}</div>
</div>
<div style="width: 1px;margin-right:18px;margin-left:17px;background-color:#EDEDED;height: 15px;"></div>
<!-- <div style="width: 1px;margin-right:18px;margin-left:17px;background-color:#EDEDED;height: 15px;"></div> -->
<div class="info-data-item">
<div class="info-data-label">举证其他</div>
<div class="info-data-data">{{item.ilegalcase}}</div>
@ -111,6 +111,7 @@
<style lang="less" scoped>
.screen-div {
width:590px;
padding: 22px 12px 14px 13px;
.screen-row {
display: flex;
@ -190,15 +191,15 @@
height: 61px;
display: flex;
align-items: center;
padding-left: 27px;
// padding-left: 27px;
// justify-content: space-between;
// margin-top: 10px;
.info-data-item{
display: flex;
align-items: center;
// flex: 1;
flex: 1;
justify-content: center;
// border-right: 1px solid #EDEDED;
border-right: 1px solid #EDEDED;
.info-data-label{
font-family: Alibaba PuHuiTi;
font-weight: 400;

View File

@ -101,6 +101,7 @@
year: year.value,
tubanlaiyuan: patchSource.value,
picihao: batch.value,
illegal: 1,
});
dataList.value = data;
}

View File

@ -2,7 +2,10 @@
<div class="subject">
<div class="subject_header">
<div class="subject_header_title">
<span> {{ t('sys.subject.header_title') }}</span>
<span>
<img src="/subject/subject_logo.png" />
{{ t('sys.subject.header_title') }}
</span>
</div>
<div class="subject_header_adminAndLogout">
<img src="/subject/subject_header_admin.png" />
@ -20,46 +23,45 @@
:id="item.id"
class="subject_box_btn_div"
@click="getHome(item)"
:style="{
'background-image': `url(${index % 2 == 0 ? '/subject/subject_btn_1.png' : '/subject/subject_btn_2.png'})`,
'background-size': 'cover',
'background-repeat': 'no-repeat',
}"
>
<img
class="subject_box_btn_div_bg"
src="/subject/subject_btn_1.png"
v-if="index % 2 == 0"
/>
<img class="subject_box_btn_div_bg" src="/subject/subject_btn_2.png" v-else />
<img class="subject_box_btn_div_url" :src="getImageUrl(item.imgUrl)" />
<span
class="subject_box_btn_div_span"
:style="{ height: `${23 * spanWrap}px` }"
:style="{ height: `${28 * spanWrap + 8}px` }"
v-html="renderedTitle(item.title)"
/>
<img
class="subject_box_btn_div_line"
src="/subject/subject_line.png"
:style="{
top: `${12 * getWrap(item.title) - 313 - 12 * (spanWrap - 1)}px`,
top: `${14 * getWrap(item.title) - 14 * (spanWrap - 1) - 8}px`,
}"
/>
<div class="circle arc1"></div>
<div class="circle arc2"></div>
<div class="circle arc3"></div>
<div class="circle arc4"></div>
<div class="circle arc1" :style="{ top: `${-125 - 28 * spanWrap}px` }" />
<div class="circle arc2" :style="{ top: `${-251 - 28 * spanWrap}px` }" />
<div class="circle arc3" :style="{ top: `${-377 - 28 * spanWrap}px` }" />
<div class="circle arc4" :style="{ top: `${-503 - 28 * spanWrap}px` }" />
</div>
</div>
<div class="subject_box_overflow">
<Icon
v-if="list.length > 7"
v-if="list.length > 14"
style="font-size: 31px"
class="subject_box_overflow_icon1"
icon="ant-design:right-outlined"
@click="scrollToElement('right')"
icon="ant-design:up-outlined"
@click="scrollToElement('top')"
/>
<Icon
v-if="list.length > 7"
v-if="list.length > 14"
style="font-size: 31px"
class="subject_box_overflow_icon2"
icon="ant-design:left-outlined"
@click="scrollToElement('left')"
icon="ant-design:down-outlined"
@click="scrollToElement('bottom')"
/>
</div>
</div>
@ -88,7 +90,7 @@
const VITE_GLOB_API_URL_VAR = ref<String>(VITE_GLOB_API_URL + '/');
const { t } = useI18n();
const loginUser: any = ref('');
const loginUser: any = ref('');
const contentArea = ref<HTMLElement | null>(null);
const list: any = ref([]);
const userStore = useUserStore();
@ -98,8 +100,8 @@
const res: any = await getSpecialData();
//
res?.forEach((item) => {
if (Math.ceil(item.title.length / 10) > spanWrap.value) {
spanWrap.value = Math.ceil(item.title.length / 10);
if (Math.ceil(item.title.length / 6) > spanWrap.value) {
spanWrap.value = Math.ceil(item.title.length / 6);
}
});
list.value = res;
@ -130,22 +132,28 @@
//
const scrollToElement = async (type) => {
if (contentArea.value) {
if (type == 'left' && contentArea.value.scrollLeft != 0) {
contentArea.value.scrollLeft = contentArea.value.scrollLeft - 245;
if (type == 'top' && contentArea.value.scrollTop != 0) {
contentArea.value.scrollTop = contentArea.value.scrollTop - 344;
}
if (type == 'right' && contentArea.value.scrollLeft != contentArea.value.scrollWidth) {
contentArea.value.scrollLeft = contentArea.value.scrollLeft + 245;
if (type == 'bottom' && contentArea.value.scrollTop != contentArea.value.scrollHeight) {
contentArea.value.scrollTop = contentArea.value.scrollTop + 344;
}
}
};
//
async function getHome(item) {
console.log(window.innerWidth);
if (!item.isDevelop) {
message.warn('暂未开放!');
message.warn(item.title + '系统暂未开放!');
return;
}
if (item.isExternal) {
window.location.href = item.linkOrApi;
if (item.linkOrApi) {
window.location.href = item.linkOrApi;
} else {
message.warn('系统外部链接未配置!');
return;
}
} else {
if (!item.linkOrApi) {
item.linkOrApi = PageEnum.WELCOME_HOME;
@ -163,11 +171,11 @@
}
//
function renderedTitle(name) {
return name.replace(/\s/g, '<br />');
return `${name.replace(/\s/g, '<br />')}`;
}
//
function getWrap(name) {
return Math.ceil(name.length / 10);
return Math.ceil(name.length / 6);
}
// 退
function handleLoginOut() {
@ -196,7 +204,18 @@
width: 100%;
&_title {
position: relative;
top: -5px;
span {
img {
position: relative;
top: 3px;
width: 78px;
height: 71px;
margin-right: 10px;
}
display: inline-flex;
align-items: center;
text-align: center;
@ -205,8 +224,10 @@
height: 82px;
font-family: 068-SSZhengYaTi;
font-weight: 400;
font-size: 44px;
font-size: 42px;
color: #ffffff;
font-weight: 900 !important;
letter-spacing: 2px;
}
}
@ -244,18 +265,23 @@
display: flex;
&_btn {
position: relative;
top: 190px;
left: 100px;
height: 400px;
width: 1720px;
align-items: center;
display: flex;
overflow-x: auto;
overflow-y: hidden;
flex-wrap: wrap;
position: relative;
top: 50px;
left: 110px;
height: 688px;
width: calc(100vw - 220px);
display: flex;
overflow-x: hidden;
overflow-y: auto;
&_div {
flex: 0 0 auto;
margin-right: 20px;
width: 225px;
margin-bottom: 20px;
width: 220px;
height: 324px;
transition: all 0.3s ease;
@ -289,41 +315,39 @@
&_url {
position: relative;
top: -300px;
left: 17px;
top: 0px;
left: 11px;
width: 191px;
height: 191px;
}
&_line {
position: relative;
left: 48px;
width: 128px;
height: 7px;
}
&_span {
display: inline-flex;
align-items: center;
text-align: center;
justify-content: center;
position: relative;
top: -300px;
left: 8px;
width: 210px;
height: 4px;
// top: -300px;
left: 12px;
width: 190px;
//
font-size: 20px;
font-size: 28px;
font-family: 068-SSZhengYaTi;
font-family: 'Microsoft YaHei';
color: #ffffff;
text-shadow: 0px 2px 10px rgba(10, 30, 52, 0.48);
background: linear-gradient(0deg, #6da7ff 0%, #e2ebff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
color: transparent;
font-weight: bold !important;
font-weight: 900 !important;
}
&_line {
position: relative;
left: 42px;
width: 128px;
height: 7px;
}
}
}
@ -333,7 +357,7 @@
top: 190px;
left: 100px;
height: 300px;
width: 100px;
width: 110px;
&_icon1 {
color: #006cff;
@ -380,16 +404,16 @@
.arc1 {
position: relative;
top: -442px;
left: 114px;
// top: -142px;
left: 108px;
clip-path: inset(0 55% 55% 0);
animation: rotateArc1 8s linear infinite;
}
.arc2 {
position: relative;
top: -568px;
left: 114px;
top: -268px;
left: 108px;
clip-path: inset(55% 0 0 55%);
transform: rotate(90deg);
animation: rotateArc2 8s linear infinite;
@ -397,8 +421,8 @@
.arc3 {
position: relative;
top: -694px;
left: 114px;
top: -394px;
left: 108px;
clip-path: inset(0 55% 55% 0);
transform: rotate(180deg);
animation: rotateArc3 8s linear infinite;
@ -406,8 +430,8 @@
.arc4 {
position: relative;
top: -820px;
left: 114px;
top: -520px;
left: 108px;
clip-path: inset(55% 0 0 55%);
transform: rotate(270deg);
animation: rotateArc4 8s linear infinite;