@@ -1,14 +1,60 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="visible"
|
v-model="visible"
|
||||||
top="6vh"
|
|
||||||
:width="width"
|
|
||||||
title="中医诊断"
|
title="中医诊断"
|
||||||
|
:width="width"
|
||||||
:z-index="20"
|
:z-index="20"
|
||||||
|
append-to-body
|
||||||
|
destroy-on-close
|
||||||
@open="openAct"
|
@open="openAct"
|
||||||
@closed="closedAct"
|
@closed="closedAct"
|
||||||
>
|
>
|
||||||
中医诊断
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="formData"
|
||||||
|
:rules="rules"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-form-item
|
||||||
|
label="中医诊断"
|
||||||
|
prop="conditionCode"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="formData.conditionCode"
|
||||||
|
placeholder="请选择中医诊断"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
@change="handleConditionChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in conditionOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label="中医证候"
|
||||||
|
prop="syndromeCode"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="formData.syndromeCode"
|
||||||
|
placeholder="请选择中医证候"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in syndromeOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button
|
<el-button
|
||||||
size="fixed"
|
size="fixed"
|
||||||
@@ -20,7 +66,7 @@
|
|||||||
<el-button
|
<el-button
|
||||||
size="fixed"
|
size="fixed"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="handleSubmit(signFormRef)"
|
@click="handleSubmit"
|
||||||
>
|
>
|
||||||
保存
|
保存
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -29,113 +75,111 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {onMounted, reactive, ref} from 'vue'
|
import {onMounted, reactive, ref} from 'vue'
|
||||||
import {dayjs} from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
// import { IInPatient } from '@/model/IInPatient'
|
import { getTcmCondition, getTcmSyndrome, saveTcmDiagnosis } from '../api'
|
||||||
|
|
||||||
const currentInPatient = ref({})
|
const { proxy } = getCurrentInstance()
|
||||||
const initCurrentInPatient = () => {
|
|
||||||
currentInPatient.value = {
|
|
||||||
feeType: '08',
|
|
||||||
sexName: '男',
|
|
||||||
age: '0',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* 初始化数据 */
|
|
||||||
const init = () => {
|
|
||||||
initCurrentInPatient()
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 入科 */
|
const conditionOptions = ref([])
|
||||||
const signForm = ref({
|
const syndromeOptions = ref([])
|
||||||
visitCode: '', // 就诊流水号
|
|
||||||
height: 0, // 身高
|
const formData = ref({
|
||||||
weight: 0, // 体重
|
conditionCode: '',
|
||||||
temperature: 0, // 体温
|
syndromeCode: '',
|
||||||
hertRate: 0, // 心率
|
|
||||||
pulse: 0, // 脉搏
|
|
||||||
highBloodPressure: 0, // 收缩压
|
|
||||||
endBloodPressure: 0, // 舒张压
|
|
||||||
loginDeptCode: '', // 当前登录科室
|
|
||||||
bingqing: '', //患者病情
|
|
||||||
inDeptDate: dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss'), //入院时间
|
|
||||||
signsId: '',
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
admittedDoctor: [{ required: true, message: '请选择住院医生', trigger: ['blur', 'change'] }],
|
conditionCode: [{ required: true, message: '请选择中医诊断', trigger: ['blur', 'change'] }],
|
||||||
masterNurse: [{ required: true, message: '请选择责任护士', trigger: ['blur', 'change'] }],
|
syndromeCode: [{ required: true, message: '请选择中医证候', trigger: ['blur', 'change'] }],
|
||||||
})
|
})
|
||||||
const printWristband = ref(false)
|
|
||||||
const emits = defineEmits(['okAct'])
|
|
||||||
|
|
||||||
const visible = defineModel('visible')
|
const props = defineProps({
|
||||||
const width = '920px'
|
patientInfo: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const emit = defineEmits(['ok-act'])
|
||||||
|
|
||||||
|
const visible = defineModel<boolean>('visible')
|
||||||
|
const width = '500px'
|
||||||
|
|
||||||
/* 取消 */
|
|
||||||
const cancelAct = () => {
|
const cancelAct = () => {
|
||||||
visible.value = false
|
visible.value = false
|
||||||
}
|
}
|
||||||
/* 录入患者体征*/
|
|
||||||
const signFormRef = ref()
|
function handleConditionChange() {
|
||||||
const handleSubmit = async (formEl) => {
|
formData.value.syndromeCode = ''
|
||||||
if (!formEl) return
|
loadSyndromeOptions(formData.value.conditionCode)
|
||||||
await formEl.validate((valid, fields) => {
|
}
|
||||||
if (valid) {
|
|
||||||
console.log('submit!')
|
function loadConditionOptions() {
|
||||||
try {
|
getTcmCondition().then((res) => {
|
||||||
// 录入患者体征方法(signForm.value).then((res: any) => {
|
if (res.data && res.data.records) {
|
||||||
// ElMessage({
|
conditionOptions.value = res.data.records.map((item) => ({
|
||||||
// message: '登记成功!',
|
value: item.ybNo,
|
||||||
// type: 'success',
|
label: item.name,
|
||||||
// grouping: true,
|
}))
|
||||||
// showClose: true,
|
|
||||||
// })
|
|
||||||
// emits('okAct')
|
|
||||||
// })
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadSyndromeOptions(conditionCode) {
|
||||||
|
const params = conditionCode ? { conditionCode } : {}
|
||||||
|
getTcmSyndrome(params).then((res) => {
|
||||||
|
if (res.data && res.data.records) {
|
||||||
|
syndromeOptions.value = res.data.records.map((item) => ({
|
||||||
|
value: item.ybNo,
|
||||||
|
label: item.name,
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const formRef = ref()
|
||||||
|
const handleSubmit = async () => {
|
||||||
|
if (!formRef.value) return
|
||||||
|
await formRef.value.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
const submitData = {
|
||||||
|
conditionCode: formData.value.conditionCode,
|
||||||
|
syndromeCode: formData.value.syndromeCode,
|
||||||
|
}
|
||||||
|
if (props.patientInfo && props.patientInfo.patientId) {
|
||||||
|
submitData.patientId = props.patientInfo.patientId
|
||||||
|
submitData.encounterId = props.patientInfo.encounterId
|
||||||
|
}
|
||||||
|
submitData.diagnosisChildList = [{
|
||||||
|
conditionCode: formData.value.conditionCode,
|
||||||
|
syndromeCode: formData.value.syndromeCode,
|
||||||
|
}]
|
||||||
|
saveTcmDiagnosis(submitData).then((res) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
ElMessage.success('中医诊断保存成功')
|
||||||
|
emit('ok-act')
|
||||||
|
cancelAct()
|
||||||
|
} else {
|
||||||
|
ElMessage.error(res.msg || '保存失败')
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
ElMessage.error('保存失败,请重试')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const openAct = () => {
|
const openAct = () => {
|
||||||
init()
|
formData.value = { conditionCode: '', syndromeCode: '' }
|
||||||
|
loadConditionOptions()
|
||||||
|
loadSyndromeOptions()
|
||||||
}
|
}
|
||||||
const closedAct = () => {
|
const closedAct = () => {
|
||||||
visible.value = false
|
visible.value = false
|
||||||
}
|
}
|
||||||
onMounted(() => {})
|
onMounted(() => {
|
||||||
|
loadConditionOptions()
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.transferIn-container {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
.admission-signs,
|
|
||||||
.admission-information {
|
|
||||||
width: 888px;
|
|
||||||
.unit {
|
|
||||||
display: inline-block;
|
|
||||||
margin-left: 10px;
|
|
||||||
color: #bbb;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: '思源黑体 CN';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.print-wriBtn {
|
|
||||||
margin-left: 565px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-p100 {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-80 {
|
|
||||||
width: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb-90 {
|
|
||||||
margin-bottom: 90px !important;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="diagnose-container">
|
<div class="diagnose-container">
|
||||||
<!-- 常用诊断、个人诊断、科室诊断、历史诊断、 -->
|
<!-- 常用诊断、个人诊断、科室诊断、历史诊断 -->
|
||||||
<diagnose-folder
|
<diagnose-folder
|
||||||
:folder="mockData"
|
:folder="mockData"
|
||||||
:level="0"
|
:level="0"
|
||||||
@@ -10,29 +10,44 @@
|
|||||||
<el-space>
|
<el-space>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="addNewWestern"
|
@click="addNewDiagnosis"
|
||||||
>
|
>
|
||||||
开立诊断
|
新增诊断
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary">
|
<el-button type="primary">
|
||||||
既往诊断
|
既往诊断
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 患者诊断 -->
|
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="primary"
|
||||||
@click="addNewChinese"
|
@click="addNewChinese"
|
||||||
>
|
>
|
||||||
中医诊断
|
中医诊断
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
:disabled="!selectedRows.length"
|
||||||
|
@click="handleDelete"
|
||||||
|
>
|
||||||
|
删除诊断
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
:loading="saveLoading"
|
||||||
|
@click="handleSaveDiagnosis"
|
||||||
|
>
|
||||||
|
保存诊断
|
||||||
|
</el-button>
|
||||||
</el-space>
|
</el-space>
|
||||||
</div>
|
</div>
|
||||||
<div class="diagnoseData-container">
|
<div class="diagnoseData-container">
|
||||||
<el-table
|
<el-table
|
||||||
|
ref="diagnoseTableRef"
|
||||||
:data="diagnoseData"
|
:data="diagnoseData"
|
||||||
border
|
border
|
||||||
row-key="id"
|
row-key="id"
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
|
@selection-change="handleSelectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
@@ -40,166 +55,533 @@
|
|||||||
width="40"
|
width="40"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="date"
|
label="序号"
|
||||||
label="诊断类型"
|
type="index"
|
||||||
width="180"
|
width="50"
|
||||||
sortable
|
fixed="left"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="name"
|
label="诊断体系"
|
||||||
|
prop="diagnosisSystem"
|
||||||
|
width="120"
|
||||||
|
>
|
||||||
|
<template #default="scope">
|
||||||
|
<el-select
|
||||||
|
v-model="scope.row.diagnosisSystem"
|
||||||
|
placeholder=" "
|
||||||
|
style="width: 100%"
|
||||||
|
@change="handleDiagnosisSystemChange(scope.row)"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
label="西医"
|
||||||
|
value="西医"
|
||||||
|
/>
|
||||||
|
<el-option
|
||||||
|
label="中医"
|
||||||
|
value="中医"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="诊断类别"
|
||||||
|
prop="classification"
|
||||||
|
width="120"
|
||||||
|
>
|
||||||
|
<template #default="scope">
|
||||||
|
<el-select
|
||||||
|
v-model="scope.row.classification"
|
||||||
|
placeholder=" "
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in diagnosisClassificationOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
label="诊断名称"
|
label="诊断名称"
|
||||||
|
prop="name"
|
||||||
width="180"
|
width="180"
|
||||||
|
>
|
||||||
|
<template #default="scope">
|
||||||
|
<div
|
||||||
|
class="diagnosis-text"
|
||||||
|
@click="handleDiagnosisNameClick(scope.row, scope.$index)"
|
||||||
|
>
|
||||||
|
<span class="diagnosis-text-content">{{ scope.row.name || '点击选择诊断' }}</span>
|
||||||
|
<el-icon class="diagnosis-text-icon">
|
||||||
|
<arrow-down />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
<el-popover
|
||||||
|
v-if="scope.row.showPopover"
|
||||||
|
placement="bottom"
|
||||||
|
:width="400"
|
||||||
|
trigger="manual"
|
||||||
|
>
|
||||||
|
<template #reference>
|
||||||
|
<span />
|
||||||
|
</template>
|
||||||
|
<div class="diagnosis-popover-container">
|
||||||
|
<div class="diagnosis-popover-header">
|
||||||
|
<span class="diagnosis-popover-title">选择诊断</span>
|
||||||
|
<el-link
|
||||||
|
type="primary"
|
||||||
|
class="diagnosis-popover-close"
|
||||||
|
@click="closeDiagnosisPopover(scope.row)"
|
||||||
|
>
|
||||||
|
关闭
|
||||||
|
</el-link>
|
||||||
|
</div>
|
||||||
|
<div class="diagnosis-popover-body">
|
||||||
|
<diagnosislist
|
||||||
|
:diagnosis-searchkey="diagnosisSearchkey"
|
||||||
|
@select-diagnosis="(row) => handleSelectDiagnosis(row, scope.row, scope.$index)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="中医证候"
|
||||||
|
prop="tcmSyndromeName"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<template #default="scope">
|
||||||
|
<template v-if="scope.row.diagnosisSystem === '中医'">
|
||||||
|
<div
|
||||||
|
class="diagnosis-text"
|
||||||
|
@click="handleTcmSyndromeClick(scope.row, scope.$index)"
|
||||||
|
>
|
||||||
|
<span class="diagnosis-text-content">{{ scope.row.tcmSyndromeName || '请选择中医证候' }}</span>
|
||||||
|
<el-icon class="diagnosis-text-icon">
|
||||||
|
<arrow-down />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
<el-popover
|
||||||
|
v-if="scope.row.showSyndromePopover"
|
||||||
|
placement="bottom"
|
||||||
|
:width="400"
|
||||||
|
trigger="manual"
|
||||||
|
>
|
||||||
|
<template #reference>
|
||||||
|
<span />
|
||||||
|
</template>
|
||||||
|
<div class="diagnosis-popover-container">
|
||||||
|
<div class="diagnosis-popover-header">
|
||||||
|
<span class="diagnosis-popover-title">选择中医证候</span>
|
||||||
|
<el-link
|
||||||
|
type="primary"
|
||||||
|
class="diagnosis-popover-close"
|
||||||
|
@click="closeSyndromePopover(scope.row)"
|
||||||
|
>
|
||||||
|
关闭
|
||||||
|
</el-link>
|
||||||
|
</div>
|
||||||
|
<div class="diagnosis-popover-body">
|
||||||
|
<el-input
|
||||||
|
v-model="syndromeSearchkey"
|
||||||
|
placeholder="搜索证候名称"
|
||||||
|
clearable
|
||||||
|
style="margin-bottom: 8px"
|
||||||
|
@input="handleSyndromeSearch"
|
||||||
|
/>
|
||||||
|
<el-table
|
||||||
|
:data="filteredSyndromeList"
|
||||||
|
highlight-current-row
|
||||||
|
max-height="300"
|
||||||
|
@row-click="(row) => handleSelectSyndrome(row, scope.row)"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
label="证候名称"
|
||||||
|
prop="name"
|
||||||
|
align="center"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
label="医保编码"
|
||||||
label="主诊"
|
prop="ybNo"
|
||||||
|
align="center"
|
||||||
/>
|
/>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
<span v-else>—</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
|
||||||
label="复诊"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="address"
|
|
||||||
label="疑似"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="address"
|
|
||||||
label="传染"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="address"
|
|
||||||
label="入院病情"
|
label="入院病情"
|
||||||
width="180"
|
prop="admissionCondition"
|
||||||
|
width="120"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
|
||||||
label="转归"
|
label="转归"
|
||||||
width="180"
|
prop="outcome"
|
||||||
|
width="120"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
|
||||||
label="转归日期"
|
label="转归日期"
|
||||||
width="180"
|
prop="outcomeDate"
|
||||||
|
width="140"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
|
||||||
label="诊断科室"
|
label="诊断科室"
|
||||||
width="180"
|
prop="deptName"
|
||||||
|
width="140"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
|
||||||
label="诊断医师"
|
label="诊断医师"
|
||||||
width="180"
|
prop="diagnosisDoctor"
|
||||||
|
width="140"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="address"
|
|
||||||
label="诊断日期"
|
label="诊断日期"
|
||||||
width="180"
|
prop="diagnosisTime"
|
||||||
|
width="140"
|
||||||
/>
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
fixed="right"
|
fixed="right"
|
||||||
label="操作"
|
label="操作"
|
||||||
width="120"
|
width="120"
|
||||||
>
|
>
|
||||||
<template #default="props">
|
<template #default="scope">
|
||||||
<el-space>
|
<el-space>
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
content="删除"
|
content="删除"
|
||||||
placement="bottom"
|
placement="bottom"
|
||||||
>
|
>
|
||||||
<el-icon @click="deleteDiagnose(row)">
|
<el-icon @click="deleteRow(scope.row, scope.$index)">
|
||||||
<Delete />
|
<Delete />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
v-if="props.$index !== diagnoseData.length - 1"
|
v-if="scope.$index !== diagnoseData.length - 1"
|
||||||
content="下移"
|
content="下移"
|
||||||
placement="bottom"
|
placement="bottom"
|
||||||
>
|
>
|
||||||
<el-icon @click="download(props.row)">
|
<el-icon @click="moveDown(scope.row, scope.$index)">
|
||||||
<Download />
|
<Download />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
v-if="props.$index !== 0"
|
v-if="scope.$index !== 0"
|
||||||
content="上移"
|
content="上移"
|
||||||
placement="bottom"
|
placement="bottom"
|
||||||
>
|
>
|
||||||
<el-icon @click="upload(props.row)">
|
<el-icon @click="moveUp(scope.row, scope.$index)">
|
||||||
<Upload />
|
<Upload />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip
|
|
||||||
v-if="props.$index !== 0"
|
|
||||||
content="置顶"
|
|
||||||
placement="bottom"
|
|
||||||
>
|
|
||||||
<el-icon @click="top(props.row)">
|
|
||||||
<Top />
|
|
||||||
</el-icon>
|
|
||||||
</el-tooltip>
|
|
||||||
<el-tooltip
|
|
||||||
v-if="props.$index !== diagnoseData.length - 1"
|
|
||||||
content="置底"
|
|
||||||
placement="bottom"
|
|
||||||
>
|
|
||||||
<el-icon @click="bottom(props.row)">
|
|
||||||
<Bottom />
|
|
||||||
</el-icon>
|
|
||||||
</el-tooltip>
|
|
||||||
</el-space>
|
</el-space>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<WesternMedicineDialog v-model:visible="WesternMedicineDialogVisible" />
|
<WesternMedicineDialog v-model:visible="westernMedicineDialogVisible" />
|
||||||
<ChineseMedicineDialog v-model:visible="ChineseMedicineDialogVisible" />
|
<ChineseMedicineDialog
|
||||||
|
v-model:visible="chineseMedicineDialogVisible"
|
||||||
|
:patient-info="patientInfo"
|
||||||
|
@ok-act="loadDiagnosisData"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {onBeforeMount, onMounted, reactive, ref} from 'vue'
|
import {onMounted, reactive, ref, computed} from 'vue'
|
||||||
// const { proxy } = getCurrentInstance()
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
// const emits = defineEmits([])
|
import { ArrowDown, Delete, Download, Upload } from '@element-plus/icons-vue'
|
||||||
// const props = defineProps({})
|
|
||||||
// import DiagnoseFolder from './diagnoseFolder.vue'
|
|
||||||
import WesternMedicineDialog from './westernMedicineDialog.vue'
|
import WesternMedicineDialog from './westernMedicineDialog.vue'
|
||||||
import ChineseMedicineDialog from './chineseMedicineDialog.vue'
|
import ChineseMedicineDialog from './chineseMedicineDialog.vue'
|
||||||
|
import Diagnosislist from './diagnosislist.vue'
|
||||||
|
import {
|
||||||
|
saveDiagnosis,
|
||||||
|
delEncounterDiagnosis,
|
||||||
|
getEncounterDiagnosis,
|
||||||
|
getTcmSyndrome,
|
||||||
|
} from '../api'
|
||||||
|
|
||||||
const diagnoseData = ref([
|
const { proxy } = getCurrentInstance()
|
||||||
{
|
|
||||||
id: 1,
|
const props = defineProps({
|
||||||
sort: 1,
|
patientInfo: {
|
||||||
name: '新冠',
|
type: Object,
|
||||||
},
|
default: () => ({}),
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
sort: 2,
|
|
||||||
name: '新冠as',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 3,
|
|
||||||
sort: 3,
|
|
||||||
name: '新冠12',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
sort: 4,
|
|
||||||
name: '新冠2121',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 5,
|
|
||||||
sort: 5,
|
|
||||||
name: '新冠12',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 6,
|
|
||||||
sort: 6,
|
|
||||||
name: '新冠21',
|
|
||||||
},
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const diagnoseData = ref([])
|
||||||
|
const selectedRows = ref([])
|
||||||
|
const saveLoading = ref(false)
|
||||||
|
const diagnoseTableRef = ref()
|
||||||
|
const diagnosisSearchkey = ref('')
|
||||||
|
const syndromeSearchkey = ref('')
|
||||||
|
const syndromeList = ref([])
|
||||||
|
|
||||||
|
const diagnosisClassificationOptions = ref([
|
||||||
|
{ label: '主诊断', value: '主诊断' },
|
||||||
|
{ label: '副诊断', value: '副诊断' },
|
||||||
])
|
])
|
||||||
|
|
||||||
// 模拟数据
|
const filteredSyndromeList = computed(() => {
|
||||||
|
if (!syndromeSearchkey.value) {
|
||||||
|
return syndromeList.value
|
||||||
|
}
|
||||||
|
const keyword = syndromeSearchkey.value.toLowerCase()
|
||||||
|
return syndromeList.value.filter(item =>
|
||||||
|
(item.name && item.name.toLowerCase().includes(keyword)) ||
|
||||||
|
(item.ybNo && item.ybNo.toLowerCase().includes(keyword))
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
|
function getCurrentDate() {
|
||||||
|
const date = new Date()
|
||||||
|
const year = date.getFullYear()
|
||||||
|
let month = date.getMonth() + 1
|
||||||
|
let day = date.getDate()
|
||||||
|
month = month < 10 ? '0' + month : month
|
||||||
|
day = day < 10 ? '0' + day : day
|
||||||
|
return `${year}-${month}-${day}`
|
||||||
|
}
|
||||||
|
|
||||||
|
function addNewDiagnosis() {
|
||||||
|
const maxSortNo = diagnoseData.value.length > 0
|
||||||
|
? Math.max(...diagnoseData.value.map(item => item.sortNo || 0))
|
||||||
|
: 0
|
||||||
|
diagnoseData.value.push({
|
||||||
|
id: Date.now(),
|
||||||
|
sortNo: maxSortNo + 1,
|
||||||
|
diagnosisSystem: '西医',
|
||||||
|
classification: '主诊断',
|
||||||
|
name: '',
|
||||||
|
ybNo: '',
|
||||||
|
definitionId: '',
|
||||||
|
tcmSyndromeCode: '',
|
||||||
|
tcmSyndromeName: '',
|
||||||
|
admissionCondition: '',
|
||||||
|
outcome: '',
|
||||||
|
outcomeDate: '',
|
||||||
|
deptName: '',
|
||||||
|
diagnosisDoctor: proxy.$store?.state?.user?.name || '',
|
||||||
|
diagnosisTime: getCurrentDate(),
|
||||||
|
showPopover: false,
|
||||||
|
showSyndromePopover: false,
|
||||||
|
isNew: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function addNewChinese() {
|
||||||
|
chineseMedicineDialogVisible.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDiagnosisSystemChange(row) {
|
||||||
|
if (row.diagnosisSystem === '西医') {
|
||||||
|
row.tcmSyndromeCode = ''
|
||||||
|
row.tcmSyndromeName = ''
|
||||||
|
}
|
||||||
|
row.name = ''
|
||||||
|
row.ybNo = ''
|
||||||
|
row.showPopover = false
|
||||||
|
row.showSyndromePopover = false
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDiagnosisNameClick(row, index) {
|
||||||
|
if (row.diagnosisSystem === '中医') {
|
||||||
|
row.showPopover = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
diagnoseData.value.forEach((item, idx) => {
|
||||||
|
if (idx !== index) {
|
||||||
|
item.showPopover = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
row.showPopover = true
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSelectDiagnosis(diagRow, rowData) {
|
||||||
|
rowData.name = diagRow.name
|
||||||
|
rowData.ybNo = diagRow.ybNo
|
||||||
|
rowData.definitionId = diagRow.id
|
||||||
|
rowData.showPopover = false
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeDiagnosisPopover(row) {
|
||||||
|
row.showPopover = false
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleTcmSyndromeClick(row, index) {
|
||||||
|
diagnoseData.value.forEach((item, idx) => {
|
||||||
|
if (idx !== index) {
|
||||||
|
item.showSyndromePopover = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
loadSyndromeList()
|
||||||
|
row.showSyndromePopover = true
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSyndromeSearch() {}
|
||||||
|
|
||||||
|
function loadSyndromeList() {
|
||||||
|
getTcmSyndrome().then((res) => {
|
||||||
|
if (res.data && res.data.records) {
|
||||||
|
syndromeList.value = res.data.records
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSelectSyndrome(syndromeRow, rowData) {
|
||||||
|
rowData.tcmSyndromeCode = syndromeRow.ybNo
|
||||||
|
rowData.tcmSyndromeName = syndromeRow.name
|
||||||
|
rowData.showSyndromePopover = false
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeSyndromePopover(row) {
|
||||||
|
row.showSyndromePopover = false
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSelectionChange(rows) {
|
||||||
|
selectedRows.value = rows
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteRow(row, index) {
|
||||||
|
diagnoseData.value.splice(index, 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
function moveDown(row, index) {
|
||||||
|
if (index >= diagnoseData.value.length - 1) return
|
||||||
|
const temp = diagnoseData.value[index]
|
||||||
|
diagnoseData.value[index] = diagnoseData.value[index + 1]
|
||||||
|
diagnoseData.value[index + 1] = temp
|
||||||
|
diagnoseData.value = [...diagnoseData.value]
|
||||||
|
}
|
||||||
|
|
||||||
|
function moveUp(row, index) {
|
||||||
|
if (index <= 0) return
|
||||||
|
const temp = diagnoseData.value[index]
|
||||||
|
diagnoseData.value[index] = diagnoseData.value[index - 1]
|
||||||
|
diagnoseData.value[index - 1] = temp
|
||||||
|
diagnoseData.value = [...diagnoseData.value]
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleDelete() {
|
||||||
|
if (!selectedRows.value.length) {
|
||||||
|
ElMessage.warning('请先选择要删除的诊断')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ElMessageBox.confirm('确定删除选中的诊断吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
}).then(() => {
|
||||||
|
const deleteIds = selectedRows.value
|
||||||
|
.filter(item => item.conditionId)
|
||||||
|
.map(item => item.conditionId)
|
||||||
|
const newRows = selectedRows.value.filter(item => !item.conditionId)
|
||||||
|
|
||||||
|
newRows.forEach(item => {
|
||||||
|
const idx = diagnoseData.value.findIndex(d => d.id === item.id)
|
||||||
|
if (idx > -1) {
|
||||||
|
diagnoseData.value.splice(idx, 1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
deleteIds.forEach(id => {
|
||||||
|
delEncounterDiagnosis(id).then(() => {
|
||||||
|
const idx = diagnoseData.value.findIndex(d => d.conditionId === id)
|
||||||
|
if (idx > -1) {
|
||||||
|
diagnoseData.value.splice(idx, 1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
selectedRows.value = []
|
||||||
|
ElMessage.success('删除成功')
|
||||||
|
}).catch(() => {})
|
||||||
|
}
|
||||||
|
|
||||||
|
async function handleSaveDiagnosis() {
|
||||||
|
if (!diagnoseData.value.length) {
|
||||||
|
ElMessage.warning('没有需要保存的诊断')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < diagnoseData.value.length; i++) {
|
||||||
|
const item = diagnoseData.value[i]
|
||||||
|
if (!item.name) {
|
||||||
|
ElMessage.warning(`第${i + 1}行诊断名称不能为空`)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (item.diagnosisSystem === '中医' && !item.tcmSyndromeCode) {
|
||||||
|
ElMessage.error('中医诊断不完整,请录入对应的证候!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
saveLoading.value = true
|
||||||
|
try {
|
||||||
|
const diagnosisList = diagnoseData.value.map((item, index) => ({
|
||||||
|
conditionId: item.conditionId || '',
|
||||||
|
ybNo: item.ybNo || '',
|
||||||
|
name: item.name,
|
||||||
|
definitionId: item.definitionId || '',
|
||||||
|
classification: item.classification || '主诊断',
|
||||||
|
diagnosisSystem: item.diagnosisSystem || '西医',
|
||||||
|
tcmSyndromeCode: item.tcmSyndromeCode || '',
|
||||||
|
tcmSyndromeName: item.tcmSyndromeName || '',
|
||||||
|
admissionCondition: item.admissionCondition || '',
|
||||||
|
outcome: item.outcome || '',
|
||||||
|
outcomeDate: item.outcomeDate || '',
|
||||||
|
diagnosisDoctor: item.diagnosisDoctor || '',
|
||||||
|
diagnosisTime: item.diagnosisTime || getCurrentDate(),
|
||||||
|
diagSrtNo: index + 1,
|
||||||
|
}))
|
||||||
|
|
||||||
|
const saveData = {
|
||||||
|
patientId: props.patientInfo?.patientId || '',
|
||||||
|
encounterId: props.patientInfo?.encounterId || '',
|
||||||
|
diagnosisList: diagnosisList,
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = await saveDiagnosis(saveData)
|
||||||
|
if (res.code === 200) {
|
||||||
|
ElMessage.success('诊断保存成功')
|
||||||
|
loadDiagnosisData()
|
||||||
|
} else {
|
||||||
|
ElMessage.error(res.msg || '保存失败')
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
ElMessage.error('保存失败,请重试')
|
||||||
|
} finally {
|
||||||
|
saveLoading.value = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadDiagnosisData() {
|
||||||
|
if (!props.patientInfo?.encounterId) return
|
||||||
|
getEncounterDiagnosis(props.patientInfo.encounterId).then((res) => {
|
||||||
|
if (res.data) {
|
||||||
|
const westernDiagnoses = (res.data || []).filter(item => item.typeName !== '中医诊断')
|
||||||
|
diagnoseData.value = westernDiagnoses.map((item, index) => ({
|
||||||
|
...item,
|
||||||
|
diagnosisSystem: item.diagnosisSystem || '西医',
|
||||||
|
classification: item.classification || '主诊断',
|
||||||
|
tcmSyndromeCode: item.tcmSyndromeCode || '',
|
||||||
|
tcmSyndromeName: item.tcmSyndromeName || '',
|
||||||
|
showPopover: false,
|
||||||
|
showSyndromePopover: false,
|
||||||
|
diagSrtNo: index + 1,
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 模拟数据(常用/科室/个人/历史诊断树)
|
||||||
const mockData = ref([
|
const mockData = ref([
|
||||||
{
|
{
|
||||||
name: '常用',
|
name: '常用',
|
||||||
@@ -207,28 +589,18 @@ const mockData = ref([
|
|||||||
{
|
{
|
||||||
name: '文件夹 1',
|
name: '文件夹 1',
|
||||||
children: [
|
children: [
|
||||||
{
|
{ name: '霍乱' },
|
||||||
name: '霍乱',
|
{ name: '新型冠状病毒' },
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '新型冠状病毒新型冠状病毒新型冠状病毒',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '文件夹 2',
|
name: '文件夹 2',
|
||||||
children: [
|
children: [
|
||||||
{
|
{ name: '普外科' },
|
||||||
name: '普外科',
|
{ name: '骨科' },
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '骨科',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{ name: '新型冠状病毒' },
|
||||||
name: '新型冠状病毒',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -237,28 +609,18 @@ const mockData = ref([
|
|||||||
{
|
{
|
||||||
name: '内科',
|
name: '内科',
|
||||||
children: [
|
children: [
|
||||||
{
|
{ name: '呼吸内科' },
|
||||||
name: '呼吸内科',
|
{ name: '消化内科' },
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '消化内科',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '外科',
|
name: '外科',
|
||||||
children: [
|
children: [
|
||||||
{
|
{ name: '普外科' },
|
||||||
name: '普外科',
|
{ name: '骨科' },
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '骨科',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{ name: '儿科' },
|
||||||
name: '儿科',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -267,79 +629,27 @@ const mockData = ref([
|
|||||||
{
|
{
|
||||||
name: '内科',
|
name: '内科',
|
||||||
children: [
|
children: [
|
||||||
{
|
{ name: '呼吸内科' },
|
||||||
name: '呼吸内科',
|
{ name: '消化内科' },
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '消化内科',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: '外科',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
name: '普外科',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '骨科',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '儿科',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '历史',
|
name: '历史',
|
||||||
children: [
|
children: [
|
||||||
{
|
{ name: '心率失常' },
|
||||||
name: '心率失常',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '心率失常',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '心率失常',
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
const state = reactive({})
|
const state = reactive({})
|
||||||
onBeforeMount(() => {})
|
onMounted(() => {
|
||||||
onMounted(() => {})
|
if (props.patientInfo?.encounterId) {
|
||||||
defineExpose({ state })
|
loadDiagnosisData()
|
||||||
|
}
|
||||||
// const deleteDiagnose = (row: any) => {
|
})
|
||||||
// // TODO 删除
|
defineExpose({ state, loadDiagnosisData })
|
||||||
// console.log(row)
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const download = (row: any) => {
|
|
||||||
// // TODO 删除
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const upload = (row: any) => {
|
|
||||||
// // TODO 删除
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const top = (row: any) => {
|
|
||||||
// // TODO 删除
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const bottom = (row: any) => {
|
|
||||||
// // TODO 删除
|
|
||||||
// }
|
|
||||||
|
|
||||||
const addNewWestern = () => {
|
|
||||||
WesternMedicineDialogVisible.value = true
|
|
||||||
}
|
|
||||||
const addNewChinese = () => {
|
|
||||||
ChineseMedicineDialogVisible.value = true
|
|
||||||
}
|
|
||||||
const WesternMedicineDialogVisible = ref(false)
|
|
||||||
const ChineseMedicineDialogVisible = ref(false)
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.diagnose-container {
|
.diagnose-container {
|
||||||
@@ -365,4 +675,79 @@ const ChineseMedicineDialogVisible = ref(false)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.diagnosis-text {
|
||||||
|
min-height: 32px;
|
||||||
|
line-height: 1.4;
|
||||||
|
padding: 6px 12px;
|
||||||
|
border: 1px solid #dcdfe6;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #fff;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: left;
|
||||||
|
word-break: break-all;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
max-width: 200px;
|
||||||
|
transition: border-color 0.2s;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-text:hover {
|
||||||
|
border-color: #409eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-text-content {
|
||||||
|
flex: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-text-icon {
|
||||||
|
color: #909399;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-text:hover .diagnosis-text-icon {
|
||||||
|
color: #409eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-popover-container {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-popover-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 12px 16px;
|
||||||
|
border-bottom: 1px solid #e4e7ed;
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-popover-title {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #303133;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-popover-close {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-popover-body {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.diagnosis-text:empty::before {
|
||||||
|
content: '点击选择诊断';
|
||||||
|
color: #a8abb2;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user