dianlixunjian
徐景良 2024-06-21 17:47:17 +08:00
parent fa43e86618
commit d63b28279b
14 changed files with 162 additions and 55 deletions

View File

@ -7,7 +7,10 @@ VITE_PUBLIC_PATH = /
# Basic interface address SPA
#VITE_GLOB_API_URL=/basic-api
#财源
VITE_GLOB_API_URL= http://192.168.10.102:9500
VITE_GLOB_API_URL= http://192.168.10.102:9023
# VITE_GLOB_API_URL = http://192.168.10.131:8989
#基础框架
# VITE_GLOB_API_URL=http://123.132.248.154:9104

View File

@ -67,7 +67,8 @@ enum Api {
UpdateNotice = '/api/DroneCaseinfo/UpdateMessage',
DeleteNotice = '/api/DroneCaseinfo/UpdateDelMessage',
UserList = '/api/users/load',
StatisticalList='/api/DroneCaseinfo/CaseSynthesisCensus',
// StatisticalList='/api/DroneCaseinfo/CaseSynthesisCensus',
StatisticalList = "/api/DroneCaseinfo/CaseSynthesisCensusSingle",
LoadNoticeDetail="/api/DroneCaseinfo/LoadMessage",
getChildrenTree = '/api/Orgs/LoadChildren',
GetUserRoles = '/api/Roles/UserRoles',

View File

@ -20,6 +20,9 @@ enum Api {
// 案件列表
// LoadCaseInfoList = '/api/DroneCaseinfo/LoadCaseInfoList',
LoadCaseInfoList = '/api/DroneCaseInfoSingle/LoadCaseInfoList',
// 导出案件
ExportCaseInfo = "/api/DroneCaseInfoSingle/DroneCaseInfoExport",
// 案件统计列表
// 获取GeoJson图层
GetDroneGeoJson = '/api/DroneCaseinfo/GetDroneGeoJson',
// 上报案件(案件判读保存)
@ -60,6 +63,10 @@ export function getCaseInfo(params?: caseFlowLogParams) {
export function getCaseInfoList(params?: caseInfoParams) {
return defHttp.get<caseInfoModel>({ url: Api.LoadCaseInfoList, params });
}
export function exportCaseInfo(params:string){
return defHttp.get<string>({ url: Api.ExportCaseInfo, params });
}
/**
* @description: getCaseFlowLog
*/

View File

@ -48,7 +48,16 @@ export interface caseInfoParams {
key?: string;
orgId?: string;
}
export type caseInfoModel = {
items: any[];
total: number;
};
// export interface caseInfo {
// id:string;
// caseName:string;
// caseDescription:string
// }
// export type caseInfoModel = caseInfo[];

View File

@ -215,7 +215,7 @@
</a-input>
</a-form-item>
<a-form-item label="属性数据" name="relationTable">
<a-form-item label="属性数据">
<a-input v-model:value="uploadFrom.attributeTable">
<template #addonAfter >
<PlusOutlined @click="handlerGetExistsTableList()" />
@ -223,11 +223,9 @@
</a-input>
</a-form-item>
<a-form-item label="查询字段" name="spaceType" >
<a-select v-model:value="uploadFrom.attributeFiled" placeholder="请选择数据类型">
<a-select-option value="point"></a-select-option>
<a-select-option value="linestring">线</a-select-option>
<a-select-option value="polygon"></a-select-option>
<a-form-item label="查询字段" >
<a-select v-model:value="uploadFrom.attributeField" placeholder="请选择数据类型">
<a-select-option v-for="(item,index) in filedOptions" :key="index" :value="item.dbColumnName">{{item.dbColumnName}}({{item.description}})</a-select-option>
</a-select>
</a-form-item>
@ -299,6 +297,12 @@
import { FILETYPE } from '../util'
import {ObjectToUrl} from '../src/tool'
import { addLayer } from '@/api/sys/layerManagement'
import { getOutKeyList } from '@/api/formdesign/index';
const filedOptions = ref([])
getOutKeyList({tableNames:"drone_caseinfo_single",dbCode:"hcsystemdb"}).then(res=>{
filedOptions.value = res[0].db_codecolumnsList
})
import {
getDataBaseTableList,
getImportBaseTableList,
@ -645,6 +649,7 @@ const handlerSelectTable = ()=> {
const handlerCancleSelectTable = ()=>{
openSelectTable.value = false;
}
</script>

View File

@ -262,10 +262,37 @@
},
}
}),"top-left");
//
applicationLayers.forEach((item,index)=>{
map.on("click",item.layer.id,(e)=>{
let state = findLayerAttributeInfo(applicationLayers,e.features[0].layer.id);
if(state){
createMessage.success("数据表:"+state.attributeTable+";查询字段:"+state.attributeField+"字段值:"+e.features[0].properties.gid)
console.log("EVEVEVE",state);
}
console.log("e.features[0]",e.features[0]);
// console.log("EVEVEVE",state);
// console.log("EVEVEVE",e.features);
})
})
});
});
//
const findLayerAttributeInfo = (layers,id)=>{
let layer = layers?.find((itme,index)=>{
return itme.layer.id == id;
})
if(layer){
if(layer.layer.state){
return layer.layer.state;
}else{
return false;
}
}
}
//
const handlerLoadTerrain = () => {
map.addSource('mapbox-dem', {

View File

@ -37,7 +37,7 @@
import print from "vue3-print-nb";
import { reactive, ref } from 'vue';
import { BasicTable, useTable, TableAction, BasicColumn } from '@/components/Table';
import { getCaseInfoList } from '@/api/monitor/index';
import { getCaseInfoList,exportCaseInfo } from '@/api/monitor/index';
import { useMessage } from '@/hooks/web/useMessage';
import { PermissionBtn } from '@/components/PermissionBtn/index';
import { searchFormSchema, columns } from './report.data';
@ -46,6 +46,12 @@
const { createConfirm, createMessage } = useMessage();
const searchInfo = reactive<Recordable>({});
import { getAppEnvConfig } from '@/utils/env';
const { VITE_GLOB_API_URL } = getAppEnvConfig();
const vPrint = print;
const printObj = reactive({
@ -82,23 +88,36 @@
handleSearchInfoFn(info) {
return info;
},
actionColumn: {
width: 80,
title: '操作',
dataIndex: 'action',
},
// actionColumn: {
// width: 80,
// title: '',
// dataIndex: 'action',
// },
});
const [registerModal, { openModal, setModalProps }] = useModal();
const caseId = ref('');
function onBtnClicked(domId) {
switch (domId) {
case 'btnExport':
createMessage.success("接口待对接!")
let rows = getSelectRows();
handlerDownLoad(rows[0].id);
break;
default:
break;
}
}
function handlerDownLoad(id){
try{
exportCaseInfo({id:id}).then(res=>{
window.open(VITE_GLOB_API_URL+"/"+res,"_blank");
});
}catch(e){
createMessage.warning("导出失败!");
console.log(e);
}
}
function viewDetail(record) {
console.log(record);
caseId.value = record.id;

View File

@ -8,23 +8,23 @@ type CheckedType = boolean | string | number;
export const columns: BasicColumn[] = [
{
title: '案件编号',
dataIndex: 'case_no',
dataIndex: 'caseNo',
width: 200,
},{
title: '案件描述',
dataIndex: 'case_description',
dataIndex: 'caseDescription',
width: 200,
},{
title: '办结状态',
dataIndex: 'handle_status_name',
dataIndex: 'handleStatusName',
width: 200,
},{
title: '上报人',
dataIndex: 'createusername',
dataIndex: 'createUsername',
width: 200,
},{
title: '上报时间',
dataIndex: 'createtime',
dataIndex: 'createTime',
width: 200,
}
];

View File

@ -24,7 +24,8 @@
<script lang="ts" setup>
import { reactive,ref,defineProps,watch } from 'vue';
import { BasicModal, useModal } from '@/components/Modal';
import { getCaseInfoList } from '@/api/demo/system';
// import { getCaseInfoList } from '@/api/demo/system';
import { getCaseInfoList } from '@/api/monitor/index';
// import { CaseView } from '@/views/demo/monitor/index';
const [registerModal, { openModal, setModalProps }] = useModal();
@ -35,36 +36,33 @@ const props = defineProps<{
const caseId = ref('');
let columns = reactive({data:[],col:[{
title: '案件编号',
dataIndex: 'case_no',
dataIndex: 'caseNo',
},
{
title: '社区/村',
dataIndex: 'communityname',
dataIndex: 'communityName',
},
{
title: '案件描述',
dataIndex: 'case_description',
dataIndex: 'caseDescription',
},{
title: '所属类型',
dataIndex: 'typename',
dataIndex: 'typeName',
},{
title: '处理人',
dataIndex: 'deal_username',
dataIndex: 'dealUsername',
},{
title: '处理时间',
dataIndex: 'deal_time',
dataIndex: 'dealTime',
},{
title: '审核人',
dataIndex: 'verifyuser',
dataIndex: 'verifyUser',
},{
title: '审核时间',
dataIndex: 'verifytime',
dataIndex: 'verifyTime',
},{
title: '案件状态',
dataIndex: 'handle_status_name',
},{
title: '操作',
dataIndex: 'action',
dataIndex: 'handleStatusName',
}]});
let total = ref(0)

View File

@ -6,7 +6,12 @@
</template>
<template #bodyCell="{ column, record }">
<!-- 乡镇 -->
<template v-if="column.key === 'streetname'">
<a v-if="currentOrgLevel == 'country'" @click="getOrgCaseList(column,record)">{{record.streetname}}</a>
<span v-if="currentOrgLevel == 'street'">{{record.streetname}}</span>
</template>
<!-- 无人机发现数量 -->
<template v-if="column.key === 'allCount'">
<a @click="handlePreViewData(column,record)">{{record.allCount}}</a>
@ -154,13 +159,17 @@
const [registerModal, { openModal: openRoleModal }] = useModal();
const [registerModulesModal, { openModal: openModulesModal }] = useModal();
const [registerAccountModal, { openModal: openAccountModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const searchInfo = reactive<Recordable>({
countyid:null
});
const currentOrgLevel = ref<string>("country")
const showRecordList = ref<boolean>(false);
const panes = reactive<{ title: string; content: string; key: string; closable?: boolean}[]>([])
const [registerTable, { reload, getSelectRows, clearSelectedRowKeys }] = useTable({
const [registerTable, { reload, getSelectRows, clearSelectedRowKeys, updateTableData}] = useTable({
//
title: '统计报表',
//
@ -176,6 +185,8 @@
useSearchForm: true,
//
showTableSetting: true,
//
pagination:false,
//
bordered: true,
//
@ -264,7 +275,8 @@
//
interface searchListSchema{
is_intact?:number;
streetid?:string;
streetid?:number;
countryid?:number;
identification_start_time?:string;
identification_end_time?:string;
page?:number;
@ -287,8 +299,8 @@
function handlePreViewData(column,record:Recordable){
const searchForm = reactive<searchListSchema>({
streetid:record.streetid,
identification_start_time:"",
identification_end_time:"",
is_intact:1,
@ -296,6 +308,14 @@
limit:10,
})
if(currentOrgLevel.value == 'country'){
searchForm.countryid = record.streetid;
}else if(currentOrgLevel.value == 'street'){
searchForm.streetid = record.streetid;
}
console.log("searchForm",searchForm);
switch(column.dataIndex){
case 'allCount':
break;
@ -379,6 +399,20 @@
showRecordList.value = true;
currentListQuery.listQuery = searchForm
}
//
function getOrgCaseList(column,record:Recordable){
if(currentOrgLevel.value == 'country'){
currentOrgLevel.value = 'street'
}else if(currentOrgLevel.value == 'street'){
currentOrgLevel.value = 'country'
}
searchInfo.countyid = record.streetid;
reload();
}
function handleCloseAllRecordList(){
for(let i=0;i<tablist.length;i++){
@ -429,13 +463,19 @@
createMessage.success("接口待对接!")
}
function handleSuccess() {
clearSelectedRowKeys();
reload();
reloadDataPreview();
}
function onBtnClicked(domId) {
switch (domId) {
case 'btnBack':
currentOrgLevel.value = 'street'
getOrgCaseList({},{streetid:null});
break;
case 'btnAdd':
handleCreate();
break;

View File

@ -9,7 +9,7 @@ type CheckedType = boolean | string | number;
export const columnsDataPreview: BasicColumn[] = [
{
title: '乡镇(街道)',
title: '机构',
dataIndex: 'streetname',
width: 120,
},{
@ -186,12 +186,6 @@ export const columns: BasicColumn[] = [
];
export const searchFormSchema: FormSchema[] = [
{
field: 'key',
label: '关键字段',
component: 'Input',
colProps: { span: 6 },
},
{
field: '[startDate, endDate]',
label: '日期范围',

View File

@ -9,7 +9,7 @@ type CheckedType = boolean | string | number;
export const columnsDataPreview: BasicColumn[] = [
{
title: '乡镇(街道)',
title: '机构',
dataIndex: 'streetname',
width: 120,
},{
@ -147,7 +147,7 @@ export const columnsDataPreview: BasicColumn[] = [
export const columns: BasicColumn[] = [
{
title: '乡镇(街道)',
title: '机构',
dataIndex: 'streetname',
width: 120,
},{
@ -284,12 +284,12 @@ export const columns: BasicColumn[] = [
];
export const searchFormSchema: FormSchema[] = [
{
field: 'key',
label: '关键字段',
component: 'Input',
colProps: { span: 6 },
},
// {
// field: 'key',
// label: '关键字段',
// component: 'Input',
// colProps: { span: 6 },
// },
{
field: '[identification_start_time, identification_end_time]',
label: '日期范围',

View File

@ -790,7 +790,9 @@
}
function getFormSuccess(formData) {
handlerShowGeomtrys(designerData.formCurrentNode, formData);
if(mapConfig.value.isShowMap){
handlerShowGeomtrys(designerData.formCurrentNode, formData);
}
}
async function handlerShowGeomtrys(currentNode, formData) {

View File

@ -429,7 +429,9 @@
}
function getFormSuccess(formData){
handlerShowGeomtrys(designerData.formCurrentNode,formData);
if(mapConfig.value.isShowMap){
handlerShowGeomtrys(designerData.formCurrentNode, formData);
}
}
async function handlerShowGeomtrys(currentNode,formData) {