徐景良 2024-11-09 16:56:36 +08:00
commit 464b651108
12 changed files with 100 additions and 49 deletions

View File

@ -37,6 +37,8 @@ const typeObj = {
'重点问题I类': '/api/DroneCaseInfoZdwt1/',
'重点问题II类': '/api/DroneCaseInfoZdwt2/',
'巡察审计': '/api/DroneCaseInfoXcsj/',
'生态保护红线监管': '/api/DroneCaseInfoSTHX/',
'生态修复': '/api/DroneCaseInfoSTXF/',
}
const infoShpData = {
'违法用地': 'UpdateCaseInfoShpData',
@ -55,6 +57,8 @@ const closeCaseApi = {
'重点问题I类': 'CloseCaseInfoZdwt1',
'重点问题II类': 'CloseCaseInfoZdwt2',
'巡察审计': 'CloseCaseInfoXCSJ',
'生态保护红线监管': 'CloseSTHXCaseInfo',
'生态修复': 'CloseSTXFCaseInfo',
}
export function LoadCaseInfoLists(type, params){

View File

@ -42,6 +42,7 @@ enum Api {
DeleteMenu = '/api/Modules/Delete',
DeleteButton = '/api/Modules/DeleteMenu',
MenuDetail = '/api/Modules/ModuleById',
AllModuleDetail = '/api/Modules/AllModule',
PositionList = '/api/SysPosition/Load',
AddPosition = '/api/SysPosition/Add',
PosGroupList = '/api/SysPosGroup/Load',
@ -296,6 +297,7 @@ export function assignModule(params) {
}
export const getMenuDetail = (params?: MenuParams) => defHttp.get({ url: Api.MenuDetail, params });
export const getAllModuleDetail = () => defHttp.get({ url: Api.AllModuleDetail });
export const getMenuList = (params?: MenuParams) =>
defHttp.get<MenuListGetResultModel>({ url: Api.MenuList, params });

View File

@ -254,6 +254,7 @@ const showProgress = () => {
const preview = () => {
LoadCaseImportInfoLast({ subjectname: type}).then(res => {
console.log(res)
if(res == "") return message.warning("当前没有未导入数据")
picihao.value = res
openImportModal.value = true
})

View File

@ -22,7 +22,7 @@ export const SubjectKeyObj = {
'耕地非粮化': 'Subject_GDFLH', //耕地非粮化
'重点问题I类': 'Subject_ZDWT1', //重点问题I类
'重点问题II类': 'Subject_ZDWT2', //重点问题II类
'生态保护红线监管': 'Subject_STBHHXJG', //生态保护红线监管
'生态保护红线监管': 'Subject_STHX', //生态保护红线监管
'生态修复': 'Subject_STXF', //生态修复
}
export const codeObj = {

View File

@ -72,6 +72,12 @@ export const columns: BasicColumn[] = [
fixed: 'right',
width: 100,
},
{
title: '上报率',
dataIndex: 'sbl',
fixed: 'right',
width: 100,
},
];
// 无人机发现违法行为情况统计明细表-搜索
@ -84,7 +90,7 @@ export const searchFormSchema: FormSchema[] = [
componentProps: {
format: 'YYYY-MM-DD',
placeholder: ['开始日期', '结束日期'],
defaultValue: [dayjs(dayjs().add(-1, 'day'), 'YYYY-MM-DD'), dayjs(dayjs().add(-1, 'day'), 'YYYY-MM-DD')]
defaultValue: [dayjs('2024-08-01', 'YYYY-MM-DD'), dayjs(dayjs().add(-1, 'day'), 'YYYY-MM-DD')]
},
},
];

View File

@ -6,16 +6,13 @@
</template>
<template #bodyCell="{ column, record }">
<!-- 整改率 -->
<template v-if="column.key === 'zgl'">
{{ record.zgl }}%
</template>
<template v-if="column.key === 'zgl'"> {{ record.zgl }}% </template>
<!-- 驳回率 -->
<template v-if="column.key === 'bhl'">
{{ record.bhl }}%
</template>
</template>
<template v-if="column.key === 'bhl'"> {{ record.bhl }}% </template>
<!-- 上报率 -->
<template v-if="column.key === 'sbl'"> {{ record.sbl }}% </template>
</template>
</BasicTable>
</div>
</template>
@ -56,17 +53,28 @@
pagination: false,
beforeFetch: (data) => {
//
//
var temp = {
startTime: data.startTime
? dayjs(data.startTime).startOf('day').format('YYYY-MM-DD')
: dayjs().startOf('day').add(-1, 'day').format('YYYY-MM-DD'),
endTime: data.endTime
? dayjs(data.endTime).endOf('day').format('YYYY-MM-DD HH:mm:ss')
: dayjs().endOf('day').add(-1, 'day').format('YYYY-MM-DD HH:mm:ss'),
};
searchParams.value = temp;
return temp;
console.log(data);
//
if (Object.keys(data).length == 0) {
var temp = {
startTime: dayjs('2024-08-01').startOf('day').format('YYYY-MM-DD'),
endTime: dayjs().endOf('day').add(-1, 'day').format('YYYY-MM-DD HH:mm:ss'),
};
searchParams.value = temp;
return temp;
}
//
if (data.startTime && data.endTime) {
var temp = {
startTime: dayjs(data.startTime).startOf('day').format('YYYY-MM-DD'),
endTime: dayjs(data.endTime).endOf('day').format('YYYY-MM-DD HH:mm:ss'),
};
searchParams.value = temp;
return temp;
}
if (data.startTime === null || data.endTime === undefined) {
searchParams.value = {};
}
},
afterFetch: (res) => {},
});

View File

@ -272,8 +272,8 @@
});
const markTypeOptions = ref([
{ label: '合法', value: '合法' },
{ label: '违法', value: '违法' },
{ label: '其他', value: '其他' },
{ label: '非粮化', value: '非粮化' },
]);
const dataList = ref([]);

