update 调整银川大屏和西安大屏
This commit is contained in:
@@ -1,6 +1,14 @@
|
|||||||
import { ref, unref } from 'vue';
|
import { ref, unref } from 'vue';
|
||||||
import * as echarts from 'echarts';
|
import * as echarts from 'echarts';
|
||||||
|
|
||||||
|
//服务详情数据弹窗参数
|
||||||
|
export enum ServerDetailType {
|
||||||
|
gross = '0', //最新呼入电话
|
||||||
|
alerdyreceive = '1', //最新受理电话
|
||||||
|
jqqz = '2', //突发重大伤病应急
|
||||||
|
dbjy = '3', //重大伤病应急就医
|
||||||
|
}
|
||||||
|
|
||||||
export function useStatistics() {
|
export function useStatistics() {
|
||||||
const statistics = ref([
|
const statistics = ref([
|
||||||
{
|
{
|
||||||
@@ -90,36 +98,36 @@ export function useSpin() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const hospitalList = [
|
export const hospitalList = [
|
||||||
{
|
// {
|
||||||
name: '泾河医院',
|
// name: '泾河医院',
|
||||||
key: 'zhigong',
|
// key: 'zhigong',
|
||||||
value: 0,
|
// value: 0,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '兴隆医院',
|
// name: '兴隆医院',
|
||||||
key: 'tangdu',
|
// key: 'tangdu',
|
||||||
value: 0,
|
// value: 0,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '宁夏宝石花医院',
|
// name: '宁夏宝石花医院',
|
||||||
key: 'yangehu',
|
// key: 'yangehu',
|
||||||
value: 0,
|
// value: 0,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '延安市人民医院',
|
// name: '延安市人民医院',
|
||||||
key: 'yananshi',
|
// key: 'yananshi',
|
||||||
value: 0,
|
// value: 0,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '西京医院',
|
// name: '西京医院',
|
||||||
key: 'xijing',
|
// key: 'xijing',
|
||||||
value: 0,
|
// value: 0,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
name: '庆阳医院',
|
// name: '庆阳医院',
|
||||||
key: 'changan',
|
// key: 'changan',
|
||||||
value: 0,
|
// value: 0,
|
||||||
},
|
// },
|
||||||
];
|
];
|
||||||
|
|
||||||
export function useHospitalList() {
|
export function useHospitalList() {
|
||||||
@@ -129,11 +137,12 @@ export function useHospitalList() {
|
|||||||
return unref(radarList);
|
return unref(radarList);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRadarList(res = {}) {
|
function setRadarList(res) {
|
||||||
radarList.value.forEach((item) => {
|
radarList.value = res;
|
||||||
const { key } = item;
|
// radarList.value.forEach((item) => {
|
||||||
item.value = res[key] || 0;
|
// const { key } = item;
|
||||||
});
|
// item.value = res[key] || 0;
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { get } from '/@/api/request';
|
|||||||
export enum Api {
|
export enum Api {
|
||||||
departList = '/sys/sysDepart/allSecondaryDeparts',
|
departList = '/sys/sysDepart/allSecondaryDeparts',
|
||||||
server = '/health-emergency/emergency/tblUserHelp/statistics',
|
server = '/health-emergency/emergency/tblUserHelp/statistics',
|
||||||
getDetail = '/health-emergency/emergency/tblHealthData/getDetail',
|
getDetail = '/health-medical/medical/hospital/getMedicalHospital',
|
||||||
complaint = '/health-emergency/emergency/tblHelpCenter/sicknessTypeStatistic',
|
complaint = '/health-emergency/emergency/tblHelpCenter/sicknessTypeStatistic',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,13 +54,13 @@
|
|||||||
async function getList() {
|
async function getList() {
|
||||||
setSpin(true);
|
setSpin(true);
|
||||||
try {
|
try {
|
||||||
const { code, result } = (await getDetail({})) || {};
|
const { code, result } = (await getDetail({ dataType: props.setting.dataType })) || {};
|
||||||
setSpin(!spinning.value);
|
setSpin(!spinning.value);
|
||||||
if (code != 200 || !Array.isArray(result)) {
|
if (code != 200) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setSession(LEFT_KEY3, JSON.stringify(result[0]));
|
setSession(LEFT_KEY3, JSON.stringify(result));
|
||||||
setValue(result[0]);
|
setValue(result);
|
||||||
} catch {
|
} catch {
|
||||||
const result = JSON.parse(getSession(LEFT_KEY3));
|
const result = JSON.parse(getSession(LEFT_KEY3));
|
||||||
setValue(result);
|
setValue(result);
|
||||||
@@ -76,9 +76,9 @@
|
|||||||
|
|
||||||
function initChart() {
|
function initChart() {
|
||||||
const myChart = echarts.init(document.querySelector('.RadarCharts'));
|
const myChart = echarts.init(document.querySelector('.RadarCharts'));
|
||||||
let countList = radarList.value.map((item) => item.value);
|
let countList = radarList.value.map((item) => item?.userCount);
|
||||||
let max = Math.max(...countList);
|
let max = Math.max(...countList);
|
||||||
const indicator = radarList.value.map((item) => ({ name: item.name, max: max }));
|
const indicator = radarList.value.map((item) => ({ name: item?.hospitalName, max: max }));
|
||||||
const option = radarCharts({ indicator, countList });
|
const option = radarCharts({ indicator, countList });
|
||||||
myChart.setOption(option);
|
myChart.setOption(option);
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<public-title title="主诉分类" />
|
<public-title title="主诉分类" />
|
||||||
<div class="inner">
|
<div class="zc-inner">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div class="type-check">
|
<div class="type-check">
|
||||||
<span
|
<span
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, watch } from 'vue';
|
import { ref, onMounted, watch, onUnmounted } from 'vue';
|
||||||
import PublicTitle from '/@/components/publicTitle.vue';
|
import PublicTitle from '/@/components/publicTitle.vue';
|
||||||
import * as echarts from 'echarts';
|
import * as echarts from 'echarts';
|
||||||
import { complaint, getDepart } from '/@/components/body-d-left/left.api.ts';
|
import { complaint, getDepart } from '/@/components/body-d-left/left.api.ts';
|
||||||
@@ -51,8 +51,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
document.addEventListener('visibilitychange', checkTabState);
|
||||||
init();
|
init();
|
||||||
});
|
});
|
||||||
|
onUnmounted(() => {
|
||||||
|
document.removeEventListener('visibilitychange', checkTabState);
|
||||||
|
});
|
||||||
|
const tabState = ref('');
|
||||||
|
|
||||||
|
function checkTabState() {
|
||||||
|
console.log('checkTabState', document.hidden);
|
||||||
|
tabState.value = document.hidden ? 'inactive' : 'active';
|
||||||
|
if (!document.hidden) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
getDepartOption();
|
getDepartOption();
|
||||||
@@ -112,8 +124,9 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.inner {
|
.zc-inner {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
height: calc(100% - 40px);
|
height: calc(100% - 40px);
|
||||||
|
|
||||||
.spin {
|
.spin {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { get } from '/src/api/request';
|
|||||||
|
|
||||||
export enum Api {
|
export enum Api {
|
||||||
getMonitorList = '/health-watch/watch/watchMonitorData/getMonitorList',
|
getMonitorList = '/health-watch/watch/watchMonitorData/getMonitorList',
|
||||||
getHealthDataList = '/health-emergency/emergency/tblHealthData/getHealthDataList',
|
getHealthDataList = '/health-archives/archives/groupUserA/getGroupUserAInfo',
|
||||||
}
|
}
|
||||||
|
|
||||||
//健康终端报警
|
//健康终端报警
|
||||||
|
|||||||
@@ -13,6 +13,9 @@
|
|||||||
import { ringOption, useHealth } from '/@/components/body-d-right/bodyRightHooks.ts';
|
import { ringOption, useHealth } from '/@/components/body-d-right/bodyRightHooks.ts';
|
||||||
import { useSession, caching } from '/@/hooks/autoRefresh/caching.ts';
|
import { useSession, caching } from '/@/hooks/autoRefresh/caching.ts';
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
setting: Object,
|
||||||
|
});
|
||||||
const { setSession, getSession } = useSession();
|
const { setSession, getSession } = useSession();
|
||||||
const { RIGHT_KEY2 } = caching;
|
const { RIGHT_KEY2 } = caching;
|
||||||
const { setSpin, spinning } = useSpin();
|
const { setSpin, spinning } = useSpin();
|
||||||
@@ -24,7 +27,7 @@
|
|||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
try {
|
try {
|
||||||
const { code, result } = await getHealthDataList({});
|
const { code, result } = await getHealthDataList({ dataType: props.setting?.dataType, orgCode: props.setting?.orgCode });
|
||||||
setSpin(true);
|
setSpin(true);
|
||||||
if (code != 200) {
|
if (code != 200) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -50,11 +50,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="center-footer">
|
<div class="center-footer">
|
||||||
<div class="count-item">
|
<div class="count-item">
|
||||||
<div class="num">{{ useDetail?.alerdyreceive || '/' }}</div>
|
<div class="num">{{ useDetail?.alerdyreceive || '0' }}</div>
|
||||||
<div class="text">累计受理</div>
|
<div class="text">累计受理</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="count-item">
|
<div class="count-item">
|
||||||
<div class="num">{{ useDetail?.totalacceptance || '/' }}</div>
|
<div class="num">{{ useDetail?.totalacceptance || '0' }}</div>
|
||||||
<div class="text">累计处置</div>
|
<div class="text">累计处置</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -69,6 +69,10 @@
|
|||||||
const dataSource = ref([]);
|
const dataSource = ref([]);
|
||||||
|
|
||||||
async function getRecords() {
|
async function getRecords() {
|
||||||
|
if (!props.api) {
|
||||||
|
setDataSource([{ name: '张三', department: '公司机关', sex: '男' }]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
const { code, result } = await props.api({ ...props.apiParams, pageSize: pageSize.value, pageNo: current.value });
|
const { code, result } = await props.api({ ...props.apiParams, pageSize: pageSize.value, pageNo: current.value });
|
||||||
if (code == 200) {
|
if (code == 200) {
|
||||||
if (props.afterFetch && isFunction(props.afterFetch)) {
|
if (props.afterFetch && isFunction(props.afterFetch)) {
|
||||||
@@ -92,6 +96,9 @@
|
|||||||
immediate: true,
|
immediate: true,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
defineExpose({
|
||||||
|
getRecords,
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
:deep(.ant-table-thead > tr > th) {
|
:deep(.ant-table-thead > tr > th) {
|
||||||
|
|||||||
@@ -100,7 +100,7 @@
|
|||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.dialog-con {
|
.dialog-con {
|
||||||
background-color: #00152b;
|
background-color: #00152b;
|
||||||
border: 1px solid #129bff;
|
//border: 1px solid #129bff;
|
||||||
min-height: 500px;
|
min-height: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export const sexTypeList = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
interface Settings {
|
export interface Settings {
|
||||||
dataType: string;
|
dataType: string;
|
||||||
orgCode?: string;
|
orgCode?: string;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -74,15 +74,15 @@ export function useSocket(p = basicPath) {
|
|||||||
|
|
||||||
socket.value.onclose = function () {
|
socket.value.onclose = function () {
|
||||||
reconnect(path.value);
|
reconnect(path.value);
|
||||||
console.log('连接关闭', new Date().toLocaleString());
|
// console.log('连接关闭', new Date().toLocaleString());
|
||||||
};
|
};
|
||||||
socket.value.onerror = function () {
|
socket.value.onerror = function () {
|
||||||
reconnect(path.value);
|
reconnect(path.value);
|
||||||
console.log('连接错误');
|
console.warn('连接错误');
|
||||||
};
|
};
|
||||||
socket.value.onopen = function () {
|
socket.value.onopen = function () {
|
||||||
heartCheck.reset().start(); //心跳检测重置
|
heartCheck.reset().start(); //心跳检测重置
|
||||||
console.log('连接成功:' + new Date().toLocaleString());
|
// console.log('连接成功:' + new Date().toLocaleString());
|
||||||
};
|
};
|
||||||
socket.value.onmessage = function (event) {
|
socket.value.onmessage = function (event) {
|
||||||
//如果获取到消息,心跳检测重置
|
//如果获取到消息,心跳检测重置
|
||||||
@@ -108,4 +108,3 @@ export function useSocket(p = basicPath) {
|
|||||||
|
|
||||||
return { socket, socketData, setSocketData, closeSocket };
|
return { socket, socketData, setSocketData, closeSocket };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+20
-7
@@ -10,15 +10,15 @@
|
|||||||
<div class="body-d">
|
<div class="body-d">
|
||||||
<div class="body-d-left">
|
<div class="body-d-left">
|
||||||
<one-l :setting="setting" :refreshState="refreshState" @handleClick="handlePhoneDialog" />
|
<one-l :setting="setting" :refreshState="refreshState" @handleClick="handlePhoneDialog" />
|
||||||
<two-l :refreshState="refreshState" />
|
<two-l :key="tabState" :refreshState="refreshState" />
|
||||||
<three-l :refreshState="refreshState" />
|
<three-l :key="tabState" :setting="setting" :refreshState="refreshState" />
|
||||||
</div>
|
</div>
|
||||||
<div class="body-d-middle">
|
<div class="body-d-middle">
|
||||||
<china-map />
|
<china-map />
|
||||||
</div>
|
</div>
|
||||||
<div class="body-d-right">
|
<div class="body-d-right">
|
||||||
<one-r :setting="setting" :refreshState="refreshState" />
|
<one-r :setting="setting" :refreshState="refreshState" />
|
||||||
<two-r :refreshState="refreshState" />
|
<two-r :key="tabState" :setting="setting" :refreshState="refreshState" />
|
||||||
<three-r :key="refreshState" />
|
<three-r :key="refreshState" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onUnmounted, ref, watch, nextTick } from 'vue';
|
import { onUnmounted, ref, watch, nextTick, onMounted } from 'vue';
|
||||||
import OneL from '/@/components/body-d-left/oneL.vue';
|
import OneL from '/@/components/body-d-left/oneL.vue';
|
||||||
import TwoL from '/@/components/body-d-left/twoL.vue';
|
import TwoL from '/@/components/body-d-left/twoL.vue';
|
||||||
import ThreeL from '/@/components/body-d-left/threeL.vue';
|
import ThreeL from '/@/components/body-d-left/threeL.vue';
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
import { useRefresh } from '/@/hooks/autoRefresh';
|
import { useRefresh } from '/@/hooks/autoRefresh';
|
||||||
import { DEFAULT_TIME } from '/@/hooks/autoRefresh/pageRefreshTime.ts';
|
import { DEFAULT_TIME } from '/@/hooks/autoRefresh/pageRefreshTime.ts';
|
||||||
import { DataType, getSettings } from '/@/utils/settings.ts';
|
import { DataType, getSettings } from '/@/utils/settings.ts';
|
||||||
|
import { ServerDetailType } from '/@/components/body-d-left/bodyLeftHooks.ts';
|
||||||
import PhoneDialog from '/@/views/components/phoneDialog/phoneDialog.vue';
|
import PhoneDialog from '/@/views/components/phoneDialog/phoneDialog.vue';
|
||||||
|
|
||||||
const { refreshState } = useRefresh(DEFAULT_TIME);
|
const { refreshState } = useRefresh(DEFAULT_TIME);
|
||||||
@@ -65,10 +66,22 @@
|
|||||||
dayTimeT.value = timeRight;
|
dayTimeT.value = timeRight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
init();
|
||||||
|
document.addEventListener('visibilitychange', checkTabState);
|
||||||
|
});
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
clearInterval(interval.value);
|
clearInterval(interval.value);
|
||||||
|
document.removeEventListener('visibilitychange', checkTabState);
|
||||||
});
|
});
|
||||||
init();
|
|
||||||
|
const tabState = ref('');
|
||||||
|
|
||||||
|
//判断窗口是否处于激活状态,切换浏览器tab会导致部门echarts显示不正常
|
||||||
|
function checkTabState() {
|
||||||
|
tabState.value = document.hidden ? 'inactive' : 'active';
|
||||||
|
}
|
||||||
|
|
||||||
// 健康监测工具报警
|
// 健康监测工具报警
|
||||||
const { socketData, setSocketData, closeSocket } = useSocket(basicPath);
|
const { socketData, setSocketData, closeSocket } = useSocket(basicPath);
|
||||||
const employeeDialogRef = ref();
|
const employeeDialogRef = ref();
|
||||||
@@ -113,11 +126,11 @@
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
//呼入电话
|
//呼入电话
|
||||||
if (key == 'gross') {
|
if (key == 'gross') {
|
||||||
phoneType.value = '2';
|
phoneType.value = ServerDetailType['gross'];
|
||||||
}
|
}
|
||||||
//受理电话
|
//受理电话
|
||||||
if (key == 'alerdyreceive') {
|
if (key == 'alerdyreceive') {
|
||||||
phoneType.value = '1';
|
phoneType.value = ServerDetailType['alerdyreceive'];
|
||||||
}
|
}
|
||||||
phoneDialogTitle.value = name;
|
phoneDialogTitle.value = name;
|
||||||
phoneDialogRef.value.openDialog();
|
phoneDialogRef.value.openDialog();
|
||||||
|
|||||||
@@ -19,6 +19,9 @@
|
|||||||
import { caching, useSession } from '/@/hooks/autoRefresh/caching.ts';
|
import { caching, useSession } from '/@/hooks/autoRefresh/caching.ts';
|
||||||
import { getTeamHealth } from '/@/views/yinChuan/yinChuan.api.ts';
|
import { getTeamHealth } from '/@/views/yinChuan/yinChuan.api.ts';
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
setting: Object,
|
||||||
|
});
|
||||||
const { setSession, getSession } = useSession();
|
const { setSession, getSession } = useSession();
|
||||||
const { TEAM_HEALTH } = caching;
|
const { TEAM_HEALTH } = caching;
|
||||||
const list = ref([
|
const list = ref([
|
||||||
@@ -63,7 +66,7 @@
|
|||||||
|
|
||||||
async function viewDetail() {
|
async function viewDetail() {
|
||||||
try {
|
try {
|
||||||
const { code, result } = await getTeamHealth({});
|
const { code, result } = await getTeamHealth({ dataType: props.setting?.dataType });
|
||||||
if (code != 200) {
|
if (code != 200) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { get } from '/@/api/request';
|
|||||||
export enum Api {
|
export enum Api {
|
||||||
phoneList = '/health-emergency/emergency/tblUserHelp/phoneList',
|
phoneList = '/health-emergency/emergency/tblUserHelp/phoneList',
|
||||||
getWorkDaily = '/health-emergency/emergency/ycLargeScreen/medicalCenter',
|
getWorkDaily = '/health-emergency/emergency/ycLargeScreen/medicalCenter',
|
||||||
getTeamHealth = '/health-emergency/emergency/ycLargeScreen/userHealthCenter',
|
getTeamHealth = '/health-archives/archives/groupUserA/getGroupUserAInfo',
|
||||||
}
|
}
|
||||||
|
|
||||||
// 呼入电话、受理电话
|
// 呼入电话、受理电话
|
||||||
|
|||||||
@@ -10,30 +10,30 @@
|
|||||||
<div class="body-d">
|
<div class="body-d">
|
||||||
<div class="yichuan-body-left">
|
<div class="yichuan-body-left">
|
||||||
<!--服务详情数据-->
|
<!--服务详情数据-->
|
||||||
<ServiceDetails :setting="setting" class="service-details" :refreshState="refreshState" @handleClick="handlePhoneDialog" />
|
<ServiceDetails :refreshState="refreshState" :setting="setting" class="service-details" @handleClick="handlePhoneDialog" />
|
||||||
<!--一线医疗点每日工作动态-->
|
<!--一线医疗点每日工作动态-->
|
||||||
<DailyWorkTrends class="daily-work-trends" :refreshState="refreshState" />
|
<DailyWorkTrends :refreshState="refreshState" class="daily-work-trends" />
|
||||||
</div>
|
</div>
|
||||||
<div class="body-d-middle">
|
<div class="body-d-middle">
|
||||||
<china-map />
|
<china-map />
|
||||||
</div>
|
</div>
|
||||||
<div class="body-d-right">
|
<div class="body-d-right">
|
||||||
<!--健康终端报警-->
|
<!--健康终端报警-->
|
||||||
<TerminalAlarm :setting="setting" :refreshState="refreshState" @emit-view-detail="handleEmployeeDialog" />
|
<TerminalAlarm :refreshState="refreshState" :setting="setting" @emit-view-detail="handleEmployeeDialog" />
|
||||||
<!--员工队伍健康状况-->
|
<!--员工队伍健康状况-->
|
||||||
<EmployeeHealth :refreshState="refreshState" />
|
<EmployeeHealth :refreshState="refreshState" :setting="setting" />
|
||||||
<!--体检数据-->
|
<!--体检数据-->
|
||||||
<PhysicalExaminationData :setting="setting" :refreshState="refreshState" />
|
<PhysicalExaminationData :key="tabState" :refreshState="refreshState" :setting="setting" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-d"></div>
|
<div class="bottom-d"></div>
|
||||||
<EmployeeDialog ref="employeeDialogRef" :record="socketData" />
|
<EmployeeDialog ref="employeeDialogRef" :record="socketData" />
|
||||||
<EmergencyDialog ref="emergencyDialogRef" :record="emergencyData" />
|
<EmergencyDialog ref="emergencyDialogRef" :record="emergencyData" />
|
||||||
<PhoneDialog ref="phoneDialogRef" :title="phoneDialogTitle" :useForm="true" :setting="setting" :phoneType="phoneType" />
|
<PhoneDialog ref="phoneDialogRef" :phoneType="phoneType" :setting="setting" :title="phoneDialogTitle" :useForm="true" />
|
||||||
<TerminalAlarmDialog ref="terminalAlarmDialogRef" :setting="setting" />
|
<TerminalAlarmDialog ref="terminalAlarmDialogRef" :setting="setting" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { onUnmounted, ref, watch, nextTick, onMounted } from 'vue';
|
import { onUnmounted, ref, watch, nextTick, onMounted } from 'vue';
|
||||||
import ServiceDetails from '/@/components/body-d-left/oneL.vue';
|
import ServiceDetails from '/@/components/body-d-left/oneL.vue';
|
||||||
import DailyWorkTrends from '/@/views/yinChuan/componetns/dailyWorkTrends/dailyWorkTrends.vue';
|
import DailyWorkTrends from '/@/views/yinChuan/componetns/dailyWorkTrends/dailyWorkTrends.vue';
|
||||||
@@ -52,6 +52,7 @@
|
|||||||
// import { useUserStore } from '/@/store/modules/user.ts';
|
// import { useUserStore } from '/@/store/modules/user.ts';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { DataType, getSettings } from '/@/utils/settings.ts';
|
import { DataType, getSettings } from '/@/utils/settings.ts';
|
||||||
|
import { ServerDetailType } from '/@/components/body-d-left/bodyLeftHooks.ts';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const setting = getSettings(DataType.yinChuan);
|
const setting = getSettings(DataType.yinChuan);
|
||||||
@@ -64,7 +65,20 @@
|
|||||||
// userStore.setUserInfo(data.userInfo);
|
// userStore.setUserInfo(data.userInfo);
|
||||||
// console.log(useUserStore);
|
// console.log(useUserStore);
|
||||||
// }
|
// }
|
||||||
|
init();
|
||||||
|
document.addEventListener('visibilitychange', checkTabState);
|
||||||
});
|
});
|
||||||
|
onUnmounted(() => {
|
||||||
|
clearInterval(interval.value);
|
||||||
|
document.removeEventListener('visibilitychange', checkTabState);
|
||||||
|
});
|
||||||
|
const tabState = ref('');
|
||||||
|
|
||||||
|
//判断窗口是否处于激活状态,切换浏览器tab会导致部门echarts显示不正常
|
||||||
|
function checkTabState() {
|
||||||
|
tabState.value = document.hidden ? 'inactive' : 'active';
|
||||||
|
}
|
||||||
|
|
||||||
const { refreshState } = useRefresh(DEFAULT_TIME);
|
const { refreshState } = useRefresh(DEFAULT_TIME);
|
||||||
const dayTimeO = ref();
|
const dayTimeO = ref();
|
||||||
const dayTimeT = ref();
|
const dayTimeT = ref();
|
||||||
@@ -83,10 +97,6 @@
|
|||||||
dayTimeT.value = timeRight;
|
dayTimeT.value = timeRight;
|
||||||
}
|
}
|
||||||
|
|
||||||
onUnmounted(() => {
|
|
||||||
clearInterval(interval.value);
|
|
||||||
});
|
|
||||||
init();
|
|
||||||
// 健康监测工具报警
|
// 健康监测工具报警
|
||||||
const { socketData, setSocketData, closeSocket } = useSocket(basicPath);
|
const { socketData, setSocketData, closeSocket } = useSocket(basicPath);
|
||||||
const employeeDialogRef = ref();
|
const employeeDialogRef = ref();
|
||||||
@@ -130,17 +140,17 @@
|
|||||||
const { name, key } = item;
|
const { name, key } = item;
|
||||||
//呼入电话
|
//呼入电话
|
||||||
if (key == 'gross') {
|
if (key == 'gross') {
|
||||||
phoneType.value = '2';
|
phoneType.value = ServerDetailType['gross'];
|
||||||
}
|
|
||||||
//受理电话
|
//受理电话
|
||||||
if (key == 'alerdyreceive') {
|
if (key == 'alerdyreceive') {
|
||||||
phoneType.value = '1';
|
phoneType.value = ServerDetailType['alerdyreceive'];
|
||||||
}
|
}
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
phoneDialogTitle.value = name;
|
phoneDialogTitle.value = name;
|
||||||
phoneDialogRef.value.openDialog();
|
phoneDialogRef.value.openDialog();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const terminalAlarmDialogRef = ref();
|
const terminalAlarmDialogRef = ref();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user