Browse Source

护士工作台相关修改

360view
bianyaqi 2 years ago
parent
commit
b6bf34995f
  1. 72
      src/page-subspecialty/views/modules/nurseManagement/myDialog.vue
  2. 9
      src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/addPatientOrder.vue
  3. 2
      src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/number-detail-manage.vue
  4. 37
      src/page-subspecialty/views/modules/nurseManagement/reservation/subList/index.vue
  5. 28
      src/page-subspecialty/views/modules/nurseManagement/reservation/subList/reDialog.vue
  6. 42
      src/page-subspecialty/views/modules/nurseManagement/reservation/subSetting/addProject.vue
  7. 13
      src/page-subspecialty/views/modules/nurseManagement/reservation/subSetting/index.vue

72
src/page-subspecialty/views/modules/nurseManagement/myDialog.vue

@ -1,72 +0,0 @@
<template>
<el-dialog
:title="title"
:visible.sync="dialogVisible"
destroy-on-close
width="40%"
:before-close="handleClose"
>
<div>
<slot />
</div>
<span slot="footer" class="dialog-footer">
<el-button v-if="print" v-print="print" size="small">打印</el-button>
<el-button size="small" @click="handleClose"> </el-button>
<el-button type="primary" size="small" @click="handleSave"> </el-button>
</span>
</el-dialog>
</template>
<script>
export default {
name: 'MyDialog',
props: {
isShow: {
type: Boolean,
default: false
},
title: {
type: String,
default: ''
},
print: {
type: Object,
default: () => {}
}
},
data() {
return {
dialogVisible: this.isShow
}
},
watch: {
isShow(val) {
this.dialogVisible = val
}
},
methods: {
handleClose() {
this.$emit('close', false)
},
handleSave() {
this.$emit('handleSave')
}
}
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body{
border-bottom:1px solid #F0F0F0;
border-top:1px solid #F0F0F0;
}
::v-deep .el-dialog__header{
padding: 16px 24px;
}
::v-deep .el-dialog__footer{
padding: 16px;
}
::v-deep .el-dialog__body{
padding: 16px 24px;
}
</style>

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

@ -1,5 +1,5 @@
<template> <template>
<el-dialog top="30px" class="number-manage" append-to-body :visible.sync="visible" width="40%" :title="title" @close="closeDialog">
<el-dialog top="30px" class="number-manage" append-to-body :visible.sync="visible" width="40%" :title="title" :before-close="closeDialog">
<el-form id="addPatientOrder" ref="addPatientForm" :rules="dataRule" size="small" :model="form" label-width="90px"> <el-form id="addPatientOrder" ref="addPatientForm" :rules="dataRule" size="small" :model="form" label-width="90px">
<el-form-item required label="选择患者:" prop="patientId"> <el-form-item required label="选择患者:" prop="patientId">
<el-input v-model="form.patientId" :readonly="isEdit" suffix-icon="el-icon-search" placeholder="请输入登记号" @change="searchPatient" /> <el-input v-model="form.patientId" :readonly="isEdit" suffix-icon="el-icon-search" placeholder="请输入登记号" @change="searchPatient" />
@ -169,9 +169,10 @@ export default {
this.form.pupilShrink = this.patientDetail.pupilShrink this.form.pupilShrink = this.patientDetail.pupilShrink
this.form.remark = this.patientDetail.remark this.form.remark = this.patientDetail.remark
this.form.yzOpen = this.patientDetail.yzOpen this.form.yzOpen = this.patientDetail.yzOpen
this.form.date = this.patientDetail.appointDate
this.form.date1 = this.patientDetail.appointDate.split(' ')[0]
this.form.date2 = this.patientDetail.appointDate.split(' ')[1]
if (this.patientDetail.appointDate) {
this.form.date1 = this.patientDetail.appointDate.split(' ')[0]
this.form.date2 = this.patientDetail.appointDate.split(' ')[1]
}
this.patientInfo = this.patientDetail this.patientInfo = this.patientDetail
} }
}, },

