feat(clinic): 添加医生职位信息并优化患者信息展示

- 在预约列表中显示医生职位信息-优化患者信息展示,包含头像和手机号
- 调整表格列宽和信息展示方式
- 移除独立的手机号列,合并至患者信息列fix(hjmCar): 增加保单图片上传数量限制

- 将保单图片上传限制从1张增加到9张feat(hjmCar): 添加车辆重置功能

- 为超级管理员添加车辆重置功能
- 更新车辆操作列宽度以适应新增功能
- 实现重置车辆信息的逻辑和确认提示
This commit is contained in:
2025-10-27 17:23:26 +08:00
parent 7aef430b44
commit e09986e996
5 changed files with 48 additions and 12 deletions

View File

@@ -16,6 +16,8 @@ export interface ClinicAppointment {
doctorId?: number;
// 医生名称
doctorName?: string;
// 医生职位
doctorPosition?: string;
// 患者
userId?: number;
// 患者名称

View File

@@ -26,6 +26,7 @@
</template>
<template v-if="column.key === 'doctorId'">
<div>{{ record.doctorName }}</div>
<div class="text-gray-400">{{ record.doctorPosition }}</div>
</template>
<template v-if="column.key === 'image'">
<a-image :src="record.image" :width="50" />
@@ -56,7 +57,7 @@
</template>
<script lang="ts" setup>
import { createVNode, ref, computed } from 'vue';
import { createVNode, ref } from 'vue';
import { message, Modal } from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';

View File

@@ -23,6 +23,15 @@
<template v-if="column.key === 'image'">
<a-image :src="record.image" :width="50" />
</template>
<template v-if="column.key === 'realName'">
<a-space>
<a-avatar :src="record.avatar" />
<div class="flex flex-col">
<div>{{ record.realName }}</div>
<div class="text-gray-400">{{ record.phone }}</div>
</div>
</a-space>
</template>
<template v-if="column.key === 'sex'">
<a-tag v-if="record.sex == '1'" color="blue"></a-tag>
<a-tag v-if="record.sex == '2'" color="pink"></a-tag>
@@ -110,17 +119,17 @@
width: 90
},
{
title: '姓名',
title: '患者信息',
dataIndex: 'realName',
key: 'realName',
ellipsis: true
},
{
title: '手机号',
dataIndex: 'phone',
key: 'phone',
ellipsis: true
width: 180
},
// {
// title: '手机号',
// dataIndex: 'phone',
// key: 'phone',
// ellipsis: true
// },
{
title: '性别',
dataIndex: 'sex',

View File

@@ -56,7 +56,7 @@
<a-form-item label="保单上传" name="bdImg">
<SelectFile
:placeholder="`保单上传`"
:limit="1"
:limit="9"
:data="bgImages"
@done="chooseBdImg"
@del="onDeleteBdImg"

View File

@@ -62,8 +62,17 @@
<a-divider type="vertical"/>
<a @click="openEdit(record)">修改</a>
<a-divider type="vertical"/>
<template v-if="hasRole('superAdmin')">
<a-popconfirm
title="确定要删除此记录吗?"
title="确定要重置此车辆吗?"
@confirm="resetCar(record)"
>
<a class="text-orange-500">重置</a>
</a-popconfirm>
<a-divider type="vertical"/>
</template>
<a-popconfirm
title="确定要删除此车辆吗?"
@confirm="remove(record)"
>
<a class="ele-text-danger">删除</a>
@@ -102,6 +111,7 @@ import Qrcode from "./components/qrcode.vue";
import router from "@/router";
import {listOrganizations} from "@/api/system/organization";
import {Organization} from "@/api/system/organization/model";
import {hasRole} from "@/utils/permission";
// 表格实例
const tableRef = ref<InstanceType<typeof EleProTable> | null>(null);
@@ -237,7 +247,7 @@ const columns = ref<ColumnItem[]>([
{
title: '操作',
key: 'action',
width: 220,
width: 270,
fixed: 'right',
align: 'center',
hideInSetting: true
@@ -266,6 +276,20 @@ const onShare = (row?: HjmCar) => {
showQrcode.value = true;
}
const resetCar = (row: HjmCar) => {
updateHjmCar({
...row,
image: '',
vinCode: '',
driverName: '',
installerId: 0,
installTime: '',
status: 0
}).then(() => {
message.success('重置成功');
})
}
const onGpsLog = (row: HjmCar) => {
window.location.href = `/hjm/gps-log?no=${row?.gpsNo}`
}