挂号添加患者列表
This commit is contained in:
@@ -15,10 +15,27 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="病历号/姓名:" prop="searchKey">
|
||||
<el-input
|
||||
v-model="form.searchKey"
|
||||
placeholder="请输入姓名/拼音/身份证"
|
||||
/>
|
||||
<el-popover
|
||||
:popper-style="{ padding: '0' }"
|
||||
placement="bottom-start"
|
||||
:visible="showPopover"
|
||||
trigger="manual"
|
||||
:width="1200"
|
||||
>
|
||||
<patientList
|
||||
:searchkey="patientSearchKey"
|
||||
@selsectPatient="selsectPatient"
|
||||
/>
|
||||
<template #reference>
|
||||
<el-input
|
||||
@focus="handleFocus"
|
||||
@blur="handleBlur"
|
||||
@input="handleSearchPatient"
|
||||
v-model="form.searchKey"
|
||||
placeholder="请输入姓名/拼音/身份证"
|
||||
/>
|
||||
</template>
|
||||
</el-popover>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
@@ -625,6 +642,7 @@ import {
|
||||
} from "./components/outpatientregistration";
|
||||
import patientInfoDialog from "./components/patientInfoDialog";
|
||||
import PatientAddDialog from "./components/patientAddDialog";
|
||||
import patientList from "./components/patientList";
|
||||
import { nextTick } from "vue";
|
||||
|
||||
const router = useRouter();
|
||||
@@ -646,6 +664,8 @@ const total = ref(0);
|
||||
const title = ref("");
|
||||
const priorityLevelOptionOptions = ref(undefined); // 优先级
|
||||
const jzyyList = ref([{ value: "1", label: "其他" }]);
|
||||
const showPopover = ref(false);
|
||||
const patientSearchKey = ref();
|
||||
// 键盘事件用
|
||||
const contractNameRef = ref(null);
|
||||
const jzyyRef = ref(null);
|
||||
@@ -967,6 +987,39 @@ function handleAdd() {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 姓名表单获取焦点打开列表
|
||||
*/
|
||||
function handleFocus() {
|
||||
showPopover.value = true;
|
||||
}
|
||||
/**
|
||||
* 姓名表单失去焦点关闭列表
|
||||
*/
|
||||
function handleBlur() {
|
||||
showPopover.value = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索患者
|
||||
*/
|
||||
function handleSearchPatient(value) {
|
||||
patientSearchKey.value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 点击患者列表给表单赋值
|
||||
*/
|
||||
function selsectPatient(row) {
|
||||
form.value.searchKey = row.name;
|
||||
form.value.name = row.name;
|
||||
form.value.idCard = row.idCard;
|
||||
form.value.genderEnum_enumText = row.genderEnum_enumText;
|
||||
form.value.phone = row.phone;
|
||||
form.value.firstEnum_enumText = row.firstEnum_enumText;
|
||||
form.value.age = row.age;
|
||||
}
|
||||
|
||||
// 设置新增参数
|
||||
function transformFormData(form) {
|
||||
return {
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
height="630"
|
||||
ref="patientTableRef"
|
||||
:data="patient"
|
||||
row-key="id"
|
||||
@@ -85,7 +86,7 @@ import { getList, receiveEncounter } from "./api";
|
||||
|
||||
const queryParams = ref({
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 50,
|
||||
});
|
||||
const patient = ref([]);
|
||||
const loading = ref(false);
|
||||
@@ -134,7 +135,7 @@ function handleQuery() {
|
||||
function handleSelectionChange() {}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style>
|
||||
.custom-date-picker.el-picker__popper {
|
||||
width: 285px !important;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,21 @@
|
||||
<template>
|
||||
<div style="width: 1250px">
|
||||
<el-button type="primary" plain @click="handleAddPrescription()">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="handleAddPrescription()"
|
||||
:disabled="buttonDisabled"
|
||||
>
|
||||
新增处方
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleSave()"> 发送处方 </el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="handleSave()"
|
||||
:disabled="buttonDisabled"
|
||||
>
|
||||
发送处方
|
||||
</el-button>
|
||||
<el-table
|
||||
v-horizontal-scroll
|
||||
ref="prescriptionRef"
|
||||
@@ -78,10 +90,10 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" align="center" prop="volume" width="180" />
|
||||
<el-table-column label="单价" align="center" prop="" />
|
||||
<el-table-column label="单价" align="center" prop="unitPrice" />
|
||||
<el-table-column label="单次计量" align="center" prop="dose">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.name" placeholder="" />
|
||||
<el-input v-model="scope.row.dose" placeholder="" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@@ -91,7 +103,7 @@
|
||||
width="90"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.name" placeholder=" " >
|
||||
<el-select v-model="scope.row.unitCode" placeholder=" ">
|
||||
<el-option
|
||||
v-for="dict in unit_code"
|
||||
:key="dict.value"
|
||||
@@ -108,7 +120,7 @@
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.name" placeholder=" " clearable>
|
||||
<el-select v-model="scope.row.methodCode" placeholder=" " clearable>
|
||||
<el-option
|
||||
v-for="dict in method_code"
|
||||
:key="dict.value"
|
||||
@@ -118,7 +130,7 @@
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="组套" align="center" prop="" />
|
||||
<el-table-column label="组套" align="center" prop="zt" />
|
||||
<el-table-column
|
||||
label="频次"
|
||||
align="center"
|
||||
@@ -126,7 +138,7 @@
|
||||
width="110"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.name" placeholder="">
|
||||
<el-select v-model="scope.row.rateCode" placeholder="">
|
||||
<el-option
|
||||
v-for="dict in rate_code"
|
||||
:key="dict.value"
|
||||
@@ -137,17 +149,28 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="滴速" align="center" prop="" />
|
||||
<el-table-column label="用药天数" align="center" prop="">
|
||||
<el-table-column label="用药天数" align="center" prop="day">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.name" placeholder="" />
|
||||
<el-input v-model="scope.row.day" placeholder="" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="药品总量" align="center" prop="">
|
||||
<el-table-column label="药品总量" align="center" prop="quantity">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.name" placeholder="" />
|
||||
<el-input v-model="scope.row.quantity" placeholder="" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位" align="center" prop="" width="90">
|
||||
<template #default="scope">
|
||||
<el-select v-model="scope.row.unitCode" placeholder=" ">
|
||||
<el-option
|
||||
v-for="dict in unit_code"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单位" align="center" prop="" />
|
||||
<el-table-column label="金额" align="center" prop="" />
|
||||
<el-table-column label="皮试" align="center" prop="">
|
||||
<template #default="scope">
|
||||
@@ -180,6 +203,9 @@ const queryParams = ref({});
|
||||
const prescriptionList = ref([]);
|
||||
const searchkey = ref("");
|
||||
const rowIndex = ref(-1);
|
||||
const buttonDisabled = computed(() => {
|
||||
return !props.patientInfo;
|
||||
});
|
||||
const props = defineProps({
|
||||
patientInfo: {
|
||||
type: Object,
|
||||
@@ -232,6 +258,12 @@ function handleChange(value) {
|
||||
*/
|
||||
function selsectAdviceBase(row) {
|
||||
prescriptionList.value[rowIndex.value] = JSON.parse(JSON.stringify(row));
|
||||
prescriptionList.value[rowIndex.value].definitionId = JSON.parse(
|
||||
JSON.stringify(row)
|
||||
).chargeItemDefinitionId;
|
||||
|
||||
console.log(row, 234567890);
|
||||
|
||||
// 库存列表 + 价格列表拼成批次号的下拉框
|
||||
prescriptionList.value[rowIndex.value].stockList = row.inventoryList.map(
|
||||
(item, index) => {
|
||||
@@ -244,10 +276,8 @@ function handleDelete(index) {
|
||||
prescriptionList.value.splice(index, 1);
|
||||
}
|
||||
|
||||
function handleNumberClick(value, index) {
|
||||
console.log(value);
|
||||
|
||||
prescriptionList.value[index];
|
||||
function handleNumberClick(item, index) {
|
||||
prescriptionList.value[index].unitPrice = item.price;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -257,6 +287,8 @@ function handleSave() {
|
||||
prescriptionList.value.forEach((item) => {
|
||||
item.patientId = props.patientInfo.patientId;
|
||||
item.encounterId = props.patientInfo.encounterId;
|
||||
item.accountId = props.patientInfo.accountId;
|
||||
item.unitPrice = 1;
|
||||
});
|
||||
savePrescription({ adviceSaveList: prescriptionList.value }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
|
||||
@@ -334,10 +334,10 @@
|
||||
</el-col>
|
||||
<el-col :span="20" :xs="24">
|
||||
<div style="margin-bottom: 10px">
|
||||
<el-button type="primary" plain @click="handleAddDiagnosis()">
|
||||
<el-button type="primary" plain @click="handleAddDiagnosis()" :disabled="buttonDisabled">
|
||||
新增诊断
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click="handleSaveDiagnosis()">
|
||||
<el-button type="primary" plain @click="handleSaveDiagnosis()" :disabled="buttonDisabled">
|
||||
保存诊断
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -488,7 +488,6 @@ import emrhistory from "./components/emrhistory.vue";
|
||||
import diagnosisdialog from "./components/diagnosisdialog.vue";
|
||||
import diagnosislist from "./components/diagnosislist.vue";
|
||||
import { computed, ref } from "vue";
|
||||
import { data } from "province-city-china/data";
|
||||
|
||||
const activeTab = ref("wait");
|
||||
const form = ref({});
|
||||
@@ -815,4 +814,8 @@ function toCurrent() {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-checkbox.is-bordered.el-checkbox--small {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user