12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184 |
- <template>
- <div class="main-contain">
- <div class="position">
- <bread-crumb :crumbs='crumbs'></bread-crumb>
- <el-button :loading="loading" size="small" icon="el-icon-printer" @click="printAction" type="primary">打印
- </el-button>
- </div>
- <div class="app-container">
- <div id="print_content">
- <div v-for="(record, index) in records" :key="index" class="print_page_main_content">
- <div class="order-yy-name">{{orgname}}</div>
- <div class="order_title">血液净化科医嘱及执行单</div>
- <div class="row">
- <div class="inline_block">
- 科室:
- <check-box text="门诊透析" :checked="record.patient.source == 1"></check-box>
-
- <check-box text="住院" :checked="record.patient.source == 2"></check-box>
- <!-- TODO -->
- </div>
- <div class="inline_block" style="margin-left: 5px;">
- 住院号:
- <div class="under_line" style="width: 70px;text-align: left" v-if="record.patient.admission_number">
- {{record.patient.admission_number}}
- </div>
- <div class="under_line" style="width: 70px;" v-else>
- {{'/'}}
- </div>
- </div>
- <div class="inline_block" style="margin-left:10px;">
- 姓名:
- <div class="under_line" style="width: 50px;text-align: left">{{ record.patient.name }}</div>
- </div>
- <div class="inline_block" style="margin-left: 10px;">
- 性别:
- <check-box text="男" :checked="record.patient.gender == 1"></check-box>
-  
- <check-box text="女" :checked="record.patient.gender == 2"></check-box>
- </div>
- <div class="inline_block" style="margin-left: 10px;">
- 年龄:
- <div class="under_line" style="width:30px;text-align: left">{{getAge(record.patient)}}</div>
- 岁
- </div>
-
- <div class="inline_block" style="margin-left: 10px;">
- 诊断:
- <div class="under_line_two" style="width: 180px;text-align: left">{{record.patient.diagnose}}</div>
- </div>
-
- </div>
-
- <table class="proj_table">
- <tbody>
- <tr>
- <td>
- <!--<div class="row" style="padding: 2px 0;line-height:24px;" v-if="record.patient.diagnose.length > 10">-->
- <!--<div class="inline_block">-->
- <!--诊断:-->
- <!--<div class="under_line" style="width: 500px;text-align: left">{{record.patient.diagnose}}</div>-->
- <!--</div>-->
- <!--</div>-->
-
- <div class="row" style="padding: 2px 0;line-height:24px;">
-
- <div class="inline_block">治疗方式:
- <check-box text="HD" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 1)"></check-box>
- <check-box text="HDF" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 2)"></check-box>
- <check-box text="HF" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 5)"></check-box>
- <check-box text="HP" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 4)"></check-box>
- <check-box text="HD+HP" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 3)"></check-box>
- </div>
-
- <!--<div class="inline_block" v-if="record.patient.diagnose.length > 10" style="margin-left: -10px">-->
- <!-- 治疗方式:-->
- <!--<check-box text="HD" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 1)"></check-box>-->
- <!--<check-box text="HDF" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 2)"></check-box>-->
- <!--<check-box text="HF" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 5)"></check-box>-->
- <!--<check-box text="HP" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 4)"></check-box>-->
- <!--<check-box text="HD+HP" :checked="isCheckBoxChecked(record.prescription, 'mode_id', 3)"></check-box>-->
- <!--</div>-->
- <div class="inline_block" style="margin-left:20px;">
- 其它:
- <div class="under_line" style="width: 100px;text-align: left">{{
- record.prescription&&record.prescription.mode_id>5?record.prescription.mode:''}}
- </div>
- </div>
- <div class="inline_block" style="margin-left:20px;">
- 治疗时间:
- <div class="under_line" style="width: 30px;text-align: left">
- {{record.prescription&&record.prescription.dialysis_duration_hour?record.prescription.dialysis_duration_hour:'0'}}
- </div>
- h
- <div class="under_line" style="width: 30px;text-align: left">
- {{record.prescription&&record.prescription.dialysis_duration_minute?record.prescription.dialysis_duration_minute:'0'}}
- </div>
- min
- </div>
-
- <div class="inline_block" style="margin-left:20px;">
- 病情:
- <check-box
- v-for="(item, index) in sick_condition_arr" :key="index"
- :text="item.name"
-
- :checked="
- isCheckBoxChecked(
- record.receive_assessment,
- 'sick_condition',
- item.id
- )
- "
- ></check-box>
-
- <!--<check-box text="一般" :checked="isCheckBoxChecked(record.receive_assessment, 'sick_condition', 1)"></check-box>-->
- <!--<check-box text="重" :checked="isCheckBoxChecked(record.receive_assessment, 'sick_condition', 2)"></check-box>-->
- <!--<check-box text="危" :checked="isCheckBoxChecked(record.receive_assessment, 'sick_condition', 3)"></check-box>-->
- <div class="inline_block">
- 其它:
- <div class="under_line" style="width: 150px;text-align: left">
- {{ record.receive_assessment?record.receive_assessment.sick_condition_other:''}}
- </div>
- </div>
- </div>
-
- </div>
- <div class="row" style="padding: 2px 0;line-height:24px;">
- <div class="inline_block">
- 体液过多症状:
- <check-box text="无" :checked="isCheckBoxChecked(record.prescription, 'body_fluid', 1)"></check-box>
- <check-box text="下肢水肿+"
- :checked="isCheckBoxChecked(record.prescription, 'body_fluid', 2)"></check-box>
- <check-box text="下肢水肿++"
- :checked="isCheckBoxChecked(record.prescription, 'body_fluid', 4)"></check-box>
- <check-box text="下肢水肿+++"
- :checked="isCheckBoxChecked(record.prescription, 'body_fluid', 4)"></check-box>
- </div>
- <div class="inline_block">
- 其它:
- <div class="under_line" style="width: 200px;text-align: left">
- {{ record.prescription?record.prescription.body_fluid_other:''}}
- </div>
- </div>
-
- </div>
- <div class="row" style="padding: 2px 0; line-height:24px;">
- <div class="inline_block">透析器型号:
- <div class="under_line_two" style="width: 200px;text-align: left">
- {{record.prescription?record.prescription.dialyzer_perfusion_apparatus:''}}
- </div>
- </div>
-
- <div class="inline_block" style="margin-left:20px;">
- 透析前使用特殊药物:
- <check-box text="无"
- :checked="isCheckBoxChecked(record.prescription, 'special_medicine', 1)"></check-box>
- <check-box text="降压药"
- :checked="isCheckBoxChecked(record.prescription, 'special_medicine', 2)"></check-box>
- <check-box text="抗凝"
- :checked="isCheckBoxChecked(record.prescription, 'special_medicine', 3)"></check-box>
- </div>
- <div class="inline_block">
- 其它:
- <div class="under_line" style="width: 200px;text-align: left">
- {{ record.prescription?record.prescription.special_medicine_other:''}}
- </div>
- </div>
- </div>
- <div class="row" style="padding: 2px 0;line-height:24px;">
- <div class="inline_block">
- 透析液(mmol/L):
-  Ca<sup>2+</sup>:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.calcium">
- {{getFloat(record.prescription.calcium)}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- mmol/L
-  Na<sup>+</sup>:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.sodium">
- {{getFloat(record.prescription.sodium)}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- mmol/L
-  K<sup>+</sup>:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.kalium">
- {{getFloat(record.prescription.kalium)}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- mmol/L
- </div>
- <div class="inline_block"
- v-if="record.prescription == null">
-  置换液后/前稀释 总量:
-
- <div class="under_line" style="width: 60px;">
- {{'/'}}
- </div>
- L
- </div>
- <div class="inline_block"
- v-if="record.prescription != null &&record.prescription.displace_liqui_part == 0">
-  置换液后/前稀释 总量:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.displace_liqui_value">
- {{record.prescription.displace_liqui_value}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- L
- </div>
- <div class="inline_block"
- v-if="record.prescription != null &&record.prescription.displace_liqui_part == 1">
-  置换液前稀释 总量:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.displace_liqui_value">
- {{record.prescription.displace_liqui_value}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- L
- </div>
- <div class="inline_block"
- v-if="record.prescription != null &&record.prescription.displace_liqui_part == 2">
-  置换液后稀释 总量:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.displace_liqui_value">
- {{record.prescription.displace_liqui_value}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- L
- </div>
- </div>
- <div class="row" style="padding: 2px 0;line-height:24px;">
- <div class="inline_block">
- 血管通路:
- <check-box text="内瘘"
- :checked="isCheckBoxChecked(record.prescription, 'blood_access', 1)"></check-box>
- <check-box text="直穿"
- :checked="isCheckBoxChecked(record.prescription, 'blood_access', 2)"></check-box>
- <check-box text="导管"
- :checked="isCheckBoxChecked(record.prescription, 'blood_access', 3)"></check-box>
- </div>
- <div class="inline_block">
-  血流量:
- <div class="under_line" style="width: 60px;text-align: left" v-if="record.prescription">
- {{record.prescription.blood_flow_volume}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- ml/min
- </div>
- <div class="inline_block">
-  透析液流量:
- <div class="under_line" style="width:60px;text-align: left" v-if="record.prescription">
- {{record.prescription.dialysate_flow}}
- </div>
- <div class="under_line" style="width:60px;" v-else>
- {{'/'}}
- </div>
- ml/min
- </div>
- </div>
- <div class="row" style="padding: 2px 0;line-height:24px;">
- <div class="inline_block">
- 透前体重:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.assessment_before_dislysis">
- {{record.assessment_before_dislysis.weight_before}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- kg
- </div>
- <div class="inline_block">
-  设定超滤量:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.prescription&&record.prescription.target_ultrafiltration">
- {{getFloat(record.prescription.target_ultrafiltration)}}
- </div>
- <div class="under_line" style="width: 60px;" v-else>
- {{'/'}}
- </div>
- L
- </div>
- <div class="inline_block">
-  实际超滤量:
- <div class="under_line" style="width:60px;text-align: left"
- v-if="record.assessment_after_dislysis&&record.assessment_after_dislysis.actual_ultrafiltration">
- {{getFloat(record.assessment_after_dislysis.actual_ultrafiltration)}}
- </div>
- <div class="under_line" style="width:60px;" v-else>
- {{'/'}}
- </div>
- L
- </div>
- <div class="inline_block">
- 透后体重:
- <div class="under_line" style="width: 60px;text-align: left"
- v-if="record.assessment_after_dislysis&&record.assessment_after_dislysis.weight_after">
- {{record.assessment_after_dislysis.weight_after}}
- </div>
- <div class="under_line" style="width: 60px" v-else>
- {{'/'}}
- </div>
- kg
- </div>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- <div
- :style="record.advices2&&record.advices2.length > 0 ? 'margin-bottom:350px;border-top:0;text-align:center;position: relative;border-top:0;':'border-top:0;text-align:center;position: relative;border-top:0;'">
- <table class="print-table-no" border="1" style="border-top:0;" count="0">
- <tbody>
- <tr style="line-height:35px;padding:8px 5px;">
- <td colspan="7" style="font-size: 18px">医嘱</td>
- </tr>
- <tr style="line-height:35px;padding:8px 5px;">
- <td colspan="4" style="font-size: 16px">开医嘱</td>
- <td colspan="3" style="font-size: 16px">执行核对医嘱</td>
- </tr>
- <tr style="line-height:35px;padding:8px 5px;">
- <td style="font-size: 16px" width="10%">时间</td>
- <td style="font-size: 16px" colspan="2" width="45%">医嘱内容</td>
- <td style="font-size: 16px" width="10%">医生签名</td>
- <td style="font-size: 16px" width="10%">核对人签名</td>
- <td style="font-size: 16px" width="10%">执行人签名</td>
- <td style="font-size: 16px" width="10%">时间</td>
- </tr>
- <template v-for="(group, group_index) in record.advices">
- <tr v-for="(advice, advice_index) in group.advices" :key="advice_index">
- <td height="60px" v-if="advice_index == 0" :rowspan="group.advices.length">
- <span v-if="advice.start_time">{{getTime(advice.start_time,'{y}-{m}-{d} {h}:{i}')}}</span>
- <span v-else> <br/> </span>
- </td>
- <td height="60px" class="advice-name" style="padding-left:7px;"
- :colspan="advice.children && advice.children.length > 0 || advice.parent_id > 0 ? 1 :2"
- v-if="advice.isShow == 2">
- <span>{{advice.advice_name }}</span>
- <span v-if="advice.advice_desc">{{advice.advice_desc}}{{advice.drug_spec_unit}}</span>
- <!--<span v-if="advice[0].drug_spec">{{advice[0].drug_spec}}{{advice[0].drug_spec_unit}}</span> -->
- <span v-if="advice.prescribing_number">* {{advice.prescribing_number}}{{advice.prescribing_number_unit}}</span>
- <span v-if="advice.single_dose != 0">单次用量 {{advice.single_dose}}{{advice.single_dose_unit}}</span>
- <span v-if="advice.parent_id == 0 &&advice.children && advice.children.length == 0">{{advice.delivery_way}}</span>
- <span v-if="advice.parent_id == 0 &&advice.children&& advice.children.length == 0">{{advice.execution_frequency}}</span>
- <span
- v-if="advice.parent_id == 0 && advice.children && advice.children.length == 0 && advice.remark.length > 0">({{advice.remark}})</span>
- </td>
- <td colspan="2" height="60px" style="text-align: center" v-else>
- <span>{{advice.delivery_way}}</span>
- <span>{{advice.execution_frequency}}</span>
- <span v-if="advice.remark.length > 0">({{advice.remark}})</span>
- </td>
- <td width="10%"
- v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2"></td>
- <td height="60px">
- <span
- v-if="setAdminUserES(advice, 'advice_doctor') == ''">{{getAdminUser(advice, 'advice_doctor')}}</span>
- <img class="es-img" :src="setAdminUserES(advice, 'advice_doctor')" alt="" srcset="" v-else>
- </td>
- <td height="60px">
- <span v-if="setAdminUserES(advice, 'checker') == ''">{{getAdminUser(advice, 'checker')}}</span>
- <img class="es-img" :src="setAdminUserES(advice, 'checker')" alt="" srcset="" v-else>
- </td>
- <td height="60px">
- <span v-if="setAdminUserES(advice, 'execution_staff') == ''">{{getAdminUser(advice, 'execution_staff')}}</span>
- <img class="es-img" :src="setAdminUserES(advice, 'execution_staff')" alt="" srcset="" v-else>
- </td>
- <td height="60px"><span v-if="advice.execution_time"> {{getTime(advice.execution_time,'{y}-{m}-{d} {h}:{i}')}} </span>
- </td>
- </tr>
- </template>
- </tbody>
- </table>
- <div class="print-yema4">1</div>
- </div>
-
- <template v-if="record.advices2&&record.advices2.length > 0">
- <div style="position: relative;">
- <div class="order-yy-name">{{orgname}}</div>
- <div class="order_title">血液净化科医嘱及执行单</div>
- <div class="row">
- <div class="inline_block">
- 科室:
- <check-box text="门诊透析" :checked="record.patient.source == 1"></check-box>
-
- <check-box text="住院" :checked="record.patient.source == 2"></check-box>
- <!-- TODO -->
- </div>
- <div class="inline_block" style="margin-left: 5px;">
- 住院号:
- <div class="under_line" style="width: 70px;text-align: left" v-if="record.patient.admission_number">
- {{record.patient.admission_number}}
- </div>
- <div class="under_line" style="width: 70px;" v-else>
- {{'/'}}
- </div>
- </div>
- <div class="inline_block" style="margin-left:10px;">
- 姓名:
- <div class="under_line" style="width: 50px;text-align: left">{{ record.patient.name }}</div>
- </div>
- <div class="inline_block" style="margin-left: 10px;">
- 性别:
- <check-box text="男" :checked="record.patient.gender == 1"></check-box>
-  
- <check-box text="女" :checked="record.patient.gender == 2"></check-box>
- </div>
- <div class="inline_block" style="margin-left: 10px;">
- 年龄:
- <div class="under_line" style="width:30px;text-align: left">{{getAge(record.patient)}}</div>
- 岁
- </div>
-
- <div class="inline_block" style="margin-left: 10px;">
- 诊断:
- <div class="under_line_two" style="width: 180px;text-align: left">{{record.patient.diagnose}}</div>
- </div>
-
- </div>
- <table class="print-table-no" border="1" count="0">
- <tbody>
- <tr style="line-height:35px;padding:8px 5px;">
- <td colspan="7" style="font-size: 18px">医嘱</td>
- </tr>
- <tr style="line-height:35px;padding:8px 5px;">
- <td colspan="4" style="font-size: 16px">开医嘱</td>
- <td colspan="3" style="font-size: 16px">执行核对医嘱</td>
- </tr>
- <tr style="line-height:35px;padding:8px 5px;">
- <td style="font-size: 16px" width="10%">时间</td>
- <td style="font-size: 16px" colspan="2" width="45%">医嘱内容</td>
- <td style="font-size: 16px" width="10%">医生签名</td>
- <td style="font-size: 16px" width="10%">核对人签名</td>
- <td style="font-size: 16px" width="10%">执行人签名</td>
- <td style="font-size: 16px" width="10%">时间</td>
- </tr>
- <template v-for="(group, group_index) in record.advices2">
- <tr v-for="(advice, advice_index) in group.advices" :key="advice_index">
- <td height="60px" v-if="advice_index == 0" :rowspan="group.advices.length">
- <span v-if="advice.start_time">{{getTime(advice.start_time,'{y}-{m}-{d} {h}:{i}')}}</span>
- <span v-else> <br/> </span>
- </td>
- <td height="60px" class="advice-name" style="padding-left:7px;"
- :colspan="advice.children && advice.children.length > 0 || advice.parent_id > 0 ? 1 :2"
- v-if="advice.isShow == 2">
- <span>{{advice.advice_name }}</span>
- <span v-if="advice.advice_desc">{{advice.advice_desc}}{{advice.drug_spec_unit}}</span>
- <!-- <span v-if="advice[0].drug_spec">{{advice[0].drug_spec}}{{advice[0].drug_spec_unit}}</span> -->
- <span v-if="advice.prescribing_number">* {{advice.prescribing_number}}{{advice.prescribing_number_unit}}</span>
- <span v-if="advice.single_dose != 0">单次用量 {{advice.single_dose}}{{advice.single_dose_unit}}</span>
- <span v-if="advice.parent_id == 0 &&advice.children && advice.children.length == 0">{{advice.delivery_way}}</span>
- <span v-if="advice.parent_id == 0 &&advice.children&& advice.children.length == 0">{{advice.execution_frequency}}</span>
- <span
- v-if="advice.parent_id == 0 && advice.children && advice.children.length == 0 && advice.remark.length > 0">({{advice.remark}})</span>
- </td>
- <td colspan="2" height="60px" style="text-align: center" v-else>
- <span>{{advice.delivery_way}}</span>
- <span>{{advice.execution_frequency}}</span>
- <span v-if="advice.remark.length > 0">({{advice.remark}})</span>
- </td>
- <td width="10%"
- v-if="(advice.children && advice.children.length > 0 || advice.parent_id > 0) && advice.isShow == 2"></td>
- <td height="60px">
- <span v-if="setAdminUserES(advice, 'advice_doctor') == ''">{{getAdminUser(advice, 'advice_doctor')}}</span>
- <img class="es-img" :src="setAdminUserES(advice, 'advice_doctor')" alt="" srcset="" v-else>
- </td>
- <td height="60px">
- <span v-if="setAdminUserES(advice, 'checker') == ''">{{getAdminUser(advice, 'checker')}}</span>
- <img class="es-img" :src="setAdminUserES(advice, 'checker')" alt="" srcset="" v-else>
- </td>
- <td height="60px">
- <span v-if="setAdminUserES(advice, 'execution_staff') == ''">{{getAdminUser(advice, 'execution_staff')}}</span>
- <img class="es-img" :src="setAdminUserES(advice, 'execution_staff')" alt="" srcset="" v-else>
- </td>
- <td height="60px"><span v-if="advice.execution_time"> {{getTime(advice.execution_time,'{y}-{m}-{d} {h}:{i}')}} </span>
- </td>
- </tr>
- </template>
- </tbody>
- </table>
- <div class="print-yema5">2</div>
- </div>
- </template>
- </div>
- </div>
- </div>
- </div>
- </template>
-
- <script>
- import CheckBox from './option_check_box'
- import { GetBatchPrintDialysisData } from '@/api/print_data'
- import { jsGetAge, uParseTime } from '@/utils/tools'
- import { getDataConfig } from '@/utils/data'
- import BreadCrumb from '@/xt_pages/components/bread-crumb'
-
- export default {
- name: 'BatchPrintOrder',
- components: {
- CheckBox,
- BreadCrumb
- },
- data() {
- return {
- crumbs: [
- { path: false, name: '透析管理' },
- { path: false, name: '批量打印' }
- ],
- records: [ // 模拟有多条数据
- // {
- // monitor_records: [ {},{},{},{},{},{},{},{},{},{},{}, ],
- // advices: [ {},{},{},{},{},{},{}, ],
- // },
- // {
- // monitor_records: [],
- // advices: [],
- // },
- ],
- way_arr: [],
- consciousness_arr: [],
- appetite_arr: [],
- posture_arr: [],
- sick_condition_arr: [],
- precaution_arr: [],
- intake_arr: [],
- nutrition_arr: [],
-
- loading: false,
- orgname: '',
- bloodAccessParOpera: {},
- anticoagulantsConfit: {},
- dialysateFormulationOptions: {},
- operatorMaps: {},
- operators: [],
- adminUser: [],
- doctor_advices: [],
- advice_groups: [],
- advice_groups_2: [],
- complications: ['低血压', '高血压', '心律失常', '头晕', '头痛', '呕吐', '抽搐', '出血', '心衰', '腹痛']
- }
- },
- created() {
- this.way_arr = getDataConfig('hemodialysis', 'way')
- this.consciousness_arr = getDataConfig('hemodialysis', 'consciousness')
- this.appetite_arr = getDataConfig('hemodialysis', 'appetite')
- this.posture_arr = getDataConfig('hemodialysis', 'posture')
- this.sick_condition_arr = getDataConfig('hemodialysis', 'sick_condition')
- this.precaution_arr = getDataConfig('hemodialysis', 'precaution')
- this.intake_arr = getDataConfig('hemodialysis', 'intake')
- this.nutrition_arr = getDataConfig('hemodialysis', 'nutrition')
-
- var xtuser = this.$store.getters.xt_user
- this.orgname = xtuser.org.org_name
- // this.orgname = "遂溪方济医院";
- this.modeOptions = this.$store.getters.treatment_mode
- // this.replacementWays = this.$store.getters.replacement_ways;
- // this.perfusionApparatus = this.$store.getters.perfusion_apparatus;
- this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit
-
- var bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')
- for (var key in bloodAccessParOpera) {
- this.bloodAccessParOpera[bloodAccessParOpera[key].id] = bloodAccessParOpera[key]
- }
-
- var dialysateFormulationOptions = getDataConfig('hemodialysis', 'dialysate_formulation')
- for (var key in dialysateFormulationOptions) {
- this.dialysateFormulationOptions[dialysateFormulationOptions[key].id] = dialysateFormulationOptions[key]
- }
-
- // const xtdate = this.$route.query && this.$route.query.xtdate;
- // const xtno = this.$route.query && this.$route.query.xtno;
- // if (typeof (xtdate) == "string" && xtdate.length > 0 && typeof (xtno) == "string" && xtno.length > 0) {
- // this.queryParams.xtdate = xtdate;
- // this.queryParams.xtno = xtno;
- // this.getDialysisRecord();
- // } else {
- // this.$message.error("参数不齐");
- // return false;
- // }
- },
- mounted() {
- this.loading = true
- var ids = this.$store.getters.temp_params.batch_print_dialysis_record_ids
- if (ids.length == 0) {
- this.$router.back(-1)
- return
- }
- GetBatchPrintDialysisData(ids.join(',')).then(rs => {
- var resp = rs.data
- if (resp.state == 1) {
- this.records = this.records.concat(resp.data.schedules)
- for (const recordIndex in this.records) {
- this.advice_groups = []
- this.advice_groups_2 = []
- var dlegh = 0
- if ((this.records[recordIndex].assessment_before_dislysis &&
- this.records[recordIndex].assessment_before_dislysis.systolic_blood_pressure != 0 &&
- this.records[recordIndex].assessment_before_dislysis.diastolic_blood_pressure != 0) ||
- (this.records[recordIndex].assessment_before_dislysis && this.records[recordIndex].assessment_before_dislysis.remark.length > 0) ||
- (this.records[recordIndex].assessment_before_dislysis && this.records[recordIndex].assessment_before_dislysis.pulse_frequency != 0) ||
- (this.records[recordIndex].assessment_before_dislysis && this.records[recordIndex].assessment_before_dislysis.breathing_rate != 0) ||
- (this.records[recordIndex].assessment_before_dislysis && this.records[recordIndex].assessment_before_dislysis.temperature != 0)) {
- var nl = 8
- this.records[recordIndex].print_length = 8
- } else {
- var nl = 9
- this.records[recordIndex].print_length = 9
- }
- if (this.records[recordIndex].monitor_records && this.records[recordIndex].monitor_records.length < 8) {
- dlegh = nl - this.records[recordIndex].monitor_records.length
- }
- if (this.records[recordIndex].monitor_records.length <= 0) {
- dlegh = nl
- }
- if (dlegh > 0) {
- if (typeof (this.records[recordIndex].monitor_records) === 'undefined' || this.records[recordIndex].monitor_records == null) {
- this.records[recordIndex].monitor_records = []
- }
- for (let index = 0; index < dlegh; index++) {
- this.records[recordIndex].monitor_records.push([])
- }
- }
-
- this.records[recordIndex].monitor_records2 = []
- if (this.records[recordIndex].monitor_records.length > 13) {
- const tempMonitors = []
- const tempMonitors2 = []
-
- for (let index = 0; index < this.records[recordIndex].monitor_records.length; index++) {
- if (index < 13) {
-
- tempMonitors.push(this.records[recordIndex].monitor_records[index])
- } else {
-
- tempMonitors2.push(this.records[recordIndex].monitor_records[index])
- }
- }
- this.records[recordIndex].monitor_records = tempMonitors
- this.records[recordIndex].monitor_records2 = tempMonitors2
- }
-
- var childMap = {}
- for (const index in this.records[recordIndex].advices) {
- if (this.records[recordIndex].advices[index].parent_id == 0) {
- continue
- }
- if (!(this.records[recordIndex].advices[index].parent_id in childMap)) {
- childMap[this.records[recordIndex].advices[index].parent_id] = []
- }
- childMap[this.records[recordIndex].advices[index].parent_id].push(this.records[recordIndex].advices[index])
- }
-
- var advices = []
- for (const index in this.records[recordIndex].advices) {
- if (this.records[recordIndex].advices[index].parent_id > 0) {
- continue
- }
- var item = this.records[recordIndex].advices[index]
- if (item.id in childMap) {
- item.children = childMap[item.id]
- } else {
- item.children = []
- }
- advices.push(item)
- }
-
- this.doctor_advices = this.records[recordIndex].advices == null ? [] : this.records[recordIndex].advices
- for (let index = 0; index < this.doctor_advices.length; index++) {
- this.doctor_advices[index]['isShow'] = 2
- }
-
- if (this.doctor_advices.length > 0) {
- var group = this.newAdviceGroupObject()
- var initGroupBlock = function(group, advice) {
- group.group_no = advice.groupno
- }
- for (let index = this.doctor_advices.length - 1; index >= 0; index--) {
- var new_advice_index = 0
- if ('children' in this.doctor_advices[index] && this.doctor_advices[index].children.length > 0) {
- new_advice_index = index + this.doctor_advices[index].children.length + 1
-
- var doctor_advice = {
- delivery_way: this.doctor_advices[index].delivery_way,
- execution_frequency: this.doctor_advices[index].execution_frequency,
- groupno: this.doctor_advices[index].groupno,
- id: this.doctor_advices[index].id,
- parent_id: this.doctor_advices[index].parent_id,
- children: this.doctor_advices[index].children,
- remark: this.doctor_advices[index].remark,
- execution_staff: this.doctor_advices[index].execution_staff,
- checker: this.doctor_advices[index].checker,
- advice_doctor: this.doctor_advices[index].advice_doctor,
- execution_time: this.doctor_advices[index].execution_time
-
- }
- doctor_advice['isShow'] = 1
- this.doctor_advices.splice(new_advice_index, 0, doctor_advice)
- }
- }
-
- var templength = 0
- if (this.doctor_advices.length > 12) {
- templength = 12
- } else {
- templength = this.doctor_advices.length
- }
-
- for (let index = 0; index < templength; index++) {
- const advice = this.doctor_advices[index]
- if (advice.groupno == 0) {
- // 老版本的医嘱没有分组的概念,所以这一个 if 是解决这个问题的,将每个无分组的医嘱各自归为一组
- if (advice.parent_id > 0) {
- if (this.advice_groups.length > 0) {
- var parent_group = this.advice_groups[
- this.advice_groups.length - 1
- ]
- if (parent_group.advices.length > 0) {
- if (parent_group.advices[0].id == advice.parent_id) {
- parent_group.advices.push(advice)
- }
- }
- }
- continue
- } else {
- if (group.group_no > 0) {
- this.advice_groups.push(group)
- group = this.newAdviceGroupObject()
- }
-
- initGroupBlock(group, advice)
- group.advices.push(advice)
- this.advice_groups.push(group)
- group = this.newAdviceGroupObject()
- continue
- }
- }
-
- if (group.group_no > 0 && group.group_no != advice.groupno) {
- this.advice_groups.push(group)
- group = this.newAdviceGroupObject()
- }
- if (group.group_no == 0) {
- initGroupBlock(group, advice)
- }
- if (group.group_no == advice.groupno) {
- group.advices.push(advice)
- }
- if (index == 11) {
- this.advice_groups.push(group)
- group = this.newAdviceGroupObject()
- }
- }
-
- if (this.doctor_advices.length > 12) {
- for (let index = 12; index < this.doctor_advices.length; index++) {
- const advice = this.doctor_advices[index]
- if (advice.groupno == 0) {
- // 老版本的医嘱没有分组的概念,所以这一个 if 是解决这个问题的,将每个无分组的医嘱各自归为一组
- if (advice.parent_id > 0) {
- if (this.advice_groups_2.length > 0) {
- var parent_group = this.advice_groups_2[
- this.advice_groups_2.length - 1
- ]
- if (parent_group.advices.length > 0) {
- if (parent_group.advices[0].id == advice.parent_id) {
- parent_group.advices.push(advice)
- }
- }
- }
- continue
- } else {
- if (group.group_no > 0) {
- this.advice_groups_2.push(group)
- group = this.newAdviceGroupObject()
- }
-
- initGroupBlock(group, advice)
- group.advices.push(advice)
- this.advice_groups_2.push(group)
- group = this.newAdviceGroupObject()
- continue
- }
- }
-
- if (group.group_no > 0 && group.group_no != advice.groupno) {
- this.advice_groups_2.push(group)
- group = this.newAdviceGroupObject()
- }
- if (group.group_no == 0) {
- initGroupBlock(group, advice)
- }
- if (group.group_no == advice.groupno) {
- group.advices.push(advice)
- }
- }
- }
- if (group.group_no > 0) {
- // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加上
- if (this.doctor_advices.length > 12) {
- this.advice_groups_2.push(group)
- } else {
- this.advice_groups.push(group)
- }
- }
- }
- this.records[recordIndex].advices = []
- this.records[recordIndex].advices2 = []
- this.records[recordIndex].advices = this.advice_groups
- this.records[recordIndex].advices2 = this.advice_groups_2
- }
-
- this.operators = resp.data.medical_staffs
- if (this.operators.length > 0) {
- var operatorsLen = this.operators.length
- for (var index = 0; index < operatorsLen; index++) {
- this.$set(this.operatorMaps, this.operators[index].id, this.operators[index])
- }
- }
-
- this.adminUser = resp.data.users
- this.loading = false
- } else {
- this.loading = false
- this.$message.error(resp.msg)
- }
- }).catch(err => {
- this.$message.error(err)
- })
- },
- methods: {
- printAction: function() {
- const style = '@media print {.option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 960px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 14px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 5px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:950px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top:1050px;left: 50%;}.print-yema5{position: absolute;top:1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
-
- printJS({
- printable: 'print_content',
- type: 'html',
- documentTitle: ' ',
- style: style,
- scanStyles: false
- })
- },
-
- complicationsOther: function(record) {
- if (record == null || typeof (record) === 'undefined') {
- return ''
- }
- if (record.complication.length == 0) {
- return ''
- }
- var complications = record.complication.split(',')
- var complicationOthers = []
- for (const index in complications) {
- if (this.complications.indexOf(complications[index]) < 0 && complicationOthers.indexOf(complications[index]) < 0) {
- complicationOthers.push(complications[index])
- }
- }
- return complicationOthers.join(',')
- },
- modeName(mode_id) {
- if (mode_id in this.modeOptions) {
- return this.modeOptions[mode_id].name
- }
- return ''
- },
- anticoagulantName: function(key) {
- if (key == null || typeof (key) === 'undefined') {
- return ''
- }
- var id = key.anticoagulant
- if (id in this.anticoagulantsConfit) {
- return this.anticoagulantsConfit[id].name
- }
- return ''
- },
- isBbloodAccessParOperaCheck(key, value) {
- if (key == null || typeof (key) === 'undefined') {
- return false
- }
- var id = key.blood_access_part_opera_id
- if (id in this.bloodAccessParOpera) {
- return this.bloodAccessParOpera[id].name.indexOf(value) > -1
- }
- return false
- },
- isdialysateFormulatioCheck(key, value) {
- if (key == null || typeof (key) === 'undefined') {
- return false
- }
- var id = key.dialysate_formulation
- if (id in this.dialysateFormulationOptions) {
- return this.dialysateFormulationOptions[id].name.indexOf(value) > -1
- }
- return false
- },
- isValueIndexOfCheck: function(record, key, value) {
- if (record == null || record == undefined) {
- return false
- } else {
- return record[key].indexOf(value) > -1
- }
- },
- setAdminUserES(key, id) {
- if (typeof (key) === 'undefined' || key == null || typeof (key[id]) === 'undefined') {
- return ''
- }
- if (key[id] == 0) {
- return ''
- }
- if (key[id] in this.operatorMaps) {
- return this.operatorMaps[key[id]].es_url
- } else {
- return ''
- }
- }, 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'
- }
- },
- getAdminUser(key, id) {
- if (typeof (key) === 'undefined' || key == null || typeof (key[id]) === 'undefined') {
- return ''
- }
- if (key[id] == 0) {
- return ''
- }
- if (key[id] == undefined) {
- return ''
- }
- for (let i = 0; i < this.adminUser.length; i++) {
- if (this.adminUser[i].id == key[id]) {
- return this.adminUser[i].name
- }
- }
- },
- jsGetAge: function(agetime) {
- if (agetime == 0) {
- return ''
- }
- return jsGetAge(uParseTime(agetime, '{y}-{m}-{d}'), '-')
- },
- getTime(value, temp) {
- if (value != undefined) {
- return uParseTime(value, temp)
- }
- return ''
- },
- // 函数说明:因为一次透析记录有些记录不一定是必须填的,比如 record.receive_assessment 可能为 null,所以要取 record.receive_assessment.way 前需要判断 record.receive_assessment 是否为 null,所以这个方法用来简化模板渲染的代码
- // 参数说明:比如判断 record.receive_assessment.way 是不是为1,参数为 (record.receive_assessment, way, 1)
- isCheckBoxChecked: function(record, key, target_value) {
- if (record == null || record == undefined) {
- return false
- } else {
- return record[key] == target_value
- }
- }, getAge: function(val) {
- val.birth = uParseTime(val.birthday, '{y}-{m}-{d}')
- if (val.birthday != 0) {
- return jsGetAge(val.birth, '-')
- } else {
- return ''
- }
- }, newAdviceGroupObject: function() {
- return Object.assign(
- {},
- {
- group_no: 0,
- advices: []
- }
- )
- }, getNumber: function(record) {
- console.log(record)
- }
- }
- }
- </script>
-
- <style scoped>
- .print_page_main_content {
- background-color: white;
- width: 960px;
- margin: 0 auto 50px;
- padding: 0 0 0 0;
- page-break-after: always;
- }
-
- .print_page_main_content .order-yy-name {
- margin: auto;
- text-align: center;
- font-size: 20px;
- letter-spacing: 5px;
- }
-
- .print_page_main_content .order_title {
- text-align: center;
- font-size: 23px;
- line-height: 40px;
- font-weight: 500;
- }
-
- .row {
- font-size: 14px;
- line-height: 20px;
- padding: 5px 0;
- }
-
- .inline_block {
- display: inline-block;
- }
-
- .under_line {
- display: inline-block;
- border-bottom: 1px solid #999;
- text-align: center;
- white-space: nowrap;
- width: 50%;
- }
-
- .under_line::before {
- content: "\00A0";
- }
-
- .under_line::after {
- content: "\00A0";
- }
-
- .under_line_two {
- display: inline-block;
- border-bottom: 1px solid #999;
- text-align: left;
- white-space: nowrap;
- width: 50%;
- }
-
- .under_line_two::before {
- content: "\00A0";
- }
-
- .under_line_two::after {
- content: "\00A0";
- }
-
- .flex {
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- align-items: center;
- -webkit-align-items: center;
- box-align: center;
- -moz-box-align: center;
- -webkit-box-align: center;
- text-align: center;
- -webkit-justify-content: space-between;
- justify-content: space-between;
- -moz-box-pack: space-between;
- -webkit--moz-box-pack: space-between;
- box-pack: space-between;
- }
-
- .print_page_main_content .proj_table {
- width: 100%;
- border: 1px solid;
- border-collapse: collapse;
- padding: 2px;
- }
-
- .print_page_main_content .proj_table tbody tr td {
- border: 1px solid;
- /* text-align: center; */
- font-size: 16px;
- padding: 6px 8px;
- line-height: 30px;
- }
-
- .print_page_main_content .proj_table .inside_table {
- width: 100%;
- border: hidden; /* 解决边框冲突 */
- border-collapse: collapse;
- }
-
- .print_page_main_content .proj_table .inside_table tr td {
- border: 1px solid;
- text-align: center;
- font-size: 14px;
- padding: 8px 5px;
- line-height: 16px;
- }
-
- .print-table-no {
- width: 100%;
- text-align: center;
- border-collapse: collapse;
- font-size: 14px;
- }
-
- .es-img {
- height: 30px;
- }
-
- .advice-name {
- text-align: left !important;
- line-height: 16px !important;
- }
-
- .advice-children {
- display: flex;
- }
-
- .margin-bottom-300 {
- margin-bottom: 450px;
- }
-
- .margin-bottom-600 {
- margin-bottom: 600px;
- }
-
- .margin-bottom-900 {
- margin-bottom: 900px;
- }
-
- .print-yema {
- position: absolute;
- left: 50%;
- }
-
- .print-yema2 {
- position: absolute;
- left: 50%;
- }
-
- .print-yema3 {
- position: absolute;
- left: 50%;
- }
-
- .print-yema4 {
- position: absolute;
- left: 50%;
- }
-
- .print-yema5 {
- position: absolute;
- left: 50%;
- }
-
- .did_checke::after {
- content: "\221A";
- font-size: 8px;
- margin-left: 2px;
- margin-top: 2px;
- position: absolute;
- }
- </style>
|