门诊挂号 save接口 ,收费服务管理页面名称为服务类型 + 分类 + 专业 up by dh
This commit is contained in:
@@ -657,6 +657,12 @@ function submitForm() {
|
|||||||
{ required: true, message: "描述不能为空", trigger: "blur" },
|
{ required: true, message: "描述不能为空", trigger: "blur" },
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// const nameData = name || chargeName;
|
||||||
|
// 服务名称
|
||||||
|
form.value.name = getName();
|
||||||
|
// 收费名称
|
||||||
|
form.value.chargeName = getName();
|
||||||
proxy.$refs["registrationfeeRef"].validate((valid) => {
|
proxy.$refs["registrationfeeRef"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (form.value.id != undefined) {
|
if (form.value.id != undefined) {
|
||||||
@@ -685,6 +691,39 @@ function submitForm() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取完整地址字符串
|
||||||
|
function getName() {
|
||||||
|
console.log(service_type_code.value, "service_type_code.value");
|
||||||
|
// 服务类型
|
||||||
|
const serviceTypeText = proxy.selectDictLabel(service_type_code.value, form.value.fwTypeCode);
|
||||||
|
// 服务分类
|
||||||
|
const categoryCodeText = proxy.selectDictLabel(category_code.value, form.value.categoryCode);
|
||||||
|
// 服务专业
|
||||||
|
const specialtyCodeText = proxy.selectDictLabel(specialty_code.value, form.value.specialtyCode);
|
||||||
|
console.log(
|
||||||
|
serviceTypeText,
|
||||||
|
"serviceTypeText",
|
||||||
|
categoryCodeText,
|
||||||
|
specialtyCodeText
|
||||||
|
);
|
||||||
|
const nameParts = [
|
||||||
|
serviceTypeText,
|
||||||
|
form.value.addressCity,
|
||||||
|
categoryCodeText,
|
||||||
|
specialtyCodeText,
|
||||||
|
];
|
||||||
|
|
||||||
|
// 使用 reduce 方法拼接地址,非空字段之间用 '-' 连接
|
||||||
|
return nameParts.reduce((acc, part) => {
|
||||||
|
if (part) {
|
||||||
|
if (acc) {
|
||||||
|
acc += ' - '; // 在非空字段之间添加 '-'
|
||||||
|
}
|
||||||
|
acc += part;
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, "");
|
||||||
|
}
|
||||||
/** 详细按钮操作 */
|
/** 详细按钮操作 */
|
||||||
function handleView(row) {
|
function handleView(row) {
|
||||||
reset();
|
reset();
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ export function getHealthcareMetadata(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 门诊挂号目录分类查询
|
// // 门诊挂号查询
|
||||||
// export function getOutpatientRegistrationCategory() {
|
// export function getOutpatientRegistrationCategory() {
|
||||||
// return request({
|
// return request({
|
||||||
// url: '/outpatient-service/registerinformation-init',
|
// url: '/outpatient-service/registerinformation-init',
|
||||||
@@ -71,6 +71,15 @@ export function getHealthcareMetadata(query) {
|
|||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
// 新增门诊挂号信息
|
||||||
|
export function addOutpatientRegistration(data) {
|
||||||
|
return request({
|
||||||
|
url: '/outpatient-service/register/save',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 新增病人信息
|
// 新增病人信息
|
||||||
export function addPatient(data) {
|
export function addPatient(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<el-form
|
<el-form
|
||||||
:model="form"
|
:model="form"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
ref="medicationRef"
|
ref="outpatientregistrationRef"
|
||||||
label-width="110px"
|
label-width="110px"
|
||||||
>
|
>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1">
|
<el-col :span="1">
|
||||||
<el-form-item prop="name" label-width="0px">
|
<el-form-item prop="allergenFlag" label-width="0px">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-model="form.allergenFlag"
|
v-model="form.allergenFlag"
|
||||||
label="(终端)扫码"
|
label="(终端)扫码"
|
||||||
@@ -138,11 +138,11 @@
|
|||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="医保余额:"
|
label="医保余额:"
|
||||||
prop="pyStr"
|
prop="balanceAmount"
|
||||||
class="custom-label-spacing"
|
class="custom-label-spacing"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.pyStr"
|
v-model="form.balanceAmount"
|
||||||
placeholder=""
|
placeholder=""
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
/>
|
/>
|
||||||
@@ -162,15 +162,61 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="5">
|
||||||
|
<el-form-item
|
||||||
|
label="医保名称:"
|
||||||
|
prop="ybName"
|
||||||
|
class="custom-label-spacing"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="form.ybName"
|
||||||
|
placeholder=""
|
||||||
|
:disabled="true"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="医保区域:" prop="ybAreaNo">
|
||||||
|
<el-select
|
||||||
|
v-model="form.ybAreaNo"
|
||||||
|
placeholder="医保区域"
|
||||||
|
clearable
|
||||||
|
style="width: 240px"
|
||||||
|
:disabled="true"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in med_chrgitm_type"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="5">
|
||||||
|
<el-form-item
|
||||||
|
label="欠费限制额度:"
|
||||||
|
prop="limitAccount"
|
||||||
|
class="custom-label-spacing"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model="form.limitAccount"
|
||||||
|
placeholder=""
|
||||||
|
:disabled="true"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="费用性质:"
|
label="费用性质:"
|
||||||
prop="busNo"
|
prop="contractNo"
|
||||||
class="custom-label-spacing"
|
class="custom-label-spacing"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.busNo"
|
v-model="form.contractNo"
|
||||||
placeholder="费用性质"
|
placeholder="费用性质"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@@ -212,7 +258,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col> -->
|
</el-col> -->
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="就诊原因:" prop="name">
|
<el-form-item label="就诊原因:" prop="ybType">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.ybType"
|
v-model="form.ybType"
|
||||||
placeholder="就诊原因"
|
placeholder="就诊原因"
|
||||||
@@ -240,11 +286,11 @@
|
|||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="优先级:"
|
label="优先级:"
|
||||||
prop="priorityLevel"
|
prop="priorityEnum"
|
||||||
class="custom-label-spacing"
|
class="custom-label-spacing"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.priorityLevel"
|
v-model="form.priorityEnum"
|
||||||
placeholder="优先级"
|
placeholder="优先级"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@@ -319,14 +365,15 @@
|
|||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="挂号类型"
|
label="挂号类型"
|
||||||
prop="healthcareType"
|
prop="serviceTypeId"
|
||||||
class="custom-label-spacing"
|
class="custom-label-spacing"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.healthcareType"
|
v-model="form.serviceTypeId"
|
||||||
placeholder="挂号类型"
|
placeholder="挂号类型"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
|
@change="setchargeItem"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="healthcare in healthcareList"
|
v-for="healthcare in healthcareList"
|
||||||
@@ -338,9 +385,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="医生:" prop="doctorId">
|
<el-form-item label="医生:" prop="practitionerId">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.doctorId"
|
v-model="form.practitionerId"
|
||||||
placeholder="医生"
|
placeholder="医生"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@@ -436,6 +483,26 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-row :gutter="24" justify="end">
|
||||||
|
<el-col :span="5" style="text-align: right">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="CircleClose"
|
||||||
|
@click="handleClear"
|
||||||
|
v-hasPermi="['system:user:export']"
|
||||||
|
>清空</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="Plus"
|
||||||
|
@click="handleAdd"
|
||||||
|
v-hasPermi="['system:user:add']"
|
||||||
|
>添加</el-button
|
||||||
|
>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -459,6 +526,7 @@ import {
|
|||||||
getLocationTree,
|
getLocationTree,
|
||||||
getPractitionerMetadata,
|
getPractitionerMetadata,
|
||||||
getHealthcareMetadata,
|
getHealthcareMetadata,
|
||||||
|
addOutpatientRegistration
|
||||||
} from "./components/outpatientregistration";
|
} from "./components/outpatientregistration";
|
||||||
import patientInfoDialog from "./components/patientInfoDialog";
|
import patientInfoDialog from "./components/patientInfoDialog";
|
||||||
import PatientAddDialog from "./components/patientAddDialog";
|
import PatientAddDialog from "./components/patientAddDialog";
|
||||||
@@ -555,29 +623,41 @@ function handleAddPatient() {
|
|||||||
function setForm(formData) {
|
function setForm(formData) {
|
||||||
console.log(formData, "formData");
|
console.log(formData, "formData");
|
||||||
form.value = { ...form.value, ...formData };
|
form.value = { ...form.value, ...formData };
|
||||||
|
form.value.patientId = formData.id;
|
||||||
}
|
}
|
||||||
// 设定表单
|
// 设定表单
|
||||||
function setInfo() {
|
function setInfo() {
|
||||||
const doctorData = doctorList.value.filter(
|
const doctorData = doctorList.value.filter(
|
||||||
(doctor) => doctor.id === form.value.doctorId
|
(doctor) => doctor.id === form.value.practitionerId
|
||||||
);
|
);
|
||||||
form.value.doctorName = doctorData.length > 0 ? doctorData[0].name : "";
|
form.value.doctorName = doctorData.length > 0 ? doctorData[0].name : "";
|
||||||
console.log(doctorData, "datayisheng");
|
console.log(doctorData, "datayisheng");
|
||||||
const healthcareData = healthcareList.value.filter(
|
const healthcareData = healthcareList.value.filter(
|
||||||
(healthcare) => healthcare.id === form.value.healthcareType
|
(healthcare) => healthcare.id === form.value.serviceTypeId
|
||||||
);
|
);
|
||||||
form.value.locationId_dictText =
|
form.value.locationId_dictText =
|
||||||
healthcareData.length > 0 ? healthcareData[0].name : "";
|
healthcareData.length > 0 ? healthcareData[0].name : "";
|
||||||
form.value.price = healthcareData.length > 0 ? healthcareData[0].price : "";
|
form.value.price = healthcareData.length > 0 ? healthcareData[0].price : "";
|
||||||
}
|
}
|
||||||
/** 查询病种目录列表 */
|
|
||||||
|
// 设定费用项管理表单
|
||||||
|
function setchargeItem() {
|
||||||
|
const healthcareData = healthcareList.value.filter(
|
||||||
|
(healthcare) => healthcare.id === form.value.serviceTypeId
|
||||||
|
);
|
||||||
|
form.value.definitionId =
|
||||||
|
healthcareData.length > 0 ? healthcareData[0].definitionId : "";
|
||||||
|
form.value.totalPrice =
|
||||||
|
healthcareData.length > 0 ? healthcareData[0].price : "";
|
||||||
|
}
|
||||||
|
/** 查询患者信息 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true;
|
// loading.value = true;
|
||||||
getOutpatientRegistrationList(queryParams.value).then((res) => {
|
// getOutpatientRegistrationList(queryParams.value).then((res) => {
|
||||||
loading.value = false;
|
// loading.value = false;
|
||||||
outpatientRegistrationList.value = res.data.records;
|
// outpatientRegistrationList.value = res.data.records;
|
||||||
total.value = res.data.total;
|
// total.value = res.data.total;
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询费用性质 */
|
/** 查询费用性质 */
|
||||||
@@ -631,12 +711,20 @@ function getHealthcare(data) {
|
|||||||
const param = {
|
const param = {
|
||||||
organizationId: data.organizationId,
|
organizationId: data.organizationId,
|
||||||
};
|
};
|
||||||
|
// 设定表单中的机构ID
|
||||||
|
form.value.organizationId = data.organizationId;
|
||||||
|
|
||||||
getHealthcareMetadata(param).then((response) => {
|
getHealthcareMetadata(param).then((response) => {
|
||||||
healthcareList.value = response.data.records;
|
healthcareList.value = response.data.records;
|
||||||
console.log("getHealthcareMetadata", "response", response.data);
|
console.log("getHealthcareMetadata", "response", response.data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 清空条件按钮操作 */
|
||||||
|
function handleClear() {
|
||||||
|
reset();
|
||||||
|
}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
function handleQuery() {
|
function handleQuery() {
|
||||||
queryParams.value.pageNo = 1;
|
queryParams.value.pageNo = 1;
|
||||||
@@ -658,14 +746,23 @@ function reset() {
|
|||||||
busNo: undefined,
|
busNo: undefined,
|
||||||
ybType: undefined,
|
ybType: undefined,
|
||||||
phone: undefined,
|
phone: undefined,
|
||||||
allergenFlag: undefined,
|
|
||||||
locationId: undefined,
|
locationId: undefined,
|
||||||
healthcareType: undefined,
|
serviceTypeId: undefined,
|
||||||
doctorId: undefined,
|
practitionerId: undefined,
|
||||||
locationId_dictText: undefined,
|
locationId_dictText: undefined,
|
||||||
doctorName: undefined,
|
doctorName: undefined,
|
||||||
price: undefined,
|
price: undefined,
|
||||||
priorityLevel: undefined,
|
priorityEnum: undefined,
|
||||||
|
patientId: undefined,
|
||||||
|
organizationId: undefined,
|
||||||
|
contractNo: undefined,
|
||||||
|
typeCode: 1, // 个人现金账户 目前固定传1
|
||||||
|
ybName: undefined,
|
||||||
|
ybAreaNo: undefined,
|
||||||
|
limitAccount: undefined,
|
||||||
|
definitionId: undefined,
|
||||||
|
serviceId: undefined,
|
||||||
|
totalPrice: undefined,
|
||||||
};
|
};
|
||||||
proxy.resetForm("outpatientRegistrationRef");
|
proxy.resetForm("outpatientRegistrationRef");
|
||||||
}
|
}
|
||||||
@@ -677,9 +774,46 @@ function cancel() {
|
|||||||
|
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
reset();
|
const transformedData = transformFormData(form.value);
|
||||||
open.value = true;
|
console.log(transformedData, "transformedData门诊挂号");
|
||||||
title.value = "新增";
|
addOutpatientRegistration(transformedData).then((response) => {
|
||||||
|
reset();
|
||||||
|
proxy.$modal.msgSuccess("新增成功");
|
||||||
|
getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置新增参数
|
||||||
|
function transformFormData(form) {
|
||||||
|
return {
|
||||||
|
encounterFormData: {
|
||||||
|
patientId: form.patientId,
|
||||||
|
priorityEnum: form.priorityEnum,
|
||||||
|
serviceTypeId: form.serviceTypeId,
|
||||||
|
organizationId: form.organizationId,
|
||||||
|
},
|
||||||
|
encounterLocationFormData: {
|
||||||
|
locationId: form.locationId,
|
||||||
|
},
|
||||||
|
encounterParticipantFormData: {
|
||||||
|
practitionerId: form.practitionerId,
|
||||||
|
},
|
||||||
|
accountFormData: {
|
||||||
|
patientId: form.patientId,
|
||||||
|
typeCode: 1, // 默认值为 "1"
|
||||||
|
name: form.ybName,
|
||||||
|
balanceAmount: form.balanceAmount,
|
||||||
|
ybAreaNo: form.ybAreaNo,
|
||||||
|
contractNo: form.contractNo,
|
||||||
|
limitAccount: form.limitAccount,
|
||||||
|
},
|
||||||
|
chargeItemFormData: {
|
||||||
|
patientId: form.patientId,
|
||||||
|
definitionId: form.definitionId,
|
||||||
|
serviceId: form.serviceTypeId,
|
||||||
|
totalPrice: form.totalPrice, // 默认值为 99.99
|
||||||
|
},
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
getInitData();
|
getInitData();
|
||||||
|
|||||||
Reference in New Issue
Block a user