Prechádzať zdrojové kódy

中医病案首页保存功能

lighter 3 mesiacov pred
rodič
commit
30745791c7

+ 408 - 0
src/api/case-front-sheet/tcm-sheet.js

@@ -0,0 +1,408 @@
+import request from '../../utils/request'
+
+export function getSheetInfo(data) {
+    return request({
+        url: '/tcmFrontSheet/getSheetInfo',
+        method: 'post',
+        data,
+    })
+}
+
+export function saveTcmSheet(data) {
+    return request({
+        url: '/tcmFrontSheet/saveTcmSheet',
+        method: 'post',
+        data: data,
+    })
+}
+
+
+
+
+
+export function sheetSearch(data) {
+    return request({
+        url: '/sheetSearch/execute',
+        method: 'post',
+        data,
+    })
+}
+
+export function getSsfzSurgeriesByIcd(bah, times, icd) {
+    return request({
+        url: '/sheetSearch/getSsfzSurgeriesByIcd',
+        method: 'get',
+        params: {bah, times, icd},
+    })
+}
+
+export function executePrintVerify(data) {
+    return request({
+        url: '/tcmFrontSheet/printVerify',
+        method: 'post',
+        data: data,
+    })
+}
+
+export function fetchOutPatients(data) {
+    return request({
+        url: '/tcmFrontSheet/outPatients',
+        method: 'post',
+        data: data,
+    })
+}
+
+export function fetchSsfz(code, bah, times) {
+    return request({
+        url: '/tcmFrontSheet/fetchSsfz',
+        method: 'get',
+        params: {code, bah, times},
+    })
+}
+
+export function increaseDiagWeight(code) {
+    return request({
+        url: '/tcmFrontSheet/increaseDiagWeight',
+        method: 'get',
+        params: {code},
+    })
+}
+
+export function selectSiDiagByBaDiag(code) {
+    return request({
+        url: '/tcmFrontSheet/selectSiDiagByBaDiag',
+        method: 'get',
+        params: {code},
+    })
+}
+
+export function getYbDiags(bah, times) {
+    return request({
+        url: '/tcmFrontSheet/getYbDiags',
+        method: 'get',
+        params: {bah, times},
+    })
+}
+
+export function doSaveYbDiags(data) {
+    return request({
+        url: '/tcmFrontSheet/saveYbDiags',
+        method: 'post',
+        data: data,
+    })
+}
+
+export function frontsheetQualityCheck(data) {
+    return request({
+        url: '/tcmFrontSheet/frontsheetQualityCheck',
+        method: 'post',
+        data
+    })
+}
+
+export function isMedinsSetl(patNo, times) {
+    return request({
+        url: '/tcmFrontSheet/isMedinsSetl',
+        method: 'get',
+        params: { patNo, times }
+    })
+}
+
+export function getAllWards() {
+    return request({
+        url: '/tcmFrontSheet/getAllWards',
+        method: 'get',
+    })
+}
+
+export function basOutPatients(data) {
+    return request({
+        url: '/tcmFrontSheet/basOutPatients',
+        method: 'post',
+        data: data,
+    })
+}
+
+export function executeUnArchiveBa(data) {
+    return request({
+        url: '/tcmFrontSheet/unArchiveBa',
+        method: 'post',
+        data: data,
+    })
+}
+
+export function executeAdvanceSearch(data) {
+    return request({
+        url: '/tcmFrontSheet/advanceSearch',
+        method: 'post',
+        data: data,
+    })
+}
+
+export function analyzeDismissCount(data) {
+    return request({
+        url: '/tcmFrontSheet/analyzeDismissCount',
+        method: 'post',
+        data,
+    })
+}
+
+export function gethuiZhenLeiBie() {
+    return request({
+        url: '/huiZhenShenQing/huiZhenLeiBie',
+        method: 'get',
+    })
+}
+
+export function queryDept(code) {
+    return request({
+        url: '/huiZhenShenQing/queryDept',
+        method: 'get',
+        params: {code},
+    })
+}
+
+export function submitHuiZhenShenQing(data) {
+    return request({
+        url: '/huiZhenShenQing/submitHuiZhenShenQing',
+        method: 'post',
+        data,
+    })
+}
+
+export function chaKanHuiZhenShenQing(inpatientNo, admissTimes) {
+    return request({
+        url: '/huiZhenShenQing/chaKanHuiZhenShenQing',
+        method: 'get',
+        params: {inpatientNo, admissTimes},
+    })
+}
+
+export function shanChuHuiZhenShenQing(inpatientNo, admissTimes, actOrderNo, reqTimes) {
+    return request({
+        url: '/huiZhenShenQing/shanChuHuiZhenShenQing',
+        method: 'get',
+        params: {inpatientNo, admissTimes, actOrderNo, reqTimes},
+    })
+}
+
+export function pingJieZhenDuan(inpatientNo, admissTimes) {
+    return request({
+        url: '/huiZhenShenQing/pingJieZhenDuan',
+        method: 'get',
+        params: {inpatientNo, admissTimes},
+    })
+}
+
+export function huiZhenYiSheng(deptCode, hzType) {
+    return request({
+        url: '/huiZhenShenQing/huiZhenYiSheng',
+        method: 'get',
+        params: {deptCode, hzType},
+    })
+}
+
+export function huoQuHuanZheZhuYaoZhenDuan(patNo, times) {
+    return request({
+        url: '/huiZhenShenQing/huoQuHuanZheZhuYaoZhenDuan',
+        method: 'get',
+        params: {patNo, times},
+    })
+}
+
+export function analyzeQualityControl(data) {
+    return request({
+        url: '/tcmFrontSheet/analyzeQualityControl',
+        method: 'post',
+        data,
+    })
+}
+
+export function getConsultingDoctorInfo(searchCondition) {
+    return request({
+        url: '/huiZhenShenQing/getConsultingDoctorInfo',
+        method: 'get',
+        params: {searchCondition},
+    })
+}
+
+export function markDuplicate(data) {
+    return request({
+        url: '/tcmFrontSheet/markDuplicate',
+        method: 'post',
+        data,
+    })
+}
+
+export function markClosedown(data) {
+    return request({
+        url: '/tcmFrontSheet/markClosedown',
+        method: 'post',
+        data,
+    })
+}
+
+export function getMarkStateDetail(bah, times, type) {
+    return request({
+        url: '/tcmFrontSheet/getMarkStateDetail',
+        method: 'get',
+        params: { bah, times, type},
+    })
+}
+
+export function getLendOutDetail(bah, times) {
+    return request({
+        url: '/tcmFrontSheet/getLendOutDetail',
+        method: 'get',
+        params: { bah, times},
+    })
+}
+
+export function signedByDateCount(signDate) {
+    return request({
+        url: '/tcmFrontSheet/signedByDateCount',
+        method: 'get',
+        params: {signDate},
+    })
+}
+
+export function getSimpleSheetForLendOut(bah) {
+    return request({
+        url: '/tcmFrontSheet/getSimpleSheetForLendOut',
+        method: 'get',
+        params: {bah},
+    })
+}
+export function doLendOut(data) {
+    return request({
+        url: '/tcmFrontSheet/doLendOut',
+        method: 'post',
+        data,
+    })
+}
+
+export function getLendOutSheets() {
+    return request({
+        url: '/tcmFrontSheet/getLendOutSheets',
+        method: 'get',
+    })
+}
+
+export function returnLendOutSheet(id) {
+    return request({
+        url: '/tcmFrontSheet/returnLendOutSheet',
+        method: 'get',
+        params: {id},
+    })
+}
+
+export function submitQualityVerification(data) {
+    return request({
+        url: '/tcmFrontSheet/submitQualityVerification',
+        method: 'post',
+        data
+    })
+}
+
+export function fetchQualityVerifications(data) {
+    return request({
+        url: '/tcmFrontSheet/fetchQualityVerifications',
+        method: 'post',
+        data
+    })
+}
+
+export function executeAudit(data) {
+    return request({
+        url: '/tcmFrontSheet/executeAudit',
+        method: 'post',
+        data
+    })
+}
+
+export function revokeApprovedAudit(data) {
+    return request({
+        url: '/tcmFrontSheet/revokeApprovedAudit',
+        method: 'post',
+        data
+    })
+}
+
+export function fetchAuditHistories(data) {
+    return request({
+        url: '/tcmFrontSheet/fetchAuditHistories',
+        method: 'post',
+        data
+    })
+}
+
+export function fetchAuditCount(data) {
+    return request({
+        url: '/tcmFrontSheet/fetchAuditCount',
+        method: 'post',
+        data
+    })
+}
+
+export function getAllSmallDept() {
+    return request({
+        url: '/tcmFrontSheet/getAllSmallDept',
+        method: 'get',
+    })
+}
+
+export function fetchExportData(data) {
+    return request({
+        url: '/tcmFrontSheet/fetchExportData',
+        method: 'post',
+        data
+    })
+}
+
+export function getBaOpLogs(bah, times) {
+    return request({
+        url: '/tcmFrontSheet/getBaOpLogs',
+        method: 'get',
+        params: {bah, times},
+    })
+}
+
+export function fetchSheets(month, isHqms) {
+    return request({
+        url: '/frontSheetExport/fetchSheets',
+        method: 'get',
+        params: {month, isHqms},
+    })
+}
+
+export function getExportableDclData(data) {
+    return request({
+        url: '/frontSheetExport/getExportableDclData',
+        method: 'post',
+        data
+    })
+}
+
+export function fetchLeaderAudit(data) {
+    return request({
+        url: '/tcmFrontSheet/fetchLeaderAudit',
+        method: 'post',
+        data,
+    })
+}
+
+export function submitLeaderAudit(data) {
+    return request({
+        url: '/tcmFrontSheet/submitLeaderAudit',
+        method: 'post',
+        data
+    })
+}
+
+export function fetchLeaderExportData(data) {
+    return request({
+        url: '/tcmFrontSheet/fetchLeaderExportData',
+        method: 'post',
+        data
+    })
+}

+ 2742 - 0
src/views/hospitalization/case-front-sheet/trdtnl-chns/FillChnsSheet.vue

