Commit 58fe06f1 authored by 盖献康's avatar 盖献康

Merge remote-tracking branch 'origin/master'

parents 77cc3e6f bcc347c3
import request from '@/utils/request'
// 查询病历管理列表
export function listRecord(query) {
return request({
url: '/business/record/list',
method: 'get',
params: query
})
}
// 查询病历管理详细
export function getRecord(id) {
return request({
url: '/business/record/' + id,
method: 'get'
})
}
// 新增病历管理
export function addRecord(data) {
return request({
url: '/business/record',
method: 'post',
data: data
})
}
// 修改病历管理
export function updateRecord(data) {
return request({
url: '/business/record',
method: 'put',
data: data
})
}
// 删除病历管理
export function delRecord(id) {
return request({
url: '/business/record/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询宠物宠主信息
export function getPetInfo(query) {
return request({
url: '/business/register/getPetInfo',
method: 'get',
params: query
})
}
// 获取当日值班医生列表
export function getDoctorInfo(query) {
return request({
url: '/business/register/getDoctorInfo',
method: 'get',
params: query
})
}
// 根据手机号判断宠主是否存在,不存在新增宠主
export function checkPetOwner(query) {
return request({
url: '/business/register/checkPetOwner',
method: 'get',
params: query
})
}
......@@ -32,7 +32,7 @@ color: #333333;"
</div>
</div>
<!--2--基本信息-->
<div style="display: flex">
<div style="display: flex;margin-bottom: 20px;">
<!-- 1-- 宠物基本信息的页面--标签头 -->
<div class="tip-green" />
<div
......@@ -41,150 +41,138 @@ color: #333333;"
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<!-- 1-- 宠物基本信息的页面--内部信息 -->
<div class="base-msg">
<div>
<!--基础信息右边的信息-->
<div class="base-inner">
<!--宠物昵称-->
<el-row>
<el-form ref="from" :model="form" :rules="rules" class="registration-add-form" label-width="110px" size="small">
<!-- 宠物基本信息-->
<el-row :gutter="41">
<el-col :span="8">
<el-form-item label="宠物昵称">
<span class="content-style">{{ petInfo.petNickname }}</span>
<el-form-item label="宠物ID" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物ID-->
<el-form-item label="宠物ID">
<span class="content-style">{{ petInfo.petsId }}</span>
<el-form-item label="宠物昵称" prop="nickName">
<el-input v-model="form.nickName" maxlength="20" placeholder="请输入宠物昵称" />
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物品种-->
<el-form-item label="宠物品种">
<el-cascader
v-model.trim="queryParams.petBreed"
:options="options"
:props="props"
<el-form-item label="宠物品种" prop="petBreed">
<el-select
v-model="form.petBreed"
clearable
placeholder="请选择宠物品种"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_breed"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!--宠物性别-->
<el-form-item label="宠物性别">
<el-select v-model.trim="queryParams.petSex" clearable multiple placeholder="请选择宠物性别">
<el-option
v-for="dict in dict.type.pet_sex"
:key="dict.value"
:value="dict.value"
:label="dict.label"
<el-form-item label="宠物性别" prop="petSex">
<el-select
v-model="form.petSex"
clearable
placeholder="请选择宠物性别"
style="width: 100%"
>
<i v-if="dict.value === '0'" class="el-icon-male" />
<i v-else-if="dict.value === '1'" class="el-icon-female" />
<span v-else>{{ dict.label }}</span>
</el-option>
<el-option
v-for="(item, index) in dict.type.pet_sex"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<!--出生日期-->
<el-form-item label="出生日期">
<el-form-item label="宠物生日" prop="petBrithday">
<el-date-picker
v-model.trim="queryParams.createTime"
v-model="form.petBrithday"
clearable
placeholder="请选择出生日期"
placeholder="请选择宠物生日"
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<!--宠物体重-->
<el-form-item label="宠物体重">
<el-col :span="8">
<el-form-item label="宠物体重" prop="petWeight">
<el-input
v-model.trim="queryParams.nickname"
clearable
placeholder="请输入宠物体重"
v-model="form.petWeight"
/>
<!-- <span class="pet-weight-single">kg</span>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!--宠物毛色-->
<el-form-item label="宠物毛色">
<el-input
v-model.trim="queryParams.nickname"
clearable
placeholder="请输入宠物毛色"
/>
<el-form-item label="宠物毛色" prop="petColor">
<el-input v-model="form.petColor" maxlength="20" placeholder="请输入宠物毛色" />
</el-form-item>
</el-col>
<el-col :span="8">
<!--绝育情况-->
<el-form-item label="绝育情况">
<el-form-item label="绝育情况" prop="sterilizationStatus">
<el-select
v-model.trim="queryParams.insure"
v-model="form.sterilizationStatus"
clearable
placeholder="请选择绝育情况"
placeholder="请选择宠物绝育情况"
style="width: 100%"
>
<el-option
v-for="dict in insureList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<!--疫苗情况-->
<el-form-item label="疫苗情况">
<el-form-item label="疫苗情况" prop="petSex">
<el-select
v-model.trim="queryParams.insure"
v-model="form.sterilizationStatus"
clearable
placeholder="请选择疫苗情况"
placeholder="请选择宠物绝育情况"
style="width: 100%"
>
<el-option
v-for="dict in insureList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!--保险情况-->
<el-form-item label="宠物保险">
<el-form-item label="宠物保险" prop="petInsure">
<el-select
v-model.trim="queryParams.insure"
v-model="form.petInsure"
clearable
placeholder="请选择宠物保险"
placeholder="请选择宠物保险情况"
style="width: 100%"
>
<el-option
v-for="dict in insureList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="(item, index) in dict.type.pet_insure"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</div>
</el-form>
<!--3--宠主信息-->
<div style="display: flex">
<div style="display: flex;margin-bottom: 20px;">
<div class="tip-green" />
<div
style="padding-left: 13px;font-size: 16px;font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;font-weight: bold;color: #333333;"
......@@ -192,66 +180,86 @@ color: #333333;"
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<div class="ownerMsg-inner">
<el-row>
<el-form ref="from" :model="form" :rules="rules" class="registration-add-form" label-width="110px" size="small">
<!-- 宠主基本信息-->
<el-row :gutter="41">
<el-col :span="8">
<el-form-item label="宠主姓名">
<span class="content-style">{{ petOwners.nickname }}</span>
<el-form-item label="宠主姓名" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号">
<span class="content-style">{{ petOwners.phonenumber }}</span>
<el-form-item label="手机号" prop="nickName">
<el-input v-model="form.nickName" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用户ID">
<span class="content-style">{{ petOwners.ownersId }}</span>
<el-form-item label="用户ID" prop="nickName">
<el-input v-model="form.nickName" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="创建日期">
<span class="content-style">{{
parseTime(petOwners.createTime, '{y}/{m}/{d}')
}}</span>
<el-form-item label="创建日期" prop="petBrithday">
<el-date-picker
v-model="form.petBrithday"
clearable
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员等级">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span>
<span
v-else
>{{ selectDictLabel(membershipLevelList, hosipitalPownersForm[0].membershipLevel) }}</span>
<el-form-item label="会员等级" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
clearable
placeholder="请选择会员等级"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员卡余额">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span><span
v-else
class="content-style"
>{{ hosipitalPownersForm[0].cardBalance }}</span></el-form-item>
<el-form-item label="会员卡余额" prop="nickName">
<el-input v-model="form.nickName" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="状态">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span><span
v-else
><dict-tag :options="statusList" :value="petOwners.hosipitalPownersForm.status" /></span>
<el-form-item label="状态" prop="petSex">
<el-select
v-model="form.sterilizationStatus"
clearable
placeholder="请选择状态"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="绑定宠物数量"><span class="content-style">{{ petsList.length }}</span>
<el-form-item label="绑定宠物数量" prop="petWeight">
<el-input
v-model="form.petWeight"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!--4--兽医信息-->
<div style="display: flex">
<div style="display: flex;margin-bottom: 20px;">
<div class="tip-green" />
<div
style="padding-left: 13px;font-size: 16px;font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;font-weight: bold;color: #333333;"
......@@ -259,55 +267,81 @@ color: #333333;"
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<div class="ownerMsg-inner">
<el-row>
<el-form ref="from" :model="form" :rules="rules" class="registration-add-form" label-width="110px" size="small">
<!-- 宠主基本信息-->
<el-row :gutter="41">
<el-col :span="8">
<el-form-item label="医生姓名">
<span class="content-style">{{ petOwners.nickname }}</span>
<el-form-item label="医生姓名" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医生ID">
<span class="content-style">{{ petOwners.phonenumber }}</span>
<el-form-item label="医生ID" prop="nickName">
<el-input v-model="form.nickName" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号">
<span class="content-style">{{ petOwners.ownersId }}</span>
<el-form-item label="手机号" prop="nickName">
<el-input v-model="form.nickName" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="所属医院">
<span class="content-style">{{
parseTime(petOwners.createTime, '{y}/{m}/{d}')
}}</span>
<el-form-item label="所属医院" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
clearable
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属科室">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span>
<span
v-else
>{{ selectDictLabel(membershipLevelList, hosipitalPownersForm[0].membershipLevel) }}</span>
<el-form-item label="所属科室" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
clearable
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医生职称">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span><span
v-else
class="content-style"
>{{ hosipitalPownersForm[0].cardBalance }}</span></el-form-item>
<el-form-item label="医生职称" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
clearable
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!--5--进度信息-->
<schedule-info />
<!--6--就诊信息-->
<div style="display: flex">
<div style="display: flex;margin-bottom: 20px;">
<div class="tip-green" />
<div
style="padding-left: 13px;font-size: 16px;font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;font-weight: bold;color: #333333;"
......@@ -315,63 +349,58 @@ color: #333333;"
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<div class="ownerMsg-inner">
<el-row>
<el-form ref="from" :model="form" :rules="rules" class="registration-add-form" label-width="110px" size="small">
<!-- 宠主基本信息-->
<el-row :gutter="41">
<el-col :span="8">
<el-form-item label="宠主姓名">
<span class="content-style">{{ petOwners.nickname }}</span>
<el-form-item label="病历号" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号">
<span class="content-style">{{ petOwners.phonenumber }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用户ID">
<span class="content-style">{{ petOwners.ownersId }}</span>
<el-form-item label="就诊日期" prop="petBrithday">
<el-date-picker
v-model="form.petBrithday"
clearable
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="创建日期">
<span class="content-style">{{
parseTime(petOwners.createTime, '{y}/{m}/{d}')
}}</span>
<el-form-item label="就诊诊位" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
clearable
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
:key="index"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员等级">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span>
<span
v-else
>{{ selectDictLabel(membershipLevelList, hosipitalPownersForm[0].membershipLevel) }}</span>
<el-form-item label="主诉" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员卡余额">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span><span
v-else
class="content-style"
>{{ hosipitalPownersForm[0].cardBalance }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="状态">
<span v-if="checkRole(['pt-admin'])" class="content-style">-</span><span
v-else
><dict-tag :options="statusList" :value="petOwners.hosipitalPownersForm.status" /></span>
<el-form-item label="医嘱" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="绑定宠物数量"><span class="content-style">{{ petsList.length }}</span>
<el-form-item label="诊断结果" prop="petId">
<el-input v-model="form.petId" maxlength="20" />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!--7--用药信息-->
<div style="display: flex">
......@@ -389,6 +418,40 @@ color: #333333;"
<el-table-column align="center" label="数量" prop="date" />
<el-table-column align="center" label="用法" prop="date" />
<el-table-column align="center" label="开药日期" prop="date" />
<el-table-column align="center" show-overflow-tooltip class-name="small-padding fixed-width" label="操作" min-width="180">
<template slot-scope="scope">
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.row)"
>编辑
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDetail(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!--8--检查信息-->
......@@ -407,6 +470,40 @@ color: #333333;"
<el-table-column align="center" label="检查状态" prop="date" />
<el-table-column align="center" label="检查日期" prop="date" />
<el-table-column align="center" label="检查报告" prop="date" />
<el-table-column align="center" show-overflow-tooltip class-name="small-padding fixed-width" label="操作" min-width="180">
<template slot-scope="scope">
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.row)"
>编辑
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDetail(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!--9--治疗信息-->
......@@ -426,6 +523,40 @@ color: #333333;"
<el-table-column align="center" label="治疗诊室" prop="date" />
<el-table-column align="center" label="治疗状态" prop="date" />
<el-table-column align="center" label="治疗日期" prop="date" />
<el-table-column align="center" show-overflow-tooltip class-name="small-padding fixed-width" label="操作" min-width="180">
<template slot-scope="scope">
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.row)"
>编辑
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDetail(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!--10--住院信息-->
......@@ -445,6 +576,60 @@ color: #333333;"
<el-table-column align="center" label="能否沐浴" prop="date" />
<el-table-column align="center" label="是否出院" prop="date" />
<el-table-column align="center" label="病房号" prop="date" />
<el-table-column align="center" show-overflow-tooltip class-name="small-padding fixed-width" label="操作" min-width="180">
<template slot-scope="scope">
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(95,181,75);"
type="success"
@click="handleDetail(scope.row)"
>查看
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-edit"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(52,144,206);"
type="primary"
@click="handleUpdate(scope.row)"
>编辑
</el-button>
<el-button
v-hasPermi="['business:case:edit']"
icon="el-icon-document"
plain
size="mini"
style="width: 50px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(155,0,65);"
type="danger"
@click="handleDetail(scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!--10--费用明细-->
<div style="display: flex">
<div class="tip-green" />
<div
style="padding-left: 13px;font-size: 16px;font-family: Microsoft YaHei-Bold, Microsoft YaHei,serif;font-weight: bold;color: #333333;"
>费用明细
</div>
</div>
<!-- 内部信息 -->
<div class="pet-insurance">
<el-table :data="petProtect" :header-cell-style="{ background:'#E8E9E8'}" border>
<el-table-column align="center" label="收费项" prop="protectName" />
<el-table-column align="center" label="明细" prop="type" />
<el-table-column align="center" label="数目" prop="date" />
<el-table-column align="center" label="金额" prop="date" />
<el-table-column align="center" label="缴费状态" prop="date" />
<el-table-column align="center" label="缴费时间" prop="date" />
<el-table-column align="center" label="付款账号" prop="date" />
</el-table>
</div>
<!--底部返回按钮-->
......@@ -472,6 +657,7 @@ export default {
},
data() {
return {
form: {},
// 排序下拉框
insureList: [
{
......
......@@ -103,7 +103,7 @@
<el-table
v-loading="loading"
:data="caseList"
:data="recordList"
:header-cell-style="{background:'#E8E9E8'}"
border
@selection-change="handleSelectionChange"
......@@ -157,86 +157,13 @@
:total="total"
@pagination="getList"
/>
<!-- 添加或修改病例管理对话框 -->
<el-dialog :title="title" :visible.sync="open" append-to-body width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="宠物昵称" prop="petNickname">
<el-input v-model="form.petNickname" placeholder="请输入宠物昵称" />
</el-form-item>
<el-form-item label="昵称" prop="nickname">
<el-input v-model="form.nickname" placeholder="请输入昵称" />
</el-form-item>
<el-form-item label="宠物主手机号" prop="petOwnerNumber">
<el-input v-model="form.petOwnerNumber" placeholder="请输入宠物主手机号" />
</el-form-item>
<el-form-item label="医生姓名" prop="doctorName">
<el-input v-model="form.doctorName" placeholder="请输入医生姓名" />
</el-form-item>
<el-form-item label="所属医院" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入所属医院" />
</el-form-item>
<el-form-item label="所属科室" prop="departmentId">
<el-input v-model="form.departmentId" placeholder="请输入所属科室" />
</el-form-item>
<el-form-item label="诊断结果" prop="diagnosticResults">
<el-input v-model="form.diagnosticResults" placeholder="请输入诊断结果" />
</el-form-item>
<el-form-item label="病例号" prop="visitNumber">
<el-input v-model="form.visitNumber" placeholder="请输入病例号" />
</el-form-item>
<el-form-item label="就诊时间" prop="visitTime">
<el-date-picker
v-model="form.visitTime"
clearable
placeholder="请选择就诊时间"
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
<el-form-item label="就诊诊位" prop="visitOffice">
<el-input v-model="form.visitOffice" placeholder="请输入就诊诊位" />
</el-form-item>
<el-form-item label="诊断信息" prop="visitInformation">
<el-input v-model="form.visitInformation" placeholder="请输入诊断信息" />
</el-form-item>
<el-form-item label="医嘱" prop="orders">
<el-input v-model="form.orders" placeholder="请输入医嘱" />
</el-form-item>
<el-form-item label="用药信息" prop="medicationInformation">
<el-input v-model="form.medicationInformation" placeholder="请输入用药信息" />
</el-form-item>
<el-form-item label="关联宠物" prop="petId">
<el-input v-model="form.petId" placeholder="请输入关联宠物" />
</el-form-item>
<el-form-item label="关联宠物主" prop="petOwnerId">
<el-input v-model="form.petOwnerId" placeholder="请输入关联宠物主" />
</el-form-item>
<el-form-item label="关联兽医" prop="doctorId">
<el-input v-model="form.doctorId" placeholder="请输入关联兽医" />
</el-form-item>
<el-form-item label="宠物历史数据" prop="petJson">
<el-input v-model="form.petJson" placeholder="请输入内容" type="textarea" />
</el-form-item>
<el-form-item label="医生历史数据" prop="doctorJson">
<el-input v-model="form.doctorJson" placeholder="请输入内容" type="textarea" />
</el-form-item>
<el-form-item label="宠物主历史数据" prop="ownerJson">
<el-input v-model="form.ownerJson" placeholder="请输入内容" type="textarea" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
import { listCase } from '@/api/business/case'
import { listAllArticle } from '@/api/business/article'
import { listRecord } from '@/api/business/record'
export default {
name: 'MedicalRecordManagement',
......@@ -258,7 +185,7 @@ export default {
// 总条数
total: 0,
// 病例管理表格数据
caseList: [],
recordList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
......@@ -383,8 +310,8 @@ export default {
/** 查询病例管理列表 */
getList() {
this.loading = true
listCase(this.queryParams).then(response => {
this.caseList = response.rows
listRecord(this.queryParams).then(response => {
this.recordList = response.rows
this.total = response.total
this.loading = false
})
......
<template>
<el-dialog class="pet-choose-modle" title="选择宠物" :visible.sync="isShow" width="50%" append-to-body>
<el-dialog class="pet-choose-modle" title="选择宠物" :visible.sync="isShow" :before-close="closeModle" width="50%" append-to-body>
<el-form ref="queryForm" :inline="true" :model="queryParams" label-width="100px" size="small">
<div class="basicInformation">
<div class="title">方式一:输入宠物ID查询</div>
</div>
<el-form-item prop="petNickname" label="宠物ID:">
<el-form-item prop="petCode" label="宠物ID:">
<el-input
v-model="queryParams.petNickname"
v-model="queryParams.petCode"
clearable
placeholder="请输入宠物ID"
@keyup.enter.native="handleQuery"
@blur="handleQuery"
/>
</el-form-item>
<div class="basicInformation">
<div class="title">方式二:通过宠主查询</div>
</div>
<el-form-item prop="petBreed" label="宠主姓名:">
<el-form-item prop="ownerName" label="宠主姓名:">
<el-input
v-model="queryParams.petBreed"
v-model="queryParams.ownerName"
clearable
placeholder="请输入宠物ID"
placeholder="请输入宠主姓名"
@keyup.enter.native="handleQuery"
@blur="handleQuery"
/>
</el-form-item>
<el-form-item prop="insureList" label="手机号:">
<el-form-item prop="phone" label="手机号:">
<el-input
v-model="queryParams.insure"
v-model="queryParams.phone"
clearable
placeholder="手机号"
@keyup.enter.native="handleQuery"
@blur="handleQuery"
/>
</el-form-item>
</el-form>
......@@ -45,13 +48,12 @@
>
<el-table-column align="center" min-width="30" reserve-selection type="selection" />
<el-table-column align="center" label="序号" min-width="80" show-overflow-tooltip type="index" />
<el-table-column align="center" label="宠主姓名" min-width="80" prop="petOwners.nickname" show-overflow-tooltip />
<el-table-column align="center" label="手机号" min-width="80" prop="petOwners.nickname" show-overflow-tooltip />
<el-table-column align="center" label="会员等级" min-width="80" prop="petOwners.nickname" show-overflow-tooltip />
<el-table-column align="center" label="会员卡余额" min-width="80" prop="petOwners.nickname" show-overflow-tooltip />
<el-table-column align="center" label="宠主姓名" min-width="80" prop="ownerName" show-overflow-tooltip />
<el-table-column align="center" label="手机号" min-width="80" prop="phone" show-overflow-tooltip />
<el-table-column align="center" label="会员等级" min-width="80" prop="membershipLevel" show-overflow-tooltip />
<el-table-column align="center" label="会员卡余额" min-width="80" prop="balance" show-overflow-tooltip />
<el-table-column align="center" label="宠物昵称" min-width="80" prop="petNickname" show-overflow-tooltip />
<el-table-column
:formatter="(row, col, cell) => options[cell.substring(0, 1)].children.find(({value}) => value == Number(cell.substring(1))) && options[cell.substring(0, 1)].children.find(({value}) => value == Number(cell.substring(1))).label"
align="center"
label="宠物品种"
min-width="80"
......@@ -81,7 +83,7 @@
</template>
<script>
import { listPets } from '@/api/business/pets'
import { getPetInfo } from '@/api/business/registration'
import { deepClone } from '@/utils'
export default {
name: 'ChoosePet',
......@@ -93,8 +95,8 @@ export default {
},
data() {
return {
// 选中数
ids: [],
// 选中数
chooseData: {},
// 总条数
total: 0,
// 宠物表格数据
......@@ -104,25 +106,14 @@ export default {
// 查询参数
queryParams: {
// 导出列表
idList: null,
pageNum: 1,
pageSize: 10,
petNickname: null,
petAge: null,
petSex: null,
petBreed: [],
sterilizationStatus: null,
vaccineSituation: null,
petPicture: null,
petColor: null,
petWeight: null,
existState: null,
createTime: null,
petOwnersId: null,
petCode: '',
ownerName: '',
phone: '',
params: {
sort: null
},
createBy: null
}
},
options: [{
value: '0',
......@@ -145,7 +136,8 @@ export default {
methods: {
/** 列表区--多选框选中数据 */
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
console.log('selection', selection)
this.chooseData = selection[0]
},
cellClass(row) {
if (row.columnIndex === 0) {
......@@ -153,7 +145,8 @@ export default {
}
},
choosePet() {
console.log('1223')
this.$emit('petChoose', this.chooseData)
this.$emit('petModleClose', false)
},
closeModle() {
this.$emit('petModleClose', false)
......@@ -186,19 +179,9 @@ export default {
getList() {
this.loading = true
this.queryParams.params = { ...this.queryParams.params }
if (this.daterangeCreateTime != null && this.daterangeCreateTime !== '') {
this.queryParams.params['beginCreateTime'] = this.daterangeCreateTime[0]
this.queryParams.params['endCreateTime'] = this.daterangeCreateTime[1]
}
if (this.daterangeUpdateTime != null && this.daterangeUpdateTime !== '') {
this.queryParams.params['beginUpdateTime'] = this.daterangeUpdateTime[0]
this.queryParams.params['endUpdateTime'] = this.daterangeUpdateTime[1]
}
const queryParams = deepClone(this.queryParams)
queryParams.petSex = this.queryParams.petSex && this.queryParams.petSex.join(',')
queryParams.petBreed = this.queryParams.petBreed && this.queryParams.petBreed.map(item => item.join('')).join(',')
listPets(queryParams).then(response => {
console.log('这里面是很多列表页宠物的信息:', this.petsList)
getPetInfo(queryParams).then(response => {
console.log('查询宠物宠主信息:', this.petsList)
this.petsList = response.rows
this.total = response.total
this.loading = false
......
......@@ -6,7 +6,7 @@
<div class="tip-green" />
<div
class="tip-content"
>进度信息
>挂号信息
</div>
</div>
<!--进度内容-->
......@@ -116,13 +116,13 @@
</el-button>
</div>
<div class="register" @click="registration(1)">
<div class="register" @click="registration(1,'usual')">
<div class="register-img">
<el-image :src="require('@/assets/register/xinzengguahao_guahaohui@2x.png')" />
</div>
<el-button type="text">挂号</el-button>
</div>
<div class="add" @click="registration(1)">
<div class="add" @click="registration(1, 'add')">
<div class="add-img">
<el-image :src="require('@/assets/register/xinzengguahao_jiahao@2x.png')" />
</div>
......@@ -136,14 +136,31 @@
</template>
<script>
import { getDoctorInfo } from '@/api/business/registration'
export default {
name: 'DoctorCard',
data() {
return {
}
},
mounted() {
this.getDoctorList()
},
methods: {
/** 获取当日值班医生列表*/
getDoctorList() {
getDoctorInfo().then(response => {
console.log('获取当日值班医生列表:', response)
})
},
/** 显示医生详情弹窗*/
doctorDetail(id) {
this.$emit('doctorDetail', id)
},
registration(id) {
this.$emit('registration', id)
/** 显示挂号/加号弹窗*/
registration(id, type) {
this.$emit('registration', { id, type })
}
}
}
......
<template>
<el-dialog class="doctor-detail-modle" title="详情" :visible.sync="isShow" width="50%" append-to-body>
<el-dialog class="doctor-detail-modle" title="详情" :visible.sync="isShow" :before-close="closeModle" width="50%" append-to-body>
<el-form ref="doctorForm" :model="doctorForm" label-width="100px" size="small">
<el-row>
<el-col :span="8">
......
<template>
<el-dialog class="register-modle" :title="title" :visible.sync="isShow" width="50%" append-to-body>
<el-dialog class="register-modle" :title="registrationType === 'usual' ? '挂号' : '加号'" :visible.sync="isShow" width="50%" :before-close="closeModle" append-to-body>
<el-form ref="queryForm" :inline="true" :model="queryParams" label-width="100px" size="small">
<el-form-item prop="petNickname" label="主治兽医:">
<el-input
......@@ -64,7 +64,7 @@
@pagination="getList"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="choosePet">确 定</el-button>
<el-button type="primary" @click="submit">确 定</el-button>
<el-button @click="closeModle">取 消</el-button>
</div>
</el-dialog>
......@@ -77,13 +77,17 @@ import { listPets } from '@/api/business/pets'
export default {
name: 'RegisterModle',
props: {
title: {
type: String,
default: '挂号'
},
isShow: {
type: Boolean,
default: false
},
registrationType: {
type: String,
defalut: 'usual'
},
doctorId: {
type: String,
defalut: ''
}
},
data() {
......@@ -110,6 +114,11 @@ export default {
}
},
methods: {
submit() {},
/** 关闭弹窗*/
closeModle() {
this.$emit('registerModleClose', false)
},
/** 列表区--多选框选中数据 */
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
......
......@@ -25,13 +25,13 @@
<!-- 宠物基本信息-->
<el-row :gutter="41">
<el-col :span="8">
<el-form-item prop="petId" label="宠物ID:">
<el-input v-model="form.petId" :disabled="true" maxlength="20" />
<el-form-item prop="petsId" label="宠物ID:">
<el-input v-model="form.petsId" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="nickName" label="宠物昵称:">
<el-input v-model="form.nickName" placeholder="请输入宠物昵称" :disabled="!isEdit" maxlength="20" />
<el-form-item prop="petNickname" label="宠物昵称:">
<el-input v-model="form.petNickname" placeholder="请输入宠物昵称" :disabled="!isEdit" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -117,14 +117,14 @@
<el-col :span="8">
<el-form-item prop="petSex" label="疫苗情况:">
<el-select
v-model="form.sterilizationStatus"
v-model="form.vaccineSituation"
:disabled="!isEdit"
clearable
style="width: 100%"
placeholder="请选择宠物绝育情况"
placeholder="请选择宠物疫苗情况"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
v-for="(item, index) in dict.type.vaccine_situation"
:key="index"
:label="item.label"
:value="item.value"
......@@ -133,9 +133,9 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petInsure" label="宠物保险:">
<el-form-item prop="insure" label="宠物保险:">
<el-select
v-model="form.petInsure"
v-model="form.insure"
:disabled="!isEdit"
clearable
style="width: 100%"
......@@ -151,15 +151,57 @@
</el-form-item>
</el-col>
</el-row>
<!-- 宠主信息-->
<div v-if="isEdit" class="basicInformation">
<!-- 宠主信息--新增 -->
<div v-if="isEdit && !showPetInfo" class="basicInformation">
<div class="title">宠主信息</div>
</div>
<!-- 新建宠物-->
<el-row v-if="isEdit" :gutter="41">
<el-row v-if="isEdit && !showPetInfo" :gutter="41">
<el-col :span="8">
<el-form-item prop="masterPhone" label="宠主手机号:">
<el-input v-model="form.masterPhone" :disabled="!isEdit" maxlength="11" />
<el-input v-model="form.masterPhone" :disabled="!isEdit" maxlength="11" @blur="checkOwner" />
</el-form-item>
</el-col>
</el-row>
<!-- 宠主信息--回显 -->
<div v-if="showPetInfo" class="basicInformation">
<div class="title">宠主信息</div>
</div>
<!-- 新建宠物-->
<el-row v-if="showPetInfo" :gutter="41">
<el-col :span="8">
<el-form-item prop="masterPhone" label="宠主姓名:">
{{ form.nickName }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="手机号:">
{{ form.phoneNumber }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="用户ID:">
{{ form.ownersId }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="创建时间:">
{{ form.createTime }}
</el-form-item>
</el-col>
<el-col v-if="form.customers==='1'" :span="8">
<el-form-item prop="masterPhone" label="会员等级:">
{{ form.membershipLevel ? form.membershipLevel : '-' }}
</el-form-item>
</el-col>
<el-col v-if="form.customers==='1'" :span="8">
<el-form-item prop="masterPhone" label="会员卡余额:">
{{ form.cardBalance ? form.cardBalance : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="绑定宠物数量:">
{{ form.petCount }}
</el-form-item>
</el-col>
</el-row>
......@@ -170,14 +212,14 @@
<!-- 医生卡片-->
<doctor-card @doctorDetail="handleDoctor" @registration="handleRegister" />
<!-- 宠物选择弹框-->
<choose-pet :is-show="showPetModle" />
<choose-pet :is-show="showPetModle" @petModleClose="closePetModle" @petChoose="petChoose" />
<!-- 医生详情弹出框 -->
<doctor-detail :is-show="showDoctorModle" />
<doctor-detail :is-show="showDoctorModle" :doctor-id="doctorId" @doctorModleClose="closeDoctorModle" />
<!-- 挂号/加号弹出框-->
<register-modle :is-show="showRegistrationModle" />
<register-modle :is-show="showRegistrationModle" :doctor-id="doctorId" :registration-type="registrationType" @registerModleClose="closeRegisterModle" />
<!-- 选择宠物-->
<div slot="footer" class="dialog-footer">
<el-button class="queryBtn" icon="el-icon-check" @click="submitForm">提 交</el-button>
<!-- <el-button class="queryBtn" icon="el-icon-check" @click="submitForm">提 交</el-button>-->
<el-button class="resetBtn" icon="el-icon-back" @click="cancel">返 回</el-button>
</div>
</div>
......@@ -189,10 +231,11 @@ import doctorDetail from '@/views/service-management/registration-queue/componen
import registerModle from '@/views/service-management/registration-queue/components/register-modle'
import scheduleInfo from '@/views/service-management/registration-queue/components/schedule-info'
import doctorCard from '@/views/service-management/registration-queue/components/doctor-card'
import { checkPetOwner } from '@/api/business/registration'
export default {
name: 'RegistrationAdd',
// 数据字典
dicts: ['pet_breed', 'pet_sex', 'sterilization_status', 'pet_insure'],
dicts: ['pet_breed', 'pet_sex', 'sterilization_status', 'pet_insure', 'vaccine_situation'],
components: {
choosePet,
doctorDetail,
......@@ -202,6 +245,9 @@ export default {
},
data() {
return {
showPetInfo: false, // 回显宠主详细信息
doctorId: '', // 医生id用来获取详情等信息
registrationType: 'usual', // 挂号/加号
isEdit: false, // 表单是否可编辑 默认不可编辑
statusList: [
{
......@@ -215,16 +261,27 @@ export default {
],
pesonlist: [],
form: {
petId: '-',
nickName: '',
// 宠物信息开始
petsId: '-',
petNickname: '',
petBreed: '',
petSex: '',
petBrithday: '',
petWeight: '1',
petWeight: '',
petColor: '',
sterilizationStatus: '',
vaccineSituation: '',
petInsure: '',
// 宠主信息开始
masterPhone: '',
nickName: '',
phoneNumber: '',
ownersId: '',
createTime: '',
membershipLevel: '',
customers: '', // 是否是新客 0 是 1 否
petCount: '',
cardBalance: '',
poName: '',
rePerson: '',
personName: '',
......@@ -244,10 +301,47 @@ export default {
}
}
},
watch: {
/** 监听宠物信息是否可编辑--区分是新增宠物还是选择宠物 重置表单值*/
isEdit(value) {
console.log('isEdit', value)
const temp = {
petsId: '-',
petNickname: '',
petBreed: '',
petSex: '',
petBrithday: '',
petWeight: '',
petColor: '',
sterilizationStatus: '',
vaccineSituation: '',
petInsure: '' }
Object.assign(this.form, temp)
}
},
created() {
this.getpesonlist()
},
methods: {
/** 根据手机号判断宠主是否存在,不存在新增宠主 回显宠主信息*/
checkOwner() {
checkPetOwner({ phone: this.form.masterPhone }).then(response => {
const data = response.data
const temp = {
// 宠主信息开始
nickName: data.nickName,
phoneNumber: data.phoneNumber,
ownersId: data.ownersId,
createTime: data.createTime,
membershipLevel: data.membershipLevel,
customers: data.customers, // 是否是新客 0 是 1 否
petCount: data.petCount,
cardBalance: data.cardBalance
}
Object.assign(this.form, temp)
this.showPetInfo = true
})
},
// 选择新增宠物,使表单可编辑
handleAdd() {
this.isEdit = true
......@@ -258,13 +352,56 @@ export default {
this.isEdit = false
this.showPetModle = true
},
/** 关闭选择宠物回调*/
closePetModle() {
this.showPetModle = false
},
petChoose(chooseData) {
console.log('chooseData', chooseData)
const petData = chooseData.petBo // 宠物信息
const petOwnerBo = chooseData.petOwnerBo // 宠主信息
const temp = {
petsId: petData.petsId,
petNickname: petData.petNickname,
petBreed: petData.petBreed,
petSex: petData.petSex,
petBrithday: petData.petBrithday,
petWeight: petData.petWeight,
petColor: petData.petColor,
sterilizationStatus: petData.sterilizationStatus,
vaccineSituation: petData.vaccineSituation,
petInsure: petData.insure,
nickName: petOwnerBo.nickName,
phoneNumber: petOwnerBo.phoneNumber,
ownersId: petOwnerBo.ownersId,
createTime: petOwnerBo.createTime,
membershipLevel: petOwnerBo.membershipLevel,
customers: petOwnerBo.customers, // 是否是新客 0 是 1 否
petCount: petOwnerBo.petCount,
cardBalance: petOwnerBo.cardBalance }
Object.assign(this.form, temp)
this.showPetInfo = true
},
/** 医生详情 */
handleDoctor() {
handleDoctor(params) {
console.log('打印id', params)
this.showDoctorModle = true
this.doctorId = params
},
/** 关闭医生详情回调*/
closeDoctorModle() {
this.showDoctorModle = false
},
/** 挂号详情 */
handleRegister() {
handleRegister(params) {
console.log('params', params)
this.showRegistrationModle = true
this.doctorId = params.id
this.registrationType = params.type
},
/** 关闭挂号回调*/
closeRegisterModle() {
this.showRegistrationModle = false
},
submitForm() {
console.log('表单参数', this.form)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment