diff --git a/public/statistical/data-analysis-title-bg.png b/public/statistical/data-analysis-title-bg.png new file mode 100644 index 00000000..b370c931 Binary files /dev/null and b/public/statistical/data-analysis-title-bg.png differ diff --git a/public/statistical/decline.png b/public/statistical/decline.png new file mode 100644 index 00000000..00b7d5bb Binary files /dev/null and b/public/statistical/decline.png differ diff --git a/public/statistical/down.png b/public/statistical/down.png new file mode 100644 index 00000000..b418dc0f Binary files /dev/null and b/public/statistical/down.png differ diff --git a/public/statistical/go-up.png b/public/statistical/go-up.png new file mode 100644 index 00000000..e36ab583 Binary files /dev/null and b/public/statistical/go-up.png differ diff --git a/public/statistical/huanbi.webp b/public/statistical/huanbi.webp new file mode 100644 index 00000000..55b29420 Binary files /dev/null and b/public/statistical/huanbi.webp differ diff --git a/public/statistical/right-title-bg.png b/public/statistical/right-title-bg.png new file mode 100644 index 00000000..11faa525 Binary files /dev/null and b/public/statistical/right-title-bg.png differ diff --git a/public/statistical/select-bg.png b/public/statistical/select-bg.png new file mode 100644 index 00000000..7863384e Binary files /dev/null and b/public/statistical/select-bg.png differ diff --git a/public/statistical/up.png b/public/statistical/up.png new file mode 100644 index 00000000..e94f4275 Binary files /dev/null and b/public/statistical/up.png differ diff --git a/src/api/statistical/index.ts b/src/api/statistical/index.ts index 5cde02eb..d87a2822 100644 --- a/src/api/statistical/index.ts +++ b/src/api/statistical/index.ts @@ -1,20 +1,46 @@ import { defHttp } from '@/utils/http/axios'; + enum Api { GetTrendData = '/api/DroneScreenDisplay/GetTrendData', GetTuBanSummary = '/api/DroneScreenDisplay/GetTuBanSummary', GetTotalAndAreaByType = '/api/DroneScreenDisplay/GetTotalAndAreaByType', - GetTotalAndArea = '/api/DroneScreenDisplay/GetTotalAndArea' + GetTotalAndArea = '/api/DroneScreenDisplay/GetTotalAndArea', + GetAnalysisData = '/api/DroneScreenDisplay/GetAnalysisData', + CaseOffenceEcharts = '/api/DroneScreenDisplay/CaseOffenceEcharts', + GetTrendEchartsData = '/api/DroneScreenDisplay/GetTrendEchartsData', } -export function GetTrendData(params:{countyid:string;type:string;datatype:number;begindate?:string;enddate?:string;}) { +export function GetTrendData(params: { + countyid: string; + type: string; + datatype: number; + begindate?: string; + enddate?: string; +}) { // datatype 0按天统计,1按月统计 return defHttp.get({ url: Api.GetTrendData, params }); } -export function GetTuBanSummary(params:{countyid:string;type:string;}) { +export function GetTuBanSummary(params: { countyid: string; type: string }) { return defHttp.get({ url: Api.GetTuBanSummary, params }); } -export function GetTotalAndAreaByType(params:{countyid:string;type:string;}) { +export function GetTotalAndAreaByType(params: { countyid: string; type: string }) { return defHttp.get({ url: Api.GetTotalAndAreaByType, params }); } -export function GetTotalAndArea(params:{countyid:string;type:string;}) { +export function GetTotalAndArea(params: { countyid: string; type: string }) { return defHttp.get({ url: Api.GetTotalAndArea, params }); -} \ No newline at end of file +} +export function getAnalysisData(params: { countyid: string; month: number }) { + return defHttp.get({ url: Api.GetAnalysisData, params }); +} + +export function caseOffenceEcharts(params: { type: number; month: number }) { + return defHttp.get({ url: Api.CaseOffenceEcharts, params }); +} +export function getTrendEchartsData(params: { + type: number; + month: number; + datatype: number; + begindate: string; + enddate: string; +}) { + return defHttp.get({ url: Api.GetTrendEchartsData, params }); +} diff --git a/src/components/Upload/src/components/ImageUpload.vue b/src/components/Upload/src/components/ImageUpload.vue index f0892341..a1734f1c 100644 --- a/src/components/Upload/src/components/ImageUpload.vue +++ b/src/components/Upload/src/components/ImageUpload.vue @@ -355,6 +355,7 @@ } :deep(.ant-image){ margin-right: 10px; + margin-bottom: 10px; } #process-form-container{ width:50%;height:500px;background:red; diff --git a/src/router/routes/index.ts b/src/router/routes/index.ts index 5048972b..c0061dcb 100644 --- a/src/router/routes/index.ts +++ b/src/router/routes/index.ts @@ -86,7 +86,7 @@ export const SchemeRoute: AppRouteRecordRaw = { export const SubjectRoute: AppRouteRecordRaw = { path: '/subject', name: 'subject', - component: () => import('@/views/subject/index.vue'), + component: () => import('@/views/subject/subject/index.vue'), meta: { title: '主题', }, diff --git a/src/utils/global.ts b/src/utils/global.ts index 3301e2cb..f4c8b04a 100644 --- a/src/utils/global.ts +++ b/src/utils/global.ts @@ -138,3 +138,31 @@ export const nowStatusOptions = [ { label: '县级审核', value: '县级审核' }, { label: '已归档', value: '已归档' }, ]; +//获取近7个月的时间 +export const getMonth = () => { + //创建现在的时间 + const data = new Date(); + //获取年 + let year = data.getFullYear(); + //获取月 + let mon = data.getMonth() + 1; + let arry: any = []; + for (let i = 0; i < 6; i++) { + if (mon <= 0) { + year = year - 1; + mon = mon + 12; + } + arry.push({ + label: `${mon}月`, + value: mon, + }); + mon = mon - 1; + } + return arry.reverse(); +}; +export const monthOptions = getMonth(); +export const monthAllOptions = () => { + let arr: any = getMonth(); + arr.reverse().unshift({ label: '全部', value: 0 }); + return arr; +}; diff --git a/src/views/demo/caseoffence/index.vue b/src/views/demo/caseoffence/index.vue index 135ddbdd..9c0e9792 100644 --- a/src/views/demo/caseoffence/index.vue +++ b/src/views/demo/caseoffence/index.vue @@ -18,15 +18,15 @@ @@ -35,15 +35,15 @@ @@ -52,15 +52,15 @@ @@ -69,15 +69,15 @@ @@ -86,15 +86,15 @@ @@ -103,15 +103,15 @@ @@ -120,15 +120,15 @@ @@ -153,9 +153,9 @@ + +
+ + + {{ + VITE_GLOB_APP_MANAGEMENT_UNIT + ? VITE_GLOB_APP_MANAGEMENT_UNIT + : t('sys.subject.bottom_copyright') + }} +      |     + {{ + VITE_GLOB_APP_TECHINICAL_SUPPORT + ? VITE_GLOB_APP_TECHINICAL_SUPPORT + : t('sys.subject.bottom_support') + }} +      |     + {{ VITE_GLOB_APP_VERSIONS ? VITE_GLOB_APP_VERSIONS : t('sys.subject.bottom_version') }} + +
+ + + + diff --git a/src/views/sys/exception/Converge/SearchComponent.vue b/src/views/sys/exception/Converge/SearchComponent.vue index cee6fe19..484fce35 100644 --- a/src/views/sys/exception/Converge/SearchComponent.vue +++ b/src/views/sys/exception/Converge/SearchComponent.vue @@ -33,6 +33,7 @@ import {ref,onMounted,defineExpose,defineEmits,watch} from "vue"; import {CaretDownOutlined,CaretUpOutlined} from "@ant-design/icons-vue"; import axios from 'axios' import { getLoadDroneCaseInfoDetail,getPolygonCenter } from '@/api/tiankongdi/index.ts'; +import { loadCaseInfoTuBanList } from '@/api/demo/system'; const emits = defineEmits(["toPosition","handlerFilter"]) import { WktToGeojson } from "@/components/MapboxMaps/src/WktGeojsonTransform"; async function toPosition(item){ @@ -121,8 +122,8 @@ const keyword = ref(""); async function searchArea() { - if(keyword.value.match(/^-?\d+$/)){ - let res = await getLoadDroneCaseInfoDetail({caseNo:keyword.value,page:1,limit:10}); + if(keyword.value.match(/^[0-9A-Z]+$/)){ + let res = await loadCaseInfoTuBanList({caseNo:keyword.value,page:1,limit:10}); searchResult.value = []; res?.items?.forEach((item,index)=>{ let obj = { diff --git a/src/views/sys/exception/Converge/index.vue b/src/views/sys/exception/Converge/index.vue index 91a1a354..df1bc540 100644 --- a/src/views/sys/exception/Converge/index.vue +++ b/src/views/sys/exception/Converge/index.vue @@ -58,7 +58,7 @@ const initMap = () => { }, ], }, - maxZoom:18, + maxZoom:17, minZoom:1, zoom: 10, pitch:0, @@ -489,7 +489,7 @@ function handlerLoadMaskLayer(){ }, paint: { 'fill-color': '#ffffff', - 'fill-opacity': 1 /* 透明度 */, + 'fill-opacity': 0.8 /* 透明度 */, }, layout: { visibility: 'visible', @@ -586,8 +586,8 @@ defineExpose({ position:absolute; width:330px; height:40px; - top:90px; - left:88px; + top:72px; + left:73px; z-index:9999; } ::v-deep .mapboxgl-ctrl-logo{ diff --git a/src/views/sys/exception/LargeScreenMap/index.vue b/src/views/sys/exception/LargeScreenMap/index.vue index ceb7a334..e521a2e5 100644 --- a/src/views/sys/exception/LargeScreenMap/index.vue +++ b/src/views/sys/exception/LargeScreenMap/index.vue @@ -275,7 +275,7 @@ function handlerLoadMaskLayer(){ }, paint: { 'fill-color': '#ffffff', - 'fill-opacity': 1 /* 透明度 */, + 'fill-opacity': 0.8 /* 透明度 */, }, layout: { visibility: 'visible', diff --git a/src/views/sys/exception/mapComponent/top_title.vue b/src/views/sys/exception/mapComponent/top_title.vue index b2b5d216..2f6b6436 100644 --- a/src/views/sys/exception/mapComponent/top_title.vue +++ b/src/views/sys/exception/mapComponent/top_title.vue @@ -1,54 +1,64 @@ - diff --git a/src/views/sys/exception/rightDataScreen/brokenline/index.vue b/src/views/sys/exception/rightDataScreen/brokenline/index.vue new file mode 100644 index 00000000..32e9c716 --- /dev/null +++ b/src/views/sys/exception/rightDataScreen/brokenline/index.vue @@ -0,0 +1,381 @@ + + + diff --git a/src/views/sys/exception/rightDataScreen/circulation/index.vue b/src/views/sys/exception/rightDataScreen/circulation/index.vue new file mode 100644 index 00000000..dea6ce3c --- /dev/null +++ b/src/views/sys/exception/rightDataScreen/circulation/index.vue @@ -0,0 +1,293 @@ + + + diff --git a/src/views/sys/exception/rightDataScreen/columnar/index.vue b/src/views/sys/exception/rightDataScreen/columnar/index.vue new file mode 100644 index 00000000..30a13cb5 --- /dev/null +++ b/src/views/sys/exception/rightDataScreen/columnar/index.vue @@ -0,0 +1,380 @@ + + + diff --git a/src/views/sys/exception/rightDataScreen/index.vue b/src/views/sys/exception/rightDataScreen/index.vue new file mode 100644 index 00000000..2249a596 --- /dev/null +++ b/src/views/sys/exception/rightDataScreen/index.vue @@ -0,0 +1,117 @@ + + + diff --git a/src/views/sys/exception/rightDataScreen/page.ts b/src/views/sys/exception/rightDataScreen/page.ts new file mode 100644 index 00000000..49b272b2 --- /dev/null +++ b/src/views/sys/exception/rightDataScreen/page.ts @@ -0,0 +1,3 @@ +export { default as Columnar } from './columnar/index.vue'; +export { default as Brokenline } from './brokenline/index.vue'; +export { default as Circulation } from './circulation/index.vue'; diff --git a/src/views/sys/login_lindidiaocha/ForgetPasswordForm.vue b/src/views/sys/login_lindidiaocha/ForgetPasswordForm.vue index 70a8cf1b..3baecbca 100644 --- a/src/views/sys/login_lindidiaocha/ForgetPasswordForm.vue +++ b/src/views/sys/login_lindidiaocha/ForgetPasswordForm.vue @@ -73,7 +73,7 @@ font-family: Alibaba PuHuiTi; font-weight: 500; - font-size: 21px; + font-size: 15px; color: #ffffff; } diff --git a/src/views/sys/login_lindidiaocha/LoginForm.vue b/src/views/sys/login_lindidiaocha/LoginForm.vue index 9d3ffe0b..6b6f8b5f 100644 --- a/src/views/sys/login_lindidiaocha/LoginForm.vue +++ b/src/views/sys/login_lindidiaocha/LoginForm.vue @@ -1,6 +1,6 @@