Browse Source

预约列表修改

360view
bianyaqi 2 years ago
parent
commit
218cfbb16a
  1. 4
      public/index.html
  2. 45
      src/page-subspecialty/views/modules/formList/Lacrimal.vue
  3. 25
      src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/addPatientOrder.vue
  4. 36
      src/page-subspecialty/views/modules/nurseManagement/reservation/subList/index.vue
  5. 141
      src/page-subspecialty/views/modules/nurseManagement/reservation/subList/printTable.vue
  6. 2
      src/page-subspecialty/views/modules/nurseManagement/reservation/subSetting/addProject.vue

4
public/index.html

@ -39,8 +39,8 @@
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
<script>
//http://121.36.16.195:9002/huimu-admin/swagger-ui/index.html
window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf';
// window.SITE_CONFIG['apiURL'] = 'http://192.168.0.168:8036/xiangan-crf';
// window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf';
window.SITE_CONFIG['apiURL'] = 'http://192.168.0.168:8036/xiangan-crf';
// window.SITE_CONFIG['apiURL'] = 'http://192.168.4.174:8036/xiangan-crf';
</script>
<% } %>

45
src/page-subspecialty/views/modules/formList/Lacrimal.vue

@ -15,7 +15,7 @@
<span class="text">右眼</span>
<div style="margin-bottom: 20px">
<div class="flex" style="flex-wrap: wrap">
<el-select v-model="confirmData.odPunctum" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odPunctum" style="width: 100px" clearable filterable allow-create placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -24,7 +24,7 @@
/>
</el-select>
<span class="text">泪小点进针</span>
<el-select v-model="confirmData.odReflux" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odReflux" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -33,7 +33,7 @@
/>
</el-select>
<span class="text">反流</span>
<el-select v-model="confirmData.odPunctumReflux" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odPunctumReflux" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -42,7 +42,7 @@
/>
</el-select>
<span class="text">泪小点反流患者自诉咽部</span>
<el-select v-model="confirmData.odWet" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odWet" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -54,7 +54,7 @@
<el-input v-model="confirmData.odSecretion" style="width: 100px" /><span class="text">分泌物</span>
</div>
<div class="flex" style="flex-wrap: wrap;margin-top: 15px">
<el-select v-model="confirmData.odPunctum2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odPunctum2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -63,7 +63,7 @@
/>
</el-select>
<span class="text">泪小点进针</span>
<el-select v-model="confirmData.odReflux2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odReflux2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -72,7 +72,7 @@
/>
</el-select>
<span class="text">反流</span>
<el-select v-model="confirmData.odPunctumReflux2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odPunctumReflux2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -81,7 +81,7 @@
/>
</el-select>
<span class="text">泪小点反流患者自诉咽部</span>
<el-select v-model="confirmData.odWet2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.odWet2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -98,7 +98,7 @@
<span class="text">左眼</span>
<div style="margin-bottom: 20px">
<div class="flex" style="flex-wrap: wrap">
<el-select v-model="confirmData.osPunctum" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osPunctum" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -107,7 +107,7 @@
/>
</el-select>
<span class="text">泪小点进针</span>
<el-select v-model="confirmData.osReflux" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osReflux" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -116,7 +116,7 @@
/>
</el-select>
<span class="text">反流</span>
<el-select v-model="confirmData.osPunctumReflux" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osPunctumReflux" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -125,7 +125,7 @@
/>
</el-select>
<span class="text">泪小点反流患者自诉咽部</span>
<el-select v-model="confirmData.osWet" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osWet" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -137,7 +137,7 @@
<el-input v-model="confirmData.osSecretion" style="width: 100px" /><span class="text">分泌物</span>
</div>
<div class="flex" style="flex-wrap: wrap;margin-top: 15px">
<el-select v-model="confirmData.osPunctum2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osPunctum2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -146,7 +146,7 @@
/>
</el-select>
<span class="text">泪小点进针</span>
<el-select v-model="confirmData.osReflux2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osReflux2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -155,7 +155,7 @@
/>
</el-select>
<span class="text">反流</span>
<el-select v-model="confirmData.osPunctumReflux2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osPunctumReflux2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in options"
:key="item.value"
@ -164,7 +164,7 @@
/>
</el-select>
<span class="text">泪小点反流患者自诉咽部</span>
<el-select v-model="confirmData.osWet2" style="width: 100px" clearable placeholder="">
<el-select v-model="confirmData.osWet2" filterable allow-create style="width: 100px" clearable placeholder="">
<el-option
v-for="item in reOptions"
:key="item.value"
@ -221,13 +221,15 @@ export default {
id: 'lacrimal'
},
options: [
{
label: '上',
value: 1
},
{
label: '下',
value: 2
}, {
label: '上',
value: 1
}, {
label: '/',
value: 3
}
],
reOptions: [
@ -238,6 +240,9 @@ export default {
{
label: '无',
value: 4
}, {
label: '/',
value: 5
}
],
orgin: '',

25
src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/addPatientOrder.vue

@ -56,18 +56,7 @@
<el-col :span="24" style="display: flex;align-items: center">
<div class="addLabel">项目:</div>
<el-checkbox-group v-model="form.project">
<el-checkbox label="眼底激光治疗" />
<el-checkbox label="三面镜检查" />
<el-checkbox label="FFA" />
<el-checkbox label="ICGA" />
<el-checkbox label="Pvep" />
<el-checkbox label="Perg" />
<el-checkbox label="Fvep" />
<el-checkbox label="Fferg" />
<el-checkbox label="Mferg" />
<el-checkbox label="Phnr" />
<el-checkbox label="Fst" />
<el-checkbox label="Eog" />
<el-checkbox v-for="(item,index) in projectList" :key="index" :label="item" />
<el-checkbox label="其他" />
<el-input v-model="form.otherProject" class="otherProject" size="small" placeholder="" style="width: 125px;" />
</el-checkbox-group>
@ -161,6 +150,7 @@ export default {
startTime: '08:30',
step: '00:15',
endTime: '18:00',
projectList: [],
doctorList: []
}
},
@ -181,9 +171,9 @@ export default {
},
created() {
this.getDoctorList()
this.getProjectList()
},
mounted() {
console.log(this.patientDetail)
if (this.patientDetail) {
this.form.patientId = this.patientDetail.patientId
this.form.doctorId = this.patientDetail.doctorId
@ -222,6 +212,8 @@ export default {
this.$http.get('/appoint/getPatientInfo', { params: { patientId: val }}).then((data) => {
if (data.data.data.list.length) {
this.patientInfo = data.data.data.list[0]
} else {
this.patientInfo = null
}
})
},
@ -233,6 +225,13 @@ export default {
this.$message.error(err.msg)
})
},
getProjectList() {
this.$http.get('/appoint/getAppiontProJectDict').then(data => {
this.projectList = data.data.data
}).catch(err => {
this.$message.error(err.msg)
})
},
//
selectDoctor(val) {
const curDoctor = this.doctorList.find(item => item.employeeId === val)

36
src/page-subspecialty/views/modules/nurseManagement/reservation/subList/index.vue

@ -49,7 +49,7 @@
</div>
<div>
<el-button type="primary" icon="el-icon-edit" size="small" @click="changeOrder">改约</el-button>
<el-button v-print="printObj" type="primary" icon="el-icon-edit" size="small" @click="printTable">打印</el-button>
<el-button v-print="printObj" type="primary" icon="el-icon-edit" size="small">打印</el-button>
</div>
</div>
<div style="display: flex;margin: 15px 0 0 15px">
@ -86,8 +86,7 @@
</div>
</div>
<div class="scheduled-patient-content">
<div id="multipleTable">
<div v-if="dataForm.itemId" class="project_title">医疗项目{{ curProject.itemName }}</div>
<div>
<el-table
ref="multipleTable"
:data="dataList"
@ -97,7 +96,7 @@
@selection-change="handleSelectionChange"
@sort-change="sortList"
>
<el-table-column v-if="printHidden" type="selection" />
<el-table-column type="selection" />
<el-table-column label="预约时间" header-align="center" align="center" width="110px">
<template slot-scope="scope">
{{ scope.row.appointDate ? scope.row.appointDate : '-' }}
@ -113,8 +112,8 @@
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="120px" />
<el-table-column prop="patientPhone" label="电话" header-align="center" align="center" width="120px" />
<el-table-column label="眼别" prop="eyeType" header-align="center" align="center" width="80px" />
<el-table-column v-if="!dataForm.itemId" label="医疗项目" prop="itemName" header-align="center" align="center" width="100px" />
<el-table-column label="项目" prop="project" header-align="center" align="center" width="120px">
<el-table-column label="医疗项目" prop="itemName" header-align="center" align="center" width="100px" />
<el-table-column label="项目" prop="project" header-align="center" align="center">
<template slot-scope="scope">
<div v-if="scope.row.project">
<div v-for="item in scope.row.project.split(',')" :key="item">
@ -166,7 +165,6 @@
</div>
</template>
</el-table-column>
<el-table-column prop="jzNumber" label="就诊号" header-align="center" align="center" />
<el-table-column label="操作" class-name="hidden" header-align="center" align="center" width="200px">
<template slot-scope="scope">
<span class="call" @click="editOpera(scope.row)">{{ scope.row.appointDate ? "改约":"预约" }}</span>
@ -179,6 +177,9 @@
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page" @current-change="pageCurrentChangeHandle" />
</div>
</div>
<div class="printHiddenTable">
<print-table :arrival-list="arrivalList" :data-list="dataList" :cur-project="curProject" />
</div>
<re-dialog
v-if="reDialogShow"
ref="reDialog"
@ -215,9 +216,11 @@ import ReDialog from '@/page-subspecialty/views/modules/nurseManagement/reservat
import AddProject from '@/page-subspecialty/views/modules/nurseManagement/reservation/subSetting/addProject.vue'
import AddPatientOrder
from '@/page-subspecialty/views/modules/nurseManagement/reservation/schedule/addPatientOrder.vue'
import PrintTable from '@/page-subspecialty/views/modules/nurseManagement/reservation/subList/printTable.vue'
export default {
name: 'SubList',
components: {
PrintTable,
AddPatientOrder,
AddProject,
ReDialog,
@ -339,14 +342,8 @@ export default {
//
printObj: {
id: 'multipleTable',
extraHead: '<style> .el-table .el-table__cell{padding:9px 0 !important;}</style>',
closeCallback: () => {
this.printHidden = true
this.printHiddenProject = true
}
},
printHidden: true,
printHiddenProject: true
extraHead: '<style> .el-table .el-table__cell{padding:9px 0 !important;}</style>'
}
}
},
created() {
@ -423,10 +420,6 @@ export default {
})
})
},
printTable() {
this.printHidden = false
this.printHiddenProject = false
},
//
changeOrder() {
this.reDialogShow = true
@ -542,6 +535,11 @@ export default {
color: #FF4D4F;
}
}
.printHiddenTable{
position: absolute;
top: 0;
left: -100%;
}
.scheduled-patient {
.form-item-date{
.el-input__inner {

141
src/page-subspecialty/views/modules/nurseManagement/reservation/subList/printTable.vue

@ -0,0 +1,141 @@
<template>
<div id="multipleTable">
<div v-if="curProject" class="project_title">医疗项目{{ curProject.itemName }}</div>
<el-table
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
@sort-change="sortList"
>
<el-table-column label="预约时间" header-align="center" align="center" width="110px">
<template slot-scope="scope">
{{ scope.row.appointDate ? scope.row.appointDate : '-' }}
</template>
</el-table-column>
<el-table-column label="类型" prop="source" header-align="center" align="center" width="55px" />
<el-table-column label="负责医生" header-align="center" align="center" width="100px">
<template slot-scope="scope">
{{ scope.row.doctorName ? scope.row.doctorName : '-' }}
</template>
</el-table-column>
<el-table-column prop="patientName" label="患者姓名" header-align="center" align="center" width="100px" />
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="120px" />
<el-table-column prop="patientPhone" label="电话" header-align="center" align="center" width="120px" />
<el-table-column label="眼别" prop="eyeType" header-align="center" align="center" width="80px" />
<el-table-column label="项目" prop="project" header-align="center" align="center" width="120px">
<template slot-scope="scope">
<div v-if="scope.row.project">
<div v-for="item in scope.row.project.split(',')" :key="item">
<div v-if="item!=='其他'">
{{ item }}
</div>
<div v-else>
{{ `${item}: ${scope.row.otherProject}` }}
</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="准备工作" prop="preparation" header-align="center" align="center" width="120px">
<template slot-scope="scope">
<div>
<div v-if="showPreparation(scope.row.preparation,'医嘱已开')" :class="{active_check:showPreparation(scope.row.preparation,'医嘱已开')}">
医嘱已开
</div>
<div v-if="showPreparation(scope.row.preparation,'散瞳')" :class="{active_check:showPreparation(scope.row.preparation,'散瞳')}">
散瞳
</div>
<div v-if="showPreparation(scope.row.preparation,'表麻')" :class="{active_check:showPreparation(scope.row.preparation,'表麻')}">
表麻
</div>
<div v-if="showPreparation(scope.row.preparation,'全身检查完成')" :class="{active_check:showPreparation(scope.row.preparation,'全身检查完成')}">
全身检查完成
</div>
<div v-if="showPreparation(scope.row.preparation,'缩瞳')" :class="{active_check_red:showPreparation(scope.row.preparation,'缩瞳')}">
缩瞳
</div>
</div>
</template>
</el-table-column>
<el-table-column sortable label="是否到达" header-align="center" align="center" width="110px">
<template slot-scope="scope">
<div>
<el-select v-model="scope.row.arrival" :class="{'active_check':scope.row.arrival==='Y'}" class="arrivalSelect" placeholder="" size="small" @change="value=>changeEyeType(value,scope)">
<el-option
v-for="item in arrivalList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<div v-if="scope.row.arrivalDate && scope.row.arrival==='Y'">
{{ scope.row.arrivalDate }}
</div>
</div>
</template>
</el-table-column>
<el-table-column label="操作" class-name="hidden" header-align="center" align="center" width="200px">
<template slot-scope="scope">
<span class="call" @click="editOpera(scope.row)">{{ scope.row.appointDate ? "改约":"预约" }}</span>
<span class="cancel" @click="cancelClick(scope.row)">取消</span>
<span class="call" @click="checkPatientDetail(scope.row)">患者360</span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'PrintTable',
props: {
curProject: {
type: Object
},
dataList: {
type: Array
},
arrivalList: {
type: Array
}
},
methods: {
sortList(val) {
if (val.order === 'ascending') {
val.order = 'asc'
}
if (val.order === 'descending') {
val.order = 'desc'
}
this.dataForm.arrivalSort = val.order
this.getDataList()
},
showPreparation(scope, value) {
if (!scope) {
return false
}
return scope.includes(value)
}
}
}
</script>
<style lang="scss" scoped>
.active_check{
color: #409EFF;
}
.active_check_red{
color: #ff0000;
}
.arrivalSelect{
::v-deep .el-input__suffix{
display: none;
}
::v-deep .el-input__inner{
border: 0;
font-size: 16px;
text-align: center;
padding: 0;
}
}
</style>

2
src/page-subspecialty/views/modules/nurseManagement/reservation/subSetting/addProject.vue

@ -34,7 +34,7 @@
</el-form-item>
</div>
<div style="display: flex">
<el-form-item style="flex: 1" required label="班时间 下午:" prop="workTimePm">
<el-form-item style="flex: 1" required label="班时间 下午:" prop="workTimePm">
<el-time-select
v-model="form.workTimePm"
:picker-options="{

Loading…
Cancel
Save