update: 大屏接口
This commit is contained in:
@@ -64,6 +64,22 @@ export const get = (url, params = {}) => {
|
||||
});
|
||||
});
|
||||
};
|
||||
export const Dictget = (url, params = {}) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
service
|
||||
.get(url, { params: params })
|
||||
.then((res) => {
|
||||
if (res.status === 200) {
|
||||
resolve(res.data);
|
||||
} else {
|
||||
reject(res.data);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err.data);
|
||||
});
|
||||
});
|
||||
};
|
||||
export const post = (url: string, params: any) =>
|
||||
new Promise((resolve, reject) => {
|
||||
service
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
@@ -152,6 +152,9 @@ export const Map = {
|
||||
if (latitude) {
|
||||
lat = latitude;
|
||||
}
|
||||
if (lng) {
|
||||
lon = lng;
|
||||
}
|
||||
if (!longitude || !latitude || !type) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ export enum Api {
|
||||
complaint = '/health-emergency/emergency/tblHelpCenter/sicknessTypeStatistic',
|
||||
orderDetail = '/health-emergency/emergency/order/list',
|
||||
listCustom = '/health-watch/watch/watchMonitorData/listCustom',
|
||||
|
||||
listCustomNew = 'health-watch/watch/watchMonitorData/largeScreen/listCustom',
|
||||
}
|
||||
|
||||
//获取全部部门
|
||||
@@ -21,3 +23,4 @@ export const getDetail = (params: any) => get(Api.getDetail, params);
|
||||
export const getOrderDetail = (params: any) => get(Api.orderDetail, params);
|
||||
//副屏预警查看详情
|
||||
export const getEarlyWarningDetail = (params: any) => get(Api.listCustom, params);
|
||||
export const getEarlyWarningDetailNew = (params: any) => get(Api.listCustomNew, params);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// 步数
|
||||
import {visibleChartLabel} from "/@/utils/utils.ts";
|
||||
import { visibleChartLabel } from '/@/utils/utils.ts';
|
||||
|
||||
export function screenPie(chartData) {
|
||||
const data = visibleChartLabel(chartData)
|
||||
const data = visibleChartLabel(chartData);
|
||||
return {
|
||||
color: ['#B750BE', '#6C63F0', '#3AACFF', '#ED589D', '#FB466C'],
|
||||
tooltip: {
|
||||
@@ -24,7 +24,7 @@ export function screenPie(chartData) {
|
||||
color: '#ffffff',
|
||||
fontSize: 16,
|
||||
},
|
||||
selectedMode: false
|
||||
selectedMode: false,
|
||||
},
|
||||
series: [
|
||||
{
|
||||
@@ -35,13 +35,14 @@ export function screenPie(chartData) {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'outside',
|
||||
formatter: '{c}人次',
|
||||
color: '#ffffff',
|
||||
fontSize: 14,
|
||||
},
|
||||
labelLine: {
|
||||
show: true,
|
||||
length: 6,
|
||||
length2: 10,
|
||||
length2: 30,
|
||||
minTurnAngle: 120,
|
||||
},
|
||||
data: data,
|
||||
@@ -52,7 +53,7 @@ export function screenPie(chartData) {
|
||||
|
||||
//左侧圆
|
||||
export function circleRing(chartData, total, color) {
|
||||
const data = visibleChartLabel(chartData)
|
||||
const data = visibleChartLabel(chartData);
|
||||
return {
|
||||
color: color,
|
||||
tooltip: {
|
||||
@@ -74,7 +75,7 @@ export function circleRing(chartData, total, color) {
|
||||
color: '#ffffff',
|
||||
fontSize: 16,
|
||||
},
|
||||
selectedMode: false
|
||||
selectedMode: false,
|
||||
},
|
||||
series: [
|
||||
{
|
||||
@@ -95,18 +96,18 @@ export function circleRing(chartData, total, color) {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'outside',
|
||||
formatter: '{d}%',
|
||||
formatter: '{d}%\n{c}人次',
|
||||
color: '#ffffff',
|
||||
fontSize: 14,
|
||||
},
|
||||
labelLine: {
|
||||
show: true,
|
||||
length: 4,
|
||||
length2: 12,
|
||||
length: 6,
|
||||
length2: 30,
|
||||
minTurnAngle: 120,
|
||||
},
|
||||
data: data,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ export enum Api {
|
||||
sleepApi = '/health-watch/watch/watchData/getSleep',
|
||||
stepApi = '/health-watch/watch/watchData/getSdc',
|
||||
listCustom = 'health-watch/watch/watchMonitorData/listCustom',
|
||||
listCustomNew = 'health-watch/watch/watchMonitorData/largeScreen/listCustom',
|
||||
}
|
||||
|
||||
// 单位-
|
||||
@@ -24,3 +25,4 @@ export const getStep = (params: any) => post(Api.stepApi, params);
|
||||
|
||||
//副屏-预警
|
||||
export const getCustom = (params: any) => get(Api.listCustom, params);
|
||||
export const getCustomNew = (params: any) => get(Api.listCustomNew, params);
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
</a-table>
|
||||
</div>
|
||||
<!--预警查看详情-->
|
||||
<EarlyWarningDialog ref="earlyWarningRef" />
|
||||
<EarlyWarningDialog ref="earlyWarningRef" :org-codes="orgCode" />
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { onUnmounted, ref, watch } from 'vue';
|
||||
import PublicTitle from '/@/components/publicTitle.vue';
|
||||
import EarlyWarningDialog from '/@/views/components/earlyWarningDialog.vue';
|
||||
import { getCustom, getMonitorList } from '/@/components/secondaryScreen/commonApi.ts';
|
||||
import { getCustom, getCustomNew, getMonitorList } from '/@/components/secondaryScreen/commonApi.ts';
|
||||
import { monitorColumns } from '/@/components/secondaryScreen/screen-right/screenRightHooks.ts';
|
||||
import $bus from '/@/utils/bus.ts';
|
||||
import { earlyWarning } from '/@/utils/busConstant.ts';
|
||||
@@ -64,7 +64,7 @@
|
||||
function handlePoliceDetail(record) {
|
||||
$bus.emit(earlyWarning, record);
|
||||
}
|
||||
|
||||
const threeCodes = ref();
|
||||
watch(
|
||||
props,
|
||||
() => {
|
||||
@@ -75,7 +75,12 @@
|
||||
},
|
||||
{ immediate: true, deep: true }
|
||||
);
|
||||
|
||||
watch(
|
||||
() => props.orgCode,
|
||||
() => {
|
||||
threeCodes.value = props.orgCode;
|
||||
}
|
||||
);
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener('resize', setHeight);
|
||||
});
|
||||
@@ -89,7 +94,8 @@
|
||||
async function init(page) {
|
||||
try {
|
||||
const { pageSize } = pagination.value;
|
||||
const { code, result } = await getCustom({ pageSize, pageNo: page, orgCode: props.orgCode });
|
||||
// const { code, result } = await getCustom({ pageSize, pageNo: page, orgCode: props.orgCode });
|
||||
const { code, result } = await getCustomNew({ pageSize, pageNo: page, orgCodes: props.orgCode });
|
||||
if (code == 200) {
|
||||
setSession(PAGE2_RIGHT3, JSON.stringify({ page, result }));
|
||||
setValue(result, page);
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
type: Function,
|
||||
},
|
||||
apiParams: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
afterFetch: {
|
||||
|
||||
@@ -12,12 +12,21 @@
|
||||
<div v-show="isShow" :class="className" class="footer-data" style="--moveUp: 20px; --moveDown: -80px">
|
||||
<div
|
||||
v-for="item in footerList"
|
||||
:style="{ cursor: item.key == 'allotDeviceNum' ? 'pointer' : 'default' }"
|
||||
:style="{
|
||||
cursor: item.key == 'allotDeviceNum' ? 'pointer' : 'default',
|
||||
}"
|
||||
class="col-item nowrap"
|
||||
@click="openWatchList(item)"
|
||||
>
|
||||
<div class="col-text">{{ item?.name }}</div>
|
||||
<div :title="item.value" class="col-value nowrap">{{ item?.value }}</div>
|
||||
<div
|
||||
:title="item.value"
|
||||
class="col-value nowrap"
|
||||
:style="{
|
||||
color: item.key == 'allotDeviceNum' ? '#0098fa' : '#fff',
|
||||
}"
|
||||
>{{ item?.value }}</div
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
@@ -103,7 +112,7 @@
|
||||
async (val) => {
|
||||
let params = {
|
||||
orgCodeLeaf: val.orgCode,
|
||||
orgCode: null,
|
||||
orgCode: props.orgCode,
|
||||
};
|
||||
const { code, result } = await footerApi(params);
|
||||
if (code == 200) {
|
||||
|
||||
@@ -50,7 +50,6 @@ const router: Router = createRouter({
|
||||
});
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
debugger;
|
||||
if (to.path !== '/login') {
|
||||
setCurrentPath(to.path);
|
||||
}
|
||||
|
||||
+58
-1
@@ -63,7 +63,7 @@ export const initatorTypee = [
|
||||
export const normalTypeList = [
|
||||
{
|
||||
label: '全部',
|
||||
value: '2',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: '正常',
|
||||
@@ -75,6 +75,63 @@ export const normalTypeList = [
|
||||
},
|
||||
];
|
||||
|
||||
export const checkTypeList = [
|
||||
{
|
||||
label: '全部',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: 'BMI',
|
||||
value: '11',
|
||||
},
|
||||
{
|
||||
label: '收缩压',
|
||||
value: '21',
|
||||
},
|
||||
{
|
||||
label: '舒张压',
|
||||
value: '22',
|
||||
},
|
||||
{
|
||||
label: '血糖',
|
||||
value: '31',
|
||||
},
|
||||
{
|
||||
label: '低密度脂蛋白',
|
||||
value: '41',
|
||||
},
|
||||
{
|
||||
label: '总胆固醇',
|
||||
value: '42',
|
||||
},
|
||||
{
|
||||
label: '甘油三酯',
|
||||
value: '43',
|
||||
},
|
||||
{
|
||||
label: '尿酸',
|
||||
value: '51',
|
||||
},
|
||||
{
|
||||
label: '同型半胱氨酸',
|
||||
value: '61',
|
||||
},
|
||||
];
|
||||
|
||||
export const isTrueOfFalse = [
|
||||
{
|
||||
label: '全部',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: '1',
|
||||
},
|
||||
{
|
||||
label: '否',
|
||||
value: '0',
|
||||
},
|
||||
];
|
||||
export interface Settings {
|
||||
dataType: string;
|
||||
orgCode?: string;
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
:class="[themeType]"
|
||||
:key="visible"
|
||||
:columns="columns"
|
||||
:api="getEarlyWarningDetail"
|
||||
:api-params="{ orgCodes: orgCodes }"
|
||||
:api="getEarlyWarningDetailNew"
|
||||
></BasicTable>
|
||||
</template>
|
||||
</Dialog>
|
||||
@@ -16,7 +17,7 @@
|
||||
<script setup lang="ts">
|
||||
import Dialog from '/@/components/dialog/Dialog.vue';
|
||||
import { h, ref, watch } from 'vue';
|
||||
import { getEarlyWarningDetail } from '/@/components/body-d-left/left.api.ts';
|
||||
import { getEarlyWarningDetail, getEarlyWarningDetailNew } from '/@/components/body-d-left/left.api.ts';
|
||||
import BasicTable from '/@/components/secondaryScreen/secondMap/components/basicTable/BasicTable.vue';
|
||||
import { useDialog } from '/@/views/components/dialogHooks.ts';
|
||||
import { useTheme } from '/@/hooks/theme/useTheme.ts';
|
||||
@@ -26,6 +27,7 @@
|
||||
const registerTable = ref(null);
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
orgCodes: String,
|
||||
});
|
||||
const { themeType } = useTheme();
|
||||
const columns = [
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
import { get } from '/@/api/request';
|
||||
import { get, Dictget } from '/@/api/request';
|
||||
|
||||
export enum Api {
|
||||
organizationTree = '',
|
||||
getDictByCode = '/sys/dict/getDictItems',
|
||||
getDictByCode2 = '/sys/api/getDictItems',
|
||||
}
|
||||
|
||||
// 组织机构tree
|
||||
export const getOrganizationTree = () => get(Api.organizationTree);
|
||||
export const getOrganizationTree = () => get(Api.organizationTree);
|
||||
|
||||
export const getDictByCode = (params) => get(Api.getDictByCode + `/${params.code}`);
|
||||
export const getDictByCode2 = (params) => Dictget(Api.getDictByCode2, params);
|
||||
|
||||
+34
-11
@@ -19,13 +19,7 @@
|
||||
<div class="body-d-middle">
|
||||
<SecondMap :orgCode="orgCode" :type="type">
|
||||
<template #rightForm>
|
||||
<a-select
|
||||
placeholder="选择单位"
|
||||
v-model:value="orgCode"
|
||||
class="type-select bg-000"
|
||||
:options="option"
|
||||
:field-names="fieldNames"
|
||||
/>
|
||||
<a-select placeholder="选择单位" v-model:value="orgCode" class="type-select bg-000 select-dept" :options="option1" />
|
||||
<a-select placeholder="选择时间范围" v-model:value="type" class="type-select bg-000" :options="timeRangeOption" />
|
||||
</template>
|
||||
</SecondMap>
|
||||
@@ -56,7 +50,9 @@
|
||||
import { onUnmounted } from 'vue';
|
||||
import { useTheme } from '/@/hooks/theme/useTheme.ts';
|
||||
import { ThemeType } from '/@/utils/settings.ts';
|
||||
import { allSecondaryDepartsApi } from '/@/views/indexSun/indexSun.api.ts';
|
||||
|
||||
const option1 = ref([{ label: '全部', value: '' }]);
|
||||
const { refreshState } = useRefresh(DEFAULT_TIME);
|
||||
|
||||
const store = useUserStore();
|
||||
@@ -66,18 +62,42 @@
|
||||
});
|
||||
const { themeType } = useTheme();
|
||||
const useStore = useUserStore();
|
||||
const { orgCode, option, fieldNames, setOrgCode } = useDepart();
|
||||
const orgCode = ref();
|
||||
const { option, fieldNames, setOrgCode } = useDepart();
|
||||
onMounted(() => {
|
||||
const userInfo = useStore.getUserInfo;
|
||||
let orgCode = userInfo?.secondDepart?.orgCode;
|
||||
if (orgCode) {
|
||||
let orgCodes = userInfo?.secondDepart?.orgCode;
|
||||
if (orgCodes) {
|
||||
nextTick(() => {
|
||||
setOrgCode(orgCode);
|
||||
// orgCode.value = orgCodes;
|
||||
orgCode.value = userInfo?.secondDepart?.orgCode;
|
||||
setOrgCode(orgCodes);
|
||||
});
|
||||
}
|
||||
init();
|
||||
document.addEventListener('visibilitychange', checkTabState);
|
||||
getSecondDepart();
|
||||
});
|
||||
function getSecondDepart() {
|
||||
allSecondaryDepartsApi({})
|
||||
.then((res: any) => {
|
||||
if (res.code === 200) {
|
||||
const op: any[] = res?.result
|
||||
? res.result.map((it: any) => {
|
||||
return {
|
||||
label: it.departName,
|
||||
value: it.orgCode,
|
||||
};
|
||||
})
|
||||
: [];
|
||||
option1.value = option1.value.concat(op);
|
||||
} else {
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
onUnmounted(() => {
|
||||
document.removeEventListener('visibilitychange', checkTabState);
|
||||
});
|
||||
@@ -218,6 +238,9 @@
|
||||
color: #fff !important;
|
||||
}
|
||||
}
|
||||
.select-dept {
|
||||
width: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-d {
|
||||
|
||||
+34
-3
@@ -25,6 +25,7 @@
|
||||
:hospitalList="hospitalList"
|
||||
@clear-hospital-list="clearHospitalList"
|
||||
:show-rest-b="showRestB"
|
||||
@handle-detail="handleCenterMapClick"
|
||||
@show-rest-b="
|
||||
() => {
|
||||
showRestB = false;
|
||||
@@ -80,7 +81,16 @@
|
||||
import threeR from '/@/views/indexSun/threeR.vue';
|
||||
import CenterMap from '/@/views/indexSun/centerMap.vue';
|
||||
import { ServerDetailType } from '/@/components/body-d-left/bodyLeftHooks.ts';
|
||||
import { columns, fromLists, threeRModalColumns, threeRModalFromList, towRcolumns, twoRform } from '/@/views/indexSun/indexSun.ts';
|
||||
import {
|
||||
centerMapColumns,
|
||||
centerMapFromList,
|
||||
columns,
|
||||
fromLists,
|
||||
threeRModalColumns,
|
||||
threeRModalFromList,
|
||||
towRcolumns,
|
||||
twoRform,
|
||||
} from '/@/views/indexSun/indexSun.ts';
|
||||
import { nextTick, onMounted, onUnmounted, ref, watch } from 'vue';
|
||||
import PhoneDialog from '/@/views/components/phoneDialog/phoneDialog.vue';
|
||||
import { DataType, getSettings } from '/@/utils/settings.ts';
|
||||
@@ -96,7 +106,15 @@
|
||||
import { useUserStore } from '/@/store/modules/user.ts';
|
||||
|
||||
const { getCenterInfo } = useUserStore();
|
||||
import { oneLApi, threeRModalApi, twoLModalApi, twoRModal1Api, twoRModal2Api, twoRModal3Api } from '/@/views/indexSun/indexSun.api.ts';
|
||||
import {
|
||||
oneLApi,
|
||||
roomDetailApi,
|
||||
threeRModalApi,
|
||||
twoLModalApi,
|
||||
twoRModal1Api,
|
||||
twoRModal2Api,
|
||||
twoRModal3Api,
|
||||
} from '/@/views/indexSun/indexSun.api.ts';
|
||||
import dayjs from 'dayjs';
|
||||
//0:处置 1:处理 2:呼入 3:全部
|
||||
const phoneType = ref('');
|
||||
@@ -397,7 +415,20 @@
|
||||
}
|
||||
apiParams.value = params;
|
||||
modalApi.value = apiArr[data.type - 1];
|
||||
firstFormOne.value = twoRform(data.normal == 2 ? '1' : '2');
|
||||
firstFormOne.value = twoRform(data.normal == 2 ? '1' : '');
|
||||
nextTick(() => {
|
||||
indexModalRef.value.openDialog();
|
||||
});
|
||||
}
|
||||
function handleCenterMapClick(res) {
|
||||
console.log(res, 'centerres');
|
||||
indexColumn.value = centerMapColumns;
|
||||
firstFormOne.value = centerMapFromList;
|
||||
const params = {
|
||||
healthRoomId: res.id,
|
||||
};
|
||||
modalApi.value = roomDetailApi;
|
||||
apiParams.value = params;
|
||||
nextTick(() => {
|
||||
indexModalRef.value.openDialog();
|
||||
});
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { nextTick, onMounted, ref, watch } from 'vue';
|
||||
import { infoContent, legendList, tabList } from '/@/views/indexSun/indexSun.ts';
|
||||
import { infoContent, infoContent1, legendList, tabList } from '/@/views/indexSun/indexSun.ts';
|
||||
import { message } from 'ant-design-vue';
|
||||
import { innerLineLight, outerLineOption } from '/@/assets/mapUtils/mapConstant.ts';
|
||||
import { Map } from '/@/assets/mapUtils/map.ts';
|
||||
@@ -122,7 +122,7 @@
|
||||
const panelTitle = ref();
|
||||
const level = ref(0);
|
||||
const routeList = ref([]);
|
||||
const emits = defineEmits(['clearHospitalList', 'showRestB']);
|
||||
const emits = defineEmits(['clearHospitalList', 'showRestB', 'handleDetail']);
|
||||
|
||||
watch(
|
||||
() => props.showHospitalList,
|
||||
@@ -150,7 +150,6 @@
|
||||
document.addEventListener('click', (e) => {
|
||||
let t = e.target.closest('.viewBtn');
|
||||
if (t) {
|
||||
console.log(t.id);
|
||||
if (t.id) {
|
||||
handleClcikDetail(JSON.parse(t.id));
|
||||
}
|
||||
@@ -184,7 +183,9 @@
|
||||
function changeTab(item: any, i: number) {
|
||||
closeDrivingElement();
|
||||
currentIndex.value = i;
|
||||
tab(item);
|
||||
if (item.type) {
|
||||
tab(item);
|
||||
}
|
||||
}
|
||||
|
||||
function tab(item: any) {
|
||||
@@ -280,8 +281,12 @@
|
||||
},
|
||||
},
|
||||
async (val) => {
|
||||
console.log(val);
|
||||
Map.createInfoModal({ option: val, content: infoContent(val) });
|
||||
if (val.type == '2') {
|
||||
Map.createInfoModal({ option: val, content: infoContent(val) });
|
||||
} else {
|
||||
Map.createInfoModal({ option: val, content: infoContent1(val) });
|
||||
}
|
||||
|
||||
// const viewBtn = document.getElementById(val.id);
|
||||
// viewBtn.onclick = () => {
|
||||
// handleClcikDetail(val);
|
||||
@@ -307,7 +312,7 @@
|
||||
}
|
||||
|
||||
function handleClcikDetail(res) {
|
||||
console.log(res);
|
||||
emits('handleDetail', res);
|
||||
}
|
||||
|
||||
function setTitle({ time, distance }) {
|
||||
@@ -560,7 +565,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.modal-box-normal) {
|
||||
width: 330px;
|
||||
height: 110px;
|
||||
}
|
||||
.hospital-list {
|
||||
position: absolute;
|
||||
bottom: 160px;
|
||||
@@ -590,7 +598,7 @@
|
||||
z-index: 99;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 54px;
|
||||
top: 100px;
|
||||
width: 288px;
|
||||
padding: 9px 18px;
|
||||
min-height: 200px;
|
||||
|
||||
@@ -20,17 +20,17 @@
|
||||
<a-select placeholder="选择部门" v-model:value="orgCode2" :options="option2" />
|
||||
</a-form-item>
|
||||
<slot name="searchSecond"></slot>
|
||||
<div class="form-btn">
|
||||
<a-button @click="handleClickReset" style="border-color: #00ccff">重置</a-button>
|
||||
<a-button
|
||||
@click="handleClicksearch"
|
||||
:loading="loading"
|
||||
style="margin-left: 10px; background: #00ccff; border-color: #00ccff; color: #ffffff"
|
||||
>
|
||||
搜索
|
||||
</a-button>
|
||||
</div>
|
||||
</Form>
|
||||
<div class="form-btn">
|
||||
<a-button @click="handleClickReset" style="border-color: #00ccff">重置</a-button>
|
||||
<a-button
|
||||
@click="handleClicksearch"
|
||||
:loading="loading"
|
||||
style="margin-left: 10px; background: #00ccff; border-color: #00ccff; color: #ffffff"
|
||||
>
|
||||
搜索
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="top-bottom-center" v-if="twoROnly">
|
||||
<div class="date-change">
|
||||
@@ -134,6 +134,35 @@
|
||||
if (type == dataActity.value) return;
|
||||
dataActity.value = type;
|
||||
getField();
|
||||
if (props.twoROnly) {
|
||||
const twoRData = localStorage.getItem('twoRList');
|
||||
const newData = JSON.parse(twoRData);
|
||||
if (props.twoROnly.type == 1) {
|
||||
if (type == 1) {
|
||||
normalNum.value = newData.weightLossCountDay;
|
||||
abnormalNum.value = newData.weightLossAbnormalCountDay;
|
||||
} else {
|
||||
normalNum.value = newData.weightLossCountMonth;
|
||||
abnormalNum.value = newData.weightLossAbnormalCountMonth;
|
||||
}
|
||||
} else if (props.twoROnly.type == 2) {
|
||||
if (type == 1) {
|
||||
normalNum.value = newData.bloodSugarCountDay;
|
||||
abnormalNum.value = newData.bloodSugarAbnormalCountDay;
|
||||
} else {
|
||||
normalNum.value = newData.bloodSugarCountMonth;
|
||||
abnormalNum.value = newData.bloodSugarAbnormalCountMonth;
|
||||
}
|
||||
} else {
|
||||
if (type == 1) {
|
||||
normalNum.value = newData.bloodPressureCountDay;
|
||||
abnormalNum.value = newData.bloodPressureAbnormalCountDay;
|
||||
} else {
|
||||
normalNum.value = newData.bloodPressureCountMonth;
|
||||
abnormalNum.value = newData.bloodPressureAbnormalCountMonth;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (type == 1) {
|
||||
formState.value.inputDateBegin = dayjs().format('YYYY-MM-DD');
|
||||
formState.value.inputDateEnd = dayjs().format('YYYY-MM-DD');
|
||||
@@ -212,7 +241,7 @@
|
||||
abnormalNum.value = newData.weightLossAbnormalCountDay;
|
||||
} else {
|
||||
normalNum.value = newData.weightLossCountMonth;
|
||||
abnormalNum.value = newData.weightLossCountMonth;
|
||||
abnormalNum.value = newData.weightLossAbnormalCountMonth;
|
||||
}
|
||||
} else if (props.twoROnly.type == 2) {
|
||||
if (props.twoROnly.date == 1) {
|
||||
@@ -270,6 +299,7 @@
|
||||
orgCode2.value = '';
|
||||
orgCode1.value = '';
|
||||
getField();
|
||||
formRecord.value = {};
|
||||
formState.value = {
|
||||
...formState.value,
|
||||
...formRecord.value,
|
||||
@@ -303,7 +333,7 @@
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
:deep(.ant-form) {
|
||||
width: 80%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
.ant-form-item {
|
||||
flex: 1;
|
||||
|
||||
@@ -15,6 +15,7 @@ enum Api {
|
||||
twoRModal1 = '/health-emergency/emergency/LargeScreenNew/healthWeightLoss',
|
||||
twoRModal2 = '/health-emergency/emergency/LargeScreenNew/healthBloodSugar',
|
||||
twoRModal3 = '/health-emergency/emergency/LargeScreenNew/healthBloodPressure',
|
||||
roomDetail = '/health-emergency/emergency/LargeScreenNew/healthRoomDetail',
|
||||
getSecondaryDepartment = '/sys/sysDepart/allSecondaryDeparts',
|
||||
}
|
||||
|
||||
@@ -31,6 +32,7 @@ export const threeRModalApi = (params) => post(Api.threeRModal, params);
|
||||
export const twoRModal1Api = (params) => post(Api.twoRModal1, params);
|
||||
export const twoRModal2Api = (params) => post(Api.twoRModal2, params);
|
||||
export const twoRModal3Api = (params) => post(Api.twoRModal3, params);
|
||||
export const roomDetailApi = (params) => post(Api.roomDetail, params);
|
||||
export const getSecondaryDepartmentList = () => get({ url: Api.getSecondaryDepartment });
|
||||
export const allSecondaryDepartsApi = (params) => get(Api.allSecondaryDeparts, params);
|
||||
export const getThreeDepartByOrgCodeApi = (params) => get(Api.getThreeDepartByOrgCode, params);
|
||||
|
||||
+134
-14
@@ -1,9 +1,17 @@
|
||||
import * as echarts from 'echarts';
|
||||
import { legend1, legend2, legend3, legend4, legend5 } from '/@/components/xianMap/xianMapHooks.ts';
|
||||
import { initatorTypee, normalTypeList, SexType, sexTypeList, sexTypeListNew } from '/@/utils/settings.ts';
|
||||
import { checkTypeList, initatorTypee, isTrueOfFalse, normalTypeList, SexType, sexTypeList, sexTypeListNew } from '/@/utils/settings.ts';
|
||||
import { getDictByCode, getDictByCode2 } from '/@/views/index.api.ts';
|
||||
import { get } from '/@/api/request';
|
||||
export const legend1 = new URL('/@/assets/img/legend1.png', import.meta.url).href;
|
||||
export const legend2 = new URL('/@/assets/img/legend5.png', import.meta.url).href;
|
||||
export const legend3 = new URL('/@/assets/img/legend3.png', import.meta.url).href;
|
||||
|
||||
async function getDict(code) {
|
||||
return await getDictByCode2({ dictCode: code });
|
||||
}
|
||||
export const checkData = await getDict('xj_check_type');
|
||||
|
||||
export function getClassCharts(dx, dy, m) {
|
||||
return {
|
||||
grid: {
|
||||
@@ -129,7 +137,7 @@ export function infoContent(res) {
|
||||
<span class="item-one">单位:</span>
|
||||
<span class="item-two">${res.orgName ? res.orgName : '--'}</span>
|
||||
</div>
|
||||
<div class="modal-item">
|
||||
<div class="modal-item" >
|
||||
<span class="item-one">关爱人数:</span>
|
||||
<span class="item-two">${res.loveNum ? res.loveNum : '--'}</span>
|
||||
</div>
|
||||
@@ -142,7 +150,19 @@ export function infoContent(res) {
|
||||
</div>
|
||||
</div> `;
|
||||
}
|
||||
|
||||
export function infoContent1(res) {
|
||||
return `
|
||||
<div class="modal-box modal-box-normal">
|
||||
<div class="modal-item">
|
||||
<span class="item-one">单位:</span>
|
||||
<span class="item-two">${res.orgName ? res.orgName : '--'}</span>
|
||||
</div>
|
||||
<div class="modal-item">
|
||||
<span class="item-one">地点:</span>
|
||||
<span class="item-two">${res.name ? res.name : '--'}</span>
|
||||
</div>
|
||||
</div> `;
|
||||
}
|
||||
const columns1 = [
|
||||
{
|
||||
title: '姓名',
|
||||
@@ -320,6 +340,13 @@ export const threeRModalFromList = [
|
||||
placeholder: '请输入体检医院',
|
||||
defaultValue: '',
|
||||
},
|
||||
{
|
||||
label: '单位',
|
||||
field: 'departName',
|
||||
type: 'input',
|
||||
placeholder: '请输入单位',
|
||||
defaultValue: '',
|
||||
},
|
||||
];
|
||||
|
||||
const towRcolumn1 = [
|
||||
@@ -360,8 +387,8 @@ const towRcolumn1 = [
|
||||
},
|
||||
{
|
||||
title: 'BMI是否异常',
|
||||
dataIndex: 'bmiException',
|
||||
key: 'bmiException',
|
||||
dataIndex: 'bmiFlag',
|
||||
key: 'bmiFlag',
|
||||
},
|
||||
{
|
||||
title: '腰围(cm)',
|
||||
@@ -370,8 +397,8 @@ const towRcolumn1 = [
|
||||
},
|
||||
{
|
||||
title: '填报日期',
|
||||
dataIndex: 'createTime',
|
||||
key: 'createTime',
|
||||
dataIndex: 'inputDate',
|
||||
key: 'inputDate',
|
||||
},
|
||||
];
|
||||
const towRcolumn2 = [
|
||||
@@ -397,13 +424,13 @@ const towRcolumn2 = [
|
||||
},
|
||||
{
|
||||
title: '血糖值(mmol/L)',
|
||||
dataIndex: 'height',
|
||||
key: 'height',
|
||||
dataIndex: 'bsVal',
|
||||
key: 'bsVal',
|
||||
},
|
||||
{
|
||||
title: '血糖是否异常',
|
||||
dataIndex: 'weight',
|
||||
key: 'weight',
|
||||
dataIndex: 'bmiFlag',
|
||||
key: 'bmiFlag',
|
||||
},
|
||||
{
|
||||
title: '腰围(cm)',
|
||||
@@ -412,8 +439,8 @@ const towRcolumn2 = [
|
||||
},
|
||||
{
|
||||
title: '填报日期',
|
||||
dataIndex: 'createTime',
|
||||
key: 'createTime',
|
||||
dataIndex: 'inputDate',
|
||||
key: 'inputDate',
|
||||
},
|
||||
];
|
||||
const towRcolumn3 = [
|
||||
@@ -476,7 +503,7 @@ export function twoRform(type) {
|
||||
label: '异常标记',
|
||||
field: 'abFlag',
|
||||
type: 'select',
|
||||
placeholder: '请选择性别',
|
||||
placeholder: '请选择',
|
||||
options: normalTypeList,
|
||||
defaultValue: type,
|
||||
},
|
||||
@@ -489,3 +516,96 @@ export function twoRform(type) {
|
||||
];
|
||||
}
|
||||
export const towRcolumns = [towRcolumn1, towRcolumn2, towRcolumn3];
|
||||
|
||||
export const centerMapColumns = [
|
||||
{
|
||||
title: '单位',
|
||||
dataIndex: 'departName',
|
||||
key: 'departName',
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
},
|
||||
{
|
||||
title: '检查日期',
|
||||
dataIndex: 'checkInDate',
|
||||
key: 'checkInDate',
|
||||
},
|
||||
{
|
||||
title: '检查类型',
|
||||
dataIndex: 'checkType',
|
||||
key: 'checkType',
|
||||
customRender: ({ text }) => {
|
||||
console.log(text, checkData);
|
||||
const dddd = checkData.filter((item) => item.value == text);
|
||||
return dddd[0].label;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '去年检查值',
|
||||
dataIndex: 'lastVal',
|
||||
key: 'lastYearCheckVal',
|
||||
},
|
||||
{
|
||||
title: '控降目标',
|
||||
dataIndex: 'goalVal',
|
||||
key: 'targetVal',
|
||||
},
|
||||
{
|
||||
title: '本次测量值',
|
||||
dataIndex: 'currentVal',
|
||||
key: 'thisCheckVal',
|
||||
},
|
||||
{
|
||||
title: '控降差值',
|
||||
dataIndex: 'compareVal',
|
||||
key: 'diffVal',
|
||||
},
|
||||
{
|
||||
title: '是否成功控降',
|
||||
dataIndex: 'successFlag',
|
||||
key: 'successFlag',
|
||||
customRender: ({ text }) => {
|
||||
if (text == '1') {
|
||||
return '是';
|
||||
} else {
|
||||
return '否';
|
||||
}
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export const centerMapFromList = [
|
||||
{
|
||||
label: '员工姓名',
|
||||
field: 'name',
|
||||
type: 'input',
|
||||
placeholder: '请输入姓名',
|
||||
defaultValue: '',
|
||||
},
|
||||
{
|
||||
label: '检查类型',
|
||||
field: 'checkType',
|
||||
type: 'select',
|
||||
placeholder: '请输入检查类型',
|
||||
options: checkData,
|
||||
defaultValue: '',
|
||||
},
|
||||
{
|
||||
label: '是否成功控降',
|
||||
field: 'successFlag',
|
||||
type: 'select',
|
||||
placeholder: '请输入是否成功控降',
|
||||
options: isTrueOfFalse,
|
||||
defaultValue: '',
|
||||
},
|
||||
{
|
||||
label: '单位名称',
|
||||
field: 'departName',
|
||||
type: 'input',
|
||||
placeholder: '请输入单位名称',
|
||||
defaultValue: '',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</template>
|
||||
<template v-else>
|
||||
<div style="height: 100%; width: 100%; display: flex; align-items: center; justify-content: center">
|
||||
<Empty :description="'暂无数据'" />
|
||||
<Empty :description="'暂无数据'" :image="nomalPng" />
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
@@ -34,6 +34,7 @@
|
||||
import { onMounted, ref, watch } from 'vue';
|
||||
import hospitalPng from '/@/assets/indexSun/hospital.png';
|
||||
import { threeLApi } from '/@/views/indexSun/indexSun.api.ts';
|
||||
import nomalPng from '/@/assets/indexSun/nomal.png';
|
||||
const scrollList = ref<any[]>([]);
|
||||
const props = defineProps({
|
||||
bKey: {
|
||||
@@ -98,14 +99,23 @@
|
||||
font-size: 14px;
|
||||
letter-spacing: 0;
|
||||
margin-bottom: 20px;
|
||||
cursor: pointer;
|
||||
img {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
:deep(.ant-empty-image) {
|
||||
height: auto;
|
||||
img {
|
||||
display: inline-block;
|
||||
width: 51px;
|
||||
height: 54px;
|
||||
}
|
||||
}
|
||||
:deep(.ant-empty-description) {
|
||||
color: #c9daff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</template>
|
||||
<template v-else>
|
||||
<div style="height: 100%; width: 100%; display: flex; align-items: center; justify-content: center">
|
||||
<Empty :description="'暂无数据'" />
|
||||
<Empty :description="'暂无数据'" :image="nomalPng" />
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
@@ -44,6 +44,7 @@
|
||||
<script setup lang="ts">
|
||||
import { Empty } from 'ant-design-vue';
|
||||
import { ref, onMounted, watch } from 'vue';
|
||||
import nomalPng from '/@/assets/indexSun/nomal.png';
|
||||
import { threeRApi } from '/@/views/indexSun/indexSun.api.ts';
|
||||
const scrollList = ref();
|
||||
const emit = defineEmits(['handleClick']);
|
||||
@@ -116,6 +117,17 @@
|
||||
color: #fff;
|
||||
justify-content: space-between;
|
||||
}
|
||||
:deep(.ant-empty-image) {
|
||||
height: auto;
|
||||
img {
|
||||
display: inline-block;
|
||||
width: 51px;
|
||||
height: 54px;
|
||||
}
|
||||
}
|
||||
:deep(.ant-empty-description) {
|
||||
color: #c9daff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<div>
|
||||
<span class="clock-text">异常人数:</span>
|
||||
<span class="clock-num2" @click="handleClickNum1(1, 2, 2)"
|
||||
>{{ twoRList?.weightLossCountMonth ? twoRList?.weightLossAbnormalCountMonth : '--' }}人</span
|
||||
>{{ twoRList?.weightLossAbnormalCountMonth ? twoRList?.weightLossAbnormalCountMonth : '--' }}人</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user