门诊挂号项目画面 up by dh
This commit is contained in:
@@ -207,7 +207,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入名称"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -217,7 +216,6 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -228,7 +228,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入服务名称"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -15,18 +15,13 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="器材名称" prop="name">
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入器材名称"
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.name" placeholder="请输入器材名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -35,69 +30,53 @@
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input v-model="form.pyStr" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.pyStr" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="器材五笔拼音" prop="wbStr">
|
||||
<el-input v-model="form.wbStr" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.wbStr" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="器材分类" prop="categoryEnum">
|
||||
<el-input
|
||||
v-model="form.categoryEnum"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.categoryEnum" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="器材种类" prop="typeCode">
|
||||
<el-input v-model="form.typeCode" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.typeCode" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="包装单位" prop="unitCode">
|
||||
<el-input v-model="form.unitCode" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.unitCode" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="包装规格" prop="size">
|
||||
<el-input v-model="form.size" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.size" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="最小单位" prop="minUnitCode">
|
||||
<el-input
|
||||
v-model="form.minUnitCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.minUnitCode" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="拆零比" prop="partPercent">
|
||||
<el-input
|
||||
v-model="form.partPercent"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.partPercent" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品型号" prop="modelNumber">
|
||||
<el-input
|
||||
v-model="form.modelNumber"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.modelNumber" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -105,7 +84,6 @@
|
||||
<!-- <el-input
|
||||
v-model="form.hvcmFlag"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/> -->
|
||||
<el-checkbox v-model="form.hvcmFlag"></el-checkbox>
|
||||
@@ -115,25 +93,17 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="销售单位" prop="salesUnitCode">
|
||||
<el-input
|
||||
v-model="form.salesUnitCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.salesUnitCode" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="批准文号" prop="approvalNumber">
|
||||
<el-input
|
||||
v-model="form.approvalNumber"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.approvalNumber" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="医保标记" prop="ybFlag">
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder="" maxlength="30" /> -->
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder="" /> -->
|
||||
<el-checkbox v-model="form.ybFlag"></el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -141,7 +111,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="医保编码" prop="ybNo">
|
||||
<el-input v-model="form.ybNo" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.ybNo" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -151,57 +121,41 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="状态" prop="statusEnum">
|
||||
<el-input
|
||||
v-model="form.statusEnum"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.statusEnum" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="生产厂家" prop="manufacturerId">
|
||||
<el-input
|
||||
v-model="form.manufacturerId"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.manufacturerId" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="供应商" prop="supplyId">
|
||||
<el-input v-model="form.supplyId" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.supplyId" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="适用范围" prop="jurisdiction">
|
||||
<el-input
|
||||
v-model="form.jurisdiction"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.jurisdiction" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="执行科室" prop="ruleId">
|
||||
<el-input v-model="form.ruleId" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.ruleId" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="器材版本" prop="version">
|
||||
<el-input v-model="form.version" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.version" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="主要成分" prop="substanceText">
|
||||
<el-input
|
||||
v-model="form.substanceText"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
<el-input v-model="form.substanceText" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -384,8 +338,12 @@ function reset() {
|
||||
function submitForm() {
|
||||
form.value.hvcmFlag ? (form.value.hvcmFlag = 1) : (form.value.hvcmFlag = 0);
|
||||
form.value.ybFlag ? (form.value.ybFlag = 1) : (form.value.ybFlag = 0);
|
||||
form.value.ybMatchFlag ? (form.value.ybMatchFlag = 1) : (form.value.ybMatchFlag = 0);
|
||||
form.value.allergenFlag ? (form.value.allergenFlag = 1) : (form.value.allergenFlag = 0);
|
||||
form.value.ybMatchFlag
|
||||
? (form.value.ybMatchFlag = 1)
|
||||
: (form.value.ybMatchFlag = 0);
|
||||
form.value.allergenFlag
|
||||
? (form.value.allergenFlag = 1)
|
||||
: (form.value.allergenFlag = 0);
|
||||
console.log(form.value, "form.value");
|
||||
if (form.value.id != undefined) {
|
||||
editDevice(form.value).then((response) => {
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -25,19 +24,13 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入药品名"
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="拼音码(品名)" prop="name">
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
<el-input v-model="form.name" placeholder="" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -56,17 +49,12 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="批准文号" prop="name">
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
<el-input v-model="form.name" placeholder="" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="条形码" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -92,7 +80,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -102,7 +89,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -110,11 +96,12 @@
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item
|
||||
label="最小单位"
|
||||
prop="conditionCode"
|
||||
>
|
||||
<el-select v-model="queryParams.status" clearable :disabled="true">
|
||||
<el-form-item label="最小单位" prop="conditionCode">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
clearable
|
||||
:disabled="true"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_normal_disable"
|
||||
:key="dict.value"
|
||||
@@ -129,7 +116,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -139,7 +125,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -147,11 +132,14 @@
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="处方限量(最小单位)" prop="conditionCode" class="custom-label-spacing">
|
||||
<el-form-item
|
||||
label="处方限量(最小单位)"
|
||||
prop="conditionCode"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -186,7 +174,11 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="用药频次" prop="name" :disabled="true">
|
||||
<el-select v-model="queryParams.status" clearable :disabled="true">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
clearable
|
||||
:disabled="true"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_normal_disable"
|
||||
:key="dict.value"
|
||||
@@ -201,7 +193,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
style="width: 49%"
|
||||
/>
|
||||
@@ -224,7 +215,11 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="剂型" prop="conditionCode">
|
||||
<el-select v-model="queryParams.status" clearable :disabled="true">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
clearable
|
||||
:disabled="true"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_normal_disable"
|
||||
:key="dict.value"
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -25,7 +24,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入器材名称"
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -35,14 +33,14 @@
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input v-model="form.pyStr" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.pyStr" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="五笔拼音" prop="wbStr">
|
||||
<el-input v-model="form.wbStr" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.wbStr" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -50,13 +48,12 @@
|
||||
<el-input
|
||||
v-model="form.categoryEnum"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="类型" prop="typeCode">
|
||||
<el-input v-model="form.typeCode" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.typeCode" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -66,20 +63,19 @@
|
||||
<el-input
|
||||
v-model="form.permittedUnitCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="医保标记" prop="ybFlag">
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder="" maxlength="30" /> -->
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder=""/> -->
|
||||
<el-checkbox v-model="form.ybFlag"></el-checkbox>
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder="" maxlength="30" /> -->
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder=""/> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="医保编码" prop="conditionCode">
|
||||
<el-input v-model="form.ybNo" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.ybNo" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -95,17 +91,15 @@
|
||||
<el-input
|
||||
v-model="form.statusEnum"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="身体部位" prop="bodySiteCode">
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder="" maxlength="30" /> -->
|
||||
<!-- <el-input v-model="form.ybFlag" placeholder=""/> -->
|
||||
<el-input
|
||||
v-model="form.bodySiteCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -116,7 +110,6 @@
|
||||
<el-input
|
||||
v-model="form.specimenCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -25,7 +24,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入药品名"
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -35,7 +33,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -59,14 +56,13 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="条形码" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -92,7 +88,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -102,7 +97,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -129,7 +123,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -139,7 +132,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -151,7 +143,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -201,7 +192,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
style="width: 49%"
|
||||
/>
|
||||
|
||||
@@ -254,7 +254,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入名称"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -264,7 +263,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -27,7 +26,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入药品名"
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -36,7 +34,6 @@
|
||||
<el-input
|
||||
v-model="form.pyStr"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -47,13 +44,12 @@
|
||||
<el-input
|
||||
v-model="form.totalVolume"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="小规格含量" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@@ -61,7 +57,6 @@
|
||||
<el-input
|
||||
v-model="form.merchandiseName"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -72,7 +67,6 @@
|
||||
<el-input
|
||||
v-model="form.manufacturerId"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -81,7 +75,6 @@
|
||||
<el-input
|
||||
v-model="form.unitCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -91,7 +84,6 @@
|
||||
<el-input
|
||||
v-model="form.minUnitCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -103,7 +95,6 @@
|
||||
<el-input
|
||||
v-model="form.partPercent"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -113,7 +104,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -123,7 +113,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -135,18 +124,17 @@
|
||||
<el-input
|
||||
v-model="form.approvalNumber"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="采购单价" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="采购拆零价" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -222,7 +210,6 @@
|
||||
<el-input
|
||||
v-model="form.dose"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
style="width: 49%"
|
||||
/>
|
||||
<el-select
|
||||
@@ -276,7 +263,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="剂量单位换算比" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -345,7 +332,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -388,7 +374,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -400,7 +385,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -410,7 +394,6 @@
|
||||
<el-input
|
||||
v-model="form.restrictedScope"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -420,7 +403,6 @@
|
||||
<el-input
|
||||
v-model="form.restrictedFlag"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -464,7 +446,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -476,7 +457,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<el-input
|
||||
v-model="form.busNo"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -25,7 +24,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入药品名"
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -35,7 +33,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -59,14 +56,13 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="条形码" prop="name">
|
||||
<el-input v-model="form.name" placeholder="" maxlength="30" />
|
||||
<el-input v-model="form.name" placeholder=""/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -92,7 +88,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -102,7 +97,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -129,7 +123,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -139,7 +132,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -151,7 +143,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -201,7 +192,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder=""
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
style="width: 49%"
|
||||
/>
|
||||
|
||||
@@ -442,7 +442,6 @@
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="请输入名称"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -452,7 +451,6 @@
|
||||
<el-input
|
||||
v-model="form.conditionCode"
|
||||
placeholder="请输入编码"
|
||||
maxlength="30"
|
||||
:disabled="form.id != undefined"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
import request from '@/utils/request'
|
||||
import { parseStrEmpty } from "@/utils/openhis";
|
||||
|
||||
// 查询初期所需数据
|
||||
export function getInit() {
|
||||
return request({
|
||||
url: '/outpatient-service/register/init',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询患者信息
|
||||
export function getOutpatientRegistrationList(query) {
|
||||
return request({
|
||||
url: '/outpatient-service/register/patient-metadata',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询费用性质
|
||||
export function getContractList() {
|
||||
return request({
|
||||
url: '/outpatient-service/register/contract-list',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 查询诊断信息
|
||||
export function getConditionDefinitionMetadata(query) {
|
||||
return request({
|
||||
url: '/outpatient-service/register/condition-definition-metadata',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询就诊位置
|
||||
export function getLocationTree(query) {
|
||||
return request({
|
||||
url: '/outpatient-service/register/location-tree',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 根据位置id筛选医生
|
||||
export function getPractitionerMetadata(query) {
|
||||
return request({
|
||||
url: '/outpatient-service/register/practitioner-metadata',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 根据机构id筛选服务项目
|
||||
export function getHealthcareMetadata(query) {
|
||||
return request({
|
||||
url: '/outpatient-service/register/healthcare-metadata',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// // 门诊挂号目录分类查询
|
||||
// export function getOutpatientRegistrationCategory() {
|
||||
// return request({
|
||||
// url: '/outpatient-service/registerinformation-init',
|
||||
// method: 'get'
|
||||
// })
|
||||
// }
|
||||
|
||||
// 新增病人信息
|
||||
export function addPatient(data) {
|
||||
return request({
|
||||
url: '/patientmanage/information/patient-information',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function listmaritalstatus() {
|
||||
return request({
|
||||
url: '/patientmanage/information/list-maritalstatus',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function listoccupationtype() {
|
||||
return request({
|
||||
url: '/patientmanage/information/list-occupationtype',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function lisadministrativegender() {
|
||||
return request({
|
||||
url: '/patientmanage/information/list-administrativegender',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function listbloodtypeabo() {
|
||||
return request({
|
||||
url: '/patientmanage/information/list-bloodtypeabo',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function listbloodtypearh() {
|
||||
return request({
|
||||
url: '/patientmanage/information/list-bloodtypearh',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function listfamilyrelationshiptype() {
|
||||
return request({
|
||||
url: '/patientmanage/information/list-familyrelationshiptype',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,507 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- 添加或修改对话框 -->
|
||||
<el-dialog :title="title" v-model="visible" width="980px" append-to-body>
|
||||
<el-form
|
||||
ref="patientRef"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="form.name" clearable :disabled="isViewMode" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="其他姓名" prop="nameJson">
|
||||
<el-input
|
||||
v-model="form.nameJson"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="民族" prop="nationalityCode">
|
||||
<el-input
|
||||
v-model="form.nationalityCode"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<!-- <el-col :span="6">
|
||||
<el-form-item label="年龄" prop="age">
|
||||
<el-input v-model="form.age" clearable :disabled="isViewMode"/>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="性别" prop="genderEnum">
|
||||
<el-radio-group v-model="form.genderEnum" :disabled="isViewMode">
|
||||
<el-radio
|
||||
v-for="item in administrativegenderList"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.info }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="活动标识" prop="tempFlag">
|
||||
<el-radio-group v-model="form.tempFlag" :disabled="isViewMode">
|
||||
<el-radio
|
||||
v-for="dict in patient_temp_flag"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>
|
||||
{{ dict.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="证件类别" prop="idType">
|
||||
<el-select
|
||||
v-model="form.idType"
|
||||
placeholder="证件类别"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_idtype"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="证件号码" prop="idCard">
|
||||
<el-input
|
||||
v-model="form.idCard"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="国家编码" prop="countryCode">
|
||||
<el-input
|
||||
v-model="form.countryCode"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="联系方式" prop="phone">
|
||||
<el-input v-model="form.phone" clearable :disabled="isViewMode" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="职业" prop="prfsEnum">
|
||||
<el-select
|
||||
v-model="form.prfsEnum"
|
||||
placeholder="职业"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in occupationtypeList"
|
||||
:key="item.value"
|
||||
:label="item.info"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="工作单位" prop="workCompany">
|
||||
<el-input
|
||||
v-model="form.workCompany"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="联系人" prop="linkName">
|
||||
<el-input
|
||||
v-model="form.linkName"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系人关系" prop="linkRelationCode">
|
||||
<el-select
|
||||
v-model="form.linkRelationCode"
|
||||
placeholder="联系人关系"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in familyrelationshiptypeList"
|
||||
:key="item.value"
|
||||
:label="item.info"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="联系人电话" prop="linkRelationCode">
|
||||
<el-input
|
||||
v-model="form.linkTelcom"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="地址选择" prop="addressSelect">
|
||||
<el-cascader
|
||||
:options="options"
|
||||
:props="{ checkStrictly: true, value: 'code', label: 'name' }"
|
||||
v-model="selectedOptions"
|
||||
@change="handleChange"
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<span>{{ data.name }}</span>
|
||||
<span v-if="!node.isLeaf">
|
||||
({{ data.children.length }})
|
||||
</span>
|
||||
</template>
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="详细地址" prop="address">
|
||||
<el-input
|
||||
v-model="form.address"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="血型ABO" prop="bloodAbo">
|
||||
<el-select
|
||||
v-model="form.bloodAbo"
|
||||
placeholder="血型ABO"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in bloodtypeaboList"
|
||||
:key="item.value"
|
||||
:label="item.info"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="血型RH" prop="bloodRh">
|
||||
<el-select
|
||||
v-model="form.bloodRh"
|
||||
placeholder="血型RH"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in bloodtypearhList"
|
||||
:key="item.value"
|
||||
:label="item.info"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="婚姻状态" prop="maritalStatusEnum">
|
||||
<el-select
|
||||
v-model="form.maritalStatusEnum"
|
||||
placeholder="婚姻状态"
|
||||
clearable
|
||||
:disabled="isViewMode"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in maritalstatusList"
|
||||
:key="item.value"
|
||||
:label="item.info"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="死亡时间" prop="deceasedDate">
|
||||
<el-date-picker
|
||||
v-model="form.deceasedDate"
|
||||
type="datetime"
|
||||
placeholder="请选择时间"
|
||||
format="YYYY/MM/DD HH:mm:ss"
|
||||
:disabled="isViewMode"
|
||||
value-format="YYYY/MM/DD HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="PatientAddDialog">
|
||||
import pcas from "china-division/dist/pcas-code.json";
|
||||
import {
|
||||
addPatient,
|
||||
listmaritalstatus,
|
||||
listoccupationtype,
|
||||
lisadministrativegender,
|
||||
listbloodtypeabo,
|
||||
listbloodtypearh,
|
||||
listfamilyrelationshiptype,
|
||||
getOutpatientRegistrationList,
|
||||
} from "./outpatientregistration";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
const {
|
||||
patient_gender_enum,
|
||||
sys_idtype,
|
||||
prfs_enum,
|
||||
blood_rh,
|
||||
blood_abo,
|
||||
marital_status_enum,
|
||||
patient_temp_flag,
|
||||
link_relation_code,
|
||||
} = proxy.useDict(
|
||||
"patient_gender_enum",
|
||||
"sys_idtype",
|
||||
"prfs_enum",
|
||||
"blood_rh",
|
||||
"blood_abo",
|
||||
"marital_status_enum",
|
||||
"patient_temp_flag",
|
||||
"link_relation_code"
|
||||
);
|
||||
|
||||
const selectedOptions = ref([]); // v-model 绑定的选中值
|
||||
const maritalstatusList = ref([]); //婚姻
|
||||
const occupationtypeList = ref([]); //职业
|
||||
const administrativegenderList = ref([]); //性别
|
||||
const bloodtypeaboList = ref([]); //血型abo
|
||||
const bloodtypearhList = ref([]); //血型RH
|
||||
const familyrelationshiptypeList = ref([]); //家庭关系
|
||||
// 使用 ref 定义查询所得用户信息数据
|
||||
const patientInfo = ref(undefined);
|
||||
const addressCom = ref(""); //地址
|
||||
|
||||
const options = ref(pcas); // 地区数据
|
||||
|
||||
const title = ref("添加病人");
|
||||
const visible = ref(false);
|
||||
const emits = defineEmits(["submit"]); // 声明自定义事件
|
||||
|
||||
const data = reactive({
|
||||
isViewMode: false,
|
||||
form: {},
|
||||
rules: {
|
||||
name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
|
||||
idCard: [
|
||||
{ required: true, message: "证件号码不能为空", trigger: "blur" },
|
||||
{ min: 18, message: "证件号码不能少于18位", trigger: "blur" },
|
||||
],
|
||||
phone: [{ required: true, message: "联系方式不能为空", trigger: "blur" }],
|
||||
},
|
||||
});
|
||||
|
||||
const { queryParams, form, rules, isViewMode } = toRefs(data);
|
||||
|
||||
const props = defineProps({
|
||||
item: {
|
||||
type: Object,
|
||||
required: false,
|
||||
},
|
||||
});
|
||||
/** 查询菜单列表 */
|
||||
function getList() {
|
||||
listmaritalstatus().then((response) => {
|
||||
maritalstatusList.value = response.data;
|
||||
});
|
||||
listoccupationtype().then((response) => {
|
||||
occupationtypeList.value = response.data;
|
||||
});
|
||||
lisadministrativegender().then((response) => {
|
||||
administrativegenderList.value = response.data;
|
||||
});
|
||||
listbloodtypeabo().then((response) => {
|
||||
bloodtypeaboList.value = response.data;
|
||||
});
|
||||
listbloodtypearh().then((response) => {
|
||||
bloodtypearhList.value = response.data;
|
||||
});
|
||||
listfamilyrelationshiptype().then((response) => {
|
||||
familyrelationshiptypeList.value = response.data;
|
||||
});
|
||||
}
|
||||
|
||||
/** 打开用户信息弹窗 */
|
||||
function getPatientInfo() {
|
||||
const param = {
|
||||
searchKey: form.value.idCard,
|
||||
};
|
||||
getOutpatientRegistrationList(param).then((res) => {
|
||||
console.log(param, "param");
|
||||
if (res.data.records.length > 0) {
|
||||
patientInfo.value = res.data.records[0];
|
||||
console.log(patientInfo.value, "patientInfo.value");
|
||||
// 将表单数据发送给父组件
|
||||
emits("submit", patientInfo.value);
|
||||
}
|
||||
});
|
||||
}
|
||||
//地址选择
|
||||
const handleChange = () => {
|
||||
const checkedNodes = selectedOptions.value.map((code) => {
|
||||
const node = findNodeByCode(options.value, code);
|
||||
return node ? node.name : null;
|
||||
});
|
||||
form.value.addressProvince = checkedNodes[0] || "";
|
||||
form.value.addressCity = checkedNodes[1] || "";
|
||||
form.value.addressDistrict = checkedNodes[2] || "";
|
||||
form.value.addressStreet = checkedNodes[3] || "";
|
||||
form.value.address = "";
|
||||
};
|
||||
|
||||
// 递归查找节点
|
||||
const findNodeByCode = (data, code) => {
|
||||
for (const item of data) {
|
||||
if (item.code === code) return item;
|
||||
if (item.children) {
|
||||
const result = findNodeByCode(item.children, code);
|
||||
if (result) return result;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
// 显示弹框
|
||||
function show() {
|
||||
// queryParams.roleId = props.roleId;
|
||||
getList();
|
||||
visible.value = true;
|
||||
}
|
||||
|
||||
/** 表单重置 */
|
||||
function reset() {
|
||||
form.value = {
|
||||
name: undefined,
|
||||
nameJson: undefined,
|
||||
menuName: undefined,
|
||||
age: undefined,
|
||||
genderEnum: undefined,
|
||||
idType: undefined,
|
||||
idCard: undefined,
|
||||
phone: undefined,
|
||||
prfsEnum: undefined,
|
||||
address: undefined,
|
||||
tempFlag: undefined,
|
||||
countryCode: undefined,
|
||||
bloodRh: undefined,
|
||||
bloodAbo: undefined,
|
||||
nationalityCode: undefined,
|
||||
deceasedDate: undefined,
|
||||
linkName: undefined,
|
||||
linkRelationCode: undefined,
|
||||
linkTelcom: undefined,
|
||||
workCompany: undefined,
|
||||
addressCity: undefined,
|
||||
addressDistrict: undefined,
|
||||
addressStreet: undefined,
|
||||
addressProvince: undefined,
|
||||
maritalStatusEnum: undefined,
|
||||
busNo: undefined,
|
||||
organizationId: undefined,
|
||||
};
|
||||
proxy.resetForm("patientRef");
|
||||
}
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
proxy.$refs["patientRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
// 使用
|
||||
form.value.address = getAddress(form);
|
||||
addPatient(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
visible.value = false;
|
||||
getPatientInfo();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
// 获取完整地址字符串
|
||||
function getAddress(form) {
|
||||
const addressParts = [
|
||||
form.value.addressProvince,
|
||||
form.value.addressCity,
|
||||
form.value.addressDistrict,
|
||||
form.value.addressStreet,
|
||||
form.value.address,
|
||||
];
|
||||
|
||||
// 使用 reduce 方法拼接地址
|
||||
return addressParts.reduce((acc, part) => {
|
||||
return part ? acc + part : acc;
|
||||
}, "");
|
||||
}
|
||||
/** 取消按钮 */
|
||||
function cancel() {
|
||||
visible.value = false;
|
||||
reset();
|
||||
}
|
||||
defineExpose({
|
||||
show,
|
||||
});
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-form--inline .el-form-item {
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
|
||||
/* 使用深度选择器 */
|
||||
.custom-label-spacing :deep(.el-form-item__label) {
|
||||
line-height: 1.2; /* 调整行间距 */
|
||||
margin-bottom: 4px; /* 调整 label 和输入框之间的间距 */
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,174 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-dialog :title="title" v-model="visible" width="800px" append-to-body>
|
||||
<el-table
|
||||
:data="patientInfoList"
|
||||
@selection-change="handleSelectionChange"
|
||||
width="90%"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column
|
||||
label="患者姓名"
|
||||
align="center"
|
||||
key="name"
|
||||
prop="name"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="性别"
|
||||
align="center"
|
||||
key="genderEnum_enumText"
|
||||
prop="genderEnum_enumText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="身份证号"
|
||||
align="center"
|
||||
key="idCard"
|
||||
prop="idCard"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="电话"
|
||||
align="center"
|
||||
key="phone"
|
||||
prop="phone"
|
||||
:show-overflow-tooltip="true"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
label="生日"
|
||||
align="center"
|
||||
key="birthDate"
|
||||
prop="birthDate"
|
||||
:show-overflow-tooltip="true"
|
||||
width="50"
|
||||
/>
|
||||
<el-table-column
|
||||
label="年龄"
|
||||
align="center"
|
||||
key="age"
|
||||
prop="age"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="PatientInfoDialog">
|
||||
import {
|
||||
getOutpatientRegistrationList,
|
||||
} from "./outpatientregistration";
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
|
||||
const patientInfoList = ref([]);
|
||||
const selectedData = ref([]); // 存储选择的行数据
|
||||
const single = ref(true);
|
||||
const multiple = ref(true);
|
||||
const total = ref(0);
|
||||
const title = ref("病人信息");
|
||||
const visible = ref(false);
|
||||
const emits = defineEmits(['submit']); // 声明自定义事件
|
||||
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 50,
|
||||
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
|
||||
},
|
||||
rules: {},
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
const props = defineProps({
|
||||
patientInfoData: {
|
||||
type: Object,
|
||||
required: false,
|
||||
default: () => ({}), // 提供默认值
|
||||
},
|
||||
searchInfo: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: "",
|
||||
},
|
||||
});
|
||||
|
||||
// 显示弹框
|
||||
function show() {
|
||||
patientInfoList.value = props.patientInfoData.records;
|
||||
total.value = props.patientInfoData.total;
|
||||
console.log(props.patientInfoData, "props.patientInfoData");
|
||||
visible.value = true;
|
||||
}
|
||||
|
||||
/** 查询病种目录列表 */
|
||||
function getList() {
|
||||
const query = {
|
||||
searchKey: props.searchInfo,
|
||||
pageNo: queryParams.value.pageNo,
|
||||
pageSize: queryParams.value.pageSize,
|
||||
};
|
||||
getOutpatientRegistrationList(query).then((res) => {
|
||||
if (res.data.records.length > 0) {
|
||||
patientInfoList.value = res.data.records;
|
||||
total.value = res.data.total;
|
||||
console.log(patientInfoList.value, "patientInfoList.value");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** 选择条数 */
|
||||
function handleSelectionChange(selection) {
|
||||
console.log(selection, "selection");
|
||||
selectedData.value = selection.map((item) => ({ ...item })); // 存储选择的行数据
|
||||
single.value = selection.length != 1;
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
|
||||
/** 取消按钮 */
|
||||
function cancel() {
|
||||
visible.value = false;
|
||||
patientInfoList.value = [];
|
||||
}
|
||||
|
||||
/** 提交按钮 */
|
||||
function submitForm() {
|
||||
if (selectedData.value.length > 1) {
|
||||
proxy.$modal.msgSuccess("只能选中一条数据操作!");
|
||||
} else if (selectedData.value.length === 1) {
|
||||
console.log(selectedData.value[0], "selectedData.value");
|
||||
const data = selectedData.value[0];
|
||||
// 将表单数据发送给父组件
|
||||
emits("submit", data);
|
||||
}
|
||||
visible.value = false;
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
show,
|
||||
});
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-form--inline .el-form-item {
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,712 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-row>
|
||||
<el-col :span="24" class="card-box">
|
||||
<el-card>
|
||||
<template #header>
|
||||
<span style="vertical-align: middle">门诊挂号</span></template
|
||||
>
|
||||
<el-form
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
ref="medicationRef"
|
||||
label-width="110px"
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="病历号/姓名:" prop="searchKey">
|
||||
<el-input
|
||||
v-model="form.searchKey"
|
||||
placeholder="请输入姓名/拼音/身份证"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="Plus"
|
||||
@click="handleAddPatient"
|
||||
style="width: 65px"
|
||||
v-hasPermi="['system:user:add']"
|
||||
>新建</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Search"
|
||||
@click="handleSearch"
|
||||
v-hasPermi="['system:user:query']"
|
||||
>查询</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="2" class="icon-select-container">
|
||||
<el-icon><Postcard /></el-icon>
|
||||
<el-form-item prop="" label-width="0px">
|
||||
<el-select
|
||||
v-model="form.type"
|
||||
placeholder="医保卡"
|
||||
clearable
|
||||
:disabled="true"
|
||||
width="240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in contractList"
|
||||
:key="item.busNo"
|
||||
:label="item.contractName"
|
||||
:value="item.busNo"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="1">
|
||||
<el-form-item prop="name" label-width="0px">
|
||||
<el-checkbox
|
||||
v-model="form.allergenFlag"
|
||||
label="(终端)扫码"
|
||||
:style="{ color: 'orange' }"
|
||||
></el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="姓名:" prop="name">
|
||||
<el-input
|
||||
v-model="form.name"
|
||||
placeholder="姓名"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label="性别:"
|
||||
prop="genderEnum_enumText"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.genderEnum_enumText"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label="年龄:"
|
||||
prop="age"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.age"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="卡号:" prop="searchKey">
|
||||
<el-input
|
||||
v-model="form.searchKey"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="证件号:" prop="idCard">
|
||||
<el-input
|
||||
v-model="form.idCard"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item
|
||||
label="初复诊:"
|
||||
prop="firstEnum_enumText"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.firstEnum_enumText"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label="医保余额:"
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.pyStr"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label="参保类型:"
|
||||
prop="locationId"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.pyStr"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="5">
|
||||
<el-form-item
|
||||
label="费用性质:"
|
||||
prop="busNo"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.busNo"
|
||||
placeholder="费用性质"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in contractList"
|
||||
:key="item.busNo"
|
||||
:label="item.contractName"
|
||||
:value="item.busNo"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="6">
|
||||
<el-form-item
|
||||
label="就诊位置:"
|
||||
prop="locationId"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-tree-select
|
||||
v-model="form.locationId"
|
||||
:data="locationOptions"
|
||||
:props="{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
children: 'children',
|
||||
}"
|
||||
value-key="id"
|
||||
placeholder="请选择就诊位置"
|
||||
check-strictly
|
||||
:expand-on-click-node="false"
|
||||
:filter-node-method="filterNode"
|
||||
ref="locationTreeRef"
|
||||
node-key="value"
|
||||
highlight-current
|
||||
default-expand-all
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="6">
|
||||
<el-form-item label="就诊原因:" prop="name">
|
||||
<el-select
|
||||
v-model="form.ybType"
|
||||
placeholder="就诊原因"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<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="phone"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input v-model="form.phone" placeholder="" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label="优先级:"
|
||||
prop="priorityLevel"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.priorityLevel"
|
||||
placeholder="优先级"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in priorityLevelOptionOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label=""
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="form.allergenFlag"
|
||||
label="减免"
|
||||
></el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<!-- <el-col :span="5">
|
||||
<el-form-item label="科室:" prop="name">
|
||||
<el-select
|
||||
v-model="form.ybType"
|
||||
placeholder="就诊原因"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<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="locationId"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-tree-select
|
||||
v-model="form.locationId"
|
||||
:data="locationOptions"
|
||||
:props="{
|
||||
value: 'id',
|
||||
label: 'name',
|
||||
children: 'children',
|
||||
}"
|
||||
value-key="id"
|
||||
placeholder="请选择就诊位置"
|
||||
check-strictly
|
||||
:expand-on-click-node="false"
|
||||
:filter-node-method="filterNode"
|
||||
ref="locationTreeRef"
|
||||
node-key="value"
|
||||
highlight-current
|
||||
default-expand-all
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item
|
||||
label="挂号类型"
|
||||
prop="healthcareType"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.healthcareType"
|
||||
placeholder="挂号类型"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="healthcare in healthcareList"
|
||||
:key="healthcare.id"
|
||||
:label="healthcare.name"
|
||||
:value="healthcare.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="医生:" prop="doctorId">
|
||||
<el-select
|
||||
v-model="form.doctorId"
|
||||
placeholder="医生"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@change="setInfo"
|
||||
>
|
||||
<el-option
|
||||
v-for="doctor in doctorList"
|
||||
:key="doctor.id"
|
||||
:label="doctor.name"
|
||||
:value="doctor.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item
|
||||
label="特病病种:"
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-select
|
||||
v-model="form.ybType"
|
||||
placeholder="特病病种"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<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-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="挂号科室:" prop="locationId_dictText">
|
||||
<el-input
|
||||
v-model="form.locationId_dictText"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="医生:" prop="doctorName">
|
||||
<el-input
|
||||
v-model="form.doctorName"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item
|
||||
label="挂号费:"
|
||||
prop="price"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.price"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item
|
||||
label="诊疗费:"
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.pyStr"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item
|
||||
label="总金额:"
|
||||
prop="pyStr"
|
||||
class="custom-label-spacing"
|
||||
>
|
||||
<el-input
|
||||
v-model="form.pyStr"
|
||||
placeholder=""
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<patient-info-dialog
|
||||
ref="patientInfoRef"
|
||||
:patientInfoData="patientInfoList"
|
||||
:searchInfo="form.searchKey"
|
||||
@submit="setForm"
|
||||
/>
|
||||
<patient-add-dialog ref="patientAddRef" @submit="setForm" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="OutpatientRegistration">
|
||||
import {
|
||||
getOutpatientRegistrationList,
|
||||
getInit,
|
||||
getContractList,
|
||||
getConditionDefinitionMetadata,
|
||||
getLocationTree,
|
||||
getPractitionerMetadata,
|
||||
getHealthcareMetadata,
|
||||
} from "./components/outpatientregistration";
|
||||
import patientInfoDialog from "./components/patientInfoDialog";
|
||||
import PatientAddDialog from "./components/patientAddDialog";
|
||||
import { nextTick } from "vue";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { sys_normal_disable, sys_user_sex, med_chrgitm_type } = proxy.useDict(
|
||||
"sys_normal_disable",
|
||||
"sys_user_sex",
|
||||
"med_chrgitm_type"
|
||||
);
|
||||
|
||||
const outpatientRegistrationList = ref([]);
|
||||
const open = ref(false);
|
||||
const loading = ref(true);
|
||||
const showSearch = ref(true);
|
||||
const selectedData = ref([]); // 存储选择的行数据
|
||||
const single = ref(true);
|
||||
const multiple = ref(true);
|
||||
const total = ref(0);
|
||||
const title = ref("");
|
||||
const priorityLevelOptionOptions = ref(undefined); // 优先级
|
||||
|
||||
// 使用 ref 定义查询所得用户信息数据
|
||||
const patientInfoList = ref(undefined);
|
||||
// 费用性质
|
||||
const contractList = ref(undefined);
|
||||
const locationOptions = ref(undefined); // 地点树选项
|
||||
const doctorList = ref(undefined); // 医生选项
|
||||
const healthcareList = ref(undefined); // 挂号项目选项
|
||||
// const locationOptions = ref(undefined); // 诊断信息
|
||||
// const initPassword = ref(undefined);
|
||||
// const postOptions = ref([]);
|
||||
// const roleOptions = ref([]);
|
||||
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 50,
|
||||
searchKey: undefined, // 品名/商品名/英文品名/编码/拼音
|
||||
statusEnum: undefined, // 状态(包括 1:预置,2:启用,3:停用)
|
||||
ybMatchFlag: undefined, // 是否医保匹配(包括 1:是,0:否)
|
||||
status: undefined, // 状态(包括 1:预置,2:启用,3:停用)
|
||||
},
|
||||
rules: {
|
||||
// name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
|
||||
// conditionCode: [
|
||||
// { required: true, message: "编码不能为空", trigger: "blur" },
|
||||
// ],
|
||||
},
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
/** 初期所用数据查询 */
|
||||
function getInitData() {
|
||||
getInit().then((response) => {
|
||||
console.log(response, "response");
|
||||
priorityLevelOptionOptions.value = response.data.priorityLevelOptionOptions; // 优先级
|
||||
});
|
||||
}
|
||||
|
||||
/** 打开用户信息弹窗 */
|
||||
function handleSearch() {
|
||||
console.log(form.value.searchKey, "form.value.searchKey");
|
||||
if (!form.value.searchKey) {
|
||||
proxy.$modal.msgError("请输入查询内容");
|
||||
return;
|
||||
}
|
||||
const param = {
|
||||
searchKey: form.value.searchKey,
|
||||
};
|
||||
getOutpatientRegistrationList(param).then((res) => {
|
||||
loading.value = false;
|
||||
console.log(param, "param");
|
||||
if (res.data.records.length > 0) {
|
||||
patientInfoList.value = res.data;
|
||||
console.log(patientInfoList.value, "patientInfoList.value");
|
||||
nextTick(() => {
|
||||
proxy.$refs["patientInfoRef"].show(); // 确保子组件更新后再调用 show 方法
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** 新增用户信息弹窗 */
|
||||
function handleAddPatient() {
|
||||
proxy.$refs["patientAddRef"].show(); // 确保子组件更新后再调用 show 方法
|
||||
}
|
||||
|
||||
// 设定表单
|
||||
function setForm(formData) {
|
||||
console.log(formData, "formData");
|
||||
form.value = { ...form.value, ...formData };
|
||||
}
|
||||
// 设定表单
|
||||
function setInfo() {
|
||||
const doctorData = doctorList.value.filter(
|
||||
(doctor) => doctor.id === form.value.doctorId
|
||||
);
|
||||
form.value.doctorName = doctorData.length > 0 ? doctorData[0].name : "";
|
||||
console.log(doctorData, "datayisheng");
|
||||
const healthcareData = healthcareList.value.filter(
|
||||
(healthcare) => healthcare.id === form.value.healthcareType
|
||||
);
|
||||
form.value.locationId_dictText =
|
||||
healthcareData.length > 0 ? healthcareData[0].name : "";
|
||||
form.value.price = healthcareData.length > 0 ? healthcareData[0].price : "";
|
||||
}
|
||||
/** 查询病种目录列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
getOutpatientRegistrationList(queryParams.value).then((res) => {
|
||||
loading.value = false;
|
||||
outpatientRegistrationList.value = res.data.records;
|
||||
total.value = res.data.total;
|
||||
});
|
||||
}
|
||||
|
||||
/** 查询费用性质 */
|
||||
function getContract() {
|
||||
getContractList().then((response) => {
|
||||
contractList.value = response.data;
|
||||
});
|
||||
}
|
||||
|
||||
/** 查询诊断信息 */
|
||||
function getConditionDefinition() {
|
||||
getConditionDefinitionMetadata().then((response) => {
|
||||
console.log("getConditionDefinitionMetadata", "response", response.data);
|
||||
});
|
||||
}
|
||||
|
||||
/** 查询就诊位置 */
|
||||
function getLocationInfo() {
|
||||
getLocationTree().then((response) => {
|
||||
locationOptions.value = response.data.records;
|
||||
});
|
||||
}
|
||||
/** 通过条件过滤节点 */
|
||||
const filterNode = (value, data) => {
|
||||
if (!value) return true;
|
||||
return data.label.indexOf(value) !== -1;
|
||||
};
|
||||
/** 节点单击事件 */
|
||||
function handleNodeClick(data) {
|
||||
// queryParams.value.sourceEnum = data.value;
|
||||
// handleQuery();
|
||||
console.log("handleNodeClick", "data", data);
|
||||
getPractitioner(data);
|
||||
getHealthcare(data);
|
||||
}
|
||||
|
||||
/** 根据位置id筛选医生 */
|
||||
function getPractitioner(data) {
|
||||
const param = {
|
||||
locationId: data.id,
|
||||
};
|
||||
console.log("getPractitioner", "param", param);
|
||||
getPractitionerMetadata(param).then((response) => {
|
||||
console.log("getPractitioner", "response", response.data);
|
||||
doctorList.value = response.data.records;
|
||||
});
|
||||
}
|
||||
|
||||
/** 根据机构id筛选服务项目 */
|
||||
function getHealthcare(data) {
|
||||
const param = {
|
||||
organizationId: data.organizationId,
|
||||
};
|
||||
getHealthcareMetadata(param).then((response) => {
|
||||
healthcareList.value = response.data.records;
|
||||
console.log("getHealthcareMetadata", "response", response.data);
|
||||
});
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.pageNo = 1;
|
||||
getList();
|
||||
}
|
||||
|
||||
/** 重置操作表单 */
|
||||
function reset() {
|
||||
form.value = {
|
||||
id: undefined,
|
||||
searchKey: undefined,
|
||||
type: undefined,
|
||||
allergenFlag: undefined,
|
||||
name: undefined,
|
||||
genderEnum_enumText: undefined,
|
||||
age: undefined,
|
||||
idCard: undefined,
|
||||
pyStr: undefined,
|
||||
busNo: undefined,
|
||||
ybType: undefined,
|
||||
phone: undefined,
|
||||
allergenFlag: undefined,
|
||||
locationId: undefined,
|
||||
healthcareType: undefined,
|
||||
doctorId: undefined,
|
||||
locationId_dictText: undefined,
|
||||
doctorName: undefined,
|
||||
price: undefined,
|
||||
priorityLevel: undefined,
|
||||
};
|
||||
proxy.resetForm("outpatientRegistrationRef");
|
||||
}
|
||||
/** 取消按钮 */
|
||||
function cancel() {
|
||||
open.value = false;
|
||||
reset();
|
||||
}
|
||||
|
||||
/** 新增按钮操作 */
|
||||
function handleAdd() {
|
||||
reset();
|
||||
open.value = true;
|
||||
title.value = "新增";
|
||||
}
|
||||
|
||||
getInitData();
|
||||
getList();
|
||||
getContract();
|
||||
getConditionDefinition();
|
||||
getLocationInfo();
|
||||
// getPractitioner();
|
||||
// getHealthcare();
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-form--inline .el-form-item {
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
|
||||
/* 让图标和下拉选在同一行显示 */
|
||||
.icon-select-container {
|
||||
display: flex; /* 使用 Flexbox 布局 */
|
||||
align-items: center; /* 垂直居中 */
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
/* 调整 el-form-item 的样式 */
|
||||
.icon-select-container .el-form-item {
|
||||
margin-bottom: 0; /* 去掉默认的 margin-bottom */
|
||||
margin-left: 8px; /* 图标和下拉选之间的间距 */
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user