1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108 |
- <template>
- <div>
-
- <div v-if="isShowDialog" class="Dialog">
- <div class="DialogTit">
- <span @click="close()" class="iconfont"></span>
- <h1 class="name">透析处方</h1>
- <span @click="commitInfo" class="success">完成</span>
- </div>
-
- <div class="DialogContent" id="dialogTop">
- <div @click="showSubMenu('mode')" class="item" ref="mode" v-if="isShow('透析模式')">
- <label class="name" for="txms">透析模式</label>
- <div class="content">
- <span class="text" id="txms">{{GetModeByModeId(dialysisPrescription.mode_id)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
- <div class="item" @click="openPicker" v-if="isShow('透析时长')">
- <label class="name" for="txsc">透析时长</label>
- <div class="content">
- <span class="text" style="width: 100px">{{timeValue}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div class="item" v-if="isShow('血流量')">
- <label class="name" for="xll">血流量(ml/min)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="xll" v-model="dialysisPrescription.blood_flow_volume"/>
- </div>
- </div>
-
- <div class="item" v-if="isShow('目标超滤量')">
- <label class="name" for="mbcll">目标超滤量(L)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="mbcll" v-model="dialysisPrescription.target_ultrafiltration"/>
- </div>
- </div>
- <div @click="showSubMenu('dialysate_formulation')" class="item" ref="dialysate_formulation" v-if="isShow('透析液配方')">
- <label class="name" for="txypf">透析液配方</label>
- <div class="content">
- <span class="text"
- id="txypf">{{GetDialysateFormulationById(dialysisPrescription.dialysate_formulation)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div @click="showSubMenu('anticoagulant')" class="item" ref="anticoagulant" v-if="isShow('抗凝剂')">
- <label class="name" for="knj">抗凝剂</label>
- <div class="content">
- <span class="text" id="knj">{{GetAnticoagulantById(dialysisPrescription.anticoagulant)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div class="item" v-if="anticoagulant.shouji != -1&&isShow('首剂')">
- <label class="name" for="sj">首剂({{anticoagulant.shouji_unit}})</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="sj" v-model="dialysisPrescription.anticoagulant_shouji"
- :disabled="anticoagulant.shouji==1?false:true"/>
- </div>
- </div>
- <div class="item" v-if="anticoagulant.weichi != -1&&isShow('维持')">
- <label class="name" for="wz">维持({{anticoagulant.weichi_unit}})</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="wz" class="inputBox"
- v-model="dialysisPrescription.anticoagulant_weichi"
- :disabled="anticoagulant.weichi==1?false:true">
- </div>
- </div>
- <div class="item" v-if="anticoagulant.zongliang != -1 && isShow('总量')">
- <label class="name" for="zl" v-if="dialysisPrescription.anticoagulant == 2">总量(mg)</label>
- <label class="name" for="zl" v-if="dialysisPrescription.anticoagulant == 3">总量(IU)</label>
- <label class="name" for="zl" v-if="dialysisPrescription.anticoagulant == 4">总量(mg)</label>
- <label class="name" for="zl" v-if="dialysisPrescription.anticoagulant == 5">总量(mg)</label>
- <label class="name" for="zl" v-if="dialysisPrescription.anticoagulant == 1">总量(mg)</label>
-
-
-
-
-
- <div class="content">
- <input type="tel" @focus="inputFocus" id="zl" class="inputBox"
- v-model="dialysisPrescription.anticoagulant_zongliang"
- :disabled="anticoagulant.zongliang==1?false:true">
- </div>
- </div>
-
- <div class="item" v-if="anticoagulant.gaimingcheng != -1 && isShow('钙名称')">
- <label class="name" for="g">钙名称({{anticoagulant.gaimingcheng_unit}})</label>
- <div class="content">
- <input type="text" id="g" class="inputBox" v-model="dialysisPrescription.anticoagulant_gaimingcheng"
- :disabled="anticoagulant.gaimingcheng==1?false:true">
- </div>
- </div>
-
- <div class="item" v-if="anticoagulant.gaijiliang != -1 && isShow('钙剂量')">
- <label class="name" for="gjl">钙剂量</label>
- <div class="content">
- <input type="text" id="gjl" class="inputBox" v-model="dialysisPrescription.anticoagulant_gaimingcheng"
- :disabled="anticoagulant.gaimingcheng==1?false:true">
- </div>
- </div>
- <!-- <div class="item">
- <label class="name" for="gtz">干体重(kg)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="gtz" v-model="dialysisPrescription.dry_weight"/>
- </div>
- </div> -->
-
- <div class="line"></div>
- <div class="item" v-if="isShow('置换量')">
- <label class="name" for="zhy">置换量(L)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="zhy" v-model="dialysisPrescription.replacement_total"/>
- </div>
- </div>
-
- <!-- <div class="line"></div> -->
- <div class="item" v-if="isShow('钾')">
- <label class="name" for="j">钾(mmol/L)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="j" v-model="dialysisPrescription.kalium"/>
- </div>
- </div>
- <div class="item" v-if="isShow('钠')">
- <label class="name" for="n">钠(mmol/L):</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="n" v-model="dialysisPrescription.sodium"/>
- </div>
- </div>
- <div class="item" v-if="isShow('钙')">
- <label class="name" for="gg">钙(mmol/L)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="gg" v-model="dialysisPrescription.calcium"/>
- </div>
- </div>
- <div class="item" v-if="isShow('碳酸氢盐')">
- <label class="name" for="tsqy">碳酸氢盐(mmol/L)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="tsqy" v-model="dialysisPrescription.bicarbonate"/>
-
- </div>
- </div>
- <div class="item" v-if="isShow('葡萄糖')">
- <label class="name" for="ptt">葡萄糖(mmol/L)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="ptt" v-model="dialysisPrescription.glucose"/>
- </div>
- </div>
-
- <div class="line"></div>
-
- <div class="item" v-if="isShow('透析液流量')">
- <label class="name" for="txyll">透析液流量(ml/min)</label>
- <div class="content">
- <input type="tel" @focus="inputFocus" id="txyll" v-model="dialysisPrescription.dialysate_flow"/>
- </div>
- </div>
- <div class="item" v-if="isShow('透析液温度')">
- <label class="name" for="txywd">透析液温度(℃)</label>
- <div class="content">
- <!--<span class="text">HD</span>-->
- <!--<span class="iconfont"></span>-->
- <input type="tel" @focus="inputFocus" id="txywd" v-model="dialysisPrescription.dialysate_temperature"/>
-
- </div>
- </div>
- <div class="item" v-if="isShow('电导度')">
- <label class="name" for="dtl">电导度(mS/m)</label>
- <div class="content">
-
- <input type="tel" @focus="inputFocus" id="dtl" v-model="dialysisPrescription.conductivity"/>
- </div>
- </div>
- <div class="item" v-if="isShow('透析器/灌流器')">
- <label class="name" for="dtl">透析器/灌流器</label>
- <div class="content">
-
- <input @focus="inputFocus" id="dt" v-model="dialysisPrescription.dialyzer_perfusion_apparatus"/>
- </div>
- </div>
- <div class="line"></div>
-
- <div @click="showSubMenu('body_fluid')" class="item" ref="body_fluid" v-if="isShow('体液过多症状')">
- <label class="name" for="knj">体液过多症状</label>
- <div class="content">
- <span class="text" id="knja">{{getBodyFluid(dialysisPrescription.body_fluid)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div class="item" v-if="isShow('体液过多其他症状')">
- <label class="name" for="knj">体液过多其他症状</label>
- <div class="content">
- <input @focus="inputFocus" id="dt" v-model="dialysisPrescription.body_fluid_other"/>
- </div>
- </div>
-
-
- <div @click="showSubMenu('special_medicine')" class="item" ref="special_medicine" v-if="isShow('透析前使用特殊药物')">
- <label class="name" for="knj">透析前使用特殊药物</label>
- <div class="content">
- <span class="text" id="knjaa">{{getSpecialMedicine(dialysisPrescription.special_medicine)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div class="item" v-if="isShow('透析前使用其他特殊药物')">
- <label class="name" for="knj">透析前使用其他特殊药物</label>
- <div class="content">
- <input @focus="inputFocus" id="dt" v-model="dialysisPrescription.special_medicine_other"/>
- </div>
- </div>
-
- <div @click="showSubMenu('displace_liqui_part')" class="item" ref="displace_liqui_part" v-if="isShow('置换液')">
- <label class="name" for="knj">置换液</label>
- <div class="content">
- <span class="text" id="knjaa">{{getDisplaceLiquiPart(dialysisPrescription.displace_liqui_part)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div class="item" v-if="isShow('置换液总量')">
- <label class="name" for="knj">置换液总量(L)</label>
- <div class="content">
- <input @focus="inputFocus" id="dt" v-model="dialysisPrescription.displace_liqui_value"/>
- </div>
- </div>
-
- <div class="item" v-if="isShow('目标KT/V')">
- <label class="name" for="knj">目标KT/V</label>
- <div class="content">
- <input @focus="inputFocus" id="dt" v-model="dialysisPrescription.target_ktv"/>
- </div>
- </div>
-
-
- <div @click="showSubMenu('blood_access')" class="item" ref="blood_access" v-if="isShow('血管通路')">
- <label class="name" for="knj">血管通路</label>
- <div class="content">
- <span class="text" id="knjaa">{{getBloodAccess(dialysisPrescription.blood_access)}}</span>
- <span class="iconfont"></span>
- </div>
- </div>
-
- <div class="item" v-if="isShow('实际超滤量')">
- <label class="name" for="knj">实际超滤量(L)</label>
- <div class="content">
- <input @focus="inputFocus" id="dt" v-model="dialysisPrescription.ultrafiltration"/>
- </div>
- </div>
-
-
-
- <div @click="dialysisGoodsClick()" class="item" ref="consumable_material" v-if="config.is_open == 1">
- <label class="name" for="knj">透析耗材</label>
- <div class="content">
- <span class="text" id="knjaa"></span>
- <span class="iconfont"></span>
- </div>
- </div>
-
-
- <div class="item" style="display: none">
- <label class="name" for="dtl">医生签名</label>
- <div class="content">
- <div v-if="isShowDesc">医生尚未签名</div>
- <img v-if="isShowDoctorSign" style="width: 100px;height: 30px" :src="signUrl"
- alt="" srcset="">
- </div>
- </div>
-
-
- <div class="line"></div>
- <div>
- <div class="item">
- <label class="name" for="bz">备注</label>
- <div class="content">
- <span class="text"></span>
- </div>
- </div>
- <textarea class="textarea" id="bz" placeholder="请输入内容" v-model="dialysisPrescription.remark"
- @focus="lastInputFocus" @blur="lastInputBlur"></textarea>
- </div>
-
- <!--<div class="footer">-->
- <!--处方医生:刘小军 医生-->
- <!--</div>-->
- <div class="PrescSubmit">
- <button style="display: none" class="tj" @click="sign()">医生签名</button>
- <button class="tjcq" @click="commitSolutionInfo">保存并设为长期处方</button>
- <button class="tj" @click="commitInfo">保存</button>
- </div>
- </div>
- </div>
- <!--<two-menu title="二级菜单" v-show="isShowModeSubMenu"></two-menu>-->
- <check-box-sub-menu :visibility="visibility" v-on:menu-cancle="menuCancle" v-on:menu-comfirm="menuComfirm" v-on:menu-empty="menuEmpty"
- :propsForm="propForm" ></check-box-sub-menu>
- <!--<multiple-sub-menu :goodTypes="types" :visibility="is_show" v-on:menu-cancle="menuCancle" v-on:menu-comfirm="menuComfirm" :propsForm="propForm"></multiple-sub-menu>-->
- <multiple-sub-menu :goodTypes="types" :info="info" :visibility="is_show" v-on:menu-cancel-two="menuCancleTwo" v-on:menu-comfirm-two="menuComfirmTwo" :propsForm="propForm" :dialysisPrescription="dialysisPrescription"></multiple-sub-menu>
-
- <mt-datetime-picker
- ref="picker"
- type="time"
- hourFormat="{value}小时"
- minuteFormat="{value}分钟"
- @confirm="handleTimeConfirm"
- v-model="time">
- </mt-datetime-picker>
-
-
-
-
-
-
-
- </div>
- </template>
-
- <script>
- import CheckBoxSubMenu from "./subMenu/checkBoxSubMenu";
- import MultipleSubMenu from "./subMenu/multipleSubMenu"
- import {commitDialysisPrescription, postSign, postSolution} from "@/api/dialysis";
- import {Toast} from 'vant';
- import {getDataConfig} from '@/utils/data';
-
-
- export default {
- name: "PrescriptionDialog",
- props: {
- patient_prop: {
- type: Object
- },
- solution_prop: {
- type: Object
- },
- config: {
- type: Object
- },
- operators:{
- type:Array,
- default: function () {
- return new Array();
- }
- },
- types:{
- type:Array,
- default: function () {
- return new Array();
- }
- },
- info:{
- type:Array,
- default: function () {
- return new Array();
- }
- },
- prescription_prop: {
- type: Object,
- },
- machines_prop: {
- type: Array,
- default: function () {
- return new Array();
- }
- }
- },
- data() {
- return {
- loading:false,
- signUrl:"",
- isShowDesc:true,
- time: '03:00',
- timeValue: '',
- isShowSign: false,
- anticoagulantsConfit: {},
- dialysateFormulationOptions: [],
- bodyFluidOptions:[],
- specialMedicineOptions:[],
- displaceLiquiPartOptions:[],
- bloodAccessOptions:[],
-
- is_show:false,
-
- perfusion_apparatus: {},
- replacementWays: [],
- dialyserList: [],
- modeOption: [],
- isShowDoctorBtn: true,
- isShowDoctorSign: false,
- visibility: false,
- isShowDialog: true,
- isShowModeSubMenu: false,
- dialysisPrescription: {
- mode_id: "",
- dialysis_duration: "",
- dialysis_duration_hour: "",
- dialysis_duration_minute: "",
- mode_name: "",
- dialyzer: "",
- perfusion_apparatus: "",
- blood_flow_volume: "",
- dewater_amount: "",
- displace_liqui: "",
- replacement_total: '',
- replacement_way: "",
- anticoagulant: "",
- anticoagulant_shouji: "",
- anticoagulant_weichi: "",
- anticoagulant_zongliang: "",
- anticoagulant_gaimingcheng: "",
- anticoagulant_gaijiliang: "",
- dialyzer_perfusion_apparatus:"",
- kalium: "",
- sodium: "",
- calcium: "",
- bicarbonate: "",
- glucose: "",
- prescription_doctor: "",
- // dry_weight: "",
- dialysate_flow: "",
- dialysate_temperature: "",
- target_ultrafiltration: "",
- dialysate_formulation: "",
- conductivity: "",
- doctor: "",
- remark: "",
- body_fluid:"",
- special_medicine:"",
- special_medicine_other:"",
- displace_liqui_part:"",
- displace_liqui_value:"",
- blood_access:"",
- ultrafiltration:"",
- body_fluid_other:"",
- niprocart:'',
- jms:'',
- fistula_needle_set:'',
- fistula_needle_set_16:'',
- hemoperfusion:'',
- dialyser_sterilised:'',
- filtryzer:'',
- target_ktv:'',
- dialyzers:'',
- injector:'',
- bloodlines:'',
- tubing_hemodialysis:'',
- package:'',
- a_liquid:'',
-
-
- },
- anticoagulant: {
- id: 0,
- name: "",
- type: 1,
- shouji: 1,
- weichi: 1,
- zongliang: 1,
- gaimingcheng: -1,
- gaijiliang: -1,
- shouji_unit: "mg",
- weichi_unit: "mg/h",
- zongliang_unit: "mg",
- gaimingcheng_unit: "",
- gaijiliang_unit: ""
- },
-
- propForm: {
- title: "",
- list: [],
- optionList: [],
- isMultiple: 2,
- result: [], //选中的值
- type: 1, //用来区分不同子菜单,方便对返回值进行赋值
- selectId: 0
- }
- };
- },
-
- methods: {
- isShow(name){
- var filedList = this.$store.getters.user.fileds
-
- for (let i = 0; i < filedList.length; i++){
- if(filedList[i].module == 1 && filedList[i].filed_name_cn == name&&filedList[i].is_show == 1){
- return true
- }
- }
- return false
- },
- openPicker: function () {
- this.$refs.picker.open();
- },
- handleTimeConfirm: function (val) {
- val = val.replace("小时")
- val = val.replace("分钟")
- let timeArray = val.split(":")
- if (parseInt(timeArray[0].substring(0, 1)) == 0) {
- this.dialysisPrescription.dialysis_duration_hour = timeArray[0].charAt(timeArray[0].length - 1)
- } else {
- this.dialysisPrescription.dialysis_duration_hour = timeArray[0]
- }
-
- if (parseInt(timeArray[1].substring(0, 1)) == 0) {
- this.dialysisPrescription.dialysis_duration_minute = timeArray[1].charAt(timeArray[1].length - 1)
- } else {
- this.dialysisPrescription.dialysis_duration_minute = timeArray[1]
- }
- this.timeValue = this.dialysisPrescription.dialysis_duration_hour + "小时" + this.dialysisPrescription.dialysis_duration_minute + "分钟"
-
-
- this.dialysisPrescription.dialysis_duration = this.dialysisPrescription.dialysis_duration_hour + "." + (this.dialysisPrescription.dialysis_duration_minute)
-
- },
- inputFocus: function (event) {
- var input = event.target
- setTimeout(function () {
- input.scrollIntoView()
- }, 0);
-
- if (input.setSelectionRange) {
- setTimeout(function () {
- input.setSelectionRange(0, input.value.length);
- }, 0);
- } else if (input.createTextRange) {
- var rng = input.createTextRange();
- rng.move('character', input.value.length);
- rng.select();
- }
- },
- lastInputFocus: function (event) {
- var input = event.target
- setTimeout(function () {
- input.style.marginBottom = "2rem"
- input.parentNode.scrollIntoView()
- }, 0);
- },
- lastInputBlur: function (event) {
- var input = event.target
- setTimeout(function () {
- input.style.marginBottom = ""
- }, 0);
- },
- showSubMenu: function (val) {
- switch (val) {
- case "mode":
- this.propForm.type = 1;
- this.isShowDialog = false;
- this.propForm.title = "透析模式";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.modeOption;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.mode_id;
- this.propForm.click_ref = "mode"
-
- break;
- case "dialyzer":
- this.propForm.type = 2;
- this.isShowDialog = false;
- this.propForm.title = "透析器";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.machines_prop;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.dialyzer;
- this.propForm.click_ref = "dialyzer"
-
- break;
-
- case "perfusion_apparatus":
- this.propForm.type = 3;
- this.isShowDialog = false;
- this.propForm.title = "灌流器";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.perfusion_apparatus;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.perfusion_apparatus;
- this.propForm.click_ref = "perfusion_apparatus"
-
- break;
- case "replacement_way":
- this.propForm.type = 4;
- this.isShowDialog = false;
- this.propForm.title = "置换方式";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.replacementWays;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.replacement_way;
- this.propForm.click_ref = "replacement_way"
-
- break;
-
- case "anticoagulant":
- this.propForm.type = 5;
- this.isShowDialog = false;
- this.propForm.title = "抗疑剂";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.anticoagulantsConfit;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.anticoagulant;
- this.propForm.click_ref = "anticoagulant"
- break;
- case "dialysate_formulation":
- this.propForm.type = 6;
- this.isShowDialog = false;
- this.propForm.title = "透析液配方";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.dialysateFormulationOptions;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.dialysate_formulation;
- this.propForm.click_ref = "dialysate_formulation"
- break;
- case "body_fluid":
- this.propForm.type = 7;
- this.isShowDialog = false;
- this.propForm.title = "体液过多症状";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.bodyFluidOptions;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.body_fluid;
- this.propForm.click_ref = "body_fluid"
- break
- case "special_medicine":
- this.propForm.type = 8;
- this.isShowDialog = false;
- this.propForm.title = "透析前使用特殊药物";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.specialMedicineOptions;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.special_medicine;
- this.propForm.click_ref = "special_medicine"
- break;
- case "displace_liqui_part":
- this.propForm.type = 9;
- this.isShowDialog = false;
- this.propForm.title = "置换液";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.displaceLiquiPartOptions;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.displace_liqui_part;
- this.propForm.click_ref = "displace_liqui_part"
- break;
- case "blood_access":
- this.propForm.type = 10;
- this.isShowDialog = false;
- this.propForm.title = "血管通路";
- this.visibility = true;
- this.propForm.list = [];
- this.propForm.optionList = this.bloodAccessOptions;
- this.propForm.isMultiple = 1;
- this.propForm.selectId = this.dialysisPrescription.blood_access;
- this.propForm.click_ref = "blood_access"
- break;
-
-
- }
- },
- menuCancle: function () {
- this.visibility = false;
- this.isShowDialog = true;
- this.$nextTick(() => {
- if (this.$refs[this.propForm.click_ref] != undefined && this.$refs[this.propForm.click_ref] != null) {
- this.$refs[this.propForm.click_ref].scrollIntoView()
- }
- })
- },
- menuComfirm: function (val) {
- this.visibility = false;
- this.isShowDialog = true;
- this.$nextTick(() => {
- if (this.$refs[this.propForm.click_ref] != undefined && this.$refs[this.propForm.click_ref] != null) {
- this.$refs[this.propForm.click_ref].scrollIntoView()
- }
- })
- switch (val.type) {
- case 1:
- this.dialysisPrescription.mode_id = val.selectId;
-
- break;
- case 2:
- this.dialysisPrescription.dialyzer = val.selectId;
- break;
-
- case 3:
- this.dialysisPrescription.perfusion_apparatus = val.selectId;
- break;
- case 4:
- this.dialysisPrescription.replacement_way = val.selectId;
- break;
- case 5:
- this.dialysisPrescription.anticoagulant = val.selectId;
-
- if (typeof this.anticoagulantsConfit[val.selectId] == "undefined" || this.anticoagulantsConfit[val.selectId] == null) {
- return;
- }
- this.anticoagulant = this.anticoagulantsConfit[val.selectId];
- break;
- case 6:
- this.dialysisPrescription.dialysate_formulation = val.selectId;
- break;
- case 7:
- this.dialysisPrescription.body_fluid = val.selectId;
- break;
- case 8:
- this.dialysisPrescription.special_medicine = val.selectId;
- break;
- case 9:
- this.dialysisPrescription.displace_liqui_part = val.selectId;
- break;
- case 10:
- this.dialysisPrescription.blood_access = val.selectId;
- break;
- }
- },
- GetModeByModeId: function (val) {
- let treatment_mode_name = "";
- let treatment_mode = this.modeOption;
-
-
- for (let keys in treatment_mode) {
- if (treatment_mode[keys].id == val) {
- treatment_mode_name = treatment_mode[keys].name;
- }
- }
-
- return treatment_mode_name;
- },
-
- GetDialysateFormulationById: function (val) {
- let name = "";
- let dfl = this.dialysateFormulationOptions.length;
- for (let index = 0; index < dfl; index++) {
- if (this.dialysateFormulationOptions[index].id == val) {
- name = this.dialysateFormulationOptions[index].name;
- break;
- }
- }
- return name;
- },
- GetDialyzerById: function (val) {
- let dialyzer_name = "";
- let machines = this.machines_prop;
-
- for (let i = 0; i < machines.length; i++) {
- if (machines[i].id == val) {
- dialyzer_name = machines[i].name;
- }
- }
-
- return dialyzer_name;
- },
- GetPerfusionApparatusById: function (val) {
- let perfusion_apparatus_name = "";
- let perfusion_apparatus = this.perfusion_apparatus;
- for (let i = 0; i < perfusion_apparatus.length; i++) {
- if (perfusion_apparatus[i].id == val) {
- perfusion_apparatus_name = perfusion_apparatus[i].name;
- }
- }
-
- return perfusion_apparatus_name;
- },
- GetReplacementWayById: function (val) {
- let replacement_ways_name = "";
- let replacement_ways = this.replacementWays;
- for (let i = 0; i < replacement_ways.length; i++) {
- if (replacement_ways[i].id == val) {
- replacement_ways_name = replacement_ways[i].name;
- }
- }
- return replacement_ways_name;
- },
- GetAnticoagulantById: function (val) {
- let anticoagulan_name = "";
- let anticoagulant = this.anticoagulantsConfit;
- for (let keys in anticoagulant) {
- if (anticoagulant[keys].id == val) {
- anticoagulan_name = anticoagulant[keys].name;
- }
- }
- return anticoagulan_name;
- },
- commitInfo: function () {
- Toast.loading({forbidClick: true, duration: 0})
- let ParamsQuery = this.dialysisPrescription;
- ParamsQuery["patient"] = this.$route.query.patient_id;
- ParamsQuery["record_date"] = this.record_date;
- commitDialysisPrescription(ParamsQuery).then(response => {
- if (response.data.state == 0) {
- Toast.fail(response.data.msg);
- return false;
- } else {
- Toast.success("提交成功");
- this.$emit("prescription", response.data.data.prescription);
- // for (const key in response.data.data.prescription) {
- // // this.prescription_prop[key] = response.data.data.prescription[key];
- // }
- this.finish();
-
- }
- });
- }, commitSolutionInfo: function () {
- // plus.runtime.openURL("http://www.baidu.com");
- Toast.loading({forbidClick: true, duration: 0})
- let ParamsQuery = this.dialysisPrescription;
- ParamsQuery["patient"] = this.$route.query.patient_id;
- ParamsQuery["record_date"] = this.record_date;
- postSolution(ParamsQuery).then(response => {
- if (response.data.state == 0) {
- Toast.fail(response.data.msg);
- return false;
- } else {
- Toast.success("提交成功");
- // for (const key in response.data.data.solution) {
- // this.solution_prop[key] = response.data.data.solution[key];
- // }
- // for (const key in response.data.data.prescription) {
- // this.prescription_prop[key] = response.data.data.prescription[key];
- // }
- // console.log(response.data.data.prescription)
-
- this.$emit("longSolution", response.data.data.solution);
- this.$emit("prescription", response.data.data.prescription);
- this.finish();
- }
- });
- }, finish: function () {
- this.$emit("finish")
- }, close: function () {
- this.$emit("close")
- }, open: function () {
- this.isShowDialog = true;
- this.visibility = false;
- this.$refs.picker.close();
- var dialogTop = document.querySelector('#dialogTop');
- if (dialogTop != null) {
- this.$nextTick(() => {
- dialogTop.scrollTop = 0;
- });
- }
- }, sign: function () {
- let params = {
- patient_id: this.$route.query.patient_id,
- date: this.record_date,
- }
- postSign(params).then(response => {
- if (response.data.state == 0) {
- Toast.fail(response.data.msg);
- return false;
- } else {
- this.isShowDesc = false
- this.isShowDoctorSign = true
- this.dialysisPrescription.prescription_doctor = response.data.data.doctor_id
- for(let i = 0; i < this.operators.length; i++){
- if(this.operators[i].creator == response.data.data.doctor_id){
- console.log(this.operators[i].url)
- this.signUrl = this.operators[i].url
- }
- }
- Toast.success("签名成功");
- }
- });
- },getBodyFluid:function (val) {
- let body_fluid_name = "";
- let body_fluid = this.bodyFluidOptions;
- for (let i = 0; i < body_fluid.length; i++) {
- if (body_fluid[i].id == val) {
- body_fluid_name = body_fluid[i].name;
- }
- }
- return body_fluid_name;
- },getSpecialMedicine:function (val) {
- let special_medicine_name = "";
- let special_medicine = this.specialMedicineOptions;
- for (let i = 0; i < special_medicine.length; i++) {
- if (special_medicine[i].id == val) {
- special_medicine_name = special_medicine[i].name;
- }
- }
- return special_medicine_name;
-
- },getDisplaceLiquiPart:function (val) {
- let displace_liqui_part_name = "";
- let displace_liqui_part = this.displaceLiquiPartOptions;
- for (let i = 0; i < displace_liqui_part.length; i++) {
- if (displace_liqui_part[i].id == val) {
- displace_liqui_part_name = displace_liqui_part[i].name;
- }
- }
- return displace_liqui_part_name;
- },getBloodAccess:function (val) {
- let blood_access_name = "";
- let blood_access = this.bloodAccessOptions;
- for (let i = 0; i < blood_access.length; i++) {
- if (blood_access[i].id == val) {
- blood_access_name = blood_access[i].name;
- }
- }
- return blood_access_name;
-
- },menuEmpty:function (val) {
- this.visibility = false
- this.isShowDialog = true
- switch (val.type) {
- case 1:
- this.dialysisPrescription.mode_id = '';
-
- break;
- case 2:
- this.dialysisPrescription.dialyzer ='';
- break;
-
- case 3:
- this.dialysisPrescription.perfusion_apparatus = '';
- break;
- case 4:
- this.dialysisPrescription.replacement_way = '';
- break;
- case 5:
- this.anticoagulant = '';
- break;
- case 6:
- this.dialysisPrescription.dialysate_formulation = '';
- break;
- case 7:
- this.dialysisPrescription.body_fluid = '';
- break;
- case 8:
- this.dialysisPrescription.special_medicine = '';
- break;
- case 9:
- this.dialysisPrescription.displace_liqui_part = '';
- break;
- case 10:
- this.dialysisPrescription.blood_access = '';
- break;
- }
-
- },getFloat: function(x) {
- if (x != '.') {
- var f = Math.round(x * 100) / 100;
- var s = f.toString();
- var rs = s.indexOf('.');
- if (rs <= 0) {
- rs = s.length;
- s += '.';
- }
- while (s.length <= rs + 1) {
- s += '0';
- }
- return s;
- } else {
- return '0.0';
- }
- },dialysisGoodsClick:function () {
- this.isShowDialog = false
- this.is_show = true
- },menuCancleTwo:function () {
- this.isShowDialog = true
- this.is_show = false
-
- },menuComfirmTwo:function (dialysisPrescription) {
- this.isShowDialog = true
- this.is_show = false
- this.dialysisPrescription.niprocart = dialysisPrescription.niprocart
- this.dialysisPrescription.jms = dialysisPrescription.jms
- this.dialysisPrescription.fistula_needle_set = dialysisPrescription.fistula_needle_set
- this.dialysisPrescription.fistula_needle_set_16 = dialysisPrescription.fistula_needle_set_16
- this.dialysisPrescription.hemoperfusion = dialysisPrescription.hemoperfusion
- this.dialysisPrescription.dialyser_sterilised = dialysisPrescription.dialyser_sterilised
- this.dialysisPrescription.filtryzer = dialysisPrescription.filtryzer
-
-
-
- this.dialysisPrescription.dialyzers = dialysisPrescription.dialyzers
- this.dialysisPrescription.injector = dialysisPrescription.injector
- this.dialysisPrescription.bloodlines = dialysisPrescription.bloodlines
- this.dialysisPrescription.tubing_hemodialysis = dialysisPrescription.tubing_hemodialysis
- this.dialysisPrescription.package = dialysisPrescription.package
- this.dialysisPrescription.a_liquid = dialysisPrescription.a_liquid
-
- }
- },
- created() {
- if (this.$store.getters.user.user.user_type == 2) {
- this.isShowSign = true;
-
- }
- this.modeOption = this.$store.getters.treatment_mode;
- delete this.modeOption['0']
-
- var perfusion_apparatus = getDataConfig('hemodialysis', 'perfusion_apparatus')
- this.perfusion_apparatus = perfusion_apparatus;
-
- this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
- this.bodyFluidOptions = this.$store.getters.body_fluid;
- this.specialMedicineOptions = this.$store.getters.special_medicine
- this.displaceLiquiPartOptions = this.$store.getters.displace_liqui
- this.bloodAccessOptions = this.$store.getters.blood_access
-
- this.dialysateFormulationOptions = getDataConfig('hemodialysis', 'dialysate_formulation');
- this.replacementWays = getDataConfig('hemodialysis', 'replacement_ways');
-
- this.patient = this.patient_prop;
- if (this.prescription_prop != null && typeof (this.prescription_prop.id) != 'undefined' && this.prescription_prop.id > 0) {
- for (const key in this.prescription_prop) {
- this.dialysisPrescription[key] = this.prescription_prop[key];
- }
- } else if (this.solution_prop != null && typeof this.solution_prop.id != 'undefined' && this.solution_prop.id) {
- for (const key in this.solution_prop) {
- this.dialysisPrescription[key] = this.solution_prop[key];
- }
- }
-
-
- if (this.dialysisPrescription.dialysis_duration_hour.length == 0 || this.dialysisPrescription.dialysis_duration_minute.length == 0) {
- this.timeValue = '';
- this.time = '03:00';
- } else {
- this.timeValue = this.dialysisPrescription.dialysis_duration_hour + "小时" + this.dialysisPrescription.dialysis_duration_minute + "分钟"
- this.time = (this.dialysisPrescription.dialysis_duration_hour > 10 ? this.dialysisPrescription.dialysis_duration_hour : "0" + this.dialysisPrescription.dialysis_duration_hour) + ":" + (this.dialysisPrescription.dialysis_duration_minute > 10 ? this.dialysisPrescription.dialysis_duration_minute : "0" + this.dialysisPrescription.dialysis_duration_minute)
- }
-
-
-
- this.dialyserList = this.machines_prop;
- // this.doctor = this.$store.getters.user.user.user_type;
-
-
- var date = this.$route.query && this.$route.query.date;
- date *= 1000;
- var newDate = new Date(date);
-
- var y = newDate.getFullYear();
- var m = newDate.getMonth() + 1;
- var d = newDate.getDate();
- if (isNaN(y) || isNaN(m) || isNaN(d)) {
- newDate = new Date();
- y = newDate.getFullYear();
- m = newDate.getMonth() + 1;
- d = newDate.getDate();
- }
- this.record_date =
- y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
- // this.patient.id = this.patient_prop.id
-
-
- if(this.dialysisPrescription.prescription_doctor == ''){
- this.isShowDesc = true
- this.isShowDoctorSign = false
- }else{
- this.isShowDesc = false
- this.isShowDoctorSign = true
-
- for(let i = 0; i < this.operators.length; i++){
- if(this.operators[i].creator == this.dialysisPrescription.prescription_doctor){
- this.signUrl = this.operators[i].url
- }
- }
-
- }
- this.dialysisPrescription.kalium = this.getFloat(this.dialysisPrescription.kalium )
- this.dialysisPrescription.sodium = this.getFloat(this.dialysisPrescription.sodium )
- this.dialysisPrescription.calcium = this.getFloat(this.dialysisPrescription.calcium )
- this.dialysisPrescription.ultrafiltration = this.getFloat(this.dialysisPrescription.ultrafiltration )
- this.dialysisPrescription.target_ultrafiltration = this.getFloat(this.dialysisPrescription.target_ultrafiltration )
-
-
-
- },
-
- components: {
- MultipleSubMenu,
- // MultipleSubMenu,
- CheckBoxSubMenu
- }
- };
- </script>
-
- <style style="stylesheet/scss" lang="scss" scoped>
- .DialogContent {
- // padding-bottom:2rem !important;
-
- .textarea {
- width: 100%;
- height: 2.4rem;
- line-height: 0.6rem;
- color: $pgh-color;
- font-size: 0.28rem;
- padding-left: 0.36rem;
- border: none;
- border-bottom: 1px #e5e5e5 solid;
- }
- }
- </style>
-
|