update: 大屏接口

This commit is contained in:
xf
2025-07-08 10:11:15 +08:00
parent 01f3339833
commit a2da7e4be7
6 changed files with 76 additions and 14 deletions
+2 -1
View File
@@ -68,8 +68,9 @@
const centerId = ref();
onMounted(() => {
const centerInfo = getAuthCache('centerInfo');
console.log(getAuthCache('centerInfo'), '123');
centerId.value = centerInfo.id;
console.log(centerInfo);
console.log(centerInfo, '12312313');
});
function handleOneLeftClick(item) {
const { name, key } = item;
+15 -1
View File
@@ -39,12 +39,13 @@
<script setup lang="ts">
import Dialog from '/@/components/dialog/Dialog.vue';
import { useDialog } from '/@/views/components/dialogHooks.ts';
import { ref, watch } from 'vue';
import { onMounted, ref, watch } from 'vue';
import { SexType, sexTypeList } from '/@/utils/settings.ts';
import { Form } from 'ant-design-vue';
import { useDepart } from '/@/components/secondaryScreen/secondMap/secondMapHooks.ts';
import { message } from 'ant-design-vue';
import BasicTable from '/@/components/secondaryScreen/secondMap/components/basicTable/BasicTable.vue';
import { getSecondaryDepartmentList } from '/@/views/indexSun/indexSun.api.ts';
const props = defineProps({
title: {
@@ -75,6 +76,17 @@
return message.warning('请先选择单位');
}
}
onMounted(() => {
getSecondDept();
});
function getSecondDept() {
getSecondaryDepartmentList().then((res) => {
console.log(res, 'shshakjhdsjbjanmdjka');
if (res.code == 200) {
console.log(res, 'ddddddddd');
}
});
}
const formItemLayout = {
labelCol: {
style: { width: '80px' },
@@ -88,6 +100,7 @@
watch(props, () => {
dialogTitle.value = props.title;
getField();
getSecondDept();
});
function tableLoad(b: boolean) {
@@ -103,6 +116,7 @@
...formRecord.value,
...result,
};
getSecondDept();
console.log(formRecord.value);
}
function handleClicksearch() {
+5
View File
@@ -2,14 +2,19 @@ import { post, get } from '/@/api/request.ts';
enum Api {
statisticsNew = '/health-emergency/emergency/LargeScreenNew/statisticsNew',
twoL = '/health-emergency/emergency/tblHelpCenter/sicknessTypeStatistic',
threeL = '/health-emergency/emergency/LargeScreenNew/medicalPeopleNumStatistics',
oneR = '/health-watch/watch/watchMonitorData/getMonitorList',
threeR = '/health-emergency/emergency/LargeScreenNew/medicalAbnormalStatistics',
twoR = '/health-emergency/emergency/LargeScreenNew/healthSign',
getSecondaryDepartment = '/sys/sysDepart/allSecondaryDeparts',
}
export const statisticsNewApi = (params) => post(Api.statisticsNew, params);
export const twoLApi = (params) => get(Api.twoL, params);
export const threeLApi = (params) => post(Api.threeL, params);
export const oneRApi = (params) => get(Api.oneR, params);
export const threeRApi = (params) => post(Api.threeR, params);
export const twoRApi = (params) => post(Api.twoR, params);
export const getSecondaryDepartmentList = () => get({ url: Api.getSecondaryDepartment });
+2 -2
View File
@@ -13,9 +13,9 @@
<div style="margin-right: 10px">
<img :src="hospitalPng" alt="" />
</div>
克拉玛依市中西医结合医院(市人民医院)
{{ item.hospitalName ? item.hospitalName : '-' }}
</div>
<div>23</div>
<div>{{ item.checkedCount ? item.checkedCount : '--' }}</div>
</div>
</vue3-seamless-scroll>
</template>
+27 -5
View File
@@ -6,11 +6,29 @@
</div>
<div class="content">
<div class="content-item">
<template v-if="scrollList.length > 0">
<template v-if="scrollList">
<!-- <vue3-seamless-scroll :list="scrollList" class="scroll" :hover="true" :copyNum="3" :limitScrollNum="4" v-bind="{ step: 0.2 }">-->
<div class="item-d" v-for="(item, index) in scrollList" :key="index">
<div class="item-d">
<div>体检总人数</div>
<div style="font-weight: bold">18000</div>
<div style="font-weight: bold">{{ scrollList.totalCount ? scrollList.totalCount : '--' }}</div>
</div>
<div class="item-d">
<div>心血管异常人数</div>
<div style="font-weight: bold; cursor: pointer; color: #22e8ff" @click="handleClickNum(1)"
>{{ scrollList.cardiovaAbCount ? scrollList.cardiovaAbCount : '--' }}</div
>
</div>
<div class="item-d">
<div>脑血管异常人数</div>
<div style="font-weight: bold; cursor: pointer; color: #22e8ff" @click="handleClickNum(2)"
>{{ scrollList.cerebrovAbCount ? scrollList.cerebrovAbCount : '--' }}</div
>
</div>
<div class="item-d">
<div>冠状CT异常人数</div>
<div style="font-weight: bold; cursor: pointer; color: #22e8ff" @click="handleClickNum(3)"
>{{ scrollList.cctaAbCount ? scrollList.cctaAbCount : '--' }}</div
>
</div>
<!-- </vue3-seamless-scroll>-->
</template>
@@ -28,14 +46,18 @@
import { Empty } from 'ant-design-vue';
import { ref, onMounted } from 'vue';
import { threeRApi } from '/@/views/indexSun/indexSun.api.ts';
const scrollList = ref<any[]>([]);
const scrollList = ref();
onMounted(() => {
threeRApi({}).then((res) => {
if (res.code == 200) {
scrollList.value = res.result;
scrollList.value = res.result[0];
}
});
});
function handleClickNum(type) {
console.log(type);
console.log(123);
}
</script>
<style lang="less" scoped>
.three-r-box {
+25 -5
View File
@@ -42,6 +42,7 @@
import { ref, onMounted } from 'vue';
import * as echarts from 'echarts';
import { getClassCharts } from '/@/views/indexSun/indexSun.ts';
import { twoLApi } from '/@/views/indexSun/indexSun.api.ts';
const chooseType = ref('0');
const selectValue = ref('all');
@@ -50,17 +51,36 @@
function clickChooseType(type) {
if (chooseType.value === type) return;
chooseType.value = type;
initChart();
getData();
// initChart();
}
onMounted(() => {
initChart();
getData();
// initChart();
});
const myChart = ref(null);
function getData() {
twoLApi({
sex: chooseType.value,
depart: '',
}).then((res) => {
console.log(res, 'resessss');
if (res.code == 200) {
initChart(res.result);
}
});
}
function initChart() {
function initChart(value) {
myChart.value = echarts.init(newChart.value!);
const dx = ['120', '应急就医'];
const dy = [46, 39];
const dx =
value.map((item) => {
return item.name;
}) || [];
const dy =
value.map((item) => {
return item.count;
}) || [];
let option = getClassCharts(dx, dy);
myChart.value.setOption(option);
window.addEventListener('resize', () => {