You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1366 lines
42 KiB

<template>
<view class="operaNurseRcord">
<uni-nav-bar dark :fixed="true" :border="false" background-color="#002648" status-bar left-icon="left"
title="屈光手术护理记录单" @clickLeft="back">
<!-- <block slot="right">
<logout></logout>
</block> -->
</uni-nav-bar>
<view class="operaNurseRcord-content">
<view class="patientinfo-father">
<view class="patientInfo flex-1">
<text class="patient-text">
<text>PID</text>
{{formListValue.patientId ? formListValue.patientId : '-'}}
</text>
<text class="patient-text">
<text>姓名</text>
{{formListValue.patientName ? formListValue.patientName : '-'}}
</text>
<text class="patient-text">
<text>性别</text>
{{formListValue.patientSex ? formListValue.patientSex : '-'}}
</text>
</view>
<view class="nsss flex-2 margin-top-10">
<view class="font-w">拟施手术</view>
<view>
<view v-if="formListValue.nsOuOperaBieM">OU:{{ formListValue.nsOuOperaBieM }}</view>
<view v-if="formListValue.nsOdOperaBieM">OD:{{ formListValue.nsOdOperaBieM }}</view>
<view v-if="formListValue.nsOsOperaBieM">OS:{{ formListValue.nsOsOperaBieM }}</view>
</view>
<!-- <view v-if="!formListValue.nsOdOperaName && !formListValue.nsOsOperaName" class="flex-1 margin-top-10">
OU:<uni-data-select class="select-class" v-model="formListValue.nsOuOperaName" :clear="true"
:localdata="operaList" @change="selectChange"></uni-data-select>
</view>
<view v-if="!formListValue.nsOuOperaName" class="flex-1 margin-top-10">
OD:<uni-data-select class="select-class" v-model="formListValue.nsOdOperaName" :clear="true"
:localdata="operaList" @change="selectChange"></uni-data-select>
</view>
<view v-if="!formListValue.nsOuOperaName" class="flex-1 margin-top-10">
OS:<uni-data-select class="select-class" v-model="formListValue.nsOsOperaName" :clear="true"
:localdata="operaList" @change="selectChange"></uni-data-select>
</view> -->
</view>
<view class="ssss margin-top-10" v-if="operaList.length>0">
<view class="font-w">实施手术:</view>
<view v-if="!formListValue.ssOdOperaName && !formListValue.ssOsOperaName"
class="flex-1 margin-top-10">
OU:<uni-data-select class="select-class" v-model="formListValue.ssOuOperaName" :clear="true"
:localdata="operaList" @change="selectChange"></uni-data-select>
</view>
<view v-if="!formListValue.ssOuOperaName" class="flex-1 margin-top-10">
OD:<uni-data-select class="select-class" v-model="formListValue.ssOdOperaName" :clear="true"
:localdata="operaList" @change="selectChange"></uni-data-select>
</view>
<view v-if="!formListValue.ssOuOperaName" class="flex-1 margin-top-10">
OS:<uni-data-select class="select-class" v-model="formListValue.ssOsOperaName" :clear="true"
:localdata="operaList" @change="selectChange"></uni-data-select>
</view>
</view>
<view class="patientInfo flex-1 margin-top-10">
<text class="patient-text">
<text>主刀医生:</text>
{{formListValue.mainDoctorName ? formListValue.mainDoctorName : '-'}}
</text>
</view>
</view>
<view class="operaNurseRcord-operaBefore">
<view class="BT-text">手术前</view>
<view class="operaNurseRcord-form">
<view class="form-patientSf form">
<text>病人身份确认:</text>
<radio-group @change="radioChange('beforeSf',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in radioList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.beforeSf"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<view class="form-position form">
<text>手术部位:</text>
<radio-group @change="radioChange('beforeBw',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in radioList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.beforeBw"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<view class="form-BS form">
<text>手术标识正确:</text>
<radio-group @change="radioChange('beforeBs',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in radioList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.beforeBs"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<view class="form-Mzfs form">
<text>麻醉方式:</text>
<radio-group @change="radioChange('beforeMzfs',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in mzfsList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.beforeMzfs"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<view class="form-WjwpCheck form">
<text>无菌物品检测:</text>
<checkbox :value="formListValue.beforeWjwp" :checked="formListValue.beforeWjwp"
@click="checkboxClick('beforeWjwp')">合格
</checkbox>
</view>
<view class="form-life form">
<text>生命体征检测:</text>
<view class="form-left-content">
<!-- 体温 -->
<view class="life-text">
<text>T:</text>
<text>{{formListValue.beforeTw ? formListValue.beforeTw : '-'}}</text>
<text>℃</text>
</view>
<view class="life-text">
<!-- 血压--高压低压 -->
<text>BP:</text>
<text>{{formListValue.beforeGyxy ? formListValue.beforeGyxy : '-'}}/{{formListValue.beforeDyxy ? formListValue.beforeDyxy : '-'}}</text>
<text>mmHg</text>
</view>
<!-- 脉搏 -->
<view class="life-text">
<text>P:</text>
<text>{{formListValue.beforeMb ? formListValue.beforeMb : '-'}}</text>
<text>次/分</text>
</view>
<!-- 呼吸 -->
<view class="life-text">
<text>R:</text>
<text>{{formListValue.beforeHx ? formListValue.beforeHx : '-'}}</text>
<text>次/分</text>
</view>
</view>
</view>
<view class="lift-time form">
<text>生命体征录入时间:</text>
<text>{{formListValue.beforeVitalSignDate ? formListValue.beforeVitalSignDate : '-'}}</text>
</view>
<!-- <view class="content-sign">
<view class="nurseSign operaSign">
<text>手术室护士签字:</text>
<view class="sign"
:style="{ background: formListValue.beforeNurseSign ? '#fff' : '#E8F5FF'}">
<text class="sign-text" v-if="!formListValue.beforeNurseSign"
@click="getSystomSign('beforeNurseSign')">获取签字</text>
<view class="image-father" v-if="formListValue.beforeNurseSign">
<icon type="clear" size="14" class="image-clear"
@click="imageClearClick('beforeNurseSign')" />
<image mode="widthFix" :src="formListValue.beforeNurseSign" alt=""
class="img-class">
</view>
</view>
</view>
</view> -->
</view>
</view>
<view class="operaNurseRcord-operaBefore">
<view class="BT-text">手术中</view>
<view class="operaNurseRcord-form">
<view class="form-operaStartTime form">
<text>手术开始时间:</text>
<text style="color:#1C76FD;">{{formListValue.centerStartTime}}</text>
</view>
<view class="form-bodyPosition-father">
<view class="form-bodyPosition form">
<text>体位:</text>
<checkbox-group @change="checkboxChange('centerTwCheck',$event)">
<label v-for="(item,index) in bodyPositionList" :key="index" class="bodyPositionList">
<checkbox :value="item.name"
:checked="formListValue.centerTwCheck.indexOf(item.name)!=-1 ">
{{item.name}}
</checkbox>
</label>
</checkbox-group>
</view>
<view v-show="formListValue.centerTwCheck.includes('其它')">
<input type="text" :value="formListValue.centerTwInput" placeholder="请输内容"
@input="inputHandle('centerTwInput',$event)" />
</view>
</view>
<view class="form-biaoBen form">
<text>标本:</text>
<radio-group @change="radioChange('centerBiaoBenOrder',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in biaoBenList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.centerBiaoBenOrder"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<view class="form-biaoBen form">
<text>标本名称:</text>
<input type="text" :value="formListValue.centerBbmc" placeholder="请输内容"
@input="inputHandle('centerBbmc',$event)" />
</view>
<!-- <view class="content-sign">
<view class="operaDoctorSign operaSign">
<text>医生签字:</text>
<view class="sign"
:style="{ background: formListValue.centerDoctorSign ? '#fff' : '#E8F5FF'}">
<text class="sign-text"
v-if="!formListValue.centerDoctorSign && !formListValue.centerDoctorName"
@click="getZdDoctorSign('centerDoctorName','centerDoctorCode','centerDoctorSign')">获取签字</text>
<view class="image-father" v-if="formListValue.centerDoctorSign">
<icon type="clear" size="14" class="image-clear"
@click="imageClearClick('centerDoctorSign','','centerDoctorCode','centerDoctorName')" />
<image v-if="formListValue.centerDoctorSign" mode="widthFix"
:src="formListValue.centerDoctorSign" alt="" class="img-class">
</view>
</view>
</view>
</view> -->
<view class="form-qxName-father">
<view class="form-qxName form">
<text class="form-qxName-text">器械名称:</text>
<view class="qxName-one">
<view class="flex">
<checkbox :value="formListValue.centerQxSmile"
:checked="formListValue.centerQxSmile" @click="checkboxClick('centerQxSmile')">
<view>SMILE手术器</view>
</checkbox>
<input class="qx-input" type="number" :value="formListValue.centerQxSmileTs"
@input.stop="inputHandle('centerQxSmileTs',$event)" />
<view>套</view>
</view>
<view v-show="formListValue.centerQxSmile">
<view class="qxcontent">开睑器*1、有齿镊*1、掀瓣针*2、透镜取出镊*1</view>
<view>
<view class="qx-other">其它:</view>
<!-- <checkbox-group @change="checkboxChange('centerQxSmileCheck',$event)"
class="radio-group">
<label class="uni-list-cell uni-list-cell-pd"
v-for="(item, index) in qxOtherList" :key="index">
<view>
<checkbox :value="item"
:checked="formListValue.centerQxSmileCheck.indexOf(item)!=-1"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item}}</view>
</label>
</checkbox-group> -->
<!-- v-if="formListValue.centerQxSmileCheck.includes('其它')" -->
<view class="margin-top-10">
<input type="text" :value="formListValue.centerQxSmileInput"
placeholder="请输入其它" @input="inputHandle('centerQxSmileInput',$event)" />
</view>
</view>
</view>
</view>
<view class="qxName-two">
<view class="flex">
<checkbox :value="formListValue.centerQxFemto"
:checked="formListValue.centerQxFemto" @click="checkboxClick('centerQxFemto')">
<view>FEMTO手术器械</view>
</checkbox>
<input class="qx-input" type="number" :value="formListValue.centerQxFemtoTs"
@input="inputHandle('centerQxFemtoTs',$event)" />
<view>套</view>
</view>
<view v-show="formListValue.centerQxFemto">
<view class="qxcontent">开睑器*1、掀瓣针*1、无齿镊*1</view>
<view>
<view class="qx-other">其它:</view>
<!-- <checkbox-group @change="checkboxChange('centerQxFemtoCheck',$event)"
class="radio-group">
<label class="uni-list-cell uni-list-cell-pd"
v-for="(item, index) in qxOtherList" :key="index">
<view>
<checkbox :value="item"
:checked="formListValue.centerQxFemtoCheck.indexOf(item)!=-1"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item}}</view>
</label>
</checkbox-group> -->
<!-- v-if="formListValue.centerQxFemtoCheck.includes('其它')" -->
<view class="margin-top-10">
<input type="text" :value="formListValue.centerQxFemtoInput"
placeholder="请输入其它" @input="inputHandle('centerQxFemtoInput',$event)" />
</view>
</view>
</view>
</view>
<view class="qxName-three">
<view class="flex">
<checkbox :value="formListValue.centerQxSmart"
:checked="formListValue.centerQxSmart" @click="checkboxClick('centerQxSmart')">
<view>SMART手术器械</view>
</checkbox>
<input class="qx-input" type="number" :value="formListValue.centerQxSmartTs"
@input="inputHandle('centerQxSmartTs',$event)" />
<view>套</view>
</view>
<view v-show="formListValue.centerQxSmart">
<view class="qxcontent">开睑器*1、无齿镊*1</view>
<view>
<view class="qx-other">其它:</view>
<!-- <checkbox-group @change="checkboxChange('centerQxSmartCheck',$event)"
class="radio-group">
<label class="uni-list-cell uni-list-cell-pd"
v-for="(item, index) in qxOtherList" :key="index">
<view>
<checkbox :value="item"
:checked="formListValue.centerQxSmartCheck.indexOf(item)!=-1"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item}}</view>
</label>
</checkbox-group> -->
<!-- v-if="formListValue.centerQxSmartCheck.includes('其它')" -->
<view class="margin-top-10">
<input type="text" :value="formListValue.centerQxSmartInput"
placeholder="请输入其它" @input="inputHandle('centerQxSmartInput',$event)" />
</view>
</view>
</view>
</view>
<view class="qxName-four">
<view class="flex">
<checkbox :value="formListValue.centerQxKxl" :checked="formListValue.centerQxKxl"
@click="checkboxClick('centerQxKxl')">
<view>KXL手术器械</view>
</checkbox>
<input class="qx-input" type="number" :value="formListValue.centerQxKxlTs"
@input="inputHandle('centerQxKxlTs',$event)" />
<view>套</view>
</view>
<view v-show="formListValue.centerQxKxl">
<view class="qxcontent">开睑器*1、无齿镊*1、角膜固定环*1</view>
<view>
<view class="qx-other">其它:</view>
<!-- <checkbox-group @change="checkboxChange('centerQxKxlCheck',$event)"
class="radio-group">
<label class="uni-list-cell uni-list-cell-pd"
v-for="(item, index) in qxOtherList" :key="index">
<view>
<checkbox :value="item"
:checked="formListValue.centerQxKxlCheck.indexOf(item)!=-1"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item}}</view>
</label>
</checkbox-group> -->
<!-- v-if="formListValue.centerQxKxlCheck.includes('其它')" -->
<view class="margin-top-10">
<input type="text" :value="formListValue.centerQxKxlInput"
placeholder="请输入其它" @input="inputHandle('centerQxKxlInput',$event)" />
</view>
</view>
</view>
</view>
</view>
</view>
<view class="zsm">
器械灭菌追溯码:
<textarea @input="inputHandle('centerQxmjzsm',$event)" auto-height
:value="formListValue.centerQxmjzsm" placeholder="追溯码" />
</view>
<!-- <view class="content-sign">
<view class="nurseSign operaSign">
<text>手术室护士签字:</text>
<view class="sign"
:style="{ background: formListValue.centerNurseSign ? '#fff' : '#E8F5FF'}">
<text class="sign-text" v-if="!formListValue.centerNurseSign"
@click="getSystomSign('centerNurseSign')">获取签字</text>
<view class="image-father" v-if="formListValue.centerNurseSign">
<icon type="clear" size="14" class="image-clear"
@click="imageClearClick('centerNurseSign')" />
<image mode="widthFix" :src="formListValue.centerNurseSign" alt=""
class="img-class">
</view>
</view>
</view>
</view> -->
</view>
</view>
<view class="operaNurseRcord-operaBefore">
<view class="BT-text">手术后</view>
<view class="operaNurseRcord-form">
<view class="form-operaStartTime form">
<text>结束时间:</text>
<text style="color:#1C76FD;">{{formListValue.backOverTime}}</text>
</view>
<view class="form-life form">
<text>生命体征检测:</text>
<view class="form-left-content">
<view class="life-text">
<!-- 体温 -->
<!-- <view class="life-text">
<text>T:</text>
<text>{{formListValue.backTw ? formListValue.backTw : '-'}}</text>
<text>℃</text>
</view> -->
<!-- 血压--高压低压 -->
<text>BP:</text>
<text>{{formListValue.backGyxy ? formListValue.backGyxy : '-'}}/{{formListValue.backDyxy ? formListValue.backDyxy : '-'}}</text>
<text>mmHg</text>
</view>
<!-- 脉搏 -->
<view class="life-text">
<text>P:</text>
<text>{{formListValue.backMb ? formListValue.backMb : '-'}}</text>
<text>次/分</text>
</view>
<!-- 呼吸 -->
<view class="life-text">
<text>R:</text>
<text>{{formListValue.backHx ? formListValue.backHx : '-'}}</text>
<text>次/分</text>
</view>
</view>
</view>
<view class="lift-time form">
<text>生命体征录入时间:</text>
<text>{{formListValue.backVitalSignDate ? formListValue.backVitalSignDate : '-'}}</text>
</view>
<view class="form-tengTongScore form">
<text>疼痛评分:</text>
<input type="text" :value="formListValue.backTtpf" placeholder="请输入内容"
@input="inputHandle('backTtpf',$event)" /> 分
</view>
<view class="form-healthEducation form">
<text>健康教育:</text>
<checkbox-group @change="checkboxChange('backJkjy',$event)">
<label v-for="(item,index) in healthEducationList" :key="index"
class="healthEducationLabel">
<checkbox :value="item.name" :checked="formListValue.backJkjy.indexOf(item.name)!=-1 ">
{{item.name}}
</checkbox>
</label>
</checkbox-group>
</view>
<view class="form-other-father">
<view class="form-other form">
<text>术后去向:</text>
<radio-group @change="radioChange('backShqxOrder',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in operaedWhereList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.backShqxOrder"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<input v-if="formListValue.backShqxOrder==='其它'" type="text"
:value="formListValue.backShqxInput" placeholder="请输内容"
@input="inputHandle('backShqxInput',$event)" />
</view>
<view class="form-reviewRequire form">
<text>术后复查需求:</text>
<radio-group @change="radioChange('backShfcxq',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in reviewRequireList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.backShfcxq"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<view class="form-other-father">
<view class="form-other form">
<text>其它</text>
<radio-group @change="radioChange('backQtOrder',$event)" class="radio-group">
<label class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in radioList"
:key="index">
<view>
<radio :value="item.name" :checked="item.name === formListValue.backQtOrder"
color="#1989FA" style="transform:scale(0.8)" />
</view>
<view>{{item.name}}</view>
</label>
</radio-group>
</view>
<input v-if="formListValue.backQtOrder==='是'" type="text" :value="formListValue.backQtInput"
placeholder="请输内容" @input="inputHandle('backQtInput',$event)" />
</view>
<view class="content-sign">
<view class="nurseSign operaSign">
<text>手术室护士签字:</text>
<!-- <view class="sign"
:style="{ background: formListValue.backNurseSign ? '#fff' : '#E8F5FF'}">
<text class="sign-text" v-if="!formListValue.backNurseSign">点击签字</text>
<Signature ref="nurseSignRef" v-model="formListValue.backNurseSign"
class="signature"></Signature>
</view> -->
<view class="sign" :style="{ background: formListValue.backNurseSign ? '#fff' : '#E8F5FF'}">
<text class="sign-text" v-if="!formListValue.backNurseSign"
@click="getSystomSign('backNurseSign', '', 'backNurseCode', 'backNurseName')">获取签字</text>
<view class="image-father" v-if="formListValue.backNurseSign">
<icon type="clear" size="14" class="image-clear"
@click="imageClearClick('backNurseSign', '', 'backNurseCode', 'backNurseName')" />
<image mode="widthFix" :src="formListValue.backNurseSign" alt="" class="img-class">
</view>
</view>
<!-- <view class="sign" :style="{ background: formListValue.backNurseSign ? '#fff' : '#E8F5FF'}">
<text
v-if="!formListValue.backNurseSign">{{ formListValue.backNurseName ? formListValue.backNurseName : '-' }}</text>
<view class="image-father" v-else>
<image mode="widthFix" :src="formListValue.backNurseSign" alt="" class="img-class">
</view>
</view> -->
</view>
</view>
</view>
</view>
<!-- @click="render.headelReport" -->
<!-- @click="sureHandle" -->
<view class="buttons" @click="sureHandle">保存</view>
</view>
<scan></scan>
<scan1></scan1>
</view>
</template>
<script>
import scan from '@/components/scan.vue';
import scan1 from '@/components/scan1.vue';
import logout from '@/components/logout.vue'
import Signature from '@/components/sin-signature/sin-signature.vue'
import crypto from '@/utils/crypto.js'
import hld from '@/components/hld/hld.vue'
import indexMixins from '@/mixins/index.js'
export default {
mixins: [indexMixins],
data() {
return {
webViewShow: true,
webviewStyles: {
width: '200px',
height: '200px',
left: '100px',
top: '-1000px'
// top: '100px'
},
url: '',
sendCaStatus: null,
isParamsToH5: false,
isWebViewGetSuccess: '没成功',
isWebViewSaveSuccess: '没成功',
value: 0,
range: [{
value: 0,
text: "篮球"
},
{
value: 1,
text: "足球"
},
{
value: 2,
text: "游泳"
},
],
formListValue: {
formName: '屈光手术护理记录单',
patientName: '',
patientId: '',
patientSex: '',
patientBirthday: '',
operaDate: '',
// 拟施手术名称
nsOuOperaName: '',
nsOdOperaName: '',
nsOsOperaName: '',
// 拟施手术别名
nsOuOperaBieM: '',
nsOdOperaBieM: '',
nsOsOperaBieM: '',
// 实施手术名称
ssOuOperaName: '',
ssOdOperaName: '',
ssOsOperaName: '',
// 术前
// 病人身份确认
beforeSf: '是',
// 手术部位确认
beforeBw: '是',
// 手术标识确认
beforeBs: '是',
// 麻醉方式
beforeMzfs: '表面麻醉',
// 无菌物品检测
beforeWjwp: true,
// 生命体征检测
// 体温
beforeTw: '',
// 高压-血压
beforeGyxy: '',
// 低压-血压
beforeDyxy: '',
// 脉搏
beforeMb: '',
// 呼吸
beforeHx: '',
beforeNurseSign: '',
// 术中
// 手术开始时间
centerStartTime: '',
// 体位Check
centerTwCheck: ['平卧位', '眼部水平位'],
// 体位input
centerTwInput: '',
// 标本Order
centerBiaoBenOrder: '无',
// 标本名称
centerBbmc: '',
// 器械
// SMILE手术器械
centerQxSmile: false,
centerQxSmileTs: '',
centerQxSmileCheck: [],
centerQxSmileInput: '',
// FEMTO手术器械
centerQxFemto: false,
centerQxFemtoTs: '',
centerQxFemtoCheck: [],
centerQxFemtoInput: '',
// SMART手术器械
centerQxSmart: false,
centerQxSmartTs: '',
centerQxSmartCheck: [],
centerQxSmartInput: '',
// KXL手术器械
centerQxKxl: false,
centerQxKxlTs: '',
centerQxKxlCheck: [],
centerQxKxlInput: '',
// 器械灭菌追溯码
centerQxmjzsm: [],
// 手术医生签字
centerDoctorSign: '',
centerDoctorName: '',
centerDoctorCode: '',
centerNurseSign: '',
// 术后
// 结束时间
backOverTime: '',
// 生命体征检测
// 体温
backTw: '',
// 高压-血压
backGyxy: '',
// 低压-血压
backDyxy: '',
// 脉搏
backMb: '',
// 呼吸
backHx: '',
// 疼痛评分
backTtpf: 0,
// 健康教育
backJkjy: ['专科教育'],
// 术后去向
backShqxOrder: '回家',
backShqxInput: '',
// 术后复查需求
backShfcxq: '本院',
// 其它输入
backQtOrder: '否',
backQtInput: '',
// 护士签字
backNurseSign: '',
backNurseCode: '',
backNurseName: ''
},
radioList: [{
name: '是',
}, {
name: '否',
}],
// 麻醉方式列表
mzfsList: [{
name: '局部麻醉'
}, {
name: '表面麻醉'
}],
// 体位列表
bodyPositionList: [{
name: '平卧位'
}, {
name: '眼部水平位'
}, {
name: '其它'
}],
// 标本列表
biaoBenList: [{
name: '无'
}, {
name: '有'
}],
// 器械名称列表
qxNameList: [{
name: 'SMILE手术器—套'
}, {
name: 'FEMTO手术器械一套'
}, {
name: 'SMART手术器械—套'
}],
// 健康教育列表
healthEducationList: [{
name: '专科教育',
}, {
name: '跌倒防范',
}],
// 术后去向列表
operaedWhereList: [{
name: '回家',
}, {
name: '日间病房',
}, {
name: '其它',
}],
// 术后复查需求列表
reviewRequireList: [{
name: '无',
}, {
name: '本院',
}, {
name: '当地医院',
}],
odosList: ['OU', 'OD', 'OS'],
// 器械其它选择
qxOtherList: ['其它'],
// 传过来的参数
optionList: {},
operaList: [],
qxmjArr: [],
}
},
components: {
scan,
scan1,
hld,
Signature,
logout
},
onLoad(options) {
let that = this
uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
uni.$on('scan', (data) => {
console.log('scan扫码 结果:', data.code);
this.qxmjArr.push(data.code)
this.formListValue.centerQxmjzsm = [...new Set(this.qxmjArr)].join('、')
console.log('this.formListValue.centerQxmjzsm', this.formListValue.centerQxmjzsm);
})
uni.$off('scan1') // 每次进来先 移除全局自定义事件监听器
uni.$on('scan1', (data) => {
console.log('scan1扫码 结果:', data.code);
this.qxmjArr.push(data.code)
this.formListValue.centerQxmjzsm = [...new Set(this.qxmjArr)].join('、')
console.log('this.formListValue.centerQxmjzsm', this.formListValue.centerQxmjzsm);
})
console.log('operaNurseRcord', options);
this.optionList = options
this.url =
`${this.$portAdress.baseURL}/surgicalManagement-operaNurseRecord?operaId=${this.optionList.operaId}&patientIdNumber=${this.optionList.patientIdNumber}`
// 获取表单保存信息
this.getInfo()
// 获取手术状态时间
this.getOperaStatusTime()
// 获取手术列表
this.getOperaList()
// 获取是否ca
this.getSendCaStatus()
},
watch: {
// isWebViewGetSuccess: {
// handler(value) {
// console.log('watch',value)
// if(value === '获取成功' && this.isParamsToH5 === true) {
// this.paramsToH5()
// this.isParamsToH5 = false
// }
// },
// deep: true
// }
},
methods: {
back() {
uni.navigateBack({
delta: 1
})
},
// 获取表单信息
async getInfo() {
const res = await this.$baseAPI.request(this.$portAdress.getOperaHuLiInfoByOperaId, {
operaId: this.optionList.operaId,
patientIdNumber: this.optionList.patientIdNumber,
})
if (res.code === 0) {
Object.keys(res.data).forEach((item) => {
// console.log(res.data)
// 如果data中没有定义这个字段,就自动加进去
this.formListValue[item] || typeof this.formListValue[item] == 'boolean' ? '' : this
.formListValue[item] = ''
// 如果不为空就赋值上去
if ((res.data[item] && res.data[item] !== 'false' && res.data[item] !== 'true') ||
typeof res.data[item] === 'number') {
this.formListValue[item] = res.data[item]
}
if (res.data[item] && typeof res.data[item] !== 'number') {
res.data[item].includes('[') || res.data[item] === 'false' || res.data[item] ===
'true' ? this.formListValue[item] = JSON.parse(res.data[item]) : ''
}
})
let userInfo = uni.getStorageSync('userInfo') ? JSON.parse(uni.getStorageSync('userInfo')) : ''
// res.data.centerDoctorSign ? '' : this.getZdDoctorSign('centerDoctorSign', '', 'centerDoctorCode',
// 'centerDoctorName')
res.data.backNurseSign ? '' : this.getSystomSign('backNurseSign', '', 'backNurseCode',
'backNurseName')
} else {
uni.showToast({
icon: 'none',
title: res.msg
})
}
this.getLife(1)
this.getLife(2)
},
// 单选框改变时
radioChange(text, val) {
this.formListValue[text] = val.target.value
},
// 复选组
checkboxChange(text, val) {
console.log(text, val);
this.formListValue[text] = val.target.value
},
// 复选单
checkboxClick(text) {
this.formListValue[text] = !this.formListValue[text]
if (text === 'centerQxSmile' && !this.formListValue[text]) {
this.formListValue.centerQxSmileCheck = []
this.formListValue.centerQxSmileInput = ''
this.formListValue.centerQxSmileTs = ''
} else if (text === 'centerQxSmile' && this.formListValue[text]) {
this.formListValue.centerQxSmileTs = 1
}
if (text === 'centerQxFemto' && !this.formListValue[text]) {
this.formListValue.centerQxFemtoCheck = []
this.formListValue.centerQxFemtoInput = ''
this.formListValue.centerQxFemtoTs = ''
} else if (text === 'centerQxFemto' && this.formListValue[text]) {
this.formListValue.centerQxFemtoTs = 1
}
if (text === 'centerQxSmart' && !this.formListValue[text]) {
this.formListValue.centerQxSmartCheck = []
this.formListValue.centerQxSmartInput = ''
this.formListValue.centerQxSmartTs = ''
} else if (text === 'centerQxSmart' && this.formListValue[text]) {
this.formListValue.centerQxSmartTs = 1
}
},
// 输入框改变时
inputHandle(text, val) {
this.formListValue[text] = val.target.value
if (text === 'centerQxSmileTs') {
val ? this.formListValue.centerQxSmile = true : ''
}
if (text === 'centerQxFemtoTs') {
val ? this.formListValue.centerQxFemto = true : ''
}
if (text === 'centerQxSmartTs') {
val ? this.formListValue.centerQxSmart = true : ''
}
},
// 获取生命体征
async getLife(type) {
console.log('!!!!!!', this.optionList.operaId);
const res = await this.$baseAPI.request(this.$portAdress.getLife, {
operaPatientId: this.optionList.operaId,
// 1:术前,2:术后
type: type
})
if (res.code === 0) {
// 1:术前,2:术后
if (type === 1 && res.data.data) {
this.formListValue.beforeTw = res.data.data.temperature
this.formListValue.beforeGyxy = res.data.data.highBloodPressure
this.formListValue.beforeDyxy = res.data.data.lowBloodPressure
this.formListValue.beforeMb = res.data.data.pulse
this.formListValue.beforeHx = res.data.data.breathe
} else if (type === 2 && res.data.data) {
this.formListValue.backTw = res.data.data.temperature
this.formListValue.backGyxy = res.data.data.highBloodPressure
this.formListValue.backDyxy = res.data.data.lowBloodPressure
this.formListValue.backMb = res.data.data.pulse
this.formListValue.backHx = res.data.data.breathe
}
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
// 获取手术状态时间
async getOperaStatusTime() {
const res = await this.$baseAPI.request(this.$portAdress.getOperaStatusTime, {
operaId: this.optionList.operaId,
})
if (res.code === 0) {
res.data.forEach(item => {
// console.log('时间',item);
if (item.status === 3) {
this.formListValue.centerStartTime = item.signDate
} else if (item.status === 4) {
this.formListValue.backOverTime = item.signDate
}
})
} else {
uni.showToast({
icon: 'none',
title: res.msg
})
}
},
// 获取手术列表
async getOperaList() {
const res = await this.$baseAPI.request(this.$portAdress.getOperaList)
if (res.code === 0) {
res.data.forEach(item => {
item.value = item.operaName
item.text = item.bieMing
})
this.operaList = res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
// 获取主刀医生签字
// async getZdDoctorSign(sign, date, code, name) {
// const res = await this.$baseAPI.request(this.$portAdress.getMainDoctorSign, {
// operaPatientId: this.optionList.operaId
// })
// if (res.code === 0) {
// this.getCaUserSignImg(sign, date, code, name, res.data)
// } else {
// uni.showToast({
// title: res.msg,
// icon: 'none'
// })
// }
// },
// 获取系统签名
getSystomSign(sign, date, code, name) {
let userInfo = uni.getStorageSync('userInfo') ? JSON.parse(uni.getStorageSync('userInfo')) : ''
console.log(userInfo);
this.getCaUserSignImg(sign, date, code, name, userInfo)
},
// 获取ca签名图片
async getCaUserSignImg(sign, date, code, name, resData) {
console.log('8888888888');
const res = await this.$baseAPI.request(this.$portAdress.getCaUserSignImg, {
userId: resData.employeeId
})
if (res.code === 0) {
console.log('res', res);
date ? this.formListValue[date] = this.$moment().format('YYYY-MM-DD') : ''
sign ? (this.formListValue[sign] = res.data.signImgBase ? res.data.signImgBase : resData
.signImgBase) : ''
code ? this.formListValue[code] = res.data.employeeId : ''
name ? this.formListValue[name] = res.data.realName : ''
} else {
this.$message.error(res.msg)
}
},
selectChange() {},
// 删除登录签名
imageClearClick(sign, date, code, name) {
this.formListValue[sign] = ''
this.formListValue[code] = ''
this.formListValue[name] = ''
},
// 跳过
jumpHandle() {
uni.navigateTo({
url: '/pages/patientList/index'
})
},
// 是否开启了CA认证表单状态
async getSendCaStatus() {
const res = await this.$baseAPI.request(this.$portAdress.getCaStatus, {
name: '屈光手术护理记录单'
})
if (res.code === 0) {
console.log('是否开启了CA认证表单状态', res.data)
this.sendCaStatus = res.data
} else {
this.$message.error(res.msg)
}
},
// 保存
async sureHandle() {
// 创建选择器对象
const formvalue = JSON.parse(JSON.stringify(this.formListValue))
Object.keys(formvalue).forEach(item => {
if (Array.isArray(formvalue[item])) {
formvalue[item] = JSON.stringify(formvalue[item])
}
})
const res = await this.$baseAPI.request(this.$portAdress.saveOperaHuLiInfo, formvalue, 'post')
console.log('保存', res);
if (res.code === 0) {
if (this.sendCaStatus == 1) {
// this.operaFormDataCaSign({
// caSignData: JSON.stringify(this.formListValue),
// doctorCode: this.formListValue.centerDoctorCode,
// formFlag: '12',
// formId: res.data,
// formName: '屈光手术护理记录单',
// patientId: this.formListValue.patientId,
// patientName: this.formListValue.patientName,
// })
this.operaFormDataCaSign({
caSignData: JSON.stringify(this.formListValue),
doctorCode: this.formListValue.backNurseCode,
formFlag: '12',
formId: res.data,
formName: '屈光手术护理记录单',
patientId: this.formListValue.patientId,
patientName: this.formListValue.patientName,
})
} else {
uni.showToast({
title: '您已保存成功',
icon: 'none'
})
uni.redirectTo({
url: '/pages/patientList/index'
})
}
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
// CA其他表单批量数据签
async operaFormDataCaSign(params) {
const res = await this.$baseAPI.request(this.$portAdress.operaFormDataCaSign, params, 'post')
if (res.code === 0) {
uni.showToast({
title: '您已保存并CA成功',
icon: 'none'
})
uni.redirectTo({
url: '/pages/patientList/index'
})
} else {
this.$message.error(res.msg)
}
},
}
}
</script>
<style lang="less" scoped>
.operaNurseRcord {
background-color: #002648;
width: 100vw;
.patientinfo-father {
background-color: #e8f5ff;
padding: 10px;
}
.patientInfo {
.patient-text {
padding-right: 20rpx;
text {
font-weight: 700;
}
}
}
.operaNurseRcord-content {
background-color: #fff;
border-top-left-radius: 40rpx;
border-top-right-radius: 40rpx;
padding: 20rpx 30rpx 30rpx 30rpx;
}
.BT-text {
font-weight: 700;
font-size: 40rpx;
margin: 30rpx 0;
}
.form {
padding: 20rpx 0;
background-color: #fff;
border-bottom: 1rpx solid #F2F2F2;
display: flex;
justify-content: space-between;
.uni-list-cell {
display: flex;
align-items: center;
margin-left: 20rpx;
}
.radio-group {
display: flex;
flex-wrap: wrap;
}
}
.life-text {
text:nth-child(1) {
display: inline-block;
width: 70rpx;
}
text:nth-child(2) {
padding-right: 20rpx;
}
text:nth-child(3) {
color: #1c76fd;
}
}
.form-tengTongScore {
display: flex;
align-items: center;
}
.form-biaoBen,
.form-tengTongScore {
input {
text-align: right;
width: 500rpx;
}
}
.form-qxName {
display: block;
border: none;
.qxName-one,
.qxName-two,
.qxName-three,
.qxName-four {
background-color: #f2f3f5;
padding: 0 0 8px 10px;
}
.qxName-one,
.qxName-two,
.qxName-three {
border-bottom: 1px solid #F2F2F2;
margin-bottom: 6px;
}
.form-qxName-text {
display: inline-block;
padding-bottom: 20rpx;
}
.qxcontent {
margin-top: 20rpx;
color: #1c76fd;
}
.qx-other {
margin: 10px 0;
}
}
.zsm {
margin-top: 32rpx;
border-bottom: 1px solid #F2F2F2;
.zsm-input {
margin-top: 10px;
}
}
.form-tengTongScore {
input {
text-align: right;
}
}
.form-healthEducation {
.healthEducationLabel:nth-child(1) {
checkbox {
margin-right: 20rpx;
}
}
}
.form-other-father,
.form-bodyPosition-father,
.form-qxName-father {
border-bottom: 1rpx solid #F2F2F2;
input {
height: 40px;
line-height: 40rpx;
}
}
.form-other,
.form-bodyPosition {
border-bottom: none;
}
.content-sign {
background-color: #fff;
.img-class {
width: 80px;
}
.operaSign {
padding: 20rpx 0;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1rpx solid #F2F2F2;
}
.sign {
color: #aeb8bf;
font-size: 48rpx;
width: 240rpx;
height: 96rpx;
line-height: 96rpx;
text-align: center;
border: 1px dashed #6EB1FF;
border-radius: 12px;
position: relative;
}
.image-father {
.image-clear {
position: absolute;
right: 4px;
top: -2px;
}
}
.sign-text,
.signature {
position: absolute;
left: 0;
bottom: 0;
width: 240rpx;
height: 96rpx;
text-align: center;
}
}
.buttons {
width: 90%;
height: 88rpx;
line-height: 88rpx;
background-color: #1e79ff;
color: #fff;
text-align: center;
border-radius: 20rpx;
margin: auto;
margin-top: 50rpx;
margin-bottom: 20rpx;
}
.flex {
display: flex;
align-items: center;
}
.margin-top-10 {
margin-top: 10px;
}
.qx-input {
border-bottom: 1px solid #ccc;
width: 60px;
text-align: center;
}
}
</style>
<style lang="less">
.operaNurseRcord {
.signature-wrap .img-wrap {
min-height: 100% !important;
}
.signature-wrap .img-wrap,
.signature-wrap .img-wrap image {
width: 240rpx;
height: 96rpx;
}
.flex-1 {
display: flex;
align-items: center;
}
.select-class {
width: 100%;
}
.margin-top-10 {
margin-top: 20rpx;
}
.margin-top-15 {
margin-top: 30rpx;
}
.webViewClass {
position: fixed;
// left: -999999px;
// z-index: -99999;
}
}
</style>