Browse Source

修改

master
刘灿 6 months ago
parent
commit
b4565bc3d9
  1. 4
      .env.development
  2. 2
      README.md
  3. 2
      src/components/H5form/before-operation-question.vue
  4. 2
      src/components/H5form/dzblLookFun.vue
  5. 2
      src/components/H5form/eye-question.vue
  6. 2
      src/components/H5form/fzblLookPdfFun.vue
  7. 733
      src/components/H5form/historyData.vue
  8. 2
      src/components/H5form/lhopera-consent-book.vue
  9. 2
      src/components/H5form/notice-book.vue
  10. 2
      src/components/H5form/operaCheckLookPdfFun.vue
  11. 4
      src/components/H5form/operation-nursing-record.vue
  12. 32
      src/components/H5form/operation-plan.vue
  13. 2
      src/components/H5form/operation-record copy.vue
  14. 30
      src/components/H5form/operation-record.vue
  15. 2
      src/components/H5form/payDemandNote.vue
  16. 67
      src/components/H5form/qg-dzbl.vue
  17. 410
      src/components/H5form/safety-checklist.vue
  18. 4
      src/components/H5form/shouquanBook.vue
  19. 4
      src/i18n/zh-CN.js
  20. 4
      src/i18n/zh-TW.js
  21. 14
      src/mixins/operationPlan.js
  22. 2
      src/mixins/publicFile.js
  23. 158
      src/mixins/qgdzbl.js
  24. 2
      src/page-subspecialty/views/main-navbar.vue
  25. 8
      src/page-subspecialty/views/main-sidebar.vue
  26. 5
      src/page-subspecialty/views/modules/outpatientManagement/index.vue
  27. 4
      src/page-subspecialty/views/modules/outpatientManagement/patient-add-or-update.vue
  28. 5
      src/page-subspecialty/views/modules/patientManagement/index.vue
  29. 10
      src/page-subspecialty/views/modules/patientManagement/patient-add-or-update.vue
  30. 4
      src/page-subspecialty/views/modules/questionManagement/patient-add-or-update.vue
  31. 286
      src/page-subspecialty/views/modules/statisticalManagement/index.vue
  32. 5
      src/page-subspecialty/views/modules/statisticalManagement/operation-volume-echarts.vue
  33. 14
      src/page-subspecialty/views/modules/surgicalManagement/operationList/index.vue
  34. 101
      src/page-subspecialty/views/modules/surgicalManagement/operationOrder/logDIalog.vue
  35. 180
      src/page-subspecialty/views/modules/surgicalManagement/operationOrder/scheduled-tab.vue
  36. 2
      src/page-subspecialty/views/modules/systemManagement/team/index.vue
  37. 6
      src/page-subspecialty/views/modules/systemManagement/team/team-add-or-update.vue
  38. 2
      src/page-subspecialty/views/pages/login.vue
  39. 28
      src/page-subspecialty/views/pages/transfer.vue
  40. BIN
      static/word/hzqg.docx
  41. BIN
      static/word/operation-manual-QGY.docx
  42. BIN
      static/word/operation-manual-YSG.docx
  43. BIN
      屈光操作手册.docx
  44. BIN
      眼科专病平台需求.docx

4
.env.development

@ -4,6 +4,8 @@ NODE_ENV=development
# 公司内网环境
# 孟工本地:http://192.168.0.121:8028
VUE_APP_LOGIN_URL='http://192.168.0.35:8001'
# VUE_APP_LOGIN_URL='http://192.168.0.35:8001'
# VUE_APP_LOGIN_URL='http://192.168.0.35:8001'
VUE_APP_LOGIN_URL='http://z1.huimucloud.com:8135'
# 温州的
# VUE_APP_LOGIN_URL='http://47.110.224.240:8022'

2
README.md

@ -1,3 +1,3 @@
# quguang_front_wzysg
杭州院--温医屈光前端代码
杭州院--温医屈光前端代码

2
src/components/H5form/before-operation-question.vue

@ -11,7 +11,7 @@
style="page-break-after:always;height:100%;margin:0 auto;width:900px"
>
<p v-if="currentUrl.includes('192')" style="color:#000;font-size:34px;margin:0 0 10px 0;text-align:center;">
温州医科大学附属眼视光医院</p>
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000;font-size:34px;margin:0 0 30px 0;text-align:center;">
屈光手术心理评估表</p>
<div v-if="pageTitle!=='问卷检索'" class="question-base">

2
src/components/H5form/dzblLookFun.vue

@ -9,7 +9,7 @@
text-align: center;
font-family:MicrosoftYaHeiBold;
">
温州医科大学附属眼视光医院
温州医科大学附属眼视光医院杭州院区
</div>
<div style="
font-size: 30px;

2
src/components/H5form/eye-question.vue

@ -6,7 +6,7 @@
<div id="printH5" class="eyeQuestionPrint form-setclass"
style="page-break-after:always;height:100%;margin:0 auto;width:900px">
<p v-if="currentUrl.includes('192')" style="color:#000;font-size:34px;margin:0 0 10px 0;text-align:center;">
温州医科大学附属眼视光医院</p>
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000;font-size:34px;margin:0 0 20px 0;text-align:center;">
眼科病史问卷调查</p>
<div v-if="pageTitle!=='问卷检索'" class="question-base">

2
src/components/H5form/fzblLookPdfFun.vue

@ -9,7 +9,7 @@
font-weight: 700;
text-align: center;
font-family:MicrosoftYaHeiBold;
">温州医科大学附属眼视光医院</div>
">温州医科大学附属眼视光医院杭州院区</div>
<div style="
font-size: 32px;
font-weight: 700;

733
src/components/H5form/historyData.vue

File diff suppressed because it is too large

2
src/components/H5form/lhopera-consent-book.vue

@ -20,7 +20,7 @@
margin: 0 0 0 0;
text-align: center;
">
温州医科大学附属眼视光医院杭州
温州医科大学附属眼视光医院杭州院
</p>
<p style="
color: #000000;

2
src/components/H5form/notice-book.vue

@ -28,7 +28,7 @@
text-align: center;
"
>
温州医科大学附属眼视光医院
温州医科大学附属眼视光医院杭州院区
</p>
<p
style="

2
src/components/H5form/operaCheckLookPdfFun.vue

@ -9,7 +9,7 @@
font-weight: 700;
text-align: center;
font-family:MicrosoftYaHeiBold;
">温州医科大学附属眼视光医院</div>
">温州医科大学附属眼视光医院杭州院区</div>
<div style="
font-size: 30px;
font-weight: 700;

4
src/components/H5form/operation-nursing-record.vue

@ -7,7 +7,7 @@
positionName.join().includes('护士'))
? true
: false
" :bm-printer-show="pageTitle === '档案' ? true : false" />
" :bm-printer-show="pageTitle === '档案' ? true : false" :yrmbButtonShow="pageTitle === '档案' ? true : false" />
<div id="printH5" class="operation-nursing-record pdf-scale-box form-setclass" style="
margin: 0 auto;
width: 900px;
@ -22,7 +22,7 @@
margin: 0 0 0 0;
text-align: center;
">
温州医科大学附属眼视光医院
温州医科大学附属眼视光医院杭州院区
</p>
<p style="
color: #000000;

32
src/components/H5form/operation-plan.vue

