|
|
|
@ -1,15 +1,28 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<table> |
|
|
|
<td style="width:60%;"> |
|
|
|
<div style="display:flex"> |
|
|
|
<el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium"> |
|
|
|
<div style="width: 60%"> |
|
|
|
<div style="display: flex"> |
|
|
|
<el-form |
|
|
|
ref="form" |
|
|
|
:model="form" |
|
|
|
label-width="80px" |
|
|
|
:rules="rules" |
|
|
|
size="medium" |
|
|
|
> |
|
|
|
<el-row> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="单位名称" prop="customerOrgId"> |
|
|
|
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll" |
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops }" :show-all-levels="false" |
|
|
|
disabled> |
|
|
|
<el-cascader |
|
|
|
v-model="form.customerOrgId" |
|
|
|
:options="patientRegister.customerOrgTreeAll" |
|
|
|
:props="{ |
|
|
|
checkStrictly: true, |
|
|
|
expandTrigger: 'hover', |
|
|
|
...customerOrg.treeprops, |
|
|
|
}" |
|
|
|
:show-all-levels="false" |
|
|
|
disabled |
|
|
|
> |
|
|
|
</el-cascader> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
@ -28,13 +41,21 @@ |
|
|
|
<el-row> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="姓名" prop="patientName"> |
|
|
|
<el-input v-model="form.patientName" @blur="query(form.patientName)"></el-input> |
|
|
|
<el-input |
|
|
|
v-model="form.patientName" |
|
|
|
@blur="query(form.patientName)" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="性别" prop="sexId"> |
|
|
|
<el-select v-model="form.sexId" placeholder="请选择"> |
|
|
|
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.sex" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
@ -54,13 +75,23 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="出生日期" prop="birthDate"> |
|
|
|
<el-date-picker v-model="form.birthDate" type="date" placeholder="出生日期" style="width:135px;" /> |
|
|
|
<el-date-picker |
|
|
|
v-model="form.birthDate" |
|
|
|
type="date" |
|
|
|
placeholder="出生日期" |
|
|
|
style="width: 135px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="婚姻状况" prop="maritalStatusId"> |
|
|
|
<el-select v-model="form.maritalStatusId" placeholder="请选择"> |
|
|
|
<el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.maritalStatus" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
@ -70,16 +101,34 @@ |
|
|
|
<el-row> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="体检类别" prop="medicalTypeId"> |
|
|
|
<el-select v-model="form.medicalTypeId" placeholder="请选择" filterable> |
|
|
|
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.medicalTypeId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.medicalType" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="人员类别" prop="personnelTypeId"> |
|
|
|
<el-select v-model="form.personnelTypeId" placeholder="请选择" filterable> |
|
|
|
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.personnelTypeId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.personnelType" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
@ -111,7 +160,10 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="身份证号" prop="idNo"> |
|
|
|
<el-input v-model="form.idNo" @blur="query(form.idNo)"></el-input> |
|
|
|
<el-input |
|
|
|
v-model="form.idNo" |
|
|
|
@blur="query(form.idNo)" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
@ -136,8 +188,17 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="民族" prop="nationId"> |
|
|
|
<el-select v-model="form.nationId" placeholder="请选择" filterable> |
|
|
|
<el-option v-for="item in dict.nation" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.nationId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.nation" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
@ -149,8 +210,18 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="性激素期" prop="sexHormoneTermId"> |
|
|
|
<el-select v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable> |
|
|
|
<el-option v-for="item in dict.sexHormoneTerm" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.sexHormoneTermId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.sexHormoneTerm" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
@ -163,7 +234,6 @@ |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
|
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="电话随访" prop="isPhoneFollow"> |
|
|
|
<el-radio v-model="form.isPhoneFollow" label="Y">是</el-radio> |
|
|
|
@ -184,48 +254,98 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="体检开始" prop="isMedicalStart"> |
|
|
|
<el-radio v-model="form.isMedicalStart" label="Y" disabled>是</el-radio> |
|
|
|
<el-radio v-model="form.isMedicalStart" label="N" disabled>否</el-radio> |
|
|
|
<el-radio v-model="form.isMedicalStart" label="Y" disabled |
|
|
|
>是</el-radio |
|
|
|
> |
|
|
|
<el-radio v-model="form.isMedicalStart" label="N" disabled |
|
|
|
>否</el-radio |
|
|
|
> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="体检中心" prop="organizationUnitId"> |
|
|
|
<el-select v-model="form.organizationUnitId" placeholder="请选择" filterable> |
|
|
|
<el-option v-for="item in dict.organization" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.organizationUnitId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.organization" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="分组" prop="customerOrgGroupId"> |
|
|
|
<el-select v-model="form.customerOrgGroupId" placeholder="请选择" filterable clearable |
|
|
|
:disabled="form.customerOrgId === dict.personOrgId ? true : false"> |
|
|
|
<el-option v-for="item in patientRegister.customerOrgGroup" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.customerOrgGroupId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
:disabled=" |
|
|
|
form.customerOrgId === dict.personOrgId ? true : false |
|
|
|
" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in patientRegister.customerOrgGroup" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="套餐" prop="medicalPackageId"> |
|
|
|
<el-select v-model="form.medicalPackageId" placeholder="请选择" filterable clearable |
|
|
|
:disabled="form.customerOrgId === dict.personOrgId ? false : true"> |
|
|
|
<el-option v-for="item in dict.medicalPackage" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.medicalPackageId" |
|
|
|
placeholder="请选择" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
:disabled=" |
|
|
|
form.customerOrgId === dict.personOrgId ? false : true |
|
|
|
" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.medicalPackage" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="完成标志" prop="completeFlag"> |
|
|
|
<el-select v-model="form.completeFlag" placeholder="请选择" disabled> |
|
|
|
<el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="form.completeFlag" |
|
|
|
placeholder="请选择" |
|
|
|
disabled |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.completeFlag" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="备注" prop="remark"> |
|
|
|
<el-input v-model="form.remark" type="textarea" :rows="2" placeholder="请输入内容"></el-input> |
|
|
|
<el-input |
|
|
|
v-model="form.remark" |
|
|
|
type="textarea" |
|
|
|
:rows="2" |
|
|
|
placeholder="请输入内容" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
@ -237,7 +357,14 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="创建时间"> |
|
|
|
<el-input :value="form.creationTime ? lmoment(form.creationTime, 'yyyy-MM-DD'):''" disabled></el-input> |
|
|
|
<el-input |
|
|
|
:value=" |
|
|
|
form.creationTime |
|
|
|
? lmoment(form.creationTime, 'yyyy-MM-DD') |
|
|
|
: '' |
|
|
|
" |
|
|
|
disabled |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
@ -247,12 +374,23 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="修改时间"> |
|
|
|
<el-input :value="form.lastModificationTime ? lmoment(form.lastModificationTime, 'yyyy-MM-DD'):''" disabled></el-input> |
|
|
|
<el-input |
|
|
|
:value=" |
|
|
|
form.lastModificationTime |
|
|
|
? lmoment(form.lastModificationTime, 'yyyy-MM-DD') |
|
|
|
: '' |
|
|
|
" |
|
|
|
disabled |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<el-image class="photo" :src="apiurl + '/' + form.photo" style="width:150;height:200" > |
|
|
|
<el-image |
|
|
|
class="photo" |
|
|
|
:src="apiurl + '/' + form.photo" |
|
|
|
style="width: 150; height: 200" |
|
|
|
> |
|
|
|
<div slot="placeholder" class="image-slot"> |
|
|
|
加载中<span class="dot">...</span> |
|
|
|
</div> |
|
|
|
@ -260,7 +398,7 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 按钮区域 --> |
|
|
|
<div style="margin-left: 10px;display:flex;"> |
|
|
|
<div style="margin-left: 10px; display: flex"> |
|
|
|
<div class="btn"> |
|
|
|
<el-button @click="readIdCard">读身份证</el-button> |
|
|
|
</div> |
|
|
|
@ -268,58 +406,90 @@ |
|
|
|
<el-button type="success" @click="Onsubmit('form')">保存</el-button> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="primary" @click="openCamera" icon="el-icon-camera">拍照</el-button> |
|
|
|
<el-button type="primary" @click="openCamera" icon="el-icon-camera" |
|
|
|
>拍照</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="primary" @click="">申请单</el-button> |
|
|
|
<el-button type="primary">申请单</el-button> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="primary" @click="">打条码</el-button> |
|
|
|
<el-button type="primary">打条码</el-button> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="primary" @click="">打指引单</el-button> |
|
|
|
<el-button type="primary">打指引单</el-button> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="primary" @click="">复制新增</el-button> |
|
|
|
<el-button type="primary">复制新增</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</td> |
|
|
|
<td style="width:40%"> |
|
|
|
<PatientRegisterItem :patientRegisterForm="form" /> |
|
|
|
</td> |
|
|
|
</table> |
|
|
|
</div> |
|
|
|
<div style="width: 40%"> |
|
|
|
<PatientRegisterItem /> |
|
|
|
</div> |
|
|
|
<!-- 人员档案列表 --> |
|
|
|
<el-dialog title="人员档案列表" :visible.sync="dialogVisible" width="800" :append-to-body="true"> |
|
|
|
<el-table :data="patientList" border width="800" height="480" row-key="id" size="small" |
|
|
|
class="el-table__body-wrapper tbody" highlight-current-row @row-click="rowick" ref="patientList"> |
|
|
|
<el-table-column type="index" width="30"/> |
|
|
|
<el-dialog |
|
|
|
title="人员档案列表" |
|
|
|
:visible.sync="dialogVisible" |
|
|
|
width="800" |
|
|
|
:append-to-body="true" |
|
|
|
> |
|
|
|
<el-table |
|
|
|
:data="patientList" |
|
|
|
border |
|
|
|
width="800" |
|
|
|
height="480" |
|
|
|
row-key="id" |
|
|
|
size="small" |
|
|
|
class="el-table__body-wrapper tbody" |
|
|
|
highlight-current-row |
|
|
|
@row-click="rowick" |
|
|
|
ref="patientList" |
|
|
|
> |
|
|
|
<el-table-column type="index" width="30" /> |
|
|
|
<el-table-column prop="patientNo" label="档案号" /> |
|
|
|
<el-table-column prop="lastTime" label="末次体检" width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="scope.row.lastTime">{{ lmoment(scope.row.lastTime, 'yyyy-MM-DD') }}</div> |
|
|
|
<div v-if="scope.row.lastTime"> |
|
|
|
{{ lmoment(scope.row.lastTime, "yyyy-MM-DD") }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="medicalTimes" label="体检次数" /> |
|
|
|
<el-table-column prop="displayName" label="姓名" /> |
|
|
|
<el-table-column prop="sexId" label="性别"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ ldddw(dict.sex, 'id', scope.row.sexId, 'displayName') }}</div> |
|
|
|
<div> |
|
|
|
{{ ldddw(dict.sex, "id", scope.row.sexId, "displayName") }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="maritalStatusId" label="婚姻"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ ldddw(dict.maritalStatus, 'id', scope.row.maritalStatusId, 'displayName') }}</div> |
|
|
|
<div> |
|
|
|
{{ |
|
|
|
ldddw( |
|
|
|
dict.maritalStatus, |
|
|
|
"id", |
|
|
|
scope.row.maritalStatusId, |
|
|
|
"displayName" |
|
|
|
) |
|
|
|
}} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="birthDate" label="出生日期" width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="scope.row.birthDate">{{ lmoment(scope.row.birthDate, 'yyyy-MM-DD') }}</div> |
|
|
|
<div v-if="scope.row.birthDate"> |
|
|
|
{{ lmoment(scope.row.birthDate, "yyyy-MM-DD") }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="nationId" label="民族"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ ldddw(dict.nation, 'id', scope.row.nationId, 'displayName') }}</div> |
|
|
|
<div> |
|
|
|
{{ ldddw(dict.nation, "id", scope.row.nationId, "displayName") }} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="idNo" label="身份证号" /> |
|
|
|
@ -332,25 +502,27 @@ |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
<!-- 拍照 --> |
|
|
|
<el-dialog title="拍照" :visible.sync="patientRegister.cameraVisble" width="400" height="800" :show-close="false" :append-to-body="true"> |
|
|
|
<Camera :id="form.id"/> |
|
|
|
<el-dialog |
|
|
|
title="拍照" |
|
|
|
:visible.sync="patientRegister.cameraVisble" |
|
|
|
width="400" |
|
|
|
height="800" |
|
|
|
:show-close="false" |
|
|
|
:append-to-body="true" |
|
|
|
> |
|
|
|
<Camera :id="form.id" /> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script > |
|
|
|
|
|
|
|
import moment from 'moment'; |
|
|
|
import { mapState } from 'vuex' |
|
|
|
import moment from "moment"; |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
|
<<<<<<< HEAD |
|
|
|
import * as apiurl from '../../utlis/mm' |
|
|
|
import * as apiurl from "../../utlis/mm"; |
|
|
|
|
|
|
|
======= |
|
|
|
import mm from '../../utlis/mm' |
|
|
|
>>>>>>> 7b045e524b52c92a752f9af99d518ea5d08f4ead |
|
|
|
import { objCopy,setNull,dddw } from '../../utlis/proFunc' |
|
|
|
import Camera from './Camera.vue' |
|
|
|
import PatientRegisterItem from './PatientRegisterItem.vue' |
|
|
|
import { objCopy, setNull, dddw } from "../../utlis/proFunc"; |
|
|
|
import Camera from "./Camera.vue"; |
|
|
|
import PatientRegisterItem from "./PatientRegisterItem.vue"; |
|
|
|
export default { |
|
|
|
components: { |
|
|
|
Camera, |
|
|
|
@ -358,61 +530,62 @@ export default { |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
apiurl:mm.apiurl, |
|
|
|
apiurl, |
|
|
|
form: { |
|
|
|
id: '', //id |
|
|
|
patientId: '00000000-0000-0000-0000-000000000000', //档案号ID 选择了档案就传档案号,未选就传00000-0000... |
|
|
|
patientNo:'',//档案号 |
|
|
|
id: "", //id |
|
|
|
patientId: "00000000-0000-0000-0000-000000000000", //档案号ID 选择了档案就传档案号,未选就传00000-0000... |
|
|
|
patientNo: "", //档案号 |
|
|
|
customerOrgId: null, //单位编号 |
|
|
|
customerOrgGroupId: null, //分组 |
|
|
|
medicalPackageId: null,//套餐 |
|
|
|
patientName: '', //姓名 |
|
|
|
birthDate: '', //字符串 如:2012-01-29 |
|
|
|
sexId: 'U', //性别 默认未知U |
|
|
|
medicalPackageId: null, //套餐 |
|
|
|
patientName: "", //姓名 |
|
|
|
birthDate: "", //字符串 如:2012-01-29 |
|
|
|
sexId: "U", //性别 默认未知U |
|
|
|
age: null, //年龄 |
|
|
|
jobCardNo: '', //工卡号 |
|
|
|
medicalCardNo: '', //体检卡号 |
|
|
|
maritalStatusId: 'U', //婚姻状况 默认未知 |
|
|
|
jobCardNo: "", //工卡号 |
|
|
|
medicalCardNo: "", //体检卡号 |
|
|
|
maritalStatusId: "U", //婚姻状况 默认未知 |
|
|
|
medicalTypeId: null, //体检类别 |
|
|
|
personnelTypeId: null, //人员类别 |
|
|
|
jobPost: '', //职务 |
|
|
|
jobTitle: '', //职称 |
|
|
|
photo: 'https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg', //照片 |
|
|
|
salesman: '', //介绍人 |
|
|
|
jobPost: "", //职务 |
|
|
|
jobTitle: "", //职称 |
|
|
|
photo: |
|
|
|
"https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg", //照片 |
|
|
|
salesman: "", //介绍人 |
|
|
|
sexHormoneTermId: null, //性激素期限 |
|
|
|
isNameHide: 'N', //隐藏姓名 |
|
|
|
isPhoneFollow: 'N', //电话随访 |
|
|
|
isVip: 'N', //vip客户 |
|
|
|
remark: '', // |
|
|
|
isLock: 'N', //是否锁住 |
|
|
|
completeFlag: '1', //完成标志 0:预登记,1:未检,2:部份已检,3:已总检 【创建编辑时不操作】 |
|
|
|
isMedicalStart: 'N', //体检开始标志 【创建编辑时不操作】 |
|
|
|
patientRegisterNo: '', //条码号 【创建编辑时不操作】 |
|
|
|
isNameHide: "N", //隐藏姓名 |
|
|
|
isPhoneFollow: "N", //电话随访 |
|
|
|
isVip: "N", //vip客户 |
|
|
|
remark: "", // |
|
|
|
isLock: "N", //是否锁住 |
|
|
|
completeFlag: "1", //完成标志 0:预登记,1:未检,2:部份已检,3:已总检 【创建编辑时不操作】 |
|
|
|
isMedicalStart: "N", //体检开始标志 【创建编辑时不操作】 |
|
|
|
patientRegisterNo: "", //条码号 【创建编辑时不操作】 |
|
|
|
medicalTimes: 1, //条码号 【创建编辑时不操作】 |
|
|
|
organizationUnitId: null, //体检中心 |
|
|
|
address:'', //地址 |
|
|
|
email:'', //email |
|
|
|
idNo:'', //身份证号 |
|
|
|
telephone:'', //电话 |
|
|
|
mobileTelephone:'', //手机号 |
|
|
|
nationId:null, //民族编号 |
|
|
|
postalCode:'', //邮编 |
|
|
|
creatorId:null, |
|
|
|
creationTime:'', |
|
|
|
lastModificationTime:'', |
|
|
|
lastModifierId:null, |
|
|
|
address: "", //地址 |
|
|
|
email: "", //email |
|
|
|
idNo: "", //身份证号 |
|
|
|
telephone: "", //电话 |
|
|
|
mobileTelephone: "", //手机号 |
|
|
|
nationId: null, //民族编号 |
|
|
|
postalCode: "", //邮编 |
|
|
|
creatorId: null, |
|
|
|
creationTime: "", |
|
|
|
lastModificationTime: "", |
|
|
|
lastModifierId: null, |
|
|
|
}, //单位 记录 目前新增与更新是一致 |
|
|
|
|
|
|
|
defaultNull:[ |
|
|
|
'customerOrgId', |
|
|
|
'customerOrgGroupId', |
|
|
|
'medicalPackageId', |
|
|
|
'age', |
|
|
|
'medicalTypeId', |
|
|
|
'personnelTypeId', |
|
|
|
'sexHormoneTermId', |
|
|
|
'organizationUnitId', |
|
|
|
'nationId', |
|
|
|
defaultNull: [ |
|
|
|
"customerOrgId", |
|
|
|
"customerOrgGroupId", |
|
|
|
"medicalPackageId", |
|
|
|
"age", |
|
|
|
"medicalTypeId", |
|
|
|
"personnelTypeId", |
|
|
|
"sexHormoneTermId", |
|
|
|
"organizationUnitId", |
|
|
|
"nationId", |
|
|
|
], //一般uuid字段为空时,需设置为null值 |
|
|
|
|
|
|
|
rules: { |
|
|
|
@ -424,88 +597,82 @@ export default { |
|
|
|
], |
|
|
|
}, |
|
|
|
|
|
|
|
dialogVisible:false, |
|
|
|
patientList:[],//人员列表(用于判断人员多次体检) |
|
|
|
patientChoosed:{}, //查重选中的人员 |
|
|
|
dialogVisible: false, |
|
|
|
patientList: [], //人员列表(用于判断人员多次体检) |
|
|
|
patientChoosed: {}, //查重选中的人员 |
|
|
|
|
|
|
|
dialogCamera:false, //拍照组件 |
|
|
|
dialogCamera: false, //拍照组件 |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
created() { |
|
|
|
|
|
|
|
}, |
|
|
|
created() {}, |
|
|
|
|
|
|
|
//挂载完成 |
|
|
|
mounted() { |
|
|
|
//表单赋值 |
|
|
|
//console.log('mounted this.patientRegister.patientRegisterRd',this.patientRegister.patientRegisterRd) |
|
|
|
objCopy(this.patientRegister.patientRegisterRd, this.form) |
|
|
|
console.log('mounted this.form',this.form) |
|
|
|
objCopy(this.patientRegister.patientRegisterRd, this.form); |
|
|
|
console.log("mounted this.form", this.form); |
|
|
|
}, |
|
|
|
|
|
|
|
computed: { |
|
|
|
...mapState(['dict', 'patientRegister', 'customerOrg']), |
|
|
|
...mapState(["dict", "patientRegister", "customerOrg"]), |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
|
|
|
|
readIdCard() { |
|
|
|
console.log('this.form1', this.form) |
|
|
|
console.log("this.form1", this.form); |
|
|
|
}, |
|
|
|
|
|
|
|
//根据姓名,身份证号 查询档案信息,用于判断人员多次体检 |
|
|
|
query(param){ |
|
|
|
query(param) { |
|
|
|
//编辑的时候不查重 |
|
|
|
if(this.form.id || !param) return |
|
|
|
if (this.form.id || !param) return; |
|
|
|
|
|
|
|
//console.log(param) |
|
|
|
getapi(`/api/app/patient/in-filter?Filter=${param}`) |
|
|
|
.then( |
|
|
|
(res) => { |
|
|
|
if(res.code == 1){ |
|
|
|
console.log('查重 ',res) //有数据才显示 |
|
|
|
if(res.data.items && res.data.items.length > 0){ |
|
|
|
this.patientList = res.data.items |
|
|
|
this.dialogVisible = true |
|
|
|
getapi(`/api/app/patient/in-filter?Filter=${param}`).then((res) => { |
|
|
|
if (res.code == 1) { |
|
|
|
console.log("查重 ", res); //有数据才显示 |
|
|
|
if (res.data.items && res.data.items.length > 0) { |
|
|
|
this.patientList = res.data.items; |
|
|
|
this.dialogVisible = true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//列表选中 |
|
|
|
rowick(row){ |
|
|
|
this.patientChoosed = row |
|
|
|
rowick(row) { |
|
|
|
this.patientChoosed = row; |
|
|
|
}, |
|
|
|
|
|
|
|
//确定选择人员 |
|
|
|
choosePatient(){ |
|
|
|
if(!this.patientChoosed){ |
|
|
|
alert("请选中人员档案信息") |
|
|
|
return |
|
|
|
choosePatient() { |
|
|
|
if (!this.patientChoosed) { |
|
|
|
alert("请选中人员档案信息"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
this.dialogVisible = false |
|
|
|
|
|
|
|
this.form.patientId = this.patientChoosed.id |
|
|
|
this.form.patientName = this.patientChoosed.displayName |
|
|
|
this.form.sexId = this.patientChoosed.sexId |
|
|
|
this.form.maritalStatusId = this.patientChoosed.maritalStatusId |
|
|
|
this.form.birthDate = this.patientChoosed.birthDate |
|
|
|
this.form.nationId = this.patientChoosed.nationId |
|
|
|
this.form.idNo = this.patientChoosed.idNo |
|
|
|
this.form.telephone = this.patientChoosed.telephone |
|
|
|
this.form.mobileTelephone = this.patientChoosed.mobileTelephone |
|
|
|
this.form.patientNo = this.patientChoosed.patientNo |
|
|
|
this.form.medicalTimes = this.patientChoosed.medicalTimes + 1 |
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
|
|
this.form.patientId = this.patientChoosed.id; |
|
|
|
this.form.patientName = this.patientChoosed.displayName; |
|
|
|
this.form.sexId = this.patientChoosed.sexId; |
|
|
|
this.form.maritalStatusId = this.patientChoosed.maritalStatusId; |
|
|
|
this.form.birthDate = this.patientChoosed.birthDate; |
|
|
|
this.form.nationId = this.patientChoosed.nationId; |
|
|
|
this.form.idNo = this.patientChoosed.idNo; |
|
|
|
this.form.telephone = this.patientChoosed.telephone; |
|
|
|
this.form.mobileTelephone = this.patientChoosed.mobileTelephone; |
|
|
|
this.form.patientNo = this.patientChoosed.patientNo; |
|
|
|
this.form.medicalTimes = this.patientChoosed.medicalTimes + 1; |
|
|
|
}, |
|
|
|
|
|
|
|
ldddw(arrayData, key, value, display) { |
|
|
|
return dddw(arrayData, key, value, display) |
|
|
|
return dddw(arrayData, key, value, display); |
|
|
|
}, |
|
|
|
|
|
|
|
lmoment(date, forMat) { |
|
|
|
return moment(new Date(date)).format(forMat) |
|
|
|
return moment(new Date(date)).format(forMat); |
|
|
|
}, |
|
|
|
|
|
|
|
//提交 |
|
|
|
@ -513,63 +680,63 @@ export default { |
|
|
|
this.$refs[formName].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
//赋值 |
|
|
|
let body = {...this.form} |
|
|
|
let body = { ...this.form }; |
|
|
|
|
|
|
|
delete body.id |
|
|
|
delete body.patientRegisterNo |
|
|
|
delete body.medicalTimes |
|
|
|
delete body.completeFlag |
|
|
|
delete body.isMedicalStart |
|
|
|
delete body.patientNo |
|
|
|
delete body.creatorId |
|
|
|
delete body.creationTime |
|
|
|
delete body.lastModificationTime |
|
|
|
delete body.lastModifierId |
|
|
|
delete body.id; |
|
|
|
delete body.patientRegisterNo; |
|
|
|
delete body.medicalTimes; |
|
|
|
delete body.completeFlag; |
|
|
|
delete body.isMedicalStart; |
|
|
|
delete body.patientNo; |
|
|
|
delete body.creatorId; |
|
|
|
delete body.creationTime; |
|
|
|
delete body.lastModificationTime; |
|
|
|
delete body.lastModifierId; |
|
|
|
|
|
|
|
setNull(body,this.defaultNull) |
|
|
|
setNull(body, this.defaultNull); |
|
|
|
|
|
|
|
//日期转换 |
|
|
|
console.log('body.birthDate',body.birthDate) |
|
|
|
if(body.birthDate){ |
|
|
|
body.birthDate = moment(new Date(body.birthDate)).format('yyyy-MM-DD') |
|
|
|
console.log("body.birthDate", body.birthDate); |
|
|
|
if (body.birthDate) { |
|
|
|
body.birthDate = moment(new Date(body.birthDate)).format( |
|
|
|
"yyyy-MM-DD" |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
console.log('this.form.id',this.form.id) |
|
|
|
console.log('body',body) |
|
|
|
console.log("this.form.id", this.form.id); |
|
|
|
console.log("body", body); |
|
|
|
if (this.form.id.length < 1) { |
|
|
|
//id为空则新增 |
|
|
|
postapi(`/api/app/patient-register/return-info`, body) |
|
|
|
.then( |
|
|
|
postapi(`/api/app/patient-register/return-info`, body).then( |
|
|
|
(res) => { |
|
|
|
if(res.code == 1){ |
|
|
|
if (res.code == 1) { |
|
|
|
//console.log('res',res) |
|
|
|
this.$message.success("创健 操作成功"); |
|
|
|
objCopy(res.data,this.form) |
|
|
|
this.patientRegister.patientRegisterId = res.data.id |
|
|
|
this.patientRegister.patientRegisterId = res.data.id |
|
|
|
this.patientRegister.patientRegisterRd = res.data |
|
|
|
this.patientRegister.query.times++ |
|
|
|
objCopy(res.data, this.form); |
|
|
|
this.patientRegister.patientRegisterId = res.data.id; |
|
|
|
this.patientRegister.patientRegisterId = res.data.id; |
|
|
|
this.patientRegister.patientRegisterRd = res.data; |
|
|
|
this.patientRegister.query.times++; |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
|
|
|
|
); |
|
|
|
} else { |
|
|
|
//id不为空则编辑 |
|
|
|
putapi(`/api/app/patient-register?PatientRegisterId=${this.form.id}`, body).then( |
|
|
|
(res) => { |
|
|
|
if(res.code == 1){ |
|
|
|
putapi( |
|
|
|
`/api/app/patient-register?PatientRegisterId=${this.form.id}`, |
|
|
|
body |
|
|
|
).then((res) => { |
|
|
|
if (res.code == 1) { |
|
|
|
this.$message.success("更新 操作成功"); |
|
|
|
this.patientRegister.query.times++ |
|
|
|
this.patientRegister.query.times++; |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
}); |
|
|
|
} |
|
|
|
} else { |
|
|
|
alert('未通过数据校验'); |
|
|
|
alert("未通过数据校验"); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//新增弹框 |
|
|
|
@ -579,54 +746,52 @@ export default { |
|
|
|
|
|
|
|
//删除 |
|
|
|
del() { |
|
|
|
deletapi(`/api/app/customer-org/${this.customerOrg.customerOrgRd.id}`).then( |
|
|
|
(res) => { |
|
|
|
deletapi( |
|
|
|
`/api/app/customer-org/${this.customerOrg.customerOrgRd.id}` |
|
|
|
).then((res) => { |
|
|
|
this.$message.success("删除 操作成功"); |
|
|
|
this.setData({ key: 'customerOrg.customerOrgRd', value: { id: '' } }) |
|
|
|
this.getCustomerOrgTree() |
|
|
|
} |
|
|
|
); |
|
|
|
this.setData({ key: "customerOrg.customerOrgRd", value: { id: "" } }); |
|
|
|
this.getCustomerOrgTree(); |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//拍照 |
|
|
|
openCamera(){ |
|
|
|
if(!this.form.id){ |
|
|
|
alert("请先保存人员信息") |
|
|
|
return |
|
|
|
openCamera() { |
|
|
|
if (!this.form.id) { |
|
|
|
alert("请先保存人员信息"); |
|
|
|
return; |
|
|
|
} |
|
|
|
this.patientRegister.cameraVisble = true |
|
|
|
this.patientRegister.cameraVisble = true; |
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//监听事件 |
|
|
|
watch: { |
|
|
|
//新增触发 |
|
|
|
'patientRegister.addTimes'(newVal, oldVal) { |
|
|
|
"patientRegister.addTimes"(newVal, oldVal) { |
|
|
|
//console.log('patientRegister.addTimes newVal:',newVal,' oldVal:',oldVal) |
|
|
|
if (newVal != oldVal) { |
|
|
|
//console.log('this.patientRegister.patientRegisterRdInit',this.patientRegister.patientRegisterRdInit) |
|
|
|
objCopy(this.patientRegister.patientRegisterRdInit, this.form) |
|
|
|
objCopy(this.patientRegister.patientRegisterRdInit, this.form); |
|
|
|
//console.log('this.form',this.form) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//编辑触发 |
|
|
|
'patientRegister.patientRegisterRd.id'(newVal, oldVal) { |
|
|
|
"patientRegister.patientRegisterRd.id"(newVal, oldVal) { |
|
|
|
//console.log('patientRegister.patientRegisterRd.id newVal:',newVal,' oldVal:',oldVal) |
|
|
|
if (newVal != oldVal) { |
|
|
|
//console.log('newVal:',this.patientRegister.patientRegisterRd) |
|
|
|
objCopy(this.patientRegister.patientRegisterRd, this.form) |
|
|
|
objCopy(this.patientRegister.patientRegisterRd, this.form); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//拍照触发 |
|
|
|
'patientRegister.photo'(newVal, oldVal) { |
|
|
|
"patientRegister.photo"(newVal, oldVal) { |
|
|
|
//console.log('patientRegister.patientRegisterRd.id newVal:',newVal,' oldVal:',oldVal) |
|
|
|
if (newVal != oldVal) { |
|
|
|
//console.log('newVal:',newVal) |
|
|
|
this.form.photo = newVal |
|
|
|
this.form.photo = newVal; |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
@ -643,4 +808,5 @@ export default { |
|
|
|
right: 41%; |
|
|
|
width: 150px; |
|
|
|
height: 180px; |
|
|
|
}</style> |
|
|
|
} |
|
|
|
</style> |