Commit 9e049834 authored by 王飞龙's avatar 王飞龙

Merge remote-tracking branch 'origin/master'

parents d0620876 3bbb8d0e
......@@ -51,4 +51,22 @@ export function timeRegister(params) {
params: params
})
}
// 打开开具处方
export function queryPrescribing(data) {
return request({
url: '/business/record/prescribing',
method: 'post',
data: data
})
}
/**
* 检查宠物是否有重复
*/
export function checkPet(data) {
return request({
url: '/business/register/checkPet',
method: 'post',
data: data
})
}
......@@ -79,8 +79,8 @@
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getContract"
style="margin: 0 50px 0 0"
@pagination="getContract"
/>
</div>
</template>
......
<template>
<div style="background-color: #FFFFFF;">
<!-- 病历管理--宠物详情页-->
<div class="pet-detail">
<div class="medical-edit">
<!-- 头部标题-->
<div style="padding-top:32px;text-align: center;">
<span
......@@ -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,296 +41,456 @@ 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-col :span="8">
<el-form-item label="宠物昵称">
<span class="content-style">{{ petInfo.petNickname }}</span>
</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>
</el-col>
<el-col :span="8">
<!--宠物品种-->
<el-form-item label="宠物品种">
<span class="content-style">{{
options[petInfo.petBreed.substring(0, 1)].children.find(({ value }) => value === petInfo.petBreed.substring(1)) && options[petInfo.petBreed.substring(0, 1)].children.find(({ value }) => value === petInfo.petBreed.substring(1)).label
}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!--宠物性别-->
<el-form-item label="宠物性别">
<!-- <dict-tag :options="dict.type.pet_sex" :value="petInfo.petSex"/>-->
<i v-if="petInfo.petSex === '0'" class="el-icon-male" />
<i v-else-if="petInfo.petSex === '1'" class="el-icon-female" />
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物年龄-->
<el-form-item label="宠物年龄">
<span class="content-style">{{ petInfo.petAge }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物体重-->
<el-form-item label="宠物体重">
<span class="content-style">{{ petInfo.petWeight }}kg</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!--宠物毛色-->
<el-form-item label="宠物毛色">
<span class="content-style">{{ petInfo.petColor }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<!--绝育情况-->
<el-form-item label="绝育情况">
<dict-tag
:options="dict.type.sterilization_status"
:value="petInfo.sterilizationStatus"
class="content-style"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<!--疫苗情况-->
<el-form-item label="疫苗情况">
<dict-tag
:options="dict.type.vaccine_situation"
:value="petInfo.vaccineSituation"
class="content-style"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!--宠物保险-->
<el-form-item label="宠物保险">
<div class="content-style">已购保险</div>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</div>
<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="宠物ID" prop="petId">
<el-input v-model="form.petId" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宠物昵称" prop="nickName">
<el-input v-model="form.nickName" disabled maxlength="20" placeholder="请输入宠物昵称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宠物品种" prop="petBreed">
<el-select
v-model="form.petBreed"
clearable
disabled
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-col :span="8">
<el-form-item label="宠物性别" prop="petSex">
<el-select
v-model="form.petSex"
clearable
disabled
placeholder="请选择宠物性别"
style="width: 100%"
>
<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="宠物生日" prop="petBrithday">
<el-date-picker
v-model="form.petBrithday"
clearable
disabled
placeholder="请选择宠物生日"
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宠物体重" prop="petWeight">
<el-input
v-model="form.petWeight"
disabled
/>kg
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宠物毛色" prop="petColor">
<el-input v-model="form.petColor" disabled maxlength="20" placeholder="请输入宠物毛色" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="绝育情况" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
disabled
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="疫苗情况" prop="petSex">
<el-select
v-model="form.sterilizationStatus"
disabled
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="宠物保险" prop="petInsure">
<el-select
v-model="form.petInsure"
disabled
clearable
placeholder="请选择宠物保险情况"
style="width: 100%"
>
<el-option
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>
</el-form>
<!--3--主人信息-->
<div style="display: flex">
<!--3--宠主信息-->
<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;"
>宠主信息
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<div class="ownerMsg-inner">
<el-row>
<el-col :span="8">
<el-form-item label="宠主姓名">
<span class="content-style">{{ petOwners.nickname }}</span>
</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>
</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>
</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>
</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>
</el-col>
<el-col :span="8">
<el-form-item label="绑定宠物数量"><span class="content-style">{{ petsList.length }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 内部信息 -->
<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="宠主姓名" prop="petId">
<el-input v-model="form.petId" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号" prop="nickName">
<el-input v-model="form.nickName" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="用户ID" prop="nickName">
<el-input v-model="form.nickName" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="创建日期" prop="petBrithday">
<el-date-picker
v-model="form.petBrithday"
disabled
clearable
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员等级" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
disabled
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="会员卡余额" prop="nickName">
<el-input v-model="form.nickName" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="petSex">
<el-select
v-model="form.sterilizationStatus"
disabled
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="绑定宠物数量" prop="petWeight">
<el-input
v-model="form.petWeight"
disabled
/>
</el-form-item>
</el-col>
</el-row>
</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;"
>兽医信息
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<div class="ownerMsg-inner">
<el-row>
<el-col :span="8">
<el-form-item label="医生姓名">
<span class="content-style">{{ petOwners.nickname }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医生ID">
<span class="content-style">{{ petOwners.phonenumber }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号">
<span class="content-style">{{ petOwners.ownersId }}</span>
</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>
</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>
</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>
</div>
<!-- 内部信息 -->
<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="医生姓名" prop="petId">
<el-input v-model="form.petId" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="医生ID" prop="nickName">
<el-input v-model="form.nickName" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手机号" prop="nickName">
<el-input v-model="form.nickName" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属医院" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
disabled
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="所属科室" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
disabled
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="医生职称" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
disabled
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>
</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;"
>就诊信息
</div>
</div>
<!-- 内部信息 -->
<el-form ref="form" :model="petOwners" label-width="110px">
<div class="ownerMsg-inner">
<el-row>
<el-col :span="8">
<el-form-item label="病历号">
<span class="content-style">{{ petOwners.nickname }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="就诊日期">
<span class="content-style">{{
parseTime(petOwners.createTime, '{y}/{m}/{d}')
}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="就诊诊位">
<span class="content-style">{{ petOwners.ownersId }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<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>
<el-form-item label="医嘱"><span class="content-style">{{ petsList.length }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="诊断结果"><span class="content-style">{{ petsList.length }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 内部信息 -->
<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="病历号" prop="petId">
<el-input v-model="form.petId" disabled maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="就诊日期" prop="petBrithday">
<el-date-picker
v-model="form.petBrithday"
clearable
disabled
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="就诊诊位" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
disabled
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>
<el-row>
<el-col :span="24">
<el-form-item label="主诉" prop="introduction">
<el-input
maxlength="400"
placeholder="请输入医院简介"
show-word-limit
style="width: 93%;"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="医嘱" prop="introduction">
<el-input
maxlength="400"
placeholder="请输入医院简介"
show-word-limit
style="width: 93%;"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="诊断结果" prop="introduction">
<el-input
maxlength="400"
placeholder="请输入医院简介"
show-word-limit
style="width: 93%;"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!--7--用药信息-->
<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 class="title-content">
<div class="title-left">
<div class="tip-green" />
<div
class="tip-text"
>用药信息
</div>
</div>
<el-button
class="fourWordsBtn"
icon="el-icon-circle-plus-outline"
size="mini"
@click="handleAdd('petProtect')"
>新增用药
</el-button>
</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>
<div class="table-content">
<el-form ref="drugForm" :model="drugForm" :rules="drugRules" class="demo-ruleForm" label-width="0">
<el-table :data="petProtect" :header-cell-style="{ background:'#E8E9E8'}" border>
<el-table-column align="center" label="药品名称" prop="protectName">
<template slot-scope="scope">
<el-form-item
v-if="scope.row.inputShow"
:prop="'tableData.'+scope.$index+'.protectName'"
:rules="drugRules.protectName"
>
<el-select v-model="scope.row.protectName" clearable placeholder="请选择">
<el-option
v-for="(item, index) in drugList"
:key="index"
:label="item.dictLabel"
:value="String(item.dictCode)"
/>
</el-select>
</el-form-item>
<span
v-else
>{{
scope.row.protectName === '' || scope.row.protectName === null ? '-' : scope.row.protectName
}}</span>
</template>
</el-table-column>
<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>
</el-form>
</div>
<!--8--检查信息-->
<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
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">
<div class="table-content">
<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" />
......@@ -342,11 +502,13 @@ color: #333333;"
<!--9--治疗信息-->
<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
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">
<div class="table-content">
<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" />
......@@ -359,11 +521,13 @@ color: #333333;"
<!--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
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">
<div class="table-content">
<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" />
......@@ -373,6 +537,43 @@ color: #333333;"
<el-table-column align="center" label="病房号" prop="date" />
</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>
<!-- 内部信息 -->
<el-form ref="from" :model="form" :rules="rules" class="registration-add-form" label-width="110px" size="small">
<!-- 宠主基本信息-->
<el-row :gutter="41">
<el-row>
<el-col :span="24">
<el-form-item label="回访情况" prop="introduction">
<el-input
maxlength="400"
show-word-limit
style="width: 93%;"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>
<el-col :span="8">
<el-form-item label="回访日期" prop="petBrithday">
<el-date-picker
v-model="form.petBrithday"
clearable
disabled
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!--底部返回按钮-->
<el-button class="resetBtn" icon="el-icon-back" @click="goBack">返 回</el-button>
</div>
......@@ -380,13 +581,12 @@ color: #333333;"
</div>
</template>
<script>
// 导入获取宠物信息的接口
import { checkRole } from '@/utils/permission'
import { parseTime, selectDictLabel } from '@/utils/ruoyi'
// 引入进度信息模组件
import scheduleInfo from '@/views/service-management/registration-queue/components/schedule-info'
export default {
name: 'PetDetail',
name: 'MedicalEdit',
// 数据字典
dicts: ['pet_sex', 'vaccine_situation', 'exist_state', 'sterilization_status', 'cat_breed', 'dog_breed', 'other_breed'],
components: {
......@@ -395,6 +595,32 @@ export default {
},
data() {
return {
editCunt: {
petProtect: 0
},
drugList: [], // 药品列表
map: {},
drugForm: {}, // 用药管理table编辑
drugRules: {},
form: {},
// 排序下拉框
insureList: [
{
label: '全部',
value: '1'
},
{
label: '已购保险',
value: '2'
},
{
label: '未购保险',
value: '3'
}
],
queryParams: {
petBreed: []
},
// 各医院会员卡信息
hosipitalPownersForm: [{}],
// 状态下拉框
......@@ -463,20 +689,54 @@ export default {
petProtect: [{
protectName: '人兽保险',
type: '意外保险',
date: '2025/04/18'
date: '2025/04/18',
inputShow: false
}, {
protectName: '平安保险',
type: '人身保险',
date: '2026/03/25'
date: '2026/03/25',
inputShow: false
}]
}
},
created() {
},
methods: {
/** 编辑行*/
handleUpdate(index, tableData) {
// 每个表格只有一行可编辑
if (this.editCunt[tableData] === 0) {
this[tableData][index]['inputShow'] = true
this.editCunt[tableData] += 1
} else {
this.$message({
message: '只可同时编辑一行',
info: 'success'
})
}
},
/** 新增行*/
handleAdd(tableName) {
this[tableName].unshift({
protectName: '',
type: '',
date: '',
inputShow: false
})
},
/** 保存行*/
handleSave(formName, listName, index) {
this.$refs[formName].validate((valid) => {
console.log('22222222222', valid, this[formName], this[listName])
if (valid) {
this[listName][index].inputShow = false
this.editCunt[listName] -= 1
}
})
},
parseTime,
selectDictLabel,
checkRole,
/**
* 字典获取完成的回调
*/
......@@ -494,13 +754,31 @@ export default {
/** 返回跳转列表页 */
goBack() {
this.$router.back()
},
}
}
}
</script>
<style lang="scss" scoped>
//整个页面整体布局
.pet-detail {
.medical-edit {
// 项目标题
.title-content {
display: flex;
justify-content: space-between;
.title-left {
display: flex;
.tip-text {
padding-left: 13px;
font-size: 16px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei, serif;
font-weight: bold;
color: #333333;
}
}
}
//最外层嵌套卡片的样式
.box-card {
margin: 20px 20px 20px 20px;
......@@ -539,7 +817,7 @@ export default {
}
//2--宠物保险--模块内信息整体样式
.pet-insurance {
.table-content {
margin: 35px 1% 20px;
}
......@@ -607,3 +885,13 @@ export default {
color: #333333;
}
</style>
<style lang="scss">
.medical-edit {
// 表格中输入框样式
.el-table {
.el-form-item {
margin-bottom: 0;
}
}
}
</style>
......@@ -35,7 +35,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="宠物性别">
<span>{{ checkDetail.petSex === '0' ? '公' : (checkDetail.petSex === '1' ? '母' : '未知')}}</span>
<span>{{ checkDetail.petSex === '0' ? '公' : (checkDetail.petSex === '1' ? '母' : '未知') }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -45,7 +45,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="宠物体重">
<span>{{ checkDetail.petWeight + 'kg'}}</span>
<span>{{ checkDetail.petWeight + 'kg' }}</span>
</el-form-item>
</el-col>
</el-row>
......@@ -160,7 +160,7 @@
<div class="title-paragraph">
<span class="title-text">检查信息</span>
</div>
<el-button class="fourWordsBtn" v-show="checkDetail.checkSchedule >=2 && checkDetail.reportTime === null">上传报告</el-button>
<el-button v-show="checkDetail.checkSchedule >=2 && checkDetail.reportTime === null" class="fourWordsBtn">上传报告</el-button>
<!-- 检查信息 -->
<el-row>
<el-col :span="8">
......
......@@ -95,6 +95,9 @@ export default {
},
data() {
return {
chooseForm: {
petStatus: ''
},
// 选中数据
chooseData: {},
// 总条数
......@@ -147,6 +150,7 @@ export default {
choosePet() {
this.$emit('petChoose', this.chooseData)
this.$emit('petModleClose', false)
this.form.petStatus = '1'
},
closeModle() {
this.$emit('petModleClose', false)
......
......@@ -5,7 +5,7 @@
<div v-if="docList.length>0" class="doctor-card">
<!--标签-->
<div class="progress-tip">
<div class="tip-green"/>
<div class="tip-green" />
<div
class="tip-content"
>挂号信息
......@@ -53,7 +53,7 @@
</div>
</div>
<!--分割线-->
<div class="divider"/>
<div class="divider" />
<!--卡片中间部分-->
<div class="mid-bottom-framework">
<div
......@@ -111,7 +111,7 @@
>
<div class="detail" @click="doctorDetail(item.id)">
<div class="detail-img">
<el-image :src="require('@/assets/register/xinzengguahao_xiangqing@2x.png')"/>
<el-image :src="require('@/assets/register/xinzengguahao_xiangqing@2x.png')" />
</div>
<el-button
type="text"
......@@ -121,14 +121,14 @@
<!--给它传一个userId,一个类型和一个默认页数-->
<div class="register" @click="registration(item.userId,'0',item)">
<div class="register-img">
<el-image :src="require('@/assets/register/xinzengguahao_guahaohui@2x.png')"/>
<el-image :src="require('@/assets/register/xinzengguahao_guahaohui@2x.png')" />
</div>
<el-button type="text">挂号</el-button>
</div>
<!--给它传一个userId,一个类型和一个默认页数-->
<div class="add" @click="registration(item.userId, '1',item)">
<div class="add-img">
<el-image :src="require('@/assets/register/xinzengguahao_jiahao@2x.png')"/>
<el-image :src="require('@/assets/register/xinzengguahao_jiahao@2x.png')" />
</div>
<el-button type="text">加号</el-button>
</div>
......@@ -137,7 +137,27 @@
</el-card>
</div>
</div>
<div v-else>-</div>
<div v-else class="doctor-card">
<!--标签-->
<div class="progress-tip">
<div class="tip-green" />
<div
class="tip-content"
>挂号信息
</div>
</div>
<!-- 详细内容-->
<div>
<div style=" margin: 20px; height: 200px; border: 1px solid #d6d7d7;">
<div style="margin-left:45%;margin-top: 5%;">
<div style=" width:50px;height: 50px;">
<el-image :src="require('@/assets/register/zanwushuju.png')" />
</div>
<div style="color: #b2b2b2">暂无数据</div>
</div>
</div>
</div>
</div>
</div>
</template>
......
<template>
<el-dialog class="prescribing-modle" title="开具处方" :visible.sync="isShow" append-to-body>
<el-form ref="prescribingForm" :model="prescribingForm" :rules="rules" label-width="80px" size="small">
<el-dialog :visible.sync="isShow" append-to-body class="prescribing-modle" title="开具处方">
<el-form ref="prescribingForm" :model="registerForm" :rules="rules" label-width="80px" size="small">
<!-- 标题区域-->
<div class="prescribing-head">
<div class="prescribing-title">
......@@ -8,24 +8,28 @@
</div>
<!-- 处方单号-->
<div class="prescribing-no">
NO: {{ prescribingNo }}
NO: {{ registerForm.medicalRecordNo }}
</div>
</div>
<!-- 宠物基本信息-->
<el-row class="pet-base">
<el-col :span="8">
<el-form-item prop="nickName" label="宠物名称">
<el-input v-model="prescribingForm.nickName" placeholder="请输入宠物昵称" :disabled="true" maxlength="20" />
<el-form-item label="宠物名称" prop="nickName">
<el-input
v-model="registerForm.nickName"
disabled
placeholder="请输入宠物昵称"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petSex" label="宠物性别">
<el-form-item label="宠物性别" prop="petSex">
<el-select
v-model="prescribingForm.petSex"
v-model="registerForm.petSex"
:disabled="true"
clearable
style="width: 100%"
placeholder="请选择宠物性别"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -37,14 +41,14 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="age" label="宠物年龄">
<el-input v-model="prescribingForm.age" :disabled="true" maxlength="20" />
<el-form-item label="宠物年龄" prop="age">
<el-input v-model="registerForm.age" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petBreed" label="宠物品种">
<el-form-item label="宠物品种" prop="petBreed">
<el-select
v-model="prescribingForm.petBreed"
v-model="registerForm.petBreed"
:disabled="true"
clearable
style="width: 100%"
......@@ -59,33 +63,33 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="age" label="体重">
<el-input v-model="prescribingForm.weight" :disabled="true" maxlength="20" />
<el-form-item label="体重" prop="age">
<el-input v-model="registerForm.weight" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="age" label="诊断时间">
<el-input v-model="prescribingForm.time" :disabled="true" maxlength="20" />
<el-form-item label="诊断时间" prop="age">
<el-input v-model="registerForm.time" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="age" label="宠主姓名">
<el-input v-model="prescribingForm.name" :disabled="true" maxlength="20" />
<el-form-item label="宠主姓名" prop="age">
<el-input v-model="registerForm.name" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="age" label="联系电话">
<el-input v-model="prescribingForm.phone" :disabled="true" maxlength="20" />
<el-form-item label="联系电话" prop="age">
<el-input v-model="registerForm.phone" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petInsure" label="宠物保险">
<el-form-item label="宠物保险" prop="petInsure">
<el-select
v-model="prescribingForm.petInsure"
v-model="registerForm.petInsure"
:disabled="true"
clearable
style="width: 100%"
placeholder="请选择宠物保险情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_insure"
......@@ -100,18 +104,18 @@
<!-- 处方模块-->
<el-row class="prescribing-content">
<el-col :span="8">
<el-form-item prop="nickName" label="主治兽医">
<el-input v-model="prescribingForm.nickName" placeholder="请输入宠物昵称" :disabled="true" maxlength="20" />
<el-form-item label="主治兽医" prop="nickName">
<el-input v-model="registerForm.nickName" :disabled="true" maxlength="20" placeholder="请输入宠物昵称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petSex" label="科室">
<el-form-item label="科室" prop="petSex">
<el-select
v-model="prescribingForm.petSex"
v-model="registerForm.petSex"
:disabled="true"
clearable
style="width: 100%"
placeholder="请选择宠物性别"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -123,36 +127,36 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="age" label="诊位">
<el-input v-model="prescribingForm.age" :disabled="true" maxlength="20" />
<el-form-item label="诊位" prop="age">
<el-input v-model="registerForm.age" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="主诉">
<el-input v-model="prescribingForm.name" placeholder="请输入患者主诉" type="textarea" maxlength="400" />
<el-input v-model="registerForm.name" maxlength="400" placeholder="请输入患者主诉" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="医嘱">
<el-input v-model="prescribingForm.name" placeholder="请输入医嘱" type="textarea" maxlength="200" />
<el-input v-model="registerForm.name" maxlength="200" placeholder="请输入医嘱" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="诊断结果">
<el-input v-model="prescribingForm.name" placeholder="请输入诊断结果" maxlength="30" />
<el-input v-model="registerForm.name" maxlength="30" placeholder="请输入诊断结果" />
</el-form-item>
</el-col>
<!-- 开药模块-->
<div class="drug-content">
<el-form-item prop="medication" label="药物处理">
<div v-for="(item, index) in prescribingForm.medication" :key="index" class="single-medication">
<el-form-item label="药物处理" prop="medication">
<div v-for="(item, index) in registerForm.medication" :key="index" class="single-medication">
<div class="single-file">
<el-form-item label="宠物名称:">
<el-select
v-model="item.drug"
clearable
style="width: 100%"
placeholder="请选择药品"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -165,7 +169,7 @@
</div>
<div class="single-file">
<el-form-item label="数量">
<el-input-number v-model="item.num" controls-position="right" :min="1" :max="10" />
<el-input-number v-model="item.num" :max="10" :min="1" controls-position="right" />
</el-form-item>
</div>
<div>
......@@ -182,15 +186,15 @@
</div>
<!-- 检查模块-->
<div class="inspect-content">
<el-form-item prop="inspect" label="辅助检查">
<div v-for="(item, index) in prescribingForm.inspect" :key="index" class="single-medication">
<el-form-item label="辅助检查" prop="inspect">
<div v-for="(item, index) in registerForm.inspect" :key="index" class="single-medication">
<div class="single-file">
<el-form-item label="宠物名称:">
<el-select
v-model="item.service"
clearable
style="width: 100%"
placeholder="请选择药品"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -206,8 +210,8 @@
<el-select
v-model="item.project"
clearable
style="width: 100%"
placeholder="请选择药品"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -227,15 +231,15 @@
</div>
<!-- 治疗模块-->
<div class="treatment-content">
<el-form-item prop="treatment" label="辅助治疗">
<div v-for="(item, index) in prescribingForm.treatment" :key="index" class="single-medication">
<el-form-item label="辅助治疗" prop="treatment">
<div v-for="(item, index) in registerForm.treatment" :key="index" class="single-medication">
<div class="single-file">
<el-form-item label="宠物名称:">
<el-select
v-model="item.cure"
clearable
style="width: 100%"
placeholder="请选择药品"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -257,7 +261,7 @@
<el-row class="hospital-content">
<el-col :span="8">
<el-form-item label="住院治疗">
<el-input-number v-model="prescribingForm.petSex" controls-position="right" :min="1" :max="10" />
<el-input-number v-model="registerForm.petSex" :max="10" :min="1" controls-position="right" />
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -265,8 +269,8 @@
<el-select
v-model="prescribingForm.petSex"
clearable
style="width: 100%"
placeholder="请选择病情等级"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -280,10 +284,10 @@
<el-col :span="8">
<el-form-item label="能否沐浴">
<el-select
v-model="prescribingForm.petSex"
v-model="registerForm.petSex"
clearable
style="width: 100%"
placeholder="请选择能否沐浴"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -318,7 +322,12 @@ export default {
name: {
type: String,
default: 'xx医院'
},
// 新增挂号宠物的所有信息
registerForm: {
type: Object
}
},
data() {
var validatePass = (rule, value, callback) => {
......@@ -350,6 +359,9 @@ export default {
]
}
}
},
created() {
},
methods: {
submit() {
......@@ -401,15 +413,17 @@ export default {
</script>
<style lang="scss" scoped>
.prescribing-modle{
.el-dialog{
.prescribing-modle {
.el-dialog {
width: 1060px;
}
.prescribing-head{
.prescribing-head {
border-bottom: 1px solid #5FB54B;
margin-bottom: 24px;
}
.prescribing-title{
.prescribing-title {
font-size: 18px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: bold;
......@@ -417,7 +431,8 @@ export default {
line-height: 20px;
text-align: center;
}
.prescribing-no{
.prescribing-no {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
......@@ -427,46 +442,57 @@ export default {
padding-top: 25px;
padding-bottom: 3px;
}
.pet-base{
.pet-base {
border-bottom: 1px dashed #5FB54B;
}
.prescribing-content{
.prescribing-content {
margin-top: 30px;
.el-textarea{
.el-textarea {
width: 100% !important;
}
.drug-content, .inspect-content, .hospital-content, .treatment-content{
.drug-content, .inspect-content, .hospital-content, .treatment-content {
float: left;
width: 100%;
.el-input-number--small{
.el-input-number--small {
width: 220px;
}
.single-medication{
.single-medication {
position: relative;
display: flex;
.content-option{
.content-option {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 18px;
}
.single-file:first-child{
.single-file:first-child {
width: 193.33px;
right: 0;
}
.single-file{
.single-file {
width: 293.33px;
position: relative;
right: -20px;
.el-form-item{
margin-right: 0!important;
.el-form-item {
margin-right: 0 !important;
}
}
}
}
.inspect-content, .treatment-content{
.single-medication{
.content-option{
.inspect-content, .treatment-content {
.single-medication {
.content-option {
position: relative;
left: 35px;
}
......@@ -475,28 +501,31 @@ export default {
}
}
</style>
<style lang='scss'>
.prescribing-modle{
.el-dialog__body{
<style lang="scss">
.prescribing-modle {
.el-dialog__body {
padding-left: 40px;
padding-right: 40px;
max-height: 75.5vh;
overflow-y: auto;
}
.drug-content, .inspect-content, .hospital-content, .treatment-content{
.single-medication{
.single-file:first-child{
.el-form-item__label{
.drug-content, .inspect-content, .hospital-content, .treatment-content {
.single-medication {
.single-file:first-child {
.el-form-item__label {
width: 0 !important;
display: none;
}
.el-form-item__content{
.el-form-item__content {
margin-left: 0 !important;
}
}
.single-file{
.el-form-item{
margin-right: 0!important;
.single-file {
.el-form-item {
margin-right: 0 !important;
}
}
}
......
......@@ -38,7 +38,11 @@
row-key="id"
@selection-change="handleSelectionChange"
>
<el-table-column align="center" label="日期" min-width="80" prop="workDate" show-overflow-tooltip />
<el-table-column align="center" label="日期" min-width="80" prop="workDate" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.workDate, '{y}/{m}/{d}') }}</span>
</template>
</el-table-column>
<el-table-column align="center" label="时段" min-width="80" prop="hours" show-overflow-tooltip />
<el-table-column align="center" label="总放号数" min-width="80" prop="allCount" show-overflow-tooltip />
<el-table-column align="center" label="剩余号数" min-width="80" prop="residueCount" show-overflow-tooltip />
......@@ -77,7 +81,7 @@
</template>
<script>
import { timeRegister } from '@/api/business/register'
import { addRegister, timeRegister } from '@/api/business/register'
export default {
name: 'RegisterModle',
......@@ -98,6 +102,14 @@ export default {
doctorForm: {
type: Object
},
// 医生选择
doctorChoose: {
type: Object
},
// 宠物选择
petChoose: {
type: Object
},
singleDoctor: {
type: Object
}
......@@ -154,65 +166,65 @@ export default {
console.log('这是弹窗本身的行信息:', data)
console.log('这是宠物宠主本身的信息:', this.doctorForm)
console.log('这是当日挂号列表信息 :', this.singleDoctor)
data.visitWay = '0'
data.visitFirstTime = ''
data.payStatus = '0'
data.petPicture = ''
// 进度
data.checkSchedule = '0'
data.payAmount = ''
data.payType = '0'
const temp = {
type: this.registrationType,
// 宠物宠主本身的信息
petsId: this.doctorForm.petsId,
petOwnersId: this.doctorForm.ownersId,
petsId: null,
petType: this.doctorForm.petStatus,
petOwnersId: this.doctorForm.ownerId,
ownersId: this.doctorForm.ownersId,
petOwnersName: this.doctorForm.nickName,
petOwnersPhone: this.doctorForm.phoneNumber,
petNickname: this.doctorForm.petNickname,
petBreed: this.doctorForm.petBreed,
petSex: this.doctorForm.petSex,
petAge: this.doctorForm.petBrithday,
petBirthday: this.doctorForm.petBirthday.replaceAll('-', '/'),
petWeight: this.doctorForm.petWeight,
petColor: this.doctorForm.petColor,
sterilizationStatus: this.doctorForm.sterilizationStatus,
vaccineSituation: this.doctorForm.vaccineSituation,
insure: this.doctorForm.insure,
// 进度
checkSchedule: data.checkSchedule,
payAmount: data.payAmount,
payType: data.payType,
visitDateTime: this.doctorForm.visitDateTime,
checkSchedule: '0',
payAmount: null,
payType: '0',
// 这是当日挂号列表信息
doctorId: this.singleDoctor.doctorCode,
userId: this.singleDoctor.userId,
doctorName: this.singleDoctor.doctorName,
hospitalId: this.singleDoctor.deptId,
hospitalName: this.singleDoctor.deptName,
hospitalDepartmentId: this.singleDoctor.departmentId,
hospitalDepartmentName: this.singleDoctor.departmentName,
doctorPhone: this.singleDoctor.doctorPhone,
// 给传0
visitWay: data.visitWay,
visitWay: '0',
// 下拉传值
firstVisit: this.queryParams.firstVisit,
visitDate: data.workDate,
visitTime: data.hours,
scheduleId: data.scheduleId,
// 拼接 (日期+时间段的第一个时间)
visitFirstTime: data.visitFirstTime,
visitFirstTime: data.workDate.replaceAll('/', '-') + ' ' + data.hours.split('~')[0],
// 默认是0代缴费
payStatus: data.payStatus,
payStatus: '0',
// 给传个null
petPicture: data.petPicture,
petPicture: null,
doctorSignatureUrl: this.singleDoctor.doctorSignatureUrl,
visitLocation: this.singleDoctor.visitLocation,
doctorTitleLabel: this.singleDoctor.doctorTitleValue
}
console.log('终极大表', temp)
addRegister(temp).then(response => {
this.$message({
type: 'success',
message: '预约成功!'
})
this.$emit('registerModleClose', false)
})
},
submit() {
},
/** 关闭弹窗*/
......
<template>
<div class="registration-add-module">
<el-form ref="from" class="registration-add-form" :model="form" :rules="rules" size="small" label-width="110px">
<el-form ref="from" :model="form" :rules="rules" class="registration-add-form" label-width="110px" size="small">
<div class="basicInformation">
<div class="title">宠物信息</div>
<div class="pet-add-btns">
......@@ -25,23 +25,23 @@
<!-- 宠物基本信息-->
<el-row :gutter="41">
<el-col :span="8">
<el-form-item prop="petsId" label="宠物ID:">
<el-form-item label="宠物ID:" prop="petsId">
<el-input v-model="form.petsId" :disabled="true" maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petNickname" label="宠物昵称:">
<el-input v-model="form.petNickname" placeholder="请输入宠物昵称" :disabled="!isEdit" maxlength="20" />
<el-form-item label="宠物昵称:" prop="petNickname">
<el-input v-model="form.petNickname" :disabled="!isEdit" maxlength="20" placeholder="请输入宠物昵称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petBreed" label="宠物品种:">
<el-form-item label="宠物品种:" prop="petBreed">
<el-select
v-model="form.petBreed"
:disabled="!isEdit"
clearable
style="width: 100%"
placeholder="请选择宠物品种"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_breed"
......@@ -53,13 +53,13 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petSex" label="宠物性别:">
<el-form-item label="宠物性别:" prop="petSex">
<el-select
v-model="form.petSex"
:disabled="!isEdit"
clearable
style="width: 100%"
placeholder="请选择宠物性别"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -71,9 +71,9 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petBrithday" label="宠物生日:">
<el-form-item label="宠物生日:" prop="petBirthday">
<el-date-picker
v-model="form.petBrithday"
v-model="form.petBirthday"
:disabled="!isEdit"
clearable
placeholder="请选择宠物生日"
......@@ -83,7 +83,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petWeight" label="宠物体重:">
<el-form-item label="宠物体重:" prop="petWeight">
<el-input
v-model="form.petWeight"
:disabled="!isEdit"
......@@ -92,18 +92,18 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petColor" label="宠物毛色:">
<el-input v-model="form.petColor" placeholder="请输入宠物毛色" :disabled="!isEdit" maxlength="20" />
<el-form-item label="宠物毛色:" prop="petColor">
<el-input v-model="form.petColor" :disabled="!isEdit" maxlength="20" placeholder="请输入宠物毛色" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="sterilizationStatus" label="绝育情况:">
<el-form-item label="绝育情况:" prop="sterilizationStatus">
<el-select
v-model="form.sterilizationStatus"
:disabled="!isEdit"
clearable
style="width: 100%"
placeholder="请选择宠物绝育情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
......@@ -115,13 +115,13 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="petSex" label="疫苗情况:">
<el-form-item label="疫苗情况:" prop="petSex">
<el-select
v-model="form.vaccineSituation"
:disabled="!isEdit"
clearable
style="width: 100%"
placeholder="请选择宠物疫苗情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.vaccine_situation"
......@@ -133,13 +133,13 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="insure" label="宠物保险:">
<el-form-item label="宠物保险:" prop="insure">
<el-select
v-model="form.insure"
:disabled="!isEdit"
clearable
style="width: 100%"
placeholder="请选择宠物保险情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_insure"
......@@ -158,7 +158,7 @@
<!-- 新建宠物-->
<el-row v-if="isEdit && !showPetInfo" :gutter="41">
<el-col :span="8">
<el-form-item prop="masterPhone" label="宠主手机号:">
<el-form-item label="宠主手机号:" prop="masterPhone">
<el-input v-model="form.masterPhone" :disabled="!isEdit" maxlength="11" @blur="checkOwner" />
</el-form-item>
</el-col>
......@@ -170,37 +170,37 @@
<!-- 新建宠物-->
<el-row v-if="showPetInfo" :gutter="41">
<el-col :span="8">
<el-form-item prop="masterPhone" label="宠主姓名:">
<el-form-item label="宠主姓名:" prop="masterPhone">
{{ form.nickName }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="手机号:">
<el-form-item label="手机号:" prop="masterPhone">
{{ form.phoneNumber }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="用户ID:">
<el-form-item label="用户ID:" prop="masterPhone">
{{ form.ownersId }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="创建时间:">
<el-form-item label="创建时间:" prop="masterPhone">
{{ form.createTime }}
</el-form-item>
</el-col>
<el-col v-if="form.customers==='1'" :span="8">
<el-form-item prop="masterPhone" label="会员等级:">
<el-form-item label="会员等级:" prop="masterPhone">
{{ form.membershipLevel ? form.membershipLevel : '-' }}
</el-form-item>
</el-col>
<el-col v-if="form.customers==='1'" :span="8">
<el-form-item prop="masterPhone" label="会员卡余额:">
<el-form-item label="会员卡余额:" prop="masterPhone">
{{ form.cardBalance ? form.cardBalance : '-' }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item prop="masterPhone" label="绑定宠物数量:">
<el-form-item label="绑定宠物数量:" prop="masterPhone">
{{ form.petCount }}
</el-form-item>
</el-col>
......@@ -212,11 +212,18 @@
<!-- 医生卡片-->
<doctor-card @doctorDetail="handleDoctor" @registration="handleRegister" />
<!-- 宠物选择弹框-->
<choose-pet :is-show="showPetModle" @petModleClose="closePetModle" @petChoose="petChoose" />
<choose-pet :is-show="showPetModle" @petChoose="petChoose" @petModleClose="closePetModle" />
<!-- 医生详情弹出框 -->
<doctor-detail :is-show="showDoctorModle" :doctor-id="doctorId" @doctorModleClose="closeDoctorModle" />
<doctor-detail :doctor-id="doctorId" :is-show="showDoctorModle" @doctorModleClose="closeDoctorModle" />
<!-- 挂号/加号弹出框-->
<register-modle :is-show="showRegistrationModle" :doctor-id="doctorIdNd" :doctor-form="test" :registration-type="registrationType" :single-doctor="singleDoctor" @registerModleClose="closeRegisterModle" />
<register-modle
:doctor-form="test"
:doctor-id="doctorIdNd"
:is-show="showRegistrationModle"
:registration-type="registrationType"
:single-doctor="singleDoctor"
@registerModleClose="closeRegisterModle"
/>
<!-- 选择宠物-->
<div slot="footer" class="dialog-footer">
<el-button class="queryBtn" icon="el-icon-check" @click="submitForm">提 交</el-button>
......@@ -232,6 +239,7 @@ import registerModle from '@/views/service-management/registration-queue/compone
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',
// 数据字典
......@@ -267,10 +275,12 @@ export default {
form: {
// 宠物信息开始
petsId: '-',
// 宠物状态位
petStatus: '',
petNickname: '',
petBreed: '',
petSex: '',
petBrithday: '',
petBirthday: '',
petWeight: '',
petColor: '',
sterilizationStatus: '',
......@@ -314,12 +324,14 @@ export default {
petNickname: '',
petBreed: '',
petSex: '',
petBrithday: '',
petBirthday: '',
petWeight: '',
petColor: '',
sterilizationStatus: '',
vaccineSituation: '',
petInsure: '' }
petInsure: ''
}
Object.assign(this.form, temp)
}
},
......@@ -340,7 +352,8 @@ export default {
membershipLevel: data.membershipLevel,
customers: data.customers, // 是否是新客 0 是 1 否
petCount: data.petCount,
cardBalance: data.cardBalance
cardBalance: data.cardBalance,
ownerId: data.id
}
Object.assign(this.form, temp)
this.showPetInfo = true
......@@ -350,11 +363,15 @@ export default {
handleAdd() {
this.isEdit = true
this.showPetModle = false
this.form.petStatus = '0'
console.log('给预约挂号传的宠物状态:', this.form.petStatus)
},
// 选择已有宠物, 表单不可编辑
handleChoose() {
this.isEdit = false
this.showPetModle = true
this.form.petStatus = '1'
console.log('给预约挂号传的宠物状态:', this.form.petStatus)
},
/** 关闭选择宠物回调*/
closePetModle() {
......@@ -369,7 +386,7 @@ export default {
petNickname: petData.petNickname,
petBreed: petData.petBreed,
petSex: petData.petSex,
petBrithday: petData.petBrithday,
petBirthday: petData.petBirthday,
petWeight: petData.petWeight,
petColor: petData.petColor,
sterilizationStatus: petData.sterilizationStatus,
......@@ -382,7 +399,8 @@ export default {
membershipLevel: petOwnerBo.membershipLevel,
customers: petOwnerBo.customers, // 是否是新客 0 是 1 否
petCount: petOwnerBo.petCount,
cardBalance: petOwnerBo.cardBalance }
cardBalance: petOwnerBo.cardBalance
}
Object.assign(this.form, temp)
this.showPetInfo = true
},
......@@ -404,7 +422,9 @@ export default {
this.registrationType = params.type
this.singleDoctor = params.data
this.test = { ...this.form }
this.choosePetTest = { ...this.chooseForm }
console.log('this.form', this.form)
console.log('this.form', this.chooseForm)
},
/** 关闭挂号回调*/
closeRegisterModle() {
......@@ -457,19 +477,23 @@ export default {
.registration-add-module {
background-color: #FFFFFF;
padding: 40px;
.basicInformation{
.basicInformation {
display: flex;
flex-direction: row;
margin-bottom: 10px;
}
.registration-add-form{
.pet-weight-single{
.registration-add-form {
.pet-weight-single {
margin-left: 10px;
}
}
::v-deep .el-input--small{
::v-deep .el-input--small {
width: 100% !important;
}
.basicTop {
display: flex;
justify-content: space-between;
......
......@@ -72,10 +72,10 @@ color: #333333;"
<el-form-item label="宠物性别">
<el-select
v-model="detailInfo.petSex"
disabled
clearable
style="width: 100%"
disabled
placeholder="请选择宠物性别"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_sex"
......@@ -92,13 +92,15 @@ color: #333333;"
<el-col :span="8">
<!--宠物年龄-->
<el-form-item label="宠物年龄">
<el-input v-model="detailInfo.petAge" disabled />
<el-input v-model="detailInfo.petAge" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<!--宠物体重-->
<el-form-item label="宠物体重">
<el-input v-model="detailInfo.petWeight" disabled />kg
<el-input v-model="detailInfo.petWeight" disabled />
kg
</el-form-item>
</el-col>
</el-row>
......@@ -114,10 +116,10 @@ color: #333333;"
<el-form-item label="绝育情况">
<el-select
v-model="detailInfo.sterilizationStatus"
disabled
clearable
style="width: 100%"
disabled
placeholder="请选择宠物绝育情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.sterilization_status"
......@@ -133,10 +135,10 @@ color: #333333;"
<el-form-item label="疫苗情况">
<el-select
v-model="detailInfo.vaccineSituation"
disabled
clearable
style="width: 100%"
disabled
placeholder="请选择宠物疫苗情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.vaccine_situation"
......@@ -154,10 +156,10 @@ color: #333333;"
<el-form-item label="宠物保险">
<el-select
v-model="detailInfo.insure"
disabled
clearable
style="width: 100%"
disabled
placeholder="请选择宠物保险情况"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.pet_insure"
......@@ -204,23 +206,23 @@ color: #333333;"
<el-col :span="8">
<el-form-item label="创建时间">
<span class="content-style">
<el-date-picker
v-model="detailInfo.createTime"
:disabled="!isEdit"
clearable
placeholder="请选择宠物生日"
type="date"
value-format="yyyy-MM-dd"
/>
</span>
<el-date-picker
v-model="detailInfo.createTime"
clearable
disabled
placeholder="请选择宠物生日"
type="date"
value-format="yyyy-MM-dd"
/>
</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员等级">
<el-select
v-model="detailInfo.petOwnerBo.membershipLevel"
disabled
clearable
disabled
style="width: 100%"
>
<el-option
......@@ -233,7 +235,7 @@ color: #333333;"
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="会员卡余额" >
<el-form-item label="会员卡余额">
<el-input v-model="detailInfo.petOwnerBo.cardBalance" disabled />
</el-form-item>
</el-col>
......@@ -241,7 +243,7 @@ color: #333333;"
<el-row>
<el-col :span="8">
<el-form-item label="状态">
<el-select disabled v-model="detailInfo.petOwnerBo.status">
<el-select v-model="detailInfo.petOwnerBo.status" disabled>
<el-option
v-for="({value, label}) in statusList"
:label="label"
......@@ -280,7 +282,7 @@ color: #333333;"
<el-row>
<el-col :span="8">
<el-form-item label="挂号方式">
<el-select disabled v-model="detailInfo.type">
<el-select v-model="detailInfo.type" disabled>
<el-option
v-for="({value, label}) in typeList"
:label="label"
......@@ -294,8 +296,8 @@ color: #333333;"
<el-form-item label="挂号时间">
<el-date-picker
v-model="detailInfo.registrationTime"
:disabled="!isEdit"
clearable
disabled
type="date"
value-format="yyyy-MM-dd"
/>
......@@ -304,7 +306,7 @@ color: #333333;"
<el-col :span="8">
<!--是否首诊-->
<el-form-item label="是否首诊">
<el-select disabled v-model="detailInfo.firstVisit">
<el-select v-model="detailInfo.firstVisit" disabled>
<el-option
v-for="({value, label}) in firstVisitList"
:label="label"
......@@ -320,8 +322,8 @@ color: #333333;"
<el-form-item label="就诊日期">
<el-date-picker
v-model="detailInfo.visitDate"
:disabled="!isEdit"
clearable
disabled
type="date"
value-format="yyyy-MM-dd"
/>
......@@ -336,7 +338,8 @@ color: #333333;"
<el-col :span="8">
<!--门诊诊查费-->
<el-form-item label="门诊诊查费">
<el-input v-model="detailInfo.payAmount" disabled />
<el-input v-model="detailInfo.payAmount" disabled />
</el-form-item>
</el-col>
</el-row>
......@@ -344,7 +347,7 @@ color: #333333;"
<el-col :span="8">
<!--缴费状态-->
<el-form-item label="缴费状态">
<el-select disabled v-model="detailInfo.payStatus">
<el-select v-model="detailInfo.payStatus" disabled>
<el-option
v-for="({value, label}) in payStatusList"
:label="label"
......@@ -358,12 +361,12 @@ color: #333333;"
<el-form-item label="缴费时间">
<el-date-picker
v-model="detailInfo.payTime"
:disabled="!isEdit"
clearable
disabled
type="date"
value-format="yyyy-MM-dd"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</div>
......@@ -395,8 +398,8 @@ color: #333333;"
<el-form-item label="就诊日期">
<el-date-picker
v-model="detailInfo.visitDate"
:disabled="!isEdit"
clearable
disabled
type="date"
value-format="yyyy-MM-dd"
/>
......@@ -410,17 +413,27 @@ color: #333333;"
</el-col>
<el-col :span="24">
<el-form-item label="主诉">
<el-input v-model="detailInfo.name" placeholder="请输入患者主诉" type="textarea" maxlength="400" />
<el-input
v-model="visitList.mainSuit"
maxlength="400"
placeholder="请输入患者主诉"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="医嘱">
<el-input v-model="detailInfo.name" placeholder="请输入医嘱" type="textarea" maxlength="200" />
<el-input
v-model="visitList.doctorAdvice"
maxlength="200"
placeholder="请输入医嘱"
type="textarea"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="诊断结果">
<el-input v-model="detailInfo.name" placeholder="请输入诊断结果" maxlength="30" />
<el-input v-model="visitList.diagnosisResult" maxlength="30" placeholder="请输入诊断结果" />
</el-form-item>
</el-col>
<el-col :span="24">
......@@ -440,7 +453,7 @@ color: #333333;"
</div>
</div>
<!-- 开具处方弹出框-->
<prescribing-modle :is-show="showPrescribing" />
<prescribing-modle :is-show="showPrescribing" :register-form="registerForm" />
</div>
<!--底部返回按钮-->
<el-button class="backBth" icon="el-icon-back" @click="goBack">返 回</el-button>
......@@ -453,7 +466,7 @@ color: #333333;"
// 导入获取宠物信息的接口
import { checkRole } from '@/utils/permission'
import { parseTime, selectDictLabel } from '@/utils/ruoyi'
import { getRegister } from '@/api/business/register'
import { getRegister, queryPrescribing } from '@/api/business/register'
import scheduleInfo from '@/views/service-management/registration-queue/components/schedule-info'
import prescribingModle from '@/views/service-management/registration-queue/components/prescribing-modle'
......@@ -468,6 +481,11 @@ export default {
},
data() {
return {
// 挂号处方信息传值
registerForm: {},
regiterForm: {},
// 就诊信息模块
visitList: {},
// 开具处方弹出框
showPrescribing: false,
// 状态下拉框
......@@ -566,8 +584,7 @@ export default {
baseURL: process.env.VUE_APP_TEST_API,
// 详情信息
detailInfo: {
petOwnerBo: {
}
petOwnerBo: {}
},
// petOwnerBo: {
// phonenumber: '2222'
......@@ -602,6 +619,15 @@ export default {
*/
prescribing() {
this.showPrescribing = true
const temp = {
data: this.regiterForm,
besides: this.visitList
}
queryPrescribing(temp).then(response => {
console.log('这是弹窗需要的父组件传的信息:', temp)
console.log('重要!!!!!:', response)
this.registerForm = response.data
})
},
/**
* 字典获取完成的回调
......@@ -629,6 +655,9 @@ export default {
getRegister(id).then(response => {
console.log('录入诊断需要的信息', response)
this.detailInfo = { ...response.data }
// 挂号信息赋值
this.regiterForm = { ...this.detailInfo }
console.log('这是我进入处方需要的信息:', this.regiterForm)
})
}
}
......@@ -730,22 +759,25 @@ export default {
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #333333;
i{
i {
width: 10px;
font-size: 10px;
height: 11px;
}
&:hover {
background: rgba(95,181,75,0.08);
background: rgba(95, 181, 75, 0.08);
opacity: 1;
border: 1px solid #5FB54B;
color: #333333!important;
color: #333333 !important;
}
&:focus {
background: rgba(85,163,67,0.08);
background: rgba(85, 163, 67, 0.08);
opacity: 1;
border: 1px solid #55A343;
color: #333333!important;
color: #333333 !important;
}
}
</style>
......@@ -157,8 +157,7 @@
style="width: 70px; border-radius: 6px 6px 6px 6px;border: 1px solid rgb(255,157,78);"
type="warning"
@click="handleDetail(scope.row, 'enter')"
>
</el-button>
/>
</template>
</el-table-column>
</el-table>
......@@ -281,7 +280,7 @@
</template>
<script>
import { listRegister, getRegister, delRegister, addRegister, updateRegister } from '@/api/business/register'
import { listRegister, getRegister, delRegister, addRegister, updateRegister, checkPet } from '@/api/business/register'
import { listAllArticle } from '@/api/business/article'
export default {
......@@ -602,9 +601,27 @@ export default {
this.reset()
// TODO: 请清除该行输出
console.log(`row`, row)
this.$router.push({
name: 'RegistrationDetail', params: { id: row.id, type }
})
if (type === 'detail') {
this.$router.push({
name: 'RegistrationDetail', params: { id: row.id, type }
})
} else {
// 进入挂号页面先获取是否有重复的宠物数据
checkPet(row).then(({ msg }) => {
if (msg) {
this.$modal.confirm('当前宠物已经存在是否覆盖数据')
.then(_ => {
this.$router.push({
name: 'RegistrationDetail', params: { id: row.id, type }
})
})
} else {
this.$router.push({
name: 'RegistrationDetail', params: { id: row.id, type }
})
}
})
}
}
}
......
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