|
@@ -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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div style="width: 120px; margin-left: 24px">
|
|
|
+ 健康卡号: {{ patient.healthCardNo }}
|
|
|
+ </div>
|
|
|
+ <div style="width: 100px; margin-left: 24px">
|
|
|
+ 第 {{ patient.times }} 次住院
|
|
|
+ </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"> 未知的性别 </option>
|
|
|
+ <option value="1"> 男 </option>
|
|
|
+ <option value="2"> 女 </option>
|
|
|
+ <option value="9"> 未说明的性别 </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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </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">
|
|
|
+ 居民身份证
|
|
|
+ </option>
|
|
|
+ <option value="1">
|
|
|
+ 护照
|
|
|
+ </option>
|
|
|
+ <option value="2">
|
|
|
+ 港澳台居民身份证/通行证
|
|
|
+ </option>
|
|
|
+ <option value="4">
|
|
|
+ 旅行证据
|
|
|
+ </option>
|
|
|
+ <option value="9">
|
|
|
+ 其他
|
|
|
+ </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">
|
|
|
+ 三无人员
|
|
|
+ </option>
|
|
|
+ <option value="2">
|
|
|
+ 新生儿未办理
|
|
|
+ </option>
|
|
|
+ <option value="3">
|
|
|
+ 无完全民事行为能力
|
|
|
+ </option>
|
|
|
+ <option value="4">
|
|
|
+ 意识障碍
|
|
|
+ </option>
|
|
|
+ <option value="9">
|
|
|
+ 其他
|
|
|
+ </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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </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"> 急诊 </option>
|
|
|
+ <option value="2"> 门诊 </option>
|
|
|
+ <option value="3"> 其他医疗机构转入 </option>
|
|
|
+ <option value="9"> 其他 </option>
|
|
|
+ </select>
|
|
|
+ <span style="margin-left: 12px">治疗类别</span>
|
|
|
+ <select
|
|
|
+ id="treatWay"
|
|
|
+ v-model="patient.treatWay"
|
|
|
+ style="width: 100px"
|
|
|
+ >
|
|
|
+ <option value="1.1"> 中医 </option>
|
|
|
+ <option value="1.2"> 民族医 </option>
|
|
|
+ <option value="2"> 中西医 </option>
|
|
|
+ <option value="3"> 西医 </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"> 中医</option>
|
|
|
+ <option value="2"> 西医</option>
|
|
|
+ <option value="3"> 否</option>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <span style="margin-left: 12px">临床路径管理</span>
|
|
|
+ <select
|
|
|
+ id="pathwayMng"
|
|
|
+ v-model="patient.pathwayMng"
|
|
|
+ style="width: 80px"
|
|
|
+ >
|
|
|
+ <option value="1"> 完成</option>
|
|
|
+ <option value="2"> 变异</option>
|
|
|
+ <option value="3"> 退出</option>
|
|
|
+ <option value="4"> 未入</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"> 是</option>
|
|
|
+ <option value="2"> 否</option>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <span style="margin-left: 12px">使用中医诊疗设备</span>
|
|
|
+ <select
|
|
|
+ id="useTcmEqp"
|
|
|
+ v-model="patient.useTcmEqp"
|
|
|
+ style="width: 60px"
|
|
|
+ >
|
|
|
+ <option value="1"> 是</option>
|
|
|
+ <option value="2"> 否</option>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <span style="margin-left: 12px">使用中医诊疗技术</span>
|
|
|
+ <select
|
|
|
+ id="useTcmTech"
|
|
|
+ v-model="patient.useTcmTech"
|
|
|
+ style="width: 60px"
|
|
|
+ >
|
|
|
+ <option value="1"> 是</option>
|
|
|
+ <option value="2"> 否</option>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <span style="margin-left: 12px">辨证施护</span>
|
|
|
+ <select
|
|
|
+ id="diaNursing"
|
|
|
+ v-model="patient.diaNursing"
|
|
|
+ style="width: 60px"
|
|
|
+ >
|
|
|
+ <option value="1"> 是</option>
|
|
|
+ <option value="2"> 否</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"> 1 </option>
|
|
|
+ <option value="2"> 2 </option>
|
|
|
+ <option value="3"> 3 </option>
|
|
|
+ <option value="4"> 4 </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"> 1 </option>
|
|
|
+ <option value="2"> 2 </option>
|
|
|
+ <option value="3"> 3 </option>
|
|
|
+ <option value="4"> 4 </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"> 1 </option>
|
|
|
+ <option value="2"> 2 </option>
|
|
|
+ <option value="3"> 3 </option>
|
|
|
+ <option value="4"> 5 </option>
|
|
|
+ <option value="4"> 9 </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=""> </option>
|
|
|
+ <option value="1"> 无 </option>
|
|
|
+ <option value="2"> 有 </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=""> </option>
|
|
|
+ <option value="1"> 是 </option>
|
|
|
+ <option value="2"> 否 </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"> A </option>
|
|
|
+ <option value="2"> B </option>
|
|
|
+ <option value="3"> O </option>
|
|
|
+ <option value="4"> AB </option>
|
|
|
+ <option value="5"> 不详 </option>
|
|
|
+ <option value="6"> 未查 </option>
|
|
|
+ </select>
|
|
|
+ <span style="margin-left: 12px">Rh</span>
|
|
|
+ <select id="rh" v-model="patient.rh">
|
|
|
+ <option value="1"> 阴 </option>
|
|
|
+ <option value="2"> 阳 </option>
|
|
|
+ <option value="3"> 不详 </option>
|
|
|
+ <option value="4"> 未查 </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"> 甲 </option>
|
|
|
+ <option value="2"> 乙 </option>
|
|
|
+ <option value="3"> 丙 </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"
|
|
|
+ >
|
|
|
+ {{ 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"> 1 </option>
|
|
|
+ <option value="2"> 2 </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"> 0 </option>
|
|
|
+ <option value="1"> 1 </option>
|
|
|
+ <option value="2"> 2 </option>
|
|
|
+ <option value="3"> 3 </option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <select
|
|
|
+ v-model="patient.surgeryList[n - 1].heal"
|
|
|
+ style="border: none !important"
|
|
|
+ >
|
|
|
+ <option value="1"> 甲 </option>
|
|
|
+ <option value="2"> 乙 </option>
|
|
|
+ <option value="3"> 丙 </option>
|
|
|
+ <option value="9"> 其他 </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"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </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"> 医嘱离院 </option>
|
|
|
+ <option value="2"> 医嘱转院 </option>
|
|
|
+ <option value="3"> 医嘱转社区卫生服务机构/乡镇卫生院 </option>
|
|
|
+ <option value="4"> 非医嘱离院 </option>
|
|
|
+ <option value="5"> 死亡 </option>
|
|
|
+ <option value="9"> 其他 </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"> 无 </option>
|
|
|
+ <option value="2"> 有 </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
|
|
|
+ />
|
|
|
+ 手术费:
|
|
|
+ <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"> 否 </option>
|
|
|
+ <option value="1"> 是 </option>
|
|
|
+ </select>
|
|
|
+ <span style="margin-left: 12px">疑难病例:</span>
|
|
|
+ <select v-model="patient.ynbl" style="width: 60px">
|
|
|
+ <option value="0"> 否 </option>
|
|
|
+ <option value="1"> 是 </option>
|
|
|
+ </select>
|
|
|
+ <span style="margin-left: 12px">MDT病历:</span>
|
|
|
+ <select v-model="patient.mdtbl" style="width: 60px">
|
|
|
+ <option value="0"> 否 </option>
|
|
|
+ <option value="1"> 是 </option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;align-items: end;margin-top: 4px">
|
|
|
+ 单病种病例:
|
|
|
+ <select v-model="patient.dbzbl" style="width: 60px">
|
|
|
+ <option value="0"> 否 </option>
|
|
|
+ <option value="1"> 是 </option>
|
|
|
+ </select>
|
|
|
+ <span style="margin-left: 12px">日间手术病例:</span>
|
|
|
+ <select v-model="patient.rjssbl" style="width: 60px">
|
|
|
+ <option value="0"> 否 </option>
|
|
|
+ <option value="1"> 是 </option>
|
|
|
+ </select>
|
|
|
+ <span style="margin-left: 12px">教学查房病历:</span>
|
|
|
+ <select v-model="patient.jxcfbl" style="width: 60px">
|
|
|
+ <option value="0"> 否 </option>
|
|
|
+ <option value="1"> 是 </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"> 未做 </option>
|
|
|
+ <option value="1"> 符合 </option>
|
|
|
+ <option value="2"> 不符合 </option>
|
|
|
+ <option value="3"> 不确定 </option>
|
|
|
+ </select>
|
|
|
+ 入院与出院
|
|
|
+ <select id="ryycy" v-model="patient.ryycy">
|
|
|
+ <option value="0"> 未做 </option>
|
|
|
+ <option value="1"> 符合 </option>
|
|
|
+ <option value="2"> 不符合 </option>
|
|
|
+ <option value="3"> 不确定 </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"> 未做 </option>
|
|
|
+ <option value="1"> 符合 </option>
|
|
|
+ <option value="2"> 不符合 </option>
|
|
|
+ <option value="3"> 不确定 </option>
|
|
|
+ </select>
|
|
|
+ 临床与病理
|
|
|
+ <select
|
|
|
+ id="lcybl"
|
|
|
+ v-model="patient.lcybl"
|
|
|
+ style="margin-right: 12px"
|
|
|
+ >
|
|
|
+ <option value="0"> 未做 </option>
|
|
|
+ <option value="1"> 符合 </option>
|
|
|
+ <option value="2"> 不符合 </option>
|
|
|
+ <option value="3"> 不确定 </option>
|
|
|
+ </select>
|
|
|
+ 放射与病理
|
|
|
+ <select id="fsybl" v-model="patient.fsybl">
|
|
|
+ <option value="0"> 未做 </option>
|
|
|
+ <option value="1"> 符合 </option>
|
|
|
+ <option value="2"> 不符合 </option>
|
|
|
+ <option value="3"> 不确定 </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>
|