Compare commits
2 Commits
759fc69fd7
...
215c69a5cb
| Author | SHA1 | Date |
|---|---|---|
|
|
215c69a5cb | |
|
|
fc3fe2e825 |
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-input v-model="input" :style="{'width': props.width+'px'}" clearable :disabled="disabled" ref="inputRef" @click="showPopo" @focus="focus"></el-input>
|
<el-input v-model="input" style="width:100%;height: 100%" clearable :disabled="disabled" ref="inputRef" @click="showPopo" @focus="focus"></el-input>
|
||||||
<el-popover placement="bottom-start" trigger="click" :width="props.width" :virtual-ref="inputRef" ref="popoverRef">
|
<el-popover placement="bottom-start" trigger="click" :width="props.width" :virtual-ref="inputRef" ref="popoverRef">
|
||||||
<div class="code-popo" v-if="props.list.length > 0">
|
<div class="code-popo" v-if="props.list.length > 0">
|
||||||
<div class="code-item" v-for="item in props.list">
|
<div class="code-item" v-for="item in props.list">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Panel :title="'病例'">
|
<Panel :title="'病历'">
|
||||||
<template #tools>
|
<template #tools>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="model-selector">
|
<div class="model-selector">
|
||||||
|
|
@ -139,4 +139,7 @@ defineExpose({initDiagnosisSearch})
|
||||||
.container {
|
.container {
|
||||||
margin: 24px;
|
margin: 24px;
|
||||||
}
|
}
|
||||||
|
:deep(.el-form-item){
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Panel :title="'病例'">
|
<Panel :title="'病历'">
|
||||||
<template #tools>
|
<template #tools>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="model-selector">
|
<div class="model-selector">
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,24 @@
|
||||||
<el-popover
|
<el-popover
|
||||||
placement="top-start"
|
placement="top-start"
|
||||||
trigger="hover"
|
trigger="hover"
|
||||||
width="200px"
|
width="400"
|
||||||
|
@show="getHilistInfo(item)"
|
||||||
|
@hide="colosInfo"
|
||||||
|
|
||||||
>
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<div class="detail">
|
||||||
|
<div style="display: flex;justify-content: space-between">
|
||||||
|
<div style="font-size: 18px;font-weight: 500;color: #000">{{ hilistInfo.name }}</div>
|
||||||
|
<div>¥{{ item.selectedPrice }}/{{ item.selectedUnit }}</div>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{{item.hilistCode}}
|
|
||||||
|
<div>规格:{{hilistInfo.json?.dosage_specifications||'-'}}</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -72,6 +82,7 @@ import Panel from "@/components/common/Panel.vue";
|
||||||
import SearchInput from "@/components/SearchInput.vue";
|
import SearchInput from "@/components/SearchInput.vue";
|
||||||
import {CircleClose, Close} from "@element-plus/icons-vue";
|
import {CircleClose, Close} from "@element-plus/icons-vue";
|
||||||
import {watch, ref, computed} from "vue";
|
import {watch, ref, computed} from "vue";
|
||||||
|
import {post} from "@/utils/request.ts";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
status: {
|
status: {
|
||||||
|
|
@ -126,6 +137,17 @@ const emit = defineEmits(['focus'])
|
||||||
const focus = (e: any) => {
|
const focus = (e: any) => {
|
||||||
emit('focus', e)
|
emit('focus', e)
|
||||||
}
|
}
|
||||||
|
const hilistInfo = ref<any>({})
|
||||||
|
const getHilistInfo = (item: any) => {
|
||||||
|
if (item.hilistCode) {
|
||||||
|
post("social/directory/getByCode", {code: item.hilistCode}).then((res: any) => {
|
||||||
|
hilistInfo.value = res
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const colosInfo = () => {
|
||||||
|
hilistInfo.value = {}
|
||||||
|
}
|
||||||
watch(() => list.value, (newList) => {
|
watch(() => list.value, (newList) => {
|
||||||
sumPrice.value = newList.reduce((total, item) => {
|
sumPrice.value = newList.reduce((total, item) => {
|
||||||
return total + (item.selectedNum || 0) * (item.selectedPrice || 0);
|
return total + (item.selectedNum || 0) * (item.selectedPrice || 0);
|
||||||
|
|
@ -135,6 +157,7 @@ watch(()=>list.value, (newList) => {
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@use "@/assets/scss/base";
|
@use "@/assets/scss/base";
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
@ -142,6 +165,7 @@ watch(()=>list.value, (newList) => {
|
||||||
.list {
|
.list {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-top: 1px solid #EAEAEC;
|
border-top: 1px solid #EAEAEC;
|
||||||
|
|
@ -183,12 +207,14 @@ watch(()=>list.value, (newList) => {
|
||||||
width: 180px;
|
width: 180px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
|
||||||
.unit-content {
|
.unit-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sub-price {
|
.sub-price {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
|
@ -199,8 +225,10 @@ watch(()=>list.value, (newList) => {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
|
||||||
.delete-btn {
|
.delete-btn {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: base.$primary-color;
|
color: base.$primary-color;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<el-popover placement="bottom-start" trigger="click" :width="props.width">
|
<el-popover placement="bottom-start" trigger="click" :width="props.width">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-input v-model="input" :style="{'width': props.width+'px'}" clearable :disabled="disabled"></el-input>
|
<el-input v-model="input" style="width:100%;height: 100%" clearable :disabled="disabled"></el-input>
|
||||||
</template>
|
</template>
|
||||||
<el-tabs v-model="tabName" class="demo-tabs">
|
<el-tabs v-model="tabName" class="demo-tabs">
|
||||||
<el-tab-pane v-for="item in props.list" :label="item.name" :name="item.name">
|
<el-tab-pane v-for="item in props.list" :label="item.name" :name="item.name">
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<Mask :is-show="isShow" width="800" :height="500" title="挂号" @close="close" :show-footer="true">
|
<Mask :is-show="isShow" width="800" :height="500" title="挂号" @close="close" :show-footer="true">
|
||||||
<template #default>
|
<template #default>
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<div style="padding:0 24px 24px">
|
<div style="padding:0 24px">
|
||||||
<el-form
|
<el-form
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:model="edit_data"
|
:model="edit_data"
|
||||||
|
|
@ -17,6 +17,11 @@
|
||||||
:column="4"
|
:column="4"
|
||||||
style="margin-top: 20px"
|
style="margin-top: 20px"
|
||||||
>
|
>
|
||||||
|
<el-descriptions-item label="姓名">
|
||||||
|
<el-form-item prop="name" style="margin-bottom: 2px">
|
||||||
|
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="性别">
|
<el-descriptions-item label="性别">
|
||||||
<el-form-item prop="gender">
|
<el-form-item prop="gender">
|
||||||
<el-radio-group v-model="edit_data.gender">
|
<el-radio-group v-model="edit_data.gender">
|
||||||
|
|
@ -25,12 +30,6 @@
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="姓名">
|
|
||||||
<el-form-item prop="name">
|
|
||||||
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
|
|
||||||
<el-descriptions-item label="年龄">
|
<el-descriptions-item label="年龄">
|
||||||
<el-form-item prop="age">
|
<el-form-item prop="age">
|
||||||
<el-input v-model.number="edit_data.age" placeholder="请输入年龄"></el-input>
|
<el-input v-model.number="edit_data.age" placeholder="请输入年龄"></el-input>
|
||||||
|
|
@ -39,7 +38,7 @@
|
||||||
<el-descriptions-item label="科室">
|
<el-descriptions-item label="科室">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="edit_data.sectionId"
|
v-model="edit_data.organizationSectionId"
|
||||||
placeholder="选择科室"
|
placeholder="选择科室"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -99,14 +98,6 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="待遇状态">
|
|
||||||
<el-form-item prop="treatmentStatus">
|
|
||||||
<el-select v-model="edit_data.treatmentStatus" placeholder="待遇状态">
|
|
||||||
<el-option label="新患者" :value="0"></el-option>
|
|
||||||
<el-option label="老患者" :value="1"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item
|
<el-descriptions-item
|
||||||
label="备注">
|
label="备注">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
|
@ -126,6 +117,9 @@
|
||||||
{{ getKey(insutypes, scope.row.insutype) }}
|
{{ getKey(insutypes, scope.row.insutype) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="待遇状态" >
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="参保日期" prop="psn_insu_date"></el-table-column>
|
||||||
<el-table-column label="剩余余额" prop="balc">
|
<el-table-column label="剩余余额" prop="balc">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
¥{{ scope.row.balc || 0 }}
|
¥{{ scope.row.balc || 0 }}
|
||||||
|
|
@ -157,7 +151,7 @@
|
||||||
<div class="bottom-right">
|
<div class="bottom-right">
|
||||||
<el-button type="primary" @click="save">保存</el-button>
|
<el-button type="primary" @click="save">保存</el-button>
|
||||||
<el-button @click="close">取消</el-button>
|
<el-button @click="close">取消</el-button>
|
||||||
<el-button v-if="id" type="danger" @click="deleteDetail">删除</el-button>
|
<el-button v-if="id&&edit_data.status==1" type="danger" @click="deleteDetail">退号</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -256,7 +250,8 @@ const save = () => {
|
||||||
} else {
|
} else {
|
||||||
console.log(socialCard.value)
|
console.log(socialCard.value)
|
||||||
post('registration/add', {
|
post('registration/add', {
|
||||||
data: data, mdtrtCertNo: socialCard.value.mdtrtCertNo,
|
data: data,
|
||||||
|
mdtrtCertNo: socialCard.value.mdtrtCertNo,
|
||||||
mdtrtCertType: socialCard.value.mdtrtCertType
|
mdtrtCertType: socialCard.value.mdtrtCertType
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
ElMessage.success('新建成功')
|
ElMessage.success('新建成功')
|
||||||
|
|
@ -294,7 +289,7 @@ const init = () => {
|
||||||
const isShowCard = ref<any>(true)
|
const isShowCard = ref<any>(true)
|
||||||
const tableData = ref<any>([])
|
const tableData = ref<any>([])
|
||||||
const socialCardUpdate = (e: any) => {
|
const socialCardUpdate = (e: any) => {
|
||||||
console.log(e, "e")
|
loading.value = true
|
||||||
if (e) {
|
if (e) {
|
||||||
isShowCard.value = false
|
isShowCard.value = false
|
||||||
edit_data.value = e.data.baseinfo
|
edit_data.value = e.data.baseinfo
|
||||||
|
|
@ -317,6 +312,7 @@ const deleteCard = () => {
|
||||||
if (action == "confirm") {
|
if (action == "confirm") {
|
||||||
isShowCard.value = true
|
isShowCard.value = true
|
||||||
edit_data.value = {}
|
edit_data.value = {}
|
||||||
|
tableData.value=[]
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
cardDefaultRef.value?.close()
|
cardDefaultRef.value?.close()
|
||||||
})
|
})
|
||||||
|
|
@ -424,4 +420,8 @@ defineExpose({init})
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:deep(.el-form-item) {
|
||||||
|
margin-bottom: 2px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -27,7 +27,11 @@
|
||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="section_name" label="科室"></el-table-column>
|
<el-table-column prop="organizationSectionId" label="科室">
|
||||||
|
<template #default="scope">
|
||||||
|
{{ sectionList.find((item:any)=>item.id===scope.row.organizationSectionId)?.name || '-' }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="organizationDoctorId" label="医生">
|
<el-table-column prop="organizationDoctorId" label="医生">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ roleList.find((item: any) => item.id === scope.row.organizationDoctorId)?.name || '-' }}
|
{{ roleList.find((item: any) => item.id === scope.row.organizationDoctorId)?.name || '-' }}
|
||||||
|
|
@ -60,12 +64,14 @@ const props = defineProps({
|
||||||
})
|
})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
initDoctor()
|
initDoctor()
|
||||||
|
initSection()
|
||||||
})
|
})
|
||||||
const visitType = ref<any>({
|
const visitType = ref<any>({
|
||||||
0: '初诊',
|
0: '初诊',
|
||||||
1: '复诊'
|
1: '复诊'
|
||||||
})
|
})
|
||||||
const roleList = ref<any>([])
|
const roleList = ref<any>([])
|
||||||
|
const sectionList = ref<any>([])
|
||||||
const initDoctor = () => {
|
const initDoctor = () => {
|
||||||
let query = {
|
let query = {
|
||||||
keyword: null,
|
keyword: null,
|
||||||
|
|
@ -79,6 +85,11 @@ const emit = defineEmits(['rowClick'])
|
||||||
const rowClick = (row: any) => {
|
const rowClick = (row: any) => {
|
||||||
emit('rowClick', row)
|
emit('rowClick', row)
|
||||||
}
|
}
|
||||||
|
const initSection = () => {
|
||||||
|
post('organization/section/allList').then((res: any) => {
|
||||||
|
sectionList.value = res
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.patient-list {
|
.patient-list {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue