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>
<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-item required label="选择患者:" prop="patientId">
<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.remark = this.patientDetail.remark
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
}
},

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

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

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

@ -51,7 +51,6 @@
style="width: 100%"
:cell-class-name="tableCellClassName"
@selection-change="handleSelectionChange"
@row-dblclick="dbclick"
>
<el-table-column type="selection" width="50px" />
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="150px" />
@ -67,11 +66,11 @@
{{ scope.row.appointDate ? scope.row.appointDate : '-' }}
</template>
</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="操作" header-align="center" align="center" width="200px">
<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="call" @click="checkPatientDetail(scope.row)">患者360</span>
</template>
@ -81,10 +80,10 @@
</div>
</div>
<re-dialog
v-if="reDialogShow"
ref="reDialog"
:patient-list="patientList"
:projects="selectedProjects"
:is-show="reDialogShow"
@close="closeReDialog"
@saveAppoint="saveAppoint"
/>
@ -92,8 +91,8 @@
v-if="addPatientVisible"
ref="addPatientOrder"
:patient-detail="curPatient"
title="修改预约"
:is-edit="true"
:title="addTitle"
:is-edit="isEdit"
@closeDialog="closeAddDialog"
@updateAppoint="updateAppoint"
/>
@ -132,6 +131,8 @@ export default {
getDataListIsPage: true,
createdIsNeed: false
},
isEdit: false,
addTitle: '',
addPatientVisible: false,
detailViewVisible: false,
onlyRead: true,
@ -213,7 +214,10 @@ export default {
//
changeOrder() {
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) {
this.reDialogShow = val
@ -236,22 +240,17 @@ export default {
row.index = rowIndex
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) {
this.addPatientVisible = true
this.addTitle = '修改预约'
this.curPatient = scopeRow
this.isEdit = true
if (scopeRow.appointDate) {
this.isEdit = true
this.addTitle = '修改预约'
} else {
this.isEdit = false
this.addTitle = '预约'
}
this.$nextTick(() => {
this.$refs.addPatientOrder.init()
})

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

@ -1,5 +1,5 @@
<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">
<div v-for="(item,index) in patients" :key="index">
<div class="secTitle">{{ `${item.itemName} ${item.patientName}` }}</div>
@ -10,21 +10,17 @@
/>
</div>
</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>
<script>
import MyDialog from '@/page-subspecialty/views/modules/nurseManagement/myDialog.vue'
export default {
name: 'ReDialog',
components: { MyDialog },
props: {
isShow: {
type: Boolean,
default: false
}
},
data() {
return {
show: false,
@ -42,14 +38,12 @@ export default {
}
}
},
watch: {
isShow(val) {
this.show = val
}
},
methods: {
closeDialog(val) {
this.$emit('close', val)
init() {
this.show = true
},
closeDialog() {
this.$emit('close')
},
handleSave() {
this.patients.forEach(item => {

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

@ -1,5 +1,5 @@
<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-item required label="项目名称:" style="width: 100%" prop="project">
<el-select v-model="form.project" placeholder="请选择" style="width: 100%">
@ -11,13 +11,17 @@
/>
</el-select>
</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">
<el-form-item style="flex: 1" required label="上班时间 上午:" prop="workTimeAm">
<el-time-select
v-model="form.workTimeAm"
:picker-options="{
start: '07:30',
end: '13:30'
end: '12:00'
}"
placeholder="选择时间"
style="width: 100%;"
@ -34,7 +38,7 @@
<el-time-select
v-model="form.workTimePm"
:picker-options="{
start: '13:30',
start: '12:00',
end: '21:00'
}"
placeholder="选择时间"
@ -126,20 +130,18 @@
</template>
</el-table-column>
</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>
<script>
import MyDialog from '@/page-subspecialty/views/modules/nurseManagement/myDialog.vue'
export default {
name: 'AddProject',
components: { MyDialog },
props: {
isShow: {
type: Boolean,
default: false
},
title: {
type: String,
default: ''
@ -157,7 +159,8 @@ export default {
workTimeAm: '',
workTimePm: '',
timeInterval: '',
maxNumber: ''
maxNumber: '',
limit: ''
},
options: [],
tableData: [
@ -199,24 +202,25 @@ export default {
],
maxNumber: [
{ required: true, message: '请填写人数上限' }
],
limit: [
{ required: true, message: '请选择限制' }
]
}
}
},
watch: {
isShow(val) {
this.show = val
if (val) {
this.getDetailData()
}
}
},
created() {
this.originForm = JSON.parse(JSON.stringify(this.form))
this.originTable = JSON.parse(JSON.stringify(this.tableData))
this.queryProjects()
},
methods: {
init() {
this.show = true
this.$nextTick(() => {
this.getDetailData()
})
},
queryProjects() {
this.$http.get('/patient/getZlItemDict', { params: { isAppoint: 1 }}).then(data => {
this.options = data.data.data

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

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

Loading…
Cancel
Save