@ -122,9 +122,6 @@
<div v-if="scope.row.operationList.length>0" class="center">
手术方式
</div>
<div v-if="scope.row.nomo.length>0" class="center">
nomo
</div>
<div v-if="scope.row.QT.length>0" class="center">
其它
</div>
@ -142,7 +139,7 @@
<div v-if="scope.row.YGHC.length>0" class="width-60 center flex-1">
<div>
<el-input v-model="formListValue.zjygXtOd1" placeholder="" class="margin-right"
@blur="jusuanJzds('od','zjygXtOd1')" /> /
@blur="yghcTb('zjygXtOd1','yqjzdsOd1','Fixed2')" /> /
<el-input v-model="formListValue.zjygXtOd2" placeholder="" class="margin-right"
@blur="yghcTb('zjygXtOd2','yqjzdsOd2','Fixed2')" /> X
<el-input v-model="formListValue.zjygXtOd3" placeholder="" class="margin-right"
@ -167,7 +164,8 @@
</div>
<!-- 预留屈光度 -->
<div v-if="scope.row.YLQGD.length>0" class="width-120 center">
<el-input v-model="formListValue.ylqgdOd" placeholder="" @blur="jusuanJzds('od','ylqgdOd')" />
<el-input v-model="formListValue.ylqgdOd" placeholder=""/> /
<el-input v-model="formListValue.ylsgdOd" placeholder=""/>
</div>
<!-- 预期矫正度数 -->
<div v-if="scope.row.YQJZDS.length>0" class="width-80 center">
@ -200,11 +198,6 @@
/>
</el-select> -->
</div>
<!-- nomo -->
<div v-if="scope.row.nomo.length>0" class="center width-120">
<el-input v-model="formListValue.nomoOd1" placeholder=""/> /
<el-input v-model="formListValue.nomoOd2" placeholder=""/>
</div>
<!-- 其它 -->
<div v-if="scope.row.QT.length>0" class="width-120 center">
<el-checkbox-group v-model="formListValue.qtOd">
@ -224,7 +217,7 @@
<div v-if="scope.row.YGHC.length>0" class="width-60 center flex-1">
<div>
<el-input v-model="formListValue.zjygXtOs1" placeholder="" class="margin-right"
@blur="jusuanJzds('os','zjygXtOs1')" /> /
@blur="yghcTb('zjygXtOs1','yqjzdsOs1','Fixed2')" /> /
<el-input v-model="formListValue.zjygXtOs2" placeholder="" class="margin-right"
@blur="yghcTb('zjygXtOs2','yqjzdsOs2','Fixed2')" /> X
<el-input v-model="formListValue.zjygXtOs3" placeholder="" class="margin-right"
@ -247,9 +240,10 @@
</div>
</el-tooltip>
</div>
<!-- 预留屈光度 -->
<!-- 预留屈光度 预留散光度-->
<div v-if="scope.row.YLQGD.length>0" class="width-120 center">
<el-input v-model="formListValue.ylqgdOs" placeholder="" @blur="jusuanJzds('os','ylqgdOs')" />
<el-input v-model="formListValue.ylqgdOs" placeholder="" /> /
<el-input v-model="formListValue.ylsgdOs" placeholder=""/>
</div>
<!-- 预期矫正度数 -->
<div v-if="scope.row.YQJZDS.length>0" class="width-80 center">
@ -282,11 +276,6 @@
/>
</el-select> -->
</div>
<!-- nomo -->
<div v-if="scope.row.nomo.length>0" class="center width-120">
<el-input v-model="formListValue.nomoOs1" placeholder=""/> /
<el-input v-model="formListValue.nomoOs2" placeholder=""/>
</div>
<!-- 其它 -->
<div v-if="scope.row.QT.length>0" class="width-120 center">
<el-checkbox-group v-model="formListValue.qtOs">
@ -492,6 +481,9 @@ export default {
//
ylqgdOd: '0.00',
ylqgdOs: '0.00',
//
ylsgdOd: '0.00',
ylsgdOs: '0.00',
//
yqjzdsOd1: '',
yqjzdsOd2: '',
@ -504,10 +496,6 @@ export default {
//
ssfsOd: '',
ssfsOs: '',
nomoOd1:'',
nomoOd2:'',
nomoOs1:'',
nomoOs2:'',
//
qtOd: [],
qtOs: [],

2
src/components/H5form/operation-record copy.vue

@ -134,7 +134,7 @@
text-align: center;
"
>
温州医科大学附属眼视光医院杭州
温州医科大学附属眼视光医院杭州院
</p>
<p
v-show="pageTitle !== '表单设置'"

30
src/components/H5form/operation-record.vue

@ -1,5 +1,5 @@
<template>
<div class="operation-record-father">
<div class="operation-record-father form-setclass">
<h5formButton ref="h5formButtonRef" :archive-case-c-r-f-item="archiveCaseCRFItem"
:get-save-eidt-title="saveEidtTitle" :get-ssfs-flag="ssfsFlag" :get-mrz-title="mrzTitle" :page-title="pageTitle"
:edit-save-button-show="
@ -108,7 +108,7 @@
pageTitle === '表单设置' ? 'formset' : 'printSet operation-record'
" -->
<div style="display: flex;justify-content: center">
<div id="printH5" class="operation-record" style="font-family:msyh;background: #fff;transform-origin: left top;"
<div id="printH5" class="form-setclass formTablePrint operation-record" style="font-family:msyh;background: #fff;transform-origin: left top;"
:style="{width:pageTitle !== '表单设置' ? '900px' : '100%'}">
<!-- v-if="currentUrl.includes('192')" -->
<p v-show="pageTitle !== '表单设置'" style="
@ -117,7 +117,7 @@
margin: 0 0 0 0;
text-align: center;
">
温州医科大学附属眼视光医院杭州
温州医科大学附属眼视光医院杭州院
</p>
<p v-show="pageTitle !== '表单设置'" style="
color: #000000;
@ -176,6 +176,7 @@
<!-- 右眼 -->
<div style="flex:50%;">
<div @click="headerClick('右眼')"
v-if="pageTitle !== '表单设置'"
style="font-size:18px;font-weight:700;background:#ced4d9;height:40px;line-height:40px;text-align: center;cursor: pointer;">
右眼OD</div>
<!-- 中间内容 -->
@ -200,6 +201,11 @@
'yqjzdsOd1')" />
</el-select>
<!-- <span>手术方式{{ formListValue.ssfsOd ? formListValue.ssfsOd : '-' }}</span> -->
</div>
<div class="margin-bottom-8 width-160 left width-120">
<span>nomo</span>
<el-input v-model="formListValue.nomoOd1" placeholder=""/> /
<el-input v-model="formListValue.nomoOd2" placeholder=""/>
</div>
<div v-show="operaOdType === 8" class="margin-bottom-8 width-160 left">
<span>手术类型</span>
@ -566,7 +572,7 @@
</div>
</div>
<!-- 左眼 -->
<div style="flex:50%;margin-left:10px;">
<div style="flex:50%;margin-left:10px;" v-if="pageTitle !== '表单设置'">
<div @click="headerClick('左眼')"
style="font-size:18px;font-weight:700;background:#ced4d9;height:40px;line-height:40px;text-align: center;cursor: pointer;">
左眼OS</div>
@ -593,6 +599,11 @@
" />
</el-select>
<!-- <span>手术方式{{ formListValue.ssfsOs ? formListValue.ssfsOs : '-' }}</span> -->
</div>
<div class="margin-bottom-8 width-160 left width-120">
<span>nomo</span>
<el-input v-model="formListValue.nomoOs1" placeholder=""/> /
<el-input v-model="formListValue.nomoOs2" placeholder=""/>
</div>
<div v-show="operaOsType === 8" class="width-160" style="margin-bottom:8px;text-align: left;">
<span>手术类型</span>
@ -982,7 +993,7 @@
<!-- 备注 -->
<div class="textarea-610"
style="text-align: left;display: flex;align-items: center;justify-content: flex-start;"
v-show="pageTitle !== '表单设置'">
v-if="pageTitle !== '表单设置'">
<span style="font-weight:700;font-family:MicrosoftYaHeiBold;">备注</span>
<!-- <el-input
v-model="formListValue.bz"
@ -1037,7 +1048,7 @@
<!-- 签字 -->
<div
style="padding:10px 0;text-align: left;display: flex;align-items: center;justify-content: space-between;width: 880px;"
v-show="pageTitle !== '表单设置'">
v-if="pageTitle !== '表单设置'">
<div style="width:350px">
<span style="display: flex;align-items: center;justify-content: space-between;">
<span>
@ -1280,6 +1291,11 @@ export default {
//
ssfsOd: '',
ssfsOs: '',
// nomo
nomoOd1:'',
nomoOd2:'',
nomoOs1:'',
nomoOs2:'',
//
sslxOd: '',
sslxOs: '',
@ -1460,12 +1476,12 @@ export default {
},
methods: {
init() {
this.getSendCaStatus()
if (this.pageTitle === '表单设置') {
this.setTableData()
this.formListValue = this.formSetValue
} else {
this.$emit('load')
this.getSendCaStatus()
this.getOperaList()
}
if (this.pageTitle === '手术列表') {

2
src/components/H5form/payDemandNote.vue

@ -9,7 +9,7 @@
<div ref="htmlContent">
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;text-align:center;">
温州医科大学附属眼视光医院杭州</p>
温州医科大学附属眼视光医院杭州院</p>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
特需医疗服务患者知情同意书
</p>

67
src/components/H5form/qg-dzbl.vue

@ -147,6 +147,10 @@
<div style="color:#1e79ff;font-size:14px;">(
{{ formListValue.jmdxtDeviceName ? formListValue.jmdxtDeviceName : '无设备信息' }} )</div>
</div>
<div v-if="scope.row.offsetXY.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getQtList')">
offset X/Y
</div>
<div v-if="scope.row.yanya.length>0" class="center" :class="saveEidtTitle==='保存' ? 'cursor':''"
@dblclick="saveEidtTitle==='保存' && historyClick('getYanyaList')">
眼压
@ -853,6 +857,13 @@
<el-input v-model="formListValue.jmdxtAcdOd" placeholder="" />mm
</div>
</div>
<!-- offsetXY -->
<div v-if="scope.row.offsetXY.length>0" class="center width-100">
X
<el-input v-model="formListValue.offsetXOd" placeholder="" />
Y
<el-input v-model="formListValue.offsetYOd" placeholder="" />
</div>
<!--角膜直径-角膜厚度-->
<div v-if="scope.row.jmzjJmhd.length>0" class="width-100 center">
<el-input v-model="formListValue.jmzjOd" placeholder="" /> mm /
@ -868,18 +879,10 @@
<el-input v-model="formListValue.atzjOd" placeholder="" /> mm
</div>
<!-- offset -->
<div v-if="scope.row.offset.length>0" class="left">
<div class="width-100">
X
<el-input v-model="formListValue.offsetXOd" placeholder="" />
Y
<el-input v-model="formListValue.offsetYOd" placeholder="" />
</div>
<div class="width-100">
R
<div v-if="scope.row.offset.length>0" class="center width-100">
R
<el-input v-model="formListValue.offsetROd1" placeholder="" /> @
<el-input v-model="formListValue.offsetROd2" placeholder="" />
</div>
</div>
<!-- corvis -->
<div v-if="scope.row.corvis.length>0" class="left width-80">
@ -1066,6 +1069,11 @@
<el-option v-for="(item,index) in shiwangmoList" :key="index" :label="item" :value="item" />
</el-select>
</div>
<div class="textarea-270 left">
<p>其它</p>
<el-input v-model="formListValue.stydjcQtOd" type="textarea" :autosize="{ minRows: 1}"
placeholder="" @input="inputChange('stydjcSign','stydjcDate')" />
</div>
</div>
<div class="lxdjc-right margin-top-10 margin-bottom-10">
<img v-if="saveEidtTitle==='编辑'" :src="formListValue.stydjcImgOd" alt="" width="140px">
@ -1298,6 +1306,13 @@
<el-input v-model="formListValue.jmdxtAcdOs" placeholder="" />mm
</div>
</div>
<!-- offsetXY -->
<div v-if="scope.row.offsetXY.length>0" class="center width-100">
X
<el-input v-model="formListValue.offsetXOs" placeholder="" />
Y
<el-input v-model="formListValue.offsetYOs" placeholder="" />
</div>
<!--角膜直径-角膜厚度-->
<div v-if="scope.row.jmzjJmhd.length>0" class="width-100 center">
<el-input v-model="formListValue.jmzjOs" placeholder="" /> mm /
@ -1313,18 +1328,10 @@
<el-input v-model="formListValue.atzjOs" placeholder="" /> mm
</div>
<!-- offset -->
<div v-if="scope.row.offset.length>0" class="left">
<div class="width-100">
X
<el-input v-model="formListValue.offsetXOs" placeholder="" />
Y
<el-input v-model="formListValue.offsetYOs" placeholder="" />
</div>
<div class="width-100">
R
<el-input v-model="formListValue.offsetROs1" placeholder="" /> @
<el-input v-model="formListValue.offsetROs2" placeholder="" />
</div>
<div v-if="scope.row.offset.length>0" class="center width-100">
R
<el-input v-model="formListValue.offsetROs1" placeholder="" /> @
<el-input v-model="formListValue.offsetROs2" placeholder="" />
</div>
<!-- corvis -->
<div v-if="scope.row.corvis.length>0" class="left width-80">
@ -1511,6 +1518,11 @@
<el-option v-for="(item,index) in shiwangmoList" :key="index" :label="item" :value="item" />
</el-select>
</div>
<div class="textarea-270 left">
<p>其它</p>
<el-input v-model="formListValue.stydjcQtOs" type="textarea" :autosize="{ minRows: 1}"
placeholder="" @input="inputChange('stydjcSign','stydjcDate')" />
</div>
</div>
<div class="lxdjc-right margin-top-10 margin-bottom-10">
<img v-if="saveEidtTitle==='编辑'" :src="formListValue.stydjcImgOs" alt="" width="140px">
@ -2305,6 +2317,9 @@ export default {
jmdxtTime: '',
jmdxtDate: '',
jmdxtDeviceName: '',
// offset
offsetXOd: '',
offsetYOd: '',
//
yyOd1: '',
yyOd2: '',
@ -2330,8 +2345,6 @@ export default {
atzjTime: '',
atzjDate: '',
// offset
offsetXOd: '',
offsetYOd: '',
offsetROd1: '',
offsetROd2: '',
offsetXOs: '',
@ -2409,12 +2422,14 @@ export default {
stydjcHuangbOd: '',
stydjcXuegOd: '',
stydjcShiwmOd: '',
stydjcQtOd:'',
stydjcCdOd: '',
stydjcImgOd: '',
stydjcShipOs: '',
stydjcHuangbOs: '',
stydjcXuegOs: '',
stydjcShiwmOs: '',
stydjcQtOs:'',
stydjcCdOs: '',
stydjcImgOs: '',
stydjcSign: '',
@ -2988,12 +3003,12 @@ export default {
}
}
//
if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'yanya' || row.name === 'jmzjJmhd' || row.name === 'atzj' || row.name === 'offset' || row.name === 'corvis' || row.name === 'np' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'ORA' || row.name === 'yz' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj' || row.name === 'yyssfs') && columnIndex === 0) {
if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'offsetXY' || row.name === 'yanya' || row.name === 'jmzjJmhd' || row.name === 'atzj' || row.name === 'offset' || row.name === 'corvis' || row.name === 'np' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'ORA' || row.name === 'yz' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj' || row.name === 'yyssfs') && columnIndex === 0) {
return {
rowspan: 1,
colspan: 2
}
} else if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'yanya' || row.name === 'jmzjJmhd' || row.name === 'atzj' || row.name === 'offset' || row.name === 'corvis' || row.name === 'np' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'ORA' || row.name === 'yz' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj' || row.name === 'yyssfs') && (columnIndex > 0 && columnIndex < 2)) {
} else if ((row.name === 'jcxm' || row.name === 'xjds' || row.name === 'Amp' || row.name === 'jmdxt' || row.name === 'offsetXY' || row.name === 'yanya' || row.name === 'jmzjJmhd' || row.name === 'atzj' || row.name === 'offset' || row.name === 'corvis' || row.name === 'np' || row.name === 'npxbmd' || row.name === 'octspZbjmhd' || row.name === 'ORA' || row.name === 'yz' || row.name === 'OCT' || row.name === 'tsjc' || row.name === 'TBUT' || row.name === 'LXDJC' || row.name === 'stydjc' || row.name === 'other' || row.name === 'zhenduan' || row.name === 'ldcx' || row.name === 'clyj' || row.name === 'yyssfs') && (columnIndex > 0 && columnIndex < 2)) {
// 0
return {
rowspan: 0,

410
src/components/H5form/safety-checklist.vue

@ -1,20 +1,14 @@
<template>
<div class="safety-checklist-father">
<h5formButton
ref="h5formButtonRef"
:archive-case-c-r-f-item="archiveCaseCRFItem"
<h5formButton ref="h5formButtonRef" :archive-case-c-r-f-item="archiveCaseCRFItem"
:get-save-eidt-title="saveEidtTitle"
:edit-save-button-show="pageTitle === '档案' && (positionName.join().includes('医生') || positionName.join().includes('护士')) ? true :false"
:bm-printer-show="pageTitle === '档案' ? true :false"
/>
:bm-printer-show="pageTitle === '档案' ? true :false" :yrmbButtonShow="pageTitle === '档案' ? true : false" />
<el-button type="primary" icon="el-icon-caret-bottom" circle class="scrollBottom" @click="scrollClick" />
<div
id="printH5"
class="safety-checklist formTablePrint form-setclass printSet"
>
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;margin:0 0 20px 0;text-align:center;">
温州医科大学附属眼视光医院杭州分院</p>
<div id="printH5" class="safety-checklist formTablePrint form-setclass printSet">
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;margin:0 0 20px 0;text-align:center;">
温州医科大学附属眼视光医院杭州院区</p>
<p style="color:#000000;font-size:32px;margin-bottom:30px;text-align:center;">
屈光手术安全核查表</p>
<el-form ref="form" :model="formListValue" :disabled="saveEidtTitle==='编辑' ? true : false">
@ -38,13 +32,8 @@
</span>
<span class="width-100">
<span>出生日期</span>
<el-date-picker
v-model="formListValue.patientBirthday"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
/>
<el-date-picker v-model="formListValue.patientBirthday" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" />
</span>
</div>
<div class="patientInfo-two">
@ -54,13 +43,8 @@
</span>
<span style="padding-right:10px;">
<span>手术日期</span>
<el-date-picker
v-model="formListValue.operaDate"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
/>
<el-date-picker v-model="formListValue.operaDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" />
</span>
<span style="padding-right:10px;" class="width-220">
<span>麻醉方式</span>
@ -74,47 +58,27 @@
<div class="width-660 left select-width-auto input_inner-left">
<div v-if="formListValue.nsOuOperaName" class="flex-2">
<span>OU</span>
<el-select
v-model="formListValue.nsOuOperaName"
<el-select v-model="formListValue.nsOuOperaName"
:disabled="formListValue.nsOdOperaName.length>0 || formListValue.nsOsOperaName.length>0"
placeholder="请选择"
>
<el-option
v-for="(item,index) in operaList"
:key="index"
:label="item.bieMing"
:value="item.bieMing"
/>
placeholder="请选择">
<el-option v-for="(item,index) in operaList" :key="index" :label="item.bieMing"
:value="item.bieMing" />
</el-select>
</div>
<div v-if="formListValue.nsOdOperaName" class="flex-2">
<span>OD</span>
<el-select
v-model="formListValue.nsOdOperaName"
:disabled="formListValue.nsOuOperaName.length>0"
placeholder="请选择"
>
<el-option
v-for="(item,index) in operaList"
:key="index"
:label="item.bieMing"
:value="item.bieMing"
/>
<el-select v-model="formListValue.nsOdOperaName" :disabled="formListValue.nsOuOperaName.length>0"
placeholder="请选择">
<el-option v-for="(item,index) in operaList" :key="index" :label="item.bieMing"
:value="item.bieMing" />
</el-select>
</div>
<div v-if="formListValue.nsOsOperaName" class="flex-2">
<span>OS</span>
<el-select
v-model="formListValue.nsOsOperaName"
:disabled="formListValue.nsOuOperaName.length>0"
placeholder="请选择"
>
<el-option
v-for="(item,index) in operaList"
:key="index"
:label="item.bieMing"
:value="item.bieMing"
/>
<el-select v-model="formListValue.nsOsOperaName" :disabled="formListValue.nsOuOperaName.length>0"
placeholder="请选择">
<el-option v-for="(item,index) in operaList" :key="index" :label="item.bieMing"
:value="item.bieMing" />
</el-select>
</div>
</div>
@ -130,61 +94,66 @@
<div class="nameAgeSure form-item ">
<div class="text left margin-bottom-12">患者姓名性别年龄PID等正确:</div>
<el-radio-group v-model="formListValue.beforeXm">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="surgicalMethod form-item flex">
<div class="text left">手术方式确认:</div>
<el-radio-group v-model="formListValue.beforeSsfs">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="positionBS form-item flex">
<div class="text left">手术部位与标识正确:</div>
<el-radio-group v-model="formListValue.beforeSsbwBs">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="informedConsent form-item flex">
<div class="text left">手术知情同意:</div>
<el-radio-group v-model="formListValue.beforeSszqty">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="skinComplete form-item flex">
<div class="text left">皮肤是否完整:</div>
<el-radio-group v-model="formListValue.beforePfsfwc">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="SySkinReadySure form-item flex">
<div class="text left">术野皮肤准备正确:</div>
<el-radio-group v-model="formListValue.beforeSypfzb">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="patientAllergy form-item">
<div class="flex">
<div class="text left">患者是否有过敏史:</div>
<el-radio-group v-model="formListValue.beforeSfgm">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div v-if="formListValue.beforeSfgm==='是'">
<el-checkbox-group v-model="formListValue.beforeSfgmCheck" class="left">
<el-checkbox v-for="(item,index) in gmsList" :key="index" :label="item.name" />
</el-checkbox-group>
<el-input
v-model="formListValue.beforeSfgmInput"
placeholder="请输入内容"
class="margin-right left inlineBlock"
/>
<el-input v-model="formListValue.beforeSfgmInput" placeholder="请输入内容"
class="margin-right left inlineBlock" />
</div>
</div>
<div class="Zlbdj form-item flex">
<div class="text left">治疗绷带镜确认:</div>
<el-radio-group v-model="formListValue.beforeZlbdj">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="orderOther form-item">
@ -195,12 +164,8 @@
</el-radio>
</el-radio-group>
</div>
<el-input
v-if="formListValue.beforeQtOrder==='是'"
v-model="formListValue.beforeQtInput"
placeholder="请输入内容"
class="margin-right left inlineBlock"
/>
<el-input v-if="formListValue.beforeQtOrder===''" v-model="formListValue.beforeQtInput"
placeholder="请输入内容" class="margin-right left inlineBlock" />
</div>
</div>
<!-- 签字行 -->
@ -208,85 +173,49 @@
<div class="operaBeforeDoctorSign flex margin-bottom-16">
<div class="text left">手术医师签字</div>
<span>
<span
v-if="!formListValue.beforeYsSign && saveEidtTitle==='保存'"
class="sign"
@click="getZdDoctorSign('beforeYsSign','','beforeYsCode','beforeYsName')"
>获取签字</span>
<span v-if="!formListValue.beforeYsSign && saveEidtTitle==='保存'" class="sign"
@click="getZdDoctorSign('beforeYsSign','','beforeYsCode','beforeYsName')">获取签字</span>
<span v-if="formListValue.beforeYsSign">
<img
:src="formListValue.beforeYsSign"
alt=""
width="90px"
@click="getZdDoctorSign('beforeYsSign','','beforeYsCode','beforeYsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.beforeYsSign" alt="" width="90px"
@click="getZdDoctorSign('beforeYsSign','','beforeYsCode','beforeYsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('beforeYsSign','','beforeYsCode','beforeYsName')"
/>
@click="imageRemoveClick('beforeYsSign','','beforeYsCode','beforeYsName')" />
</span>
</span>
</div>
<div class="zhuShouBeforeSign flex margin-bottom-16">
<div class="text left">技师签字</div>
<span>
<span
v-if="!formListValue.beforeJsSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
>获取签字</span>
<span v-if="!formListValue.beforeJsSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')">获取签字</span>
<span v-if="formListValue.beforeJsSign">
<img
:src="formListValue.beforeJsSign"
alt=""
width="90px"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.beforeJsSign" alt="" width="90px"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
/>
@click="imageRemoveClick1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')" />
</span>
</span>
</div>
<div class="operaBeforeNurseSign flex margin-bottom-16">
<div class="text left">手术室护士签字</div>
<span>
<span
v-if="!formListValue.beforeHsSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign('beforeHsSign','','beforeHsCode','beforeHsName')"
>获取签字</span>
<span v-if="!formListValue.beforeHsSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign('beforeHsSign','','beforeHsCode','beforeHsName')">获取签字</span>
<span v-if="formListValue.beforeHsSign">
<img
:src="formListValue.beforeHsSign"
alt=""
width="90px"
@click="getSystomSign('beforeHsSign','','beforeHsCode','beforeHsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.beforeHsSign" alt="" width="90px"
@click="getSystomSign('beforeHsSign','','beforeHsCode','beforeHsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('beforeHsSign','','beforeHsCode','beforeHsName')"
/>
@click="imageRemoveClick('beforeHsSign','','beforeHsCode','beforeHsName')" />
</span>
</span>
</div>
<div class="operaBeforeNurseSign flex width-inner-190 center">
<div class="text left">时间</div>
<el-date-picker
v-model="formListValue.beforeTime"
class="margin-right-6"
type="datetime"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder=""
/>
<el-date-picker v-model="formListValue.beforeTime" class="margin-right-6" type="datetime"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="" />
</div>
</div>
</template>
@ -298,32 +227,37 @@
<div class="nameAgeSure form-item margin-bottom-12">
<div class="text left margin-bottom-12">患者姓名性别年龄PID等正确:</div>
<el-radio-group v-model="formListValue.centerXm">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="surgicalMethod form-item flex">
<div class="text left">手术方式确认:</div>
<el-radio-group v-model="formListValue.centerSsfs">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="positionBS form-item flex">
<div class="text left">手术部位与标识正确:</div>
<el-radio-group v-model="formListValue.centerSsbwBs">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="Zlbdj form-item flex">
<div class="text left">治疗绷带镜确认:</div>
<el-radio-group v-model="formListValue.centerZlbdj">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="doctor form-item">
<div class="text left fontWeight margin-bottom-16">手术医师陈述:</div>
<div class="text left">是否需要相关检查资料 (包括Pamtacan/OCT等检查)</div>
<el-radio-group v-model="formListValue.centerYscsOrder" class="margin-bottom-12">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
<el-checkbox-group v-model="formListValue.centerYscsCheck" class="left">
<el-checkbox v-for="(item,index) in checkList" :key="index" :label="item.name" />
@ -353,12 +287,8 @@
</el-radio>
</el-radio-group>
</div>
<el-input
v-if="formListValue.centerHscsQtOrder==='是'"
v-model="formListValue.centerHscsQtInput"
placeholder="请输入内容"
class="margin-right left inlineBlock"
/>
<el-input v-if="formListValue.centerHscsQtOrder===''" v-model="formListValue.centerHscsQtInput"
placeholder="请输入内容" class="margin-right left inlineBlock" />
</div>
</div>
</div>
@ -367,85 +297,49 @@
<div class="operaBeforeDoctorSign flex margin-bottom-16">
<div class="text left">手术医师签字</div>
<span>
<span
v-if="!formListValue.centerYsSign && saveEidtTitle==='保存'"
class="sign"
@click="getZdDoctorSign('centerYsSign','','centerYsCode','centerYsName')"
>获取签字</span>
<span v-if="!formListValue.centerYsSign && saveEidtTitle==='保存'" class="sign"
@click="getZdDoctorSign('centerYsSign','','centerYsCode','centerYsName')">获取签字</span>
<span v-if="formListValue.centerYsSign">
<img
:src="formListValue.centerYsSign"
alt=""
width="90px"
@click="getZdDoctorSign('centerYsSign','','centerYsCode','centerYsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.centerYsSign" alt="" width="90px"
@click="getZdDoctorSign('centerYsSign','','centerYsCode','centerYsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('centerYsSign','','centerYsCode','centerYsName')"
/>
@click="imageRemoveClick('centerYsSign','','centerYsCode','centerYsName')" />
</span>
</span>
</div>
<div class="zhuShouBeforeSign flex margin-bottom-16">
<div class="text left">技师签字</div>
<span>
<span
v-if="!formListValue.centerJsSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
>获取签字</span>
<span v-if="!formListValue.centerJsSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')">获取签字</span>
<span v-if="formListValue.centerJsSign">
<img
:src="formListValue.centerJsSign"
alt=""
width="90px"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.centerJsSign" alt="" width="90px"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
/>
@click="imageRemoveClick1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')" />
</span>
</span>
</div>
<div class="operaBeforeNurseSign flex margin-bottom-16">
<div class="text left ">手术室护士签字</div>
<span>
<span
v-if="!formListValue.centerHsSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign('centerHsSign','','centerHsCode','centerHsName')"
>获取签字</span>
<span v-if="!formListValue.centerHsSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign('centerHsSign','','centerHsCode','centerHsName')">获取签字</span>
<span v-if="formListValue.centerHsSign">
<img
:src="formListValue.centerHsSign"
alt=""
width="90px"
@click="getSystomSign('centerHsSign','','centerHsCode','centerHsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.centerHsSign" alt="" width="90px"
@click="getSystomSign('centerHsSign','','centerHsCode','centerHsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('centerHsSign','','centerHsCode','centerHsName')"
/>
@click="imageRemoveClick('centerHsSign','','centerHsCode','centerHsName')" />
</span>
</span>
</div>
<div class="operaBeforeNurseSign flex width-inner-190 center">
<div class="text left">时间</div>
<el-date-picker
v-model="formListValue.centerTime"
class="margin-right-6"
type="datetime"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder=""
/>
<el-date-picker v-model="formListValue.centerTime" class="margin-right-6" type="datetime"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="" />
</div>
</div>
</template>
@ -457,37 +351,43 @@
<div class="nameAgeSure form-item margin-bottom-12">
<div class="text left margin-bottom-12">患者姓名性别年龄PID等正确:</div>
<el-radio-group v-model="formListValue.backXm">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="surgicalMethod form-item flex">
<div class="text left">实际手术方式确认:</div>
<el-radio-group v-model="formListValue.backSsfs">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="medicationCheck form-item flex">
<div class="text left">手术用药核查:</div>
<el-radio-group v-model="formListValue.backYyhc">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="inventorySure form-item flex">
<div class="text left">手术用物清点正确:</div>
<el-radio-group v-model="formListValue.backSsywqd">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="skinComplete form-item flex">
<div class="text left">皮肤是否完整:</div>
<el-radio-group v-model="formListValue.backPfsfwz">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="Zlbdj form-item flex">
<div class="text left">治疗绷带镜确认:</div>
<el-radio-group v-model="formListValue.backZlbdj">
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}</el-radio>
<el-radio v-for="(item,index) in radioList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
</div>
<div class="orderOther form-item">
@ -498,12 +398,8 @@
</el-radio>
</el-radio-group>
</div>
<el-input
v-if="formListValue.backQtOrder==='是'"
v-model="formListValue.backQtInput"
placeholder="请输入内容"
class="margin-right left inlineBlock"
/>
<el-input v-if="formListValue.backQtOrder===''" v-model="formListValue.backQtInput"
placeholder="请输入内容" class="margin-right left inlineBlock" />
</div>
<div class="skinComplete form-item">
<div class="text left margin-bottom-12">患者去向:</div>
@ -511,12 +407,8 @@
<el-radio v-for="(item,index) in patientWhereList" :key="index" :label="item.name">{{ item.name }}
</el-radio>
</el-radio-group>
<el-input
v-if="formListValue.backHzqxOrder==='其它'"
v-model="formListValue.backHzqxInput"
placeholder="请输入内容"
class="margin-right left inlineBlock margin-top-10"
/>
<el-input v-if="formListValue.backHzqxOrder==='其它'" v-model="formListValue.backHzqxInput"
placeholder="请输入内容" class="margin-right left inlineBlock margin-top-10" />
</div>
</div>
<!-- 签字行 -->
@ -524,85 +416,49 @@
<div class="operaBeforeDoctorSign flex margin-bottom-16">
<div class="text left">手术医师签字</div>
<span>
<span
v-if="!formListValue.backYsSign && saveEidtTitle==='保存'"
class="sign"
@click="getZdDoctorSign('backYsSign','','backYsCode','backYsName')"
>获取签字</span>
<span v-if="!formListValue.backYsSign && saveEidtTitle==='保存'" class="sign"
@click="getZdDoctorSign('backYsSign','','backYsCode','backYsName')">获取签字</span>
<span v-if="formListValue.backYsSign">
<img
:src="formListValue.backYsSign"
alt=""
width="90px"
@click="getZdDoctorSign('backYsSign','','backYsCode','backYsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.backYsSign" alt="" width="90px"
@click="getZdDoctorSign('backYsSign','','backYsCode','backYsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('backYsSign','','backYsCode','backYsName')"
/>
@click="imageRemoveClick('backYsSign','','backYsCode','backYsName')" />
</span>
</span>
</div>
<div class="zhuShouBeforeSign flex margin-bottom-16">
<div class="text left">技师签字</div>
<span>
<span
v-if="!formListValue.backJsSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
>获取签字</span>
<span v-if="!formListValue.backJsSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')">获取签字</span>
<span v-if="formListValue.backJsSign">
<img
:src="formListValue.backJsSign"
alt=""
width="90px"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.backJsSign" alt="" width="90px"
@click="getSystomSign1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')"
/>
@click="imageRemoveClick1('beforeJsSign','beforeJsCode','beforeJsName','centerJsSign','centerJsCode','centerJsName','backJsSign','backJsCode','backJsName')" />
</span>
</span>
</div>
<div class="operaBeforeNurseSign flex margin-bottom-16">
<div class="text left">手术室护士签字</div>
<span>
<span
v-if="!formListValue.backHsSign && saveEidtTitle==='保存'"
class="sign"
@click="getSystomSign('backHsSign','','backHsCode','backHsName')"
>获取签字</span>
<span v-if="!formListValue.backHsSign && saveEidtTitle==='保存'" class="sign"
@click="getSystomSign('backHsSign','','backHsCode','backHsName')">获取签字</span>
<span v-if="formListValue.backHsSign">
<img
:src="formListValue.backHsSign"
alt=""
width="90px"
@click="getSystomSign('backHsSign','','backHsCode','backHsName')"
>
<i
v-show="saveEidtTitle==='保存'"
class="el-icon-circle-close"
<img :src="formListValue.backHsSign" alt="" width="90px"
@click="getSystomSign('backHsSign','','backHsCode','backHsName')">
<i v-show="saveEidtTitle==='保存'" class="el-icon-circle-close"
style="font-size:20px;cursor:pointer;"
@click="imageRemoveClick('backHsSign','','backHsCode','backHsName')"
/>
@click="imageRemoveClick('backHsSign','','backHsCode','backHsName')" />
</span>
</span>
</div>
<div class="operaBeforeNurseSign flex width-inner-190 center">
<div class="text left">时间</div>
<el-date-picker
v-model="formListValue.backTime"
class="margin-right-6"
type="datetime"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder=""
/>
<el-date-picker v-model="formListValue.backTime" class="margin-right-6" type="datetime"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="" />
</div>
</div>
</template>
@ -976,9 +832,9 @@ export default {
<style lang="scss">
.safety-checklist-father {
.saveInfo{
text-align: center;
}
.saveInfo {
text-align: center;
}
.el-icon-caret-bottom:before {
font-size: 50px;
}

4
src/components/H5form/shouquanBook.vue

@ -15,7 +15,7 @@
>
<!-- v-if="currentUrl.includes('192')" -->
<p style="color:#000000;font-size:32px;margin:0 0 0 0;text-align:center;">
温州医科大学附属眼视光医院杭州</p>
温州医科大学附属眼视光医院杭州院</p>
<p style="color:#000000;font-size:32px;margin:0 0 30px 0;text-align:center;">
告知书/授权书</p>
<div class="patientInfo-one left margin-bottom-10">
@ -70,7 +70,7 @@
<p style="font-size:16px;">
依照中华人民共和国民法典第一千二百一十九条规定医务人员在诊疗活动中应当向患者说明病情和医疗措施需要实施手术特殊检查特殊治疗的医务人员应当及时向患者具体说明医疗风险替代医疗方案等情况并取得其明确同意不能或者不宜向患者说明的应当向患者的近亲属说明并取得其明确同意病历书与基本规范第十条规定对需取得患者书面同意方可进行的医疗活动应当由患者本人签署知情同意书患者不具备完全民事行为能力时应当由其法定代理人签名患者因病无法签名时应当由其授权的人员签名为抢救患者在法定代理人或被授权人无法及时签名的情况下可由医疗机构负责人或者授权的负责人签名为切实保障患者的知情同意权和实施保护性医疗措施敬请你们根据自己的实际情况慎重考虑选择确定作为患者病情医疗措施医疗风险及替代方案等的被告知者并签署各项医疗活动同意书
</p>
<p class="right" style="font-weight: 700;font-family:MicrosoftYaHeiBold;">温州医科大学附属眼视光医院</p>
<p class="right" style="font-weight: 700;font-family:MicrosoftYaHeiBold;">温州医科大学附属眼视光医院杭州院区</p>
<div class="margin-top-10" style="font-weight: 700;font-family:MicrosoftYaHeiBold;">上述告知内容本人已充分了解经慎重考虑我确定</div>
<div style="font-size:15px;">
<el-radio-group v-model="formListValue.sqRadio" @change="radioChange">

4
src/i18n/zh-CN.js

@ -386,8 +386,8 @@ t.user.password = '密码'
t.user.confirmPassword = '确认密码'
t.user.realName = '真实姓名'
t.user.gender = '性别'
t.user.gender0 = '男'
t.user.gender1 = '女'
t.user.gender0 = '男'
t.user.gender1 = '女'
t.user.gender2 = '保密'
t.user.roleIdList = '角色配置'
t.user.validate = {}

4
src/i18n/zh-TW.js

@ -384,8 +384,8 @@ t.user.password = '密碼'
t.user.confirmPassword = '確認密碼'
t.user.realName = '真實姓名'
t.user.gender = '性別'
t.user.gender0 = '男'
t.user.gender1 = '女'
t.user.gender0 = '男'
t.user.gender1 = '女'
t.user.gender2 = '保密'
t.user.roleIdList = '角色配置'
t.user.validate = {}

14
src/mixins/operationPlan.js

@ -11,6 +11,8 @@ export default {
YLQGD: '',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo
@ -32,6 +34,8 @@ export default {
YLQGD: '预留屈光度',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo
@ -53,6 +57,8 @@ export default {
YLQGD: '',
// 预期矫正度数
YQJZDS: '预期矫正度数',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo
@ -74,6 +80,8 @@ export default {
YLQGD: '',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '手术方式',
// nomo
@ -95,6 +103,8 @@ export default {
YLQGD: '',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo
@ -116,6 +126,8 @@ export default {
YLQGD: '',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo
@ -137,6 +149,8 @@ export default {
YLQGD: '',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo

2
src/mixins/publicFile.js

@ -31,7 +31,7 @@ export default {
}
})
if (res.code === 0) {
const url = `https://pacs.eye.ac.cn/ReportsList.aspx?uc=${userData.employeeId}&k=${res.data}&PID=${this.patientId}`
const url = `http://172.17.1.154:86/ReportsList.aspx?uc=${userData.employeeId}&k=${res.data}&PID=${this.patientId}`
const w = window.open('about:blank')
w.location.href = url
} else {

158
src/mixins/qgdzbl.js

@ -42,6 +42,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -122,6 +124,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -204,6 +208,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -286,6 +292,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -368,6 +376,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -450,6 +460,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -532,6 +544,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -614,6 +628,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -696,6 +712,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -778,6 +796,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -860,6 +880,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -942,6 +964,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1024,6 +1048,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1106,6 +1132,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1188,6 +1216,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1270,6 +1300,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1352,6 +1384,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1435,6 +1469,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1518,6 +1554,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1601,6 +1639,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1684,6 +1724,8 @@ export default {
dbmgdLiang: 'dbmgdLiang',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1766,6 +1808,92 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '角膜地形图',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
jmzjJmhd: '',
// 暗瞳直径
atzj: '',
// offset
offset: '',
// corvis
corvis: '',
// 眼轴
yz: '',
// 内皮
np: '',
// 内皮细胞密度
npxbmd: '',
// OCT上皮/最薄角膜厚度
octspZbjmhd: '',
// ORA
ORA: '',
// 眼轴
yz: '',
// OCT
OCT: '',
// 特殊检查
tsjc: '',
// TBUT
TBUT: '',
// 裂隙灯检查
LXDJC: '',
// 散瞳眼底检查
stydjc: '',
// 诊断
zhenduan: '',
// 泪道冲洗
ldcx: '',
// 处理意见
clyj: '',
// 预约手术方式
yyssfs: '',
// 其他
other: ''
},{
name: 'offsetXY',
rowOne: '',
rowTwo: '',
rowThree: '',
rowFour: '',
// 眼科病史
ykbs: '',
// 既往史及家族史
jws: '',
// 心里评估
xlpg: '',
// 检查项目
jcxm: '',
// 视力明
shiliM: '',
// 视力暗
shiliAn: '',
// 现镜度数
xjds: '',
// 电脑验光
dnygOne: '',
dnygTwo: '',
// 主觉验光
zjygOne: '',
zjygTwo: '',
// Amp
Amp: '',
// 是否显示对比敏感度
isShowdbmgd: '',
// 对比敏感度暗
dbmgdAn: '',
// 对比敏感度低眩
dbmgdDi: '',
// 对比敏感度高眩
dbmgdGao: '',
// 对比敏感度亮
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'offsetXY',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1848,6 +1976,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -1931,6 +2061,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '眼压',
// 角膜直径/角膜厚度
@ -2014,6 +2146,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2096,6 +2230,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2179,6 +2315,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2261,6 +2399,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2343,6 +2483,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2425,6 +2567,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2507,6 +2651,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2589,6 +2735,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2671,6 +2819,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2753,6 +2903,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2835,6 +2987,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2917,6 +3071,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度
@ -2999,6 +3155,8 @@ export default {
dbmgdLiang: '',
// 角膜地形图
jmdxt: '',
// offsetXY
offsetXY:'',
// 眼压
yanya: '',
// 角膜直径/角膜厚度

2
src/page-subspecialty/views/main-navbar.vue

@ -5,7 +5,7 @@
<h1 class="aui-navbar__brand" @click="logoClick">
<a class="aui-navbar__brand-lg" href="javascript:;" style="text-align:center;">
<svg-icon icon-class="icon-yzk-login" style="font-size:36px" />
<div style="margin-top:5px;">杭州</div>
<div style="margin-top:5px;">杭州院</div>
<div>屈光信息系统</div>
</a>
<a class="aui-navbar__brand-mini" href="javascript:;"> <svg-icon icon-class="icon-yzk-login" style="font-size:36px" /></a>

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

@ -69,10 +69,10 @@ export default {
methods: {
exportclick(e) {
console.log(e)
this.$message('暂时没有操作手册可下载')
return
const docxsrc = this.drgsName === '青光眼' ? '../../../static/word/operation-manual-QGY.docx' : '../../../static/word/operation-manual-YSG.docx' //
const docxname = this.drgsName === '青光眼' ? '亚专科青光眼操作手册' : '亚专科眼视光操作手册'//
// this.$message('')
// return
const docxsrc = '../../../static/word/hzqg.docx' //
const docxname = '屈光系统操作手册' //
//
JSZipUtils.getBinaryContent(docxsrc, function(error, content) {
// docxsrc

5
src/page-subspecialty/views/modules/outpatientManagement/index.vue

@ -106,6 +106,11 @@
{{ scope.row.updateDate ?scope.row.updateDate : '-' }}
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="center">
<template slot-scope="scope">
{{ scope.row.remark ? scope.row.remark : '- ' }}
</template>
</el-table-column>
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="180">
<template slot-scope="scope">
<span

4
src/page-subspecialty/views/modules/outpatientManagement/patient-add-or-update.vue

@ -27,8 +27,8 @@
</el-form-item>
<el-form-item label="性别:" label-width="90px" prop="gender">
<el-radio-group v-model="dataForm.patientSex" size="medium">
<el-radio-button label="男"></el-radio-button>
<el-radio-button label="女"></el-radio-button>
<el-radio-button label="男"></el-radio-button>
<el-radio-button label="女"></el-radio-button>
<el-radio-button label="保密">保密</el-radio-button>
</el-radio-group>
</el-form-item>

5
src/page-subspecialty/views/modules/patientManagement/index.vue

@ -113,6 +113,11 @@
<template slot-scope="scope">
{{ scope.row.patientBirthday ? $options.filters.dateFilterTwo( scope.row.patientBirthday): '- ' }}
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="center">
<template slot-scope="scope">
{{ scope.row.remark ? scope.row.remark : '- ' }}
</template>
</el-table-column>
<!-- <el-table-column
prop="diagNoseName"

10
src/page-subspecialty/views/modules/patientManagement/patient-add-or-update.vue

@ -30,8 +30,8 @@
</el-form-item>
<el-form-item label="性别:" label-width="100px" prop="gender">
<el-radio-group v-model="dataForm.patientSex" size="medium">
<el-radio-button label="男"></el-radio-button>
<el-radio-button label="女"></el-radio-button>
<el-radio-button label="男"></el-radio-button>
<el-radio-button label="女"></el-radio-button>
<el-radio-button label="保密">保密</el-radio-button>
</el-radio-group>
</el-form-item>
@ -46,8 +46,8 @@
<el-option v-for="item in visitList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="备注:" label-width="100px" prop="remarks">
<el-input v-model="dataForm.remarks" type="textarea" />
<el-form-item label="备注:" label-width="100px" prop="remark">
<el-input v-model="dataForm.remark" type="textarea" />
</el-form-item>
</el-form>
<template slot="footer">
@ -80,7 +80,7 @@ export default {
patientAddress: '',
patientBirthday: '',
visitId: '',
remarks: ''
remark: ''
},
params: {},
visitList: []

4
src/page-subspecialty/views/modules/questionManagement/patient-add-or-update.vue

@ -30,8 +30,8 @@
</el-form-item>
<el-form-item label="性别:" label-width="100px" prop="gender">
<el-radio-group v-model="dataForm.patientSex" size="medium">
<el-radio-button label="男"></el-radio-button>
<el-radio-button label="女"></el-radio-button>
<el-radio-button label="男"></el-radio-button>
<el-radio-button label="女"></el-radio-button>
<el-radio-button label="保密">保密</el-radio-button>
</el-radio-group>
</el-form-item>

286
src/page-subspecialty/views/modules/statisticalManagement/index.vue

@ -9,10 +9,13 @@
<p>今日手术量</p>
<p>{{ todayCensusList.opera[0].value }}</p>
</span>
<span class="today-right" :class="todayCensusList.operaCompare > 0 ? 'today-right-small' : (todayCensusList.scheduleCompare < 0 ? 'today-right-big' : 'today-right-equal')">
<span class="today-right"
:class="todayCensusList.operaCompare > 0 ? 'today-right-small' : (todayCensusList.scheduleCompare < 0 ? 'today-right-big' : 'today-right-equal')">
<span>较昨日</span>
<svg-icon v-show="todayCensusList.operaCompare !==0" :icon-class="todayCensusList.operaCompare > 0 ? 'icon-straight-down' : 'icon-straight-up'" />
<span class="today-right">{{ todayCensusList.operaCompare > 0 ? todayCensusList.operaCompare : (todayCensusList.operaCompare) * -1 }}</span>
<svg-icon v-show="todayCensusList.operaCompare !==0"
:icon-class="todayCensusList.operaCompare > 0 ? 'icon-straight-down' : 'icon-straight-up'" />
<span
class="today-right">{{ todayCensusList.operaCompare > 0 ? todayCensusList.operaCompare : (todayCensusList.operaCompare) * -1 }}</span>
</span>
</div>
</el-col>
@ -23,13 +26,13 @@
<p>今日预约量</p>
<p>{{ todayCensusList.schedule[0].value }}</p>
</span>
<span
class="today-right"
:class="todayCensusList.scheduleCompare > 0 ? 'today-right-small' : (todayCensusList.scheduleCompare < 0 ? 'today-right-big' : 'today-right-equal')"
>
<span class="today-right"
:class="todayCensusList.scheduleCompare > 0 ? 'today-right-small' : (todayCensusList.scheduleCompare < 0 ? 'today-right-big' : 'today-right-equal')">
<span>较昨日</span>
<svg-icon v-show="todayCensusList.scheduleCompare !==0" :icon-class="todayCensusList.scheduleCompare > 0 ? 'icon-straight-down' : 'icon-straight-up'" />
<span class="today-right">{{ todayCensusList.scheduleCompare > 0 ? todayCensusList.scheduleCompare : (todayCensusList.scheduleCompare) * -1 }}</span>
<svg-icon v-show="todayCensusList.scheduleCompare !==0"
:icon-class="todayCensusList.scheduleCompare > 0 ? 'icon-straight-down' : 'icon-straight-up'" />
<span
class="today-right">{{ todayCensusList.scheduleCompare > 0 ? todayCensusList.scheduleCompare : (todayCensusList.scheduleCompare) * -1 }}</span>
</span>
</div>
</el-col>
@ -52,78 +55,85 @@
<p>今日问卷量</p>
<p>{{ todayCensusList.survey[0].value }}</p>
</span>
<span class="today-right" :class="todayCensusList.surveyCompare > 0 ? 'today-right-small' : (todayCensusList.surveyCompare < 0 ? 'today-right-big' : 'today-right-equal')">
<span class="today-right"
:class="todayCensusList.surveyCompare > 0 ? 'today-right-small' : (todayCensusList.surveyCompare < 0 ? 'today-right-big' : 'today-right-equal')">
<span>较昨日</span>
<svg-icon v-show="todayCensusList.surveyCompare !==0" :icon-class="todayCensusList.surveyCompare > 0 ? 'icon-straight-down' : 'icon-straight-up'" />
<span class="today-right">{{ todayCensusList.surveyCompare > 0 ? todayCensusList.surveyCompare : (todayCensusList.surveyCompare) * -1 }}</span>
<svg-icon v-show="todayCensusList.surveyCompare !==0"
:icon-class="todayCensusList.surveyCompare > 0 ? 'icon-straight-down' : 'icon-straight-up'" />
<span
class="today-right">{{ todayCensusList.surveyCompare > 0 ? todayCensusList.surveyCompare : (todayCensusList.surveyCompare) * -1 }}</span>
</span>
</div>
</el-col>
</el-row>
</div>
<div class="statics-center">
<span class="statics-title-date">
<p class="statics-title">手术量统计</p>
<el-radio-group v-model="operationRadioValue" size="mini" @change="getOperaCensus">
<el-radio-button label="3"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
<el-radio-button label="1"></el-radio-button>
</el-radio-group>
</span>
<div class="operation-volume-echarts">
<operation-volume-echarts v-if="operationVolumeHeight" id-name="operation-volume" :chart-data="operationVolumeList" :height="operationVolumeHeight" />
</div>
<el-row :gutter="16" style="height:100%">
<span class="statics-title-date">
<p class="statics-title">手术量统计</p>
<el-select v-model="operaTj.doctorId" placeholder="医生" size="small" clearable @clear="newOperaCensus()"
@change="newOperaCensus()" style="margin-right:20px;">
<el-option v-for="(item,index) in doctorList" :key="index" :label="item.doctorName"
:value="item.doctorCode" />
</el-select>
<el-date-picker style="margin-right:20px;" v-model="operaStartEndTime" size="small" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
@change="operaDateChange" />
<el-radio-group v-model="operaTj.type" size="mini" @change="newOperaCensus()">
<el-radio-button label="3"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
<el-radio-button label="1"></el-radio-button>
</el-radio-group>
<el-button style="margin-left:30px;" type="primary">导出</el-button>
</span>
<el-col :span="12" style="height:100%;">
<div class="operation-volume-echarts">
<operation-volume-echarts v-if="operationVolumeHeight" id-name="operation-volume"
:chart-data="operationVolumeList" :height="operationVolumeHeight" ref="operaRef" />
</div>
</el-col>
<el-col :span="12">
<el-table :data="operaCensusDataList">
<el-table-column prop="doctorName" label="医生姓名" width="90"></el-table-column>
<el-table-column prop="operaDate" label="手术时间" width="110"></el-table-column>
<el-table-column prop="operaName" label="手术名称"></el-table-column>
<el-table-column prop="patientName" label="患者姓名" width="90"></el-table-column>
<el-table-column prop="patientId" label="PID" width="90"></el-table-column>
</el-table>
<el-pagination background layout="total, prev, pager, next" :total="opearTotal" :page-size="operaTj.limit"
:current-page.sync="operaTj.page" @current-change="pageCurrentChangeHandle" />
</el-col>
</el-row>
</div>
<div class="statics-bottom">
<el-row :gutter="16">
<el-col :span="6">
<div class="ssfx">
<span class="ssfx-title-date">
<p>手术方式</p>
<el-radio-group v-model="ssfxRadioValue" size="mini" @change="getSSTJList">
<el-radio-button label="4">今日</el-radio-button>
<span class="doctor-ssl-title-date" style="margin-top:10px;">
<p style="margin-right:10px;font-size:20px;">就诊人次统计</p>
<el-select v-model="jzrcTj.doctorId" placeholder="医生" size="small" clearable @clear="newJzrcCensus()"
@change="newJzrcCensus()" style="margin-right:20px;">
<el-option v-for="(item,index) in doctorList" :key="index" :label="item.doctorName"
:value="item.doctorCode" />
</el-select>
<el-date-picker style="margin-right:20px;" v-model="jzrcStartEndTime" size="small" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
@change="operaDateChange" />
<el-radio-group v-model="jzrcTj.type" size="mini" @change="newJzrcCensus">
<el-radio-button label="3">本周</el-radio-button>
<el-radio-button label="2">本月</el-radio-button>
<el-radio-button label="1">本年</el-radio-button>
</el-radio-group>
<el-button style="margin-left:30px;" type="primary">导出</el-button>
</span>
<div class="ssfx-echarts">
<ssfx-echarts v-if="ssfxEchartsHeight" id-name="ssfx-pie" :chart-data="ssfxPieList" :height="ssfxEchartsHeight" />
</div>
</div>
</el-col>
<el-col :span="12">
<div class="doctor-ssl">
<span class="doctor-ssl-title-date">
<p>医生手术量</p>
<el-radio-group v-model="doctorSSLRadioValue" size="mini" @change="getdoctorSSLList">
<el-radio-button label="3">本周</el-radio-button>
<el-radio-button label="2">本月</el-radio-button>
<el-radio-button label="1">本年</el-radio-button>
</el-radio-group>
</span>
<div class="doctor-ssl-echearts">
<doctor-ssl-echarts v-if="doctorSSLEchartsHeight" id-name="doctor-ssl-bar" :chart-data="doctorSSLBarList" :height="doctorSSLEchartsHeight" />
<doctor-ssl-echarts v-if="doctorSSLEchartsHeight" id-name="doctor-ssl-bar" :chart-data="doctorSSLBarList"
:height="doctorSSLEchartsHeight" />
</div>
</div>
</el-col>
<el-col :span="6">
<div class="wjtj">
<span class="wjtj-title-date">
<p>问卷统计</p>
<el-radio-group v-model="wjtjRadioValue" size="mini" @change="getwjtjList">
<el-radio-button label="4">今日</el-radio-button>
<el-radio-button label="3">本周</el-radio-button>
<el-radio-button label="2">本月</el-radio-button>
<el-radio-button label="1">本年</el-radio-button>
</el-radio-group>
</span>
<div class="wjtj-echarts">
<wjtj-echarts v-if="wjtjEchartsHeight" id-name="wjtj-funnel" :chart-data="wjtjFunnelList" :height="wjtjEchartsHeight" />
</div>
</div>
<el-col :span="12">
123
</el-col>
</el-row>
</div>
@ -150,21 +160,42 @@ export default {
wjtjEchartsHeight: '',
todayCensusList: {},
operationVolumeList: [],
operaCensusDataList: [],
jzrcCensusList: [],
jzrcCensusDataList: [],
opearTotal: 0,
ssfxPieList: [],
doctorSSLBarList: [],
wjtjFunnelList: [],
operationRadioValue: '1',
operaStartEndTime: '',
operaTj: {
beginDate: '',
endDate: '',
doctorId: '',
type: '1',
limit: 5,
page: 1
},
jzrcStartEndTime:'',
jzrcTj: {
beginDate: '',
endDate: '',
doctorId: '',
type: '1',
limit: 5,
page: 1
},
ssfxRadioValue: '1',
doctorSSLRadioValue: '1',
wjtjRadioValue: '1'
wjtjRadioValue: '1',
doctorList: {}
}
},
created() {
this.getTodayCensus()
this.getOperaCensus()
this.getSSTJList()
this.getdoctorSSLList()
this.getwjtjList()
this.getOperaCensusDataList()
this.getJzrcCensus()
this.getJzrcCensusDataList()
this.getDoctorList()
},
mounted() {
this.operationVolumeHeight = document.querySelector('.operation-volume-echarts') ? document.querySelector('.operation-volume-echarts').offsetHeight + 'px' : ''
@ -173,6 +204,19 @@ export default {
this.wjtjEchartsHeight = document.querySelector('.wjtj-echarts') ? document.querySelector('.wjtj-echarts').offsetHeight + 'px' : ''
},
methods: {
//
async getDoctorList() {
const { data: res } = await this.$http.get('/hz_quguang/opera/reservation/getDoctorList')
if (res.code === 0) {
this.doctorList = res.data
} else {
this.$message.error(res.msg)
}
},
newOperaCensus() {
this.getOperaCensus()
this.getOperaCensusDataList()
},
//
async getTodayCensus() {
this.todayShow = false
@ -186,41 +230,81 @@ export default {
this.todayCensusList.surveyCompare = survey[1].value - survey[0].value
this.todayShow = true
},
//
//
operaDateChange(e) {
console.log('e', e);
this.operaTj.beginDate = e ? e[0] : ''
this.operaTj.endDate = e ? e[1] : ''
this.newOperaCensus()
},
// echarts
// typebeginDateendDate
// beginDateendDatetype
async getOperaCensus() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/operaCensus/${this.operationRadioValue}`)
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/operaCensus`, {
params: this.operaTj
})
if (res.code === 0) {
this.operationVolumeList = res.data
this.$refs.operaRef.initFun()
} else {
this.$message.error(res.msg)
}
},
//
async getSSTJList() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/operaTypeCensus/${this.ssfxRadioValue}`)
// table
async getOperaCensusDataList() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/operaCensusDataList`, {
params: this.operaTj
})
if (res.code === 0) {
this.ssfxPieList = res.data
this.operaCensusDataList = res.data.list
this.opearTotal = res.data ? res.data.total : ''
} else {
this.$message.error(res.msg)
}
},
//
async getdoctorSSLList() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/doctorOperaCensus/${this.doctorSSLRadioValue}`)
// ,
pageCurrentChangeHandle(val) {
this.operaTj.page = val
this.getOperaCensusDataList()
},
newJzrcCensus() {
this.getJzrcCensus()
this.getJzrcCensusDataList()
},
//
jzrcDateChange(e) {
console.log('e', e);
this.jzrcTj.beginDate = e ? e[0] : ''
this.jzrcTj.endDate = e ? e[1] : ''
this.newJzrcCensus()
},
// echarts
// typebeginDateendDate
// beginDateendDatetype
async getJzrcCensus() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/jzrcCensus`, {
params: this.operaTj
})
if (res.code === 0) {
this.doctorSSLBarList = res.data
this.jzrcCensusList = res.data
// this.$refs.operaRef.initFun()
} else {
this.$message.error(res.msg)
}
},
async getwjtjList() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/surveyCensus/${this.wjtjRadioValue}`)
// table
async getJzrcCensusDataList() {
const { data: res } = await this.$http.get(`/hz_quguang/data/analyse/jzrcCensusDataList`, {
params: this.operaTj
})
if (res.code === 0) {
this.wjtjFunnelList = res.data
this.jzrcCensusDataList = res.data.list
this.jzrcTotal = res.data ? res.data.total : ''
} else {
this.$message.error(res.msg)
}
}
},
}
}
</script>
@ -243,7 +327,7 @@ export default {
}
.today-left {
p:nth-child(1) {
color: #9CA3AF;
color: #9ca3af;
}
p:nth-child(2) {
color: #374151;
@ -256,12 +340,12 @@ export default {
}
}
.today-right-big {
background: #FFF1F0;
color: #F5222D;
background: #fff1f0;
color: #f5222d;
}
.today-right-small {
background: #f6ffed;
color: #73D13D;
color: #73d13d;
}
.today-right-equal {
background: rgb(204, 204, 204);
@ -277,29 +361,39 @@ export default {
height: 90%;
}
}
.statics-title-date,.ssfx-title-date,.doctor-ssl-title-date,.wjtj-title-date {
display: flex;
justify-content: space-between;
align-items: center;
}
.statics-title-date,
.ssfx-title-date,
.doctor-ssl-title-date,
.wjtj-title-date {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 10px;
}
.statics-title {
font-size: 20px;
margin-bottom: 10px;
color: #374151;
margin-right: 20px;
}
.statics-bottom {
// height: 260px;
height: 45%;
.el-row,.el-col {
background: #fff;
height: 55%;
.el-row,
.el-col {
height: 100%;
}
}
.ssfx,.doctor-ssl,.wjtj {
.ssfx,
.doctor-ssl,
.wjtj {
height: 100%;
background: #fff;
padding: 16px;
}
.ssfx-echarts,.doctor-ssl-echearts,.wjtj-echarts {
.ssfx-echarts,
.doctor-ssl-echearts,
.wjtj-echarts {
height: 90%;
}
.el-radio-button--mini .el-radio-button__inner {
@ -308,7 +402,7 @@ export default {
.el-radio-button__inner {
border: none;
}
.el-radio-button__orig-radio:checked+.el-radio-button__inner {
.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background: #e0e8ff;
border-color: #e0e8ff;
box-shadow: none;

5
src/page-subspecialty/views/modules/statisticalManagement/operation-volume-echarts.vue

@ -37,6 +37,9 @@ export default {
this.dataX.push(item.name)
this.dataY.push(item.value)
})
} else {
this.dataX = []
this.dataY = []
}
this.visionFun()
},
@ -77,7 +80,7 @@ export default {
grid: {
top: '8%',
left: '4%',
right: '3%',
right: '6%',
bottom: '8%',
containLabel: true
},

14
src/page-subspecialty/views/modules/surgicalManagement/operationList/index.vue

@ -120,6 +120,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="手术备注" prop="remark" header-align="center" align="center" />
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="220px">
<template slot-scope="scope">
<!-- -4:等待签到-3:等待验光/等待谈话-2:等待验光-1:等待谈话 -->
@ -148,15 +149,15 @@
更多<i class="el-icon-arrow-down el-icon--right" />
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="取消手术">取消手术</el-dropdown-item>
<el-dropdown-item command="状态回滚">状态回滚</el-dropdown-item>
<el-dropdown-item command="取消手术" v-if="positionName.join().includes('护士长')">取消手术</el-dropdown-item>
<el-dropdown-item command="状态回滚" v-if="positionName.join().includes('护士长')">状态回滚</el-dropdown-item>
<el-dropdown-item command="打印">条码</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page"
<el-pagination background layout="total,prev,pager,next" :total="total" :current-page.sync="page"
@current-change="pageCurrentChangeHandle" />
</div>
<dialogForm v-if="dialogFormVisible" ref="dialogFormRef" title="手术列表" :current-info="currentPatientInfo"
@ -271,7 +272,9 @@ export default {
remark: '',
orderCancleVisible: false,
hotPrintVisible: false,
operaStatus: ''
operaStatus: '',
userData:{},
positionName:[]
}
},
watch: {
@ -285,7 +288,8 @@ export default {
// console.log(this.$route.params)
this.today = this.$moment().format('YYYY-MM-DD')
this.dataForm.searchDate = this.$moment().format('YYYY-MM-DD')
this.userData = JSON.parse(window.localStorage.getItem('qg-userData'))
window.localStorage.getItem('qg-userData') ? this.userData = JSON.parse(window.localStorage.getItem('qg-userData')) : ''
this.positionName = this.userData.positionList && this.userData.positionList.length > 0 ? this.userData.positionList.map(item => item.positionName) : []
if (this.$route.params.patientId) {
this.dataForm.patientId = this.$route.params.patientId
this.getDataList()

101
src/page-subspecialty/views/modules/surgicalManagement/operationOrder/logDIalog.vue

@ -0,0 +1,101 @@
<template>
<el-dialog
class="log-dialog"
:visible.sync="visible"
width="70%"
title="预约日志"
>
<el-table :data="tableData">
<el-table-column property="operaUserName" label="操作人" ></el-table-column>
<el-table-column property="operaUserCode" label="操作人CODE" ></el-table-column>
<el-table-column property="operaMsg" label="操作内容" ></el-table-column>
<el-table-column property="operaDate" label="操作日期" ></el-table-column>
</el-table>
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page"
@current-change="pageCurrentChangeHandle" />
</el-dialog>
</template>
<script>
export default {
props: {
patientTypeList: {
type: Array,
default: () => []
}
},
data() {
return {
visible: false,
tableData:[],
logOrderList:{},
total:'',
page:1
}
},
computed: {
},
methods: {
init() {
this.visible = true
this.getlogList()
},
async getlogList() {
console.log('this.logOrderList',this.logOrderList);
const { data: res } = await this.$http.get('/hz_quguang/opera/update/log/page', {
params: {
limit: 10,
page: this.page,
operaPatientId: this.logOrderList.id,
}
})
if (res.code === 0) {
this.tableData = res.data.list
this.total = res.data.total
} else {
this.$message.error(res.msg)
}
},
// ,
pageCurrentChangeHandle(val) {
this.page = val
this.getlogList()
},
}
}
</script>
<style lang="scss" scoped>
.log-dialog {
.cycle-display {
.el-form-item__content {
display: flex;
}
.el-input-number {
width: 100px;
margin-right: 16px;
}
}
.introduce {
color: #1F78FF;
cursor: pointer;
}
}
</style>
<style lang="scss">
.log-dialog {
.el-form {
display: flex;
}
.el-dialog__header {
margin-bottom:12px
}
.el-dialog__body {
padding-right: 30px;
}
.formItemOne .el-form-item__content {
display: flex;
}
}
</style>

180
src/page-subspecialty/views/modules/surgicalManagement/operationOrder/scheduled-tab.vue

@ -6,73 +6,38 @@
<div>
<div class="form-one">
<el-form-item label="PID:" label-width="110px">
<el-input
v-model="dataForm.patientId"
placeholder="PID"
size="small"
clearable
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientId')"
/>
<el-input v-model="dataForm.patientId" placeholder="PID" size="small" clearable
@clear="getDataListInitial()" @keyup.enter.native="getDataListInitial('patientId')" />
</el-form-item>
<el-form-item label="患者姓名:" label-width="110px">
<el-input
v-model="dataForm.patientName"
placeholder="患者姓名"
size="small"
clearable
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientName')"
/>
<el-input v-model="dataForm.patientName" placeholder="患者姓名" size="small" clearable
@clear="getDataListInitial()" @keyup.enter.native="getDataListInitial('patientName')" />
</el-form-item>
<el-form-item label="术式:" label-width="110px">
<el-select
v-model="dataForm.operaId"
placeholder="请选择"
size="small"
clearable
@clear="getDataListInitial()"
@change="getDataListInitial()"
>
<el-option v-for="(item,index) in operaList" :key="index" :label="item.operaName" :value="item.operaId" />
<el-select v-model="dataForm.operaId" placeholder="请选择" size="small" clearable
@clear="getDataListInitial()" @change="getDataListInitial()">
<el-option v-for="(item,index) in operaList" :key="index" :label="item.operaName"
:value="item.operaId" />
</el-select>
</el-form-item>
</div>
<div class="form-two">
<el-form-item v-if="status !==0" label="主刀医生:" label-width="110px">
<el-select
v-model="dataForm.doctorCode"
placeholder="请选择"
size="small"
clearable
@clear="getDataListInitial()"
@change="getDataListInitial()"
>
<el-option v-for="(item,index) in doctorList" :key="index" :label="item.doctorName" :value="item.doctorCode" />
<el-select v-model="dataForm.doctorCode" placeholder="请选择" size="small" clearable
@clear="getDataListInitial()" @change="getDataListInitial()">
<el-option v-for="(item,index) in doctorList" :key="index" :label="item.doctorName"
:value="item.doctorCode" />
</el-select>
</el-form-item>
<el-form-item v-if="status !==1" label="手机号:" label-width="110px">
<el-input
v-model="dataForm.patientPhone"
placeholder="手机号"
size="small"
clearable
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientPhone')"
/>
<el-input v-model="dataForm.patientPhone" placeholder="手机号" size="small" clearable
@clear="getDataListInitial()" @keyup.enter.native="getDataListInitial('patientPhone')" />
</el-form-item>
<el-form-item label="日 期:" label-width="110px">
<el-date-picker
v-model="dataForm.searchDate"
type="date"
size="small"
value-format="yyyy-MM-dd"
placeholder="选择日期"
@change="getDataListInitial()"
@clear="getDataListInitial()"
/>
<el-date-picker v-model="dataForm.searchDate" type="date" size="small" value-format="yyyy-MM-dd"
placeholder="选择日期" @change="getDataListInitial()" @clear="getDataListInitial()" />
</el-form-item>
</div>
</div>
@ -82,15 +47,8 @@
</el-form>
</div>
<div class="scheduled-patient-content">
<el-table
ref="multipleTable"
:data="dataList"
:height="tableHeight"
tooltip-effect="dark"
style="width: 100%"
:row-class-name="tableRowClassName"
@selection-change="handleSelectionChange"
>
<el-table ref="multipleTable" :data="dataList" :height="tableHeight" tooltip-effect="dark" style="width: 100%"
:row-class-name="tableRowClassName" @selection-change="handleSelectionChange">
<template v-if="status == 1">
<el-table-column type="selection" width="55" />
<el-table-column label="日期" prop="appointmentDate" header-align="center" align="center" />
@ -99,10 +57,14 @@
<el-table-column prop="patientId" label="PID" width="100px" />
<el-table-column prop="patientName" label="患者姓名" header-align="center" align="center" />
<el-table-column v-if="status !== 2" label="性别" prop="patientSex" header-align="center" align="center" />
<el-table-column v-if="status !== 2" label="年龄" prop="patientAge" header-align="center" align="center" />
<el-table-column v-if="status !== 2" label="出生日期" prop="patientBirthday" header-align="center" align="center" />
<el-table-column v-if="status == 1 || status == 2" prop="mainDoctorName" label="主刀医生" header-align="center" align="center" />
<el-table-column v-if="status !== 2" label="电话号码" prop="patientPhone" header-align="center" align="center" />
<el-table-column v-if="status == 1 || status == 2" prop="mainDoctorName" label="主刀医生" header-align="center"
align="center" />
<el-table-column v-if="status == 2" label="手术日期" prop="appointmentDate" header-align="center" align="center" />
<el-table-column v-if="status == 2" label="手术时间" prop="appointmentTime" header-align="center" align="center" />
<el-table-column v-if="status == 2" label="操作时间" prop="yuyueDate" header-align="center" align="center" />
<!-- prefixName 前缀
diagnosisName 诊断名
suffixName后缀
@ -117,7 +79,8 @@
</span>
</template>
</el-table-column>
<el-table-column v-if="status == 1 || status == 2" label="手术间" prop="operaRoom" header-align="center" align="center" />
<el-table-column v-if="status == 1 || status == 2" label="手术间" prop="operaRoom" header-align="center"
align="center" />
<el-table-column label="拟施手术" header-align="center" align="center">
<template slot-scope="scope">
<div v-for="(item,index) in scope.row.operaTypeList" :key="index">
@ -129,44 +92,37 @@
</template>
</el-table-column>
<el-table-column v-if="status == 1" label="麻醉方式" prop="narcosis" header-align="center" align="center" />
<el-table-column v-if="status == 2" label="核查日期" prop="checkDate" header-align="center" align="center" />
<el-table-column v-if="status == 2" label="核查时间" prop="checkTime" header-align="center" align="center" />
<el-table-column v-if="status == 1 || status == 2" label="手术备注" prop="remark" header-align="center" align="center" />
<!-- <el-table-column v-if="status == 2" label="核查日期" prop="checkDate" header-align="center" align="center" />
<el-table-column v-if="status == 2" label="核查时间" prop="checkTime" header-align="center" align="center" /> -->
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="180px">
<template slot-scope="scope">
<span class="call" @click="browseClick(scope.row)">病历</span>
<span v-if="status==0" class="call" @click="scheduledClick(scope.row)">预约手术</span>
<span v-if="status==0" style="color: #fd4d4f; padding-right: 8px" class="call" @click="deleteScheduledClick(scope.row)">删除</span>
<span
v-if="status==0 && (positionName.join().includes('管理员') || positionName.join().includes('护士长') || positionName.join().includes('主任'))"
style="color: #fd4d4f; padding-right: 8px" class="call" @click="deleteScheduledClick(scope.row)">删除</span>
<template v-if="status==1 || status==2">
<span v-if="status==1" class="call" @click="examineEditClick(scope.row)">{{ scope.row.status === 2 ? '修改' : '审核' }}</span>
<span v-if="status==1" class="call"
@click="examineEditClick(scope.row)">{{ scope.row.status === 2 ? '修改' : '审核' }}</span>
<!-- syncStatus:-----0:未同步1:已同步 0 的时候显示修改 1 的时候不显示 scope.row.syncStatus===0-->
<span v-if="status==2 && scope.row.syncStatus===0" class="call" @click="examineEditClick(scope.row)">修改</span>
<span class="call" style="color: #fd4d4f; padding-right: 8px" @click="cancleOrderHandle(scope.row)">取消</span>
<span v-if="status==2 && scope.row.syncStatus===0" class="call"
@click="examineEditClick(scope.row)">修改</span>
<span v-if="positionName.join().includes('护士长')" class="call" style="color: #fd4d4f; padding-right: 8px"
@click="cancleOrderHandle(scope.row)">取消</span>
<span class="call" style="color: #e6a23c; padding-right: 8px" @click="logHandle(scope.row)">日志</span>
</template>
</template>
</el-table-column>
</el-table>
<el-pagination
background
layout="total,prev, pager, next"
:total="total"
:current-page.sync="page"
@current-change="pageCurrentChangeHandle"
/>
<scheduledOrder
v-if="scheduledOrderVisible"
ref="scheduledOrderRef"
@refreshDataList="getDataList"
@closeDialog="scheduledOrderVisible=false"
/>
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page"
@current-change="pageCurrentChangeHandle" />
<scheduledOrder v-if="scheduledOrderVisible" ref="scheduledOrderRef" @refreshDataList="getDataList"
@closeDialog="scheduledOrderVisible=false" />
</div>
<!-- 底部全选反选 -->
<checked-footer
v-if="status == 1"
ref="checkfooter"
table-ref="multipleTable"
:current-table-list="currentTableList"
:data-list="dataList"
>
<checked-footer v-if="status == 1" ref="checkfooter" table-ref="multipleTable"
:current-table-list="currentTableList" :data-list="dataList">
<div class="batch_button">
<div class="batch_button">
<el-button type="danger" plain size="small" @click="examineHandle(2)">不通过</el-button>
@ -174,22 +130,15 @@
</div>
</div>
</checked-footer>
<el-dialog
title="审核意见"
:visible.sync="examineReviewVisible"
width="50%"
>
<el-input
v-model="examine"
placeholder="请输入审核意见"
type="textarea"
:rows="5"
/>
<el-dialog title="审核意见" :visible.sync="examineReviewVisible" width="50%">
<el-input v-model="examine" placeholder="请输入审核意见" type="textarea" :rows="5" />
<span slot="footer" class="dialog-footer">
<el-button @click="examineReviewVisible = false"> </el-button>
<el-button type="primary" @click="sureExamineHandle"> </el-button>
</span>
</el-dialog>
<el-dialog title="取消理由" :visible.sync="orderCancleVisible">
<el-input v-model="remark" autocomplete="off" />
<div slot="footer" class="dialog-footer">
@ -197,18 +146,22 @@
<el-button type="primary" @click="sureCancleHandle"> </el-button>
</div>
</el-dialog>
<logDIalog v-if="logVisible" ref="logRef" @closeDialog="logVisible=false"/>
</div>
</template>
<script>
import checked from '@/mixins/checked'
import tableAutoHeight from '@/mixins/tableAutoHeight'
import checkedFooter from '@/components/checked-footer'
import logDIalog from './logDIalog.vue'
import mixinViewModule from '@/mixins/view-module'
import scheduledOrder from '@/page-subspecialty/views/modules/surgicalManagement/operationOrder/scheduled-order'
export default {
components: {
scheduledOrder,
checkedFooter
checkedFooter,
logDIalog
},
mixins: [mixinViewModule, checked, tableAutoHeight],
props: {
@ -230,6 +183,7 @@ export default {
},
scheduledOrderVisible: false,
examineReviewVisible: false,
logVisible:false,
nextVisitTime: [],
cheackAllFooter: false,
currentTableList: [],
@ -250,7 +204,10 @@ export default {
orderCancleVisible: false,
cancleOrderList: {},
remark: '',
tableHeight: '500'
tableHeight: '500',
userData: {},
positionName: [],
logOrderList:{}
}
},
created() {
@ -260,6 +217,8 @@ export default {
this.getDoctorList()
},
mounted() {
window.localStorage.getItem('qg-userData') ? this.userData = JSON.parse(window.localStorage.getItem('qg-userData')) : ''
this.positionName = this.userData.positionList && this.userData.positionList.length > 0 ? this.userData.positionList.map(item => item.positionName) : []
this.$nextTick(() => {
window.addEventListener('resize', this.getHeight)
this.getHeight()
@ -305,7 +264,7 @@ export default {
},
//
async deleteScheduledClick(scopeRow) {
this.$confirmFun('您确定要删除此未预约患者吗?').then(async() => {
this.$confirmFun('您确定要删除此未预约患者吗?').then(async () => {
const { data: res } = await this.$http({
url: '/hz_quguang/opera/patient/delete',
method: 'delete',
@ -376,6 +335,15 @@ export default {
this.$message.error(res.msg)
}
},
//
logHandle(scopeRow) {
this.logVisible = true
this.$nextTick(() => {
this.$refs.logRef.logOrderList = scopeRow
this.$refs.logRef.init()
})
},
//
examineEditClick(scopeRow) {
//
@ -431,7 +399,8 @@ export default {
padding-top: 25px;
margin-bottom: 60px;
}
.form-one,.form-two {
.form-one,
.form-two {
display: flex;
}
.scheduled-patient-head {
@ -449,7 +418,8 @@ export default {
</style>
<style lang="scss">
.no-scheduled-tab {
.el-date-editor.el-input, .el-date-editor.el-input__inner {
.el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100%;
}
.el-table .warning-row {
@ -480,7 +450,7 @@ export default {
.el-select {
width: 100%;
}
.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell {
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell {
background: none;
}
}

2
src/page-subspecialty/views/modules/systemManagement/team/index.vue

@ -41,7 +41,7 @@
<el-table-column prop="realName" label="医生姓名" header-align="center" align="center" />
<el-table-column prop="gender" label="性别" header-align="center" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gender === 0 ? '男' : (scope.row.gender === 1 ? '女' : '保密') }}</span>
<span>{{ scope.row.gender === 0 ? '男' : (scope.row.gender === 1 ? '女' : '保密') }}</span>
</template>
</el-table-column>
<el-table-column prop="centreName" label="所属医院" header-align="center" align="center" width="200" />

6
src/page-subspecialty/views/modules/systemManagement/team/team-add-or-update.vue

@ -20,8 +20,8 @@
</el-form-item>
<el-form-item label="性别:" label-width="100px" prop="gender">
<el-radio-group v-model="dataForm.gender" size="medium">
<el-radio-button label="0"></el-radio-button>
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="0"></el-radio-button>
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="2">保密</el-radio-button>
</el-radio-group>
</el-form-item>
@ -45,7 +45,7 @@
clearable
@change="positionChange"
/>
<p style="color:red;">( 限制不同用户类型的操作权限 positionList)</p>
<p style="color:red;">( 限制不同用户类型的操作及按钮权限 positionList)</p>
<!-- <el-select v-model="dataForm.position" placeholder="请选择">
<el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.name" />
</el-select> -->

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

@ -9,7 +9,7 @@
<!-- <img src="../../../assets/img/login_bgm.png" alt="" class="login-bgm"> -->
<div class="login-content">
<div class="login-content-title">
<p class="main-title">杭州院屈光信息系统</p>
<p class="main-title">杭州院屈光信息系统</p>
<p class="subtitle-title">登录</p>
</div>
<el-form

28
src/page-subspecialty/views/pages/transfer.vue

@ -31,29 +31,33 @@ export default {
methods: {
noPasswordLogin() {
// histokenhttps://quguang.huimu.cloud/transfer?hisToken=d2f58562a53a776a8e4c4893788e9778
// http://47.110.224.240:9116/transfer?patientId=2553716&patientIdNumber=25537162553716&hisToken=4c690fdb47bcec468edba14f82b397bc
// histokenhttps://quguang.huimu.cloud/transfer?patientId=1243349&patientIdNumber=110226198510083659&hisToken=d2f58562a53a776a8e4c4893788e9778
this.$http.post('/hz_quguang/noPasswordLogin', {
hisToken: this.returnParam.hisToken
}).then(({ data: res }) => {
if (res.code === 0) {
this.currentUser = res.data.currentUser
this.positionName = this.currentUser.positionList.map((item) => { return item.positionName; }).join(',')
console.log('positionName', this.positionName);
Cookies.set('qg-token', res.data.token)
window.localStorage.setItem('qg-userData', JSON.stringify(res.data.currentUser))
// histoken
if (this.returnParam.patientId && this.returnParam.patientIdNumber) {
if (this.currentUser.positionList.length > 0) {
this.positionName = this.currentUser.positionList[0].positionName.includes('医生') ? '医生'
: (this.currentUser.positionList[0].positionName.includes('护士') ? '护士' : (
this.currentUser.positionList[0].positionName.includes('医辅') ? '医辅' : ''
))
this.positionName ? this.getPatientInfo() : this.$message.error('此链接只限用户类型为医生、护士和医辅的身份跳转')
} else {
this.positionName = ''
// this.positionName = positionName.includes('') ? ''
// : (this.currentUser.positionList[0].positionName.includes('') ? '' : (
// this.currentUser.positionList[0].positionName.includes('') ? '' : ''
// ))
this.positionName.includes('医生') ||
this.positionName.includes('护士') ||
this.positionName.includes('医辅') ? this.getPatientInfo() : this.$message.error('此链接只限用户类型为医生、护士和医辅的身份跳转')
} else {
this.$message.error('此链接只限医生和护士角色跳转')
}
} else {
// histoken
this.currentUser.positionList[0].positionName.includes('医生') ? this.$router.push({ name: 'outpatientManagement' }) : this.$router.push({ name: 'patientManagement' })
this.positionName.includes('医生') ? this.$router.push({ name: 'outpatientManagement' }) : this.$router.push({ name: 'patientManagement' })
}
} else if (res.code === 500) {
this.$router.push({ name: 'login' })
@ -69,7 +73,7 @@ export default {
} else {
res.data ? this.jumpFun() : this.getHisPatientInfo()
}
}).catch(() => {})
}).catch(() => { })
},
// HIS
getHisPatientInfo() {
@ -89,7 +93,7 @@ export default {
this.$message.error('his中未查询到该患者,请和护士沟通,登录系统执行手动引入操作')
}
}
}).catch(() => {})
}).catch(() => { })
},
//
async savePatientInfo() {
@ -109,12 +113,12 @@ export default {
//
jumpFun() {
this.$router.push({
path: this.positionName === '医生' ? 'seeDoctor' : '/seeDoctorOne',
path: this.positionName.includes('医生') ? 'seeDoctor' : '/seeDoctorOne',
query: {
info: this.$Base64.encode(JSON.stringify({
patientIdNumber: this.returnParam.patientIdNumber.toUpperCase(),
patientCentreId: this.currentUser.centreId,
title: this.positionName === '医生' ? '门诊' : '分诊'
title: this.positionName.includes('医生') ? '门诊' : '分诊'
}))
}
})

BIN
static/word/hzqg.docx

Binary file not shown.

BIN
static/word/operation-manual-QGY.docx

Binary file not shown.

BIN
static/word/operation-manual-YSG.docx

Binary file not shown.

BIN
屈光操作手册.docx

Binary file not shown.

BIN
眼科专病平台需求.docx

Binary file not shown.
Loading…
Cancel
Save