|
|
|
@ -12,12 +12,6 @@ |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '职业病')"> |
|
|
|
<el-button @click="btnOcc" class="commonbutton" style="width:60px;">职业病</el-button> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 5px;" v-show="checkPagePriv(pagePriv.privs, '读身份证')"> |
|
|
|
<el-button @click="peopleIcCard" class="commonbutton" style="width:70px;">读身份证</el-button> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 5px;" v-show="checkPagePriv(pagePriv.privs, '拍照')"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="photoGrah" style="width:60px;">拍照</el-button> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 5px;" v-show="checkPagePriv(pagePriv.privs, '个人预约')"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnWebBooking" style="width:70px;">个人预约</el-button> |
|
|
|
</div> |
|
|
|
@ -62,10 +56,11 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-form-item label="性别" prop="sexId" label-width="50px"> |
|
|
|
<el-select v-model="form.sexId" placeholder="请选择" size="small" filterable |
|
|
|
<el-form-item label="婚姻" prop="maritalStatusId" label-width="50px"> |
|
|
|
<el-select v-model="form.maritalStatusId" placeholder="请选择" size="small" filterable |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.sex" :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> |
|
|
|
@ -85,32 +80,31 @@ |
|
|
|
<el-input v-model="form.idNo" placeholder="身份证号" @change="changeIdNo('N')" size="small"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="出生日期" prop="birthDate"> |
|
|
|
<!-- |
|
|
|
<input type="date" v-model="form.birthDate" size="small" |
|
|
|
:style="'border-radius: 4px;border: 1px solid #DCDFE6;height: 32px;line-height: 32px;padding-left: 2px;width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'"/> |
|
|
|
--> |
|
|
|
<el-date-picker v-model="form.birthDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" |
|
|
|
placeholder="出生日期" :style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" |
|
|
|
@change="changeBirthDate" prefix-icon="" size="small" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-form-item label="年龄" prop="age"> |
|
|
|
<el-input v-model="form.age" size="small" @change="changeAge"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-form-item label="婚姻" prop="maritalStatusId" label-width="50px"> |
|
|
|
<el-select v-model="form.maritalStatusId" placeholder="请选择" size="small" filterable |
|
|
|
<el-form-item label="性别" prop="sexId" label-width="50px"> |
|
|
|
<el-select v-model="form.sexId" placeholder="请选择" size="small" filterable |
|
|
|
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'"> |
|
|
|
<el-option v-for="item in dict.maritalStatus" :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> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="出生日期" prop="birthDate"> |
|
|
|
<!-- |
|
|
|
<input type="date" v-model="form.birthDate" size="small" |
|
|
|
:style="'border-radius: 4px;border: 1px solid #DCDFE6;height: 32px;line-height: 32px;padding-left: 2px;width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'"/> |
|
|
|
--> |
|
|
|
<el-date-picker v-model="form.birthDate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" |
|
|
|
placeholder="出生日期" :style="'width:' + Math.floor((window.pageWidth - 580) / 4.8) + 'px;'" |
|
|
|
@change="changeBirthDate" prefix-icon="" size="small" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3" /> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
@ -146,16 +140,20 @@ |
|
|
|
<el-col :span="3" /> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<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 - 510) / 4.8) + 'px;'" size="small"> |
|
|
|
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="10"> |
|
|
|
<el-form-item label="地址" prop="address"> |
|
|
|
<el-input v-model="form.address" size="small"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="体检卡号" prop="medicalCardNo"> |
|
|
|
<el-input v-model="form.medicalCardNo" size="small"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-form-item label="性激素期" prop="sexHormoneTermId"> |
|
|
|
<el-select v-model="form.sexHormoneTermId" placeholder="请选择" filterable clearable size="small" |
|
|
|
@ -189,19 +187,15 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<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 - 510) / 4.8) + 'px;'" size="small"> |
|
|
|
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id" /> |
|
|
|
</el-select> |
|
|
|
<el-form-item label="体检卡号" prop="medicalCardNo"> |
|
|
|
<el-input v-model="form.medicalCardNo" size="small"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="5"> |
|
|
|
<el-form-item label="工卡号" prop="jobCardNo"> |
|
|
|
<el-input v-model="form.jobCardNo" size="small"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<el-form-item label="职务" prop="jobPost"> |
|
|
|
<el-input v-model="form.jobPost" size="small"></el-input> |
|
|
|
@ -471,43 +465,71 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 10px;"> |
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '新增')"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnAdd">新增</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '复制新增')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="rdCopy">复制新增</el-button> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '读身份证')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="peopleIcCard">读身份证</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '拍照')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="photoGrah">拍照</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '保存')" class="btn"> |
|
|
|
<el-button type="success" class="commonbutton" @click="btnSubmit('form', true)">保存</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '检验单申请')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="lisRequest">检验单申请</el-button> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '复制新增')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="rdCopy">复制新增</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单打印')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="guideLabelPrint(false)" |
|
|
|
:disabled="printing" style="font-size: 13px;">指引单+条码</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单打印')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="guidePrint('0001', false)" |
|
|
|
:disabled="printing">指引单打印</el-button> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '条码打印')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="labelPrint(false)" |
|
|
|
:disabled="printing">条码打印</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '条码补打')" class="btn"> |
|
|
|
<el-button type="danger" class="commonbutton" @click="btnLabel">条码补打</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单打印')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="guidePrint('0001', false)" |
|
|
|
:disabled="printing">指引单打印</el-button> |
|
|
|
<div class="btn"> |
|
|
|
<el-dropdown @command="btnMoreOpr"> |
|
|
|
<el-button type="primary" class="commonbutton"> |
|
|
|
更多……<i class="el-icon-arrow-down el-icon--right"></i> |
|
|
|
</el-button> |
|
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
|
|
|
|
|
<el-dropdown-item command="指引单预览" divided |
|
|
|
v-show="checkPagePriv(pagePriv.privs, '指引单打印')">指引单预览</el-dropdown-item> |
|
|
|
<el-dropdown-item command="条码补打" |
|
|
|
v-show="checkPagePriv(pagePriv.privs, '条码补打')">条码补打</el-dropdown-item> |
|
|
|
<el-dropdown-item command="检验单申请" divided |
|
|
|
v-show="checkPagePriv(pagePriv.privs, '检验单申请')">检验单申请</el-dropdown-item> |
|
|
|
<el-dropdown-item command="条码合并" |
|
|
|
v-show="checkPagePriv(pagePriv.privs, '条码合并')">条码合并</el-dropdown-item> |
|
|
|
<el-dropdown-item command="手动合并项目" |
|
|
|
v-show="checkPagePriv(pagePriv.privs, '手动合并项目')">手动合并项目</el-dropdown-item> |
|
|
|
|
|
|
|
</el-dropdown-menu> |
|
|
|
</el-dropdown> |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '指引单预览')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="guidePrint('0001', true)">指引单预览</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '检验单申请')" class="btn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="lisRequest">检验单申请</el-button> |
|
|
|
</div> |
|
|
|
--> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '条码合并')" class="btn"> |
|
|
|
<el-button type="danger" class="commonbutton" @click="reLisRequest">条码合并</el-button> |
|
|
|
</div> |
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '手动合并项目')" class="btn"> |
|
|
|
<el-button type="danger" class="commonbutton" @click="reMergeAsbitem">手动合并项目</el-button> |
|
|
|
</div> |
|
|
|
--> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div v-show="checkPagePriv(pagePriv.privs, '全个人支付')" style="margin-top: 30px;"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnPayTypeFlag('0')">全个人支付</el-button> |
|
|
|
@ -544,8 +566,8 @@ |
|
|
|
<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" @row-dblclick="patientDblclick" |
|
|
|
ref="patientList"> |
|
|
|
<el-table-column type="index" width="30" align="center"/> |
|
|
|
<el-table-column prop="patientNo" label="档案号" min-width="80" align="center"/> |
|
|
|
<el-table-column type="index" width="30" align="center" /> |
|
|
|
<el-table-column prop="patientNo" label="档案号" min-width="80" align="center" /> |
|
|
|
<el-table-column prop="lastTime" label="末次体检" min-width="80" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="scope.row.lastTime"> |
|
|
|
@ -553,8 +575,8 @@ |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="medicalTimes" label="体检次数" min-width="70" align="center"/> |
|
|
|
<el-table-column prop="displayName" label="姓名" min-width="70" align="center"/> |
|
|
|
<el-table-column prop="medicalTimes" label="体检次数" min-width="70" align="center" /> |
|
|
|
<el-table-column prop="displayName" label="姓名" min-width="70" align="center" /> |
|
|
|
<el-table-column prop="sexId" label="性别" min-width="50" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div> |
|
|
|
@ -583,9 +605,9 @@ |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="idNo" label="身份证号" min-width="150" align="center"/> |
|
|
|
<el-table-column prop="mobileTelephone" label="手机号" min-width="110" align="center"/> |
|
|
|
<el-table-column prop="telephone" label="电话" min-width="120" align="center"/> |
|
|
|
<el-table-column prop="idNo" label="身份证号" min-width="150" align="center" /> |
|
|
|
<el-table-column prop="mobileTelephone" label="手机号" min-width="110" align="center" /> |
|
|
|
<el-table-column prop="telephone" label="电话" min-width="120" align="center" /> |
|
|
|
</el-table> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<el-button class="commonbutton" @click="dialogVisible = false" style="width:90px;">取消</el-button> |
|
|
|
@ -614,9 +636,7 @@ |
|
|
|
:append-to-body="true"> |
|
|
|
<div style="height: 320px;"> |
|
|
|
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll" style="width:400px;" |
|
|
|
filterable popper-class="example" |
|
|
|
:props="{ ...customerOrg.treeprops, leaf: 'isLeaf' }" |
|
|
|
size="small"> |
|
|
|
filterable popper-class="example" :props="{ ...customerOrg.treeprops, leaf: 'isLeaf' }" size="small"> |
|
|
|
</el-cascader> |
|
|
|
</div> |
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
@ -1388,6 +1408,9 @@ export default { |
|
|
|
// 获取登记信息 初始form表单数据 |
|
|
|
initFormData(patientRegisterId) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
this.peoplePhoto = '' // 清掉照片 |
|
|
|
this.form.photo = '' |
|
|
|
|
|
|
|
this.peisid = window.sessionStorage.getItem('peisid'); |
|
|
|
let customerOrgId, customerOrgName, customerOrgParentId |
|
|
|
if (this.patientRegister.query.customerOrgId) { |
|
|
|
@ -1401,7 +1424,6 @@ export default { |
|
|
|
} |
|
|
|
this.preCustomerOrgId = this.patientRegister.query.customerOrgId |
|
|
|
if (!patientRegisterId) { //添加 |
|
|
|
this.peoplePhoto = '' // 清掉照片 |
|
|
|
this.form = Object.assign({}, this.form, this.formInit) |
|
|
|
this.form.registerCheckAsbitems = [] |
|
|
|
this.form.medicalCenterId = this.peisid; //体检中收 |
|
|
|
@ -1433,7 +1455,7 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 根据体检单位ID,获取体检类别 |
|
|
|
// 根据体检单位ID,获取体检类别、人员类别,介绍人 |
|
|
|
getMedicalTypeByOrg(customerOrgId) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
postapi('/api/app/Customerorg/GetMedicalTypeIdByCustomerOrgId', { customerOrgId }) |
|
|
|
@ -1441,6 +1463,7 @@ export default { |
|
|
|
if (res.code > -1) { |
|
|
|
this.form.medicalTypeId = res.data.medicalTypeId |
|
|
|
this.form.personnelTypeId = res.data.personnelTypeId |
|
|
|
this.form.salesman = res.data.salesPerson |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
@ -1605,7 +1628,7 @@ export default { |
|
|
|
} else { |
|
|
|
// 更换了顶级单位时,要更换体检次数 |
|
|
|
if (customerOrgParentId != this.form.customerOrgParentId) { |
|
|
|
this.form.customerOrgRegisterId = '' |
|
|
|
this.form.customerOrgRegisterId = '' |
|
|
|
if (customerOrgRegisterList.length > 0) { |
|
|
|
this.form.customerOrgRegisterId = customerOrgRegisterList[customerOrgRegisterList.length - 1].id |
|
|
|
} |
|
|
|
@ -1790,7 +1813,7 @@ export default { |
|
|
|
// isNameContinue 身份证号查重后是否姓名查重 |
|
|
|
changeIdNo(isNameContinue) { |
|
|
|
if (!this.form.idNo) return |
|
|
|
this.Query(this.form.idNo,isNameContinue) |
|
|
|
this.Query(this.form.idNo, isNameContinue) |
|
|
|
let ret = parseID(this.form.idNo) |
|
|
|
// console.log('changeIdNo',ret) |
|
|
|
if (ret.age != -1) { |
|
|
|
@ -1819,12 +1842,12 @@ export default { |
|
|
|
|
|
|
|
//根据姓名,身份证号 查询档案信息,用于判断人员多次体检 |
|
|
|
// isNameContinue 身份证号查重后是否姓名查重 |
|
|
|
Query(param,isNameContinue) { |
|
|
|
Query(param, isNameContinue) { |
|
|
|
this.patientChoosed = { id: '' } // 清空之前的选择 |
|
|
|
|
|
|
|
|
|
|
|
//编辑的时候不查重 |
|
|
|
if (this.form.id || !param) return; |
|
|
|
|
|
|
|
|
|
|
|
//// console.log(`/api/app/patient/in-filter?Filter=${param}`) |
|
|
|
let body = { |
|
|
|
filter: param, |
|
|
|
@ -1839,9 +1862,9 @@ export default { |
|
|
|
if (res.data && res.data.length > 0) { |
|
|
|
this.patientList = res.data; |
|
|
|
this.dialogVisible = true; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
// 读身份证没 |
|
|
|
if(isNameContinue == 'Y' && this.LocalConfig.patientRegister.findPatientByName){ |
|
|
|
if (isNameContinue == 'Y' && this.LocalConfig.patientRegister.findPatientByName) { |
|
|
|
this.Query(this.form.patientName) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -2445,10 +2468,19 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 处理照片 |
|
|
|
getPeoplePhoto(photo) { |
|
|
|
this.peoplePhoto = photoParse(photo) |
|
|
|
}, |
|
|
|
|
|
|
|
// 指引单 + 条码 |
|
|
|
guideLabelPrint(isPreview){ |
|
|
|
this.guidePrint('0001',isPreview) |
|
|
|
.then(() => { |
|
|
|
return this.labelPrint(isPreview) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 打印指引单(isPreview) |
|
|
|
guidePrint(ReportCode, isPreview) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
@ -2879,7 +2911,30 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//补打条码 |
|
|
|
// 更多…… |
|
|
|
btnMoreOpr(oprType) { |
|
|
|
switch (oprType) { |
|
|
|
case "指引单预览": |
|
|
|
this.guidePrint('0001', true) |
|
|
|
break; |
|
|
|
case "条码补打": |
|
|
|
this.btnLabel() |
|
|
|
break; |
|
|
|
case "检验单申请": |
|
|
|
this.lisRequest() |
|
|
|
break; |
|
|
|
case "条码合并": |
|
|
|
this.reLisRequest() |
|
|
|
break; |
|
|
|
case "手动合并项目": |
|
|
|
this.reMergeAsbitem() |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//条码合并 |
|
|
|
reLisRequest() { |
|
|
|
if (!this.form.id) { |
|
|
|
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!" }); |
|
|
|
|