@@ -0,0 +1,2742 @@
+<template>
+  <div class="layout_container fill-sheet">
+    <header class="round-header">
+      <el-select
+          v-model="currentWard"
+          @change="handleWardChange"
+          style="width: 120px"
+          filterable
+      >
+        <el-option
+            v-for="item in userWards"
+            :key="item.code"
+            :value="item.code"
+            :label="item.name"
+        ></el-option>
+      </el-select>
+      <el-select
+          v-model="inOutStatus"
+          style="width: 80px; margin-right: 8px"
+          @change="changeInOutStatus"
+      >
+        <el-option
+            v-for="item in inOutOptions"
+            :key="item.code"
+            :value="item.code"
+            :label="item.name"
+        ></el-option>
+      </el-select>
+      <el-button
+          type="primary"
+          icon="Clock"
+          v-show="inOutStatus === 2"
+          @click="showSelectDateRange = true"
+      >
+        日期范围
+      </el-button>
+      <el-divider direction="vertical"></el-divider>
+      <el-input
+          v-model="inpatientNo"
+          style="width: 110px"
+          placeholder="住院号"
+          clearable
+      ></el-input>
+      <el-button
+          type="primary"
+          icon="Search"
+          @click="searchPatient"
+          style="margin-left: 8px"
+      >搜索患者
+      </el-button>
+      <el-divider direction="vertical"></el-divider>
+      <el-button
+          type="primary"
+          icon="Edit"
+          @click="openYbDiag"
+          v-if="inOutStatus === 1"
+      >
+        医保诊断
+      </el-button>
+      <el-button
+          type="primary"
+          icon="Upload"
+          @click="onSaveTcmSheet"
+      >
+        保存首页
+      </el-button>
+      <el-button
+          type="success"
+          icon="Printer"
+          @click="execPrint(1)"
+      >
+        打印正面
+      </el-button>
+      <el-button
+          type="success"
+          icon="Printer"
+          @click="execPrint(2)"
+      >
+        打印反面
+      </el-button>
+    </header>
+    <div class="layout_main layout_container layout-horizontal">
+      <aside class="layout_el-table">
+        <el-table
+            ref="asideTable"
+            :data="cptOverviews"
+            stripe
+            highlight-current-row
+            @row-click="handleClickOverview"
+        >
+          <el-table-column
+              prop="bedNo"
+              label="床号"
+              width="40"
+          ></el-table-column>
+          <el-table-column label="姓名" width="75">
+            <template #default="scope">
+              <img
+                  class="sex-icon"
+                  :src="scope.row.sex === 1 ? maleIcon : femaleIcon"
+                  alt=""
+              />
+              {{ scope.row.name }}
+            </template>
+          </el-table-column>
+          <el-table-column label="住院号-次数" width="85">
+            <template #default="scope">
+              <span style="font-weight: bold; color: black">
+                {{ scope.row.patNo }}
+              </span>
+              -{{ scope.row.times }}
+            </template>
+          </el-table-column>
+          <el-table-column prop="doctorName" label="医生" width="90">
+            <template #header>
+              <span style="margin-right: 8px">医生</span>
+              <el-checkbox v-model="onlyShowMyPatients">我的</el-checkbox>
+            </template>
+          </el-table-column>
+        </el-table>
+      </aside>
+      <div
+          style="
+          min-width: 800px;
+          padding: 0 20px 0 35px;
+          overflow-y: scroll;
+          position: relative;
+        "
+          id="scrollWrapper"
+      >
+        <div>
+          <div style="width: 100%; font-size: 15px; text-align: center">
+            医疗机构:
+            <span style="font-weight: 700">
+              {{ env.VITE_HOSPITAL_NAME }}
+            </span>
+            ( 组织机构代码:
+            <span style="font-weight: 700">
+              {{ env.VITE_HOSPITAL_CODE }}
+            </span>
+            )
+          </div>
+          <h3 style="width: 100%; font-size: 17px; text-align: center">
+            中 医 住 院 病 案 首 页
+          </h3>
+          <div style="height: 25px; line-height: 25px; display: flex">
+            <div>
+              医疗付费方式:
+              <select
+                  id="payWay"
+                  v-model="patient.payWay"
+                  style="width: 155px"
+              >
+                <option
+                    v-for="(item, index) in dics.getPayMethod"
+                    :key="index"
+                    :value="item.code"
+                >
+                  &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
+                </option>
+              </select>
+            </div>
+            <div style="width: 120px; margin-left: 24px">
+              健康卡号: {{ patient.healthCardNo }}
+            </div>
+            <div style="width: 100px; margin-left: 24px">
+              第&nbsp;{{ patient.times }}&nbsp;次住院
+            </div>
+            <div style="width: 130px;margin-left: 12px">病案号: {{ patient.patNo }}</div>
+          </div>
+        </div>
+        <div id="page1" style="border: 1px solid black; padding: 5px">
+          <div style="display: flex;align-items: end">
+            姓名
+            <input id="name" v-model="patient.name" style="width: 130px;padding-left: 5px"/>
+            <span style="margin-left: 12px">性别</span>
+            <select id="gender" v-model="patient.gender">
+              <option value="0">&nbsp;&nbsp;未知的性别&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;男&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;女&nbsp;&nbsp;</option>
+              <option value="9">&nbsp;&nbsp;未说明的性别&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">出生日期</span>
+            <div id="birthDate" style="display: flex;align-items: end">
+              <input
+                  v-model="patient.birthYear"
+                  style="width: 35px;padding-left: 5px"
+              />
+              年
+              <input
+                  v-model="patient.birthMonth"
+                  style="width: 20px;padding-left: 5px"
+              />
+              月
+              <input
+                  v-model="patient.birthDay"
+                  style="width: 20px;padding-left: 5px"
+              />
+              日
+            </div>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            年龄
+            <input
+                id="age"
+                v-model="patient.age"
+                type="number"
+                style="width: 25px;padding-left: 5px"
+            />
+            岁
+            <span style="margin-left: 12px">国籍</span>
+            <select id="country" v-model="patient.country" style="width: 160px">
+              <option
+                  v-for="(item, index) in dics.getCountry"
+                  :key="index"
+                  :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
+              </option>
+            </select>
+            <span style="margin-left: 12px">(年龄不足1周岁的)年龄</span>
+            <input
+                id="infAge"
+                type="number"
+                v-model="patient.infAge"
+                style="width: 20px;padding-left: 5px"
+            />月
+            <span style="margin-left: 12px">(新生儿年龄≤28天)年龄</span>
+            <input
+                id="nbAge"
+                type="number"
+                v-model="patient.nbAge"
+                style="width: 20px;padding-left: 5px"
+            />天
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            新生儿出生体重 (一孩
+            <input
+                id="nbWeight1"
+                type="number"
+                v-model="patient.nbWeight1"
+                style="width: 40px;padding-left: 5px"
+            />克
+            <span style="margin-left: 12px">二孩</span>
+            <input
+                id="nbWeight2"
+                type="number"
+                v-model="patient.nbWeight2"
+                style="width: 40px;padding-left: 5px"
+            />克)
+            <span style="margin-left: 12px">
+              新生儿入院体重
+            </span>
+            <input
+                id="nbAdmWeight"
+                type="number"
+                v-model="patient.nbAdmWeight"
+                style="width: 50px;padding-left: 5px"
+            />克
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            身份证件类型
+            <select id="certType" v-model="patient.certType" style="width: 160px">
+              <option value="0">
+                &nbsp;&nbsp;居民身份证&nbsp;&nbsp;
+              </option>
+              <option value="1">
+                &nbsp;&nbsp;护照&nbsp;&nbsp;
+              </option>
+              <option value="2">
+                &nbsp;&nbsp;港澳台居民身份证/通行证&nbsp;&nbsp;
+              </option>
+              <option value="4">
+                &nbsp;&nbsp;旅行证据&nbsp;&nbsp;
+              </option>
+              <option value="9">
+                &nbsp;&nbsp;其他&nbsp;&nbsp;
+              </option>
+            </select>
+            <span style="margin-left: 12px">身份证件号码</span>
+            <input id="certNo" v-model="patient.certNo" style="width: 160px;padding-left: 5px"/>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            身份证件不详的具体原因
+            <select id="noCertReason" v-model="patient.noCertReason" style="width: 140px">
+              <option value="1">
+                &nbsp;&nbsp;三无人员&nbsp;&nbsp;
+              </option>
+              <option value="2">
+                &nbsp;&nbsp;新生儿未办理&nbsp;&nbsp;
+              </option>
+              <option value="3">
+                &nbsp;&nbsp;&nbsp;无完全民事行为能力&nbsp;
+              </option>
+              <option value="4">
+                &nbsp;&nbsp;意识障碍&nbsp;&nbsp;
+              </option>
+              <option value="9">
+                &nbsp;&nbsp;其他&nbsp;&nbsp;
+              </option>
+            </select>
+            <input
+                v-if="patient.noCertReason === '9' "
+                placeholder="请输入身份证件不详的原因"
+                id="noCertReasonInput"
+                v-model="patient.noCertReasonInput"
+                style="width: 220px;padding-left: 5px;margin-left: 12px"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            <div id="birthPlace" style="display: flex;align-items: end">
+              出生地
+              <input
+                  id="bpProvince"
+                  v-model="patient.bpProvince"
+                  style="width: 80px;padding-left: 5px"
+              />省(区、市)
+              <input
+                  id="bpCity"
+                  v-model="patient.bpCity"
+                  style="width: 60px;padding-left: 5px"
+              />市
+              <input
+                  id="bpCounty"
+                  v-model="patient.bpCounty"
+                  style="width: 60px;padding-left: 5px"
+              />
+              县
+            </div>
+            <div id="nativePlace" style="display: flex;align-items: end;margin-left: 12px">
+              籍贯
+              <input
+                  id="npProvince"
+                  v-model="patient.npProvince"
+                  style="width: 80px;padding-left: 5px"
+              />省(区、市)
+              <input
+                  id="npCity"
+                  v-model="patient.npCity"
+                  style="width: 60px;padding-left: 5px"
+              />市
+            </div>
+            <span style="margin-left: 12px">民族</span>
+            <select id="nation" v-model="patient.nation">
+              <option
+                  v-for="(item, index) in dics.getNation"
+                  :key="index"
+                  :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
+              </option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            职业
+            <select id="occupation" v-model="patient.occupation">
+              <option
+                  v-for="(item, index) in dics.getOccupation"
+                  :key="index"
+                  :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
+              </option>
+            </select>
+            <span style="margin-left: 12px">婚姻</span>
+            <select id="marriage" v-model="patient.marriage">
+              <option
+                  v-for="(item, index) in dics.getMarriageCode"
+                  :key="index"
+                  :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
+              </option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            <div id="livePlace">
+              现住址
+              <input
+                  id="lpProvince"
+                  v-model="patient.lpProvince"
+                  style="width: 80px;padding-left: 5px"
+              />省(区、市)
+              <input
+                  id="livePlaceCity"
+                  v-model="patient.livePlaceCity"
+                  style="width: 60px;padding-left: 5px"
+              />市
+              <input
+                  id="livePlaceCounty"
+                  v-model="patient.livePlaceCounty"
+                  style="width: 60px;padding-left: 5px"
+              />
+              县
+              <input
+                  id="livePlaceSup"
+                  v-model="patient.livePlaceSup"
+                  style="width: 100px;padding-left: 5px"
+                  placeholder="街道/小区/乡镇"
+              />
+            </div>
+            <span style="margin-left: 12px">电话</span>
+            <input id="phone" v-model="patient.phone" style="width: 90px;padding-left: 5px"/>
+            <span style="margin-left: 12px">邮编</span>
+            <input
+                id="lpZipCode"
+                v-model="patient.lpZipCode"
+                style="width: 70px;padding-left: 5px"
+                maxlength="6"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            <div id="hkPlace">
+              户口地址
+              <input
+                  id="hpProvince"
+                  v-model="patient.hpProvince"
+                  style="width: 80px;padding-left: 5px"
+              />省(区、市)
+              <input
+                  id="hpCity"
+                  v-model="patient.hpCity"
+                  style="width: 60px;padding-left: 5px"
+              />市
+              <input
+                  id="hpCounty"
+                  v-model="patient.hpCounty"
+                  style="width: 60px;padding-left: 5px"
+              />
+              县
+              <input
+                  id="hpSup"
+                  v-model="patient.hpSup"
+                  style="width: 100px;padding-left: 5px"
+                  placeholder="街道/小区/乡镇"
+              />
+            </div>
+            <span style="margin-left: 12px">邮编</span>
+            <input
+                id="hpZipCode"
+                v-model="patient.hpZipCode"
+                style="width: 70px;padding-left: 5px"
+                maxlength="6"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            工作单位及地址
+            <input
+                id="unitName"
+                v-model="patient.unitName"
+                style="width: 145px;padding-left: 5px"
+                placeholder="工作单位名称"
+            />
+            /
+            <input
+                id="unitPlace"
+                v-model.trim="patient.unitPlace"
+                style="width: 145px;padding-left: 5px"
+                placeholder="工作单位地址"
+            />
+            <span style="margin-left: 12px">单位电话</span>
+            <input
+                id="unitPhone"
+                v-model="patient.unitPhone"
+                style="width: 90px;padding-left: 5px"
+            />
+            <span style="margin-left: 12px">邮编</span>
+            <input
+                id="unitZipCode"
+                v-model="patient.unitZipCode"
+                style="width: 50px;padding-left: 5px"
+                maxlength="6"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            联系人姓名
+            <input
+                id="conName"
+                v-model="patient.conName"
+                style="width: 60px;padding-left: 5px"
+            />
+            <span style="margin-left: 12px">关系</span>
+            <select id="conRel" v-model="patient.conRel">
+              <option
+                  v-for="(item, index) in dics.getRelations"
+                  :key="index"
+                  :value="item.code"
+              >
+                &nbsp;&nbsp;{{ item.name }}&nbsp;&nbsp;
+              </option>
+            </select>
+            <span style="margin-left: 12px">地址</span>
+            <input
+                id="conAddr"
+                v-model="patient.conAddr"
+                style="width: 180px;padding-left: 5px"
+            />
+            <span style="margin-left: 12px">电话</span>
+            <input
+                id="conPhone"
+                v-model.trim="patient.conPhone"
+                style="width: 90px;padding-left: 5px"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            入院途径
+            <select id="zyAdmWay" v-model="patient.zyAdmWay">
+              <option value="1">&nbsp;&nbsp;急诊&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;门诊&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;其他医疗机构转入&nbsp;&nbsp;</option>
+              <option value="9">&nbsp;&nbsp;其他&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">治疗类别</span>
+            <select
+                id="treatWay"
+                v-model="patient.treatWay"
+                style="width: 100px"
+            >
+              <option value="1.1">&nbsp;&nbsp;中医&nbsp;&nbsp;</option>
+              <option value="1.2">&nbsp;&nbsp;民族医&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;中西医&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;西医&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            <div id="admissDate">
+              入院时间
+              <input
+                  v-model="patient.admissYear"
+                  readonly
+                  style="width: 30px"
+              />年
+              <input
+                  v-model="patient.admissMonth"
+                  readonly
+                  style="width: 20px"
+              />月
+              <input
+                  v-model="patient.admissDay"
+                  readonly
+                  style="width: 20px"
+              />日
+              <input
+                  v-model="patient.admissHour"
+                  readonly
+                  style="width: 20px"
+              />时
+            </div>
+            <span style="margin-left: 12px">
+              入院科别
+            </span>
+            <input
+                v-model="patient.admissDept"
+                readonly
+                style="width: 120px;padding-left: 5px"
+            />
+            病房
+            <input
+                v-model="patient.admissWard"
+                readonly
+                style="width: 80px;padding-left: 5px"
+            />
+            转科科别
+            <input
+                v-model="patient.transDept"
+                readonly
+                style="width: 120px;padding-left: 5px"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            <div id="dismissDate">
+              出院时间
+              <input
+                  v-model="patient.dismissYear"
+                  readonly
+                  style="width: 30px"
+              />年
+              <input
+                  v-model="patient.dismissMonth"
+                  readonly
+                  style="width: 20px"
+              />月
+              <input
+                  v-model="patient.dismissDay"
+                  readonly
+                  style="width: 20px"
+              />日
+              <input
+                  v-model="patient.dismissHour"
+                  readonly
+                  style="width: 20px"
+              />时
+            </div>
+
+            <span style="margin-left: 12px">出院科别</span>
+            <input
+                v-model="patient.dismissDept"
+                readonly
+                style="width: 120px;padding-left: 5px"
+            />
+            病房
+            <input
+                v-model="patient.dismissWard"
+                readonly
+                style="width: 80px;padding-left: 5px"
+            />
+            实际住院
+            <input
+                id="inHospDays"
+                v-model="patient.inHospDays"
+                style="width: 70px;padding-left: 5px"
+            />天
+          </div>
+          <div id="mzTcmDiag" style="display: flex;align-items: end;margin-top: 4px">
+            门(急)诊诊断(中医诊断)
+            <input
+                v-model="patient.mzTcmDiagName"
+                readonly
+                style="width: 280px;padding-left: 5px"
+                @click="showSearchData('mzTcmDiag')"
+            />
+            疾病编码
+            <input
+                v-model="patient.mzTcmDiagCode"
+                readonly
+                style="width: 110px;padding-left: 5px"
+                @click="showSearchData('mzTcmDiag')"
+            />
+          </div>
+          <div id="mzWstDiag" style="display: flex;align-items: end;margin-top: 4px">
+            门(急)诊诊断(西医诊断)
+            <input
+                v-model="patient.mzWstDiagName"
+                readonly
+                style="width: 280px;padding-left: 5px"
+                @click="showSearchData('mzWstDiag')"
+            />
+            疾病编码
+            <input
+                v-model="patient.mzWstDiagCode"
+                readonly
+                style="width: 110px;padding-left: 5px"
+                @click="showSearchData('mzWstDiag')"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            实施临床路径
+            <select
+                id="usePathway"
+                v-model="patient.usePathway"
+                style="width: 80px"
+            >
+              <option value="1">&nbsp;&nbsp;中医</option>
+              <option value="2">&nbsp;&nbsp;西医</option>
+              <option value="3">&nbsp;&nbsp;否</option>
+            </select>
+
+            <span style="margin-left: 12px">临床路径管理</span>
+            <select
+                id="pathwayMng"
+                v-model="patient.pathwayMng"
+                style="width: 80px"
+            >
+              <option value="1">&nbsp;&nbsp;完成</option>
+              <option value="2">&nbsp;&nbsp;变异</option>
+              <option value="3">&nbsp;&nbsp;退出</option>
+              <option value="4">&nbsp;&nbsp;未入</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            使用医疗机构中药制剂
+            <select
+                id="useTcmPrep"
+                v-model="patient.useTcmPrep"
+                style="width: 60px"
+            >
+              <option value="1">&nbsp;&nbsp;是</option>
+              <option value="2">&nbsp;&nbsp;否</option>
+            </select>
+
+            <span style="margin-left: 12px">使用中医诊疗设备</span>
+            <select
+                id="useTcmEqp"
+                v-model="patient.useTcmEqp"
+                style="width: 60px"
+            >
+              <option value="1">&nbsp;&nbsp;是</option>
+              <option value="2">&nbsp;&nbsp;否</option>
+            </select>
+
+            <span style="margin-left: 12px">使用中医诊疗技术</span>
+            <select
+                id="useTcmTech"
+                v-model="patient.useTcmTech"
+                style="width: 60px"
+            >
+              <option value="1">&nbsp;&nbsp;是</option>
+              <option value="2">&nbsp;&nbsp;否</option>
+            </select>
+
+            <span style="margin-left: 12px">辨证施护</span>
+            <select
+                id="diaNursing"
+                v-model="patient.diaNursing"
+                style="width: 60px"
+            >
+              <option value="1">&nbsp;&nbsp;是</option>
+              <option value="2">&nbsp;&nbsp;否</option>
+            </select>
+          </div>
+          <div
+              id="diagTable"
+              style="
+              height: max-content;
+              width: 720px;
+              margin-top: 2px;
+            "
+          >
+            <table
+                style="
+                  width: 720px;
+                  border: 1px solid black;
+                  border-collapse: collapse;
+                "
+            >
+              <thead>
+              <tr>
+                <th colspan="2" style="width: 190px">出院中医诊断</th>
+                <th style="width: 120px">疾病编码</th>
+                <th style="width: 30px">入院病情</th>
+                <th colspan="2" style="width: 190px">出院西医诊断</th>
+                <th style="width: 120px">疾病编码</th>
+                <th style="width: 30px">入院病情</th>
+                <th style="width: 30px">治疗转归</th>
+              </tr>
+              </thead>
+              <tbody>
+              <tr v-for="n in 6">
+                <td>
+                  <div style="width: 30px">
+                    <span v-if="n===1">主病</span>
+                    <span v-else-if="n===2">主证</span>
+                    <span v-else></span>
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 160px">
+                    <input
+                        style="border: none !important; "
+                        v-model="patient.disdiagList[n-1].tcmName"
+                        @click="onSrchTcmDiagFocus(n-1)"
+                        readonly
+                    />
+                    <div
+                        v-show="showDel[n-1]"
+                        style="text-align: center"
+                    >
+                      <el-button
+                          type="primary"
+                          icon="Edit"
+                          @click="showSearch = true"
+                      >修改
+                      </el-button>
+                    </div>
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 120px">
+                    <input
+                        style="border: none !important"
+                        v-model="patient.disdiagList[n-1].tcmCode"
+                        readonly
+                    />
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 30px">
+                    <select
+                        style="border: none !important"
+                        v-model="patient.disdiagList[n-1].tcmAdmStatus"
+                    >
+                      <option value="1">&nbsp;&nbsp;1&nbsp;&nbsp;</option>
+                      <option value="2">&nbsp;&nbsp;2&nbsp;&nbsp;</option>
+                      <option value="3">&nbsp;&nbsp;3&nbsp;&nbsp;</option>
+                      <option value="4">&nbsp;&nbsp;4&nbsp;&nbsp;</option>
+                    </select>
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 55px">
+                    <span v-if="n===1">主要诊断</span>
+                    <span v-else-if="n===2">其他诊断</span>
+                    <span v-else></span>
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 135px">
+                    <input
+                        style="border: none !important; "
+                        v-model="patient.disdiagList[n-1].wstName"
+                        @click="onSrchWstDiagFocus(n-1)"
+                        readonly
+                    />
+                    <div
+                        v-show="showDel[n-1]"
+                        style="text-align: center"
+                    >
+                      <el-button
+                          type="primary"
+                          icon="Edit"
+                          @click="showSearch = true"
+                      >修改
+                      </el-button>
+                    </div>
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 120px">
+                    <input
+                        style="border: none !important;"
+                        v-model="patient.disdiagList[n-1].wstCode"
+                        readonly
+                    />
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 30px">
+                    <select
+                        style="border: none !important;"
+                        v-model="patient.disdiagList[n-1].wstAdmStatus"
+                        @change="handleSelectCybq"
+                    >
+                      <option value="1">&nbsp;&nbsp;1&nbsp;&nbsp;</option>
+                      <option value="2">&nbsp;&nbsp;2&nbsp;&nbsp;</option>
+                      <option value="3">&nbsp;&nbsp;3&nbsp;&nbsp;</option>
+                      <option value="4">&nbsp;&nbsp;4&nbsp;&nbsp;</option>
+                    </select>
+                  </div>
+                </td>
+                <td>
+                  <div style="width: 30px">
+                    <select
+                        style="border: none !important;"
+                        v-model="patient.disdiagList[n-1].wstDisStatus"
+                        @change="handleSelectCybq"
+                    >
+                      <option value="1">&nbsp;&nbsp;1&nbsp;&nbsp;</option>
+                      <option value="2">&nbsp;&nbsp;2&nbsp;&nbsp;</option>
+                      <option value="3">&nbsp;&nbsp;3&nbsp;&nbsp;</option>
+                      <option value="4">&nbsp;&nbsp;5&nbsp;&nbsp;</option>
+                      <option value="4">&nbsp;&nbsp;9&nbsp;&nbsp;</option>
+                    </select>
+                  </div>
+                </td>
+              </tr>
+              </tbody>
+              <tfoot>
+              <tr>
+                <td colspan="9">
+                  <div style="font-size: 12px">
+                    <span>入院病情:</span>
+                    1.有,2.临床未确定,3.情况不明,4.无
+                    <span style="margin-left: 24px">治疗转归:</span
+                    >1.治愈,2.好转,3.未愈,5.死亡,9.其他
+                  </div>
+                </td>
+              </tr>
+              </tfoot>
+            </table>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            损伤、中毒的外部原因
+            <input
+                id="hurtReasonName"
+                v-model="patient.hurtReasonName"
+                readonly
+                style="width: 360px;padding-left: 5px"
+                @click="showSearchData('hurtReason')"
+            />
+            <span style="margin-left: 12px">疾病编码</span>
+            <input
+                id="hurtReasonCode"
+                v-model="patient.hurtReasonCode"
+                style="width: 110px;padding-left: 5px"
+                readonly
+            />
+            <el-button
+              type="danger"
+              style="margin-left: 5px"
+              circle
+              icon="Delete"
+              @click="clearLine('hurtReason')"
+          ></el-button>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            病理诊断
+            <input
+                id="pthDiagName"
+                v-model="patient.pthDiagName"
+                readonly
+                style="width: 300px;padding-left: 5px"
+                @click="showSearchData('pthDiag')"
+            />
+            <span style="margin-left: 12px">病理编码</span>
+            <input
+                id="pthDiagCode"
+                v-model="patient.pthDiagCode"
+                style="width: 90px;padding-left: 5px"
+                readonly
+            />
+            <span style="margin-left: 12px">病理号</span>
+            <input id="pthNo" v-model="patient.pthNo" style="width: 70px;padding-left: 5px"/>
+            <el-button
+              type="danger"
+              style="margin-left: 5px"
+              circle
+              icon="Delete"
+              @click="clearLine('pathologicDiag')"
+          ></el-button>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            药物过敏
+            <select
+                id="allergy"
+                v-model="patient.allergy"
+                @change="onAllergyChanged"
+            >
+              <option value="">&nbsp;&nbsp;&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;无&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;有&nbsp;&nbsp;</option>
+            </select>
+            ,过敏药物
+            <input
+                id="allergyMed"
+                v-model="patient.allergyMed"
+                style="width: 160px;padding-left: 5px"
+            />
+            <span style="margin-left: 12px;">死亡患者尸检</span>
+            <select id="autopsy" v-model="patient.autopsy">
+              <option value="">&nbsp;&nbsp;&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            血型
+            <select
+                id="bloodType"
+                v-model="patient.bloodType"
+                @change="handleSelectBloodType"
+            >
+              <option value="1">&nbsp;&nbsp;A&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;B&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;O&nbsp;&nbsp;</option>
+              <option value="4">&nbsp;&nbsp;AB&nbsp;&nbsp;</option>
+              <option value="5">&nbsp;&nbsp;不详&nbsp;&nbsp;</option>
+              <option value="6">&nbsp;&nbsp;未查&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">Rh</span>
+            <select id="rh" v-model="patient.rh">
+              <option value="1">&nbsp;&nbsp;阴&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;阳&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;不详&nbsp;&nbsp;</option>
+              <option value="4">&nbsp;&nbsp;未查&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            科主任
+            <input
+                id="kzyName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.kzyName"
+                @click="showSearchData('kzy')"
+            />
+            <span style="margin-left: 12px">主任(副主任)医师</span>
+            <input
+                id="zyfzyDocName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.zyfzyDocName"
+                @click="showSearchData('zyfzyDoc')"
+            />
+            <span style="margin-left: 12px">主治医师</span>
+            <input
+                id="mainDocName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.mainDocName"
+                @click="showSearchData('mainDoc')"
+            />
+            <span style="margin-left: 12px">住院医师</span>
+            <input
+                id="admDocName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.admDocName"
+                @click="showSearchData('admDoc')"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            责任护士
+            <input
+                id="dutyNurName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.dutyNurName"
+                @click="showSearchData('dutyNur')"
+            />
+            <span style="margin-left: 12px">进修医师</span>
+            <input
+                id="jxDocName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.jxDocName"
+                @click="showSearchData('jxDoc')"
+            />
+            <span style="margin-left: 12px">实习医师</span>
+            <input
+                id="sxDocName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.sxDocName"
+                @click="showSearchData('sxDoc')"
+            />
+            <span style="margin-left: 12px">编码员</span>
+            <input
+                id="coderName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.coderName"
+                @click="showSearchData('coder')"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            病案质量
+            <select
+                id="sheetQuality"
+                v-model="patient.sheetQuality"
+            >
+              <option value="1">&nbsp;&nbsp;甲&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;乙&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;丙&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">质控医师</span>
+            <input
+                id="qltyCtrlDocName"
+                readonly
+                style="width: 70px;padding-left: 5px"
+                v-model="patient.qltyCtrlDocName"
+                @click="showSearchData('qltyCtrlDoc')"
+            />
+            <span style="margin-left: 12px">质控护士</span>
+            <input
+                style="width: 70px;padding-left: 5px"
+                readonly
+                v-model="patient.qltyCtrlNurseName"
+                @click="showSearchData('qltyCtrlNurse')"
+            />
+            <span style="margin-left: 12px">质控日期</span>
+            <span id="qltyCtrlDate">
+              <input
+                  style="width: 30px"
+                  v-model="patient.qltyCtrlYear"
+              />
+              年
+              <input
+                  style="width: 20px"
+                  v-model="patient.qltyCtrlMonth"
+              />
+              月
+              <input
+                  style="width: 20px"
+                  v-model="patient.qltyCtrlDay"
+              />
+              日
+            </span>
+          </div>
+        </div>
+        <div id="page2" style="border: 1px solid black; padding: 5px">
+          <table
+              id="surgeryTable"
+              style="border-collapse: collapse; width: 100%; margin-left: -25px"
+          >
+            <thead>
+            <tr>
+              <th rowspan="2" style="border: none"></th>
+              <th rowspan="2">手术及操作编码</th>
+              <th rowspan="2" style="width: 70px">手术及操作日期</th>
+              <th rowspan="2" style="width: 10px">手术级别</th>
+              <th rowspan="2" style="width: 10px">手术类别</th>
+              <th rowspan="2">手术及操作名称</th>
+              <th colspan="3">手术及操作医师</th>
+              <th rowspan="2" style="width: 30px">切口类别</th>
+              <th rowspan="2" style="width: 30px">愈合等级</th>
+              <th rowspan="2">麻醉方式</th>
+              <th rowspan="2">麻醉医师</th>
+            </tr>
+            <tr>
+              <th>术者</th>
+              <th>I助</th>
+              <th>II助</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr v-for="n in defaultSurgerySize" :key="n">
+              <td style="border: none; width: 25px">
+                <div v-if="patient.surgeryList[n - 1].name">
+                  <div
+                      v-if="n > 1"
+                      class="order-arrow"
+                      @click="changeSurgeryOrder(n - 1, n - 2)"
+                  >
+                    ↑
+                  </div>
+                  <div
+                      v-if="n < defaultSurgerySize && patient.surgeryList[n].name"
+                      class="order-arrow"
+                      style="margin-top: 5px"
+                      @click="changeSurgeryOrder(n - 1, n)"
+                  >
+                    ↓
+                  </div>
+                  <div
+                      v-if="n === defaultSurgerySize"
+                      class="order-arrow"
+                      style="margin-top: 4px"
+                      @click="addSurgeSize"
+                  >
+                    +
+                  </div>
+                </div>
+              </td>
+              <td>
+                <input
+                    v-model="patient.surgeryList[n - 1].code"
+                    style="border: none !important; width: 70px"
+                    readonly
+                    @click="onSearchSurgeryFocus(n - 1)"
+                />
+                <div
+                    v-show="showDel[n - 1]"
+                    style="width: 100%; text-align: center"
+                >
+                  <el-button
+                      type="primary"
+                      circle
+                      icon="Edit"
+                      @click="onEditSurgeryClick(n - 1)"
+                  ></el-button>
+                  <el-button
+                      type="danger"
+                      circle
+                      icon="Delete"
+                      @click="deleteSurgery(n - 1)"
+                  ></el-button>
+                </div>
+              </td>
+              <td style="padding: 3px">
+                <input
+                    style="border: none !important; width: 70px"
+                    v-model="patient.surgeryList[n - 1].date"
+                    @click="showPickSurgeryDatetime(n - 1)"
+                    readonly
+                />
+              </td>
+              <td style="text-align-last: center">
+                <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 style="text-align-last: center">
+                <select
+                    style="border: none !important; width: 30px"
+                    v-model="patient.surgeryList[n - 1].type"
+                >
+                  <option value="1">&nbsp;&nbsp;1&nbsp;&nbsp;</option>
+                  <option value="2">&nbsp;&nbsp;2&nbsp;&nbsp;</option>
+                </select>
+              </td>
+              <td style="padding: 3px">
+                <div>
+                  {{ patient.surgeryList[n - 1].name }}
+                </div>
+              </td>
+              <td>
+                <input
+                    style="border: none !important; width: 40px"
+                    v-model="patient.surgeryList[n - 1].operName"
+                    @click="showSearchSurgerior('oper', n)"
+                />
+              </td>
+              <td style="width: 50px">
+                <div style="position: relative">
+                  <input
+                      style="border: none !important; width: 40px"
+                      v-model="patient.surgeryList[n - 1].assistantName1"
+                      @click="showSearchSurgerior('assist1', n)"
+                  />
+                  <div
+                      v-if="patient.surgeryList[n - 1].assistantName1"
+                      style="position: absolute; top: -20px; right: 0"
+                  >
+                    <el-button
+                        type="danger"
+                        circle
+                        icon="Delete"
+                        @click="deleteAssistant1(n - 1)"
+                    ></el-button>
+                  </div>
+                </div>
+              </td>
+              <td style="width: 50px">
+                <div style="position: relative">
+                  <input
+                      style="border: none !important; width: 40px"
+                      v-model="patient.surgeryList[n - 1].assistantName2"
+                      @click="showSearchSurgerior('assist2', n)"
+                  />
+                  <div
+                      v-if="patient.surgeryList[n - 1].assistantName2"
+                      style="position: absolute; top: -20px; right: 0"
+                  >
+                    <el-button
+                        type="danger"
+                        circle
+                        icon="Delete"
+                        @click="deleteAssistant2(n - 1)"
+                    ></el-button>
+                  </div>
+                </div>
+              </td>
+              <td style="text-align-last: center">
+                <select
+                    v-model="patient.surgeryList[n - 1].cut"
+                    style="border: none !important"
+                >
+                  <option value="0">&nbsp;&nbsp;0&nbsp;&nbsp;</option>
+                  <option value="1">&nbsp;&nbsp;1&nbsp;&nbsp;</option>
+                  <option value="2">&nbsp;&nbsp;2&nbsp;&nbsp;</option>
+                  <option value="3">&nbsp;&nbsp;3&nbsp;&nbsp;</option>
+                </select>
+              </td>
+              <td>
+                <select
+                    v-model="patient.surgeryList[n - 1].heal"
+                    style="border: none !important"
+                >
+                  <option value="1">&nbsp;&nbsp;甲&nbsp;&nbsp;</option>
+                  <option value="2">&nbsp;&nbsp;乙&nbsp;&nbsp;</option>
+                  <option value="3">&nbsp;&nbsp;丙&nbsp;&nbsp;</option>
+                  <option value="9">&nbsp;&nbsp;其他&nbsp;&nbsp;</option>
+                </select>
+              </td>
+              <td>
+                <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>
+                <div style="position: relative">
+                  <input
+                      style="border: none !important; width: 40px"
+                      v-model="patient.surgeryList[n - 1].anestorName"
+                      @click="showSearchSurgerior('anaesthesiaor', n)"
+                  />
+                  <div
+                      v-if="patient.surgeryList[n - 1].anestorName"
+                      style="position: absolute; top: -20px; right: 0"
+                  >
+                    <el-button
+                        type="danger"
+                        circle
+                        icon="Delete"
+                        @click="deleteAnestor(n - 1)"
+                    ></el-button>
+                  </div>
+                </div>
+              </td>
+            </tr>
+            </tbody>
+            <tfoot>
+            <tr>
+              <td style="border: none !important;"></td>
+              <td colspan="4">
+                <div>
+                  手术类别:1.择期手术 2.急诊手术
+                </div>
+              </td>
+              <td colspan="8">
+                <div>
+                  切口类别:0. 0类切口 1. Ⅰ类切口 2. Ⅱ类切口 3. Ⅲ类切口
+                </div>
+                <div>
+                  愈合等级:1.甲 2.乙 3.丙 9.其他
+                </div>
+              </td>
+            </tr>
+            </tfoot>
+          </table>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            离院方式
+            <select
+                id="zyDismissWay"
+                v-model="patient.zyDismissWay"
+                @change="onDismissWayChanged"
+            >
+              <option value="1">&nbsp;&nbsp;医嘱离院&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;医嘱转院&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;医嘱转社区卫生服务机构/乡镇卫生院&nbsp;&nbsp;</option>
+              <option value="4">&nbsp;&nbsp;非医嘱离院&nbsp;&nbsp;</option>
+              <option value="5">&nbsp;&nbsp;死亡&nbsp;&nbsp;</option>
+              <option value="9">&nbsp;&nbsp;其他&nbsp;&nbsp;</option>
+            </select>
+            ,拟接收医疗机构名称
+            <input
+                id="dismissDestination"
+                v-model="patient.dismissDestination"
+                style="width: 210px;padding-left: 5px"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            是否有出院31天内再住院计划
+            <select
+                id="admissAgain"
+                v-model="patient.admissAgain"
+                @change="onAdmissAgainChanged"
+            >
+              <option value="1">&nbsp;&nbsp;无&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;有&nbsp;&nbsp;</option>
+            </select>
+            ,目的
+            <input
+                id="admissAgainPurpose"
+                v-model="patient.admissAgainPurpose"
+                style="width: 300px;padding-left: 5px"
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            颅脑损伤患者昏迷时间: 入院前
+            <input
+                id="comaDaysBeforeAdmiss"
+                v-model="patient.comaDaysBeforeAdmiss"
+                style="width: 30px;padding-left: 5px"
+            />天
+            <input
+                id="comaHoursBeforeAdmiss"
+                v-model="patient.comaHoursBeforeAdmiss"
+                style="width: 30px;padding-left: 5px"
+            />小时
+            <input
+                id="comaMinutesBeforeAdmiss"
+                v-model="patient.comaMinutesBeforeAdmiss"
+                style="width: 30px;padding-left: 5px"
+            />分钟
+            <span style="margin-left: 12px;">入院后</span>
+            <input
+                id="comaDaysAfterAdmiss"
+                v-model="patient.comaDaysAfterAdmiss"
+                style="width: 30px;padding-left: 5px"
+            />天
+            <input
+                id="comaHoursAfterAdmiss"
+                v-model="patient.comaHoursAfterAdmiss"
+                style="width: 30px;padding-left: 5px"
+            />小时
+            <input
+                id="comaMinutesAfterAdmiss"
+                v-model="patient.comaMinutesAfterAdmiss"
+                style="width: 30px;padding-left: 5px"
+            />分钟
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            住院费用(元): 总费用
+            <input v-model="patient.totalCost" style="width: 110px;padding-left: 5px" readonly/>
+            (自付金额:
+            <input v-model="patient.selfPay" style="width: 110px;padding-left: 5px" readonly/>)
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            1.综合医疗服务类: (1)一般医疗服务费:
+            <input
+                v-model="patient.ybylfwFee"
+                style="width: 60px;padding-left: 5px"
+                readonly
+            />
+            (中医辨证论治费:
+            <input v-model="patient.zybzlzFee" style="width: 60px;padding-left: 5px"/>
+            中医辨证论治会诊费:
+            <input v-model="patient.zybzlzhzFee" style="width: 60px;padding-left: 5px"/>)
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            (2)一般治疗操作费:
+            <input
+                v-model="patient.ybczzlFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            (3)护理费:
+            <input v-model="patient.nursingFee" style="width: 50px;padding-left: 5px" readonly/>
+            (4)其他费用:
+            <input v-model="patient.elseFee" style="width: 70px;padding-left: 5px" readonly/>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            2.诊断类: (5)病理诊断费:
+            <input
+                v-model="patient.blzdFee"
+                style="width: 60px;padding-left: 5px"
+                readonly
+            />
+            (6)实验室诊断费:
+            <input
+                v-model="patient.syszdFee"
+                style="width: 60px;padding-left: 5px"
+                readonly
+            />
+            (7)影像学诊断费:
+            <input v-model="patient.ctFee" style="width: 60px;padding-left: 5px" readonly/>
+            (8)临床诊断项目费:
+            <input
+                v-model="patient.lczdxmFee"
+                style="width: 60px;padding-left: 5px"
+                readonly
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            3.治疗类: (9)非手术治疗项目费:
+            <input
+                v-model="patient.fsszlxmFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            (临床物理治疗费:
+            <input
+                v-model="patient.lcwlzlFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />)
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            (10)手术治疗费:
+            <input v-model="patient.sszlFee" style="width: 70px;padding-left: 5px" readonly/>
+            (麻醉费:
+            <input
+                v-model="patient.anesthetizeFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            &nbsp;&nbsp;手术费:
+            <input v-model="patient.surgeryFee" style="width: 70px;padding-left: 5px" readonly/>)
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            4.康复类: (11)康复费:
+            <input v-model="patient.recoverFee" style="width: 70px;padding-left: 5px" readonly/>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            5.中医类(中医和民族医医疗服务) (12)中医诊断:
+            <input
+                v-model="patient.tcmDiagFee"
+                style="width: 60px;padding-left: 5px"
+                readonly
+            />
+            (13)中医治疗
+            <input
+                v-model="patient.tcmTreatFee"
+                style="width: 60px;padding-left: 5px"
+                readonly
+            />
+            (中医外治:
+            <input v-model="patient.tcmWzFee" style="width: 60px;padding-left: 5px;"/>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            中医骨伤:
+            <input v-model="patient.tcmGsFee" style="width: 60px;padding-left: 5px;"/>
+            针刺与灸法:
+            <input v-model="patient.tcmZcyjfFee" style="width: 60px;padding-left: 5px;"/>
+            中医推拿治疗:
+            <input v-model="patient.tcmTnzlFee" style="width: 60px;padding-left: 5px;"/>
+            中医肛肠治疗:
+            <input v-model="patient.tcmGczlFee" style="width: 60px;padding-left: 5px;"/>
+            中医特殊治疗:
+            <input v-model="patient.tcmTszlFee" style="width: 60px;padding-left: 5px;"/>
+            )
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            (14)中医其他:
+            <input v-model="patient.tcmOthFee" style="width: 60px;padding-left: 5px"/>
+            (中药特殊调配加工:
+            <input v-model="patient.tcmTstpjgFee" style="width: 60px;padding-left: 5px"/>
+            辨证施膳:
+            <input v-model="patient.tcmBzssFee" style="width: 60px;padding-left: 5px"/>
+            )
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            6.西药类: (15)西药费:
+            <input
+                v-model="patient.westMedicineFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            (抗菌药物费用:
+            <input
+                v-model="patient.kjywFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            )
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            7.中药类: (16)中成药费:
+            <input
+                v-model="patient.zcyFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            (医疗机构中药制剂费:
+            <input
+                v-model="patient.yjlgzyzjFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            )
+            (17)中草药费:
+            <input
+                v-model="patient.herbalFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            8.血液和血液制品类: (18)血费:
+            <input v-model="patient.bloodFee" style="width: 50px;padding-left: 5px" readonly/>
+            (19)白蛋白类制品费:
+            <input
+                v-model="patient.albuminFee"
+                style="width: 50px;padding-left: 5px"
+                readonly
+            />
+            (20)球蛋白类制品费:
+            <input
+                v-model="patient.globulinFee"
+                style="width: 50px;padding-left: 5px"
+                readonly
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            (21)凝血因子类制品费:
+            <input
+                v-model="patient.nxyzlzpFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            (22)细胞因子类制品费:
+            <input
+                v-model="patient.xbyzlzpFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            9.耗材类: (23)检查用一次性医用材料费:
+            <input
+                v-model="patient.jcyycxyyclFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+            (24)治疗用一次性医用材料费:
+            <input
+                v-model="patient.zlyycxyyclFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            (25)手术用一次性医用材料费:
+            <input
+                v-model="patient.ssycxyyclFee"
+                style="width: 70px;padding-left: 5px"
+                readonly
+            />
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            10.其他类: (26)其他费:
+            <input v-model="patient.otherFees" style="width: 70px;padding-left: 5px" readonly/>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            <table style="border-collapse: collapse; width: 100%">
+              <thead>
+              <tr>
+                <th>重症监护室名称</th>
+                <th>进入重症监护室时间( 年 月 日 时 分)</th>
+                <th>转出重症监护室时间( 年 月 日 时 分)</th>
+              </tr>
+              </thead>
+              <tbody>
+              <tr v-for="n in 3">
+                <td>
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                    {{ patient.icuInfoList[n - 1].icuName }}
+                  </div>
+                </td>
+                <td>
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                    {{ patient.icuInfoList[n - 1].startTime }}
+                  </div>
+                </td>
+                <td>
+                  <div style="height: 26px;line-height: 26px;padding-left: 5px">
+                    {{ patient.icuInfoList[n - 1].endTime }}
+                  </div>
+                </td>
+              </tr>
+              </tbody>
+            </table>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            危重病例:
+            <select v-model="patient.wzbl" style="width: 60px">
+              <option value="0">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">疑难病例:</span>
+            <select v-model="patient.ynbl" style="width: 60px">
+              <option value="0">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">MDT病历:</span>
+            <select v-model="patient.mdtbl" style="width: 60px">
+              <option value="0">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            单病种病例:
+            <select v-model="patient.dbzbl" style="width: 60px">
+              <option value="0">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">日间手术病例:</span>
+            <select v-model="patient.rjssbl" style="width: 60px">
+              <option value="0">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+            </select>
+            <span style="margin-left: 12px">教学查房病历:</span>
+            <select v-model="patient.jxcfbl" style="width: 60px">
+              <option value="0">&nbsp;&nbsp;否&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;是&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            诊断符合情况: 门诊与出院
+            <select
+                id="mzycy"
+                v-model="patient.mzycy"
+                style="margin-right: 12px"
+            >
+              <option value="0">&nbsp;&nbsp;未做&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;符合&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;不符合&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;不确定&nbsp;&nbsp;</option>
+            </select>
+            入院与出院
+            <select id="ryycy" v-model="patient.ryycy">
+              <option value="0">&nbsp;&nbsp;未做&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;符合&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;不符合&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;不确定&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            术前与术后
+            <select
+                id="sqysh"
+                v-model="patient.sqysh"
+                style="margin-right: 12px"
+            >
+              <option value="0">&nbsp;&nbsp;未做&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;符合&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;不符合&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;不确定&nbsp;&nbsp;</option>
+            </select>
+            临床与病理
+            <select
+                id="lcybl"
+                v-model="patient.lcybl"
+                style="margin-right: 12px"
+            >
+              <option value="0">&nbsp;&nbsp;未做&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;符合&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;不符合&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;不确定&nbsp;&nbsp;</option>
+            </select>
+            放射与病理
+            <select id="fsybl" v-model="patient.fsybl">
+              <option value="0">&nbsp;&nbsp;未做&nbsp;&nbsp;</option>
+              <option value="1">&nbsp;&nbsp;符合&nbsp;&nbsp;</option>
+              <option value="2">&nbsp;&nbsp;不符合&nbsp;&nbsp;</option>
+              <option value="3">&nbsp;&nbsp;不确定&nbsp;&nbsp;</option>
+            </select>
+          </div>
+          <div style="display: flex;align-items: end;margin-top: 4px">
+            抢救情况: 抢救
+            <input
+                id="rescueTimes"
+                v-model="patient.rescueTimes"
+                type="number"
+                style="width: 90px;padding-left: 5px"
+            />次, 成功
+            <input
+                id="rescueSuccessTimes"
+                v-model="patient.rescueSuccessTimes"
+                type="number"
+                style="width: 90px;padding-left: 5px"
+            />次
+          </div>
+          <div style="display: flex;align-items: center;margin-top: 6px">
+            同城互认:
+            1.无
+            <input type="checkbox" v-model="patient.tchrw"/>
+            <span style="margin-left: 12px">2.影像检查</span>
+            <input type="checkbox" v-model="patient.tchryxjc"/>
+            <span style="margin-left: 12px">3.检验检查</span>
+            <input type="checkbox" v-model="patient.tchrjyjc"/>
+            <span style="margin-left: 12px">4.病理检查</span>
+            <input type="checkbox" v-model="patient.tchrbljc"/>
+            <span style="margin-left: 12px">9.其他</span>
+            <input type="checkbox" v-model="patient.tchrqt"/>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+
+<!--  <div id="headpage" style="opacity: 0; position: fixed">-->
+<!--    <HeadPage :patient="patient" :dics="dics"/>-->
+<!--  </div>-->
+<!--  <div id="tailpage" style="opacity: 0; position: fixed">-->
+<!--    <TailPage :patient="patient" :dics="dics"/>-->
+<!--  </div>-->
+
+  <el-drawer
+      v-model="showMessageDrawer"
+      title="首页保存/打印校验结果"
+      size="260px"
+      modal-class="modal-class"
+  >
+    <div class="page-inner">
+      <div
+          v-if="forceVerifies.length === 0 && adviceVerifies.length === 0"
+          class="no-verify-message"
+      >
+        暂无校验内容
+      </div>
+      <div
+          v-show="forceVerifies.length > 0"
+          style="padding: 8px 0 4px 0; font-weight: bold"
+      >
+        以下条目为强制要求,请完善。
+      </div>
+      <div
+          v-for="(item, index) in forceVerifies"
+          :key="index"
+          class="message-item"
+          :style="messageColor(index)"
+          @click="handleClickMessage(item.code, index)"
+      >
+        {{ index + 1 }}、{{ item.name }}
+      </div>
+      <div
+          v-show="adviceVerifies.length > 0"
+          style="padding: 8px 0 4px 0; font-weight: bold"
+      >
+        以下条目为建议执行,不做强制要求。
+      </div>
+      <div
+          v-for="(item, index) in adviceVerifies"
+          :key="index"
+          style="
+          padding: 6px;
+          margin-bottom: 6px;
+          border-radius: 4px;
+          background: #eea7a752;
+          color: #ff2b2b;
+        "
+      >
+        {{ index + 1 }}、{{ item.name }}
+      </div>
+    </div>
+  </el-drawer>
+  <div class="rightside-btn" @click="showMessageDrawer = !showMessageDrawer">
+    首页保存 / 打印校验结果
+  </div>
+
+  <el-dialog
+      v-model="showSelectDateRange"
+      title="出院日期"
+      width="320px"
+      draggable
+  >
+    <div style="height: 20px"></div>
+    请选择出院日期范围:
+    <div style="height: 10px"></div>
+    <el-date-picker
+        v-model="dateRange"
+        type="daterange"
+        range-separator="至"
+        start-placeholder="开始日期"
+        end-placeholder="结束日期"
+        :shortcuts="shortcuts"
+        style="width: 260px"
+    ></el-date-picker>
+    <div style="margin: 20px 0 10px 0; width: 100%; text-align: right">
+      <el-button type="primary" icon="Check" @click="confirmDateRange"
+      >确定
+      </el-button>
+    </div>
+  </el-dialog>
+  <el-dialog
+      v-model="showYbDiag"
+      title="医保出院诊断"
+      width="60%"
+      top="30px"
+      draggable
+  >
+    <el-tag>患者:{{ patient.name }}</el-tag>
+    <el-tag style="margin-left: 8px"
+    >医疗类别:{{ patient.medTypeName }}
+    </el-tag>
+    <el-tag style="margin-left: 8px">险种类型:{{ patient.insutype }}</el-tag>
+    <div style="height: 5px"></div>
+    <el-input
+        v-model="ybDiag.name"
+        placeholder="在此搜索诊断"
+        readonly
+        style="width: 160px"
+        @click="showSearchData('ybDiag')"
+    ></el-input>
+    <el-input
+        placeholder="诊断编码"
+        disabled
+        style="width: 100px"
+        v-model="ybDiag.code"
+    ></el-input>
+    <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-select
+        v-model="ybDiag.admissCond"
+        style="width: 100px"
+        placeholder="入院病情"
+    >
+      <el-option
+          v-for="item in admissConds"
+          :key="item.code"
+          :value="item.code"
+          :label="item.name"
+      ></el-option>
+    </el-select>
+    <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-divider direction="vertical"></el-divider>
+    <el-button
+        type="primary"
+        icon="Plus"
+        @click="addToYbDiags"
+    >
+      添加
+    </el-button>
+    <el-button
+        type="success"
+        icon="Upload"
+        @click="saveYbDiags"
+    >
+      保存
+    </el-button>
+    <el-table :data="ybDiags" stripe :height="200">
+      <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="admissCond"
+          label="入院病情"
+          width="80"
+      ></el-table-column>
+      <el-table-column
+          prop="cyzg"
+          label="出院转归"
+          width="80"
+      ></el-table-column>
+      <el-table-column
+          prop="operId"
+          label="录入人"
+          width="70"
+      ></el-table-column>
+      <el-table-column prop="opDate" label="录入日期"></el-table-column>
+      <el-table-column label="操作">
+        <template #default="scope">
+          <el-button
+              type="danger"
+              icon="Delete"
+              @click="deleteYbDiag(scope.$index)"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+  </el-dialog>
+  <el-dialog
+      v-model="showSurgeryDatetime"
+      title="请选择手术时间"
+      width="330px"
+      draggable
+  >
+    <div style="height: 12px"></div>
+    <el-date-picker
+        v-model="surgeryDatetime"
+        type="datetime"
+        placeholder="手术开始时间"
+    ></el-date-picker>
+    <template #footer>
+      <div>
+        <el-button
+            type="primary"
+            icon="Success"
+            @click="confirmSurgeryDatetime"
+        >
+          确定
+        </el-button>
+      </div>
+    </template>
+  </el-dialog>
+  <Search
+      v-if="showSearch"
+      width="500px"
+      :target="searchTarget"
+      title="数据搜索"
+      @close="showSearch = false"
+      @click-item="handleSelectSearch"
+      :show-emp-dept="searchTarget === 'physician'"
+      :show-yb-code="searchTarget === 'physician'"
+  />
+</template>
+
+<script setup name="FillCaseFrontSheet">
+import {
+  autopsies,
+  clone,
+  haveOrNot,
+  initShowDel,
+  yesOrNo,
+} from "../common";
+import {operations} from "@/data";
+import {getLodop, initLodop} from "@/utils/c-lodop";
+import {
+  doSaveYbDiags,
+  fetchOutPatients,
+  getAllDictionary,
+  getPatientOverview,
+  getUserWards,
+  getYbDiags,
+} from "@/api/case-front-sheet";
+import maleIcon from "@/assets/male-icon.png";
+import femaleIcon from "@/assets/female-icon.png";
+import {shortcuts} from "@/data/shortcuts";
+import {
+  formatDate,
+  formatDatetime,
+  getDatetime,
+  getOneMonthOffset,
+} from "@/utils/date";
+import HeadPage from "../../../../components/inpatient/frontsheet-printpage/HeadPage.vue";
+import TailPage from "../../../../components/inpatient/frontsheet-printpage/TailPage.vue";
+import {smoothScrollTableColumn} from "@/utils/el-table-scroll";
+import {xcMessage} from "@/utils/xiaochan-element-plus";
+import {useUserStore} from "@/pinia/user-store";
+import env from "../../../../utils/setting";
+import {getSheetInfo, saveTcmSheet} from "@/api/case-front-sheet/tcm-sheet.js";
+import Search from '@/components/search/Index.vue'
+
+const userStore = useUserStore();
+const userWards = ref([]);
+const currentWard = ref("");
+const inOutStatus = ref(1);
+const inOutOptions = initInOutOptions();
+const inpatientNo = ref("");
+const onlyShowMyPatients = ref(false);
+const overview = ref([]);
+const patient = ref({
+  disdiagList: [{}, {}, {}, {}, {}, {}],
+  surgeryList: [{}, {}, {}, {}, {}, {}, {}],
+  icuInfoList: [{}, {}, {}],
+  supplement: {}
+});
+const defaultSurgerySize = ref(7);
+const dics = ref({});
+const showDel = initShowDel();
+const asideTable = ref(null);
+
+function addSurgeSize() {
+  patient.value.surgeryList.push({});
+  defaultSurgerySize.value += 1;
+}
+
+const cptOverviews = computed(() => {
+  return overview.value.filter(item => {
+    if (onlyShowMyPatients.value) {
+      return item.doctorCode === userStore.userInfo.code;
+    }
+    return true;
+  });
+});
+
+const searchPatient = () => {
+  if (!inpatientNo.value || inpatientNo.value.trim().length < 1) {
+    xcMessage.warning("请输入要搜索的住院号")
+    return;
+  }
+
+  const patientIndex = overview.value.findIndex(item => {
+    return item.patNo === inpatientNo.value.trim();
+  });
+  if (patientIndex === -1) {
+    xcMessage.warning("未找到住院号【" + inpatientNo.value.trim() + "】的患者信息")
+  } else {
+    const currentPatient = overview.value[patientIndex];
+    handleClickOverview(currentPatient);
+    smoothScrollTableColumn(asideTable.value, patientIndex, currentPatient);
+  }
+};
+
+function onSaveTcmSheet() {
+  saveTcmSheet(patient.value).then(res => {
+    patient.value.id = res;
+    xcMessage.success('保存成功')
+  })
+}
+
+const handleWardChange = () => {
+  if (inOutStatus.value === 1) {
+    fetchOverview();
+  } else {
+    confirmDateRange();
+  }
+};
+
+const dateRange = ref([]);
+const showSelectDateRange = ref(false);
+const changeInOutStatus = () => {
+  if (inOutStatus.value === 1) {
+    fetchOverview();
+  } else {
+    if (!dateRange.value || dateRange.value.length < 2) {
+      const oneMonth = getOneMonthOffset();
+      dateRange.value[0] = oneMonth.start;
+      dateRange.value[1] = oneMonth.end;
+    }
+    showSelectDateRange.value = true;
+  }
+};
+const confirmDateRange = () => {
+  if (!dateRange.value || dateRange.value.length < 2) {
+    xcMessage.warning("请选择时间范围")
+    return;
+  }
+  const param = {
+    ward: currentWard.value,
+    start: formatDate(dateRange.value[0]),
+    end: formatDate(dateRange.value[1]),
+  };
+  fetchOutPatients(param).then(res => {
+    overview.value = res;
+    showSelectDateRange.value = false;
+  });
+};
+
+const fetchOverview = () => {
+  getPatientOverview(currentWard.value).then(res => {
+    overview.value = res;
+  });
+};
+
+const currentRow = ref({});
+
+const handleClickOverview = row => {
+  currentRow.value = row;
+  fetchSheetInfo(row);
+};
+
+const fetchSheetInfo = row => {
+  if (
+      row.patNo !== patient.value.patNo ||
+      row.times !== patient.value.times
+  ) {
+    forceVerifies.value = [];
+    adviceVerifies.value = [];
+  }
+  row.inOutFlag = inOutStatus.value;
+  getSheetInfo(row).then(res => {
+    let s = res.surgeryList.length;
+    if (defaultSurgerySize.value - s > 0) {
+      for (let i = 0; i < defaultSurgerySize.value - s; i++) {
+        res.surgeryList.push({})
+      }
+    }
+    defaultSurgerySize.value = s > 7 ? s : 7;
+    patient.value = res;
+    patient.value.bedNo = row.bedNo;
+    patient.value.sex = row.sex;
+  });
+};
+
+const showSearch = ref(false);
+const insertDiag = ref(false);
+watchEffect(() => {
+  if (showSearch.value) {
+    setTimeout(() => {
+      showDel.value = initShowDel();
+    }, 300);
+  } else {
+    insertDiag.value = false;
+  }
+});
+
+
+const showYbDiag = ref(false);
+const openYbDiag = () => {
+  if (nullPatient()) {
+    return;
+  }
+  getYbDiags(patient.value.patNo, patient.value.times).then(res => {
+    ybDiags.value = res;
+    showYbDiag.value = true;
+  });
+};
+
+const searchTarget = ref("");
+const searchTargetCode = ref("");
+const searchTargetName = ref("");
+const showSearchData = flag => {
+  mainSurgeryFocused.value = false;
+  if (flag === "hurtReason") {
+    searchTarget.value = "hurtReason";
+    searchTargetCode.value = "hurtReasonCode";
+    searchTargetName.value = "hurtReasonName";
+  } else if (flag === "pthDiag") {
+    searchTarget.value = "pthDiag";
+    searchTargetCode.value = "pthDiagCode";
+    searchTargetName.value = "pthDiagName";
+  } else if (flag === "kzy") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "kzy";
+    searchTargetName.value = "kzyName";
+  } else if (flag === "zyfzyDoc") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "zyfzyDoc";
+    searchTargetName.value = "zyfzyDocName";
+  } else if (flag === "mainDoc") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "mainDoc";
+    searchTargetName.value = "mainDocName";
+  } else if (flag === "admDoc") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "admDoc";
+    searchTargetName.value = "admDocName";
+  } else if (flag === "dutyNur") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "dutyNur";
+    searchTargetName.value = "dutyNurName";
+  } else if (flag === "jxDoc") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "jxDoc";
+    searchTargetName.value = "jxDocName";
+  } else if (flag === "sxDoc") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "sxDoc";
+    searchTargetName.value = "sxDocName";
+  } else if (flag === "coder") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "coder";
+    searchTargetName.value = "coderName";
+  } else if (flag === "qltyCtrlDoc") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "qltyCtrlDoc";
+    searchTargetName.value = "qltyCtrlDocName";
+  } else if (flag === "qltyCtrlNurse") {
+    searchTarget.value = "physician";
+    searchTargetCode.value = "qltyCtrlNurse";
+    searchTargetName.value = "qltyCtrlNurseName";
+  } else if (flag === "ybDiag") {
+    searchTarget.value = "diag";
+    searchTargetCode.value = "ybDiagCode";
+  } else if (flag === "mzWstDiag") {
+    searchTarget.value = "icd10";
+    searchTargetCode.value = "mzWstDiagCode";
+    searchTargetName.value = "mzWstDiagName";
+  } else if (flag === "mzTcmDiag") {
+    searchTarget.value = "tcmDiag";
+    searchTargetCode.value = "mzTcmDiagCode";
+    searchTargetName.value = "mzTcmDiagName";
+  }
+  showSearch.value = true;
+};
+const onSrchTcmDiagFocus = n => {
+  mainSurgeryFocused.value = false;
+  if (n > 0 && !patient.value.disdiagList[n - 1].tcmCode) {
+    xcMessage.warning("请按顺序填写")
+    return;
+  }
+  searchTarget.value = "tcmDiag";
+  searchTargetCode.value = "disdiagTcmCode" + n;
+  searchTargetName.value = "disdiagTcmName" + n;
+  if (!patient.value.disdiagList[n].code) {
+    showSearch.value = true;
+  } else {
+    showDel.value[n] = true;
+  }
+};
+const onSrchWstDiagFocus = n => {
+  mainSurgeryFocused.value = false;
+  if (n > 0 && !patient.value.disdiagList[n - 1].wstCode) {
+    xcMessage.warning("请按顺序填写")
+    return;
+  }
+  searchTarget.value = "icd10";
+  searchTargetCode.value = "disdiagWsgCode" + n;
+  searchTargetName.value = "disdiagWstName" + n;
+  if (!patient.value.disdiagList[n].code) {
+    showSearch.value = true;
+  } else {
+    showDel.value[n] = true;
+  }
+}
+const showSearchSurgerior = (flag, index) => {
+  mainSurgeryFocused.value = false;
+  if (flag === "oper") {
+    searchTargetCode.value = "surgeryOper" + (index - 1);
+  } else if (flag === "assist1") {
+    searchTargetCode.value = "surgeryAssist1" + (index - 1);
+  } else if (flag === "assist2") {
+    searchTargetCode.value = "surgeryAssist2" + (index - 1);
+  } else {
+    searchTargetCode.value = "surgeryAnestor" + (index - 1);
+  }
+  searchTarget.value = "physician";
+  showSearch.value = true;
+};
+
+const handleSelectSearch = item => {
+  if (searchTargetCode.value.startsWith("surgery")) {
+    let offset = defaultSurgerySize.value > 10 ? 2 : 1;
+    let no = searchTargetCode.value.substr(
+        searchTargetCode.value.length - offset
+    );
+    switch (
+        searchTargetCode.value.substr(0, searchTargetCode.value.length - offset)
+      ) {
+      case "surgeryCode":
+        if (no > 0) {
+          patient.value.surgeryList[no] = clone(
+              patient.value.surgeryList[no - 1]
+          );
+        }
+        patient.value.surgeryList[no].sortNo = no;
+        patient.value.surgeryList[no].code = item.code;
+        patient.value.surgeryList[no].name = item.name;
+        patient.value.surgeryList[no].level = item.opScale;
+        break;
+      case "surgeryOper":
+        patient.value.surgeryList[no].operCode = item.code;
+        patient.value.surgeryList[no].operName = item.name;
+        break;
+      case "surgeryAssist1":
+        patient.value.surgeryList[no].assistantCode1 = item.code;
+        patient.value.surgeryList[no].assistantName1 = item.name;
+        break;
+      case "surgeryAssist2":
+        patient.value.surgeryList[no].assistantCode2 = item.code;
+        patient.value.surgeryList[no].assistantName2 = item.name;
+        break;
+      case "surgeryAnestor":
+        patient.value.surgeryList[no].anestorCode = item.code;
+        patient.value.surgeryList[no].anestorName = item.name;
+        break;
+    }
+  } else if (searchTargetCode.value.startsWith("disdiag")) {
+    let no = Number(searchTargetCode.value.substr(searchTargetCode.value.length - 1));
+    if (insertDiag.value) {
+      for (let i = 6; i > no; i--) {
+        patient.value.disdiagList[i] = clone(patient.value.disdiagList[i - 1]);
+      }
+      patient.value.disdiagList.splice(6);
+      insertDiag.value = false;
+    }
+    patient.value.disdiagList[no].sortNo = no;
+    if (searchTargetCode.value.startsWith("disdiagTcm")) {
+      patient.value.disdiagList[no].tcmCode = item.code;
+      patient.value.disdiagList[no].tcmName = item.name;
+    } else {
+      patient.value.disdiagList[no].wstCode = item.code;
+      patient.value.disdiagList[no].wstName = item.name;
+    }
+  } else if (searchTargetCode.value === "ybDiagCode") {
+    ybDiag.code = item.code;
+    ybDiag.name = item.name;
+    ybDiag.cyzg = 0;
+    ybDiag.siDiagType = 1;
+  } else {
+    patient.value[searchTargetCode.value] = item.code;
+    patient.value[searchTargetName.value] = item.name;
+  }
+  showSearch.value = false;
+};
+
+
+const showSurgeryDatetime = ref(false);
+const surgeryDatetime = ref(null);
+const currentSurgeryDatetimeIndex = ref(null);
+const showPickSurgeryDatetime = index => {
+  currentSurgeryDatetimeIndex.value = index;
+  let surgery = patient.value.surgeryList[index];
+  surgeryDatetime.value = surgery.date;
+  showSurgeryDatetime.value = true;
+};
+const confirmSurgeryDatetime = () => {
+  if (!surgeryDatetime.value) {
+    xcMessage.warning("手术开始时间不能为空!")
+    return;
+  }
+  patient.value.surgeryList[currentSurgeryDatetimeIndex.value].date =
+      formatDatetime(surgeryDatetime.value);
+  showSurgeryDatetime.value = false;
+};
+
+const ybDiag = reactive({});
+const cyzgs = initCyzgs();
+const admissConds = initAdmissConds();
+const diagTypes = initDiagTypes();
+
+
+
+const clearLine = option => {
+  switch (option) {
+    case "hurtReason":
+      patient.value.hurtReasonName = null;
+      patient.value.hurtReasonCode = null;
+      break;
+    case "pathologicDiag":
+      patient.value.pthDiagName = null;
+      patient.value.pthDiagCode = null;
+      patient.value.pthNo = null;
+      break;
+  }
+};
+
+const ybDiags = ref([]);
+const addToYbDiags = () => {
+  if (!ybDiag.siDiagType) {
+    xcMessage.warning("请选择诊断类别!")
+    return;
+  }
+  if (!ybDiag.admissCond) {
+    xcMessage.warning("请选择入院病情!")
+    return;
+  }
+  const temp = clone(ybDiag);
+  temp.diagType = 13;
+  temp.operId = userStore.userInfo.code;
+  temp.opDate = getDatetime();
+  temp.bzfx = "普通";
+  ybDiags.value.push(temp);
+  ybDiag.code = ybDiag.name = ybDiag.cyzg = "";
+};
+const deleteYbDiag = index => {
+  ybDiags.value.splice(index, 1);
+};
+const saveYbDiags = () => {
+  const param = {
+    patNo: patient.value.patNo,
+    times: patient.value.times,
+    ybDiags: ybDiags.value,
+  };
+  doSaveYbDiags(param).then(() => {
+    xcMessage.success("保存成功")
+  });
+};
+
+
+
+const mainSurgeryFocused = ref(false);
+const onSearchSurgeryFocus = n => {
+  if (n > 0 && !patient.value.surgeryList[n - 1].code) {
+    xcMessage.warning("请按顺序填写")
+    return;
+  }
+  mainSurgeryFocused.value = false;
+  searchTarget.value = "surgery";
+  searchTargetCode.value = "surgeryCode" + n;
+  searchTargetName.value = "surgeryName" + n;
+  if (!patient.value.surgeryList[n].code) {
+    if (n === 0 && patient.value.disdiagList[0].code) {
+      mainSurgeryFocused.value = true;
+    }
+    showSearch.value = true;
+  } else {
+    showDel.value[n] = true;
+  }
+};
+
+const onEditSurgeryClick = n => {
+  showSearch.value = true;
+  if (n === 0 && patient.value.disdiagList[0].code) {
+    mainSurgeryFocused.value = true;
+  } else {
+    mainSurgeryFocused.value = false;
+  }
+};
+
+
+
+function changeSurgeryOrder(currentIndex, newIndex) {
+  let temp = patient.value.surgeryList[currentIndex];
+  patient.value.surgeryList[currentIndex] = patient.value.surgeryList[newIndex];
+  patient.value.surgeryList[newIndex] = temp;
+}
+
+const deleteSurgery = index => {
+  showDel.value[index] = false;
+  while (index < defaultSurgerySize.value - 1) {
+    patient.value.surgeryList[index] = patient.value.surgeryList[index + 1];
+    index++;
+  }
+  patient.value.surgeryList[defaultSurgerySize.value - 1] = {};
+  patient.value.surgeryList.splice(defaultSurgerySize.value);
+  if (defaultSurgerySize.value > 5) {
+    defaultSurgerySize.value -= 1;
+  }
+};
+
+const deleteAssistant1 = index => {
+  patient.value.surgeryList[index].assistantCode1 = null;
+  patient.value.surgeryList[index].assistantName1 = null;
+};
+
+const deleteAssistant2 = index => {
+  patient.value.surgeryList[index].assistantCode2 = null;
+  patient.value.surgeryList[index].assistantName2 = null;
+};
+
+const deleteAnestor = index => {
+  patient.value.surgeryList[index].anestorCode = null;
+  patient.value.surgeryList[index].anestorName = null;
+};
+
+const nullPatient = () => {
+  if (!patient.value.patNo) {
+    xcMessage.warning("请先选择患者!")
+    return true;
+  }
+  return false;
+};
+
+const forceVerifies = ref([]);
+const adviceVerifies = ref([]);
+const currentMessageIndex = ref(null);
+const messageColor = id => {
+  return currentMessageIndex.value === id
+      ? {
+        background: "#ff2b2b",
+        color: "white",
+      }
+      : {
+        background: "#eea7a752",
+        color: "#ff2b2b",
+      };
+};
+const scrollWrapper = ref(null);
+const handleClickMessage = (id, index) => {
+  currentMessageIndex.value = index;
+  let ele = document.getElementById(id);
+  scrollWrapper.value.scrollTop = ele.offsetTop - 260;
+
+  let i = 0;
+  let timer = setInterval(() => {
+    ele.style.background = i % 2 === 0 ? "rgb(238, 98, 5)" : "transparent";
+    i++;
+    if (i > 7) {
+      clearInterval(timer);
+    }
+  }, 500);
+};
+
+const showMessageDrawer = ref(false);
+
+
+
+
+
+
+const execPrint = page => {
+  const LODOP = getLodop();
+  const prntStyle = `<style>*{font-size:10pt} table,th,td {border: 1px solid black;border-collapse: collapse;} td,th {height: 24px;padding-left: 4px;}</style>`;
+  const prntContent =
+      page === 1
+          ? document.getElementById("headpage").innerHTML
+          : document.getElementById("tailpage").innerHTML;
+  let pagePrint = prntStyle + "<body>" + prntContent + "</body>";
+  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.PREVIEW();
+};
+
+
+onMounted(() => {
+  scrollWrapper.value = document.getElementById("scrollWrapper");
+  initLodop();
+  getAllDictionary().then(res => {
+    res.getOperations = operations;
+    res.getYesOrNo = yesOrNo;
+    res.getHaveOrNot = haveOrNot;
+    res.getAutopsies = autopsies;
+    dics.value = res;
+  });
+  getUserWards().then(res => {
+    userWards.value = res;
+    if (res.length > 0) {
+      currentWard.value = res[0].code;
+      fetchOverview();
+    }
+  });
+});
+
+function initInOutOptions() {
+  return [
+    {code: 1, name: "在院"},
+    {code: 2, name: "出院"},
+  ];
+}
+
+function initCyzgs() {
+  return [
+    {code: 0, name: "好转/治愈"},
+    {code: 1, name: "未愈"},
+    {code: 2, name: "转院(医院要求)"},
+    {code: 3, name: "转院(病人要求)"},
+    {code: 4, name: "转科"},
+    {code: 5, name: "无效"},
+    {code: 6, name: "死亡"},
+    {code: 7, name: "双向转诊"},
+    {code: 9, name: "其他"},
+  ];
+}
+
+function initAdmissConds() {
+  return [
+    {code: 1, name: "有"},
+    {code: 2, name: "临床未确定"},
+    {code: 3, name: "情况不明"},
+    {code: 4, name: "无"},
+  ];
+}
+
+function initDiagTypes() {
+  return [
+    {code: 1, name: "西医诊断"},
+    {code: 2, name: "中医主病诊断"},
+    {code: 3, name: "中医主症诊断"},
+  ];
+}
+</script>
+
+<style scoped>
+:deep(.el-dialog__body) {
+  padding-top: 8px;
+}
+
+:deep(.el-drawer) {
+  border: 1px solid orange;
+}
+
+:deep(.el-drawer .el-icon) {
+  font-size: 20px;
+  color: orangered;
+}
+
+:deep(.el-drawer__header) {
+  margin-bottom: 8px;
+}
+
+:deep(.el-dialog__header) {
+  padding-bottom: 4px;
+}
+
+:deep(.el-checkbox__label) {
+  padding-left: 2px;
+}
+
+select,
+input:not([type="checkbox"]){
+  outline: none;
+  border: none;
+  border-radius: 0;
+  background: transparent;
+  border-bottom: 1px solid #333333;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  appearance: none;
+}
+
+input[type="number"] {
+  -moz-appearance: textfield;
+}
+
+select ::-ms-expand {
+  display: none;
+}
+
+textarea {
+  outline: none;
+  border: none;
+  background-color: transparent;
+}
+
+table th {
+  border: 1px solid black;
+  text-align: center;
+}
+
+table td {
+  border: 1px solid black;
+}
+
+.page-inner {
+  padding: 0 20px 10px 26px;
+  border-radius: 12px;
+  text-align: justify;
+}
+
+.message-item {
+  padding: 6px;
+  margin-bottom: 6px;
+  border-radius: 4px;
+}
+
+.message-item:hover {
+  cursor: pointer;
+}
+
+.rightside-btn {
+  display: flex;
+  align-items: center;
+  text-align: center;
+  color: white;
+  border-radius: 4px;
+  width: 20px;
+  height: 185px;
+  position: fixed;
+  background: rgb(238, 98, 5);
+  top: 260px;
+  right: 10px;
+  cursor: pointer;
+}
+
+.no-verify-message {
+  width: 100%;
+  text-align: center;
+  margin-top: 50px;
+  font-size: 18px;
+  color: gray;
+}
+
+:deep(.m-drawer .el-overlay) {
+  right: 0;
+  left: calc(100vw - 260px);
+  background: transparent !important;
+}
+
+:deep(#livePlace .el-input__wrapper) {
+  background: transparent;
+  border: none;
+  box-shadow: none;
+  border-radius: 0;
+  border-bottom: 1px solid black;
+  color: black;
+}
+
+:deep(#livePlace .el-input__inner) {
+  color: black;
+}
+
+.order-arrow {
+  font-size: 16px;
+  cursor: pointer;
+}
+
+.order-arrow:hover {
+  color: #0a84fd;
+}
+</style>