|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div class="scroll-wrapper">
|
|
|
|
|
|
|
+ <div class="scroll-wrapper" v-show="isShow">
|
|
|
<div class="title-name">
|
|
<div class="title-name">
|
|
|
<!-- <el-icon><TrendCharts /></el-icon> -->
|
|
<!-- <el-icon><TrendCharts /></el-icon> -->
|
|
|
<span>{{ titleName }}</span>
|
|
<span>{{ titleName }}</span>
|
|
@@ -8,16 +8,16 @@
|
|
|
<!-- 固定首列 -->
|
|
<!-- 固定首列 -->
|
|
|
<div class="fixed-first start-card card-border-total">
|
|
<div class="fixed-first start-card card-border-total">
|
|
|
<div class="card-title card-title-total">
|
|
<div class="card-title card-title-total">
|
|
|
- <div>{{ dataList[0].title }}</div>
|
|
|
|
|
|
|
+ <div>{{ dataList?.[0].title }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="card-body">
|
|
<div class="card-body">
|
|
|
<div class="card-body-left">
|
|
<div class="card-body-left">
|
|
|
- <div class="card-count">{{ dataList[0].count }}</div>
|
|
|
|
|
- <div class="card-text">{{ dataList[0].countName }}</div>
|
|
|
|
|
|
|
+ <div class="card-count">{{ dataList?.[0].count }}</div>
|
|
|
|
|
+ <div class="card-text">{{ dataList?.[0].countName }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="card-body-right">
|
|
<div class="card-body-right">
|
|
|
- <div class="card-count">{{ dataList[0].percent }}%</div>
|
|
|
|
|
- <div class="card-text">{{ dataList[0].percentName }}</div>
|
|
|
|
|
|
|
+ <div class="card-count">{{ dataList?.[0].percent }}%</div>
|
|
|
|
|
+ <div class="card-text">{{ dataList?.[0].percentName }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -25,7 +25,7 @@
|
|
|
<div class="scroll-content-wrapper">
|
|
<div class="scroll-content-wrapper">
|
|
|
<div class="scroll-content">
|
|
<div class="scroll-content">
|
|
|
<div
|
|
<div
|
|
|
- v-for="(item, index) in dataList.slice(1)"
|
|
|
|
|
|
|
+ v-for="(item, index) in dataList?.slice(1)"
|
|
|
:key="index"
|
|
:key="index"
|
|
|
class="start-card"
|
|
class="start-card"
|
|
|
:class="item.isMain ? 'card-border-total' : 'card-border-point'"
|
|
:class="item.isMain ? 'card-border-total' : 'card-border-point'"
|
|
@@ -51,6 +51,8 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
|
|
+import useSystemStore from '@/store/main';
|
|
|
|
|
+import { getReportItemTotalCardApi } from '@/api/notificationAnalysis/mattersStatistics';
|
|
|
interface DataList {
|
|
interface DataList {
|
|
|
title: string;
|
|
title: string;
|
|
|
count: number;
|
|
count: number;
|
|
@@ -64,74 +66,33 @@ interface IProps {
|
|
|
dataList: Array<DataList>;
|
|
dataList: Array<DataList>;
|
|
|
titleName: string;
|
|
titleName: string;
|
|
|
}
|
|
}
|
|
|
-const dataList = reactive<DataList[]>([
|
|
|
|
|
- {
|
|
|
|
|
- title: '通报通报总计',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: true,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '涉及船舶相关违法违规行为(包括船客12人以下小型涉客船艇、夜游船、电池动力船客等)',
|
|
|
|
|
- count: 2873,
|
|
|
|
|
- countName: '通报数量(件)',
|
|
|
|
|
- percent: 100,
|
|
|
|
|
- percentName: '占比(%)',
|
|
|
|
|
- isMain: false,
|
|
|
|
|
|
|
+
|
|
|
|
|
+const props = defineProps<IProps>();
|
|
|
|
|
+// 使用pinia数据
|
|
|
|
|
+const systemStore = useSystemStore();
|
|
|
|
|
+const { pageList, resDate, searchObj } = storeToRefs(systemStore);
|
|
|
|
|
+watch(
|
|
|
|
|
+ [() => pageList, () => searchObj.value],
|
|
|
|
|
+ ([newPageList, newSearchObj], [oldPageList, oldSearchObj]) => {
|
|
|
|
|
+ getReportItemTotalCardData();
|
|
|
},
|
|
},
|
|
|
-]);
|
|
|
|
|
|
|
+ { deep: true }
|
|
|
|
|
+);
|
|
|
|
|
+// onMounted(() => {
|
|
|
|
|
+// getReportItemTotalCardData();
|
|
|
|
|
+// });
|
|
|
|
|
+const dataList = ref<DataList[]>();
|
|
|
|
|
+const isShow = ref<any>(false);
|
|
|
const titleName = '通报事项总览';
|
|
const titleName = '通报事项总览';
|
|
|
-const props = defineProps<IProps>();
|
|
|
|
|
|
|
+async function getReportItemTotalCardData() {
|
|
|
|
|
+ const res: any = await getReportItemTotalCardApi();
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ isShow.value = true;
|
|
|
|
|
+ dataList.value = res.data;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return [];
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|