View File

@ -272,8 +272,9 @@
});
const markTypeOptions = ref([
{ label: '合法', value: '合法' },
{ label: '违法', value: '违法' },
{ label: '其他', value: '其他' },
{ label: '非粮化', value: '非粮化' },
{ label: '自建自用', value: '自建自用' },
]);
const dataList = ref([]);

View File

@ -171,8 +171,8 @@
<div class="info-data-data">{{ item.receivetask }}</div>
</div>
<div class="info-data-item">
<div class="info-data-label">非粮化</div>
<div class="info-data-data">{{ item.nonfoodcase }}</div>
<div class="info-data-label">举证违法</div>
<div class="info-data-data">{{ item.illegal }}</div>
</div>
<!-- <div style="width: 1px;margin-right:15px;margin-left:30px;background-color:#EDEDED;height: 15px;"></div> -->
<div class="info-data-item">

View File

@ -273,7 +273,7 @@
const markTypeOptions = ref([
{ label: '合法', value: '合法' },
{ label: '其他', value: '其他' },
{ label: '非粮化', value: '非粮化' },
{ label: '违法', value: '违法' },
]);
const dataList = ref([]);

View File

@ -19,7 +19,7 @@
<script lang="ts" setup>
import { onMounted, ref, h, nextTick, unref } from 'vue';
import { BasicTree, TreeItem, TreeActionItem, TreeActionType } from '@/components/Tree';
import { getMenuList, deleteMenu, getMenuDetail, getSpecialData } from '@/api/demo/system';
import { getMenuList, deleteMenu, getAllModuleDetail, getSpecialData } from '@/api/demo/system';
import { FormOutlined, DeleteOutlined } from '@ant-design/icons-vue';
import { router } from '@/router';
import { useMessage } from '@/hooks/web/useMessage';
@ -33,29 +33,27 @@
const asyncExpandTreeRef = ref<Nullable<TreeActionType>>(null);
async function fetch() {
treeData.value = (await getMenuList()) as unknown as TreeItem[];
treeData.value.forEach((item, index) => {
getMenuDetailById(item).then((res) => {
let title = specialMenu.value.find((sp) => {
return sp.id == res.moduleTypeId;
})?.title;
if (title) {
treeData.value[index].name = item.name = item.name + ' ' + title + ')';
setTimeout(() => {
treeData.value.forEach((item, index) => {
let moduleDetail = allModuleDetail.value?.find((detail) => {
return detail.id == item.id;
});
if (moduleDetail) {
let title = specialMenu.value.find((sp) => {
return sp.id == moduleDetail.moduleTypeId;
})?.title;
if (title) {
treeData.value[index].name = item.name = item.name + ' ' + title + ')';
}
}
});
});
}, 500);
//
nextTick(() => {
unref(asyncExpandTreeRef)?.expandAll(true);
});
}
async function getMenuDetailById(node) {
return await getMenuDetail({
id: node.id,
});
}
function handleSelect(keys) {
emit('select', keys[0]);
}
@ -120,10 +118,15 @@
async function specialData() {
specialMenu.value = await getSpecialData();
}
const allModuleDetail = ref();
async function funGetAllModuleDetail() {
allModuleDetail.value = await getAllModuleDetail();
}
onMounted(() => {
fetch();
funGetAllModuleDetail();
specialData();
fetch();
});
defineExpose({
fetch,

View File

@ -54,6 +54,7 @@
<script setup lang="ts">
import { ref, onMounted, reactive, watch, createVNode, unref } from 'vue';
import { Modal, message } from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { useModal } from '@/components/Modal';
import { BasicTable, useTable } from '@/components/Table';
import { PermissionBtn } from '@/components/PermissionBtn/index';
@ -92,7 +93,7 @@
//
let nowPage = 0;
let nowLimit = 0;
let total = 0;
const total = ref(0);
//
const registerTableData = ref([]);
@ -121,11 +122,21 @@
//
nowPage = pagination.current;
nowLimit = pagination.pageSize || pagination.defaultPageSize;
total = pagination.total;
if (pagination.total) {
total.value = pagination.total;
} else {
getTotal();
}
//
registerTableData.value = res;
},
});
// -
async function getTotal() {
let res = await LoadDataBaseInfo({ page: nowPage, limit: nowLimit });
total.value = res.total;
}
//
const changeIsShow = (record) => {
UpdateIsShow({ id: record.id, isshow: record.isShow })
@ -155,7 +166,7 @@
appShow: false,
isExternal: false,
linkOrApi: '',
sort: total + 1,
sort: total.value + 1,
imgUrl: '',
};
openModal(true, temp_add);
@ -175,9 +186,21 @@
message.warning('请选择一条数据');
return;
}
await DeleteEntity({ id: getSelectRows()[0].id });
closeModal();
reload();
Modal.confirm({
title: '是否确认删除?',
icon: createVNode(ExclamationCircleOutlined),
onCancel() {},
onOk() {
DeleteEntity({ id: getSelectRows()[0].id }).then((res) => {
if (res) {
reload();
setTimeout(() => {
getTotal();
}, 500);
}
});
},
});
break;
}
};
@ -186,6 +209,9 @@
await AddOrUpdateForm(data);
closeModal();
reload();
setTimeout(() => {
getTotal();
}, 500);
}
//
async function sortUp(index, record) {