|
|
|
@ -1,15 +1,16 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div style="display: flex"> |
|
|
|
<div :style="'width:'+(window.pageWidth - 120 - 30 )+'px;'"> |
|
|
|
<div :style="'width:' + (window.pageWidth - 120 - 30) + 'px;'"> |
|
|
|
<div> |
|
|
|
<el-form ref="form" :model="form" label-width="80px" :rules="rules" size="medium"> |
|
|
|
<el-row> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="单位名称" prop="customerOrgId"> |
|
|
|
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll" |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" |
|
|
|
:props="{checkStrictly: true,expandTrigger: 'hover',...customerOrg.treeprops,}" :show-all-levels="false" disabled> |
|
|
|
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll" |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'" |
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" |
|
|
|
:show-all-levels="false" disabled> |
|
|
|
</el-cascader> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
@ -21,11 +22,11 @@ |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="档案号" prop="patientNo"> |
|
|
|
<el-input v-model="form.patientNo" disabled></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="体检次数" prop="medicalTimes"> |
|
|
|
<el-input v-model="form.medicalTimes" disabled ></el-input> |
|
|
|
<el-input v-model="form.medicalTimes" disabled></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
@ -40,7 +41,7 @@ |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="性别" prop="sexId"> |
|
|
|
<el-select v-model="form.sexId" placeholder="请选择" |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
@ -49,8 +50,8 @@ |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="出生日期" prop="birthDate"> |
|
|
|
<el-date-picker v-model="form.birthDate" type="date" value-format="yyyy-MM-dd" placeholder="出生日期" |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" |
|
|
|
@change="changeBirthDate" prefix-icon=""/> |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'" @change="changeBirthDate" |
|
|
|
prefix-icon="" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
@ -79,7 +80,7 @@ |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="婚姻状况" prop="maritalStatusId"> |
|
|
|
<el-select v-model="form.maritalStatusId" placeholder="请选择" |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id"> |
|
|
|
</el-option> |
|
|
|
@ -104,29 +105,31 @@ |
|
|
|
<el-input v-model="form.postalCode"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"/> |
|
|
|
<el-col :span="4" /> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="民族" prop="nationId"> |
|
|
|
<el-select v-model="form.nationId" placeholder="请选择" filterable clearable |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" > |
|
|
|
<el-option v-for="item in dict.nation" :key="item.nationId" :label="item.displayName" :value="item.nationId" /> |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.nation" :key="item.nationId" :label="item.displayName" |
|
|
|
:value="item.nationId" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="籍惯" prop="birthPlaceId"> |
|
|
|
<el-select v-model="form.birthPlaceId" placeholder="请选择" filterable clearable |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" > |
|
|
|
<el-option v-for="item in dict.birthPlace" :key="item.id" :label="item.displayName" :value="item.id" /> |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.birthPlace" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="体检类别" prop="medicalTypeId"> |
|
|
|
<el-select v-model="form.medicalTypeId" placeholder="请选择" filterable clearable |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
@ -135,7 +138,7 @@ |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="人员类别" prop="personnelTypeId"> |
|
|
|
<el-select v-model="form.personnelTypeId" placeholder="请选择" filterable clearable |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 530)/ 4.8)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 530) / 4.8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
@ -144,7 +147,7 @@ |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="性激素期" prop="sexHormoneTermId"> |
|
|
|
<el-select v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 630)/6)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 630) / 6) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.sexHormoneTerm" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id"> |
|
|
|
</el-option> |
|
|
|
@ -185,7 +188,7 @@ |
|
|
|
<el-radio v-model="form.isVip" label="Y">是</el-radio> |
|
|
|
<el-radio v-model="form.isVip" label="N">否</el-radio> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5" style="margin-bottom: -15px; line-height: 40px"> |
|
|
|
<el-form-item label="电话随访" prop="isPhoneFollow"> |
|
|
|
<el-radio v-model="form.isPhoneFollow" label="Y">是</el-radio> |
|
|
|
@ -207,7 +210,7 @@ |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="体检开始" prop="isMedicalStart"> |
|
|
|
<el-select v-model="form.isMedicalStart" placeholder="请选择" disabled |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 630)/6)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 630) / 6) + 'px;'"> |
|
|
|
<el-option label="是" value="Y" /> |
|
|
|
<el-option label="否" value="N" /> |
|
|
|
</el-select> |
|
|
|
@ -218,7 +221,7 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="体检中心" prop="organizationUnitId"> |
|
|
|
<el-select v-model="form.organizationUnitId" placeholder="请选择" filterable |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 470)/4)+'px;'" > |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 470) / 4) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.organization" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id"> |
|
|
|
</el-option> |
|
|
|
@ -229,7 +232,7 @@ |
|
|
|
<el-form-item label="分组" prop="customerOrgGroupId"> |
|
|
|
<el-select v-model="form.customerOrgGroupId" placeholder="请选择" filterable clearable |
|
|
|
@change="changeCustomerOrgGroupId" :disabled="form.customerOrgId === dict.personOrgId ? true : false" |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 470)/4)+'px;'"> |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 470) / 4) + 'px;'"> |
|
|
|
<el-option v-for="item in patientRegister.customerOrgGroup" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
@ -239,7 +242,7 @@ |
|
|
|
<el-form-item label="套餐" prop="medicalPackageId"> |
|
|
|
<el-select v-model="form.medicalPackageId" placeholder="请选择" filterable clearable |
|
|
|
@change="changeMedicalPackageId" :disabled="form.customerOrgId === dict.personOrgId ? false : true" |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 470)/4)+'px;'"> |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 470) / 4) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.medicalPackage" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
@ -248,7 +251,7 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="完成标志" prop="completeFlag"> |
|
|
|
<el-select v-model="form.completeFlag" placeholder="请选择" disabled |
|
|
|
:style="'width:'+ Math.floor((window.pageWidth - 470)/4)+'px;'"> |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 470) / 4) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id"> |
|
|
|
</el-option> |
|
|
|
@ -270,8 +273,8 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="创建时间"> |
|
|
|
<el-input :value="form.creationTime |
|
|
|
? lmoment(form.creationTime, 'yyyy-MM-DD') |
|
|
|
: '' |
|
|
|
? lmoment(form.creationTime, 'yyyy-MM-DD') |
|
|
|
: '' |
|
|
|
" disabled></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
@ -283,15 +286,16 @@ |
|
|
|
<el-col :span="6"> |
|
|
|
<el-form-item label="修改时间"> |
|
|
|
<el-input :value="form.lastModificationTime |
|
|
|
? lmoment(form.lastModificationTime, 'yyyy-MM-DD') |
|
|
|
: '' |
|
|
|
? lmoment(form.lastModificationTime, 'yyyy-MM-DD') |
|
|
|
: '' |
|
|
|
" disabled></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<el-image :style="'position: absolute;top:65px;right:'+(110 + Math.floor((window.pageWidth - 360)/25))+'px; width: 150px; height: 160px;'" |
|
|
|
:src="form.photo? (apiurl + '/' + form.photo):''"> |
|
|
|
<el-image |
|
|
|
:style="'position: absolute;top:65px;right:' + (110 + Math.floor((window.pageWidth - 360) / 25)) + 'px; width: 150px; height: 160px;'" |
|
|
|
:src="form.photo ? (apiurl + '/' + form.photo) : ''"> |
|
|
|
<div slot="placeholder" class="image-slot"> |
|
|
|
加载中<span class="dot">...</span> |
|
|
|
</div> |
|
|
|
@ -309,8 +313,8 @@ |
|
|
|
<el-button @click="readIdCard" class="btnClass">读身份证</el-button> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="success" class="btnClass" @click="Onsubmit('form',true)">保存</el-button> |
|
|
|
</div> |
|
|
|
<el-button type="success" class="btnClass" @click="Onsubmit('form', true)">保存</el-button> |
|
|
|
</div> |
|
|
|
<div class="btn"> |
|
|
|
<el-button type="primary" class="btnClass">申请单</el-button> |
|
|
|
</div> |
|
|
|
@ -325,7 +329,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</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" |
|
|
|
@ -399,7 +403,7 @@ export default { |
|
|
|
Camera, |
|
|
|
PatientRegisterItem, |
|
|
|
}, |
|
|
|
props:['formInitData','editTimes'], |
|
|
|
props: ['formInitData', 'editTimes'], |
|
|
|
data() { |
|
|
|
return { |
|
|
|
apiurl: mm.apiurl, |
|
|
|
@ -421,7 +425,7 @@ export default { |
|
|
|
personnelTypeId: null, //人员类别 |
|
|
|
jobPost: "", //职务 |
|
|
|
jobTitle: "", //职称 |
|
|
|
photo:"", //照片 |
|
|
|
photo: "", //照片 |
|
|
|
salesman: "", //介绍人 |
|
|
|
sexHormoneTermId: null, //性激素期限 |
|
|
|
isNameHide: "N", //隐藏姓名 |
|
|
|
@ -486,7 +490,7 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
computed: { |
|
|
|
...mapState(["window","dict", "patientRegister", "customerOrg"]), |
|
|
|
...mapState(["window", "dict", "patientRegister", "customerOrg"]), |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
readIdCard() { |
|
|
|
@ -511,13 +515,13 @@ export default { |
|
|
|
//分组改变时触发 |
|
|
|
changeCustomerOrgGroupId() { |
|
|
|
this.patientRegister.customerOrgGroupChange++; |
|
|
|
if(this.form.id) this.Onsubmit('form',false); |
|
|
|
if (this.form.id) this.Onsubmit('form', false); |
|
|
|
}, |
|
|
|
|
|
|
|
//套餐改变时触发 |
|
|
|
changeMedicalPackageId() { |
|
|
|
this.patientRegister.medicalPackageChange++; |
|
|
|
if(this.form.id) this.Onsubmit('form',false); |
|
|
|
if (this.form.id) this.Onsubmit('form', false); |
|
|
|
}, |
|
|
|
|
|
|
|
//根据姓名,身份证号 查询档案信息,用于判断人员多次体检 |
|
|
|
@ -573,7 +577,7 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//提交 |
|
|
|
Onsubmit(formName,msgTip) { |
|
|
|
Onsubmit(formName, msgTip) { |
|
|
|
this.$refs[formName].validate((valid) => { |
|
|
|
if (valid) { |
|
|
|
//赋值 |
|
|
|
@ -607,7 +611,7 @@ export default { |
|
|
|
(res) => { |
|
|
|
if (res.code == 1) { |
|
|
|
//console.log('res',res) |
|
|
|
if(msgTip) this.$message.success("创健 操作成功"); |
|
|
|
if (msgTip) this.$message.success("创健 操作成功"); |
|
|
|
objCopy(res.data, this.form); |
|
|
|
this.patientRegister.patientRegisterId = res.data.id; |
|
|
|
this.patientRegister.patientRegisterId = res.data.id; |
|
|
|
@ -619,10 +623,10 @@ export default { |
|
|
|
); |
|
|
|
} else { |
|
|
|
//id不为空则编辑 |
|
|
|
console.log(`/api/app/patient-register?PatientRegisterId=${this.form.id}`,body); |
|
|
|
putapi(`/api/app/patient-register?PatientRegisterId=${this.form.id}`,body).then((res) => { |
|
|
|
console.log(`/api/app/patient-register?PatientRegisterId=${this.form.id}`, body); |
|
|
|
putapi(`/api/app/patient-register?PatientRegisterId=${this.form.id}`, body).then((res) => { |
|
|
|
if (res.code == 1) { |
|
|
|
if(msgTip) this.$message.success("更新 操作成功"); |
|
|
|
if (msgTip) this.$message.success("更新 操作成功"); |
|
|
|
this.patientRegister.query.times++; |
|
|
|
//this.patientRegister.saveTimes++; //更新保存时,无需触发组合项目保存 |
|
|
|
} |
|
|
|
@ -662,13 +666,13 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//监听事件 |
|
|
|
watch: { |
|
|
|
watch: { |
|
|
|
|
|
|
|
//新增或编辑 |
|
|
|
"editTimes"(newVal, oldVal) { |
|
|
|
"editTimes"(newVal, oldVal) { |
|
|
|
//console.log('editTimes newVal:',newVal,' oldVal:',oldVal) |
|
|
|
if (newVal != oldVal) { |
|
|
|
console.log('this.editTimes',this.editTimes) |
|
|
|
console.log('this.editTimes', this.editTimes) |
|
|
|
objCopy(this.formInitData, this.form); |
|
|
|
//console.log('this.form',this.form) |
|
|
|
} |
|
|
|
@ -711,9 +715,9 @@ export default { |
|
|
|
::v-deep .el-table--small .el-table__cell { |
|
|
|
padding: 0px 0; |
|
|
|
} |
|
|
|
|
|
|
|
::v-deep .el-input__inner { |
|
|
|
text-align: left; |
|
|
|
padding-left: 5px; |
|
|
|
padding-right: 15px; |
|
|
|
} |
|
|
|
</style> |
|
|
|
}</style> |