Browse Source

页面关闭后缓存影响当前高亮

360view
bianyaqi 2 years ago
parent
commit
d7decf528a
  1. 2
      src/page-subspecialty/store/index.js
  2. 4
      src/page-subspecialty/views/main-sidebar.vue
  3. 56
      src/page-subspecialty/views/modules/nurseManagement/dialogTest.vue
  4. 55
      src/page-subspecialty/views/modules/nurseManagement/index.vue
  5. 12
      src/page-subspecialty/views/modules/nurseManagement/reservation/index.vue
  6. 11
      src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/doctor-schedule.vue
  7. 14
      src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/index.vue
  8. 357
      src/page-subspecialty/views/modules/nurseManagement/reservation/subList/index.vue

2
src/page-subspecialty/store/index.js

@ -47,7 +47,7 @@ export default new Vuex.Store({
// 设置菜单激活所在位置
activeIndexFun(state, id) {
state.defauleActiveIndex = id
window.localStorage.setItem('defauleActiveIndex', id)
window.sessionStorage.setItem('defauleActiveIndex', id)
}
}
})

4
src/page-subspecialty/views/main-sidebar.vue

@ -53,8 +53,8 @@ export default {
}
},
created() {
const defauleActiveIndex = window.localStorage.getItem('defauleActiveIndex')
? window.localStorage.getItem('defauleActiveIndex') : window.SITE_CONFIG.menuList[0].children[0].id
const defauleActiveIndex = window.sessionStorage.getItem('defauleActiveIndex')
? window.sessionStorage.getItem('defauleActiveIndex') : window.SITE_CONFIG.menuList[0].children[0].id
setTimeout(() => {
this.$store.state.sidebarMenuList = window.SITE_CONFIG.menuList
}, 200)

56
src/page-subspecialty/views/modules/nurseManagement/dialogTest.vue

@ -0,0 +1,56 @@
<template>
<div>
<el-button type="text" @click="isShow = true">点击打开 Dialog</el-button>
<el-button type="text" @click="ubmShow = true">UBM预约</el-button>
<el-button type="text" @click="addShow = true">新增</el-button>
<el-button type="text" @click="listShow = true">预约患者列表</el-button>
<el-button type="text" @click="numberShow = true">号源管理</el-button>
<re-dialog :is-show="isShow" @close="closeDialog1" />
<u-b-m-order :is-show="ubmShow" @close="closeDialog2" />
<add-project :is-show="addShow" @close="closeDialog3" />
<order-patient-list :is-show="listShow" @addOrder="addOrder" @close="closeDialog4" />
<number-manage :is-show="numberShow" @close="closeDialog5" />
</div>
</template>
<script>
import ReDialog from '@/page-subspecialty/views/modules/nurseManagement/reDialog.vue'
import UBMOrder from '@/page-subspecialty/views/modules/nurseManagement/UBMOrder.vue'
import AddProject from '@/page-subspecialty/views/modules/nurseManagement/addProject.vue'
import OrderPatientList from '@/page-subspecialty/views/modules/nurseManagement/orderPatientList.vue'
import NumberManage from '@/page-subspecialty/views/modules/nurseManagement/numberManage.vue'
export default {
name: 'NurseManagement',
components: { NumberManage, OrderPatientList, AddProject, UBMOrder, ReDialog },
data() {
return {
isShow: false,
ubmShow: false, // ubm
addShow: false,
listShow: false,
numberShow: false
}
},
methods: {
addOrder() {
this.ubmShow = true
},
closeDialog1(val) {
this.isShow = val
}, closeDialog2(val) {
this.ubmShow = val
}, closeDialog3(val) {
this.addShow = val
}, closeDialog4(val) {
this.listShow = val
}, closeDialog5(val) {
this.numberShow = val
}
}
}
</script>
<style scoped>
</style>

55
src/page-subspecialty/views/modules/nurseManagement/index.vue

@ -1,56 +1,3 @@
<template>
<div>
<el-button type="text" @click="isShow = true">点击打开 Dialog</el-button>
<el-button type="text" @click="ubmShow = true">UBM预约</el-button>
<el-button type="text" @click="addShow = true">新增</el-button>
<el-button type="text" @click="listShow = true">预约患者列表</el-button>
<el-button type="text" @click="numberShow = true">号源管理</el-button>
<re-dialog :is-show="isShow" @close="closeDialog1" />
<u-b-m-order :is-show="ubmShow" @close="closeDialog2" />
<add-project :is-show="addShow" @close="closeDialog3" />
<order-patient-list :is-show="listShow" @addOrder="addOrder" @close="closeDialog4" />
<number-manage :is-show="numberShow" @close="closeDialog5" />
</div>
<router-view />
</template>
<script>
import ReDialog from '@/page-subspecialty/views/modules/nurseManagement/reDialog.vue'
import UBMOrder from '@/page-subspecialty/views/modules/nurseManagement/UBMOrder.vue'
import AddProject from '@/page-subspecialty/views/modules/nurseManagement/addProject.vue'
import OrderPatientList from '@/page-subspecialty/views/modules/nurseManagement/orderPatientList.vue'
import NumberManage from '@/page-subspecialty/views/modules/nurseManagement/numberManage.vue'
export default {
name: 'NurseManagement',
components: { NumberManage, OrderPatientList, AddProject, UBMOrder, ReDialog },
data() {
return {
isShow: false,
ubmShow: false, // ubm
addShow: false,
listShow: false,
numberShow: false
}
},
methods: {
addOrder() {
this.ubmShow = true
},
closeDialog1(val) {
this.isShow = val
}, closeDialog2(val) {
this.ubmShow = val
}, closeDialog3(val) {
this.addShow = val
}, closeDialog4(val) {
this.listShow = val
}, closeDialog5(val) {
this.numberShow = val
}
}
}
</script>
<style scoped>
</style>

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

@ -1,13 +1,3 @@
<template>
<div>132456</div>
<router-view />
</template>
<script>
export default {
name: 'Index'
}
</script>
<style scoped>
</style>

11
src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/doctor-schedule.vue

@ -1,5 +1,5 @@
<template>
<div v-loading="pageLoading" class="doctor-schedule">
<div class="doctor-schedule">
<div class="date-head" :class="title=='plus' ? '' : 'data-head-fixed'">
<div class="date-head-right">
<el-button-group style="margin-right:10px;">
@ -17,10 +17,10 @@
placeholder="按日期查询"
@change="pickDateChange"
/>
<el-button v-if="title !=='plus'" type="primary" size="small" class="margin-left-10" @click="allPtClick">{{ sortName }}</el-button>
</div>
<el-button v-if="title !=='plus'" type="primary" size="small" icon="el-icon-s-tools" @click="allPtClick">{{ sortName }}</el-button>
</div>
<div class="doctor-schedule-content">
<div v-loading="pageLoading" class="doctor-schedule-content">
<el-row class="weeks">
<el-col v-if="title !=='plus' && sortName==='保存设置'" :span="1" class="moren">设为默认</el-col>
<el-col :span="title ==='plus' && sortName==='批量设置' ? 3 : 2" class="doctor-list-text">医生列表</el-col>
@ -371,7 +371,7 @@ export default {
patientList: [],
rowListObj: {},
operaTypeList: [],
sortName:'批量排台'
sortName:'预约配置'
};
},
filters: {
@ -744,9 +744,6 @@ export default {
}
.data-head-fixed {
padding: 10px 16px 0 16px;
position: fixed;
top: 60px;
right: 20px;
z-index: 0;
}
.doctor-schedule-content {

14
src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/index.vue

@ -1,18 +1,8 @@
<template>
<div class="schedule-date">
<div class="tab-content">
<el-tabs>
<el-tab-pane>
<!-- <svg-icon icon-class="icon-no-scheduled" style="font-size:13px;" /> -->
<span slot="label" class="no-schedule-tab"><i class="el-icon-scissors" /> 手术医生日程</span>
<!-- 号源标识 1:手术号源 2:检查号源 -->
<doctorSchedule title="newAddNUm" />
</el-tab-pane>
<!-- <el-tab-pane label="待审核">
<span slot="label" class="no-schedule-tab"><i class="el-icon-reading" /> 检查医生日程</span>>
<doctorSchedule :source-flag="2" title="newAddNUm" />
</el-tab-pane> -->
</el-tabs>
<!-- 号源标识 1:手术号源 2:检查号源 -->
<doctorSchedule title="newAddNUm" />
</div>
</div>
</template>

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

@ -0,0 +1,357 @@
<template>
<!-- 一已约患者列表 -->
<div class="scheduled-patient">
<div class="scheduled-patient-head">
<el-select v-model="searchType" placeholder="请选择" size="small" @change="getDataListInitial">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-select v-model="project" style="margin-left: 15px" placeholder="请选择" size="small" @change="getDataListInitial">
<el-option
v-for="item in projects"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
<div class="scheduled-patient-content">
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
:cell-class-name="tableCellClassName"
@sort-change="sortChange"
@row-dblclick="dbclick"
>
<el-table-column type="selection" width="50px" />
<el-table-column prop="patientId" label="登记号" header-align="center" align="center" width="150px" />
<el-table-column prop="caseId" label="就诊号" header-align="center" align="center" width="150px" />
<el-table-column prop="patientName" label="患者姓名" header-align="center" align="center" width="150px" />
<el-table-column label="负责医生" header-align="center" align="center" width="150px">
<template slot-scope="scope">
{{ scope.row.mainDoctorName ? scope.row.mainDoctorName : '-' }}
</template>
</el-table-column>
<el-table-column label="预约时间" header-align="center" align="center" sortable="OPERA_DATE">
<template slot-scope="scope">
{{ scope.row.orderTime ? scope.row.orderTime : '-' }}
</template>
</el-table-column>
<el-table-column label="检查项目" prop="project" header-align="center" align="center">
<template slot-scope="scope">
<div v-if="scope.row.ouOpera">OU{{ scope.row.ouOpera }}</div>
<div v-if="scope.row.odOpera">OD{{ scope.row.odOpera }}</div>
<div v-if="scope.row.osOpera">OS{{ scope.row.osOpera }}</div>
</template>
</el-table-column>
<el-table-column label="眼别" prop="eyeLevel" header-align="center" align="center">
<template slot-scope="scope">
<div v-show="scope.row.operaStatus == 0">
<span class="circle-status circle-green" />
<span>等待签到</span>
</div>
<div v-show="scope.row.operaStatus == 1">
<span class="circle-status circle-green" />
<span>等待呼叫</span>
</div>
<div v-show="scope.row.operaStatus == 2">
<span class="circle-status circle-red" />
<span>呼叫中</span>
</div>
<div v-show="scope.row.operaStatus == 3">
<span class="circle-status circle-yellow" />
<span>手术中</span>
</div>
<div v-show="scope.row.operaStatus == 4">
<span class="circle-status circle-grey" />
<span>手术结束</span>
</div>
<div v-show="scope.row.operaStatus == 100">
<span class="circle-status circle-grey" />
<span>已取消</span>
</div>
</template>
</el-table-column>
<el-table-column label="操作" header-align="center" align="center" width="200px">
<template slot-scope="scope">
<span v-if="scope.row.operaStatus === 0" class="call" @click="editOpera(scope.row)">修改</span>
<span v-if="scope.row.operaStatus === 0" class="call" @click="cancelClick(scope.row)">取消</span>
</template>
</el-table-column>
</el-table>
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page" @current-change="pageCurrentChangeHandle" />
</div>
</div>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
export default {
name: 'SubList',
components: {
// scheduledOrder
},
mixins: [mixinViewModule],
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/opera/getList',
getDataListIsPage: true,
createdIsNeed: false
},
scheduledOrderVisible: false,
nextVisitTime: [],
dataForm: {
endTime: '',
startTime: '',
status: '',
doctorCode: '',
operaName: '',
patientId: ''
},
options: [
{
value: '0',
label: '今天'
}, {
value: '1',
label: '昨天'
}, {
value: '2',
label: '前天'
}, {
value: '3',
label: '近三天'
}, {
value: '4',
label: '近一周'
}, {
value: '5',
label: '近一个月 '
}, {
value: '6',
label: '近半年 '
}, {
value: '',
label: '全部'
}],
projects: [
{
value: '0',
label: '今天'
}, {
value: '1',
label: '昨天'
}, {
value: '2',
label: '前天'
}, {
value: '3',
label: '近三天'
}, {
value: '4',
label: '近一周'
}, {
value: '5',
label: '近一个月 '
}, {
value: '6',
label: '近半年 '
}, {
value: '',
label: '全部'
}],
searchType: '0',
project: '0',
// 0: 1:2:3: 4: 5:
statusList: [{
status: 0,
name: '等待签到'
}, {
status: 1,
name: '等待呼叫'
}, {
status: 2,
name: '呼叫中'
}, {
status: 3,
name: '手术中'
}, {
status: 4,
name: '手术结束'
}, {
status: 100,
name: '已取消'
}],
doctorList: [],
operaList: [],
currentRow: {},
today: '',
//
currentCell: null
}
},
created() {
this.today = this.$moment().format('YYYY-MM-DD')
this.dataForm.startTime = this.$moment().format('YYYY-MM-DD')
this.dataForm.endTime = this.$moment().format('YYYY-MM-DD')
this.nextVisitTime = [this.dataForm.startTime, this.dataForm.endTime]
this.getDoctorList()
this.getOperaList()
this.getDataListInitial()
},
methods: {
//
dateChange(e) {
this.dataForm.startTime = e ? e[0] : ''
this.dataForm.endTime = e ? e[1] : ''
this.getDataListInitial()
},
//
async getDoctorList() {
const { data: res } = await this.$http.get('/sys/user/getDoctorList')
if (res.code === 0) {
this.doctorList = res.data
} else {
this.$message.error(res.msg)
}
},
//
async getOperaList() {
const { data: res } = await this.$http.get('/opera/getOperaNameList')
if (res.code === 0) {
this.operaList = res.data
} else {
this.$message.error(res.msg)
}
},
//
sortChange(e) {
console.log(e)
this.order = e.order === 'descending' ? 'desc' : 'asc'
this.orderField = e.column.sortable
this.getDataList()
},
// index
tableCellClassName({ row, column, rowIndex, columnIndex }) {
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()
})
},
// inputinput
hideInput(scopeRow) {
this.currentCell = null
const operaParams = scopeRow
operaParams.operaTime = scopeRow.operaTime ? scopeRow.operaTime + ':00' : ''
this.updateOpera(operaParams)
},
async updateOpera(operaParams) {
const { data: res } = await this.$http.post('/opera/updateOpera', operaParams)
if (res.code === 0) {
this.getDataList()
} else {
this.$message.error(res.msg)
}
},
//
editOpera(scopeRow) {
this.currentRow = scopeRow
this.scheduledOrderVisible = true
this.$nextTick(() => {
this.$refs.scheduledOrderRef.init()
this.$refs.scheduledOrderRef.title = '修改预约'
})
},
//
cancelClick(scopeRow) {
this.$confirmFun('确定要取消此患者手术预约吗?', '已放弃取消操作').then(async() => {
const { data: res } = await this.$http.post('/opera/cancelStatus', {
id: scopeRow.id,
operaStatus: 100
})
if (res.code === 0) {
this.getDataList()
this.$message({
message: '取消成功',
type: 'success'
})
} else {
this.$message.error(res.msg)
}
})
}
}
}
</script>
<style lang="scss" scoped>
.scheduled-patient {
background: #fff;
.scheduled-patient-content {
padding: 16px;
margin-bottom: 45px;
}
.scheduled-patient-head {
padding: 10px 16px 0 16px;
}
.call {
cursor: pointer;
color: #1890ff;
padding-right: 8px;
}
}
.scheduled-patient {
.form-item-date{
.el-input__inner {
width: 210px !important;
}
}
.scheduled-patient-head {
.el-form-item__label {
text-align: left;
}
.el-form {
display: flex;
justify-content: space-between;
}
.el-form-item {
display: flex;
}
.el-form-item {
margin-bottom: 0;
width: 35%;
}
.el-form-item__content,
.el-select,
.el-range-editor--small.el-input__inner {
width:auto
}
}
.el-select {
width: 100%;
}
.db-input-edit {
.el-input__inner {
background: #ccc;
width: 120px;
}
.el-input.is-active .el-input__inner, .el-input__inner:focus {
border: none;
}
}
}
</style>
Loading…
Cancel
Save