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