Browse Source

修改

master
刘灿 6 months ago
parent
commit
bdebe670fb
  1. 5
      src/components/H5form/consent-book-jmjl.vue
  2. 5
      src/components/H5form/consent-book-zfz-jgzl.vue
  3. 2
      src/components/H5form/lhopera-consent-book.vue
  4. 27
      src/components/H5form/operation-nursing-record.vue
  5. 17
      src/components/H5form/operation-plan.vue
  6. 97
      src/components/H5form/operation-record.vue
  7. 3
      src/components/H5form/payDemandNote.vue
  8. 4
      src/components/H5form/qg-dzbl.vue
  9. 2
      src/components/H5form/talk-record.vue
  10. 23
      src/mixins/operationPlan.js
  11. 119
      src/mixins/operationRecord.js
  12. 2
      src/mixins/yiXinQianSign.js
  13. 9
      src/page-subspecialty/App.vue
  14. 8
      src/page-subspecialty/router/index.js
  15. 2
      src/page-subspecialty/views/authorize.vue
  16. 1
      src/page-subspecialty/views/main.vue
  17. 260
      src/page-subspecialty/views/modules/chargeManagement/alertSet/add-or-update.vue
  18. 14
      src/page-subspecialty/views/modules/chargeManagement/alertSet/index.vue
  19. 154
      src/page-subspecialty/views/modules/outpatientManagement/index.vue
  20. 188
      src/page-subspecialty/views/modules/patientManagement/index.vue
  21. 419
      src/page-subspecialty/views/modules/seeDoctor/archives/index.vue
  22. 1
      src/page-subspecialty/views/modules/surgicalManagement/operationList/index.vue
  23. 4
      src/page-subspecialty/views/modules/systemManagement/formSet/operaRecordSet.vue
  24. 75
      src/page-subspecialty/views/modules/systemManagement/operaFs/index.vue
  25. 102
      src/page-subspecialty/views/modules/systemManagement/operaFs/operaAdd.vue

5
src/components/H5form/consent-book-jmjl.vue

