Explorar el Código

病案首页修修补补

lighter hace 3 años
padre
commit
3c2809b865

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/data/css-for-print.js


+ 275 - 217
src/views/hospitalization/case-front-sheet/FillCaseFrontSheet.vue

@@ -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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
                 </select>
               </div>
-              <div class="w170">健康卡号: {{ patient.healthCardNo }}</div>
-              <div class="w80">第&nbsp;{{ patient.admissTimes }}&nbsp;次住院</div>
-              <div class="w130">病案号: {{ patient.bah }}</div>
+              <div style="width: 120px; margin-left: 12px">健康卡号: {{ patient.healthCardNo }}</div>
+              <div style="width: 100px">第&nbsp;{{ patient.admissTimes }}&nbsp;次住院</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;</option>
                       </select>
                     </td>
                   </tr>
                 </table>
               </div>
-              &nbsp;
-              <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">&nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.code }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; HCV-Ab
-              <select v-model="patient.hcvAb">
-                <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; HIV-Ab
-              <select v-model="patient.hivAb">
-                <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; TP-Ab
-              <select v-model="patient.tpAb">
+                <option v-for="(item, index) in dics.getHbsag" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ 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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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 />
               &nbsp;&nbsp;手术费:
-              <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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
-              &nbsp;&nbsp;&nbsp;&nbsp;入院与出院
+              入院与出院
               <select v-model="patient.diagConform2">
                 <option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
-              &nbsp;&nbsp;&nbsp;&nbsp;临床与病理
-              <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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
-              &nbsp;&nbsp;&nbsp;&nbsp;放射与病理
+              放射与病理
               <select v-model="patient.diagConform5">
                 <option v-for="(item, index) in dics.getDiagConform" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
             </div>
             <div>
               抢救情况: 抢救
-              <input v-model="patient.rescueTimes" type="number" class="w90" />次, &nbsp;&nbsp;&nbsp;&nbsp;成功
-              <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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
-              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实施重症监护:
+              实施重症监护:
               <select v-model="patient.hasIcu" @change="handleSelectIcu">
                 <option v-for="(item, index) in haveOrNot" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
-              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实施临床路径管理:
-              <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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
-              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 法定传染病:
+              法定传染病:
               <select v-model="patient.statutoryEpidemic">
                 <option v-for="(item, index) in dics.getStatutoryEpidemic" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
               </select>
             </div>
             <div>
               肿瘤分期: T
-              <select v-model="patient.tumorLevelT">
-                <option v-for="(item, index) in dics.getTumorLevelT" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; N
-              <select v-model="patient.tumorLevelN">
-                <option v-for="(item, index) in dics.getTumorLevelN" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; M
-              <select v-model="patient.tumorLevelM">
-                <option v-for="(item, index) in dics.getTumorLevelM" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; 分期
-              <select v-model="patient.tumorLevel">
-                <option v-for="(item, index) in dics.getTumorLevel" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option></select
-              >&nbsp;&nbsp;&nbsp;&nbsp; 新生儿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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</option>
+              </select>
+              分期
+              <select v-model="patient.tumorLevel" style="margin-right: 18px">
+                <option v-for="(item, index) in dics.getTumorLevel" :key="index" :value="item.code">&nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;</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>
       &nbsp;&nbsp; 非手术分值:
       <el-input disabled style="width: 70px" v-model="ssfz.code"></el-input>
       &nbsp; 手术分值:
@@ -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>

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio