Browse Source

'HIS引入列表修改,以及新增患者相关修改'

360view
bianyaqi 2 years ago
parent
commit
d4a72a9fc2
  1. 2
      src/components/filter/index.vue
  2. 2
      src/page-subspecialty/views/modules/optometryManagement/cornea/HIS-add.vue
  3. 2
      src/page-subspecialty/views/modules/optometryManagement/cornea/index.vue
  4. 28
      src/page-subspecialty/views/modules/optometryManagement/dioptric/HIS-add.vue
  5. 41
      src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue
  6. 60
      src/page-subspecialty/views/modules/optometryManagement/dioptric/patient-add-or-update.vue
  7. 4
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/index.vue
  8. 31
      src/page-subspecialty/views/modules/outpatientManagement/call/HIS-add.vue
  9. 134
      src/page-subspecialty/views/modules/outpatientManagement/call/index.vue
  10. 73
      src/page-subspecialty/views/modules/outpatientManagement/call/patient-add-or-update.vue
  11. 30
      src/page-subspecialty/views/modules/outpatientManagement/treat/HIS-add.vue
  12. 30
      src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue
  13. 85
      src/page-subspecialty/views/modules/outpatientManagement/treat/patient-add-or-update.vue

2
src/components/filter/index.vue

@ -119,7 +119,7 @@ const dataListDemo = [
tableName: 'REGISTER_PATIENT', //
type: '1', // 12
fieldList: [
{ fieldDescription: '病历号', fieldName: 'patientId', fieldType: 'string' },
{ fieldDescription: '登记号', fieldName: 'patientId', fieldType: 'string' },
{ fieldDescription: '年龄', fieldName: 'age', fieldType: 'number' },
{ fieldDescription: '出生日期', fieldName: 'birthday', fieldType: 'date' },
{ fieldDescription: '地址', fieldName: 'address', fieldType: 'string' }

2
src/page-subspecialty/views/modules/optometryManagement/cornea/HIS-add.vue

@ -23,7 +23,7 @@
<template slot="empty">
<span style="color: #969799;">{{ tableText }}</span>
</template>
<el-table-column property="patId" label="病历号" width="100" />
<el-table-column property="patId" label="登记号" width="100" />
<el-table-column property="patName" label="患者姓名" width="100" />
<el-table-column property="patIdNumber" label="身份证号" />
<el-table-column property="patPhone" label="联系电话" />

2
src/page-subspecialty/views/modules/optometryManagement/cornea/index.vue

@ -38,7 +38,7 @@
style="width: 100%"
@sort-change="dataListSortChangeHandle"
>
<el-table-column prop="patientId" label="病历号 " header-align="center" align="center" />
<el-table-column prop="patientId" label="登记号 " header-align="center" align="center" />
<el-table-column prop="patientName" label="患者姓名" header-align="center" align="center" />
<el-table-column prop="patientSex" label="患者性别" header-align="center" align="center" />
<el-table-column label="出生日期" header-align="center" align="center">

28
src/page-subspecialty/views/modules/optometryManagement/dioptric/HIS-add.vue

@ -17,15 +17,6 @@
<el-form-item prop="patientIdNumber">
<el-input v-model="dataFormHis.patientIdNumber" placeholder="请输入身份证号" clearable @clear="findHandle(1)" />
</el-form-item>
<el-form-item prop="outpatientDoc">
<el-input v-model="dataFormHis.outpatientDoc" placeholder="门诊医师" clearable @clear="findHandle(1)" />
</el-form-item>
<el-form-item prop="region">
<el-select v-model="dataFormHis.region" placeholder="请选择视光医师">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-col :span="4">
<el-form-item>
<el-button type="primary" @click="findHandle(2)">查询</el-button>
@ -37,10 +28,12 @@
<template slot="empty">
<span style="color: #969799;">{{ tableText }}</span>
</template>
<el-table-column property="patientId" label="病历号" width="100" />
<el-table-column property="patientId" label="登记号" width="100" />
<el-table-column property="patientName" label="患者姓名" width="100" />
<el-table-column property="patientIdNumber" label="身份证号" />
<el-table-column property="patientPhone" label="联系电话" />
<el-table-column property="zlProject" label="医疗项目" width="240" />
<el-table-column property="remark" label="备注" width="240" />
<!-- <el-table-column property="patientAddress" label="家庭地址" />-->
<el-table-column label="操作" width="80">
<template slot-scope="scope">
@ -128,21 +121,8 @@ export default {
},
//
async introduceHandle(scopwRow) {
console.log(scopwRow)
this.$parent.addOrUpdateHandle('', scopwRow, 'HIS引入')
// console.log(item)
// const { data: res } = await this.$http.get('/patient/doLeadIn', {
// params: {
// patientId: item.patientId,
// platform: this.isSearch
// }
// })
// if (res.code === 0) {
// this.$message.success('!')
// this.$parent.getDataListInitial()
// } else {
// this.tableText = res.msg
// this.$message.error(res.msg)
// }
}
}
}

41
src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue

@ -77,19 +77,19 @@
<el-table-column prop="mzDoctorName" label="门诊医师" header-align="center" align="center" />
<el-table-column prop="sgDoctorName" label="视光医师" header-align="center" align="center" />
<el-table-column prop="createDate" label="就诊时间" header-align="center" align="center" />
<!-- <el-table-column prop="callSort" label="分诊序号" header-align="center" align="center" />-->
<!-- <el-table-column prop="callStatus" label="叫号状态" header-align="center" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.callStatus | callStatus }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="callSort" label="分诊序号" header-align="center" align="center" />-->
<!-- <el-table-column prop="callStatus" label="叫号状态" header-align="center" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.callStatus | callStatus }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="180">
<template slot-scope="scope">
<!-- <span-->
<!-- style="color: #1890ff; padding-right: 8px"-->
<!-- class="operation-details"-->
<!-- @click="browseClick(scope.row)"-->
<!-- >叫号</span>-->
<!-- <span-->
<!-- style="color: #1890ff; padding-right: 8px"-->
<!-- class="operation-details"-->
<!-- @click="browseClick(scope.row)"-->
<!-- >叫号</span>-->
<!-- v-if="scope.row.callStatus !== '1' && scope.row.callStatus !== '3' && scope.row.callStatus !== '5'"-->
<span
style="color: #1890ff; padding-right: 8px"
@ -112,7 +112,7 @@
<!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" :is-search="'3'" />
<!-- 详情页 -->
<detail-view v-if="detailViewVisible" ref="viewRef" :only-read="onlyRead" :isSearch="'3'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" ref="viewRef" :only-read="onlyRead" :is-search="'3'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
</div>
</template>
<script>
@ -178,16 +178,25 @@ export default {
options: [
{
value: '0',
label: '今'
label: '今'
}, {
value: '1',
label: '近三天'
label: '天'
}, {
value: '2',
label: '近一周'
label: '前天'
}, {
value: '3',
label: '近三天'
}, {
value: '4',
label: '近一周'
}, {
value: '5',
label: '近一个月 '
}, {
value: '6',
label: '近半年 '
}, {
value: '',
label: '全部'
@ -222,7 +231,7 @@ export default {
patientId: '',
beginDate: '',
endDate: '',
searchType: '',
searchType: '0',
patientName: '',
patientStatus: '',
patientIdNumber: ''

60
src/page-subspecialty/views/modules/optometryManagement/dioptric/patient-add-or-update.vue

@ -7,7 +7,7 @@
@close="closeDialog"
>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule">
<el-form-item label="病历号:" label-width="120px" prop="patientId" class="formItemOne">
<el-form-item label="登记号:" label-width="120px" prop="patientId" class="formItemOne">
<el-input v-model="dataForm.patientId" placeholder="请输入病历号" />
</el-form-item>
<el-form-item label="患者姓名:" label-width="120px" prop="patientName">
@ -38,9 +38,32 @@
<el-form-item label="家庭地址:" label-width="120px" prop="patientAddress">
<el-input v-model="dataForm.patientAddress" placeholder="请输入地址" />
</el-form-item>
<el-form-item label="医疗项目:" label-width="120px" prop="patientAddress">
<el-input v-model="dataForm.zlProject" placeholder="请输入医疗项目" />
<el-form-item label="门诊医师:" prop="outpatientDoc" label-width="120px">
<el-select v-model="dataForm.outpatientDoc" placeholder="请选择门诊医师">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="视光医师" prop="optometryDoc" label-width="120px">
<el-select v-model="dataForm.optometryDoc" placeholder="请选择视光医师">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="眼别:" prop="zlEye" label-width="120px">
<el-select v-model="dataForm.zlEye" placeholder="请选择眼别">
<el-option v-for="item in zlEyeList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-select v-model="dataForm.zlProject" placeholder="请选择医疗项目">
<el-option
v-for="item in projectList"
:key="item.itemId"
:label="item.itemName"
:value="item.itemId
"
/>
</el-select>
<el-form-item label="备注:" label-width="120px" prop="remarks">
<el-input v-model="dataForm.remark" type="textarea" />
</el-form-item>
@ -74,12 +97,21 @@ export default {
patientPhone: '',
patientAddress: '',
patientBirthday: '',
outpatientDoc: '', //
optometryDoc: '', //
zlEye: '',
zlProject: '',
visitId: '',
remark: ''
},
zlEyeList: [
{ name: '左眼', value: 'os' },
{ name: '右眼', value: 'od' },
{ name: '双眼', value: 'ou' }
],
params: {},
visitList: []
visitList: [],
projectList: []
}
},
computed: {
@ -114,16 +146,34 @@ export default {
methods: {
init() {
this.visible = true
this.getDoctorList()
this.getProject()
this.$nextTick(() => {
this.$refs.dataForm.resetFields() //
// this.getVisitList() // 访
if (this.params.patientIdNumber && this.dataForm.title !== 'HIS引入') {
this.getInfo()
this.dataForm = {
title: this.dataForm.title,
...this.params
}
} else if (this.dataForm.title === 'HIS引入') {
this.getHisInfo()
}
})
},
//
getDoctorList() {
this.$http.get('/sys/user').then(data => {
this.doctorList = data.data.data
this.dataForm.optometryDoc = JSON.parse(window.localStorage.getItem('qg-userData')).employeeId
})
},
//
getProject() {
this.$http.post('/patient/getZlItemDict').then(data => {
this.projectList = data.data.data
})
},
//
getInfo() {
this.$http.get(`/patient/manage/${this.params.patientCentreId}/${this.params.patientIdNumber}`).then(({ data: res }) => {

4
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/index.vue

@ -34,7 +34,7 @@
<review :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="历史档案" name="history">
<history-file :patientId="patientId" />
<history-file :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="RGP" name="RGP">
<ok-lens-rgp ref="okLensRgp" :patient-id="patientId" :doctor-list="doctorList" tab-title="RGP" />
@ -77,7 +77,7 @@ export default {
watch: {
patientInfoObj(val) {
this.patientInfo = [{
name: '病历号',
name: '登记号',
info: val.patientId
},
{

31
src/page-subspecialty/views/modules/outpatientManagement/call/HIS-add.vue

@ -17,15 +17,6 @@
<el-form-item prop="patientIdNumber">
<el-input v-model="dataFormHis.patientIdNumber" placeholder="请输入身份证号" clearable @clear="findHandle(1)" />
</el-form-item>
<el-form-item prop="outpatientDoc">
<el-input v-model="dataFormHis.outpatientDoc" placeholder="请输入门诊医师" clearable @clear="findHandle(1)" />
</el-form-item>
<el-form-item prop="region">
<el-select v-model="dataFormHis.region" placeholder="请选择视光医师">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-col :span="4">
<el-form-item>
<el-button type="primary" @click="findHandle(2)">查询</el-button>
@ -37,10 +28,12 @@
<template slot="empty">
<span style="color: #969799;">{{ tableText }}</span>
</template>
<el-table-column property="patientId" label="病历号" width="100" />
<el-table-column property="patientId" label="登记号" width="100" />
<el-table-column property="patientName" label="患者姓名" width="100" />
<el-table-column property="patientIdNumber" label="身份证号" />
<el-table-column property="patientPhone" label="联系电话" />
<el-table-column property="zlProject" label="医疗项目" width="240" />
<el-table-column property="remark" label="备注" width="240" />
<el-table-column label="操作" width="80">
<template slot-scope="scope">
<p class="introduce" @click="introduceHandle(scope.row)">引入</p>
@ -51,6 +44,7 @@
</template>
<script>
export default {
props: {
patientTypeList: {
@ -126,21 +120,8 @@ export default {
}
},
//
async introduceHandle(item) {
console.log(item)
const { data: res } = await this.$http.get('/patient/doLeadIn', {
params: {
patientId: item.patientId,
platform: this.isSearch
}
})
if (res.code === 0) {
this.$message.success('引入成功!')
this.$parent.getDataListInitial()
} else {
this.tableText = res.msg
this.$message.error(res.msg)
}
introduceHandle(item) {
this.$emit('openAdd', item)
}
}
}

134
src/page-subspecialty/views/modules/outpatientManagement/call/index.vue

@ -77,20 +77,20 @@
<el-table-column prop="mzDoctorName" label="门诊医师" header-align="center" align="center" />
<el-table-column prop="sgDoctorName" label="视光医师" header-align="center" align="center" />
<el-table-column prop="createDate" label="就诊时间" header-align="center" align="center" />
<!-- <el-table-column prop="callSort" label="分诊序号" header-align="center" align="center" />-->
<!-- <el-table-column prop="callStatus" label="叫号状态" header-align="center" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.callStatus | callStatus }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="callSort" label="分诊序号" header-align="center" align="center" />-->
<!-- <el-table-column prop="callStatus" label="叫号状态" header-align="center" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.callStatus | callStatus }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="180">
<template slot-scope="scope">
<!-- <span-->
<!-- style="color: #1890ff; padding-right: 8px"-->
<!-- class="operation-details"-->
<!-- @click="browseClick(scope.row)"-->
<!-- >叫号</span>-->
<!-- v-if="scope.row.callStatus !== '1' && scope.row.callStatus !== '3' && scope.row.callStatus !== '5'"-->
<!-- <span-->
<!-- style="color: #1890ff; padding-right: 8px"-->
<!-- class="operation-details"-->
<!-- @click="browseClick(scope.row)"-->
<!-- >叫号</span>-->
<!-- v-if="scope.row.callStatus !== '1' && scope.row.callStatus !== '3' && scope.row.callStatus !== '5'"-->
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@ -110,9 +110,9 @@
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :patient-type-list="patientTypeList" @refreshDataList="getDataListInitial" />
<!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" :is-search="'1'" />
<his-add v-if="HisAddVisible" ref="HisAddRef" :is-search="'1'" @openAdd="getHisData" />
<!-- 详情页 -->
<detail-view v-if="detailViewVisible" :only-read="onlyRead" :is-search="'1'" ref="viewRef" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" ref="viewRef" :only-read="onlyRead" :is-search="'1'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
</div>
</template>
<script>
@ -127,6 +127,47 @@ export default {
AddOrUpdate,
detailView
},
filters: {
callStatus(val) {
switch (val) {
case '1':
return '未叫号'
break
case '2':
return '已叫号'
break
case '3':
return '过号'
break
case '4':
return '呼叫中'
break
default:
return val
}
},
patientStatus(val) {
switch (val) {
case '1':
return '未报到'
break
case '2':
return '未诊断'
break
case '3':
return '就诊中'
break
case '4':
return '回诊'
break
case '5':
return '已诊'
break
default:
return val
}
}
},
mixins: [mixinViewModule, tableAutoHeight],
data() {
return {
@ -137,16 +178,25 @@ export default {
options: [
{
value: '0',
label: '今'
label: '今'
}, {
value: '1',
label: '近三天'
label: '天'
}, {
value: '2',
label: '近一周'
label: '前天'
}, {
value: '3',
label: '近三天'
}, {
value: '4',
label: '近一周'
}, {
value: '5',
label: '近一个月 '
}, {
value: '6',
label: '近半年 '
}, {
value: '',
label: '全部'
@ -181,59 +231,23 @@ export default {
patientId: '',
beginDate: '',
endDate: '',
searchType: '',
searchType: '0',
patientName: '',
patientStatus: '',
patientIdNumber: ''
},
patientId: '',
patientIdNumber: ''
}
},
filters: {
callStatus(val) {
switch (val) {
case '1':
return '未叫号'
break
case '2':
return '已叫号'
break
case '3':
return '过号'
break
case '4':
return '呼叫中'
break
default:
return val
}
},
patientStatus(val) {
switch (val) {
case '1':
return '未报到'
break
case '2':
return '未诊断'
break
case '3':
return '就诊中'
break
case '4':
return '回诊'
break
case '5':
return '已诊'
break
default:
return val
}
patientIdNumber: '',
doctorList: []
}
},
created() {
},
methods: {
// HIS
getHisData(val) {
this.addOrUpdateHandle('', { ...val }, 'HIS引入')
},
//
dateChange(e) {
this.dataForm.beginDate = e ? e[0] : ''

73
src/page-subspecialty/views/modules/outpatientManagement/call/patient-add-or-update.vue

@ -7,7 +7,7 @@
@close="closeDialog"
>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule">
<el-form-item label="病历号:" label-width="120px" prop="patientId" class="formItemOne">
<el-form-item label="登记号:" label-width="120px" prop="patientId" class="formItemOne">
<el-input v-model="dataForm.patientId" placeholder="请输入病历号" />
</el-form-item>
<el-form-item label="患者姓名:" label-width="120px" prop="patientName">
@ -38,8 +38,43 @@
<el-form-item label="家庭地址:" label-width="120px" prop="patientAddress">
<el-input v-model="dataForm.patientAddress" placeholder="请输入地址" />
</el-form-item>
<el-form-item label="门诊医师:" prop="outpatientDoc" label-width="120px">
<el-select v-model="dataForm.outpatientDoc" placeholder="请选择门诊医师">
<el-option
v-for="item in doctorList"
:key="item.id"
:label="item.realName"
:value="item.employeeId
"
/>
</el-select>
</el-form-item>
<el-form-item label="视光医师:" prop="optometryDoc" label-width="120px">
<el-select v-model="dataForm.optometryDoc" placeholder="请选择视光医师">
<el-option
v-for="item in doctorList"
:key="item.id"
:label="item.realName"
:value="item.employeeId
"
/>
</el-select>
</el-form-item>
<el-form-item label="眼别:" prop="zlEye" label-width="120px">
<el-select v-model="dataForm.zlEye" placeholder="请选择眼别">
<el-option v-for="item in zlEyeList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="医疗项目:" label-width="120px" prop="patientAddress">
<el-input v-model="dataForm.zlProject" placeholder="请输入医疗项目" />
<el-select v-model="dataForm.zlProject" placeholder="请选择医疗项目">
<el-option
v-for="item in projectList"
:key="item.itemId"
:label="item.itemName"
:value="item.itemId
"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="随访方案:" label-width="90px" prop="visitId">-->
<!-- <el-select v-model="dataForm.visitId" placeholder="请选择随访方案">-->
@ -60,6 +95,7 @@
<script>
import debounce from 'lodash/debounce'
import { isMobile, isIDNumber } from '@/utils/validate'
import eventBus from '@/page-subspecialty/utils/eventBus'
export default {
props: {
patientTypeList: {
@ -79,12 +115,22 @@ export default {
patientPhone: '',
patientAddress: '',
patientBirthday: '',
outpatientDoc: '', //
optometryDoc: '', //
zlProject: '',
zlEye: '',
visitId: '',
remark: ''
},
zlEyeList: [
{ name: '左眼', value: 'os' },
{ name: '右眼', value: 'od' },
{ name: '双眼', value: 'ou' }
],
params: {},
visitList: []
visitList: [],
doctorList: [],
projectList: []
}
},
computed: {
@ -119,15 +165,34 @@ export default {
methods: {
init() {
this.visible = true
this.getDoctorList()
this.getProject()
this.$nextTick(() => {
this.$refs.dataForm.resetFields() //
if (this.params.patientIdNumber && this.dataForm.title !== 'HIS引入') {
this.getInfo()
// this.getInfo()
this.dataForm = {
title: this.dataForm.title,
...this.params
}
} else if (this.dataForm.title === 'HIS引入') {
this.getHisInfo()
}
})
},
//
getDoctorList() {
this.$http.get('/sys/user').then(data => {
this.doctorList = data.data.data
this.dataForm.optometryDoc = JSON.parse(window.localStorage.getItem('qg-userData')).employeeId
})
},
//
getProject() {
this.$http.post('/patient/getZlItemDict').then(data => {
this.projectList = data.data.data
})
},
//
getInfo() {
this.$http.get(`/patient/manage/${this.params.patientCentreId}/${this.params.patientIdNumber}`).then(({ data: res }) => {

30
src/page-subspecialty/views/modules/outpatientManagement/treat/HIS-add.vue

@ -17,15 +17,6 @@
<el-form-item prop="patientIdNumber">
<el-input v-model="dataFormHis.patientIdNumber" placeholder="请输入身份证号" clearable @clear="findHandle(1)" />
</el-form-item>
<el-form-item prop="outpatientDoc">
<el-input v-model="dataFormHis.outpatientDoc" placeholder="请输入门诊医师" clearable @clear="findHandle(1)" />
</el-form-item>
<el-form-item prop="region">
<el-select v-model="dataFormHis.region" placeholder="请选择视光医师">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
<el-col :span="4">
<el-form-item>
<el-button type="primary" @click="findHandle(2)">查询</el-button>
@ -37,10 +28,12 @@
<template slot="empty">
<span style="color: #969799;">{{ tableText }}</span>
</template>
<el-table-column property="patientId" label="病历号" width="100" />
<el-table-column property="patientId" label="登记号" width="100" />
<el-table-column property="patientName" label="患者姓名" width="100" />
<el-table-column property="patientIdNumber" label="身份证号" />
<el-table-column property="patientPhone" label="联系电话" />
<el-table-column property="zlProject" label="医疗项目" width="240" />
<el-table-column property="remark" label="备注" width="240" />
<el-table-column label="操作" width="80">
<template slot-scope="scope">
<p class="introduce" @click="introduceHandle(scope.row)">引入</p>
@ -124,21 +117,8 @@ export default {
}
},
//
async introduceHandle(item) {
console.log(item)
const { data: res } = await this.$http.get('/patient/doLeadIn', {
params: {
patientId: item.patientId,
platform: this.isSearch
}
})
if (res.code === 0) {
this.$message.success('引入成功!')
this.$parent.getDataListInitial()
} else {
this.tableText = res.msg
this.$message.error(res.msg)
}
introduceHandle(item) {
this.$emit('openAdd', item)
}
}
}

30
src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue

@ -58,7 +58,7 @@
style="width: 100%"
>
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" />
<!-- <el-table-column prop="patientId" label="就诊号" header-align="center" align="center" />-->
<!-- <el-table-column prop="patientId" label="就诊号" header-align="center" align="center" />-->
<el-table-column label="状态" header-align="center" align="center">
<template slot-scope="scope">
{{ scope.row.patientStatus | patientStatus }}
@ -79,7 +79,7 @@
</el-table-column>
<el-table-column prop="patientSex" label="治疗医师" header-align="center" align="center" />
<el-table-column prop="createDate" label="就诊时间" header-align="center" align="center" />
<!-- <el-table-column prop="callSort" label="分诊序号" header-align="center" align="center" />-->
<!-- <el-table-column prop="callSort" label="分诊序号" header-align="center" align="center" />-->
<!-- <el-table-column prop="patientSex" label="叫号状态" header-align="center" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.callStatus | callStatus }}-->
@ -111,9 +111,9 @@
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :patient-type-list="patientTypeList" @refreshDataList="getDataListInitial" />
<!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" :is-search="'2'" />
<his-add v-if="HisAddVisible" ref="HisAddRef" :is-search="'2'" @openAdd="getHisData" />
<!-- 详情页 -->
<detail-view v-if="detailViewVisible" :only-read="onlyRead" ref="viewRef" :is-search="'2'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
<detail-view v-if="detailViewVisible" ref="viewRef" :only-read="onlyRead" :is-search="'2'" :patient-id="patientId" :patient-id-number="patientIdNumber" @detailViewVisible="detailViewVisible=false" />
</div>
</template>
<script>
@ -179,16 +179,25 @@ export default {
options: [
{
value: '0',
label: '今'
label: '今'
}, {
value: '1',
label: '近三天'
label: '天'
}, {
value: '2',
label: '近一周'
label: '前天'
}, {
value: '3',
label: '近三天'
}, {
value: '4',
label: '近一周'
}, {
value: '5',
label: '近一个月 '
}, {
value: '6',
label: '近半年 '
}, {
value: '',
label: '全部'
@ -223,7 +232,7 @@ export default {
patientId: '',
beginDate: '',
endDate: '',
searchType: '',
searchType: '0',
patientName: '',
patientStatus: '',
patientIdNumber: ''
@ -242,6 +251,9 @@ export default {
this.isShowPatient = !(this.$route.matched.length > 2)
},
methods: {
getHisData(val) {
this.addOrUpdateHandle('', { ...val }, 'HIS引入')
},
//
dateChange(e) {
this.dataForm.beginDate = e ? e[0] : ''
@ -272,7 +284,7 @@ export default {
this.$nextTick(() => {
this.$refs.HisAddRef.init()
})
},
}
}
}
</script>

85
src/page-subspecialty/views/modules/outpatientManagement/treat/patient-add-or-update.vue

@ -7,7 +7,7 @@
@close="closeDialog"
>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule">
<el-form-item label="病历号:" label-width="120px" prop="patientId" class="formItemOne">
<el-form-item label="登记号:" label-width="120px" prop="patientId" class="formItemOne">
<el-input v-model="dataForm.patientId" placeholder="请输入病历号" />
</el-form-item>
<el-form-item label="患者姓名:" label-width="120px" prop="patientName">
@ -38,9 +38,42 @@
<el-form-item label="家庭地址:" label-width="120px" prop="patientAddress">
<el-input v-model="dataForm.patientAddress" placeholder="请输入地址" />
</el-form-item>
<el-form-item label="医疗项目:" label-width="120px" prop="patientAddress">
<el-input v-model="dataForm.zlProject" placeholder="请输入医疗项目" />
<el-form-item label="门诊医师:" prop="outpatientDoc" label-width="120px">
<el-select v-model="dataForm.outpatientDoc" placeholder="请选择门诊医师">
<el-option
v-for="item in doctorList"
:key="item.id"
:label="item.realName"
:value="item.employeeId
"
/>
</el-select>
</el-form-item>
<el-form-item label="视光医师:" prop="optometryDoc" label-width="120px">
<el-select v-model="dataForm.optometryDoc" placeholder="请选择视光医师">
<el-option
v-for="item in doctorList"
:key="item.id"
:label="item.realName"
:value="item.employeeId
"
/>
</el-select>
</el-form-item>
<el-form-item label="眼别:" prop="zlEye" label-width="120px">
<el-select v-model="dataForm.zlEye" placeholder="请选择眼别">
<el-option v-for="item in zlEyeList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-select v-model="dataForm.zlProject" placeholder="请选择医疗项目">
<el-option
v-for="item in projectList"
:key="item.itemId"
:label="item.itemName"
:value="item.itemId
"
/>
</el-select>
<!-- <el-form-item label="随访方案:" label-width="90px" prop="visitId">-->
<!-- <el-select v-model="dataForm.visitId" placeholder="请选择随访方案">-->
<!-- <el-option v-for="item in visitList" :key="item.id" :label="item.name" :value="item.id" />-->
@ -79,12 +112,22 @@ export default {
patientPhone: '',
patientAddress: '',
patientBirthday: '',
outpatientDoc: '', //
optometryDoc: '', //
zlEye: '',
zlProject: '',
visitId: '',
remark: ''
},
zlEyeList: [
{ name: '左眼', value: 'os' },
{ name: '右眼', value: 'od' },
{ name: '双眼', value: 'ou' }
],
params: {},
visitList: []
visitList: [],
doctorList: [],
projectList: []
}
},
computed: {
@ -112,6 +155,9 @@ export default {
],
patientIdNumber: [
{ required: true, message: '请输入患者身份证号', trigger: 'blur' }
],
optometryDoc: [
{ required: true, message: '请选择视光医师', trigger: 'blur' }
]
}
}
@ -119,27 +165,32 @@ export default {
methods: {
init() {
this.visible = true
this.getDoctorList()
this.getProject()
this.$nextTick(() => {
this.$refs.dataForm.resetFields() //
this.getVisitList() // 访
if (this.params.patientIdNumber && this.dataForm.title !== 'HIS引入') {
this.getInfo()
this.dataForm = {
title: this.dataForm.title,
...this.params
}
} else if (this.dataForm.title === 'HIS引入') {
this.getHisInfo()
}
})
},
//
getInfo() {
this.$http.get(`/patient/manage/${this.params.patientCentreId}/${this.params.patientIdNumber}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.dataForm = {
...this.dataForm,
...res.data
}
}).catch(() => {})
//
getDoctorList() {
this.$http.get('/sys/user').then(data => {
this.doctorList = data.data.data
this.dataForm.optometryDoc = JSON.parse(window.localStorage.getItem('qg-userData')).employeeId
})
},
//
getProject() {
this.$http.post('/patient/getZlItemDict').then(data => {
this.projectList = data.data.data
})
},
// His
getHisInfo() {

Loading…
Cancel
Save