Browse Source

peter

360view
newPeter7 2 years ago
parent
commit
08f86cb6d1
  1. 36
      src/components/360View/commonForm/deveopmentFIle.vue
  2. 53
      src/components/360View/commonForm/eyesVision.vue
  3. 552
      src/components/360View/commonForm/optometryForm.vue
  4. 18
      src/components/360View/commonForm/threeVision.vue
  5. 1
      src/components/360View/index1.vue
  6. 19
      src/components/360View/routine/index.vue
  7. 25
      src/page-subspecialty/views/modules/optometryManagement/dioptric/index.vue
  8. 3
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/index.vue
  9. 91
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/notice-book.vue
  10. 161
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/rgp-book.vue
  11. 11
      src/page-subspecialty/views/modules/outpatientManagement/call/index.vue
  12. 11
      src/page-subspecialty/views/modules/outpatientManagement/treat/index.vue
  13. 24
      src/page-subspecialty/views/pages/login.vue

36
src/components/360View/commonForm/deveopmentFIle.vue

@ -9,8 +9,7 @@
<div class="flex j-c">
<img width="450" src="@/assets/img/xianganlogo.png">
</div>
<hr>
<p style="color:#000000;font-size:32px;text-align:center;">
<p style="color:#000000;font-size:32px;text-align:center;margin: 16px 0">
青少年儿童屈光发育档案
</p>
<div class="operation-record-table">
@ -20,7 +19,7 @@
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false" prop="type">
<el-table-column label="" width="" align="center" :resizable="false" >
<template slot-scope="scope">
<div v-if="scope.row.name == '姓名'">
<div class="width-100 center">
@ -46,7 +45,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false">
<el-table-column label="" width="" align="center" :resizable="false">
<template slot-scope="scope">
<div v-if="scope.row.name == '姓名'">
<div class="width-100 center">
@ -65,7 +64,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false">
<el-table-column label="" width="" align="center" :resizable="false">
<template slot-scope="scope">
<div v-if="scope.row.name == '姓名'">
<div class="width-100 center">
@ -95,7 +94,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false">
<el-table-column label="" width="" align="center" :resizable="false">
<template slot-scope="scope">
<div v-if="scope.row.name == '姓名'">
<div class="width-100 center">
@ -109,10 +108,10 @@
</div>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false">
<el-table-column label="" width="" align="center" :resizable="false">
<template slot-scope="scope">
<div v-if="scope.row.name == '姓名'">
<div class="width-100 center">
<div class="width-140 center">
<el-date-picker
v-model="scope.row.birthday"
type="date"
@ -327,7 +326,7 @@ export default {
return {
printObj: {
id: 'threeFunc',
extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>,<style>  #printId { width: 100%; !important; } <style>'
extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>,<style>  #printId { width: 100%; !important; } .el-input__prefix { display: none } <style>'
},
dataForm: {
yghcValue: '',
@ -644,8 +643,22 @@ export default {
}
}
</script>
<style lang="scss">
#threeFunc {
.el-input__suffix, .el-input__prefix {
display: none;
}
.width-100 {
.el-input {
width: 100px;
}
}
.width-140 {
.el-input {
width: 125px;
}
}
}
.flex{
display: flex;
}
@ -670,9 +683,6 @@ export default {
}
#operation-record {
//height: 93%;
// overflow: auto;
.btnBox{
display: flex;
justify-content: flex-end;

53
src/components/360View/commonForm/eyesVision.vue

@ -9,15 +9,14 @@
<div class="flex j-c">
<img width="450" src="@/assets/img/xianganlogo.png">
</div>
<hr>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
<p style="color:#000000;font-size:32px;margin:16px 0;text-align:center;">
双眼视功能检查报告单
</p>
<div style="display: flex;justify-content: space-around">
<span>登记号<el-input v-model="dataForm.patientId" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>姓名<el-input v-model="dataForm.patientName" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>性别<el-input v-model="dataForm.patientSex" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>年龄<el-input v-model="dataForm.patientAge" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">登记号<el-input v-model="dataForm.patientId" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">姓名<el-input v-model="dataForm.patientName" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">性别<el-input v-model="dataForm.patientSex" style="width: 120px" size="small" clearable placeholder="" /></span>
<span class="bold">年龄<el-input v-model="dataForm.patientAge" style="width: 120px" size="small" clearable placeholder="" /></span>
</div>
<div class="operation-record-table eyesTable">
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px">
@ -47,14 +46,14 @@
<div v-else-if="scope.row.name == '签名'" style="display: flex;justify-content: space-between">
<div class="width-180" style="text-align: left">
<span style="display: inline-block;margin-top: 16px">视光师:</span>
<img v-if="scope.row.a" :src="scope.row.a" alt="" style="width: 80px;height: 60px;border-style:none;">
<img v-if="scope.row.a" :src="scope.row.a" alt="" style="width: 80px;height: 50px;border-style:none;">
</div>
<div class="width-180" style="text-align: left;margin-top: 16px">
<div class="width-180" style="text-align: left;margin-top: 12px">
<el-input v-model="scope.row.b" placeholder="">
<template slot="prepend">医师:</template>
</el-input>
</div>
<div class="width-180" style="text-align: left;margin-top: 16px">
<div class="width-180" style="text-align: left;margin-top: 12px">
日期<el-date-picker
v-model="scope.row.c"
type="date"
@ -617,17 +616,13 @@ export default {
}
}
</script>
<style lang="scss">
<style lang="scss" scoped>
.flex{
display: flex;
}
.j-c{
justify-content: center;
}
.el-table__cell{
padding: 7px 0 !important;
}
.check {
cursor: pointer;
user-select: none;
@ -638,6 +633,9 @@ export default {
margin-right: 5px !important;
}
}
.bold{
font-weight: 700;
}
.printBox{
.el-input__inner {
border: none;
@ -655,6 +653,7 @@ export default {
#operation-record {
height: 100%;
overflow: auto;
.operation-record-table {
width: 100%;
.operation-text {
@ -700,24 +699,12 @@ export default {
width: 180px;
}
}
.el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 140px;
}
.el-input__suffix {
//top: -7px;
}
.el-checkbox__input.is-checked + .el-checkbox__label {
color: #606266;
}
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background: #767676;
border-color: #767676;
}
.el-checkbox__inner:hover,
.el-checkbox__inner {
border-color: #767676;
}
}
</style>
<style lang="scss">
.eyesTable{
.el-table__cell{
padding: 7px 0 !important;
}
}
</style>

552
src/components/360View/commonForm/optometryForm.vue

@ -6,18 +6,27 @@
<el-button type="danger" size="small" @click="handleDelete">删除</el-button>
</div>
<div id="optomeFunc" style="width: 840px;padding-right: 8px" class="printBox">
<div class="flex j-c" style="border-bottom: 1px solid #000;padding-bottom: 5px">
<div class="flex j-c" style="padding-bottom: 8px">
<img width="320" src="@/assets/img/xianganlogo.png">
</div>
<p style="color:#000000;font-size:24px;text-align:center;">
<p style="color:#000000;font-size:24px;font-weight: 700;letter-spacing: 10px;text-align:center;margin-bottom: 10px;word-spacing: 3px">
验光报告单
</p>
<div style="display: flex;justify-content: space-around">
<span>登记号<el-input v-model="dataForm.patientId" style="width: 80px" clearable placeholder="" /></span>
<span>姓名<el-input v-model="dataForm.patientName" style="width: 80px" clearable placeholder="" /></span>
<span>性别<el-input v-model="dataForm.patientSex" style="width: 60px" clearable placeholder="" /></span>
<span>年龄<el-input v-model="dataForm.patientAge" style="width: 60px" clearable placeholder="" /></span>
<span>屈光发育档案<el-input v-model="dataForm.file" style="width: 60px" clearable placeholder="" /></span>
<span class="bold">登记号<el-input v-model="dataForm.patientId" style="width: 80px" placeholder="" /></span>
<span class="bold">姓名<el-input v-model="dataForm.patientName" style="width: 90px" placeholder="" /></span>
<span class="bold">性别<el-input v-model="dataForm.patientSex" style="width: 60px" placeholder="" /></span>
<span class="bold">年龄<el-input v-model="dataForm.patientAge" style="width: 60px" placeholder="" /></span>
<span class="bold">屈光发育档案
<el-select v-model="dataForm.file" placeholder="" style="display: inline-block;width: 100px">
<el-option
v-for="item in fileList"
:key="item.id"
:label="item.name"
:value="item.name"
/>
</el-select>
</span>
</div>
<div class="operation-record-table">
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 5px">
@ -25,7 +34,12 @@
<template slot-scope="scope">
<div v-if="scope.row.name == '1'">
<div class="width-180 center">
瞳孔
瞳孔状态
</div>
</div>
<div v-else-if="scope.row.name == '基本信息'">
<div class="width-180 center">
基本信息
</div>
</div>
<div v-else-if="scope.row.name == '3'">
@ -40,37 +54,14 @@
</div>
<div v-else-if="scope.row.name == '5'">
<div class="width-180 center">
右眼
</div>
</div>
<!-- <div v-else-if="scope.row.name == 6">-->
<!-- <div class="width-180 center">-->
<!-- 左眼-->
<!-- </div>-->
<!-- </div>-->
<div v-else-if="scope.row.name == '7'" style="display: flex;justify-content: space-between">
<div class="width-180" style="text-align: left">
<span style="display: inline-block;margin-top: 12px">视光师:</span>
<img v-if="scope.row.a" :src="scope.row.a" alt="" style="width: 80px;height: 50px;border-style:none;">
</div>
<div class="width-180" style="text-align: left">
<el-input v-model="scope.row.b" placeholder="" style="margin-top: 12px">
<template slot="prepend">医师:</template>
</el-input>
</div>
<div class="width-180" style="text-align: left;margin-top: 12px">
日期<el-date-picker
v-model="scope.row.c"
type="date"
placeholder="选择日期"
/>
左眼
</div>
</div>
<div v-else-if="scope.row.name == '最终处方'">
<div class="width-180 center">
<el-button type="text" plain style="font-size: 14px" @click="copyData">最终处方</el-button>
<div style="display: flex;flex-wrap: wrap">
<div v-for="(item,index) in scope.row.value" :key="index" class="check" @click="item.isSelect = !item.isSelect" style="margin-left: 8px">
<el-button type="text" plain style="font-size: 16px;padding: 3px 8px" @click="copyData">最终处方</el-button>
<div style="display: flex;flex-wrap: wrap;">
<div v-for="(item,index) in remoteUse" :key="index" class="check" style="margin-left: 22px;font-size: 14px" @click="item.isSelect = !item.isSelect">
<input type="checkbox" :checked="item.isSelect">
<div>{{ item.name }}</div>
</div>
@ -85,9 +76,9 @@
<div v-if="scope.row.name == '1'">
<div class="">
<div style="display: flex;flex-wrap: wrap">
<el-select v-model="scope.row.value" multiple placeholder="请选择" style="width: 100%">
<el-select v-model="scope.row.value" placeholder="" style="width: 100%">
<el-option
v-for="item in scope.row.pupil"
v-for="item in pupil"
:key="item.id"
:label="item.name"
:value="item.name"
@ -113,32 +104,45 @@
</div>
<div v-if="scope.row.name == '基本信息'">
<div class="width-100 center">
裸眼视力
<el-select v-model="scope.row.vision" placeholder="" style="width: 100%" @change="selectVision">
<el-option
v-for="item in visionList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</div>
</div>
<div v-if="scope.row.name == '最终处方'">
<div class="width-100 center" style="text-align: center">
左眼
</div>
</div>
<div v-if="scope.row.name == '配镜建议'">
<div style="display: flex">
<div style="display: flex;flex-wrap: wrap">
<div v-for="(item,index) in scope.row.suggest" :key="index" class="check" @click="item.isSelect = !item.isSelect">
<div v-for="(item,index) in suggest" :key="index" class="check" @click="item.isSelect = !item.isSelect">
<input type="checkbox" :checked="item.isSelect">
<div>{{ item.name }}</div>
</div>
</div>
<p style="margin-left: 16px">
<el-input v-model="scope.row.value" placeholder="" style="width: 315px">
<template slot="prepend">其他:</template>
</el-input>
</p>
<div style="margin-left: 26px">
<span>其他:</span>
<el-select v-model="scope.row.value" placeholder="" style="width: 220px;display: inline-block">
<el-option
v-for="item in others"
:key="item.id"
:label="item.name"
:value="item.name"
/>
</el-select>
</div>
</div>
</div>
<div v-if="scope.row.name == '备注'">
<div>
<el-input v-model="scope.row.value" placeholder="" />
<el-input v-model="scope.row.value" type="textarea" :autosize="{ minRows: 1, maxRows: 3}" placeholder="" />
</div>
</div>
</template>
@ -197,9 +201,9 @@
<div v-if="scope.row.name == '1'">
<div>
<div style="display: flex;flex-wrap: wrap">
<el-select v-model="scope.row.examValue" multiple placeholder="请选择">
<el-select v-model="scope.row.examValue" placeholder="">
<el-option
v-for="item in scope.row.examine"
v-for="item in examine"
:key="item.id"
:label="item.name"
:value="item.name"
@ -306,72 +310,47 @@
</div>
</div>
<div v-if="scope.row.name == '3'">
<div class="width-80 center">
<div class="width-100 center">
<el-input v-model="scope.row.f" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '4'">
<div class="width-80 center">
<div class="width-100 center">
<el-input v-model="scope.row.f" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '5'">
<div class="width-80 center">
<div class="width-100 center">
<el-input v-model="scope.row.f" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '最终处方'">
<div class="width-80 center">
<div class="width-100 center">
<el-input v-model="scope.row.e" placeholder="" />
</div>
</div>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false">
<template slot-scope="scope">
<div v-if="scope.row.name == '验光检查'">
<div class="width-180 center">
瞳距(PD)
</div>
</div>
<div v-if="scope.row.name == '3'">
<div class="width-80 center">
<el-input v-model="scope.row.g" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '4'">
<div class="width-80 center">
<el-input v-model="scope.row.g" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '5'">
<div class="width-80 center">
<el-input v-model="scope.row.g" placeholder="" />
</div>
</div>
<div v-if="scope.row.name == '最终处方'">
<div class="width-80 center">
<el-input v-model="scope.row.f" placeholder="" />
</div>
</div>
</template>
</el-table-column>
<el-table-column label="" width="" :resizable="false">
<template slot-scope="scope">
<div v-if="scope.row.name == '验光检查'">
<div class="width-180 center">
棱镜
</div>
</div>
<div v-if="scope.row.name == '最终处方'">
<div class="width-80 center">
<el-input v-model="scope.row.g" placeholder="" />
</div>
</div>
</template>
</el-table-column>
</el-table>
<p style="text-align: left;margin-top: 3px">说明1.持本报告但配镜仅供参考 2.本报告单有效期3个月</p>
<div style="display: flex;justify-content: space-between">
<div class="width-180" style="text-align: left">
<span style="display: inline-block;margin-top: 12px">视光师:</span>
<img v-if="dataForm.optometrist" :src="dataForm.optometrist" alt="" style="width: 80px;height: 50px;border-style:none;">
</div>
<div class="width-180" style="text-align: left">
<el-input v-model="dataForm.physician" placeholder="" style="margin-top: 12px">
<template slot="prepend">医师:</template>
</el-input>
</div>
<div class="width-180" style="text-align: left;margin-top: 12px">
日期<el-date-picker
v-model="dataForm.date"
type="date"
placeholder="选择日期"
/>
</div>
</div>
<p style="text-align: left;margin-top: 12px;font-size: 14px">说明1.持本报告但配镜仅供参考 2.本报告单有效期3个月</p>
</div>
</div>
</div>
@ -409,135 +388,144 @@ export default {
patientName: '',
patientSex: '',
patientAge: '',
file: ''
file: '',
optometrist: '',
physician: '',
date: ''
},
fileList: [{
name: '是',
id: '1'
}, {
name: '否',
id: '2'
}],
visionList: [{
name: '裸眼视力',
id: '1'
}, {
name: '矫正视力',
id: '2'
}],
pupil: [
{
name: '正常瞳孔',
id: '1',
isSelect: false
}, {
name: '复方托吡卡胺',
id: '2',
isSelect: false
}, {
name: '美多丽',
id: '3',
isSelect: false
}, {
name: '赛飞杰',
id: '4',
isSelect: false
}, {
name: '阿托品',
id: '5',
isSelect: false
}
],
examine: [
{
name: '检影',
id: '1',
isSelect: false
}, {
name: '综合',
id: '2',
isSelect: false
}
],
remoteUse: [
{
name: '远用',
isSelect: false
}, {
name: '近用',
isSelect: false
}
],
suggest: [
{
name: '单光',
isSelect: false
}, {
name: '离焦镜片',
isSelect: false
}, {
name: '软镜',
isSelect: false
}, {
name: 'RGP',
isSelect: false
}, {
name: 'OK镜',
isSelect: false
}
],
others: [
{
name: '抗疲劳',
id: '1'
}, {
name: '渐进',
id: '2'
}, {
name: '低视力助视器',
id: '3'
}],
originTableData: [],
tableData: [
{
name: '基本信息',
vision: '1',
od: '',
os: '',
type: ''
os: ''
}, {
name: '1',
value: '',
examValue: '',
pupil: [
{
name: '正常瞳孔',
id: '1',
isSelect: false
}, {
name: '复方托吡卡胺',
id: '2',
isSelect: false
}, {
name: '美多丽',
id: '3',
isSelect: false
}, {
name: '赛飞杰',
id: '4',
isSelect: false
}, {
name: '阿托品',
id: '5',
isSelect: false
}
],
examine: [
{
name: '检影',
id: '1',
isSelect: false
}, {
name: '综合',
id: '2',
isSelect: false
}
],
type: ''
examValue: ''
}, {
name: '验光检查',
type: ''
name: '验光检查'
}, {
name: '3',
type: '',
a: '',
b: '',
c: '',
d: '',
e: '',
f: '',
g: ''
e: ''
}, {
name: '4',
type: '',
a: '',
b: '',
c: '',
d: '',
e: '',
f: '',
g: ''
e: ''
}, {
name: '最终处方',
value: [
{
name: '远用',
isSelect: false
}, {
name: '近用',
isSelect: false
}
],
type: '',
a: '',
b: '',
c: '',
d: '',
e: '',
f: '',
g: ''
e: ''
}, {
name: '5',
type: '',
a: '',
b: '',
c: '',
d: '',
e: '',
f: '',
g: ''
},{
e: ''
}, {
name: '配镜建议',
suggest: [
{
name: '单光',
isSelect: false
}, {
name: '离焦镜片',
isSelect: false
}, {
name: '软镜',
isSelect: false
}, {
name: 'RGP',
isSelect: false
}, {
name: 'OK镜',
isSelect: false
}
],
value: ''
}, {
name: '备注',
value: ''
}, {
name: '7',
a: '',
b: '',
c: ''
}],
print: {
id: 'optomeFunc'
@ -552,19 +540,16 @@ export default {
this.setSign()
this.initWebSoket()
this.getPatientData()
this.setVision()
},
methods: {
setSign() {
const userData = JSON.parse(window.localStorage.getItem('qg-userData'))
const date = this.$moment().format('YYYY-MM-DD')
const mzName = window.localStorage.getItem('mzDoctorName')
this.tableData.forEach(item => {
if (item.name == '7') {
item.a = userData.signImgBase
item.b = mzName
item.c = date
}
})
this.dataForm.optometrist = userData.signImgBase
this.dataForm.physician = mzName
this.dataForm.date = date
},
setData() {
this.dataForm = this.formContent.a
@ -578,12 +563,55 @@ export default {
patientName: '',
patientSex: '',
patientAge: '',
file: ''
file: '',
optometrist: '',
physician: '',
date: ''
}
this.tableData = Object.assign([], this.originTableData)
this.setSign()
this.setVision()
this.getPatientData()
},
setVision() {
const data = window.localStorage.getItem('shili') ? JSON.parse(window.localStorage.getItem('shili')) : []
if (data.length) {
const one = data[0].odVan
const two = data[0].odVag
if (one) {
this.tableData[0].vision = '1'
this.selectVision('1')
} else if (two && !one) {
this.tableData[0].vision = '2'
this.selectVision('2')
} else {
this.tableData[0].vision = '1'
this.selectVision('1')
}
}
},
selectVision(id) {
if (id === '1') {
//
const data = window.localStorage.getItem('shili') ? JSON.parse(window.localStorage.getItem('shili')) : []
if (data.length) {
this.tableData[0].od = data[0].odVan
this.tableData[0].os = data[0].osVan
} else {
this.tableData[0].od = ''
this.tableData[0].os = ''
}
} else {
const data = window.localStorage.getItem('shili') ? JSON.parse(window.localStorage.getItem('shili')) : []
if (data.length) {
this.tableData[0].od = data[0].odVag
this.tableData[0].os = data[0].osVag
} else {
this.tableData[0].od = ''
this.tableData[0].os = ''
}
}
},
copyData() {
const ods = this.tableData.filter(item => item.name === '3')
const oss = this.tableData.filter(item => item.name === '4')
@ -594,8 +622,6 @@ export default {
item.c = ods[0].c
item.d = ods[0].d
item.e = ods[0].e
item.f = ods[0].f
item.g = ods[0].g
}
if (item.name === '5') {
item.a = oss[0].a
@ -603,17 +629,10 @@ export default {
item.c = oss[0].c
item.d = oss[0].d
item.e = oss[0].e
item.f = oss[0].f
item.g = oss[0].g
}
})
},
async getPatientData() {
const shili = window.localStorage.getItem('shili') ? JSON.parse(window.localStorage.getItem('shili')) : []
if (shili.length) {
this.tableData[0].od = shili[0].odVan
this.tableData[0].os = shili[0].osVan
}
const { data: res } = await this.$http.get(
'/patient/view/getPatientData',
{
@ -755,7 +774,7 @@ export default {
if (rowIndex === 1) {
return {
rowspan: 1,
colspan: 3
colspan: 2
}
}
} else if (columnIndex === 3) {
@ -791,26 +810,43 @@ export default {
}
</script>
<style lang="scss" scoped>
<style lang="scss">
.printBox{
page-break-inside: avoid !important;
.el-input__inner {
border: none;
font-size: 16px;
border-bottom: 1px solid #ccc;
border-radius: 0;
padding: 0;
}
}
#operation-record {
height: 100%;
overflow: auto;
.check {
cursor: pointer;
user-select: none;
display: flex;
margin-right: 18px;
input{
-webkit-appearance: checkbox !important;
margin-right: 5px;
}
}
.flex{
display: flex;
}
.j-c{
justify-content: center;
}
.btnBox{
display: flex;
justify-content: flex-end;
}
.operation-record-table {
width: 100%;
.el-input-group__append, .el-input-group__prepend{
background-color: transparent;
color: #606266;
border: none;
}
.el-table__header-wrapper{
display: none;
}
.operation-text {
font-weight: 700;
}
@ -829,7 +865,6 @@ export default {
.left {
text-align: left;
}
.width-50 {
.el-input {
width: 50px;
@ -840,7 +875,6 @@ export default {
width: 70px;
}
}
.width-100 {
.el-input {
width: 100px;
@ -867,15 +901,18 @@ export default {
}
}
.el-input__inner {
font-size: 16px !important;
font-size: 16px;
border: none;
height: 26px !important;
line-height: 26px !important;
text-align: center;
border-bottom: 1px solid #ccc;
border-bottom: 1px solid #8e8c8c;
border-radius: 0;
padding: 0;
}
.el-textarea__inner{
border: none;
}
.el-input__prefix {
display: none;
}
@ -883,38 +920,18 @@ export default {
.el-date-editor.el-input__inner {
width: 140px;
}
.el-input__suffix {
//top: -7px;
}
.el-checkbox__input.is-checked + .el-checkbox__label {
color: #606266;
}
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background: #767676;
border-color: #767676;
}
.el-checkbox__inner:hover,
.el-checkbox__inner {
border-color: #767676;
}
.el-radio__input.is-checked + .el-radio__label {
color: #606266;
}
.el-radio__input.is-checked .el-radio__inner {
background: #767676;
border-color: #767676;
}
.el-radio {
margin-right: 8px;
display: block;
}
.el-radio__inner {
border: 1px solid #767676 !important;
}
.el-radio__inner:hover {
border-color: #767676;
}
//.el-checkbox__input.is-checked + .el-checkbox__label {
// color: #606266;
//}
//.el-checkbox__input.is-checked .el-checkbox__inner,
//.el-checkbox__input.is-indeterminate .el-checkbox__inner {
// background: #767676;
// border-color: #767676;
//}
//.el-checkbox__inner:hover,
//.el-checkbox__inner {
// border-color: #767676;
//}
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell {
background: none !important;
}
@ -934,9 +951,48 @@ export default {
</style>
<style lang="scss">
#optomeFunc{
.check {
cursor: pointer;
user-select: none;
display: flex;
margin-right: 18px;
input{
-webkit-appearance: checkbox !important;
margin-right: 5px;
}
}
.bold{
font-weight: 700;
}
.el-table th {
border-color: #8e8c8c !important;
}
.el-table td {
border-color: #8e8c8c !important;
}
.el-table--group,
.el-table--border {
border: 1px solid #8e8c8c !important;
border-bottom: none !important;
}
.el-input__inner, .el-input-group__prepend {
font-size: 16px;
}
.el-table__cell{
padding: 2px !important;
}
.el-textarea__inner{
border: none;
}
.el-input__suffix-inner{
display: none;
}
}
@media print {
img {
box-shadow: none !important;
-webkit-print-color-adjust: exact;
}
}
</style>

18
src/components/360View/commonForm/threeVision.vue

@ -14,10 +14,10 @@
三级视功能检查报告单
</p>
<div style="display: flex;justify-content: space-around">
<span>登记号<el-input v-model="dataForm.patientId" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>姓名<el-input v-model="dataForm.patientName" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>性别<el-input v-model="dataForm.patientSex" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>年龄<el-input v-model="dataForm.patientAge" style="width: 120px" size="small" clearable placeholder="" /></span>
<span>登记号<el-input v-model="dataForm.patientId" style="width: 120px" size="small" placeholder="" /></span>
<span>姓名<el-input v-model="dataForm.patientName" style="width: 120px" size="small" placeholder="" /></span>
<span>性别<el-input v-model="dataForm.patientSex" style="width: 120px" size="small" placeholder="" /></span>
<span>年龄<el-input v-model="dataForm.patientAge" style="width: 120px" size="small" placeholder="" /></span>
</div>
<div class="operation-record-table">
<el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 820px; margin-top: 10px">
@ -193,16 +193,6 @@
</el-input>
</div>
</div>
<!-- <div v-if="scope.row.name == '同视机九方位检查'">-->
<!-- <div class="width-180 center">-->
<!-- OU<el-input v-model="scope.row.b.yghcValue" placeholder="" />-->
<!-- </div>-->
<!-- </div>-->
<!-- &lt;!&ndash; 签字 &ndash;&gt;-->
<!-- <div v-if="scope.row" class="sign center">-->
<!-- &lt;!&ndash; <span v-if="!operationRecord.doctorSignImg" class="sign" @click="singHandle('doctorSignImg')">点击签字</span>&ndash;&gt;-->
<!-- &lt;!&ndash; <img v-if="operationRecord.doctorSignImg" :src="operationRecord.doctorSignImg" alt="" width="90px" @click="singHandle('doctorSignImg')">&ndash;&gt;-->
<!-- </div>-->
</template>
</el-table-column>
</el-table>

1
src/components/360View/index1.vue

@ -356,6 +356,7 @@ export default {
},
backList() {
this.$parent.detailViewVisible = false
this.$parent.getDataListInitial()
},
// 360
handlePacs() {

19
src/components/360View/routine/index.vue

@ -3,9 +3,9 @@
<div class="header">
<div>
<el-checkbox v-model="checkedSeJue" class="mr30">色觉检查</el-checkbox>
<span style="margin-right: 16px">眼别{{ osType }}</span>
<span>结果</span>
<el-select v-model="osStatus" placeholder="请选择" style="display: inline-block;width: 120px" size="small">
<!-- <span style="margin-right: 16px">眼别{{ // osType }}</span>-->
<span>OD</span>
<el-select v-model="odStatus" placeholder="请选择" style="display: inline-block;width: 120px;" size="small">
<el-option
v-for="item in options"
:key="item.value"
@ -13,9 +13,8 @@
:value="item.value"
/>
</el-select>
<span style="margin-left: 32px;margin-right: 16px">眼别{{ odType }}</span>
<span>结果</span>
<el-select v-model="odStatus" placeholder="请选择" style="display: inline-block;width: 120px;" size="small">
<span style="margin-left: 32px">OS</span>
<el-select v-model="osStatus" placeholder="请选择" style="display: inline-block;width: 120px" size="small">
<el-option
v-for="item in options"
:key="item.value"
@ -23,6 +22,7 @@
:value="item.value"
/>
</el-select>
<!-- <span style="margin-left: 32px;margin-right: 16px">眼别{{ odType }}</span>-->
</div>
<div v-if="!onlyRead">
<div size="small" style="display:inline-block;margin-left:10px;width: 32px;height: 32px;line-height:32px;text-align:center;background-color: #1e79ff;border-radius: 4px;vertical-align: middle" @click="addDataList">
@ -249,9 +249,9 @@ export default {
async getroutineDataData() {
const { data: res } = await this.$http.get('/patient/view/getVaAndIopAndRefAndLast', {
params: {
patientId: this.patientId,
// patientId: this.patientId,
patientId: '2328656',
date: ''
// patientId: this.patientId 797064
}
})
if (res.code === 0) {
@ -479,5 +479,8 @@ export default {
.el-radio {
margin-right: 15px;
}
.el-checkbox__label, .el-input__inner{
font-size: 16px;
}
}
</style>

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

@ -40,7 +40,7 @@
:value="item.value"
/>
</el-select>
<el-button v-for="(item,index) in typeList" :key="index" style="margin-left: 0px" size="small" color="white" @click="handleType(item.value)">{{ item.label }}</el-button>
<el-button v-for="(item,index) in typeList" :key="index" :class="[curIndex === index ? 'active' : '']" style="margin-left: 0px" size="small" color="white" @click="handleType(item.value, index)">{{ item.label }}</el-button>
</div>
<div>
<el-button type="primary" size="small" icon="el-icon-plus" @click="addOrUpdateHandle('','','新增患者')">新增</el-button>
@ -181,6 +181,7 @@ export default {
getDataListURL: '/patient/page',
getDataListIsPage: true
},
curIndex: 0,
options: [
{
value: '0',
@ -264,12 +265,27 @@ export default {
this.getDataListInitial()
},
//
handleType(value) {
handleType(value, index) {
this.curIndex = index
this.dataForm.patientStatus = value
this.getDataListInitial()
},
//
async receiveTreat(item) {
const { data: res } = await this.$http.get('/patient/updateSGDoctor', {
params: {
jzNumber: item.jzNumber,
platform: 3
}
})
if (res.code === 0) {
} else {
this.$message.error(res.msg)
}
},
//
showDetail(scopeRow, index) {
this.receiveTreat(scopeRow)
this.onlyRead = index !== 1
this.detailViewVisible = true
this.patientId = scopeRow.patientId
@ -316,6 +332,11 @@ export default {
.operation-details {
cursor: pointer;
}
.active{
color: #3ea3f6;
background-color: #e0f2fd;
border-color: #3ea3f6;
}
}
</style>
<style lang="scss">

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

@ -5,16 +5,19 @@
<notice-book :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="RGP 知情同意书" name="second">
<rgpBook :patient-id="patientId"></rgpBook>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import noticeBook from './notice-book' //
import rgpBook from './rgp-book'
export default {
components: {
noticeBook,
rgpBook
},
props: {
patientId: {

91
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/notice-book.vue

@ -7,7 +7,7 @@
</head-template>
<div id="noticePrint" class="notice-content">
<div class="notice-box">
<div id="notice-three" class="notice_tip" style="page-break-after:always">
<div id="notice-one" class="notice_tip" style="page-break-after:always">
<h3 style="text-align: center;margin-bottom: 32px;">
角膜塑形镜矫正知情同意书
</h3>
@ -74,32 +74,56 @@
<p>矫治中由于各种原因可能有少部分人需要中断配戴 OK 或停止配戴 OK 具体请遵守验配师和医师指导</p>
<p>角膜塑形镜订片后若因个人原因停戴不予退款</p>
<div style="margin-top: 30px">
<div style="position: relative">
<span style="margin-right: 8px;vertical-align: middle;">是否已阅读<span style="font-weight: bold">此页告知书</span>并同意配戴<span style="font-weight: bold">角膜塑形镜OK镜</span></span>
<span v-if="isCkeck" style="display:inline-block;width: 16px;height: 16px;border: solid 1px #ccc;border-radius: 50%;position: absolute;top: 5px" @click="selectRadio('1')" />
<img v-else style="position: absolute;top: 5px" :src="require('@/assets/img/radio.png')" alt="">
<span style="margin: 0 16px 0 24px;vertical-align: middle"></span>
<span v-if="!isCkeck" style="display:inline-block;width: 16px;height: 16px;border: solid 1px #ccc;border-radius: 50%;position: absolute;top: 5px" @click="selectRadio('2')" />
<img v-else style="position: absolute;top: 5px" :src="require('@/assets/img/radio.png')" alt="">
<span style="margin-left: 24px;vertical-align: middle"></span>
<div style="font-weight: bold">
本人已认真阅读以上内容对角膜塑形术桥正近视原理及使用护理知识充分了解并同意遵守
</div>
</div>
<div style="width: 100%;display: flex;justify-content: space-around;margin-top: 35px;">
<div @click="signClick(1)">
<span>医生/验光师</span>
<img v-if="optomFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="doctorSign">
<div>
<span>验配师</span>
<img v-if="optomFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="doctorSign">
</div>
<div>
<span style="margin-left: 16px">医生</span>
<img v-if="optomFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="doctorSign">
</div>
<div style="margin-top: 3px">
<span style="margin-left: 16px">日期</span>
<el-date-picker
v-model="doctorSignDate"
style="width: 160px;padding-left: 0"
size="small"
type="date"
placeholder="选择日期"
/>
</div>
</div>
<div @click="signClick(2)">
<span>配戴者</span>
<img v-if="wearerFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="patientSign">
</div>
<div @click="signClick(3)">
<span>监护人</span>
<img v-if="guardianFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="guardianSign">
<div>
<span style="margin-left: 113px">配戴者签字</span>
<img v-if="wearerFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="patientSign">
</div>
<div @click="signClick(3)">
<span>未满18周岁监护人签字</span>
<img v-if="guardianFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="guardianSign">
</div>
<div style="margin-top: 3px;margin-left: 145px">
<span style="margin-left: 16px">日期</span>
<el-date-picker
v-model="doctorSignDate"
style="width: 160px"
size="small"
type="date"
placeholder="选择日期"
/>
</div>
</div>
<div />
</div>
</div>
</div>
@ -122,6 +146,7 @@ export default {
return {
isCkeck: false,
isNew: '',
doctorSignDate: null,
noticeData: {},
isAgree: '1' // 1 2
}
@ -207,14 +232,6 @@ export default {
}
},
doctorSignDate: {
get() {
return this.$store.getters.doctorSignDate
},
set(val) {
}
},
wearerOrGuardianSignDate: {
get() {
return this.$store.getters.wearerOrGuardianSignDate
@ -228,6 +245,7 @@ export default {
},
mounted() {
// this.getNoticeName()
this.doctorSignDate = this.$moment().format('YYYY-MM-DD')
},
methods: {
selectRadio(index) {
@ -289,17 +307,14 @@ export default {
//
saveEditNotice() {
const params = {
isNew: 3,
patientId: this.patientId,
drgsName: window.localStorage.getItem('identity'),
doctorSign: this.doctorSign,
guardianSign: this.guardianSign,
patientSign: this.patientSign,
readerSign: this.readerSign,
wearerOrGuardianSign: this.wearerOrGuardianSign,
doctorSignDate: this.doctorSignDate,
wearerOrGuardianSignDate: this.wearerOrGuardianSignDate,
isAgree: this.isAgree
wearerOrGuardianSignDate: this.wearerOrGuardianSignDate
}
this.$http.post('/hospital/notice', params).then(({ data: res }) => {
if (res.code !== 0) {
@ -319,6 +334,7 @@ export default {
height: 100%;
display:flex;
flex-direction: column;
.notice-content{
width: 100%;
flex:1;
@ -366,3 +382,14 @@ export default {
}
}
</style>
<style lang="scss">
.notice-book {
.el-input__prefix{
display: none;
}
.el-input__inner{
border: none;
font-size: 16px;
}
}
</style>

161
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/rgp-book.vue

@ -9,85 +9,109 @@
<div class="notice-box">
<div id="notice-three" class="notice_tip" style="page-break-after:always">
<h3 style="text-align: center;margin-bottom: 32px;">
角膜塑形镜矫正知情同意书
RGP 知情同意书
</h3>
<p>为使患者详细了解RGP 矫正近视的特点 使用方法和相关注意事项医院必须向患者说明以下内容</p>
<p style="font-weight: bold">适应症</p>
<p>1.希望利用 RGP 来控制近视不断加深的青少年近视患者离焦 RGP</p>
<p>2.近视远视散光屈光参差其中高度近视 远视和散光可优先虑选择</p>
<p>3.圆锥角膜及角膜瘢痕所致的高度近视不规则散光</p>
<p>
4.眼外伤手术后无晶状体眼
</p>
<p>
5.角膜屈光手术或角膜移植手术后屈光异常
</p>
<p>
6.青少年近视快速进展者离焦RGP
</p>
<p>4.眼外伤手术后无晶状体眼</p>
<p>5.角膜屈光手术或角膜移植手术后屈光异常</p>
<p>6.青少年近视快速进展者离焦RGP</p>
<p style="font-weight: bold">禁忌症</p>
<p>RGP有如下常见禁忌症 医院及配戴者需谨慎排除</p>
<p>1.眼表活动性疾患或影响接触镜的全身性疾病等所有接触镜禁忌症</p>
<p style="margin-left: 16px">1角膜疾病</p>
<p style="margin-left: 16px">2关节炎</p>
<p style="margin-left: 16px">3眼球突出精神烦躁者</p>
<p style="margin-left: 16px">4上睑下垂严重者</p>
<p style="margin-left: 16px">5角膜缘或附近有隆起区域者 如翼状胬肉或结膜黄斑 </p>
<p style="margin-left: 16px">6不规则散光或散光度数大于300度的患者 250 度左右需经专业医生检查后才能确定</p>
<p style="margin-left: 16px">7有严重的干眼症</p>
<p style="margin-left: 16px">8眼部有过手术史的患者由专业医生检查后再决定</p>
<p>2.长期处于多风沙高污染环境中者</p>
<p>3.经常从事剧烈运动者</p>
<p>4.眼睑高度敏感者</p>
<p style="font-weight: bold">RGP 的主要特点</p>
<p>
RGP有如下常见禁忌症 医院及配戴者需谨慎排除
</p>
<p>
1.眼表活动性疾患或影响接触镜的全身性疾病等所有接触镜禁忌症
</p>
<p>
6.<span style="color: red">关于0K镜破碎的优惠条款</span>配戴者需将<span style="color: red">原包装及完整的碎片镜片上要有完整编码</span>交还验配单位后方可享受以下优惠自镜片交付日算起<span style="font-weight: bold">30</span>天内可享受<span style="color: red">免费</span>换片一次<span style="color: red">已享受免费换片的新片如再次破碎无法再免费换片</span><span style="font-weight: bold">31~90天内</span>破碎<span style="color: red">按原价的半价</span>补片如镜片丢失碎片无完整编码粉碎性损坏无法交还原镜片及包装碎片缺少部分大于1/4整片等验配单位不提供免费换片<span style="color: red">患者收到取镜通知30天内未取镜则视为自动放弃该项优惠</span>
</p>
<p>
7.自镜片交付日算起90天内按要求复查的配戴者如果出现适配不理想的情况经验配单位鉴定需调整镜片设计参数重新订片的配戴者无需承担二次配镜的镜片购买费用如经验配单位鉴定无法消除且必须终止矫正的在配戴者退回完好无损的镜片和原包装后双方共同承担损失验配机构返还配戴者镜片费用<span style="font-weight: bold">百分之五十</span>的款项
</p>
<p>
8.配戴者在<span style="color: red">订单已发出或取镜后30天内</span>要求退片的在配戴者交回完好的原镜片及原包装将退还配戴者镜片费用<span style="color: red">百分之五十</span>的款项超过30天一律视为配戴者已主动放弃退片权利验配单位有权不受理退片申请
</p>
<p>
9.体检的配戴者镜片一旦订片概不受理退片
</p>
<p>
10.验配单位对配戴角膜塑形镜的人员进行试戴评估以便评估配戴者是否适合配戴角膜塑形镜但是鉴于个体条件的差异性使用习惯卫生条件以及其他外部环境的影响上述评估效果仅在试戴时确定配戴者是否适合配戴并非确定配戴以后任何时期是否适合配戴的有效依据因此验配单位无法保证正式配戴过程中不出现排异性不适配或其他不良反应
<p>
11.镜片常规使用寿命为<span style="color: red">1~1.5</span>夜间常规配戴时间<span style="color: red">7-10小时不超过12小时</span>
</p>
<p>
12.常规复查时间<span style="color: red">复查都要挂号到1楼或2楼眼视光中心</span> 进行复查<span style="color: red">到片取镜时学习摘戴方法不用挂号戴镜后的第1天早上复查起床不摘镜第1周第1个月必须按期复查若无特殊情况以后每3个月至少复查一次</span>严格遵守医嘱按时复查这是保障角膜塑形术疗效及规避相关问题的前提否则验配单位具有免责权利
</p>
<p>
13.配戴初期出现轻微的眼刺激症状或异物感一过性的结膜充血或轻微的视物叠影晨起后分泌物稍增多摘镜后眼睛轻度干涩等均为正常现象随着矫正期的延续会逐渐缓解或消失<span style="color: red">戴镜期间如果感冒发烧或出现持续性眼红眼痛畏光流泪等症状必须先停戴然后及时到医院就诊</span>并遵循医师处理
</p>
<p>
14.为保证矫正的安全有效及镜片的使用寿命须使用和镜片性能相配套的护理产品和附件若擅自使用未经验配单位认可的物品接触镜片导致的意外事件或不良反应由配戴者自行负责
</p>
<p>
15.矫正期间若发现发生与配戴角膜塑形镜无关的眼疾或其他疾病并因此导致终止矫正配戴者应自己承担全部责任
高透氧性硬性角膜接触镜Rigid Gas Permeable Contact Lens 以下简称RGP)是一种由高透氧材质高精度加工专业性很强的医疗器械具有安全性高视觉质量好长期舒适性等特点是一种健康安全的屈光不正矫正手段目前在国际上己得到广泛应用并取得较好效果由于硬性角膜按触镜是一种特殊的医疗器械鉴于材料本身及使用方式的特殊性在验配以及配戴 RGP 的过程中患者应严格遵循医师指导以避免和降低可能存在的风险
</p>
<p style="font-weight: bold">注意事项</p>
<p>现将RGP的一些注意事项向您交待如下</p>
<p>1.同时使用以下药物时建议咨询医生</p>
<p style="margin-left: 16px">1使用可能会引起眼干的药物</p>
<p style="margin-left: 16px">2使用可能会影响视力的药物</p>
<p style="margin-left: 16px">3使用消炎药皮质激素类药</p>
<p>2.左右眼严格区分不要交叉配戴</p>
<p>3.不要用力捏镜片以免损坏镜片</p>
<p>3.不要用力捏镜片以免损坏镜片</p>
<p>4.RGP的验配使用方法与其他硬性角膜接触镜不同 即使是新片也应严格依照规定的程序和要求清洁冲洗消毒储存和配戴镜片各步骤间不能相互替代否则自行承担后果</p>
<p>5.RGP可用于矫正屈光不正但因个体差异以及患者依从性的不同其矫正屈光不正的效果会有所不同可能出现矫正效果不理想甚至被迫放弃验配的情况</p>
<p>6.RGP可用于矫正近视并不能完全阻止近视的发展也不能治愈近视主要是白天配戴以达到白天矫正屈光不正的目的一旦停戴镜片会表现为远视力下降因此欲达到相对稳定的效果需长期配戴</p>
<p>7.RGP可用于治疗圆锥角膜目前研究证实RGP可在一定程度上缓解圆锥角膜病程进展速度但其治疗效果依个体差异而有所不同</p>
<p>8.RGP由硬性高透氧材料经过精密加工而成初戴时会有异物感等不适及少许分泌物一般会在4周内消失如果有明显不适或长期不能适应应及时到医院就诊</p>
<p>9.配戴RGP过程中需严格遵循医师指导但仍存在发生并发症的可能性如细菌阿米巴等感染引起的结膜炎角膜炎等一且发生如不及时治疗可能会引起角膜的损伤并导致视力的损害基于以上原因配戴RGP必须严格遵循医嘱定期复查</p>
<p>10.配戴RGP后的复诊时间一般为戴镜后1天1123随后每2~3个月复诊一次如不能定期按时复诊需提前告知医生日常配戴RGP过程中如出现显著视力下降眼红眼痛畏光眼部分泌物增多等不适症状应及时到院就诊</p>
<p>11. RGP配戴过程中需配合医师并在医师指导下进行规范操作戴镜者本人或监护人必须学会戴镜摘镜规范方法及眼镜自检方法同时需合理使用角膜接触镜护理液AB液等护理用品切忌药水开封过期使用储存时须注意保持无菌状态</p>
<p>12.配戴RGP期间如出现与配戴RGP无关的眼部疾病不属于医方责任</p>
<p>13. RGP的使用寿命般不超过1.5超长使用可能降低治疗效果并引起一系列并发症如视力下降眼组织损伤微生物感染等未遵医嘱超长使用RGP引起的一切后果需患者自负</p>
<p>14.RGP镜片是针对每位患者特殊定制的一旦订做不能退换由于镜片是高分子合成材料制成的具有一定的脆性因此在镜片的清洗及使用的过程中需要格外小心以免损伤镜如因患者原因出现镜片破损遗失等情况更换镜片的费用需由患者另行承担</p>
<p>15.患者有权决定停戴RGP</p>
<p>16.初次配戴RGP患者建议第一天配戴3-4小时以后每日增加2小时直到1周到10天时全日佩戴</p>
<p>17.当感冒发烧和身体不适时停止配戴接触镜或咨询验配医生</p>
<p>18.戴镜期间避免剧烈运动或者风沙较重的环境否则可能导致镜片滑落丢失</p>
<div style="margin-top: 30px">
<div style="position: relative">
<span style="margin-right: 8px;vertical-align: middle;">是否已阅读<span style="font-weight: bold">此页告知书</span>并同意配戴<span style="font-weight: bold">角膜塑形镜OK镜</span></span>
<span v-if="isCkeck" style="display:inline-block;width: 16px;height: 16px;border: solid 1px #ccc;border-radius: 50%;position: absolute;top: 5px" @click="selectRadio('1')" />
<img v-else style="position: absolute;top: 5px" :src="require('@/assets/img/radio.png')" alt="">
<span style="margin: 0 16px 0 24px;vertical-align: middle"></span>
<span v-if="!isCkeck" style="display:inline-block;width: 16px;height: 16px;border: solid 1px #ccc;border-radius: 50%;position: absolute;top: 5px" @click="selectRadio('2')" />
<img v-else style="position: absolute;top: 5px" :src="require('@/assets/img/radio.png')" alt="">
<span style="margin-left: 24px;vertical-align: middle"></span>
<div style="font-weight: bold">
本人已认真阅读以上内容对角膜塑形术桥正近视原理及使用护理知识充分了解并同意遵守
</div>
</div>
<div style="width: 100%;display: flex;justify-content: space-around;margin-top: 35px;">
<div @click="signClick(1)">
<span>医生/验光师</span>
<img v-if="optomFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="doctorSign">
<div>
<span>验配师</span>
<img v-if="optomFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="doctorSign">
</div>
<div>
<span style="margin-left: 16px">医生</span>
<img v-if="optomFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="doctorSign">
</div>
<div style="margin-top: 3px">
<span style="margin-left: 16px">日期</span>
<el-date-picker
v-model="doctorSignDate"
style="width: 140px"
size="small"
type="date"
placeholder="选择日期"
/>
</div>
</div>
<div @click="signClick(2)">
<span>配戴者</span>
<img v-if="wearerFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="patientSign">
</div>
<div @click="signClick(3)">
<span>监护人</span>
<img v-if="guardianFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="guardianSign">
<div>
<span style="margin-left: 113px">配戴者签字</span>
<img v-if="wearerFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="patientSign">
</div>
<div @click="signClick(3)">
<span>未满18周岁监护人签字</span>
<img v-if="guardianFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="guardianSign">
</div>
<div style="margin-top: 3px;margin-left: 145px">
<span style="margin-left: 16px">日期</span>
<el-date-picker
v-model="doctorSignDate"
style="width: 140px"
size="small"
type="date"
placeholder="选择日期"
/>
</div>
</div>
<div />
</div>
</div>
</div>
@ -108,8 +132,7 @@ export default {
},
data() {
return {
isCkeck: false,
isNew: '',
doctorSignDate: '',
noticeData: {},
isAgree: '1' // 1 2
}
@ -210,11 +233,12 @@ export default {
set(val) {
}
},
}
},
created() {
},
mounted() {
this.doctorSignDate = this.$moment().format('YYYY-MM-DD')
this.getNoticeName()
},
methods: {
@ -226,13 +250,13 @@ export default {
this.$store.commit('beginSign', index)
},
handlePrint() {
this.printPage('notice-one')
this.printPage('notice-two')
// this.printPage('notice-one')
// this.printPage('notice-two')
},
//
getNoticeName() {
const params = {
patientId: this.patientId,
patientId: this.patientId
}
this.$http.get('/hospital/notice/getNoticeSign', { params: params }).then(({ data: res }) => {
if (res.code !== 0) {
@ -277,7 +301,6 @@ export default {
//
saveEditNotice() {
const params = {
isNew: 3,
patientId: this.patientId,
drgsName: window.localStorage.getItem('identity'),
doctorSign: this.doctorSign,

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

@ -40,7 +40,7 @@
:value="item.value"
/>
</el-select>
<el-button v-for="(item,index) in typeList" :key="index" style="margin-left: 0px" size="small" color="white" @click="handleType(item.value)">{{ item.label }}</el-button>
<el-button v-for="(item,index) in typeList" :key="index" :class="[curIndex === index ? 'active' : '']" style="margin-left: 0px" size="small" color="white" @click="handleType(item.value, index)">{{ item.label }}</el-button>
</div>
<div>
<el-button type="primary" size="small" icon="el-icon-plus" @click="addOrUpdateHandle('','','新增患者')">新增</el-button>
@ -181,6 +181,7 @@ export default {
getDataListURL: '/patient/page',
getDataListIsPage: true
},
curIndex: 0,
options: [
{
value: '0',
@ -269,7 +270,8 @@ export default {
this.getDataListInitial()
},
//
handleType(value) {
handleType(value, index) {
this.curIndex = index
this.dataForm.patientStatus = value
this.getDataListInitial()
},
@ -321,6 +323,11 @@ export default {
.operation-details {
cursor: pointer;
}
.active{
color: #3ea3f6;
background-color: #e0f2fd;
border-color: #3ea3f6;
}
}
</style>
<style lang="scss">

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

@ -40,7 +40,7 @@
:value="item.value"
/>
</el-select>
<el-button v-for="(item,index) in typeList" :key="index" style="margin-left: 0px" size="small" color="white" @click="handleType(item.value)">{{ item.label }}</el-button>
<el-button v-for="(item,index) in typeList" :key="index" :class="[curIndex === index ? 'active' : '']" style="margin-left: 0px" size="small" color="white" @click="handleType(item.value, index)">{{ item.label }}</el-button>
</div>
<div>
<el-button type="primary" size="small" icon="el-icon-plus" @click="addOrUpdateHandle('','','新增患者')">新增</el-button>
@ -181,6 +181,7 @@ export default {
getDataListURL: '/patient/page',
getDataListIsPage: true
},
curIndex: 0,
options: [
{
value: '0',
@ -273,7 +274,8 @@ export default {
this.getDataListInitial()
},
//
handleType(value) {
handleType(value, index) {
this.curIndex = index
this.dataForm.patientStatus = value
this.getDataListInitial()
},
@ -325,6 +327,11 @@ export default {
.operation-details {
cursor: pointer;
}
.active{
color: #3ea3f6;
background-color: #e0f2fd;
border-color: #3ea3f6;
}
}
</style>
<style lang="scss">

24
src/page-subspecialty/views/pages/login.vue

@ -27,16 +27,16 @@
<el-form-item prop="password">
<el-input v-model="dataForm.password" type="password" placeholder="请输入密码" />
</el-form-item>
<el-form-item prop="captcha">
<el-row :gutter="10">
<el-col :span="14">
<el-input v-model="dataForm.captcha" :placeholder="$t('login.captcha')" />
</el-col>
<el-col :span="10" class="login-captcha">
<img :src="captchaPath" @click="getCaptcha()">
</el-col>
</el-row>
</el-form-item>
<!-- <el-form-item prop="captcha">-->
<!-- <el-row :gutter="10">-->
<!-- <el-col :span="14">-->
<!-- <el-input v-model="dataForm.captcha" :placeholder="$t('login.captcha')" />-->
<!-- </el-col>-->
<!-- <el-col :span="10" class="login-captcha">-->
<!-- <img :src="captchaPath" @click="getCaptcha()">-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" class="w-percent-100" @click="dataFormSubmitHandle()">{{ $t('login.title') }}
</el-button>
@ -77,13 +77,13 @@ export default {
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
captcha: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
{ required: false, message: this.$t('validate.required'), trigger: 'blur' }
]
}
}
},
created() {
this.getCaptcha()
// this.getCaptcha()
},
methods: {
//

Loading…
Cancel
Save