update: 登录密码加眼睛

This commit is contained in:
xf
2025-07-09 17:26:48 +08:00
parent 78141a788f
commit 8a9ea4753e
7 changed files with 184 additions and 134 deletions
@@ -1,14 +1,14 @@
<template>
<BasicTable @register="registerTable" size="small">
<template #tableTitle>
<a-button-group>
<!-- <a-button-group>-->
<a-button v-auth="'emergency:callLog:exportXls'" type="primary" preIcon="ant-design:export-outlined" @click="downloadExcelBtn"
>导出</a-button
>
<a-button v-auth="'emergency:callLog:exportXls'" type="primary" preIcon="ant-design:search-outlined" @click="handleExportList">
查看导出任务
</a-button>
</a-button-group>
<!-- </a-button-group>-->
</template>
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
@@ -3,19 +3,14 @@
<div style="height: 70vh">
<BasicTable @register="registerTable" size="small">
<template #tableTitle>
<a-button-group>
<!-- <a-button-group>-->
<a-button v-auth="'emergency:callLog:exportXls'" type="primary" preIcon="ant-design:export-outlined" @click="downloadExcelBtn"
>导出</a-button
>
<a-button
v-auth="'emergency:callLog:exportXls'"
type="primary"
preIcon="ant-design:search-outlined"
@click="handleExportList"
>
<a-button v-auth="'emergency:callLog:exportXls'" type="primary" preIcon="ant-design:search-outlined" @click="handleExportList">
查看导出任务
</a-button>
</a-button-group>
<!-- </a-button-group>-->
</template>
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
@@ -3,10 +3,10 @@
<!--引用表格-->
<BasicTable @register="registerTable">
<template #tableTitle>
<a-button-group>
<!-- <a-button-group>-->
<a-button type="primary" preIcon="ant-design:export-outlined" @click="downloadExcelBtn">导出</a-button>
<a-button type="primary" preIcon="ant-design:search-outlined" @click="handleExportList"> 查看导出任务 </a-button>
</a-button-group>
<!-- </a-button-group>-->
</template>
<!--操作栏-->
@@ -3,10 +3,10 @@
<!--引用表格-->
<BasicTable :rowSelection="null" @register="registerTable">
<template #tableTitle>
<a-button-group>
<!-- <a-button-group>-->
<a-button type="primary" preIcon="ant-design:export-outlined" @click="downloadExcelBtn">导出</a-button>
<a-button type="primary" preIcon="ant-design:search-outlined" @click="handleExportList"> 查看导出任务 </a-button>
</a-button-group>
<!-- </a-button-group>-->
</template>
<!--操作栏-->
<template #action="{ record }">
@@ -6,11 +6,22 @@ enum Api {
'/health-emergency/emergency/fakerData/createYcMedicalFakerData,' +
'/health-emergency/emergency/fakerData/createYcMedicalCenterFakerData,' +
'/health-emergency/emergency/fakerData/createYcUserHealthFakerData', // 查询: 9:银川服务 10:银川医院 11:银川一线医疗点 12:银川员工健康
xjSave = '/health-emergency/emergency/fakerData/createYcServiceFakerData,' +
'/health-emergency/emergency/fakerData/createXjDemandTypeFakerData,' +
'/health-emergency/emergency/fakerData/createXjMedicalCountFakerData,' +
'/health-emergency/emergency/fakerData/createXjHealthSignCountFakerData,' +
'/health-emergency/emergency/fakerData/createXjMedicalDataFakerData',
status = '/health-emergency/emergency/fakerData/getFakerDataEnable',
changeStatus = '/health-emergency/emergency/fakerData/fakerDataEnable',
xjCountFakerData = '/health-emergency/emergency/fakerData/createXjMedicalCountFakerData',
}
export const listApi = (params: any) => defHttp.post({ url: Api.list, params }, { joinParamsToUrl: true, isTransformResponse: false });
export const saveApi = (params: any) => defHttp.post({ url: Api.save.split(',')[params['module'] - 9], params });
// export const saveApi = (params: any) => defHttp.post({ url: Api.save.split(',')[params['module'] - 9], params });
export const saveApi = (params: any) =>
defHttp.post({ url: Api.xjSave.split(',')[params['module'] == 9 ? params['module'] - 9 : params['module'] - 30], params });
export const saveElApi = (params: any, id: string) => defHttp.post({ url: Api.save.split(',')[2] + '?centerId=' + id, params });
export const statusApi = (params: any, id: string) => defHttp.post({ url: Api.status + '?centerId=' + id, params });
export const changeStatusApi = (params: any) => defHttp.post({ url: Api.changeStatus, params });
export const xjCountFakerDataApi = (params: any, id: string) => defHttp.post({ url: Api.xjCountFakerData + '?centerId=' + id, params });
@@ -56,48 +56,16 @@ const serviceColumns: BasicColumn[] = [
];
const archiveColumns: BasicColumn[] = [
{
title: '兴隆医院',
dataIndex: 'xl',
title: '120',
dataIndex: 'emergencyCount',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '泾河医院',
dataIndex: 'jh',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '宁夏宝石花医院',
dataIndex: 'nx',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '庆阳医院',
dataIndex: 'qy',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '延安市人民医院',
dataIndex: 'ya',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '西京医院',
dataIndex: 'xj',
title: '应急就医',
dataIndex: 'hospitalCount',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
@@ -110,7 +78,7 @@ const archiveColumns: BasicColumn[] = [
];
const bigColumns: BasicColumn[] = [
{
title: '医疗点名称',
title: '体检机构',
dataIndex: 'name',
rewriting: true,
rewroteCell: {
@@ -118,32 +86,8 @@ const bigColumns: BasicColumn[] = [
},
},
{
title: '高风险干预',
dataIndex: 'high',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '慢病',
dataIndex: 'slow',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '巡诊',
dataIndex: 'tour',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '排序',
dataIndex: 'order',
title: '人数',
dataIndex: 'count',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
@@ -156,40 +100,96 @@ const bigColumns: BasicColumn[] = [
];
const healthColumns: BasicColumn[] = [
{
title: '重大疾病',
dataIndex: 'bigIll',
title: '减重今日打卡人数',
dataIndex: 'weightLossCountDay',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '健康高风险',
dataIndex: 'highRisk',
title: '减重本月打卡人数',
dataIndex: 'weightLossCountMonth',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '慢病人数',
dataIndex: 'slowIll',
title: '减重今日异常人数',
dataIndex: 'weightLossAbnormalCountDay',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '重点指标异常',
dataIndex: 'focusErr',
title: '减重本月异常人数',
dataIndex: 'weightLossAbnormalCountMonth',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '健康人数',
dataIndex: 'health',
title: '血糖今日打卡人数',
dataIndex: 'bloodSugarCountDay',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血糖本月打卡人数',
dataIndex: 'bloodSugarCountMonth',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血糖今日异常人数',
dataIndex: 'bloodSugarAbnormalCountDay',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血糖本月异常人数',
dataIndex: 'bloodSugarAbnormalCountMonth',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血压今日打卡人数',
dataIndex: 'bloodPressureCountDay',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血压本月打卡人数',
dataIndex: 'bloodPressureCountMonth',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血压今日异常人数',
dataIndex: 'bloodPressureAbnormalCountDay',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '血压本月异常人数',
dataIndex: 'bloodPressureAbnormalCountMonth',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
@@ -200,4 +200,43 @@ const healthColumns: BasicColumn[] = [
dataIndex: 'status',
},
];
export const columns: Array<BasicColumn[]> = [serviceColumns, archiveColumns, bigColumns, healthColumns];
const hmedicalColumns: BasicColumn[] = [
{
title: '体检总人数',
dataIndex: 'totalCount',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '心血管异常人数',
dataIndex: 'cardiovaAbCount',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '脑血管异常人数',
dataIndex: 'cerebrovAbCount',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '冠状CT异常人数',
dataIndex: 'cctaAbCount',
rewriting: true,
rewroteCell: {
type: 'inputNumber',
},
},
{
title: '状态',
dataIndex: 'status',
},
];
export const columns: Array<BasicColumn[]> = [serviceColumns, archiveColumns, bigColumns, healthColumns, hmedicalColumns];
@@ -32,8 +32,8 @@
<div>
<a-button type="primary" @click="changeCalculateStatus" :loading="saveLoading">{{ isCalculate ? `保存` : `录入` }}</a-button>
<a-button style="margin-left: 5px" v-if="isCalculate" @click="changeCalculateStatusFalse">取消</a-button>
<a-button style="margin-left: 5px" type="primary" @click="addListItem" v-if="isCalculate && activeKey == 11">添加</a-button>
<span style="margin-left: 5px" v-if="activeKey == 11">
<a-button style="margin-left: 5px" type="primary" @click="addListItem" v-if="isCalculate && activeKey == 32">添加</a-button>
<span style="margin-left: 5px" v-if="activeKey == 32">
状态:
<a-switch
v-model:checked="checked1"
@@ -85,7 +85,14 @@
import BasicTable from '/@/components/Table/src/BasicTable.vue';
import { useListPage } from '/@/hooks/system/useListPage';
import { onMounted, ref, watch } from 'vue';
import { listApi, saveApi, statusApi, changeStatusApi, saveElApi } from '/@/views/emergency/bigScreenOther/currencyOther.api';
import {
listApi,
saveApi,
statusApi,
changeStatusApi,
saveElApi,
xjCountFakerDataApi,
} from '/@/views/emergency/bigScreenOther/currencyOther.api';
import { columns } from '/@/views/emergency/bigScreenOther/currencyOther.data';
import { message } from 'ant-design-vue';
import { allCenterApi } from '/@/views/emergency/scheduling/scheduling.api';
@@ -115,17 +122,21 @@
name: '服务详情',
},
{
id: 10,
id: 31,
name: '主诉分类',
},
{
id: 32,
name: '体检人数',
},
{
id: 33,
name: '健康打卡人数',
},
{
id: 34,
name: '体检数据',
},
{
id: 11,
name: '一线医疗点数据',
},
{
id: 12,
name: '员工健康状况',
},
]);
const { tableContext } = useListPage({
tableProps: {
@@ -133,8 +144,9 @@
// columns: props.columns,
beforeFetch: (params) => {
const redisKey = ['house:fakerData:groupUser'];
console.log(redisKey, 'ahjshjsdhj');
params['module'] = activeKey.value;
params['redisKey'] = redisKey[activeKey.value - 9];
params['redisKey'] = activeKey.value == 9 ? redisKey[activeKey.value - 9] : redisKey[activeKey.value - 30];
params['centerId'] = centerId.value;
return params;
},
@@ -143,7 +155,7 @@
const res = await statusApi({ centerId: centerId.value }, centerId.value);
checked1.value = res[activeKey.value] ? res[activeKey.value] : false;
if (code == 200) {
return activeKey.value == 11 ? result : [result];
return activeKey.value == 32 ? result : [result];
} else {
message.warn(msg);
}
@@ -162,6 +174,7 @@
});
function addListItem() {
console.log(getDataSource());
let data = JSON.parse(JSON.stringify(getDataSource()));
data.push({});
setTableData(data);
@@ -177,29 +190,21 @@
if (!centerId.value) return message.info('请先选择应急分中心');
if (!isCalculate.value) return (isCalculate.value = true);
try {
if (activeKey.value == 11) {
if (activeKey.value == 32) {
let d = getDataSource();
console.log(d, 'ddddddd');
for (let i = 0; i < d.length; i++) {
if (!d[i].name) {
return message.info(`第${i + 1}条的医疗点名称不能为空`);
return message.info(`第${i + 1}条的体检机构不能为空`);
}
if (!d[i].high) {
return message.info(`第${i + 1}条的高风险干预不能为空`);
}
if (!d[i].slow) {
return message.info(`第${i + 1}条的慢病不能为空`);
}
if (!d[i].tour) {
return message.info(`第${i + 1}条的巡诊不能为空`);
}
if (!d[i].order) {
return message.info(`第${i + 1}条的排序不能为空`);
if (!d[i].count) {
return message.info(`第${i + 1}条的人数不能为空`);
}
d[i]['centerId'] = centerId.value;
}
saveLoading.value = true;
switchLoading.value = false;
await saveElApi(d, centerId.value);
await xjCountFakerDataApi(d, centerId.value);
} else {
saveLoading.value = true;
switchLoading.value = false;
@@ -241,7 +246,7 @@
switchLoading.value = false;
isCalculate.value = false;
setProps({
columns: columns[activeKey.value - 9],
columns: activeKey.value == 9 ? columns[activeKey.value - 9] : columns[activeKey.value - 30],
});
if (centerId.value) {
reload();
@@ -250,7 +255,7 @@
onMounted(() => {
setProps({
columns: columns[activeKey.value - 9],
columns: activeKey.value == 9 ? columns[activeKey.value - 9] : columns[activeKey.value - 30],
});
});