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(); const centerId = ref();
onMounted(() => { onMounted(() => {
const centerInfo = getAuthCache('centerInfo'); const centerInfo = getAuthCache('centerInfo');
console.log(getAuthCache('centerInfo'), '123');
centerId.value = centerInfo.id; centerId.value = centerInfo.id;
console.log(centerInfo); console.log(centerInfo, '12312313');
}); });
function handleOneLeftClick(item) { function handleOneLeftClick(item) {
const { name, key } = item; const { name, key } = item;
+15 -1
View File
@@ -39,12 +39,13 @@
<script setup lang="ts"> <script setup lang="ts">
import Dialog from '/@/components/dialog/Dialog.vue'; import Dialog from '/@/components/dialog/Dialog.vue';
import { useDialog } from '/@/views/components/dialogHooks.ts'; 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 { SexType, sexTypeList } from '/@/utils/settings.ts';
import { Form } from 'ant-design-vue'; import { Form } from 'ant-design-vue';
import { useDepart } from '/@/components/secondaryScreen/secondMap/secondMapHooks.ts'; import { useDepart } from '/@/components/secondaryScreen/secondMap/secondMapHooks.ts';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import BasicTable from '/@/components/secondaryScreen/secondMap/components/basicTable/BasicTable.vue'; import BasicTable from '/@/components/secondaryScreen/secondMap/components/basicTable/BasicTable.vue';
import { getSecondaryDepartmentList } from '/@/views/indexSun/indexSun.api.ts';
const props = defineProps({ const props = defineProps({
title: { title: {
@@ -75,6 +76,17 @@
return message.warning('请先选择单位'); return message.warning('请先选择单位');
} }
} }
onMounted(() => {
getSecondDept();
});
function getSecondDept() {
getSecondaryDepartmentList().then((res) => {
console.log(res, 'shshakjhdsjbjanmdjka');
if (res.code == 200) {
console.log(res, 'ddddddddd');
}
});
}
const formItemLayout = { const formItemLayout = {
labelCol: { labelCol: {
style: { width: '80px' }, style: { width: '80px' },
@@ -88,6 +100,7 @@
watch(props, () => { watch(props, () => {
dialogTitle.value = props.title; dialogTitle.value = props.title;
getField(); getField();
getSecondDept();
}); });
function tableLoad(b: boolean) { function tableLoad(b: boolean) {
@@ -103,6 +116,7 @@
...formRecord.value, ...formRecord.value,
...result, ...result,
}; };
getSecondDept();
console.log(formRecord.value); console.log(formRecord.value);
} }
function handleClicksearch() { function handleClicksearch() {
+5
View File
@@ -2,14 +2,19 @@ import { post, get } from '/@/api/request.ts';
enum Api { enum Api {
statisticsNew = '/health-emergency/emergency/LargeScreenNew/statisticsNew', statisticsNew = '/health-emergency/emergency/LargeScreenNew/statisticsNew',
twoL = '/health-emergency/emergency/tblHelpCenter/sicknessTypeStatistic',
threeL = '/health-emergency/emergency/LargeScreenNew/medicalPeopleNumStatistics', threeL = '/health-emergency/emergency/LargeScreenNew/medicalPeopleNumStatistics',
oneR = '/health-watch/watch/watchMonitorData/getMonitorList', oneR = '/health-watch/watch/watchMonitorData/getMonitorList',
threeR = '/health-emergency/emergency/LargeScreenNew/medicalAbnormalStatistics', threeR = '/health-emergency/emergency/LargeScreenNew/medicalAbnormalStatistics',
twoR = '/health-emergency/emergency/LargeScreenNew/healthSign', twoR = '/health-emergency/emergency/LargeScreenNew/healthSign',
getSecondaryDepartment = '/sys/sysDepart/allSecondaryDeparts',
} }
export const statisticsNewApi = (params) => post(Api.statisticsNew, params); 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 threeLApi = (params) => post(Api.threeL, params);
export const oneRApi = (params) => get(Api.oneR, params); export const oneRApi = (params) => get(Api.oneR, params);
export const threeRApi = (params) => post(Api.threeR, params); export const threeRApi = (params) => post(Api.threeR, params);
export const twoRApi = (params) => post(Api.twoR, 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"> <div style="margin-right: 10px">
<img :src="hospitalPng" alt="" /> <img :src="hospitalPng" alt="" />
</div> </div>
克拉玛依市中西医结合医院(市人民医院) {{ item.hospitalName ? item.hospitalName : '-' }}
</div> </div>
<div>23</div> <div>{{ item.checkedCount ? item.checkedCount : '--' }}</div>
</div> </div>
</vue3-seamless-scroll> </vue3-seamless-scroll>
</template> </template>
+27 -5
View File
@@ -6,11 +6,29 @@
</div> </div>
<div class="content"> <div class="content">
<div class="content-item"> <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 }">--> <!-- <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>体检总人数</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> </div>
<!-- </vue3-seamless-scroll>--> <!-- </vue3-seamless-scroll>-->
</template> </template>
@@ -28,14 +46,18 @@
import { Empty } from 'ant-design-vue'; import { Empty } from 'ant-design-vue';
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
import { threeRApi } from '/@/views/indexSun/indexSun.api.ts'; import { threeRApi } from '/@/views/indexSun/indexSun.api.ts';
const scrollList = ref<any[]>([]); const scrollList = ref();
onMounted(() => { onMounted(() => {
threeRApi({}).then((res) => { threeRApi({}).then((res) => {
if (res.code == 200) { if (res.code == 200) {
scrollList.value = res.result; scrollList.value = res.result[0];
} }
}); });
}); });
function handleClickNum(type) {
console.log(type);
console.log(123);
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.three-r-box { .three-r-box {
+25 -5
View File
@@ -42,6 +42,7 @@
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { getClassCharts } from '/@/views/indexSun/indexSun.ts'; import { getClassCharts } from '/@/views/indexSun/indexSun.ts';
import { twoLApi } from '/@/views/indexSun/indexSun.api.ts';
const chooseType = ref('0'); const chooseType = ref('0');
const selectValue = ref('all'); const selectValue = ref('all');
@@ -50,17 +51,36 @@
function clickChooseType(type) { function clickChooseType(type) {
if (chooseType.value === type) return; if (chooseType.value === type) return;
chooseType.value = type; chooseType.value = type;
initChart(); getData();
// initChart();
} }
onMounted(() => { onMounted(() => {
initChart(); getData();
// initChart();
}); });
const myChart = ref(null); 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!); myChart.value = echarts.init(newChart.value!);
const dx = ['120', '应急就医']; const dx =
const dy = [46, 39]; value.map((item) => {
return item.name;
}) || [];
const dy =
value.map((item) => {
return item.count;
}) || [];
let option = getClassCharts(dx, dy); let option = getClassCharts(dx, dy);
myChart.value.setOption(option); myChart.value.setOption(option);
window.addEventListener('resize', () => { window.addEventListener('resize', () => {