Browse Source

最新修改

x-emr
bianyaqi 2 years ago
parent
commit
1e0990aa8e
  1. 1
      package.json
  2. 4
      public/index.html
  3. 35
      src/components/360View/medicalRecord/index.vue
  4. 4
      src/components/echarts/yanya.vue
  5. 3
      src/page-subspecialty/main.js
  6. 4
      src/page-subspecialty/views/modules/formList/DrugInjection.vue
  7. 6
      src/page-subspecialty/views/modules/formList/InformedConsent.vue
  8. 4
      src/page-subspecialty/views/modules/formList/InjectionTherapy.vue
  9. 4
      src/page-subspecialty/views/modules/formList/MinorOperation.vue
  10. 4
      src/page-subspecialty/views/modules/formList/StyeForm.vue
  11. 4
      src/page-subspecialty/views/modules/formList/childrenLacrimal.vue
  12. 6
      src/page-subspecialty/views/modules/formList/conjunctivalOperation.vue
  13. 6
      src/page-subspecialty/views/modules/formList/cornealForeign.vue
  14. 4
      src/page-subspecialty/views/modules/formList/laserSurgery.vue
  15. 8
      src/page-subspecialty/views/modules/formList/mraForm.vue
  16. 14
      src/page-subspecialty/views/modules/formList/mraOrder.vue
  17. 6
      src/page-subspecialty/views/modules/formList/puncture.vue
  18. 85
      src/page-subspecialty/views/modules/optometryManagement/outFocusEye/outDetail.vue
  19. 113
      src/page-subspecialty/views/modules/optometryManagement/outFocusEye/reviewForm.vue
  20. 272
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/CornealReview.vue
  21. 628
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/first-visit/index.vue
  22. 8
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/notice-book.vue
  23. 8
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/informBook/rgp-book.vue
  24. 40
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/notice-book.vue
  25. 4
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/ok-lens-rgp/removeLens-returnGoods-or-update.vue
  26. 4
      src/page-subspecialty/views/modules/optometryManagement/seeDoctor/ok-lens/removeLens-returnGoods-or-update.vue
  27. 30
      src/page-subspecialty/views/pages/login.vue

1
package.json

@ -58,6 +58,7 @@
"js-audio-recorder": "^1.0.7",
"js-base64": "^3.6.1",
"js-cookie": "^2.2.1",
"js-md5": "^0.7.3",
"jszip-utils": "^0.1.0",
"less": "^4.0.0",
"less-loader": "^5.0.0",

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>
<% } %>

35
src/components/360View/medicalRecord/index.vue

@ -9,7 +9,7 @@
ref="leftFormList"
:patient-id="patientId"
:is-search="isSearch"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:form-list="formList"
:cur-index="curIndex"
@ -34,7 +34,7 @@
<InformedConsent
v-if="name==='眼科激光手术患者知情同意书'"
ref="informedConsent"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -45,7 +45,7 @@
v-if="name==='眼底血管造影患者预约单'"
ref="mraOrder"
:patient-detail="patientData"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:case-id="id"
@handleSaveTable="updateForm"
@ -54,7 +54,7 @@
<mra-form
v-if="name==='眼底血管造影知情同意书'"
ref="mraForm"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -64,7 +64,7 @@
<laser-surgery
v-if="name==='眼科激光手术治疗'"
ref="laserSurgery"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -74,7 +74,7 @@
<report-form
v-if="name==='睑板腺按摩'"
ref="reportForm"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -84,7 +84,7 @@
<minor-operation
v-if="name==='干眼手术知情同意书'"
ref="minorOperation"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -94,7 +94,7 @@
<stye-form
v-if="name==='麦粒肿、霰粒肿、肉芽肿、眼睑肿物手术知情同意书'"
ref="styeForm"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -104,7 +104,7 @@
<Lacrimal
v-if="name==='泪道冲洗'"
ref="lacrimal"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -114,7 +114,7 @@
<InjectionTherapy
v-if="name==='球旁注射同意书'"
ref="injectionTherapy"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -124,7 +124,7 @@
<DrugInjection
v-if="name==='药物注射手术知情同意书'"
ref="drugInjection"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -134,7 +134,7 @@
<childrenLacrimal
v-if="name==='小儿泪道冲洗知情同意书'"
ref="childrenLacrimal"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -144,7 +144,7 @@
<conjunctival-operation
v-if="name==='干眼激光治疗知情同意书'"
ref="conjunctival"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -154,7 +154,7 @@
<cornealForeign
v-if="name==='角膜异物剔除术知情同意书'"
ref="cornealForeign"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -164,7 +164,7 @@
<puncture
v-if="name==='前房穿刺知情同意书'"
ref="puncture"
:only-read="onlyRead"
:only-read="onlyRead || !isCreator"
:is-platform="isPlatform"
:patient-detail="patientData"
:case-id="id"
@ -250,7 +250,8 @@ export default {
formList: [],
defaultChecked: [],
formType: '门诊',
patientData: {}
patientData: {},
isCreator: true
}
},
created() {
@ -261,6 +262,8 @@ export default {
},
methods: {
handleForm({ index, item }) {
const user = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.isCreator = item.doctorCode === user.employeeId
//
if (this.curIndex === index) {
return

4
src/components/echarts/yanya.vue

@ -89,9 +89,9 @@ export default {
label: {
show: true,
position: item === 'OD' ? [-25, -30] : [10, -5],
backgroundColor: item === 'OD' ? '#4a6bff' : '#0db760',
// backgroundColor: item === 'OD' ? '#4a6bff' : '#0db760',
padding: [6, 6],
color: '#ffffff',
color: item === 'OD' ? '#4a6bff' : '#0db760',
// color: 'rgba(24, 24, 24, 0.1)',
borderRadius: 10
},

3
src/page-subspecialty/main.js

@ -21,6 +21,7 @@ import * as filters from '@/filters'
import { hasPermission, getDictLabel } from '@/utils'
import cloneDeep from 'lodash/cloneDeep'
import 'vxe-table/lib/index.css'
import md5 from 'js-md5'
// import echarts from 'echarts'
import * as echarts from 'echarts'
import moment from 'moment'
@ -30,6 +31,8 @@ import moment from 'moment'
import Base64 from '@/utils/base64.js'
Vue.prototype.$Base64 = Base64
Vue.prototype.$md5 = md5
import Print from 'vue-print-nb'
Vue.use(Print)

4
src/page-subspecialty/views/modules/formList/DrugInjection.vue

@ -93,7 +93,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.minorPatientSignM">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.minorPatientSignM">
</div>
</div>
<div style="margin-left: 100px">
@ -118,7 +118,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.minorKinSignM">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.minorKinSignM">
</div>
<span>与患者关系</span>
<el-input v-model="confirmData.relation" style="width: 100px" />

6
src/page-subspecialty/views/modules/formList/InformedConsent.vue

@ -18,6 +18,7 @@
<div class="flex a-c item">姓名<el-input v-model="confirmData.patientName" style="flex: 1" placeholder="" /></div>
<div class="flex a-c item">年龄<el-input v-model="confirmData.patientAge" style="flex: 1" placeholder="" /></div>
<div class="flex a-c item">性别<el-input v-model="confirmData.patientGender" style="flex: 1" placeholder="" /></div>
<div class="flex a-c item">登记号<el-input v-model="confirmData.patientId" style="flex: 1" placeholder="" /></div>
<div class="flex a-c item">眼别
<el-select
ref="eyeTypeRef"
@ -132,7 +133,7 @@
<div>患者或直系亲属签名</div>
<div @click="signClick('informPatientSign')">
<img v-if="!formListValue.informPatientSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.informPatientSign" style="width: 80px;height: 40px;" :src="formListValue.informPatientSign">
<img v-if="formListValue.informPatientSign" style="width: 160px;height: 80px;" :src="formListValue.informPatientSign">
<el-input v-if="!formListValue.informPatientSign&&!printHidden" style="width: 80px" />
</div>
<div class="flex a-c">日期
@ -200,6 +201,7 @@ export default {
patientDate: '',
patientGender: '',
patientName: '',
patientId: '',
patientSign: '',
qgy: '',
ydb: '',
@ -413,6 +415,7 @@ export default {
this.confirmData.patientName = this.patientDetail.patientName
this.confirmData.patientAge = this.patientDetail.patientAge
this.confirmData.patientGender = this.patientDetail.patientSex
this.confirmData.patientId = this.patientDetail.patientId
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.confirmData.operationSign = userData.signImgBase
this.confirmData.operationDate = this.$moment().format('YYYY-MM-DD')
@ -421,6 +424,7 @@ export default {
this.confirmData.patientName = detail.patientName
this.confirmData.patientAge = detail.patientAge
this.confirmData.patientGender = detail.patientGender
this.confirmData.patientId = detail.patientId
this.confirmData.operationSign = detail.operationSign
this.confirmData.operationDate = detail.operationDate
this.confirmData.patientDate = detail.patientDate

4
src/page-subspecialty/views/modules/formList/InjectionTherapy.vue

@ -65,7 +65,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.injectionPatient">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.injectionPatient">
</div>
</div>
<div class="flex a-c">
@ -75,7 +75,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.injectionKin">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.injectionKin">
</div>
</div>
<div class="flex a-c" style="margin-left: 10px">

4
src/page-subspecialty/views/modules/formList/MinorOperation.vue

@ -101,7 +101,7 @@
<span style="word-break: keep-all;font-weight: bold">患者签名</span>
<div style="margin-left:10px" @click="signClick('minPatSign')">
<img v-if="!formListValue.minPatSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.minPatSign" style="width: 80px;height: 40px;" :src="formListValue.minPatSign">
<img v-if="formListValue.minPatSign" style="width: 160px;height: 80px;" :src="formListValue.minPatSign">
<el-input v-if="!formListValue.minPatSign&&!printHidden" style="width: 80px" />
</div>
</div>
@ -124,7 +124,7 @@
<div style="font-weight: bold">患者授权亲属签名</div>
<div style="margin-left:10px" @click="signClick('minKinSign')">
<img v-if="!formListValue.minKinSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.minKinSign" style="width: 80px;height: 40px;" :src="formListValue.minKinSign">
<img v-if="formListValue.minKinSign" style="width: 160px;height: 80px;" :src="formListValue.minKinSign">
<el-input v-if="!formListValue.minKinSign&&!printHidden" style="width: 80px" />
</div>
<span>与患者关系</span>

4
src/page-subspecialty/views/modules/formList/StyeForm.vue

@ -116,7 +116,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.minorPatientSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.minorPatientSign">
</div>
</div>
<div style="margin-left: 100px">
@ -141,7 +141,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.minorKinSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.minorKinSign">
</div>
<span>与患者关系</span>
<el-input v-model="confirmData.relation" style="width: 100px" />

4
src/page-subspecialty/views/modules/formList/childrenLacrimal.vue

@ -70,7 +70,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.childrenSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.childrenSign">
</span>
</div>
<div>
@ -93,7 +93,7 @@
<div style="margin-right: 296px;">
<span style="word-break: keep-all">医生签名</span>
<span style="margin-left:10px">
<img style="width: 80px;height: 40px;" :src="confirmData.operator">
<img style="width: 160px;height: 80px;" :src="confirmData.operator">
</span>
</div>
<div>

6
src/page-subspecialty/views/modules/formList/conjunctivalOperation.vue

@ -53,7 +53,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.conPatientSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.conPatientSign">
</span>
</div>
<div>
@ -73,7 +73,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.conKinSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.conKinSign">
</span>
<span style="margin-left: 15px">与患者关系<el-input v-model="confirmData.relation" style="width: 150px" /></span>
</div>
@ -97,7 +97,7 @@
<div style="margin-right: 296px;">
<span style="word-break: keep-all">医生签名</span>
<span style="margin-left:10px">
<img style="width: 80px;height: 40px;" :src="confirmData.operator">
<img style="width: 160px;height: 80px;" :src="confirmData.operator">
</span>
</div>
<div>

6
src/page-subspecialty/views/modules/formList/cornealForeign.vue

@ -81,7 +81,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.cornealPatientSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.cornealPatientSign">
</span>
</div>
<div>
@ -101,7 +101,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.cornealKinSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.cornealKinSign">
</span>
<span style="margin-left: 15px">与患者关系<el-input v-model="confirmData.relation" style="width: 150px" /></span>
</div>
@ -125,7 +125,7 @@
<div style="margin-right: 296px;">
<span style="word-break: keep-all">医生签名</span>
<span style="margin-left:10px">
<img style="width: 80px;height: 40px;" :src="confirmData.operator">
<img style="width: 160px;height: 80px;" :src="confirmData.operator">
</span>
</div>
<div>

4
src/page-subspecialty/views/modules/formList/laserSurgery.vue

@ -365,6 +365,8 @@ export default {
this.confirmData = { ...detail }
if (!detail.jzNumber) {
this.queryDiagnostic()
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.confirmData.operateSign = userData.signImgBase
this.confirmData.patientName = this.patientDetail.patientName
this.confirmData.patientAge = this.patientDetail.patientAge
this.confirmData.patientSex = this.patientDetail.patientSex
@ -379,8 +381,6 @@ export default {
this.confirmData.jgzlSyt = require('@/assets/img/os.png')
}
}
const userData = JSON.parse(window.sessionStorage.getItem('qg-userData'))
this.confirmData.operateSign = userData.signImgBase
})
},
//

8
src/page-subspecialty/views/modules/formList/mraForm.vue

@ -62,7 +62,7 @@
患者签字:
<div style="margin-left: 10px" @click="signClick('fundusDocSign')">
<img v-if="!formListValue.fundusDocSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.fundusDocSign" style="width: 80px;height: 40px;" :src="formListValue.fundusDocSign">
<img v-if="formListValue.fundusDocSign" style="width: 160px;height: 80px;" :src="formListValue.fundusDocSign">
<el-input v-if="!formListValue.fundusDocSign&&!printHidden" style="width: 80px" />
</div>
</div>
@ -70,7 +70,7 @@
<span>或授权亲属签字(关系):</span>
<div style="margin-left: 10px" @click="signClick('kinSign')">
<img v-if="!formListValue.kinSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.kinSign" style="width: 80px;height: 40px;" :src="formListValue.kinSign">
<img v-if="formListValue.kinSign" style="width: 160px;height: 80px;" :src="formListValue.kinSign">
<el-input v-if="!formListValue.kinSign&&printHidden" style="width: 80px" />
</div>
<span style="margin-left: 80px">日期:</span>
@ -159,7 +159,7 @@
执行药敏试验者签字:
<div style="margin:0 10px" @click="signClick('performerSign')">
<img v-if="!formListValue.performerSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.performerSign" style="width: 80px;height: 40px;" :src="formListValue.performerSign">
<img v-if="formListValue.performerSign" style="width: 160px;height: 80px;" :src="formListValue.performerSign">
<el-input v-if="!formListValue.performerSign&&!printHidden" style="width: 120px" />
</div>
工号:<el-input v-model="formData.performerId" style="width: 240px;margin-left: 15px" />
@ -168,7 +168,7 @@
核对药敏实验者签字:
<div style="margin:0 10px" @click="signClick('checkerSign')">
<img v-if="!formListValue.checkerSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.checkerSign" style="width: 80px;height: 40px;" :src="formListValue.checkerSign">
<img v-if="formListValue.checkerSign" style="width: 160px;height: 80px;" :src="formListValue.checkerSign">
<el-input v-if="!formListValue.checkerSign&&!printHidden" style="width: 80px" />
</div>
工号:<el-input v-model="formData.checkerId" style="width: 240px" />

14
src/page-subspecialty/views/modules/formList/mraOrder.vue

@ -190,6 +190,16 @@
</div>
</td>
</tr>
<tr>
<td>
造影前需要眼底照相拼图双眼
</td>
<td>
<div style="cursor: pointer" @click="changeNeed">
<input type="checkbox" :checked="formData.needYdzxpt">已做
</div>
</td>
</tr>
</table>
<div>
<div v-for="(item,index) in context" :key="index">
@ -257,6 +267,7 @@ export default {
remark: '',
yzOpen: '',
isPrint: '',
needYdzxpt: false,
examineDate: '',
checkAdvice: '',
docAdvice: '',
@ -304,6 +315,9 @@ export default {
this.getOrderDetail()
},
methods: {
changeNeed() {
this.$set(this.formData, 'needYdzxpt', !this.formData.needYdzxpt)
},
//
getDoctorList() {
this.$http.get('/sys/user', { params: { position: '门诊医师' }}).then(data => {

6
src/page-subspecialty/views/modules/formList/puncture.vue

@ -57,7 +57,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-right: 12px">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.puncturePatientSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.puncturePatientSign">
</span>
</div>
<div>
@ -78,7 +78,7 @@
<img v-if="printHidden" :src="require('@/assets/img/signature.png')" alt="">
<el-input v-else style="width: 80px" />
</span>
<img v-else style="width: 80px;height: 40px;" :src="formListValue.punctureKinSign">
<img v-else style="width: 160px;height: 80px;" :src="formListValue.punctureKinSign">
</span>
<span style="margin-left: 15px">与患者关系<el-input v-model="confirmData.relation" style="width: 150px" /></span>
</div>
@ -102,7 +102,7 @@
<div style="margin-right: 296px;">
<span style="word-break: keep-all">医生签名</span>
<span style="margin-left:10px">
<img style="width: 80px;height: 40px;" :src="confirmData.operator">
<img style="width: 160px;height: 80px;" :src="confirmData.operator">
</span>
</div>
<div>

85
src/page-subspecialty/views/modules/optometryManagement/outFocusEye/outDetail.vue

@ -38,8 +38,8 @@
<template slot-scope="scope">
日期
<el-date-picker
style="width: 140px"
v-model="firstForm.checkDate"
style="width: 140px"
value-format="yyyy-MM-dd"
type="date"
placeholder="选择日期"
@ -51,7 +51,16 @@
align="center"
label="眼别"
prop="name"
/>
>
<template slot-scope="scope">
<div v-if="scope.row.name==='备注'">
<el-input v-model="firstForm.remark" type="textarea" :rows="3" placeholder="" />
</div>
<div v-else>
{{ scope.row.name }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
label="球镜"
@ -84,8 +93,8 @@
align="center"
>
<template slot-scope="scope">
<el-input v-if="scope.row.va === '右眼'" v-model="firstForm.vaOd" placeholder=""/>
<el-input v-if="scope.row.va === '左眼'" v-model="firstForm.vaOs" placeholder=""/>
<el-input v-if="scope.row.va === '右眼'" v-model="firstForm.vaOd" placeholder="" />
<el-input v-if="scope.row.va === '左眼'" v-model="firstForm.vaOs" placeholder="" />
</template>
</el-table-column>
<el-table-column
@ -116,18 +125,27 @@
</template>
</el-table-column>
<el-table-column
label="备注"
width="160"
label="品牌"
align="center"
>
<template slot-scope="scope">
<el-input type="textarea" :rows="3" v-model="firstForm.remark" placeholder="" />
<el-select v-model="scope.row.otherOd" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in brandList" :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</template>
</el-table-column>
<el-table-column
align="center"
>
<template slot-scope="scope">
<el-input v-if="scope.row.iol === '右眼'" v-model="firstForm.iolOd" placeholder="" />
<el-input v-if="scope.row.iol === '左眼'" v-model="firstForm.iolOs" placeholder="" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="复诊" name="2">
<reviewForm v-if="activeName==='2'" :patient-id="patientId"></reviewForm>
<reviewForm v-if="activeName==='2'" :patient-id="patientId" />
</el-tab-pane>
<el-tab-pane label="眼轴折线图" name="3">
<eye-axis v-if="activeName==='3'" :patient-id="patientId" :id-name="'eyeAxis'" />
@ -165,6 +183,24 @@ export default {
},
data() {
return {
brandList: [
{
label: '依视路兴趣空',
value: '依视路兴趣空'
}, {
label: '蔡司成长乐',
value: '蔡司成长乐'
}, {
label: '蔡司小乐圆',
value: '蔡司小乐圆'
}, {
label: '豪雅新乐学',
value: '豪雅新乐学'
}, {
label: '豪雅爱乐学',
value: '豪雅爱乐学'
}
],
tableData: [
{
checkDate: '',
@ -172,6 +208,8 @@ export default {
ds: '右眼',
dc: '右眼',
iol: '右眼',
brand1: '右眼',
brand2: '右眼',
pd: '右眼',
ph: '右眼',
va: '右眼',
@ -184,6 +222,20 @@ export default {
ds: '左眼',
dc: '左眼',
iol: '左眼',
brand1: '右眼',
brand2: '右眼',
pd: '左眼',
ph: '左眼',
va: '左眼',
a: '左眼',
remark: ''
},
{
checkDate: '',
name: '备注',
ds: '左眼',
dc: '左眼',
iol: '左眼',
pd: '左眼',
ph: '左眼',
va: '左眼',
@ -226,10 +278,10 @@ export default {
this.$parent.reFresh()
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 || columnIndex === 9) {
if (rowIndex % 2 === 0) {
if (columnIndex === 0) {
if (rowIndex % 3 === 0) {
return {
rowspan: 2,
rowspan: 3,
colspan: 1
}
} else {
@ -239,6 +291,14 @@ export default {
}
}
}
if (columnIndex === 1) {
if (rowIndex % 3 === 2) {
return {
rowspan: 1,
colspan: 11
}
}
}
},
//
async getPatientInfo() {
@ -328,6 +388,9 @@ export default {
overflow: hidden;
}
}
::v-deep .el-icon-arrow-up{
display: none;
}
</style>
<style lang="scss">

113
src/page-subspecialty/views/modules/optometryManagement/outFocusEye/reviewForm.vue

@ -53,14 +53,33 @@
align="center"
label="眼别"
prop="name"
/>
>
<template slot-scope="scope">
<div v-if="scope.row.name==='备注'">
<el-input v-model="secondForm.remark" type="textarea" :rows="3" placeholder="" />
</div>
<div v-else>
{{ scope.row.name }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
label="球镜"
>
<template slot-scope="scope">
<el-input v-if="scope.row.ds === '右眼'" v-model="secondForm.dsOd" placeholder="" />
<el-input v-if="scope.row.ds === '左眼'" v-model="secondForm.dsOs" placeholder="" />
<el-input
v-if="scope.row.ds === '右眼'"
v-model="secondForm.dsOd"
placeholder=""
@change="(value)=>calcLum(value,'dsOd')"
/>
<el-input
v-if="scope.row.ds === '左眼'"
v-model="secondForm.dsOs"
placeholder=""
@change="(value)=>calcLum(value,'dsOs')"
/>
</template>
</el-table-column>
<el-table-column
@ -68,8 +87,18 @@
align="center"
>
<template slot-scope="scope">
<el-input v-if="scope.row.dc === '右眼'" v-model="secondForm.dcOd" placeholder="" />
<el-input v-if="scope.row.dc === '左眼'" v-model="secondForm.dcOs" placeholder="" />
<el-input
v-if="scope.row.dc === '右眼'"
v-model="secondForm.dcOd"
placeholder=""
@change="(value)=>calcLum(value,'dcOd')"
/>
<el-input
v-if="scope.row.dc === '左眼'"
v-model="secondForm.dcOs"
placeholder=""
@change="(value)=>calcLum(value,'dcOs')"
/>
</template>
</el-table-column>
<el-table-column
@ -104,8 +133,16 @@
align="center"
>
<template slot-scope="scope">
<el-input v-if="scope.row.iol === '右眼'" v-model="secondForm.iolOd" placeholder="" />
<el-input v-if="scope.row.iol === '左眼'" v-model="secondForm.iolOs" placeholder="" />
<el-input
v-if="scope.row.iol === '右眼'"
v-model="secondForm.iolOd"
placeholder=""
/>
<el-input
v-if="scope.row.iol === '左眼'"
v-model="secondForm.iolOs"
placeholder=""
/>
</template>
</el-table-column>
<el-table-column
@ -132,15 +169,6 @@
/>
</template>
</el-table-column>
<el-table-column
label="备注"
width="130"
align="center"
>
<template slot-scope="scope">
<el-input v-model="secondForm.remark" type="textarea" :rows="3" placeholder="" />
</template>
</el-table-column>
</el-table>
</div>
</div>
@ -182,6 +210,19 @@ export default {
va: '左眼',
a: '左眼',
remark: ''
},
{
checkDate: '',
nextCheckDate: '',
name: '备注',
ds: '左眼',
dc: '左眼',
iol: '左眼',
lhgd: '左眼',
vag: '左眼',
va: '左眼',
a: '左眼',
remark: ''
}
],
secondForm: {
@ -213,11 +254,29 @@ export default {
this.getFormList()
},
methods: {
calcLum(value, type) {
if (value) {
switch (type) {
case 'dsOd':
this.secondForm.lhgdOd = (this.secondForm.dsOd * 1 + (1 / 2) * this.secondForm.dcOd).toFixed(2)
break
case 'dsOs':
this.secondForm.lhgdOs = (this.secondForm.dsOs * 1 + (1 / 2) * this.secondForm.dcOs).toFixed(2)
break
case 'dcOd':
this.secondForm.lhgdOd = (this.secondForm.dsOd * 1 + (1 / 2) * this.secondForm.dcOd).toFixed(2)
break
case 'dcOs':
this.secondForm.lhgdOs = (this.secondForm.dsOs * 1 + (1 / 2) * this.secondForm.dcOs).toFixed(2)
break
}
}
},
objectSecondMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0 || columnIndex === 9 || columnIndex === 10) {
if (rowIndex % 2 === 0) {
if (columnIndex === 0) {
if (rowIndex % 3 === 0) {
return {
rowspan: 2,
rowspan: 3,
colspan: 1
}
} else {
@ -227,6 +286,22 @@ export default {
}
}
}
if (columnIndex === 9) {
if (rowIndex % 3 === 0) {
return {
rowspan: 2,
colspan: 1
}
}
}
if (columnIndex === 1) {
if (rowIndex % 3 === 2) {
return {
rowspan: 1,
colspan: 11
}
}
}
},
saveSecondForm() {
this.secondForm.patientId = this.patientId

272
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/CornealReview.vue

@ -18,6 +18,7 @@
<span style="word-break: keep-all">检查日期</span>
<el-date-picker
v-model="formData.checkDate"
value-format="yyyy-MM-dd"
type="date"
/>
</div>
@ -26,7 +27,7 @@
<div class="tdItem">
已戴镜时间
<el-select v-model="formData.djTime" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="(item,index) in timeList " :key="index" :value="item.name" :label="item.name" />
<el-option v-for="(item,index) in timeList " :key="index" :value="item.timeValue" :label="item.timeValue" />
</el-select>
</div>
</td>
@ -35,7 +36,7 @@
<td colspan="6">
<div style="display: flex;flex-wrap: wrap">
<el-select v-model="formData.checkResult" placeholder="" clearable multiple filterable allow-create style="width: 100%">
<el-option v-for="(item,index) in cornealOtherList " :key="item.id" :value="item.id" :label="item.name" />
<el-option v-for="item in cornealOtherList " :key="item.id" :value="item.name" :label="item.name" />
</el-select>
</div>
</td>
@ -47,8 +48,26 @@
</tr>
<tr>
<td colspan="2">视力</td>
<td colspan="2"><el-input v-model="formData.vaOd" /></td>
<td colspan="2"><el-input v-model="formData.vaOs" /></td>
<td colspan="2">
<div class="flex a-c j-b">
<el-select v-model="formData.vaOd" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in visionList " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
<el-select v-model="formData.vaOd2" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in adList " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</div>
</td>
<td colspan="2">
<div class="flex a-c j-b">
<el-select v-model="formData.vaOs" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in visionList " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
<el-select v-model="formData.vaOs2" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in adList " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</div>
</td>
</tr>
<tr>
<td colspan="2">眼压</td>
@ -64,12 +83,12 @@
<td colspan="2">角膜地形图</td>
<td colspan="2">
<el-select v-model="formData.jmdxtOd" placeholder="" clearable multiple filterable allow-create style="width: 100%">
<el-option v-for="(item,index) in cornealList " :key="item.id" :value="item.id" :label="item.name" />
<el-option v-for="item in cornealList " :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</td>
<td colspan="2">
<el-select v-model="formData.jmdxtOs" placeholder="" clearable multiple filterable allow-create style="width: 100%">
<el-option v-for="(item,index) in cornealList " :key="item.id" :value="item.id" :label="item.name" />
<el-option v-for="item in cornealList " :key="item.id" :value="item.id" :label="item.name" />
</el-select>
</td>
</tr>
@ -78,32 +97,70 @@
</tr>
<tr>
<td>角膜</td>
<td colspan="2"><el-input v-model="formData.corneaOd" /></td>
<td colspan="2"><el-input v-model="formData.corneaOs" /></td>
<td colspan="2">
<div class="flex a-c j-b">
<el-select v-model="formData.corneaOd" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in corneaList " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
<el-select v-model="formData.corneaExtraOd" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in corneaList2 " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</div>
</td>
<td colspan="2">
<div class="flex a-c j-b">
<el-select v-model="formData.corneaOs" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in corneaList " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
<el-select v-model="formData.corneaExtraOs" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in corneaList2 " :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</div>
</td>
</tr>
<tr>
<td>结膜</td>
<td colspan="2"><el-input v-model="formData.conjunctivaOd" /></td>
<td colspan="2"><el-input v-model="formData.conjunctivaOs" /></td>
<td colspan="2">
<div class="flex a-c j-b">
<el-select v-model="formData.conjunctivaOd" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in conjunctivaList" :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</div>
</td>
<td colspan="2">
<div class="flex a-c j-b">
<el-select v-model="formData.conjunctivaOs" placeholder="" clearable filterable allow-create style="flex: 1">
<el-option v-for="item in conjunctivaList" :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</div>
</td>
</tr>
<tr>
<td>其他</td>
<td colspan="2"><el-input v-model="formData.otherOd" /></td>
<td colspan="2"><el-input v-model="formData.otherOs" /></td>
<td colspan="2">
<el-select v-model="formData.otherOd" placeholder="" clearable filterable allow-create style="width: 100%">
<el-option v-for="item in otherList" :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</td>
<td colspan="2">
<el-select v-model="formData.otherOs" placeholder="" clearable filterable allow-create style="width: 100%">
<el-option v-for="item in otherList" :key="item.label" :value="item.value" :label="item.label" />
</el-select>
</td>
</tr>
<tr>
<td colspan="2">镜片</td>
<td colspan="2">
<div style="display: flex;flex-wrap: wrap">
<el-select v-model="formData.mirrorOd" placeholder="" clearable multiple filterable allow-create style="width: 100%">
<el-option v-for="(item,index) in lensList " :key="index" :value="item.id" :label="item.name" />
<el-option v-for="(item,index) in lensList " :key="index" :value="item.name" :label="item.name" />
</el-select>
</div>
</td>
<td colspan="2">
<div style="display: flex;flex-wrap: wrap">
<el-select v-model="formData.mirrorOs" placeholder="" clearable multiple filterable allow-create style="width: 100%">
<el-option v-for="(item,index) in lensList " :key="index" :value="item.id" :label="item.name" />
<el-option v-for="(item,index) in lensList " :key="index" :value="item.name" :label="item.name" />
</el-select>
</div>
</td>
@ -114,7 +171,7 @@
<el-input v-model="formData.remark" :autosize="{ minRows: 1, maxRows: 3}" type="textarea" />
</td>
<td>复查时间</td>
<td colspan="5">
<td>
<el-date-picker
v-model="formData.nextCheckDate"
type="date"
@ -123,17 +180,19 @@
</td>
</tr>
<tr>
<td colspan="6" style="padding: 0">
<td colspan="3" style="padding: 0">
<div style="display: flex">
<div style="flex: 1;padding: 5px 10px;display: flex;align-items: center">
<span style="word-break: keep-all">检查人签字:</span>
<img v-if="formData.doctorSign" :src="formData.doctorSign" alt="" style="width: 80px;height: 50px;border-style:none;margin-left: 12px">
</div>
<div style="flex: 1;border-left: 1px solid #ccc;padding: 5px 10px;display: flex;align-items: center" @click="signClick('checkSign')">
<span style="word-break: keep-all">医生签字:</span>
<img v-if="!formListValue.checkSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-left: 12px">
<img v-if="formListValue.checkSign" style="width: 80px;height: 40px;" :src="formListValue.checkSign">
</div>
</div>
</td>
<td colspan="3">
<div style="flex: 1;padding: 5px 10px;display: flex;align-items: center" @click="signClick('checkSign')">
<span style="word-break: keep-all">医生签字:</span>
<img v-if="!formListValue.checkSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="" style="margin-left: 12px">
<img v-if="formListValue.checkSign" style="width: 160px;height: 80px;" :src="formListValue.checkSign">
</div>
</td>
</tr>
@ -173,6 +232,103 @@ export default {
this.printHidden = true
}
},
corneaList: [
{
label: '中央',
value: '中央'
}, {
label: '3点钟',
value: '3点钟'
}, {
label: '6点钟',
value: '6点钟'
}, {
label: '9点钟',
value: '9点钟'
}, {
label: '12点钟',
value: '12点钟'
}
],
corneaList2: [
{
label: '正常',
value: '正常'
}, {
label: '一级点染',
value: '一级点染'
}, {
label: '二级点染',
value: '二级点染'
}, {
label: '三级点染',
value: '三级点染'
}
],
adList: [
{
label: '+',
value: '+'
}, {
label: '-',
value: '-'
}
],
otherList: [{
label: '倒睫',
value: '倒睫'
}],
conjunctivaList: [
{
label: '充血',
value: '充血'
}, {
label: '水肿',
value: '水肿'
}, {
label: '出血',
value: '出血'
}, {
label: '滤泡',
value: '滤泡'
}, {
label: '结石',
value: '结石'
}, {
label: '乳头',
value: '乳头'
}, {
label: '分泌物',
value: '分泌物'
}
],
visionList: [
{
label: 1.0,
value: 1.0
}, {
label: 0.8,
value: 0.8
}, {
label: 0.6,
value: 0.6
}, {
label: 0.5,
value: 0.5
}, {
label: 0.4,
value: 0.4
}, {
label: 0.3,
value: 0.3
}, {
label: 0.2,
value: 0.2
}, {
label: 0.1,
value: 0.1
}
],
cornealOtherList: [
{
name: '正常',
@ -201,6 +357,15 @@ export default {
}, {
name: '视力不佳',
id: '9'
}, {
name: '眼痒',
id: '11'
}, {
name: '分泌物',
id: '12'
}, {
name: '视物模糊',
id: '13'
}, {
name: '其他',
id: '10'
@ -326,60 +491,21 @@ export default {
}, {
name: '破损',
id: '4'
}
],
timeList: [
{
name: '一天',
id: '1'
}, {
name: '一周',
id: '2'
}, {
name: '一个月',
id: '3'
}, {
name: '两个月',
id: '4'
}, {
name: '三个月',
name: '镜片未带',
id: '5'
}, {
name: '四个月',
id: '6'
}, {
name: '五个月',
id: '7'
}, {
name: '半年',
id: '8'
}, {
name: '七个月',
id: '9'
}, {
name: '八个月',
id: '10'
}, {
name: '九个月',
id: '11'
}, {
name: '十个月',
id: '12'
}, {
name: '十一个月',
id: '13'
}, {
name: '一年',
id: '14'
}
],
timeList: [],
formData: {
checkResult: [], //
checkSign: '', //
conjunctivaOd: '', //
conjunctivaOs: '', //
corneaOd: '', //
corneaExtraOd: '', //
corneaOs: '', //
corneaExtraOs: '', //
djTime: '', //
doctorSign: '', //
iolOd: '', //
@ -400,7 +526,9 @@ export default {
patientSex: '', //
remark: '', //
vaOd: '', //
vaOd2: '', //
vaOs: '', //
vaOs2: '', //
checkDate: '', //
nextCheckDate: '' //
},
@ -415,12 +543,18 @@ export default {
}
},
mounted() {
this.getTimeList()
this.querySecondVisit()
},
methods: {
signClick(text) {
this.initPlugin(text)
},
getTimeList() {
this.$http.get('/hospital/notice/getTimeSlice').then(res => {
this.timeList = res.data.data
})
},
async querySecondInfo() {
const params = {
patientId: this.patientId
@ -522,6 +656,15 @@ export default {
</script>
<style lang="scss" scoped>
.flex{
display: flex;
}
.j-b{
justify-content: space-between;
}
.a-c{
align-items: center;
}
input{
-webkit-appearance: checkbox !important;
margin-right: 5px;
@ -543,6 +686,7 @@ input{
text-align: center;
border-radius: 0;
padding: 0;
font-size: 16px;
}
::v-deep .el-textarea__inner{
border: none;

628
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/first-visit/index.vue

@ -144,26 +144,382 @@
</tr>
<tr>
<td colspan="2">
<div class="tdItem">R: <el-input v-model="formData.sdcsR1" style="flex: 1" placeholder="" /></div>
<div class="tdItem">R:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.sdcsR11"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR12"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR13"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR14"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
<td colspan="2">
<div class="tdItem">L: <el-input v-model="formData.sdcsL1" style="flex: 1" placeholder="" /></div>
<div class="tdItem">L:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.sdcsL11"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL12"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL13"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL14"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="tdItem">R: <el-input v-model="formData.sdcsR2" style="flex: 1" placeholder="" /></div>
<div class="tdItem">
R:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.sdcsR21"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR22"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR23"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR24"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
<td colspan="2">
<div class="tdItem">L: <el-input v-model="formData.sdcsL2" style="flex: 1" placeholder="" /></div>
<div class="tdItem">L:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.sdcsL21"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL22"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL23"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL24"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="tdItem">R: <el-input v-model="formData.sdcsR3" style="flex: 1" placeholder="" /></div>
<div class="tdItem">
R:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.sdcsR31"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR32"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR33"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsR34"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
<td colspan="2">
<div class="tdItem">L: <el-input v-model="formData.sdcsL3" style="flex: 1" placeholder="" /></div>
<div class="tdItem">L:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.sdcsL31"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL32"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL33"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.sdcsL34"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
</tr>
<tr>
@ -171,10 +527,128 @@
</tr>
<tr>
<td colspan="2">
<div class="tdItem">R: <el-input v-model="formData.dpcsR1" style="flex: 1" placeholder="" /></div>
<div class="tdItem">R:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.dpcsR1"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.dpcsR2"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.dpcsR3"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.dpcsR4"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
<td colspan="2">
<div class="tdItem">L: <el-input v-model="formData.dpcsL1" style="flex: 1" placeholder="" /></div>
<div class="tdItem">L:
<div class="flex a-c j-c" style="flex: 1">
<el-select
v-model="formData.dpcsL1"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.dpcsL2"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.dpcsL3"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>/
<el-select
v-model="formData.dpcsL4"
filterable
allow-create
clearable
placeholder=""
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</div>
</td>
</tr>
</table>
@ -199,13 +673,109 @@ export default {
},
data() {
return {
options1: [
{
label: 3950,
value: 3950
}, {
label: 4000,
value: 4000
}, {
label: 4050,
value: 4050
}, {
label: 4100,
value: 4100
}, {
label: 4150,
value: 4150
}, {
label: 4200,
value: 4200
}, {
label: 4250,
value: 4250
}, {
label: 4300,
value: 4300
}, {
label: 4350,
value: 4350
}, {
label: 4400,
value: 4400
}, {
label: 4450,
value: 4450
}, {
label: 4500,
value: 4500
}, {
label: 4550,
value: 4550
}, {
label: 4600,
value: 4600
}
],
options2: [
{
label: 100,
value: 100
}, {
label: 200,
value: 200
}, {
label: 300,
value: 300
}, {
label: 400,
value: 400
}, {
label: 500,
value: 500
}, {
label: 600,
value: 600
}
],
options3: [
{
label: 10.0,
value: 10.0
}, {
label: 10.2,
value: 10.2
}, {
label: 10.4,
value: 10.4
}, {
label: 10.5,
value: 10.5
}, {
label: 10.6,
value: 10.6
}, {
label: 10.7,
value: 10.7
}, {
label: 10.8,
value: 10.8
}
],
formData: {
butOd: '', // but
butOs: '',
dnygL: '', //
dnygR: '',
dpcsL1: '', //
dpcsL2: '', //
dpcsL3: '', //
dpcsL4: '', //
dpcsR1: '',
dpcsR2: '',
dpcsR3: '',
dpcsR4: '',
hod: '', // h
hos: '', // h
eod: '', // e
@ -225,12 +795,30 @@ export default {
patientId: '', // id
patientPhone: '', // id
patientSex: '', // id
sdcsL1: '', //
sdcsL2: '', //
sdcsL3: '', //
sdcsR1: '', //
sdcsR2: '', //
sdcsR3: '', //
sdcsL11: '', //
sdcsL12: '', //
sdcsL13: '', //
sdcsL14: '', //
sdcsL21: '', //
sdcsL22: '', //
sdcsL23: '', //
sdcsL24: '', //
sdcsL31: '', //
sdcsL32: '', //
sdcsL33: '', //
sdcsL34: '', //
sdcsR11: '', //
sdcsR12: '', //
sdcsR13: '', //
sdcsR14: '', //
sdcsR21: '', //
sdcsR22: '', //
sdcsR23: '', //
sdcsR24: '', //
sdcsR31: '', //
sdcsR32: '', //
sdcsR33: '', //
sdcsR34: '', //
vanOd: '', //
vanOs: '', //
vod: '', // v
@ -317,6 +905,15 @@ export default {
</script>
<style lang="scss" scoped>
.flex{
display: flex;
}
.j-c{
justify-content: center;
}
.a-c{
align-items: center;
}
.first-visit{
height: 100%;
}
@ -388,4 +985,7 @@ input{
margin-right: 16px;
}
}
::v-deep .el-icon-arrow-up{
display: none;
}
</style>

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

@ -83,12 +83,12 @@
<div @click="signClick('optomSign2')">
<span>验配师</span>
<img v-if="!formListValue.optomSign2&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.optomSign2" style="width: 80px;height: 40px;" :src="formListValue.optomSign2">
<img v-if="formListValue.optomSign2" style="width: 160px;height: 80px;" :src="formListValue.optomSign2">
</div>
<div @click="signClick('doctorSign2')">
<span style="margin-left: 16px">医生</span>
<img v-if="!formListValue.doctorSign2&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.doctorSign2" style="width: 80px;height: 40px;" :src="formListValue.doctorSign2">
<img v-if="formListValue.doctorSign2" style="width: 160px;height: 80px;" :src="formListValue.doctorSign2">
</div>
<div style="margin-top: 3px">
<span style="margin-left: 16px">日期</span>
@ -105,12 +105,12 @@
<div @click="signClick('patientSign2')">
<span style="margin-left: 113px">配戴者签字</span>
<img v-if="!formListValue.patientSign2&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.patientSign2" style="width: 80px;height: 40px;" :src="formListValue.patientSign2">
<img v-if="formListValue.patientSign2" style="width: 160px;height: 80px;" :src="formListValue.patientSign2">
</div>
<div @click="signClick('guardianSign2')">
<span>未满18周岁监护人签字</span>
<img v-if="!formListValue.guardianSign2&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.guardianSign2" style="width: 80px;height: 40px;" :src="formListValue.guardianSign2">
<img v-if="formListValue.guardianSign2" style="width: 160px;height: 80px;" :src="formListValue.guardianSign2">
</div>
<div style="margin-top: 3px;margin-left: 145px">
<span style="margin-left: 16px">日期</span>

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

@ -71,12 +71,12 @@
<div @click="signClick('optomSign')">
<span>验配师</span>
<img v-if="!formListValue.optomSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.optomSign" style="width: 80px;height: 40px;" :src="formListValue.optomSign">
<img v-if="formListValue.optomSign" style="width: 160px;height: 80px;" :src="formListValue.optomSign">
</div>
<div @click="signClick('doctorSign')">
<span style="margin-left: 16px">医生</span>
<img v-if="!formListValue.doctorSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.doctorSign" style="width: 80px;height: 40px;" :src="formListValue.doctorSign">
<img v-if="formListValue.doctorSign" style="width: 160px;height: 80px;" :src="formListValue.doctorSign">
</div>
<div style="margin-top: 3px">
<span style="margin-left: 16px">日期</span>
@ -93,12 +93,12 @@
<div @click="signClick('patientSign')">
<span style="margin-left: 113px">配戴者签字</span>
<img v-if="!formListValue.patientSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.patientSign" style="width: 80px;height: 40px;" :src="formListValue.patientSign">
<img v-if="formListValue.patientSign" style="width: 160px;height: 80px;" :src="formListValue.patientSign">
</div>
<div @click="signClick('guardianSign')">
<span>未满18周岁监护人签字</span>
<img v-if="!formListValue.guardianSign&&printHidden" :src="require('@/assets/img/signature.png')" alt="">
<img v-if="formListValue.guardianSign" style="width: 80px;height: 40px;" :src="formListValue.guardianSign">
<img v-if="formListValue.guardianSign" style="width: 160px;height: 80px;" :src="formListValue.guardianSign">
</div>
<div style="margin-top: 3px;margin-left: 145px">
<span style="margin-left: 16px">日期</span>

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

@ -6,7 +6,7 @@
<el-button v-print="'#noticePrint'" size="small">打印</el-button>
</head-template>
<div id="noticePrint" class="notice-content">
<div class="notice-box" v-if="isNew === 3">
<div v-if="isNew === 3" class="notice-box">
<div id="notice-three" class="notice_tip" style="page-break-after:always">
<h3 style="text-align: center;margin-bottom: 32px;">
角膜塑形镜配戴告知书
@ -46,7 +46,7 @@
</p>
<p>
10.验配单位对配戴角膜塑形镜的人员进行试戴评估以便评估配戴者是否适合配戴角膜塑形镜但是鉴于个体条件的差异性使用习惯卫生条件以及其他外部环境的影响上述评估效果仅在试戴时确定配戴者是否适合配戴并非确定配戴以后任何时期是否适合配戴的有效依据因此验配单位无法保证正式配戴过程中不出现排异性不适配或其他不良反应
<p>
</p><p>
11.镜片常规使用寿命为<span style="color: red">1~1.5</span>夜间常规配戴时间<span style="color: red">7-10小时不超过12小时</span>
</p>
<p>
@ -76,24 +76,24 @@
<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">
<img v-else style="width: 160px;height: 80px;" :src="doctorSign">
</div>
<div>
时间: <span v-if="doctorSignDate" style="padding-top: 8px;display: inline-block">{{doctorSignDate ? doctorSignDate.substring(0,16) : ''}}</span>
时间: <span v-if="doctorSignDate" style="padding-top: 8px;display: inline-block">{{ doctorSignDate ? doctorSignDate.substring(0,16) : '' }}</span>
</div>
<div @click="signClick(6)">
<span>配戴者/监护人</span>
<img v-if="wearerOrGuardianFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="wearerOrGuardianSign">
<img v-else style="width: 160px;height: 80px;" :src="wearerOrGuardianSign">
</div>
<div>
时间: <span v-if="doctorSignDate" style="padding-top: 8px;display: inline-block">{{wearerOrGuardianSignDate ? wearerOrGuardianSignDate.substring(0,16) : ''}}</span>
时间: <span v-if="doctorSignDate" style="padding-top: 8px;display: inline-block">{{ wearerOrGuardianSignDate ? wearerOrGuardianSignDate.substring(0,16) : '' }}</span>
</div>
</div>
</div>
</div>
<!-- 最老版本-->
<div class="notice-box" v-if="isNew === 2">
<!-- 最老版本-->
<div v-if="isNew === 2" class="notice-box">
<div id="notice-one" class="notice_tip" style="page-break-after:always">
<h3 style="text-align: center;margin-bottom: 32px;">
宁波市眼科医院角膜塑形术双方责任约定
@ -153,17 +153,17 @@
<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">
<img v-else style="width: 160px;height: 80px;" :src="doctorSign">
</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">
<img v-else style="width: 160px;height: 80px;" :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">
<img v-else style="width: 160px;height: 80px;" :src="guardianSign">
</div>
</div>
</div>
@ -208,13 +208,13 @@
<span style="font-size: 18px;">阅读者</span>
<span>签名</span>
<img v-if="readFlag" :src="require('@/assets/img/signature.png')" alt="">
<img v-else style="width: 80px;height: 40px;" :src="readerSign">
<img v-else style="width: 160px;height: 80px;" :src="readerSign">
</div>
</div>
</div>
</div>
<!-- 第二版本-->
<div class="notice-box" v-if="isNew === 1">
<!-- 第二版本-->
<div v-if="isNew === 1" class="notice-box">
<div id="notice-three" class="notice_tip" style="page-break-after:always">
<h3 style="text-align: center;margin-bottom: 32px;">
角膜塑形镜配戴告知书
@ -254,7 +254,7 @@
</p>
<p>
10.验配单位对配戴角膜塑形镜的人员进行试戴评估以便评估配戴者是否适合配戴角膜塑形镜但是鉴于个体条件的差异性使用习惯卫生条件以及其他外部环境的影响上述评估效果仅在试戴时确定配戴者是否适合配戴并非确定配戴以后任何时期是否适合配戴的有效依据因此验配单位无法保证正式配戴过程中不出现排异性不适配或其他不良反应
<p>
</p><p>
11.镜片常规使用寿命为<span style="color: red">1~1.5</span>夜间常规配戴时间<span style="color: red">7-10小时不超过12小时</span>
</p>
<p>
@ -284,17 +284,17 @@
<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">
<img v-else style="width: 160px;height: 80px;" :src="doctorSign">
</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">
<img v-else style="width: 160px;height: 80px;" :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">
<img v-else style="width: 160px;height: 80px;" :src="guardianSign">
</div>
</div>
</div>
@ -418,7 +418,7 @@ export default {
set(val) {
}
},
}
},
created() {
},
@ -440,7 +440,7 @@ export default {
//
getNoticeName() {
const params = {
patientId: this.patientId,
patientId: this.patientId
}
this.$http.get('/hospital/notice/getNoticeSign', { params: params }).then(({ data: res }) => {
if (res.code !== 0) {

4
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/ok-lens-rgp/removeLens-returnGoods-or-update.vue

@ -43,7 +43,7 @@
</div>
<div class="sign">
<span class="info-left">取镜签字</span>
<img style="width: 80px;height: 40px;" :src="dataForm.signFile">
<img style="width: 160px;height: 80px;" :src="dataForm.signFile">
</div>
</template>
</div>
@ -73,7 +73,7 @@
<span class="info-left">取镜签名</span>
<img
v-if="formListValue.lensSign"
style="width: 80px;height: 40px;"
style="width: 160px;height: 80px;"
:src="formListValue.lensSign"
@click="signClick('lensSign')"
>

4
src/page-subspecialty/views/modules/optometryManagement/seeDoctor/ok-lens/removeLens-returnGoods-or-update.vue

@ -40,7 +40,7 @@
</div>
<div class="sign">
<span class="info-left">取镜签字</span>
<img style="width: 80px;height: 40px;" :src="dataForm.signFile">
<img style="width: 160px;height: 80px;" :src="dataForm.signFile">
</div>
</template>
</div>
@ -71,7 +71,7 @@
<div class="signFile-right" @click="signClick">
<el-button v-if="lensFlag" type="primary" icon="el-icon-edit" size="small">签名</el-button>
<span v-else class="sign-img">
<img style="width: 80px;height: 40px;" :src="lensSign">
<img style="width: 160px;height: 80px;" :src="lensSign">
</span>
<span />
</div>

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

@ -26,16 +26,16 @@
<el-form-item prop="password">
<el-input ref="passWord" v-model="dataForm.password" type="password" placeholder="请输入密码" @keyup.enter.native="dataFormSubmitHandle()" />
</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>
@ -53,6 +53,7 @@ import Cookies from 'js-cookie'
import debounce from 'lodash/debounce'
import { messages } from '@/i18n'
import { getUUID } from '@/utils'
import md5 from 'uuid/dist/esm-browser/md5'
export default {
data() {
return {
@ -82,7 +83,7 @@ export default {
}
},
created() {
// this.getCaptcha()
this.getCaptcha()
},
methods: {
submitNext() {
@ -100,12 +101,15 @@ export default {
if (!valid) {
return false
}
this.$http.post('/login', this.dataForm).then(({ data: res }) => {
const params = {
...this.dataForm
}
params.password = this.$Base64.encode(this.dataForm.password)
this.$http.post('/login', params).then(({ data: res }) => {
if (res.code !== 0) {
this.getCaptcha()
return this.$message.error(res.msg)
}
// Cookies.set('xa-token', res.data.token)
window.sessionStorage.setItem('xa-token', res.data.token)
window.sessionStorage.setItem('qg-userData', JSON.stringify(res.data.currentUser))
this.$router.push({ name: 'outpatientManagement-call' })

Loading…
Cancel
Save