2
src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/number-detail-manage.vue

@ -73,6 +73,8 @@ export default {
addOrder() { addOrder() {
this.addPatientVisible = true this.addPatientVisible = true
this.addTitle = '新增预约' this.addTitle = '新增预约'
this.isEdit = false
this.curPatient = null
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.addPatientOrder.init() this.$refs.addPatientOrder.init()
}) })

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

@ -51,7 +51,6 @@
style="width: 100%" style="width: 100%"
:cell-class-name="tableCellClassName" :cell-class-name="tableCellClassName"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@row-dblclick="dbclick"
> >
<el-table-column type="selection" width="50px" /> <el-table-column type="selection" width="50px" />
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="150px" /> <el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="150px" />
@ -67,11 +66,11 @@
{{ scope.row.appointDate ? scope.row.appointDate : '-' }} {{ scope.row.appointDate ? scope.row.appointDate : '-' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="检查项目" prop="itemName" header-align="center" align="center" />
<el-table-column label="医疗项目" prop="itemName" header-align="center" align="center" />
<el-table-column label="眼别" prop="eyeType" header-align="center" align="center" /> <el-table-column label="眼别" prop="eyeType" header-align="center" align="center" />
<el-table-column label="操作" header-align="center" align="center" width="200px"> <el-table-column label="操作" header-align="center" align="center" width="200px">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="call" @click="editOpera(scope.row)">改约</span>
<span class="call" @click="editOpera(scope.row)">{{ scope.row.appointDate ? "改约":"预约" }}</span>
<span class="cancel" @click="cancelClick(scope.row)">取消</span> <span class="cancel" @click="cancelClick(scope.row)">取消</span>
<span class="call" @click="checkPatientDetail(scope.row)">患者360</span> <span class="call" @click="checkPatientDetail(scope.row)">患者360</span>
</template> </template>
@ -81,10 +80,10 @@
</div> </div>
</div> </div>
<re-dialog <re-dialog
v-if="reDialogShow"
ref="reDialog" ref="reDialog"
:patient-list="patientList" :patient-list="patientList"
:projects="selectedProjects" :projects="selectedProjects"
:is-show="reDialogShow"
@close="closeReDialog" @close="closeReDialog"
@saveAppoint="saveAppoint" @saveAppoint="saveAppoint"
/> />
@ -92,8 +91,8 @@
v-if="addPatientVisible" v-if="addPatientVisible"
ref="addPatientOrder" ref="addPatientOrder"
:patient-detail="curPatient" :patient-detail="curPatient"
title="修改预约"
:is-edit="true"
:title="addTitle"
:is-edit="isEdit"
@closeDialog="closeAddDialog" @closeDialog="closeAddDialog"
@updateAppoint="updateAppoint" @updateAppoint="updateAppoint"
/> />
@ -132,6 +131,8 @@ export default {
getDataListIsPage: true, getDataListIsPage: true,
createdIsNeed: false createdIsNeed: false
}, },
isEdit: false,
addTitle: '',
addPatientVisible: false, addPatientVisible: false,
detailViewVisible: false, detailViewVisible: false,
onlyRead: true, onlyRead: true,
@ -213,7 +214,10 @@ export default {
// //
changeOrder() { changeOrder() {
this.reDialogShow = true this.reDialogShow = true
this.$refs.reDialog.patients = JSON.parse(JSON.stringify(this.patientList)).filter(item => !!item.itemId)
this.$nextTick(() => {
this.$refs.reDialog.init()
this.$refs.reDialog.patients = JSON.parse(JSON.stringify(this.patientList)).filter(item => !!item.itemId)
})
}, },
closeReDialog(val) { closeReDialog(val) {
this.reDialogShow = val this.reDialogShow = val
@ -236,22 +240,17 @@ export default {
row.index = rowIndex row.index = rowIndex
column.index = columnIndex column.index = columnIndex
}, },
// indexcurrentCell
// "1,0","1,1",
dbclick(row, column) {
this.currentCell = row.index + ',' + column.index
// setTimeoutinputv-ifdom
setTimeout(() => {
//
this.$refs[row.index + ',' + column.index].focus()
})
},
// //
editOpera(scopeRow) { editOpera(scopeRow) {
this.addPatientVisible = true this.addPatientVisible = true
this.addTitle = '修改预约'
this.curPatient = scopeRow this.curPatient = scopeRow
this.isEdit = true
if (scopeRow.appointDate) {
this.isEdit = true
this.addTitle = '修改预约'
} else {
this.isEdit = false
this.addTitle = '预约'
}
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.addPatientOrder.init() this.$refs.addPatientOrder.init()
}) })

28
src/page-subspecialty/views/modules/nurseManagement/reservation/subList/reDialog.vue

@ -1,5 +1,5 @@
<template> <template>
<my-dialog :print="print" title="改约" :is-show="show" @handleSave="handleSave" @close="closeDialog">
<el-dialog title="改约" :visible.sync="show" :before-close="closeDialog">
<el-form id="reOrder" ref="form" size="small" :model="form" label-width="100px"> <el-form id="reOrder" ref="form" size="small" :model="form" label-width="100px">
<div v-for="(item,index) in patients" :key="index"> <div v-for="(item,index) in patients" :key="index">
<div class="secTitle">{{ `${item.itemName} ${item.patientName}` }}</div> <div class="secTitle">{{ `${item.itemName} ${item.patientName}` }}</div>
@ -10,21 +10,17 @@
/> />
</div> </div>
</el-form> </el-form>
</my-dialog>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="closeDialog"> </el-button>
<el-button type="primary" size="small" @click="handleSave"> </el-button>
</span>
</el-dialog>
</template> </template>
<script> <script>
import MyDialog from '@/page-subspecialty/views/modules/nurseManagement/myDialog.vue'
export default { export default {
name: 'ReDialog', name: 'ReDialog',
components: { MyDialog },
props: {
isShow: {
type: Boolean,
default: false
}
},
data() { data() {
return { return {
show: false, show: false,
@ -42,14 +38,12 @@ export default {
} }
} }
}, },
watch: {
isShow(val) {
this.show = val
}
},
methods: { methods: {
closeDialog(val) {
this.$emit('close', val)
init() {
this.show = true
},
closeDialog() {
this.$emit('close')
}, },
handleSave() { handleSave() {
this.patients.forEach(item => { this.patients.forEach(item => {

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

@ -1,5 +1,5 @@
<template> <template>
<my-dialog :title="title" :is-show="show" @handleSave="handleSave" @close="closeDialog">
<el-dialog :title="title" :visible.sync="show" width="40%" :before-close="closeDialog">
<el-form id="reOrder" ref="addForm" :rules="rules" size="small" :model="form" label-width="130px"> <el-form id="reOrder" ref="addForm" :rules="rules" size="small" :model="form" label-width="130px">
<el-form-item required label="项目名称:" style="width: 100%" prop="project"> <el-form-item required label="项目名称:" style="width: 100%" prop="project">
<el-select v-model="form.project" placeholder="请选择" style="width: 100%"> <el-select v-model="form.project" placeholder="请选择" style="width: 100%">
@ -11,13 +11,17 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item required label="是否限制人数:" style="width: 100%" prop="limit">
<el-radio v-model="form.limit" label="Y"></el-radio>
<el-radio v-model="form.limit" label="N"></el-radio>
</el-form-item>
<div style="display: flex"> <div style="display: flex">
<el-form-item style="flex: 1" required label="上班时间 上午:" prop="workTimeAm"> <el-form-item style="flex: 1" required label="上班时间 上午:" prop="workTimeAm">
<el-time-select <el-time-select
v-model="form.workTimeAm" v-model="form.workTimeAm"
:picker-options="{ :picker-options="{
start: '07:30', start: '07:30',
end: '13:30'
end: '12:00'
}" }"
placeholder="选择时间" placeholder="选择时间"
style="width: 100%;" style="width: 100%;"
@ -34,7 +38,7 @@
<el-time-select <el-time-select
v-model="form.workTimePm" v-model="form.workTimePm"
:picker-options="{ :picker-options="{
start: '13:30',
start: '12:00',
end: '21:00' end: '21:00'
}" }"
placeholder="选择时间" placeholder="选择时间"
@ -126,20 +130,18 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</my-dialog>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="closeDialog"> </el-button>
<el-button type="primary" size="small" @click="handleSave"> </el-button>
</span>
</el-dialog>
</template> </template>
<script> <script>
import MyDialog from '@/page-subspecialty/views/modules/nurseManagement/myDialog.vue'
export default { export default {
name: 'AddProject', name: 'AddProject',
components: { MyDialog },
props: { props: {
isShow: {
type: Boolean,
default: false
},
title: { title: {
type: String, type: String,
default: '' default: ''
@ -157,7 +159,8 @@ export default {
workTimeAm: '', workTimeAm: '',
workTimePm: '', workTimePm: '',
timeInterval: '', timeInterval: '',
maxNumber: ''
maxNumber: '',
limit: ''
}, },
options: [], options: [],
tableData: [ tableData: [
@ -199,24 +202,25 @@ export default {
], ],
maxNumber: [ maxNumber: [
{ required: true, message: '请填写人数上限' } { required: true, message: '请填写人数上限' }
],
limit: [
{ required: true, message: '请选择限制' }
] ]
} }
} }
}, },
watch: {
isShow(val) {
this.show = val
if (val) {
this.getDetailData()
}
}
},
created() { created() {
this.originForm = JSON.parse(JSON.stringify(this.form)) this.originForm = JSON.parse(JSON.stringify(this.form))
this.originTable = JSON.parse(JSON.stringify(this.tableData)) this.originTable = JSON.parse(JSON.stringify(this.tableData))
this.queryProjects() this.queryProjects()
}, },
methods: { methods: {
init() {
this.show = true
this.$nextTick(() => {
this.getDetailData()
})
},
queryProjects() { queryProjects() {
this.$http.get('/patient/getZlItemDict', { params: { isAppoint: 1 }}).then(data => { this.$http.get('/patient/getZlItemDict', { params: { isAppoint: 1 }}).then(data => {
this.options = data.data.data this.options = data.data.data

13
src/page-subspecialty/views/modules/nurseManagement/reservation/subSetting/index.vue

@ -274,9 +274,10 @@
</el-table> </el-table>
</div> </div>
<add-project <add-project
v-if="addShow"
ref="addProject"
:project-detail="projectItem" :project-detail="projectItem"
:title="title" :title="title"
:is-show="addShow"
@refreshList="refreshList" @refreshList="refreshList"
@closeDialog="closeDialog" @closeDialog="closeDialog"
/> />
@ -360,6 +361,9 @@ export default {
editOpera(scopeRow) { editOpera(scopeRow) {
this.title = '修改项目' this.title = '修改项目'
this.addShow = true this.addShow = true
this.$nextTick(() => {
this.$refs.addProject.init()
})
this.projectItem = scopeRow this.projectItem = scopeRow
}, },
// //
@ -376,13 +380,16 @@ export default {
}) })
}, },
// //
closeDialog(val) {
this.addShow = val
closeDialog() {
this.addShow = false
}, },
// //
addProject() { addProject() {
this.title = '新增项目' this.title = '新增项目'
this.addShow = true this.addShow = true
this.$nextTick(() => {
this.$refs.addProject.init()
})
} }
} }
} }

Loading…
Cancel
Save