|
@@ -34,31 +34,33 @@
|
|
|
</el-table>
|
|
|
</el-aside>
|
|
|
<el-main>
|
|
|
- <div class="main-info-parent" :style="mainInfo">
|
|
|
+ <div style="width: 753px; overflow-x: hidden; display: inline-block; vertical-align: top" :style="mainInfo">
|
|
|
<div id="page0">
|
|
|
- <h3>住 院 病 案 首 页</h3>
|
|
|
- <div class="hospital-info">医疗机构: <span class="notice">湖南泰和医院</span> (组织机构代码: <span class="notice">43010150145</span>)</div>
|
|
|
- <div class="h25" style="text-align: center">
|
|
|
- <div class="w275">
|
|
|
+ <h3 style="width: 100%; font-size: 17px; text-align: center">住 院 病 案 首 页</h3>
|
|
|
+ <div style="width: 100%; height: 32px; line-height: 32px; font-size: 15px; text-align: center">
|
|
|
+ 医疗机构: <span style="font-weight: 700">湖南泰和医院</span> (组织机构代码: <span style="font-weight: 700">43010150145</span>)
|
|
|
+ </div>
|
|
|
+ <div style="height: 25px; line-height: 25px; display: flex">
|
|
|
+ <div>
|
|
|
医疗付费方式:
|
|
|
- <select v-model="patient.payMethod">
|
|
|
+ <select v-model="patient.payMethod" style="width: 180px">
|
|
|
<option v-for="(item, index) in dics.getPayMethod" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
</div>
|
|
|
- <div class="w170">健康卡号: {{ patient.healthCardNo }}</div>
|
|
|
- <div class="w80">第 {{ patient.admissTimes }} 次住院</div>
|
|
|
- <div class="w130">病案号: {{ patient.bah }}</div>
|
|
|
+ <div style="width: 120px; margin-left: 12px">健康卡号: {{ patient.healthCardNo }}</div>
|
|
|
+ <div style="width: 100px">第 {{ patient.admissTimes }} 次住院</div>
|
|
|
+ <div style="width: 130px">病案号: {{ patient.bah }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div id="page1">
|
|
|
+ <div id="page1" style="border: 1px solid black; padding: 5px">
|
|
|
<div>
|
|
|
- 姓名: <input v-model="patient.name" class="w70" />
|
|
|
+ 姓名: <input v-model="patient.name" style="width: 70px" />
|
|
|
性别:
|
|
|
<select v-model="patient.sex">
|
|
|
<option v-for="(item, index) in dics.getSexCode" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 出生日期: <input v-model="patient.birthDate" class="w130" /> 年龄:
|
|
|
- <input v-model="patient.age" class="w30" />
|
|
|
+ 出生日期: <input v-model="patient.birthDate" style="width: 130px" /> 年龄:
|
|
|
+ <input v-model="patient.age" style="width: 30px" />
|
|
|
国籍:
|
|
|
<select v-model="patient.country">
|
|
|
<option v-for="(item, index) in dics.getCountry" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
@@ -66,14 +68,14 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
(年龄不足 1 周岁的)年龄:
|
|
|
- <input v-model="patient.ageDays" class="w50" />天 新生儿出生体重: <input v-model="patient.newBornWeight" class="w70" />克 新生儿入院体重:
|
|
|
- <input v-model="patient.newBornAdmissWeight" class="w70" />克
|
|
|
+ <input v-model="patient.ageDays" style="width: 50px" />天 新生儿出生体重: <input v-model="patient.newBornWeight" style="width: 70px" />克 新生儿入院体重:
|
|
|
+ <input v-model="patient.newBornAdmissWeight" style="width: 70px" />克
|
|
|
</div>
|
|
|
<div>
|
|
|
出生地:
|
|
|
- <input v-model="patient.birthPlaceName" class="w230" @click="showSearchData('birth')" />
|
|
|
+ <input v-model="patient.birthPlaceName" style="width: 230px" @click="showSearchData('birth')" />
|
|
|
籍贯:
|
|
|
- <input v-model="patient.nativePlaceName" class="w170" @click="showSearchData('native')" />
|
|
|
+ <input v-model="patient.nativePlaceName" style="width: 170px" @click="showSearchData('native')" />
|
|
|
民族:
|
|
|
<select v-model="patient.nation">
|
|
|
<option v-for="(item, index) in dics.getNation" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
@@ -81,7 +83,7 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
身份证号:
|
|
|
- <input v-model="patient.socialNo" class="w150" maxlength="18" />
|
|
|
+ <input v-model="patient.socialNo" style="width: 160px" maxlength="18" />
|
|
|
职业:
|
|
|
<select v-model="patient.occupation">
|
|
|
<option v-for="(item, index) in dics.getOccupation" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
@@ -92,24 +94,24 @@
|
|
|
</select>
|
|
|
</div>
|
|
|
<div>
|
|
|
- 现住址: <input v-model="patient.livePlace" class="w300" /> 电话: <input v-model="patient.phone" class="w90" /> 邮编:
|
|
|
- <input v-model="patient.addrZipCode" class="w70" maxlength="6" />
|
|
|
+ 现住址: <input v-model="patient.livePlace" style="width: 300px" /> 电话: <input v-model="patient.phone" style="width: 90px" /> 邮编:
|
|
|
+ <input v-model="patient.addrZipCode" style="width: 70px" maxlength="6" />
|
|
|
</div>
|
|
|
<div>
|
|
|
户口地址:
|
|
|
- <input v-model="patient.hkPlaceName" class="w300" @click="showGoSearchBtn1 = true" @blur="showGoSearchBtn1 = false" />
|
|
|
+ <input v-model="patient.hkPlaceName" style="width: 300px" @click="showGoSearchBtn1 = true" @blur="dismissShowSearch(1)" />
|
|
|
<el-button icon="el-icon-search" type="primary" v-show="showGoSearchBtn1" @click="showSearchData('hk')">前往搜索</el-button>
|
|
|
邮编:
|
|
|
- <input v-model="patient.hkZipCode" class="w70" maxlength="6" />
|
|
|
+ <input v-model="patient.hkZipCode" style="width: 70px" maxlength="6" />
|
|
|
</div>
|
|
|
<div>
|
|
|
工作单位及地址:
|
|
|
- <input style="margin-right: 0" v-model="patient.unitName" class="w145" />
|
|
|
- /<input v-model="patient.unitPlace" class="w145" /> 单位电话: <input v-model="patient.unitPhone" class="w80" /> 邮编:
|
|
|
- <input v-model="patient.unitZipCode" class="w50" maxlength="6" />
|
|
|
+ <input style="margin-right: 0; width: 145px" v-model="patient.unitName" />
|
|
|
+ /<input v-model="patient.unitPlace" style="width: 145px" /> 单位电话: <input v-model="patient.unitPhone" style="width: 80px" /> 邮编:
|
|
|
+ <input v-model="patient.unitZipCode" style="width: 50px" maxlength="6" />
|
|
|
</div>
|
|
|
<div>
|
|
|
- 联系人姓名: <input v-model="patient.contactName" class="w90" />
|
|
|
+ 联系人姓名: <input v-model="patient.contactName" style="width: 90px" />
|
|
|
联系人关系:
|
|
|
<select v-model="patient.contactRelation">
|
|
|
<option v-for="(item, index) in dics.getRelations" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
@@ -117,9 +119,9 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
联系人地址:
|
|
|
- <input v-model="patient.contactAddrName" class="w300" @click="showGoSearchBtn2 = true" @blur="showGoSearchBtn2 = false" />
|
|
|
+ <input v-model="patient.contactAddrName" style="width: 300px" @click="showGoSearchBtn2 = true" @blur="dismissShowSearch(2)" />
|
|
|
<el-button icon="el-icon-search" type="primary" v-show="showGoSearchBtn2" @click="showSearchData('contact')">前往搜索</el-button>
|
|
|
- 联系人电话: <input v-model="patient.contactPhone" class="w90" />
|
|
|
+ 联系人电话: <input v-model="patient.contactPhone" style="width: 90px" />
|
|
|
</div>
|
|
|
<div>
|
|
|
入院途径:
|
|
@@ -139,30 +141,22 @@
|
|
|
</select>
|
|
|
</div>
|
|
|
<div>
|
|
|
- 入院时间:<input v-model="patient.admissDate" readonly class="w125" /> 入院科别:<input v-model="patient.admissDept" readonly class="w120" /> 病房:<input
|
|
|
- v-model="patient.admissWard"
|
|
|
- readonly
|
|
|
- class="w80"
|
|
|
- />
|
|
|
- 转科科别:<input v-model="patient.transDept" readonly class="w120" />
|
|
|
+ 入院时间:<input v-model="patient.admissDate" readonly style="width: 135px" /> 入院科别:<input v-model="patient.admissDept" readonly style="width: 120px" />
|
|
|
+ 病房:<input v-model="patient.admissWard" readonly style="width: 80px" /> 转科科别:<input v-model="patient.transDept" readonly style="width: 120px" />
|
|
|
</div>
|
|
|
<div>
|
|
|
- 出院时间:<input v-model="patient.dismissDate" readonly class="w125" /> 出院科别:<input v-model="patient.dismissDept" readonly class="w120" /> 病房:<input
|
|
|
- v-model="patient.dismissWard"
|
|
|
- readonly
|
|
|
- class="w80"
|
|
|
- />
|
|
|
- 住院天数:<input v-model="patient.admissDays" class="w70" />
|
|
|
+ 出院时间:<input v-model="patient.dismissDate" readonly style="width: 135px" /> 出院科别:<input v-model="patient.dismissDept" readonly style="width: 120px" />
|
|
|
+ 病房:<input v-model="patient.dismissWard" readonly style="width: 80px" /> 住院天数:<input v-model="patient.admissDays" style="width: 70px" />
|
|
|
</div>
|
|
|
<div>
|
|
|
门(急)诊诊断:
|
|
|
- <input v-model="patient.clinicDiagStr" class="w350" readonly />
|
|
|
+ <input v-model="patient.clinicDiagStr" style="width: 350px" readonly />
|
|
|
疾病编码:
|
|
|
- <input v-model="patient.clinicDiagCode" readonly class="w110" />
|
|
|
+ <input v-model="patient.clinicDiagCode" readonly style="width: 110px" />
|
|
|
</div>
|
|
|
- <div style="height: max-content">
|
|
|
- <div style="display: inline-block; vertical-align: top; width: 358px">
|
|
|
- <table style="border: 1px solid black; border-collapse: collapse">
|
|
|
+ <div style="height: max-content; display: flex; width: 720px">
|
|
|
+ <div style="width: 360px">
|
|
|
+ <table style="width: 100%; border: 1px solid black; border-collapse: collapse">
|
|
|
<tr>
|
|
|
<th>主要诊断</th>
|
|
|
<th>疾病编码</th>
|
|
@@ -171,34 +165,31 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>
|
|
|
- <input class="w200 no-border text-left pl5" v-model="patient.disdiagList[0].name" @click="onSearchDiagFocus(0)" readonly />
|
|
|
+ <input style="border: none !important; width: 170px" v-model="patient.disdiagList[0].name" @click="onSearchDiagFocus(0)" readonly />
|
|
|
<div v-show="showDel[0]" class="not-print" style="width: 100%; text-align: center">
|
|
|
<el-button type="primary" icon="el-icon-edit" @click="showSearch = true">修改</el-button>
|
|
|
</div>
|
|
|
</td>
|
|
|
<td style="text-align: center">
|
|
|
- <input class="w100 no-border" v-model="patient.disdiagList[0].code" readonly />
|
|
|
+ <input style="border: none !important; width: 100px" v-model="patient.disdiagList[0].code" readonly />
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select class="w30 no-border" v-model="patient.disdiagList[0].admissStatus">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.disdiagList[0].admissStatus">
|
|
|
<option v-for="(item, index) in dics.getDisAdmissStatus" :key="index" :value="item.code"> {{ item.code }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select class="w30 no-border" v-model="patient.disdiagList[0].dismissStatus" @change="handleSelectCybq">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.disdiagList[0].dismissStatus" @change="handleSelectCybq">
|
|
|
<option v-for="(item, index) in dics.getDisdiagStatus" :key="index" :value="item.code"> {{ item.code }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th>其他诊断</th>
|
|
|
- <td></td>
|
|
|
- <td></td>
|
|
|
- <td></td>
|
|
|
+ <th colspan="4">其他诊断</th>
|
|
|
</tr>
|
|
|
<tr v-for="n in 11" :key="n">
|
|
|
<td>
|
|
|
- <input class="w200 no-border text-left pl5" v-model="patient.disdiagList[n].name" @click="onSearchDiagFocus(n)" readonly />
|
|
|
+ <input style="border: none !important; text-align: left; padding-left: 5px" v-model="patient.disdiagList[n].name" @click="onSearchDiagFocus(n)" readonly />
|
|
|
<div v-show="showDel[n]" class="not-print" style="width: 100%; text-align: center">
|
|
|
<el-button type="primary" circle icon="el-icon-edit" @click="showSearch = true"></el-button>
|
|
|
<el-button type="danger" circle icon="el-icon-delete" @click="deleteDisdiag(n)"></el-button>
|
|
@@ -206,73 +197,71 @@
|
|
|
</div>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <input class="w100 no-border" v-model="patient.disdiagList[n].code" readonly />
|
|
|
+ <input style="border: none !important; width: 90px" v-model="patient.disdiagList[n].code" readonly />
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select class="w30 no-border" v-model="patient.disdiagList[n].admissStatus">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.disdiagList[n].admissStatus">
|
|
|
<option v-for="(item, index) in dics.getDisAdmissStatus" :key="index" :value="item.code"> {{ item.code }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select class="w30 no-border" v-model="patient.disdiagList[n].dismissStatus" @change="handleSelectCybq">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.disdiagList[n].dismissStatus" @change="handleSelectCybq">
|
|
|
<option v-for="(item, index) in dics.getDisdiagStatus" :key="index" :value="item.code"> {{ item.code }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
</div>
|
|
|
-
|
|
|
- <div style="display: inline-block; vertical-align: top; width: 358px">
|
|
|
+ <div style="width: 360px">
|
|
|
<table style="border: 1px solid black; border-collapse: collapse">
|
|
|
- <tr v-for="n in 15" :key="n">
|
|
|
+ <tr v-for="n in 14" :key="n">
|
|
|
<td>
|
|
|
- <input class="w200 no-border text-left pl5" v-model="patient.disdiagList[n + 11].name" @click="onSearchDiagFocus(n + 11)" readonly />
|
|
|
+ <input style="border: none !important; width: 170px" v-model="patient.disdiagList[n + 11].name" @click="onSearchDiagFocus(n + 11)" readonly />
|
|
|
<div v-show="showDel[n + 11]" class="not-print" style="width: 100%; text-align: center">
|
|
|
- <button class="btn btn-sm btn-primary" circle @click="showSearch = true">
|
|
|
- <i class="ti-pencil-alt"></i>
|
|
|
+ <button circle @click="showSearch = true">
|
|
|
+ <i class="el-icon-edit"></i>
|
|
|
</button>
|
|
|
- <button class="btn btn-sm btn-warning" circle @click="deleteDisdiag(n + 11)">
|
|
|
- <i class="ti-trash"></i>
|
|
|
+ <button circle @click="deleteDisdiag(n + 11)">
|
|
|
+ <i class="el-icon-delete"></i>
|
|
|
</button>
|
|
|
- <button class="btn btn-sm btn-danger" circle @click="insertDisdiag(n + 11)">
|
|
|
- <i class="ti-arrow-up"></i>
|
|
|
+ <button circle @click="insertDisdiag(n + 11)">
|
|
|
+ <i class="el-icon-upload"></i>
|
|
|
</button>
|
|
|
</div>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <input class="w100 no-border" v-model="patient.disdiagList[n + 11].code" readonly />
|
|
|
+ <input style="border: none !important; width: 100px" v-model="patient.disdiagList[n + 11].code" readonly />
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select class="w30 no-border" v-model="patient.disdiagList[n + 11].admissStatus">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.disdiagList[n + 11].admissStatus">
|
|
|
<option v-for="(item, index) in dics.getDisAdmissStatus" :key="index" :value="item.code"> {{ item.code }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select class="w30 no-border" v-model="patient.disdiagList[n + 11].dismissStatus" @change="handleSelectCybq">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.disdiagList[n + 11].dismissStatus" @change="handleSelectCybq">
|
|
|
<option v-for="(item, index) in dics.getDisdiagStatus" :key="index" :value="item.code"> {{ item.code }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
</div>
|
|
|
- <div style="border-bottom: 1px solid black">
|
|
|
- 备注:
|
|
|
- <span class="badge badge-info">入院病情:</span>1.有,2.临床未确定,3.情况不明,4.无
|
|
|
- <span class="badge badge-info ml30">出院病情:</span>1.治愈,2.好转,3.未愈,4.死亡,9.其他
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div style="border-bottom: 1px solid black; font-size: 12px">
|
|
|
+ 备注:
|
|
|
+ <span>入院病情:</span>1.有,2.临床未确定,3.情况不明,4.无 <span style="margin-left: 10px">出院病情:</span>1.治愈,2.好转,3.未愈,4.死亡,9.其他
|
|
|
</div>
|
|
|
<div>
|
|
|
损伤、中毒的外部原因:
|
|
|
- <input v-model="patient.hurtReasonName" class="w300" @click="showSearchData('hurt')" />
|
|
|
+ <input v-model="patient.hurtReasonName" style="width: 300px" @click="showSearchData('hurt')" />
|
|
|
疾病编码:
|
|
|
- <input v-model="patient.hurtReasonCode" class="w110" readonly />
|
|
|
+ <input v-model="patient.hurtReasonCode" style="width: 110px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
病理诊断:
|
|
|
- <input v-model="patient.pathologicDiagStr" class="w300" @click="showSearchData('pathologic')" />
|
|
|
+ <input v-model="patient.pathologicDiagStr" style="width: 300px" @click="showSearchData('pathologic')" />
|
|
|
病理编码:
|
|
|
- <input v-model="patient.pathologicDiagCode" class="w90" readonly />
|
|
|
- 病理号: <input v-model="patient.blh" class="w70" />
|
|
|
+ <input v-model="patient.pathologicDiagCode" style="width: 90px" readonly />
|
|
|
+ 病理号: <input v-model="patient.blh" style="width: 70px" />
|
|
|
</div>
|
|
|
<div>
|
|
|
药物过敏:
|
|
@@ -280,7 +269,7 @@
|
|
|
<option v-for="(item, index) in haveOrNot" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
,过敏药物:
|
|
|
- <input v-model="patient.allergicMedicine" class="w110" />
|
|
|
+ <input v-model="patient.allergicMedicine" style="width: 110px" />
|
|
|
死亡患者尸检:
|
|
|
<select v-model="patient.autopsy">
|
|
|
<option v-for="(item, index) in autopsies" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
@@ -289,15 +278,18 @@
|
|
|
<div>
|
|
|
输血前四项: HbsAg
|
|
|
<select v-model="patient.hbsAg">
|
|
|
- <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > HCV-Ab
|
|
|
- <select v-model="patient.hcvAb">
|
|
|
- <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > HIV-Ab
|
|
|
- <select v-model="patient.hivAb">
|
|
|
- <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > TP-Ab
|
|
|
- <select v-model="patient.tpAb">
|
|
|
+ <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ HCV-Ab
|
|
|
+ <select v-model="patient.hcvAb" style="margin-left: 8px">
|
|
|
+ <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ HIV-Ab
|
|
|
+ <select v-model="patient.hivAb" style="margin-left: 8px">
|
|
|
+ <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ TP-Ab
|
|
|
+ <select v-model="patient.tpAb" style="margin-left: 8px">
|
|
|
<option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
</div>
|
|
@@ -313,23 +305,23 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
科室主任:
|
|
|
- <input class="w70" v-model="patient.deptLeaderName" @click="showSearchData('deptleader')" />
|
|
|
+ <input style="width: 70px" v-model="patient.deptLeaderName" @click="showSearchData('deptleader')" />
|
|
|
主任(副主任)医师:
|
|
|
- <input class="w70" v-model="patient.leaderDoctorName" @click="showSearchData('leaderdoctor')" />
|
|
|
+ <input style="width: 70px" v-model="patient.leaderDoctorName" @click="showSearchData('leaderdoctor')" />
|
|
|
主治医师:
|
|
|
- <input class="w70" v-model="patient.mainDoctorName" @click="showSearchData('maindoctor')" />
|
|
|
+ <input style="width: 70px" v-model="patient.mainDoctorName" @click="showSearchData('maindoctor')" />
|
|
|
住院医师:
|
|
|
- <input class="w70" v-model="patient.admissDoctorName" @click="showSearchData('admissdoctor')" />
|
|
|
+ <input style="width: 70px" v-model="patient.admissDoctorName" @click="showSearchData('admissdoctor')" />
|
|
|
</div>
|
|
|
<div>
|
|
|
责任护士:
|
|
|
- <input class="w70" v-model="patient.dutyNurseName" @click="showSearchData('dutynurse')" />
|
|
|
+ <input style="width: 70px" v-model="patient.dutyNurseName" @click="showSearchData('dutynurse')" />
|
|
|
进修医师:
|
|
|
- <input class="w70" v-model="patient.studyDoctorName" @click="showSearchData('studydoctor')" />
|
|
|
+ <input style="width: 70px" v-model="patient.studyDoctorName" @click="showSearchData('studydoctor')" />
|
|
|
实习医师:
|
|
|
- <input class="w70" v-model="patient.internshipDoctorName" @click="showSearchData('internshipdoctor')" />
|
|
|
+ <input style="width: 70px" v-model="patient.internshipDoctorName" @click="showSearchData('internshipdoctor')" />
|
|
|
编码员:
|
|
|
- <input class="w70" v-model="patient.coderName" @click="showSearchData('coder')" />
|
|
|
+ <input style="width: 70px" v-model="patient.coderName" @click="showSearchData('coder')" />
|
|
|
</div>
|
|
|
<div>
|
|
|
病案质量:
|
|
@@ -337,22 +329,22 @@
|
|
|
<option v-for="(item, index) in dics.getQualityLevel" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
质控医师:
|
|
|
- <input class="w70" v-model="patient.qualityControlDoctorName" @click="showSearchData('qualitycontroldoctor')" />
|
|
|
+ <input style="width: 70px" v-model="patient.qualityControlDoctorName" @click="showSearchData('qualitycontroldoctor')" />
|
|
|
质控护士:
|
|
|
- <input class="w70" v-model="patient.qualityControlNurseName" @click="showSearchData('qualitycontrolnurse')" />
|
|
|
+ <input style="width: 70px" v-model="patient.qualityControlNurseName" @click="showSearchData('qualitycontrolnurse')" />
|
|
|
质控日期:
|
|
|
- <input class="w170" type="date" v-model="patient.qualityControlDate" />
|
|
|
+ <input style="width: 170px" type="date" v-model="patient.qualityControlDate" />
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div id="page2">
|
|
|
+ <div id="page2" style="border: 1px solid black; padding: 5px">
|
|
|
<table style="border: 1px solid black; border-collapse: collapse; width: 100%">
|
|
|
<tr>
|
|
|
<th rowspan="2">手术及操作名称</th>
|
|
|
- <th rowspan="2" class="w70">手术及操作日期</th>
|
|
|
- <th rowspan="2" class="w10">手术级别</th>
|
|
|
+ <th rowspan="2" style="width: 70px">手术及操作日期</th>
|
|
|
+ <th rowspan="2" style="width: 10px">手术级别</th>
|
|
|
<th rowspan="2">手术及操作编码</th>
|
|
|
<th colspan="3">手术及操作医师</th>
|
|
|
- <th rowspan="2" class="w30">切口愈合等级</th>
|
|
|
+ <th rowspan="2" style="width: 30px">切口愈合等级</th>
|
|
|
<th rowspan="2">麻醉方式</th>
|
|
|
<th rowspan="2">麻醉医师</th>
|
|
|
</tr>
|
|
@@ -363,46 +355,52 @@
|
|
|
</tr>
|
|
|
<tr v-for="n in 5" :key="n">
|
|
|
<td style="padding: 3px">
|
|
|
- <textarea class="w90 no-border" rows="3" v-model="patient.surgeryList[n - 1].name" @click="onSearchSurgeryFocus(n - 1)" readonly></textarea>
|
|
|
+ <textarea
|
|
|
+ style="border: none !important; width: 90px"
|
|
|
+ rows="3"
|
|
|
+ v-model="patient.surgeryList[n - 1].name"
|
|
|
+ @click="onSearchSurgeryFocus(n - 1)"
|
|
|
+ readonly
|
|
|
+ ></textarea>
|
|
|
<div v-show="showDel[n - 1]" class="not-print" style="width: 100%; text-align: center">
|
|
|
<el-button type="primary" circle icon="el-icon-edit" @click="showSearch = true"></el-button>
|
|
|
<el-button type="danger" circle icon="el-icon-delete" @click="deleteSurgery(n - 1)"></el-button>
|
|
|
</div>
|
|
|
</td>
|
|
|
<td style="padding: 3px">
|
|
|
- <textarea class="w70 no-border" v-model="patient.surgeryList[n - 1].date" rows="3"></textarea>
|
|
|
+ <textarea style="border: none !important; width: 70px" v-model="patient.surgeryList[n - 1].date" rows="3"></textarea>
|
|
|
</td>
|
|
|
<td style="text-align-last: center">
|
|
|
- <select class="w30 no-border" v-model="patient.surgeryList[n - 1].level">
|
|
|
+ <select style="border: none !important; width: 30px" v-model="patient.surgeryList[n - 1].level">
|
|
|
<option v-for="(item, index) in dics.getOperateScale" :key="index" :value="item.code"> {{ item.code }}</option>
|
|
|
</select>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <input v-model="patient.surgeryList[n - 1].code" class="w70 no-border" readonly />
|
|
|
+ <input v-model="patient.surgeryList[n - 1].code" style="border: none !important; width: 70px" readonly />
|
|
|
</td>
|
|
|
<td>
|
|
|
- <input class="w40 no-border" v-model="patient.surgeryList[n - 1].operatorName" @click="showSearchSurgerior('operator', n)" />
|
|
|
+ <input style="border: none !important; width: 40px" v-model="patient.surgeryList[n - 1].operatorName" @click="showSearchSurgerior('operator', n)" />
|
|
|
</td>
|
|
|
- <td class="width50">
|
|
|
- <input class="w40 no-border" v-model="patient.surgeryList[n - 1].assistantOneName" @click="showSearchSurgerior('assistantone', n)" />
|
|
|
+ <td style="width: 50px">
|
|
|
+ <input style="border: none !important; width: 40px" v-model="patient.surgeryList[n - 1].assistantOneName" @click="showSearchSurgerior('assistantone', n)" />
|
|
|
</td>
|
|
|
- <td class="width50">
|
|
|
- <input class="w40 no-border" v-model="patient.surgeryList[n - 1].assistantTwoName" @click="showSearchSurgerior('assistanttwo', n)" />
|
|
|
+ <td style="width: 50px">
|
|
|
+ <input style="border: none !important; width: 40px" v-model="patient.surgeryList[n - 1].assistantTwoName" @click="showSearchSurgerior('assistanttwo', n)" />
|
|
|
</td>
|
|
|
<td style="text-align-last: center">
|
|
|
- <select v-model="patient.surgeryList[n - 1].cutHeal" class="no-border">
|
|
|
+ <select v-model="patient.surgeryList[n - 1].cutHeal" style="border: none !important">
|
|
|
<option v-for="(item, index) in dics.getCutHealGrade" :key="index" :value="item.code">
|
|
|
{{ item.code }}
|
|
|
</option>
|
|
|
</select>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <select v-model="patient.surgeryList[n - 1].anaesthesia" class="no-border">
|
|
|
+ <select v-model="patient.surgeryList[n - 1].anaesthesia" style="border: none !important">
|
|
|
<option v-for="(item, index) in dics.getAnaesthesia" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
</td>
|
|
|
<td>
|
|
|
- <input class="w40 no-border" v-model="patient.surgeryList[n - 1].anaesthesiaorName" @click="showSearchSurgerior('anaesthesiaor', n)" />
|
|
|
+ <input style="border: none !important; width: 40px" v-model="patient.surgeryList[n - 1].anaesthesiaorName" @click="showSearchSurgerior('anaesthesiaor', n)" />
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
@@ -412,7 +410,7 @@
|
|
|
<option v-for="(item, index) in dics.getZyDismissWay" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
,拟接收医疗机构名称:
|
|
|
- <input v-model="patient.dismissDestination" class="w210" />
|
|
|
+ <input v-model="patient.dismissDestination" style="width: 210px" />
|
|
|
</div>
|
|
|
<div>
|
|
|
是否有出院31天内再住院计划:
|
|
@@ -420,102 +418,104 @@
|
|
|
<option v-for="(item, index) in haveOrNot" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
,目的:
|
|
|
- <input v-model="patient.admissAgainPurpose" class="w300" />
|
|
|
+ <input v-model="patient.admissAgainPurpose" style="width: 300px" />
|
|
|
</div>
|
|
|
<div>
|
|
|
- 颅脑损伤患者昏迷时间: 入院前<input v-model="patient.comaDaysBeforeAdmiss" class="w30" />天 <input v-model="patient.comaHoursBeforeAdmiss" class="w30" />小时
|
|
|
- <input v-model="patient.comaMinutesBeforeAdmiss" class="w30" />分钟 入院后<input v-model="patient.comaDaysAfterAdmiss" class="w30" />天
|
|
|
- <input v-model="patient.comaHoursAfterAdmiss" class="w30" />小时 <input v-model="patient.comaMinutesAfterAdmiss" class="w30" />分钟
|
|
|
+ 颅脑损伤患者昏迷时间: 入院前<input v-model="patient.comaDaysBeforeAdmiss" style="width: 30px" />天
|
|
|
+ <input v-model="patient.comaHoursBeforeAdmiss" style="width: 30px" />小时 <input v-model="patient.comaMinutesBeforeAdmiss" style="width: 30px" />分钟 入院后<input
|
|
|
+ v-model="patient.comaDaysAfterAdmiss"
|
|
|
+ style="width: 30px"
|
|
|
+ />天 <input v-model="patient.comaHoursAfterAdmiss" style="width: 30px" />小时 <input v-model="patient.comaMinutesAfterAdmiss" style="width: 30px" />分钟
|
|
|
</div>
|
|
|
<div>
|
|
|
住院费用(元): 总费用
|
|
|
- <input v-model="patient.totalCost" class="w110" readonly />
|
|
|
+ <input v-model="patient.totalCost" style="width: 110px" readonly />
|
|
|
(自付金额:
|
|
|
- <input v-model="patient.selfPay" class="w110" readonly />)
|
|
|
+ <input v-model="patient.selfPay" style="width: 110px" readonly />)
|
|
|
</div>
|
|
|
<div>
|
|
|
1.综合医疗服务类: (1)一般医疗服务费:
|
|
|
- <input v-model="patient.generalMedicalServiceFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.generalMedicalServiceFee" style="width: 70px" readonly />
|
|
|
(2)一般治疗操作费:
|
|
|
- <input v-model="patient.generalTreatmentOperatingFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.generalTreatmentOperatingFee" style="width: 70px" readonly />
|
|
|
(3)护理费:
|
|
|
- <input v-model="patient.careFee" class="w50" readonly />
|
|
|
+ <input v-model="patient.careFee" style="width: 50px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
(4)其他费:
|
|
|
- <input v-model="patient.elseFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.elseFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
2.诊断类: (5)病理诊断费:
|
|
|
- <input v-model="patient.pathologicDiagFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.pathologicDiagFee" style="width: 70px" readonly />
|
|
|
(6)实验室诊断费:
|
|
|
- <input v-model="patient.experimentDiagFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.experimentDiagFee" style="width: 70px" readonly />
|
|
|
(7)影像学诊断费:
|
|
|
- <input v-model="patient.ctDiagFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.ctDiagFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
(8)临床诊断项目费:
|
|
|
- <input v-model="patient.clinicalDiagFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.clinicalDiagFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
3.治疗类: (9)非手术治疗项目费:
|
|
|
- <input v-model="patient.notSurgicalFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.notSurgicalFee" style="width: 70px" readonly />
|
|
|
(临床物理治疗费:
|
|
|
- <input v-model="patient.clinicalPhysicalFee" class="w70" readonly />)
|
|
|
+ <input v-model="patient.clinicalPhysicalFee" style="width: 70px" readonly />)
|
|
|
</div>
|
|
|
<div>
|
|
|
(10)手术治疗费:
|
|
|
- <input v-model="patient.surgicalFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.surgicalFee" style="width: 70px" readonly />
|
|
|
(麻醉费:
|
|
|
- <input v-model="patient.anesthetizeFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.anesthetizeFee" style="width: 70px" readonly />
|
|
|
手术费:
|
|
|
- <input v-model="patient.surgeryFee" class="w70" readonly />)
|
|
|
+ <input v-model="patient.surgeryFee" style="width: 70px" readonly />)
|
|
|
</div>
|
|
|
<div>
|
|
|
4.康复类: (11)康复费:
|
|
|
- <input v-model="patient.recoverFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.recoverFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
5.中医类: (12)中医治疗费:
|
|
|
- <input v-model="patient.tcmTreatmentFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.tcmTreatmentFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
6.西药类: (13)西药费:
|
|
|
- <input v-model="patient.westMedicineFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.westMedicineFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
7.中药类: (14)中成药费:
|
|
|
- <input v-model="patient.chinesePatentMedicineFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.chinesePatentMedicineFee" style="width: 70px" readonly />
|
|
|
(15)中草药费:
|
|
|
- <input v-model="patient.chineseHerbalMedicineFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.chineseHerbalMedicineFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
8.血液和血液制品类: (16)血费:
|
|
|
- <input v-model="patient.bloodFee" class="w50" readonly />
|
|
|
+ <input v-model="patient.bloodFee" style="width: 50px" readonly />
|
|
|
(17)白蛋白类制品费:
|
|
|
- <input v-model="patient.albuminProductsFee" class="w50" readonly />
|
|
|
+ <input v-model="patient.albuminProductsFee" style="width: 50px" readonly />
|
|
|
(18)球蛋白类制品费:
|
|
|
- <input v-model="patient.globulinProductsFee" class="w50" readonly />
|
|
|
+ <input v-model="patient.globulinProductsFee" style="width: 50px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
(19)凝血因子类制品费:
|
|
|
- <input v-model="patient.coagulationFactorProductsFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.coagulationFactorProductsFee" style="width: 70px" readonly />
|
|
|
(20)细胞因子类制品费:
|
|
|
- <input v-model="patient.cytokineProductsFee" class="w70" readonly />
|
|
|
+ <input v-model="patient.cytokineProductsFee" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
9.耗材类: (21)检查用一次性医用材料费:
|
|
|
- <input v-model="patient.costOfDisposableMedicalMaterialsForExamination" class="w70" readonly />
|
|
|
+ <input v-model="patient.costOfDisposableMedicalMaterialsForExamination" style="width: 70px" readonly />
|
|
|
(22)治疗用一次性医用材料费:
|
|
|
- <input v-model="patient.costOfDisposableMedicalMaterialsForTreatment" class="w70" readonly />
|
|
|
+ <input v-model="patient.costOfDisposableMedicalMaterialsForTreatment" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
(23)手术用一次性医用材料费:
|
|
|
- <input v-model="patient.costOfDisposableMedicalMaterialsForOperation" class="w70" readonly />
|
|
|
+ <input v-model="patient.costOfDisposableMedicalMaterialsForOperation" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
10.其他类: (24)其他费:
|
|
|
- <input v-model="patient.otherFees" class="w70" readonly />
|
|
|
+ <input v-model="patient.otherFees" style="width: 70px" readonly />
|
|
|
</div>
|
|
|
<div>
|
|
|
主要诊断治愈好转情况:
|
|
@@ -525,52 +525,51 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
诊断符合情况: 门诊与出院
|
|
|
- <select v-model="patient.diagConform1">
|
|
|
+ <select v-model="patient.diagConform1" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 入院与出院
|
|
|
+ 入院与出院
|
|
|
<select v-model="patient.diagConform2">
|
|
|
<option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div>
|
|
|
术前与术后
|
|
|
- <select v-model="patient.diagConform3">
|
|
|
+ <select v-model="patient.diagConform3" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 临床与病理
|
|
|
- <select v-model="patient.diagConform4">
|
|
|
+ 临床与病理
|
|
|
+ <select v-model="patient.diagConform4" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 放射与病理
|
|
|
+ 放射与病理
|
|
|
<select v-model="patient.diagConform5">
|
|
|
<option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div>
|
|
|
抢救情况: 抢救
|
|
|
- <input v-model="patient.rescueTimes" type="number" class="w90" />次, 成功
|
|
|
- <input v-model="patient.rescueSuccessTimes" type="number" class="w90" />次
|
|
|
+ <input v-model="patient.rescueTimes" type="number" style="width: 90px" />次, 成功 <input v-model="patient.rescueSuccessTimes" type="number" style="width: 90px" />次
|
|
|
</div>
|
|
|
<div>
|
|
|
病例分型:
|
|
|
- <select v-model="patient.caseClassification">
|
|
|
+ <select v-model="patient.caseClassification" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in dics.getCaseClassification" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 实施重症监护:
|
|
|
+ 实施重症监护:
|
|
|
<select v-model="patient.hasIcu" @change="handleSelectIcu">
|
|
|
<option v-for="(item, index) in haveOrNot" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
,监护总时间:
|
|
|
- <input v-model="patient.icuDays" class="w30" />天 <input v-model="patient.icuHours" class="w30" />小时
|
|
|
+ <input v-model="patient.icuDays" style="width: 30px" />天 <input v-model="patient.icuHours" style="width: 30px" />小时
|
|
|
</div>
|
|
|
<div>
|
|
|
单病种管理:
|
|
|
- <select v-model="patient.monopathyManagement">
|
|
|
+ <select v-model="patient.monopathyManagement" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in yesOrNo" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 实施临床路径管理:
|
|
|
- <select v-model="patient.clinicalPathwayManagement">
|
|
|
+ 实施临床路径管理:
|
|
|
+ <select v-model="patient.clinicalPathwayManagement" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in dics.getClinicalPathwayManagement" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
实施DRGs管理:
|
|
@@ -580,32 +579,36 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
抗生素使用:
|
|
|
- <select v-model="patient.useAntibiotic">
|
|
|
+ <select v-model="patient.useAntibiotic" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in yesOrNo" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
细菌培养标本送检:
|
|
|
- <select v-model="patient.bacilliculture">
|
|
|
+ <select v-model="patient.bacilliculture" style="margin-right: 12px">
|
|
|
<option v-for="(item, index) in yesOrNo" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
- 法定传染病:
|
|
|
+ 法定传染病:
|
|
|
<select v-model="patient.statutoryEpidemic">
|
|
|
<option v-for="(item, index) in dics.getStatutoryEpidemic" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div>
|
|
|
肿瘤分期: T
|
|
|
- <select v-model="patient.tumorLevelT">
|
|
|
- <option v-for="(item, index) in dics.getTumorLevelT" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > N
|
|
|
- <select v-model="patient.tumorLevelN">
|
|
|
- <option v-for="(item, index) in dics.getTumorLevelN" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > M
|
|
|
- <select v-model="patient.tumorLevelM">
|
|
|
- <option v-for="(item, index) in dics.getTumorLevelM" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > 分期
|
|
|
- <select v-model="patient.tumorLevel">
|
|
|
- <option v-for="(item, index) in dics.getTumorLevel" :key="index" :value="item.code"> {{ item.name }} </option></select
|
|
|
- > 新生儿Apgar评分: <input style="margin-right: 0" v-model="patient.xxeApgar" class="w50" />分
|
|
|
+ <select v-model="patient.tumorLevelT" style="margin-right: 12px">
|
|
|
+ <option v-for="(item, index) in dics.getTumorLevelT" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ N
|
|
|
+ <select v-model="patient.tumorLevelN" style="margin-right: 12px">
|
|
|
+ <option v-for="(item, index) in dics.getTumorLevelN" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ M
|
|
|
+ <select v-model="patient.tumorLevelM" style="margin-right: 12px">
|
|
|
+ <option v-for="(item, index) in dics.getTumorLevelM" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ 分期
|
|
|
+ <select v-model="patient.tumorLevel" style="margin-right: 18px">
|
|
|
+ <option v-for="(item, index) in dics.getTumorLevel" :key="index" :value="item.code"> {{ item.name }} </option>
|
|
|
+ </select>
|
|
|
+ 新生儿Apgar评分: <input style="margin-right: 0; width: 50px" v-model="patient.xxeApgar" />分
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -630,18 +633,6 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog v-model="showYbDiag" title="医保出院诊断" width="70%" top="30px">
|
|
|
- <el-tag type="info">患者基本信息</el-tag>
|
|
|
- <div style="display: flex; height: 22px; line-height: 22px; margin: 5px 30px 0 30px">
|
|
|
- <div style="width: 33%">住院号:{{ patient.bah }}</div>
|
|
|
- <div style="width: 33%">姓名:{{ patient.name }}</div>
|
|
|
- <div style="width: 33%">入院日间:{{ patient.admissDate }}</div>
|
|
|
- </div>
|
|
|
- <div style="display: flex; height: 22px; line-height: 22px; margin: 0 30px">
|
|
|
- <div style="width: 33%">医保身份:{{ patient.responceTypeName }}</div>
|
|
|
- <div style="width: 33%">医保类别:{{ patient.ybTypeName }}</div>
|
|
|
- <div style="width: 33%">待遇类别:{{ patient.treatTypeName }}</div>
|
|
|
- </div>
|
|
|
- <el-divider></el-divider>
|
|
|
<el-tag type="info">医保诊断录入</el-tag>
|
|
|
<div style="height: 5px"></div>
|
|
|
<el-input placeholder="在此搜索诊断" style="width: 160px" v-model="ybDiag.name" @click="showSearchData('ybDiag')"></el-input>
|
|
@@ -649,6 +640,9 @@
|
|
|
<el-select v-model="ybDiag.cyzg" style="width: 120px" placeholder="出院转归">
|
|
|
<el-option v-for="item in cyzgs" :key="item.code" :value="item.code" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
+ <el-select v-model="ybDiag.siDiagType" style="width: 100px" placeholder="诊断类别">
|
|
|
+ <el-option v-for="item in diagTypes" :key="item.code" :value="item.code" :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
非手术分值:
|
|
|
<el-input disabled style="width: 70px" v-model="ssfz.code"></el-input>
|
|
|
手术分值:
|
|
@@ -660,6 +654,7 @@
|
|
|
<el-table-column type="index" label="序号" width="45"></el-table-column>
|
|
|
<el-table-column prop="code" label="诊断编码"></el-table-column>
|
|
|
<el-table-column prop="name" label="诊断名称"></el-table-column>
|
|
|
+ <el-table-column prop="siDiagType" label="诊断类别" width="80"></el-table-column>
|
|
|
<el-table-column prop="cyzg" label="转归" width="50"></el-table-column>
|
|
|
<el-table-column prop="operId" label="录入人" width="70"></el-table-column>
|
|
|
<el-table-column prop="opDate" label="录入日期"></el-table-column>
|
|
@@ -669,7 +664,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-divider></el-divider>
|
|
|
+ <div style="height: 12px"></div>
|
|
|
<el-tag type="info">病案首页诊断信息</el-tag>
|
|
|
<el-table :data="patient.disdiagList" stripe :height="200">
|
|
|
<el-table-column type="index" label="序号" width="45"></el-table-column>
|
|
@@ -809,10 +804,11 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import './index.css'
|
|
|
+// import './index.css'
|
|
|
import { yesOrNo, haveOrNot, searchMethods, autopsies, initShowDel, filterDismissStatus, clone } from './common'
|
|
|
import { onMounted, reactive, ref, unref, watchEffect } from 'vue'
|
|
|
import store from '@/store'
|
|
|
+import { initLodop, getLodop } from '@/utils/c-lodop'
|
|
|
import {
|
|
|
doSaveYbDiags,
|
|
|
executePrintVerify,
|
|
@@ -832,7 +828,6 @@ import {
|
|
|
shanChuHuiZhenShenQing,
|
|
|
huiZhenYiSheng,
|
|
|
} from '@/api/case-front-sheet'
|
|
|
-import { caseFrontsheetPrintCss } from '@/data/css-for-print'
|
|
|
import maleIcon from '@/assets/male-icon.png'
|
|
|
import femaleIcon from '@/assets/female-icon.png'
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
@@ -980,10 +975,8 @@ export default {
|
|
|
method: searchMethod.value,
|
|
|
target: searchUrl.value,
|
|
|
content: searchContent.value,
|
|
|
- responceType: patient.value.responceType,
|
|
|
+ medType: patient.value.medType,
|
|
|
page: currentSRPage.value,
|
|
|
- ybType: patient.value.ybType,
|
|
|
- treatType: patient.value.treatType,
|
|
|
}
|
|
|
sheetSearch(param).then((res) => {
|
|
|
searchResults.value = res
|
|
@@ -1004,7 +997,7 @@ export default {
|
|
|
if (nullPatient()) {
|
|
|
return
|
|
|
}
|
|
|
- if (patient.value.responceType === '01') {
|
|
|
+ if (!patient.value.medType) {
|
|
|
ElMessage({
|
|
|
message: '自费病人无需填写医保诊断',
|
|
|
type: 'warning',
|
|
@@ -1084,7 +1077,7 @@ export default {
|
|
|
searchTargetCode.value = 'qualityControlNurse'
|
|
|
searchTargetName.value = 'qualityControlNurseName'
|
|
|
} else if (flag === 'ybDiag') {
|
|
|
- searchUrl.value = 'ybDiag'
|
|
|
+ searchUrl.value = 'diag'
|
|
|
searchTargetCode.value = 'ybDiagCode'
|
|
|
}
|
|
|
showSearch.value = true
|
|
@@ -1110,6 +1103,7 @@ export default {
|
|
|
|
|
|
const ybDiag = reactive({})
|
|
|
const cyzgs = initCyzgs()
|
|
|
+ const diagTypes = initDiagTypes()
|
|
|
const ssfz = reactive({})
|
|
|
const handleSelectSearch = (item) => {
|
|
|
if (searchTargetCode.value.startsWith('surgery')) {
|
|
@@ -1140,7 +1134,7 @@ export default {
|
|
|
patient.value.surgeryList[no].anaesthesiaorName = item.name
|
|
|
break
|
|
|
}
|
|
|
- } else if (searchTargetCode.value.startsWith('disdiagList')) {
|
|
|
+ } else if (searchTargetCode.value.startsWith('disdiags')) {
|
|
|
let no = Number(searchTargetCode.value.replace('disdiagsCode', ''))
|
|
|
if (insertDiag.value) {
|
|
|
for (let i = 26; i > no; i--) {
|
|
@@ -1176,6 +1170,15 @@ export default {
|
|
|
|
|
|
const ybDiags = ref([])
|
|
|
const addToYbDiags = () => {
|
|
|
+ if (!ybDiag.siDiagType) {
|
|
|
+ ElMessage({
|
|
|
+ message: '请选择诊断类别!',
|
|
|
+ type: 'warning',
|
|
|
+ duration: 2500,
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
const temp = clone(ybDiag)
|
|
|
temp.diagType = 13
|
|
|
temp.operId = store.state.user.info.code
|
|
@@ -1306,6 +1309,15 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
+ const dismissShowSearch = (flag) => {
|
|
|
+ setTimeout(() => {
|
|
|
+ if (flag === 1) {
|
|
|
+ showGoSearchBtn1.value = false
|
|
|
+ } else {
|
|
|
+ showGoSearchBtn2.value = false
|
|
|
+ }
|
|
|
+ }, 100)
|
|
|
+ }
|
|
|
const beforePrint = (flag) => {
|
|
|
if (nullPatient()) return
|
|
|
const param = {
|
|
@@ -1340,29 +1352,30 @@ export default {
|
|
|
}
|
|
|
beforePrintSet.value = true
|
|
|
}
|
|
|
- let strStyle
|
|
|
+
|
|
|
+ const prntStyle =
|
|
|
+ "<style>select,input {outline: none;border: none;height: 20px;line-height: 20px;border-radius: 0;background: transparent;border-bottom: 1px solid #333333;-webkit-appearance: none!important;-moz-appearance: none!important;appearance: none!important;} select::-ms-expand {display: none!important;}textarea {outline: none;border: none;background-color: transparent;overflow-y:hidden}input[type='number'] {-moz-appearance: textfield;}table th {border: 1px solid black;text-align: center;}table td {border: 1px solid black;}</style>"
|
|
|
let pagePrint
|
|
|
if (flag === 1) {
|
|
|
- let page0 = '<div class="main-info-parent" id="page0">' + document.getElementById('page0').innerHTML + '</div>'
|
|
|
- strStyle = '<style>' + caseFrontsheetPrintCss + '@page{margin-left:2.5cm;}#page0{overflow-y: hidden;}</style>'
|
|
|
- pagePrint = page0 + '<div id="page1" class="main-info-parent">' + document.getElementById('page1').innerHTML + '</div>'
|
|
|
+ const page0 = '<div>' + document.getElementById('page0').innerHTML + '</div>'
|
|
|
+ const page1 = '<div>' + document.getElementById('page1').innerHTML + '</div>'
|
|
|
+ pagePrint = prntStyle + '<body>' + page0 + page1 + '</body>'
|
|
|
} else {
|
|
|
- strStyle = '<style>' + caseFrontsheetPrintCss + '@page{margin-right: 2.5cm;}</style>'
|
|
|
- pagePrint = '<div id="page2" class="main-info-parent">' + document.getElementById('page2').innerHTML + '</div>'
|
|
|
+ const page2 = '<div>' + document.getElementById('page2').innerHTML + '</div>'
|
|
|
+ pagePrint = prntStyle + '<body>' + page2 + '</body>'
|
|
|
}
|
|
|
- setTimeout(() => {
|
|
|
- let docStr = strStyle + pagePrint
|
|
|
- let newWindow = window.open('打印窗口', '_blank')
|
|
|
- newWindow.document.write(docStr)
|
|
|
- setTimeout(() => {
|
|
|
- newWindow.print()
|
|
|
- newWindow.document.close()
|
|
|
- newWindow.close()
|
|
|
- }, 100)
|
|
|
- }, 300)
|
|
|
+ LODOP = getLodop()
|
|
|
+ LODOP.PRINT_INIT('casefrontsheet')
|
|
|
+ LODOP.SET_PRINT_PAGESIZE(1, '210mm', '297mm', '')
|
|
|
+ LODOP.SET_PRINT_MODE('FULL_WIDTH_FOR_OVERFLOW', true) // 整宽不变形
|
|
|
+ LODOP.ADD_PRINT_HTM('2mm', '5mm', '100%', '100%', pagePrint)
|
|
|
+ LODOP.SET_PRINT_STYLE('ItemType', 3)
|
|
|
+ LODOP.ADD_PRINT_TEXT('280mm', '190mm', '20mm', '2mm', `第${flag}页/共2页`)
|
|
|
+ LODOP.PREVIEW()
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
|
+ initLodop()
|
|
|
getAllDictionary().then((res) => {
|
|
|
dics.value = res
|
|
|
})
|
|
@@ -1529,6 +1542,7 @@ export default {
|
|
|
dics,
|
|
|
showGoSearchBtn1,
|
|
|
showGoSearchBtn2,
|
|
|
+ dismissShowSearch,
|
|
|
showDel,
|
|
|
yesOrNo,
|
|
|
haveOrNot,
|
|
@@ -1567,6 +1581,7 @@ export default {
|
|
|
openYbDiag,
|
|
|
ybDiag,
|
|
|
cyzgs,
|
|
|
+ diagTypes,
|
|
|
ssfz,
|
|
|
ybDiags,
|
|
|
addToYbDiags,
|
|
@@ -1615,6 +1630,15 @@ function initCyzgs() {
|
|
|
]
|
|
|
}
|
|
|
|
|
|
+function initDiagTypes() {
|
|
|
+ return [
|
|
|
+ { code: 1, name: '西医主要诊断' },
|
|
|
+ { code: 2, name: '西医其他诊断' },
|
|
|
+ { code: 3, name: '中医主病诊断' },
|
|
|
+ { code: 4, name: '中医主症诊断' },
|
|
|
+ ]
|
|
|
+}
|
|
|
+
|
|
|
let huiZhenTypeList = [
|
|
|
{ code: 1, name: '主治医师' },
|
|
|
{ code: 2, name: '副主任医生' },
|
|
@@ -1632,3 +1656,37 @@ function hzTypeName(val) {
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+select,
|
|
|
+input {
|
|
|
+ outline: none;
|
|
|
+ border: none;
|
|
|
+ height: 20px;
|
|
|
+ line-height: 20px;
|
|
|
+ border-radius: 0;
|
|
|
+ background: transparent;
|
|
|
+ border-bottom: 1px solid #333333;
|
|
|
+ -webkit-appearance: none;
|
|
|
+ -moz-appearance: none;
|
|
|
+ appearance: none;
|
|
|
+}
|
|
|
+select ::-ms-expand {
|
|
|
+ display: none;
|
|
|
+}
|
|
|
+textarea {
|
|
|
+ outline: none;
|
|
|
+ border: none;
|
|
|
+ background-color: transparent;
|
|
|
+}
|
|
|
+input[type='number'] {
|
|
|
+ -moz-appearance: textfield;
|
|
|
+}
|
|
|
+table th {
|
|
|
+ border: 1px solid black;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+table td {
|
|
|
+ border: 1px solid black;
|
|
|
+}
|
|
|
+</style>
|