From a1eba4faf3f433b0e18015b94859307ea3b18b06 Mon Sep 17 00:00:00 2001
From: zhufu <17863654727@163.com>
Date: Fri, 12 Dec 2025 16:30:25 +0800
Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E5=B7=A1=E6=A3=80=E4=B8=93?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/dailycheck/index.ts | 14 +
src/components/MapboxMaps/MapComponent.vue | 7 +
.../demo/dailycheck/ShowInfoModal/index.vue | 395 ++++++++++++++++++
src/views/demo/dailycheck/index.vue | 122 ++++++
src/views/demo/dailycheck/utils.ts | 156 +++++++
src/views/sys/exception/Converge/index.vue | 2 +-
6 files changed, 695 insertions(+), 1 deletion(-)
create mode 100644 src/api/dailycheck/index.ts
create mode 100644 src/views/demo/dailycheck/ShowInfoModal/index.vue
create mode 100644 src/views/demo/dailycheck/index.vue
create mode 100644 src/views/demo/dailycheck/utils.ts
diff --git a/src/api/dailycheck/index.ts b/src/api/dailycheck/index.ts
new file mode 100644
index 00000000..59e94076
--- /dev/null
+++ b/src/api/dailycheck/index.ts
@@ -0,0 +1,14 @@
+import { defHttp } from '@/utils/http/axios';
+enum Api {
+ LoadRcxjCaseinfo = '/api/DroneCaseInfoRcjg/LoadRcxjCaseinfo',
+ UpdateStatus = '/api/DroneCaseInfoRcjg/UpdateStatus',
+}
+
+export function LoadRcxjCaseinfo(params){
+ return defHttp.get({ url: Api.LoadRcxjCaseinfo, params });
+}
+export function UpdateStatus(id){
+ return defHttp.post({
+ url: `${Api.UpdateStatus}?id=${id}`,
+ });
+}
\ No newline at end of file
diff --git a/src/components/MapboxMaps/MapComponent.vue b/src/components/MapboxMaps/MapComponent.vue
index 76a05eb5..b63234d2 100644
--- a/src/components/MapboxMaps/MapComponent.vue
+++ b/src/components/MapboxMaps/MapComponent.vue
@@ -1778,6 +1778,12 @@
createMessage.error('请传入操作类型!');
}
};
+ const handlerShowPoint = (lng, lat) => {
+ new mapboxgl.Marker({
+ color: 'red' // 点的颜色
+ }).setLngLat([lng, lat]).addTo(map);
+ handlerLocation([lng,lat])
+ }
const currentGeoJson = ref({});
const editGeoJson = ref({})
@@ -2359,6 +2365,7 @@
handlerCancleDraw,
handlerLoadPictureAzimuth,
handlerCurrentImageChange,
+ handlerShowPoint,
});
diff --git a/src/views/demo/dailycheck/ShowInfoModal/index.vue b/src/views/demo/dailycheck/ShowInfoModal/index.vue
new file mode 100644
index 00000000..da785c46
--- /dev/null
+++ b/src/views/demo/dailycheck/ShowInfoModal/index.vue
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
+
+ {{ props.showInfoData.case_no }}
+
+
+ {{ props.showInfoData.countyname }}
+
+
+ {{ props.showInfoData.streetname }}
+
+
+ {{ props.showInfoData.communityname }}
+
+
+ {{ getLabel('typename', props.showInfoData.typename) }}
+
+
+ {{ getLabel('tubanlaiyuan', props.showInfoData.tubanlaiyuan) }}
+
+
+ {{ props.showInfoData.createtime }}
+
+
+ {{ props.showInfoData.lng }}
+
+
+ {{ props.showInfoData.lat }}
+
+
+ {{ props.showInfoData.case_description }}
+
+
+ {{ getLabel('biaozhu', props.showInfoData.biaozhu) }}
+
+
+
+
+
+
确认
+
+
+
+
+
+
+ 取消
+ 下载
+
+
+
+
+
+
+
+
+
diff --git a/src/views/demo/dailycheck/index.vue b/src/views/demo/dailycheck/index.vue
new file mode 100644
index 00000000..160d7a3e
--- /dev/null
+++ b/src/views/demo/dailycheck/index.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+ {{ getLabel(column.dataIndex, text) }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/demo/dailycheck/utils.ts b/src/views/demo/dailycheck/utils.ts
new file mode 100644
index 00000000..d374de24
--- /dev/null
+++ b/src/views/demo/dailycheck/utils.ts
@@ -0,0 +1,156 @@
+import { BasicColumn, FormSchema } from '@/components/Table';
+import { getChildrenTree } from '@/api/demo/system';
+import { getLoad } from '@/api/sys/sysDataItemDetail';
+import { asyncGetOptions } from '@/utils/global'
+import dayjs from 'dayjs';
+
+export const typenameOptions = await asyncGetOptions('rcxjxslx');
+export const tubanlaiyuanOptions = await asyncGetOptions('rcxjxsly');
+
+export const columns: BasicColumn[] = [
+ {
+ title: '线索编号',
+ dataIndex: 'case_no',
+ width: 240
+ },
+ {
+ title: '县区',
+ dataIndex: 'countyname',
+ width: 100
+ },
+ {
+ title: '乡镇',
+ dataIndex: 'streetname',
+ width: 100
+ },
+ {
+ title: '社区/村',
+ dataIndex: 'communityname',
+ },
+ {
+ title: '线索类型',
+ dataIndex: 'typename',
+ },
+ {
+ title: '线索来源',
+ dataIndex: 'tubanlaiyuan',
+ },
+ {
+ title: '上报时间',
+ dataIndex: 'createtime',
+ },
+ {
+ title: '经度',
+ dataIndex: 'lng',
+ },
+ {
+ title: '纬度',
+ dataIndex: 'lat',
+ },
+ {
+ title: '线索描述',
+ dataIndex: 'case_description',
+ },
+ {
+ title: '线索状态',
+ dataIndex: 'biaozhu',
+ },
+];
+
+export const searchFormSchema: FormSchema[] = [
+ {
+ field: 'typename',
+ component: 'ApiSelect',
+ colProps: { span: 5 },
+ label: '线索类型',
+ componentProps: ({ formModel }) => {
+ return {
+ api: getLoad,
+ params: { code: 'rcxjxslx' },
+ resultField: 'result',
+ labelField: 'itemName',
+ valueField: 'itemValue',
+ };
+ },
+ },
+ {
+ field: 'tubanlaiyuan',
+ component: 'ApiSelect',
+ colProps: { span: 5 },
+ label: '线索来源',
+ componentProps: ({ formModel }) => {
+ return {
+ api: getLoad,
+ params: { code: 'rcxjxsly' },
+ resultField: 'result',
+ labelField: 'itemName',
+ valueField: 'itemValue',
+ };
+ },
+ },
+
+ {
+ field: 'countyid',
+ label: '区县',
+ component: 'ApiSelect',
+ colProps: { span: 5 },
+ componentProps: ({ formModel }) => {
+ return {
+ api: getChildrenTree,
+ params: { parentId: 371300 },
+ // 接口参数
+ resultField: 'result',
+ labelField: 'name',
+ valueField: 'id',
+ onChange: () => {
+ formModel.streetid = '';
+ },
+ };
+ },
+ },
+ {
+ field: 'streetid',
+ label: '乡镇',
+ component: 'ApiSelect',
+ colProps: { span: 5 },
+ componentProps: ({ formModel }) => {
+ return {
+ api: formModel.countyid && getChildrenTree,
+ params: { parentId: formModel.countyid },
+ // 接口参数
+ resultField: 'result',
+ labelField: 'name',
+ valueField: 'id',
+ placeholder: '请先选择区县',
+ };
+ },
+ },
+ {
+ field: 'biaozhu',
+ label: '线索状态',
+ component: 'Select',
+ colProps: { span: 5 },
+ componentProps: {
+ options: [
+ { label: '未确认', value: 0},
+ { label: '已确认', value: 1},
+ ],
+ },
+ },
+ {
+ field: '[synchronoustimebegin, synchronoustimeend]',
+ label: '上报时间',
+ component: 'RangePicker',
+ colProps: { span: 5 },
+ componentProps: {
+ format: 'YYYY-MM-DD',
+ placeholder: ['开始日期', '结束日期'],
+ },
+ },
+ {
+ field: 'case_no',
+ label: '线索编号',
+ component: 'Input',
+ colProps: { span: 5 },
+ },
+];
diff --git a/src/views/sys/exception/Converge/index.vue b/src/views/sys/exception/Converge/index.vue
index 9311e0d2..e6ab86ac 100644
--- a/src/views/sys/exception/Converge/index.vue
+++ b/src/views/sys/exception/Converge/index.vue
@@ -103,7 +103,7 @@
lng: string;
lat: string;
}
- const LocationShow = ref(true);
+ const LocationShow = ref(false);
const locationArrays = ref([{ lng: '',lat: '', }]);
const locationDrawArrays = ref();
const locationGeoJson = reactive({