@ -360,6 +360,7 @@ import h5formButton from '@/components/H5formOhter/h5formButton'
// import recordFile from '@/page-subspecialty/views/modules/seeDoctor/archives/record-file'
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob'
import { isIDNumber, isHuzhao } from '@/utils/validate'
import yiXinQianSign from '@/mixins/yiXinQianSign.js'
import { Base64 } from 'js-base64'
export default {
components: {
@ -367,7 +368,7 @@ export default {
crfEditor
// recordFile
},
mixins: [signGet, publicFile, htmlToPdfToBlob],
mixins: [signGet, publicFile, htmlToPdfToBlob,yiXinQianSign],
props: {
archiveCaseCRFItem: {
type: Object,
@ -792,7 +793,9 @@ export default {
sendCaSign() {
if (this.formListValue.zdName && this.formListValue.ysName && this.formListValue.dlrYj && this.formListValue.ysSignDate && this.formListValue.dlrSignDate) {
this.formListValue.zdSign = ''
this.formListValue.zdName = ''
this.formListValue.ysSign = ''
this.formListValue.ysName = ''
this.formListValue.dlrSign = ''
this.loading = this.$loading({
lock: true,

5
src/components/H5form/consent-book-zfz-jgzl.vue

@ -372,6 +372,7 @@ import h5formButton from '@/components/H5formOhter/h5formButton'
// import recordFile from '@/page-subspecialty/views/modules/seeDoctor/archives/record-file'
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob'
import { isIDNumber, isHuzhao } from '@/utils/validate'
import yiXinQianSign from '@/mixins/yiXinQianSign.js'
import { Base64 } from 'js-base64'
export default {
components: {
@ -379,7 +380,7 @@ export default {
crfEditor
// recordFile
},
mixins: [signGet, publicFile, htmlToPdfToBlob],
mixins: [signGet, publicFile, htmlToPdfToBlob,yiXinQianSign],
props: {
archiveCaseCRFItem: {
type: Object,
@ -804,7 +805,9 @@ export default {
sendCaSign() {
if (this.formListValue.zdName && this.formListValue.ysName && this.formListValue.dlrYj && this.formListValue.ysSignDate && this.formListValue.dlrSignDate) {
this.formListValue.zdSign = ''
this.formListValue.zdName = ''
this.formListValue.ysSign = ''
this.formListValue.ysName = ''
this.formListValue.dlrSign = ''
this.loading = this.$loading({
lock: true,

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

@ -878,7 +878,9 @@ export default {
sendCaSign() {
if (this.formListValue.zdName && this.formListValue.ysName) {
this.formListValue.zdSign = ''
this.formListValue.zdName = ''
this.formListValue.ysSign = ''
this.formListValue.ysName = ''
this.formListValue.dlrSign = ''
this.loading = this.$loading({
lock: true,

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

@ -332,28 +332,13 @@
</span>
</span>
</div>
<div style="display: flex;align-items: center;margin-top:4px;">
<!-- <div style="display: flex;align-items: center;margin-top:4px;">
医生签字
<span v-if="
!formListValue.centerDoctorSign && saveEidtTitle === '保存'
" style="cursor: pointer; color: #409eff; padding-left: 16px" @click="signOrder()">获取签字</span>
<img v-else :src="formListValue.centerDoctorSign" alt="" width="70px">
<!-- <span v-if="formListValue.centerDoctorSign">
<img
:src="formListValue.centerDoctorSign"
alt=""
width="90px"
@click="signOrder('centerDoctorSign')"
>
<i
v-show="saveEidtTitle === '保存'"
class="el-icon-circle-close"
style="font-size: 20px; cursor: pointer"
@click="imageRemoveClick('centerDoctorSign')"
/>
</span> -->
</div>
</div> -->
<!-- 器械名称 -->
<div style="text-align: left;margin-top: 8px;">
<p style="font-weight: 700;margin:0;padding:0;">器械名称</p>
@ -719,12 +704,12 @@
</el-form>
</div>
<div style="text-align: center;;margin-top:20px;">
<div style="margin: 0 auto;font-size:36px;color:green;font-weight:700;margin-bottom:10px;"
<!-- <div style="margin: 0 auto;font-size:36px;color:green;font-weight:700;margin-bottom:10px;"
v-show="formListValue.fileCode">已CA签
</div>
<div style="margin: 0 auto;font-size:36px;color:red;font-weight:700;margin-bottom:10px;"
v-show="!formListValue.fileCode">未CA签
</div>
</div> -->
<div>
<span style="padding-right:10px;">保存人{{
formListValue.createName ? formListValue.createName : "-"
@ -1078,7 +1063,7 @@ export default {
})
console.log(this.formListValue)
}
res.data.centerDoctorSign ? '' : this.getZdDoctorSign('centerDoctorSign', '', 'centerDoctorCode', 'centerDoctorName')
// res.data.centerDoctorSign ? '' : this.getZdDoctorSign('centerDoctorSign', '', 'centerDoctorCode', 'centerDoctorName')
res.data.backNurseSign ? '' : this.getSystomSign('backNurseSign', '', 'backNurseCode', 'backNurseName')
} else {
this.$message.error(res.msg)
@ -1233,7 +1218,7 @@ export default {
this.operaFormDataCaSign({
caSignData: JSON.stringify(this.formListValue),
doctorCode: this.formListValue.backNurseCode,
formFlag: '7',
formFlag: '12',
formId: res.data,
formName: '屈光手术护理记录单',
patientId: this.archiveCaseCRFItem.patientId,

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

@ -293,13 +293,12 @@
<div>
<span class="flex-7" style="padding-right:140px">
医生签字
<span v-if="formListValue.doctorSign">
<!-- <span v-if="!formListValue.doctorSign" style="padding-left:10px;">{{ formListValue.createName ? formListValue.createName : '-' }}</span> -->
<!-- v-else -->
<img :src="formListValue.doctorSign" alt="" width="90px">
<span>
<span v-if="!formListValue.doctorSign" style="padding-left:10px;">{{ formListValue.doctorName ? formListValue.doctorName : '-' }}</span>
<img v-else :src="formListValue.doctorSign" alt="" width="90px">
</span>
</span>
<div class="flex-7 width-inner-200 date-class">
<div class="flex-7 width-inner-200 date-class" style="margin-top:20px;">
<span> </span>
<el-date-picker v-model="formListValue.doctorSignTime" class="margin-right-6" type="datetime"
format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="日期" />
@ -501,6 +500,7 @@ export default {
qtOs: [],
bz: '',
//
doctorName:'',
doctorSign: '',
doctorSignTime: '',
//
@ -598,7 +598,8 @@ export default {
},
//
getSign() {
this.getSystomSign('doctorSign', 'doctorSignTime', 'createCode', 'createName')
this.getSystomSign('doctorSign', '', '', 'doctorName')
this.formListValue.doctorSignTime ? '' : this.formListValue.doctorSignTime = this.$moment().format('YYYY-MM-DD HH:mm')
this.formListValue.patientOrDlrSignTime ? '' : this.formListValue.patientOrDlrSignTime = this.$moment().add(5, 'minutes').format('YYYY-MM-DD HH:mm')
},
//
@ -779,7 +780,6 @@ export default {
})
this.saveEidtTitle = '编辑'
// this.statusHandle() //
setTimeout(() => {
if (this.formListValue.isShowPatientOrDlrSign && this.caOpenStatus) {
this.sendCaSign()
@ -809,8 +809,9 @@ export default {
},
// CA
sendCaSign() {
if (this.formListValue.doctorSign) {
if (this.formListValue.doctorName) {
this.formListValue.doctorSign = ''
this.formListValue.doctorName = ''
this.formListValue.patientOrDlrSign = ''
this.loading = this.$loading({
lock: true,

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

@ -77,23 +77,25 @@
<div class="plan-data">
<p class="plan-title">验光核查</p>
<div class="data">
OD{{bljcList.plan.zjygXtOd1 ? bljcList.plan.zjygXtOd1 : '-'}}
/ {{bljcList.plan.zjygXtOd2 ? bljcList.plan.zjygXtOd2 : -''}}
OD{{bljcList.plan.zjygXtOd1 ? bljcList.plan.zjygXtOd1 : '-'}}
/ {{bljcList.plan.zjygXtOd2 ? bljcList.plan.zjygXtOd2 : -''}}
/ {{bljcList.plan.zjygXtOd3 ? bljcList.plan.zjygXtOd3 : '-'}}
</div>
<div class="data">
OS{{bljcList.plan.zjygXtOs1 ? bljcList.plan.zjygXtOs1 : '-'}}
/ {{bljcList.plan.zjygXtOs2 ? bljcList.plan.zjygXtOs2 : -''}}
<div class="data">
OS{{bljcList.plan.zjygXtOs1 ? bljcList.plan.zjygXtOs1 : '-'}}
/ {{bljcList.plan.zjygXtOs2 ? bljcList.plan.zjygXtOs2 : -''}}
/ {{bljcList.plan.zjygXtOs3 ? bljcList.plan.zjygXtOs3 : '-'}}
</div>
</div>
<div class="plan-data">
<p class="plan-title">预留屈光度</p>
<div class="data">
OD{{bljcList.plan.ylqgdOd ? bljcList.plan.ylqgdOd : '-'}} / {{bljcList.plan.ylsgdOd ? bljcList.plan.ylsgdOd : '-'}}
OD{{bljcList.plan.ylqgdOd ? bljcList.plan.ylqgdOd : '-'}} /
{{bljcList.plan.ylsgdOd ? bljcList.plan.ylsgdOd : '-'}}
</div>
<div class="data">
OS{{bljcList.plan.ylqgdOs ? bljcList.plan.ylqgdOs : '-'}} / {{bljcList.plan.ylsgdOs ? bljcList.plan.ylsgdOs : '-'}}
<div class="data">
OS{{bljcList.plan.ylqgdOs ? bljcList.plan.ylqgdOs : '-'}} /
{{bljcList.plan.ylsgdOs ? bljcList.plan.ylsgdOs : '-'}}
</div>
</div>
<div class="plan-data">
@ -202,7 +204,8 @@
右眼OD</div>
<!-- 中间内容 -->
<div>
<div v-show="pageTitle !== '表单设置'" style="margin-top:10px;margin-bottom:8px;text-align:left;">
<div :style="{ order: 1 }" v-show="pageTitle !== '表单设置'"
style="margin-top:10px;margin-bottom:8px;text-align:left;">
手术方式
<span v-if="formListValue.ssfsOd">
<span>{{ formListValue.ssfsOd }}</span>
@ -223,6 +226,34 @@
</el-select>
<!-- <span>手术方式{{ formListValue.ssfsOd ? formListValue.ssfsOd : '-' }}</span> -->
</div>
<!-- <div v-for="(item,index) in operaParamsList" :key="index" class="operaParamsContent">
<div :style="{ order: item.sort }" class="margin-bottom-8 width-160 left width-120"
v-show="item.name==='nomo'&& item.checked">
<span>nomo</span>
<el-input v-model="formListValue.nomoOd1" placeholder="" /> /
<el-input v-model="formListValue.nomoOd2" placeholder="" />
</div>
<div :style="{ order: item.sort }" class="margin-bottom-8 width-160 left"
v-show="item.name==='手术类型'&& item.checked">
<span>手术类型</span>
<span>
<el-select v-if="!isSaveSeccess" v-model="formListValue.sslxOd" allow-create
default-first-option filterable placeholder="" clearable>
<el-option v-for="(item, index) in sslx" :key="index" :label="item" :value="item" />
</el-select>
<span v-else
style="border-bottom:1px solid #ccc;padding:0 16px;">{{ formListValue.sslxOd ? formListValue.sslxOd : '-' }}</span>
</span>
</div>
<div :style="{ order: item.sort }" class="margin-bottom-8 width-160 left"
v-show="item.name==='模式'&& item.checked">
<span>模式</span>
<span>
<el-input v-if="!isSaveSeccess" v-model="formListValue.msOd" placeholder="" />
<span v-else style="border-bottom:1px solid #ccc;padding:0 16px;">{{formListValue.msOd}}</span>
</span>
</div>
</div> -->
<div class="margin-bottom-8 width-160 left width-120">
<span>nomo</span>
<el-input v-model="formListValue.nomoOd1" placeholder="" /> /
@ -1202,6 +1233,13 @@
</div>
</el-form>
</div>
<!-- <div v-show="pageTitle == '表单设置'" style="width:300px" class="operaRecordCheckbox">
<draggable tag="ul" :list="operaParamsList" class="list-group" @end="onDragEnd">
<el-checkbox v-for="(item,index) in operaParamsList" :key="index" :label="item.name" v-model="item.checked">
{{item.name}}
</el-checkbox>
</draggable>
</div> -->
</div>
<div v-if="pageTitle !== '表单设置'" id="m1" style="margin-top:20px;text-align:center;">
@ -1246,13 +1284,14 @@ import blDataInfo from '@/components/H5form/blDataInfo'
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob'
import yiXinQianSign from '@/mixins/yiXinQianSign.js'
import { pinyin } from 'pinyin-pro'
import draggable from 'vuedraggable'
export default {
components: {
h5formButton,
intoTemplate,
operaRecordIntoMrz,
blDataInfo
blDataInfo,
draggable
},
mixins: [signGet, publicFile, operationRecord, htmlToPdfToBlob, yiXinQianSign],
props: {
@ -1438,22 +1477,7 @@ export default {
operaOsType: '',
ssfsFlag: 0,
bljcList: [],
options: [{
bieMing: '选项1',
operaName: '黄金糕'
}, {
bieMing: '选项2',
operaName: '双皮奶'
}, {
bieMing: '选项3',
operaName: '蚵仔煎'
}, {
bieMing: '选项4',
operaName: '龙须面'
}, {
bieMing: '选项5',
operaName: '北京烤鸭'
}],
checkList: [],
value: '',
value1: '',
isSaveSeccess: false,
@ -1538,6 +1562,14 @@ export default {
this.$message.error(res.msg)
}
},
// sort
onDragEnd(evt) {
console.log('evt', evt);
this.operaParamsList.forEach((item, index) => {
item.sort = index + 1
})
console.log('this.operaParamsList', this.operaParamsList);
},
//
async getInfo() {
console.log(this.archiveCaseCRFItem)
@ -1890,6 +1922,10 @@ export default {
<style lang="scss">
.operation-record-father {
.operaParamsContent {
display: flex;
flex-direction: column;
}
.operaPlanYsy {
color: red !important;
font-weight: 700;
@ -2060,4 +2096,11 @@ export default {
.printTable .ssjlContent {
height: 770px;
}
.operaRecordCheckbox {
border-left: 1px solid #ccc;
padding-left: 20px;
.el-checkbox {
display: block;
}
}
</style>

3
src/components/H5form/payDemandNote.vue

@ -509,7 +509,8 @@ export default {
},
sendCaSign() {
if (this.formListValue.gzrName) {
this.formListValue.ysSign = ''
this.formListValue.gzrSign = ''
this.formListValue.gzrName = ''
this.formListValue.dlrSign = ''
this.loading = this.$loading({
lock: true,

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

@ -880,7 +880,7 @@
<!--角膜直径-角膜厚度-->
<div v-if="scope.row.jmzjJmhd.length>0" class="width-100 center">
<el-input v-model="formListValue.jmzjOd" placeholder="" :class="formListValue.jmzjOd < 11 ? 'colorInputRed' :''"/> mm /
<el-input v-model="formListValue.jmhdOd" placeholder="" :class="formListValue.jmhdOd < 480 ? 'colorInputRed' :''"/> μm
<el-input v-model="formListValue.jmhdOd" placeholder="" :class="formListValue.jmhdOd < 480 || formListValue.jmhdOd > 550 ? 'colorInputRed' :''"/> μm
</div>
<!-- 眼压-->
<div v-if="scope.row.yanya.length>0" class="width-100 center">
@ -1329,7 +1329,7 @@
<!--角膜直径-角膜厚度-->
<div v-if="scope.row.jmzjJmhd.length>0" class="width-100 center">
<el-input v-model="formListValue.jmzjOs" placeholder="" :class="formListValue.jmzjOs < 11 ? 'colorInputRed' :''"/> mm /
<el-input v-model="formListValue.jmhdOs" placeholder="" :class="formListValue.jmhdOs < 480 ? 'colorInputRed' :''"/> μm
<el-input v-model="formListValue.jmhdOs" placeholder="" :class="formListValue.jmhdOs < 480 || formListValue.jmhdOd > 550 ? 'colorInputRed' :''"/> μm
</div>
<!-- 眼压-->
<div v-if="scope.row.yanya.length>0" class="width-100 center">

2
src/components/H5form/talk-record.vue

@ -920,7 +920,9 @@ export default {
sendCaSign() {
if (this.formListValue.zdName && this.formListValue.ysName && this.formListValue.dlrYj && this.formListValue.ysSignDate && this.formListValue.dlrSignDate) {
this.formListValue.zdSign = ''
this.formListValue.zdName = ''
this.formListValue.ysSign = ''
this.formListValue.ysName = ''
this.formListValue.dlrSign = ''
this.loading = this.$loading({
lock: true,

23
src/mixins/operationPlan.js

@ -95,29 +95,6 @@ export default {
// 患者签字
patientOrDlrSign:'',
},{
name: 'nomo',
nameClass: 'nomo',
// 验光核查
YGHC: '',
// 预留屈光度
YLQGD: '',
// 预期矫正度数
YQJZDS: '',
//散光预留度数
SGYLDS:'',
// 手术方式
operationList: '',
// nomo
nomo:'nomo',
// 其他
QT: '',
// 备注
bz: '',
// 医生签字
doctorSign: '',
// 患者签字
patientOrDlrSign:'',
}, {
name: '其他',
nameClass: 'qt',
// 验光核查

119
src/mixins/operationRecord.js

@ -157,7 +157,124 @@ export default {
ssyqOd: '',
// 备注
bz: ''
}
},
operaParamsList: [{
name:'nomo',
sort:1,
checked: false,
},{
name:'手术类型',
sort:2,
checked: false,
},{
name:'模式',
sort:3,
checked: false,
},{
name:'矫正度数',
sort:4,
checked: false,
},{
name:'光学/治疗区直径',
sort:5,
checked: false,
},{
name:'帽厚度',
sort:6,
checked: false,
},{
name:'吸引环参数',
sort:7,
checked: false,
},{
name:'瓣厚度',
sort:8,
checked: false,
},{
name:'切削深度',
sort:9,
checked: false,
},{
name:'剩余基质厚度',
sort:10,
checked: false,
},{
name:'上皮中央/周边厚度',
sort:11,
checked: false,
},{
name:'总切削深度',
sort:12,
checked: false,
},{
name:'移心量',
sort:13,
checked: false,
},{
name:'MCC',
sort:14,
checked: false,
},{
name:'Tr',
sort:15,
checked: false,
},{
name:'Ts',
sort:16,
checked: false,
},{
name:'ADD',
sort:17,
checked: false,
},{
name:'核黄素类型',
sort:18,
checked: false,
},{
name:'渗透时间',
sort:19,
checked: false,
},{
name:'渗透评估',
sort:20,
checked: false,
},{
name:'角膜厚度',
sort:21,
checked: false,
},{
name:'角膜厚度照射后',
sort:22,
checked: false,
},{
name:'照射模式',
sort:23,
checked: false,
},{
name:'照射直径',
sort:24,
checked: false,
},{
name:'辐照度',
sort:25,
checked: false,
},{
name:'照射时间',
sort:26,
checked: false,
},{
name:'总能量',
sort:27,
checked: false,
},{
name:'术中情况',
sort:28,
checked: false,
},{
name:'手术仪器',
sort:29,
checked: false,
}],
}
}
}

2
src/mixins/yiXinQianSign.js

@ -34,7 +34,7 @@ export default {
console.log('customParams', customParams)
console.log('CA医生签名接口调取base64', base64)
// console.log('customParams.caParams.signUrl', customParams.caParams.signUrl)
const url = caBack ? (caBack.signUrl ? caBack.signUrl : '/hz_quguang/caSign') : (customParams.caParams.signUrl ? customParams.caParams.signUrl : 'quguang/caSign')
const url = caBack ? (caBack.signUrl ? caBack.signUrl : '/hz_quguang/caSign') : (customParams.caParams.signUrl ? customParams.caParams.signUrl : 'hz_quguang/caSign')
const { data: res } = await this.$http.post(url, caBack || {
// 待签名文件(Base64/string)
fileData: base64 || '',

9
src/page-subspecialty/App.vue

@ -1,9 +1,13 @@
<template>
<div name="el-fade-in-linear">
<router-view v-if="!$route.meta.keepAlive" />
<keep-alive>
<router-view v-if="$route.meta.keepAlive"></router-view>
<router-view v-if="$route.meta.keepAlive" />
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>
<!-- <keep-alive include="patientManagement,outpatientManagement,operationList">
<router-view></router-view>
</keep-alive> -->
<!-- <router-view></router-view> -->
</div>
</template>
@ -24,6 +28,7 @@ export default {
'$i18n.locale': 'i18nHandle'
},
created() {
console.log('app...')
this.i18nHandle(this.$i18n.locale)
},
methods: {

8
src/page-subspecialty/router/index.js

@ -219,7 +219,7 @@ router.beforeEach((to, from, next) => {
}
// window.SITE_CONFIG['menuList'] = res.data
const menuListChild = res.data.filter(item => item.children.length > 0)
// console.log(menuListChild)
console.log(menuListChild)
fnAddDynamicMenuRoutes(JSON.parse(JSON.stringify(res.data)), menuListChild.length)
next({ ...to, replace: true })
@ -260,7 +260,7 @@ function fnCurrentRouteIsPageRoute(route, pageRoutes = []) {
*/
function fnAddDynamicMenuRoutes(menuList = [], menuListChildLength, routes = []) {
let index = 0
// console.log(menuList)
// console.log('menuList',menuList)
menuList.forEach((item, i) => {
// eslint-disable-next-line
// console.log('=================',item);
@ -303,12 +303,12 @@ function fnAddDynamicMenuRoutes(menuList = [], menuListChildLength, routes = [])
}
})
// routes = menuList
// console.log(routes)
// console.log('routes',routes)
// 此处一定要加判断,因为此方法在递归,要等到递归完成后再执行下面的内容
// 坑!!!如果不加此判断,this.$route.matched面包屑的父级就不会展示
if (menuListChildLength === index) {
routes = menuList
console.log(routes)
// console.log('routes1',routes)
// PH:底层调用一次
// 添加路由
router.addRoutes([

2
src/page-subspecialty/views/authorize.vue

@ -31,8 +31,8 @@
<i class="el-icon-error padding-right-10" />
<span>您的签名CA未授权请先进行CA授权</span>
</span>
<el-button type="warning" @click="caSubmitHandle()">CA授权</el-button>
</div>
<el-button type="warning" @click="caSubmitHandle()">CA授权</el-button>
</div>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="auto" class="form-custom">
<el-form-item prop="employeeId" label="用户名" label-width="100px">

1
src/page-subspecialty/views/main.vue

@ -43,6 +43,7 @@ export default {
$route: 'routeHandle'
},
created() {
console.log('main...');
this.windowResizeHandle()
this.routeHandle(this.$route)
Promise.all([

260
src/page-subspecialty/views/modules/chargeManagement/alertSet/add-or-update.vue

@ -1,38 +1,54 @@
<template>
<el-dialog
class="alert-setting"
:visible.sync="visible"
width="30%"
:title="dataForm.id ? '修改预警条件':'新增预警条件'"
>
<el-dialog class="alert-setting" :visible.sync="visible" width="60%" :title="dataForm.id ? '修改预警条件':'新增预警条件'">
<el-form ref="dataForm" :model="dataForm" :rules="dataRule">
<el-form-item label="指标名称:" label-width="100px" prop="name">
<el-select v-model="dataForm.name " placeholder="请选择指标名称" clearable>
<el-option v-for="(item,index) in targetNameList " :key="index" :value="item.name" :label="item.name" @click.native="selectOptionHandle(item)" />
<el-option v-for="(item,index) in targetNameList " :key="index" :value="item.name" :label="item.name"
@click.native="selectOptionHandle(item)" />
</el-select>
</el-form-item>
<!-- flag=1较上次上升/下降flag=0值大于/小于 -->
<template v-if="ISFlag">
<el-form-item label="值大于:" prop="greaterThan" label-width="100px">
<el-input v-model="dataForm.greaterThan" placeholder="请填写值" />
<span class="company">{{ dataForm.targetUnit }}</span>
</el-form-item>
<el-form-item label="值小于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.lessThan" placeholder="请填写值" />
<span class="company">{{ dataForm.targetUnit }}</span>
</el-form-item>
</template>
<template v-else>
<el-form-item label="较上次下降:" label-width="100px" prop="lowerThan">
<el-input v-model="dataForm.lowerThan" placeholder="请填写值" />
</el-form-item>
<el-form-item label="较上次上升:" label-width="100px" prop="upThan">
<el-input v-model="dataForm.upThan" up="请填写值" />
</el-form-item>
</template>
<el-form-item label="启用" label-width="90px">
<el-switch v-model="dataForm.status" :active-value="1" :inactive-value="0" />
</el-form-item>
<div class="paramsSet">
<div>
<el-form-item label="值大于:" prop="greaterThan" label-width="100px">
<el-input v-model="dataForm.greaterThan" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值小于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.lessThan" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值大于等于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.greaterThenEqual" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值小于等于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.lessThanEqual" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值等于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.equal" placeholder="请填写值" />
</el-form-item>
<el-form-item label="启用" label-width="90px">
<el-switch v-model="dataForm.status" :active-value="1" :inactive-value="0" />
</el-form-item>
</div>
<div>
<el-form-item label="值大于:" prop="greaterThan" label-width="100px">
<el-input v-model="dataForm.greaterThan" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值小于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.lessThan" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值大于等于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.greaterThenEqual" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值小于等于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.lessThanEqual" placeholder="请填写值" />
</el-form-item>
<el-form-item label="值等于:" label-width="100px" prop="lessThan">
<el-input v-model="dataForm.equal" placeholder="请填写值" />
</el-form-item>
<el-form-item label="启用" label-width="90px">
<el-switch v-model="dataForm.status" :active-value="1" :inactive-value="0" />
</el-form-item>
</div>
</div>
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
@ -44,24 +60,91 @@
<script>
import debounce from 'lodash/debounce'
export default {
props: {
targetNameList: {
type: Array,
default: () => []
}
},
data() {
return {
visible: false,
targetNameList: [{
name: '裸眼视力远-明',
key: 'slLyYuanMingOd',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '裸眼视力近-明',
key: 'slLyJinMingOd',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '常用戴镜视力-明',
key: 'slDjMingOd',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '裸眼视力远-暗',
key: 'slLyYuanAnOd',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '裸眼视力近-暗',
key: 'slLyJinAnOd',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '常用戴镜视力-暗',
key: 'slDjAnOd',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '现镜度数1',
key: 'xjdsOd1',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '现镜度数2',
key: 'xjdsOd2',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}, {
name: '现镜度数3',
key: 'xjdsOd3',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
}],
dataForm: {
greaterThan: '', //
lessThan: '', //
name: '',
greaterThan: '', //
lessThan: '', //
greaterThenEqual: '', //
lessThanEqual: '', //
equal: '', //
id: '',
status: 1, // 1 0
lowerThan: '', //
upThan: '', //
name: '', //
targetUnit: '' //
},
ISFlag: true // true
}
@ -76,8 +159,30 @@ export default {
}
},
created() {
},
methods: {
//
init() {
this.visible = true
this.$nextTick(() => {
// this.getTargetName()
this.$refs.dataForm.resetFields() //
if (this.dataForm.id) {
this.getInfo()
}
})
},
//
async getTargetName() {
const { data: res } = await this.$http.get('/hz_quguang/sys/target/selectTarget')
if (res.code === 0) {
this.targetNameList = res.data
} else {
this.$message.error(res.msg)
}
},
//
selectOptionHandle(item) {
console.log(item)
@ -91,16 +196,6 @@ export default {
// console.log(e)
// this.dataForm.status = e ? 1 : 0
// },
//
init() {
this.visible = true
this.$nextTick(() => {
this.$refs.dataForm.resetFields() //
if (this.dataForm.id) {
this.getInfo()
}
})
},
//
getInfo() {
this.$http.get(`/hz_quguang/sys/target/${this.dataForm.id}`).then(({ data: res }) => {
@ -115,21 +210,12 @@ export default {
}).catch(() => { })
},
//
dataFormSubmitHandle: debounce(function() {
dataFormSubmitHandle: debounce(function () {
console.log(this.dataForm)
this.$refs.dataForm.validate((valid) => {
if (!valid) {
return false
}
// if (this.ISFlag && !this.dataForm.greaterThan && !this.dataForm.lessThan) {
// return this.$message.error('')
// } else if (!this.ISFlag) {
// if (!this.dataForm.lowerThan && !this.dataForm.upThan) {
// return this.$message.error('')
// } else if (this.dataForm.lowerThan && this.dataForm.upThan) {
// return this.$message.error('')
// }
// }
this.$http[!this.dataForm.id ? 'post' : 'put']('/hz_quguang/sys/target', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
@ -143,7 +229,7 @@ export default {
this.$emit('refreshDataList')
}
})
}).catch(() => {})
}).catch(() => { })
})
}, 1000, { leading: true, trailing: false })
}
@ -151,6 +237,10 @@ export default {
</script>
<style lang="scss">
.alert-setting {
.paramsSet {
display: flex;
}
.company {
display: inline-block;
width: 60px;
@ -160,29 +250,29 @@ export default {
display: flex;
}
.el-dialog__header {
margin-bottom:12px
margin-bottom: 12px;
}
.el-dialog__body {
padding-right: 30px;
}
.formItemOne .el-form-item__content {
display: flex;
}
.el-date-editor.el-input,
.el-date-editor.el-input__inner {
width: 100%;
}
.el-select {
display: block;
width: 100%;
}
.el-input-number {
display: block;
width: 100%;
}
.el-switch {
line-height: 40px;
display: block;
}
.el-dialog__body {
padding-right: 30px;
}
.formItemOne .el-form-item__content {
display: flex;
}
.el-date-editor.el-input, .el-date-editor.el-input__inner{
width: 100%;
}
.el-select{
display: block;
width: 100%;
padding-right: 50px;
}
.el-input-number {
display: block;
width: 100%;
}
.el-switch {
line-height: 40px;
display: block;
}
}
</style>

14
src/page-subspecialty/views/modules/chargeManagement/alertSet/index.vue

@ -25,7 +25,7 @@
</template>
</el-table-column>
</el-table>
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" :target-name-list="targetNameList" @refreshDataList="getDataList" />
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" />
<!-- <el-pagination background layout="prev, pager, next" :total="total" @current-change="pageCurrentChangeHandle" /> -->
</div>
</template>
@ -42,7 +42,6 @@ export default {
mixins: [mixinViewModule, tableAutoHeight],
data() {
return {
targetNameList: [],
mixinViewModuleOptions: {
getDataListURL: '/hz_quguang/sys/target/targetList',
deleteURL: '/hz_quguang/sys/target'
@ -50,18 +49,9 @@ export default {
}
},
created() {
this.getTargetName()
},
methods: {
//
async getTargetName() {
const { data: res } = await this.$http.get('/hz_quguang/sys/target/selectTarget')
if (res.code === 0) {
this.targetNameList = res.data
} else {
this.$message.error(res.msg)
}
},
//
async switchHandle(scopeRow, e) {
console.log(scopeRow, e)

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

@ -4,37 +4,17 @@
<template v-if="isShowPatient">
<div class="patient-info-head">
<el-form :inline="true" :model="dataForm" class="demo-form-inline">
<el-form-item prop="dateRange" label="就诊日期" class="min-width-80 range_inner-220" label-width="100px">
<el-date-picker
v-model="startEndTime"
size="small"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
@change="dateChange"
/>
<el-form-item prop="dateRange" label="就诊日期" class="min-width-80 range_inner-220" label-width="80px">
<el-date-picker v-model="startEndTime" size="small" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" @change="dateChange" />
</el-form-item>
<el-form-item label="PID:">
<el-input
v-model="dataForm.patientId"
size="small"
clearable
placeholder="PID"
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientId')"
/>
<el-form-item label="PID:" >
<el-input v-model="dataForm.patientId" size="small" clearable placeholder=""
@clear="getDataListInitial()" @keyup.enter.native="getDataListInitial('patientId')" />
</el-form-item>
<el-form-item label="患者姓名:" label-width="100px" class="min-width-80">
<el-input
v-model="dataForm.patientName"
placeholder="患者姓名"
size="small"
clearable
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientName')"
/>
<el-form-item label="患者姓名:" label-width="90px" class="min-width-90">
<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="80px" class="min-width-65 min-width-inner-180">
<el-input
@ -46,28 +26,27 @@
@keyup.enter.native="getDataListInitial('patientIdNumber')"
/>
</el-form-item> -->
<el-form-item label="接诊医生:" label-width="100px" class="min-width-80">
<el-select v-model="dataForm.employeeId" 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-form-item label="接诊医生:" label-width="90px" class="min-width-90">
<el-select v-model="dataForm.employeeId" 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 label="就诊类型:" label-width="100px" class="min-width-80">
<el-select v-model="dataForm.jzType" placeholder="就诊类型" size="small" clearable @clear="getDataListInitial()" @change="getDataListInitial()">
<el-option
v-for="(item,index) in jzTypeList"
:key="index"
:label="item.name"
:value="item.value"
/>
<el-form-item label="就诊类型:" label-width="90px" class="min-width-90">
<el-select v-model="dataForm.jzType" placeholder="" size="small" clearable @clear="getDataListInitial()"
@change="getDataListInitial()">
<el-option v-for="(item,index) in jzTypeList" :key="index" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="病历医生:" label-width="110px" class="min-width-80">
<el-input v-model="dataForm.blDoctorName" size="small" clearable @clear="getDataListInitial()" @change="getDataListInitial()" />
<el-form-item label="病历医生:" label-width="90px" class="min-width-90">
<el-select v-model="dataForm.blDoctorName" placeholder="" size="small" clearable
@clear="getDataListInitial()" @change="getDataListInitial()">
<el-option v-for="(item,index) in doctorList" :key="index" :label="item.doctorName"
:value="item.doctorName" />
</el-select>
<!-- <el-input v-model="dataForm.blDoctorName" size="small" clearable @clear="getDataListInitial()"
@change="getDataListInitial()" /> -->
</el-form-item>
<!-- <el-form-item label="患者类别:">
<el-select v-model="dataForm.patType" placeholder="患者类别" size="small" clearable @clear="getDataList()">
@ -105,6 +84,16 @@
<template slot-scope="scope">
{{ 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.czEmrSaveDate ? scope.row.czEmrSaveDate : '-' }}
</template>
</el-table-column>
<el-table-column label="初病保存人" header-align="center" align="center">
<template slot-scope="scope">
{{ scope.row.czEmrSaveName ?scope.row.czEmrSaveName : '-' }}
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="center">
<template slot-scope="scope">
@ -113,48 +102,23 @@
</el-table-column>
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="180">
<template slot-scope="scope">
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="browseClick(scope.row)"
>病历</span>
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="showDetail(scope.row)"
>患者360</span>
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="hotPrint(scope.row)"
>条码</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="browseClick(scope.row)">病历</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="showDetail(scope.row)">患者360</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="hotPrint(scope.row)">条码</span>
</template>
</el-table-column>
</el-table>
<el-pagination
background
layout="total,prev, pager, next"
:total="total"
:current-page.sync="page"
@current-change="pageCurrentChangeHandle"
/>
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page"
@current-change="pageCurrentChangeHandle" />
</div>
<!-- 详情页 -->
<detail-view
v-if="detailViewVisible"
:id="detailId"
ref="viewRef"
:patient-id-number="patientIdNumber"
:patient-id="patientId"
is-search=""
@detailViewVisible="detailViewVisible=false"
/>
<hotPrint
v-if="hotPrintVisible"
ref="hotPrintRef"
:patient-info-obj="currentPatientInfo"
@closeDialog="hotPrintVisible = false"
/>
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" :patient-id-number="patientIdNumber"
:patient-id="patientId" is-search="" @detailViewVisible="detailViewVisible=false" />
<hotPrint v-if="hotPrintVisible" ref="hotPrintRef" :patient-info-obj="currentPatientInfo"
@closeDialog="hotPrintVisible = false" />
</template>
<router-view v-else />
</div>
@ -166,6 +130,7 @@ import tableAutoHeight from '@/mixins/tableAutoHeight'
import detailView from '@/components/360View' // 360
import hotPrint from '@/components/H5formOhter/hotPrint'
export default {
name:'outpatientManagement',
components: {
headTemplate,
detailView,
@ -330,7 +295,7 @@ export default {
}
.el-form-item {
margin-bottom: 0;
width: 25%;
// width: 25%;
}
.el-form-item__content,
.el-select,
@ -341,11 +306,22 @@ export default {
.el-select {
width: 100%;
}
.min-width-80 {
.min-width-100 {
.el-form-item__label {
min-width: 100px;
}
}
.min-width-90 {
.el-form-item__label {
min-width: 90px;
}
}
.min-width-80 {
.el-form-item__label {
min-width: 80px;
}
}
.min-width-65 {
.el-form-item__label {
min-width: 66px;
@ -358,13 +334,13 @@ export default {
}
.range_inner-220 {
.el-range-editor.el-input__inner {
min-width: 220px;
min-width: 220px;
}
}
.min-width-inner-180 {
.el-input__inner {
.el-input__inner {
min-width: 220px;
}
}
}
}
</style>

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

@ -4,37 +4,17 @@
<template v-if="isShowPatient">
<div class="patient-info-head">
<el-form :inline="true" :model="dataForm" class="demo-form-inline">
<el-form-item prop="dateRange" label="就诊日期" class="min-width-80 range_inner-220" label-width="110px">
<el-date-picker
v-model="startEndTime"
size="small"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
@change="dateChange"
/>
<el-form-item prop="dateRange" label="就诊日期" class="min-width-90 range_inner-220" label-width="90px">
<el-date-picker v-model="startEndTime" size="small" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" @change="dateChange" />
</el-form-item>
<el-form-item label="PID:">
<el-input
v-model="dataForm.patientId"
size="small"
clearable
placeholder="PID"
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientId')"
/>
<el-input v-model="dataForm.patientId" size="small" clearable placeholder=""
@clear="getDataListInitial()" @keyup.enter.native="getDataListInitial('patientId')" />
</el-form-item>
<el-form-item label="患者姓名:" label-width="110px" class="min-width-80">
<el-input
v-model="dataForm.patientName"
placeholder="患者姓名"
size="small"
clearable
@clear="getDataListInitial()"
@keyup.enter.native="getDataListInitial('patientName')"
/>
<el-form-item label="患者姓名:" label-width="90px" class="min-width-90">
<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="80px" class="min-width-65 min-width-inner-180">
<el-input
@ -46,28 +26,27 @@
@keyup.enter.native="getDataListInitial('patientIdNumber')"
/>
</el-form-item> -->
<el-form-item label="接诊医生:" label-width="110px" class="min-width-80">
<el-select v-model="dataForm.employeeId" 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-form-item label="接诊医生:" label-width="90px" class="min-width-90">
<el-select v-model="dataForm.employeeId" 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 label="就诊类型:" label-width="110px" class="min-width-80">
<el-select v-model="dataForm.jzType" placeholder="就诊类型" size="small" clearable @clear="getDataListInitial()" @change="getDataListInitial()">
<el-option
v-for="(item,index) in jzTypeList"
:key="index"
:label="item.name"
:value="item.value"
/>
<el-form-item label="就诊类型:" label-width="90px" class="min-width-90">
<el-select v-model="dataForm.jzType" placeholder="" size="small" clearable @clear="getDataListInitial()"
@change="getDataListInitial()">
<el-option v-for="(item,index) in jzTypeList" :key="index" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="病历医生:" label-width="110px" class="min-width-80">
<el-input v-model="dataForm.blDoctorName" size="small" clearable @clear="getDataListInitial()" @change="getDataListInitial()" />
<el-form-item label="病历医生:" label-width="90px" class="min-width-90">
<el-select v-model="dataForm.blDoctorName" placeholder="" size="small" clearable
@clear="getDataListInitial()" @change="getDataListInitial()">
<el-option v-for="(item,index) in doctorList" :key="index" :label="item.doctorName"
:value="item.doctorName" />
</el-select>
<!-- <el-input v-model="dataForm.blDoctorName" size="small" clearable @clear="getDataListInitial()"
@change="getDataListInitial()" /> -->
</el-form-item>
<!-- <el-form-item label="患者类别:">
<el-select v-model="dataForm.patType" placeholder="患者类别" size="small" clearable @clear="getDataList()">
@ -95,15 +74,8 @@
<span style="padding-left:5px;vertical-align: middle;">HIS引入</span>
</el-button>
</head-template>
<el-table
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
:height="tableHeight"
@selection-change="handleSelectionChange"
@sort-change="dataListSortChangeHandle"
>
<el-table ref="multipleTable" :data="dataList" tooltip-effect="dark" style="width: 100%" :height="tableHeight"
@selection-change="handleSelectionChange" @sort-change="dataListSortChangeHandle">
<!-- <el-table-column type="selection" width="45" /> -->
<!-- <el-table-column v-if="dataForm.drgsName=='眼视光'" prop="patType" label="患者类别" header-align="center" align="center" width="140" /> -->
<el-table-column prop="patientId" label="PID " header-align="center" align="center" />
@ -114,7 +86,7 @@
{{ scope.row.patientBirthday ? $options.filters.dateFilterTwo( scope.row.patientBirthday): '- ' }}
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" align="center">
<el-table-column label="备注" header-align="center" align="center">
<template slot-scope="scope">
{{ scope.row.remark ? scope.row.remark : '- ' }}
</template>
@ -133,42 +105,21 @@
</el-table-column>
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="260">
<template slot-scope="scope">
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="browseClick(scope.row)"
>病历</span>
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="addOrUpdateHandle(scope.row.patientIdNumber,scope.row,'修改患者')"
>编辑</span>
<span
v-if="positionName.join().includes('管理员')"
style="color: #fd4d4f; padding-right: 8px"
class="operation-details"
@click="deleteHandle(scope.row.patientIdNumber)"
>删除</span>
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="sendQuestionHandle(scope.row)"
>发送问卷</span>
<span
style="color: #1890ff; padding-right: 8px"
class="operation-details"
@click="hotPrint(scope.row)"
>条码</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="browseClick(scope.row)">病历</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="addOrUpdateHandle(scope.row.patientIdNumber,scope.row,'修改患者')">编辑</span>
<span v-if="positionName.join().includes('管理员')" style="color: #fd4d4f; padding-right: 8px"
class="operation-details" @click="deleteHandle(scope.row.patientIdNumber)">删除</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="sendQuestionHandle(scope.row)">发送问卷</span>
<span style="color: #1890ff; padding-right: 8px" class="operation-details"
@click="hotPrint(scope.row)">条码</span>
</template>
</el-table-column>
</el-table>
<el-pagination
background
layout="total,prev, pager, next"
:total="total"
:current-page.sync="page"
@current-change="pageCurrentChangeHandle"
/>
<el-pagination background layout="total,prev, pager, next" :total="total" :current-page.sync="page"
@current-change="pageCurrentChangeHandle" />
</div>
<!-- 底部全选反选 -->
<!-- <checked-footer
@ -185,40 +136,21 @@
</div>
</checked-footer> -->
<!-- 弹窗, 新增 / 修改 -->
<add-or-update
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataListInitial"
@closeDialog="addOrUpdateVisible=false"
/>
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataListInitial"
@closeDialog="addOrUpdateVisible=false" />
<!-- 修改身份证 -->
<edit-patid
v-if="editPatidVisible"
ref="editPatidRef"
@editPatidVisible="editPatidVisible=false"
@refreshDataList="getDataListInitial"
/>
<edit-patid v-if="editPatidVisible" ref="editPatidRef" @editPatidVisible="editPatidVisible=false"
@refreshDataList="getDataListInitial" />
<!-- HIS引入弹框 -->
<his-add v-if="HisAddVisible" ref="HisAddRef" />
<!-- 详情页 -->
<detail-view
v-if="detailViewVisible"
:id="detailId"
ref="viewRef"
:patient-id-number="patientIdNumber"
:patient-id="patientId"
is-search=""
@detailViewVisible="detailViewVisible=false"
/>
<hotPrint
v-if="hotPrintVisible"
ref="hotPrintRef"
:patient-info-obj="currentPatientInfo"
@closeDialog="hotPrintVisible = false"
/>
<detail-view v-if="detailViewVisible" :id="detailId" ref="viewRef" :patient-id-number="patientIdNumber"
:patient-id="patientId" is-search="" @detailViewVisible="detailViewVisible=false" />
<hotPrint v-if="hotPrintVisible" ref="hotPrintRef" :patient-info-obj="currentPatientInfo"
@closeDialog="hotPrintVisible = false" />
</template>
<router-view v-else />
<!-- <pdfViewer></pdfViewer> -->
<!-- <pdfViewer></pdfViewer> -->
</div>
</template>
<script>
@ -233,6 +165,7 @@ import detailView from '@/components/360View' // 360试图
import hotPrint from '@/components/H5formOhter/hotPrint'
// import pdfViewer from '@/components/pdfViewer.vue'
export default {
name:'patientManagement',
components: {
headTemplate,
AddOrUpdate,
@ -432,7 +365,7 @@ export default {
}
.el-form-item {
margin-bottom: 0;
width: 25%;
// width: 25%;
}
.el-form-item__content,
.el-select,
@ -446,11 +379,21 @@ export default {
.el-select {
width: 100%;
}
.min-width-80 {
.min-width-100 {
.el-form-item__label {
min-width: 100px;
}
}
.min-width-90 {
.el-form-item__label {
min-width: 90px;
}
}
.min-width-80 {
.el-form-item__label {
min-width: 80px;
}
}
.min-width-65 {
.el-form-item__label {
min-width: 65px;
@ -463,14 +406,13 @@ export default {
}
.range_inner-220 {
.el-range-editor.el-input__inner {
min-width: 210px;
min-width: 210px;
}
}
.min-width-inner-180 {
.el-input__inner {
.el-input__inner {
min-width: 180px;
}
}
}
}
</style>

419
src/page-subspecialty/views/modules/seeDoctor/archives/index.vue

@ -1,13 +1,8 @@
<template>
<div class="archives">
<el-tooltip class="item" effect="dark" :content="cybdTitle" placement="top-start">
<el-button
type="warning"
:icon="cybdShow ? 'el-icon-minus' : 'el-icon-plus'"
circle
class="cybdbutton"
@click="cybdButtonClick"
/>
<el-button type="warning" :icon="cybdShow ? 'el-icon-minus' : 'el-icon-plus'" circle class="cybdbutton"
@click="cybdButtonClick" />
</el-tooltip>
<!-- 档案内容 -->
<div class="archives-content">
@ -15,28 +10,15 @@
<!-- :style="{'height': queryList.title !=='分诊' && !userData.positionList[0].positionName.includes('护士') ? '' : '100% '}" -->
<div class="content-left-top">
<!-- <el-tree :data="archiveCaseCRFList" :props="defaultProps" /> -->
<el-tree
ref="my-tree"
:data="archiveCaseCRFList"
:props="defaultProps"
default-expand-all
:current-node-key="currentNodeKey"
node-key="id"
@node-click="handleMoveCopyNodeClick"
>
<el-tree ref="my-tree" :data="archiveCaseCRFList" :props="defaultProps" default-expand-all
:current-node-key="currentNodeKey" node-key="id" @node-click="handleMoveCopyNodeClick">
<span slot-scope="{ node, data }" class="custom-tree-node">
<span v-if="node.level === 1" class="crfType">{{ data.crfType ? data.crfType : 'H5问卷调查' }}</span>
<div
v-if="node.level !== 1"
class="tree-children"
:class="data.id === currentNodeKey ? 'CRFList-list-active' : ''"
@click="CRFListClick(data)"
>
<span
class="tree-date"
:class="data.id === currentNodeKey ? 'tree-date-active' : ''"
>{{ data.formDate }}</span>
<div v-if="node.level !== 1" class="tree-children"
:class="data.id === currentNodeKey ? 'CRFList-list-active' : ''" @click="CRFListClick(data)">
<span class="tree-date"
:class="data.id === currentNodeKey ? 'tree-date-active' : ''">{{ data.formDate }}</span>
<p class="tree-forname">{{ data.formName }}</p>
<!-- superAdmin 1为超级管理员 -->
<!-- data.createName ? data.createName===userData.realName :true -->
@ -45,12 +27,8 @@
(data.createDate == currentDate && !data.saveName) ||
positionName.join().includes('管理员') ||
(data.createDate === currentDate && positionName.join().includes('护士') && (data.formName.includes('问卷调查') || data.formName.includes('心理评估表')))"
type="text"
size="mini"
class="tree-button"
:class="data.id === currentNodeKey ? 'tree-button-active':''"
@click.stop="deleteCRFList(data)"
>
type="text" size="mini" class="tree-button"
:class="data.id === currentNodeKey ? 'tree-button-active':''" @click.stop="deleteCRFList(data)">
<i class="el-icon-delete" />
</el-button>
</div>
@ -68,38 +46,21 @@
</div>
<div class="comonForm-tab">
<el-tabs v-model="comonFormActive" stretch @tab-click="handleClick">
<el-tab-pane
v-for="(item,index) in commeFormTabs"
:key="index"
:label="item.name"
:name="item.name"
class="comonForm-tab-Pane"
>
<div
v-for="(commeFormItem, commeFormLIndex) in commeFormList"
:key="commeFormLIndex"
class="comonForm-list"
@click="comonFormListClick(commeFormLIndex,commeFormItem)"
>
<el-tab-pane v-for="(item,index) in commeFormTabs" :key="index" :label="item.name" :name="item.name"
class="comonForm-tab-Pane">
<div v-for="(commeFormItem, commeFormLIndex) in commeFormList" :key="commeFormLIndex"
class="comonForm-list" @click="comonFormListClick(commeFormLIndex,commeFormItem)">
<div class="text-ellipsis">
<el-tooltip
v-if="commeFormItem.name.length >= 12"
class="item"
effect="dark"
:content="commeFormItem.name"
placement="top-end"
>
<el-tooltip v-if="commeFormItem.name.length >= 12" class="item" effect="dark"
:content="commeFormItem.name" placement="top-end">
<span>{{ commeFormItem.name }}</span>
</el-tooltip>
<span v-else>{{ commeFormItem.name }}</span>
</div>
<i
v-if="
<i v-if="
positionName.join().includes('医辅') ||
(positionName.join().includes('护士') && commeFormItem.name==='屈光预检') ||
positionName.join().includes('医生')"
class="el-icon-plus comonForm-icon"
/>
positionName.join().includes('医生')" class="el-icon-plus comonForm-icon" />
</div>
</el-tab-pane>
</el-tabs>
@ -111,231 +72,86 @@
<span class="padding-right-10">{{ patientInfoObj.patientId }}</span>
<span class="padding-right-10">{{ patientInfoObj.patientName }}</span>
<span class="padding-right-10">{{ patientInfoObj.patientBirthday }}</span>
<span style="color:yellow;font-size:24px;">{{ patientInfoObj.patientAge < 18 ? '未满18周岁' : (patientInfoObj.patientAge > 35 ? '大于35岁' : '') }}</span>
<span
style="color:yellow;font-size:24px;">{{ patientInfoObj.patientAge < 18 ? '未满18周岁' : (patientInfoObj.patientAge > 35 ? '大于35岁' : '') }}</span>
</div>
<div class="content-right-CRF">
<div class="printFather">
<!-- :style="{width:archiveCaseCRFItem.formName==='激光角膜屈光手术同意书' ? '900px' : '900px'}" -->
<div v-if="archiveCaseCRFItem.formName">
<!-- 屈光手术心理评估表 -->
<before-operation-question
v-if="archiveCaseCRFItem.formName==='屈光手术心理评估表'&& formFlag===0"
ref="beforeOperationRef"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:save-eidt-title="saveEidtTitle"
:form-content="H5FormList"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
/>
<before-operation-question v-if="archiveCaseCRFItem.formName==='屈光手术心理评估表'&& formFlag===0"
ref="beforeOperationRef" :archive-case-c-r-f-item="archiveCaseCRFItem" :save-eidt-title="saveEidtTitle"
:form-content="H5FormList" :patient-info-obj="patientInfoObj" :user-data="userData"
:role-list="roleList" :position-name="positionName" :current-url="currentUrl" />
<!-- 眼科病史问卷调查 -->
<eye-question
v-if="archiveCaseCRFItem.formName==='眼科病史问卷调查'&& formFlag===0"
ref="eyeQuestionRef"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:save-eidt-title="saveEidtTitle"
:form-content="H5FormList"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
/>
<qgyj
v-if="archiveCaseCRFItem.formName==='屈光预检'&& formFlag===0"
ref="qgyjRef"
:archive-case-c-r-f-item="archiveCaseCRFItem"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:opera-id="archiveCaseCRFItem.operaId"
:patient-id="patientId"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<qg-dzbl
v-if="(archiveCaseCRFItem.formName.includes('屈光电子病历')) && formFlag===0"
ref="qgdzbldRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<fzbl
v-if="archiveCaseCRFItem.formName==='门诊病历' && formFlag===0"
ref="fzblRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<safety-checklist
v-if="archiveCaseCRFItem.formName.includes('手术安全核查表')&& formFlag===0"
ref="safetyChecklistRef"
:archive-case-c-r-f-item="archiveCaseCRFItem"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:opera-id="archiveCaseCRFItem.operaId"
:patient-id="patientId"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<operation-nursing-record
v-if="archiveCaseCRFItem.formName.includes('手术护理记录单')&& formFlag===0"
ref="operationNursingRecordRef"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-id="patientId"
:opera-id="archiveCaseCRFItem.operaId"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<operationPlan
v-if="archiveCaseCRFItem.formName==='手术计划'&& formFlag===0"
ref="operationPlanRef"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-id="patientId"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<operationRecord
v-if="archiveCaseCRFItem.formName==='手术记录'&& formFlag===0"
ref="operationRecordRef"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:opera-id="archiveCaseCRFItem.operaId"
:patient-id="patientId"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<operationedCheckRecord
v-if="archiveCaseCRFItem.formName==='术后检查记录表'&& formFlag===0"
ref="operationedCheckRecordRef"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<talkRecord
v-if="archiveCaseCRFItem.formName==='激光角膜屈光手术同意书'&& formFlag===0"
ref="talkRecordRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<consenBookZfzJgzl
v-if="archiveCaseCRFItem.formName==='准分子激光治疗性角膜切削术同意书'&& formFlag===0"
ref="consenBookZfzJgzlRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<consentBookJmjl
v-if="archiveCaseCRFItem.formName==='角膜交联术治疗同意书'&& formFlag===0"
ref="consentBookJmjlRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<shouquanBook
v-if="archiveCaseCRFItem.formName==='告知书/授权书'&& formFlag===0"
ref="shouquanBookRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<payDemandNote
v-if="archiveCaseCRFItem.formName==='特需医疗服务患者知情同意书'&& formFlag===0"
ref="payDemandNoteRef"
:patient-inifo-h5="patientInifoH5"
page-title="档案"
:save-eidt-title="saveEidtTitle"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
@load="loading=false"
/>
<eye-question v-if="archiveCaseCRFItem.formName==='眼科病史问卷调查'&& formFlag===0" ref="eyeQuestionRef"
:archive-case-c-r-f-item="archiveCaseCRFItem" :save-eidt-title="saveEidtTitle"
:form-content="H5FormList" :patient-info-obj="patientInfoObj" :user-data="userData"
:role-list="roleList" :position-name="positionName" :current-url="currentUrl" />
<qgyj v-if="archiveCaseCRFItem.formName==='屈光预检'&& formFlag===0" ref="qgyjRef"
:archive-case-c-r-f-item="archiveCaseCRFItem" page-title="档案" :save-eidt-title="saveEidtTitle"
:opera-id="archiveCaseCRFItem.operaId" :patient-id="patientId" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<qg-dzbl v-if="(archiveCaseCRFItem.formName.includes('屈光电子病历')) && formFlag===0" ref="qgdzbldRef"
:patient-inifo-h5="patientInifoH5" page-title="档案" :save-eidt-title="saveEidtTitle"
:patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<fzbl v-if="archiveCaseCRFItem.formName==='门诊病历' && formFlag===0" ref="fzblRef"
:patient-inifo-h5="patientInifoH5" page-title="档案" :save-eidt-title="saveEidtTitle"
:patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<safety-checklist v-if="archiveCaseCRFItem.formName.includes('手术安全核查表')&& formFlag===0"
ref="safetyChecklistRef" :archive-case-c-r-f-item="archiveCaseCRFItem" page-title="档案"
:save-eidt-title="saveEidtTitle" :opera-id="archiveCaseCRFItem.operaId" :patient-id="patientId"
:patient-info-obj="patientInfoObj" :user-data="userData" :role-list="roleList"
:position-name="positionName" :current-url="currentUrl" @load="loading=false" />
<operation-nursing-record v-if="archiveCaseCRFItem.formName.includes('手术护理记录单')&& formFlag===0"
ref="operationNursingRecordRef" page-title="档案" :save-eidt-title="saveEidtTitle"
:archive-case-c-r-f-item="archiveCaseCRFItem" :patient-id="patientId"
:opera-id="archiveCaseCRFItem.operaId" :patient-info-obj="patientInfoObj" :user-data="userData"
:role-list="roleList" :position-name="positionName" :current-url="currentUrl" @load="loading=false" />
<operationPlan v-if="archiveCaseCRFItem.formName==='手术计划'&& formFlag===0" ref="operationPlanRef"
page-title="档案" :save-eidt-title="saveEidtTitle" :archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-id="patientId" :patient-info-obj="patientInfoObj" :user-data="userData" :role-list="roleList"
:position-name="positionName" :current-url="currentUrl" @load="loading=false" />
<operationRecord v-if="archiveCaseCRFItem.formName==='手术记录'&& formFlag===0" ref="operationRecordRef"
page-title="档案" :save-eidt-title="saveEidtTitle" :archive-case-c-r-f-item="archiveCaseCRFItem"
:opera-id="archiveCaseCRFItem.operaId" :patient-id="patientId" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<operationedCheckRecord v-if="archiveCaseCRFItem.formName==='术后检查记录表'&& formFlag===0"
ref="operationedCheckRecordRef" page-title="档案" :save-eidt-title="saveEidtTitle" :patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj" :user-data="userData"
:role-list="roleList" :position-name="positionName" :current-url="currentUrl" @load="loading=false" />
<talkRecord v-if="archiveCaseCRFItem.formName==='激光角膜屈光手术同意书'&& formFlag===0" ref="talkRecordRef"
:patient-inifo-h5="patientInifoH5" page-title="档案" :save-eidt-title="saveEidtTitle"
:patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<consenBookZfzJgzl v-if="archiveCaseCRFItem.formName==='准分子激光治疗性角膜切削术同意书'&& formFlag===0"
ref="consenBookZfzJgzlRef" :patient-inifo-h5="patientInifoH5" page-title="档案"
:save-eidt-title="saveEidtTitle" :patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem"
:patient-info-obj="patientInfoObj" :user-data="userData" :role-list="roleList"
:position-name="positionName" :current-url="currentUrl" @load="loading=false" />
<consentBookJmjl v-if="archiveCaseCRFItem.formName==='角膜交联术治疗同意书'&& formFlag===0" ref="consentBookJmjlRef"
:patient-inifo-h5="patientInifoH5" page-title="档案" :save-eidt-title="saveEidtTitle"
:patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<shouquanBook v-if="archiveCaseCRFItem.formName==='告知书/授权书'&& formFlag===0" ref="shouquanBookRef"
:patient-inifo-h5="patientInifoH5" page-title="档案" :save-eidt-title="saveEidtTitle"
:patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
<payDemandNote v-if="archiveCaseCRFItem.formName==='特需医疗服务患者知情同意书'&& formFlag===0" ref="payDemandNoteRef"
:patient-inifo-h5="patientInifoH5" page-title="档案" :save-eidt-title="saveEidtTitle"
:patient-id="patientId" :archive-case-c-r-f-item="archiveCaseCRFItem" :patient-info-obj="patientInfoObj"
:user-data="userData" :role-list="roleList" :position-name="positionName" :current-url="currentUrl"
@load="loading=false" />
</div>
</div>
</div>
@ -343,29 +159,14 @@
</div>
<!-- 添加病历模板 -->
<add-case-form
v-if="addCaseFormVisible"
ref="addCaseFormRef"
:patient-info-obj="patientInfoObj"
@closeDialog="addCaseFormVisible=false"
@getArchiveCaseList="getArchiveCaseList($event)"
/>
<add-case-form v-if="addCaseFormVisible" ref="addCaseFormRef" :patient-info-obj="patientInfoObj"
@closeDialog="addCaseFormVisible=false" @getArchiveCaseList="getArchiveCaseList($event)" />
<el-dialog :visible.sync="biaoDanFormVisible" :show-close="false" fullscreen class="biaoDanForm">
<qg-dzbl
v-if="(archiveCaseCRFItem.formName==='屈光电子病历' || archiveCaseCRFItem.formName==='屈光电子病历(复诊)')"
ref="qgdzbldRef"
title="档案"
save-eidt-title="保存"
:patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem"
:form-content="H5FormList"
:patient-inifo-h5="patientInifoH5"
:patient-info-obj="patientInfoObj"
:user-data="userData"
:role-list="roleList"
:position-name="positionName"
:current-url="currentUrl"
/>
<qg-dzbl v-if="(archiveCaseCRFItem.formName==='屈光电子病历' || archiveCaseCRFItem.formName==='屈光电子病历复诊')"
ref="qgdzbldRef" title="档案" save-eidt-title="保存" :patient-id="patientId"
:archive-case-c-r-f-item="archiveCaseCRFItem" :form-content="H5FormList" :patient-inifo-h5="patientInifoH5"
:patient-info-obj="patientInfoObj" :user-data="userData" :role-list="roleList" :position-name="positionName"
:current-url="currentUrl" />
<span class="biaoDanForm-buttons">
<span>保存</span>
<span @click="closeDialogClick">取消</span>
@ -615,7 +416,7 @@ export default {
// CRF
deleteCRFList(item) {
// console.log(item)
this.$confirmFun('你确定要删除此病历吗?').then(async() => {
this.$confirmFun('你确定要删除此病历吗?').then(async () => {
const { data: res } = await this.$http.delete(`/hz_quguang/medical/record/${item.id}`)
if (res.code === 0) {
this.getArchiveCaseList(this.currentArchiveList.id)
@ -641,9 +442,9 @@ export default {
// type: 'warning'
// })
// }
if (this.positionName.join().includes('护士') && item.name !== '屈光预检') {
console.log('this.positionName',this.positionName);
console.log('this.positionName', this.positionName);
return this.$message({
showClose: true,
message: '您的角色只有新增屈光预检的权限',
@ -972,10 +773,10 @@ export default {
overflow-y: hidden;
.patient-zjxx {
background: #1e79ff;
opacity:0.8;
opacity: 0.8;
padding: 6px;
position: absolute;
left:0;
left: 0;
color: #fff;
z-index: 1;
}
@ -983,7 +784,8 @@ export default {
height: 93%;
}
.content-right-CRF {
background: #5c5c5c;
// background: #5c5c5c;
background: #dbdbdb;
overflow: hidden;
padding: 10px;
position: relative;
@ -1001,6 +803,17 @@ export default {
</style>
<style lang="scss">
.archives {
.content-right {
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar {
width: 16px; /*滚动条宽度*/
// background-color: red;
}
::-webkit-scrollbar-thumb {
background-color: #629ef8;
}
}
.saveInfo {
// background: #e4e7ed;
display: flex;

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

@ -194,6 +194,7 @@ import dialogForm from '@/components/H5form/dialog-form.vue'
import hotPrint from '@/components/H5formOhter/hotPrint'
import htmlToPdfToBlob from '@/mixins/htmlToPdfToBlob'
export default {
name:'operationList',
components: {
life,
printCode,

4
src/page-subspecialty/views/modules/systemManagement/formSet/operaRecordSet.vue

@ -236,7 +236,7 @@ export default {
operaList: [],
mrzOperaNameList: [],
eyeYrFlag: 0,
operaValue: ''
operaValue: '',
}
},
computed: {
@ -417,6 +417,4 @@ export default {
}
}
</style>
<style lang="scss">
</style>

75
src/page-subspecialty/views/modules/systemManagement/operaFs/index.vue

@ -0,0 +1,75 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-job__schedule">
<el-table :data="dataList" style="width: 100%;">
<el-table-column prop="operaName" label="手术名称" />
<el-table-column prop="bieMing" label="手术别名" />
<el-table-column prop="operaId" label="手术ID" />
<el-table-column prop="operation" label="操作" header-align="center" align="center" width="100px">
<template slot-scope="scope">
<span style="color: #1890ff; padding-right: 8px;cursor: pointer;" class="details"
@click="addOrUpdateHandle(scope.row.id,scope.row)">编辑</span>
<span style="color: #ff4d4f;cursor: pointer;" class="delete" @click="deleteHandle([scope.row.id])">删除</span>
</template>
</el-table-column>
</el-table>
<el-pagination background layout="total,prev,pager,next" :total="total" :current-page.sync="page"
@current-change="pageCurrentChangeHandle" />
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"
@addOrUpdateVisible="addOrUpdateVisible=false" />
</div>
</el-card>
</template>
<script>
import tableAutoHeight from '@/mixins/tableAutoHeight'
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './operaAdd.vue'
export default {
components: {
AddOrUpdate
},
inject: ['refresh'],
mixins: [mixinViewModule, tableAutoHeight],
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/hz_quguang/sys/schedule/page',
getDataListIsPage: true
},
dataForm: {
beanName: ''
},
currentTableList: [],
logVisible: false
}
},
methods: {
//
async deleteHandle(scopeRow) {
const idArr = scopeRow ? [scopeRow] : this.currentTableList.map(item => item.id)
this.$confirmFun('您确定要删除吗?').then(async () => {
const { data: res } = await this.$http({
method: 'delete',
url: '/hz_quguang/sys/schedule',
data: idArr
})
if (res.code === 0) {
this.$message.success('删除成功')
this.refresh()
} else {
this.$message.error(res.msg)
}
})
},
//
logHandle() {
this.logVisible = true
this.$nextTick(() => {
this.$refs.log.init()
})
}
}
}
</script>

102
src/page-subspecialty/views/modules/systemManagement/operaFs/operaAdd.vue

@ -0,0 +1,102 @@
<template>
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false" @close="closedDialog">
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="120px" @keyup.enter.native="dataFormSubmitHandle()">
<el-form-item prop="operaName" label="手术名称">
<el-input v-model="dataForm.operaName" placeholder="手术名称" />
</el-form-item>
<el-form-item prop="bieMing" label="手术别名">
<el-input v-model="dataForm.bieMing" placeholder="手术名称" />
</el-form-item>
<el-form-item prop="operaId" label="手术ID">
<el-input v-model="dataForm.operaId" placeholder="手术ID" />
</el-form-item>
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template>
</el-dialog>
</template>
<script>
import debounce from 'lodash/debounce'
import { cron } from 'vue-cron'
export default {
components: {
cron
},
data() {
return {
visible: false,
dataForm: {
id: '',
operaName: '',
bieMing:'',
operaId:'',
},
cronPopover: false
}
},
computed: {
dataRule() {
return {
beanName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
cronExpression: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
]
}
}
},
methods: {
init() {
this.visible = true
this.$nextTick(() => {
this.$refs.dataForm.resetFields()
if (this.dataForm.id) {
this.getInfo()
}
})
},
changeCron(val) {
this.dataForm.cronExpression = val
},
//
getInfo() {
this.$http.get(`/hz_quguang/sys/schedule/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.dataForm = res.data
}).catch(() => {})
},
//
dataFormSubmitHandle: debounce(function() {
this.$refs.dataForm.validate((valid) => {
if (!valid) {
return false
}
this.$http[!this.dataForm.id ? 'post' : 'put']('/hz_quguang/sys/schedule', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
}).catch(() => {})
})
}, 1000, { leading: true, trailing: false }),
//
closedDialog() {
this.$emit('addOrUpdateVisible')
}
}
}
</script>
Loading…
Cancel
Save