1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252 |
- <template>
- <div class="dialog_box">
- <el-dialog
- title="透析监测"
- :visible.sync="visible"
- width="1100px"
- @close="reset"
- :modal-append-to-body="false" >
- <div v-show="edit == false">
- <div class="txsj">
- <el-button round :disabled="!is_has_create" @click="newRecordAction"
- >新增监测</el-button
- >
- <el-button
- round
- :disabled="!is_has_modify && !is_has_modify_other"
- @click="modifyRecordAction"
- >修改监测</el-button
- >
- <el-button
- round
- :disabled="!is_has_del && !is_has_del_other"
- @click="deleteRecordAction"
- >删除监测</el-button
- >
- </div>
- <el-table
- :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"
- ref="table"
- :data="monitors"
- border
- highlight-current-row
- @current-change="tableCurrentRowChange"
- style="width: 100%"
- :class="current_row_class"
- >
- <el-table-column
- label="监测时间"
- align="center"
- width="144"
- v-if="isShow('监测时间')"
- >
- <template slot-scope="scope">
- {{ getMonitorDate(scope.row) }}
- </template>
- </el-table-column>
- <el-table-column
- prop="temperature"
- align="center"
- width="100"
- label="体温(℃)"
- v-if="isShow('体温')"
- >
- <template slot-scope="scope">
- {{ scope.row.temperature ? scope.row.temperature : "" }}
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- label="血压(mmHg)"
- width="110"
- v-if="isShow('血压')"
- >
- <template slot-scope="scope">
- {{
- scope.row.systolic_blood_pressure
- ? scope.row.systolic_blood_pressure
- : ""
- }}/{{
- scope.row.diastolic_blood_pressure
- ? scope.row.diastolic_blood_pressure
- : ""
- }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="pulse_frequency"
- align="center"
- width="100"
- label="脉搏(次/分)"
- v-if="isShow('脉搏')"
- >
- <template slot-scope="scope">
- {{ scope.row.pulse_frequency ? scope.row.pulse_frequency : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="breathing_rate"
- align="center"
- label="呼吸频率(次/分)"
- width="100"
- v-if="isShow('呼吸频率')"
- >
- <template slot-scope="scope">
- {{ scope.row.breathing_rate ? scope.row.breathing_rate : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="venous_pressure"
- align="center"
- label="静脉压/动脉压(mmHg)"
- width="120"
- >
- <template slot-scope="scope">
- <span
- >{{
- scope.row.venous_pressure ? scope.row.venous_pressure : ""
- }}/
- {{
- scope.row.arterial_pressure ? scope.row.arterial_pressure : ""
- }}</span
- >
- </template>
- </el-table-column>
-
- <el-table-column
- prop="blood_flow_volume"
- align="center"
- label="血流量(ml/min)"
- width="120"
- v-if="isShow('血流量')"
- >
- <template slot-scope="scope">
- {{
- scope.row.blood_flow_volume ? scope.row.blood_flow_volume : ""
- }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="transmembrane_pressure"
- align="center"
- label="跨膜压(mmHg)"
- width="120"
- v-if="isShow('跨膜压')"
- >
- <template slot-scope="scope">
- {{
- scope.row.transmembrane_pressure
- ? scope.row.transmembrane_pressure
- : ""
- }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="ultrafiltration_volume"
- align="center"
- label="超滤量(ml)"
- width="110"
- v-if="
- isShow('超滤量') &&
- (template_id == 6 ||
- template_id == 10 ||
- template_id == 11 ||
- template_id == 12 ||
- template_id == 13 ||
- template_id == 17)
- "
- >
- <template slot-scope="scope">
- {{
- scope.row.ultrafiltration_volume
- ? scope.row.ultrafiltration_volume
- : ""
- }}
- </template>
- </el-table-column>
- <el-table-column
- prop="ultrafiltration_volume"
- align="center"
- label="超滤量(L)"
- width="110"
- v-if="
- isShow('超滤量') &&
- template_id != 6 &&
- template_id != 10 &&
- template_id != 11 &&
- template_id != 12 &&
- template_id != 13 &&
- template_id != 17
- "
- >
- <template slot-scope="scope">
- {{
- scope.row.ultrafiltration_volume
- ? scope.row.ultrafiltration_volume
- : ""
- }}
- </template>
- </el-table-column>
- <el-table-column
- prop="sodium_concentration"
- align="center"
- label="钠浓度(mmol/L)"
- width="126"
- v-if="isShow('钠浓度')"
- >
- <template slot-scope="scope">
- {{
- scope.row.sodium_concentration
- ? scope.row.sodium_concentration
- : ""
- }}
- </template>
- </el-table-column>
- <el-table-column
- prop="dialysate_temperature"
- align="center"
- label="透析液温度(℃)"
- width="120"
- v-if="isShow('透析液温度')"
- >
- <template slot-scope="scope">
- {{
- scope.row.dialysate_temperature
- ? scope.row.dialysate_temperature
- : ""
- }}
- </template>
- </el-table-column>
- <el-table-column
- prop="replacement_rate"
- align="center"
- label="置换率(ml/min)"
- width="120"
- v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11)" >
- <template slot-scope="scope">
- {{ scope.row.replacement_rate ? scope.row.replacement_rate : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="replacement_rate"
- align="center"
- label="置换率(L/h)"
- width="120"
- v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11">
- <template slot-scope="scope">
- {{ scope.row.replacement_rate ? scope.row.replacement_rate : "" }}
- </template>
- </el-table-column>
- <el-table-column
- prop="displacement_quantity"
- align="center"
- label="置换量(ml)"
- width="100"
- v-if=" isShow('置换量') && (template_id == 6 || template_id == 10 || template_id == 11) " >
- <template slot-scope="scope">
- {{ scope.row.displacement_quantity ? scope.row.displacement_quantity : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="displacement_quantity"
- align="center"
- label="置换量(L)"
- width="100"
- v-if=" isShow('置换量') && template_id != 6 && template_id != 10 && template_id != 11 " >
- <template slot-scope="scope">
- {{ scope.row.displacement_quantity ? scope.row.displacement_quantity : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="displacement_quantity"
- align="center"
- label="SpO₂(%)"
- width="100"
- v-if=" isShow('SpO₂') && template_id != 6 && template_id != 10 && template_id != 11 " >
- <template slot-scope="scope">
- {{ scope.row.blood_oxygen_saturation ? scope.row.blood_oxygen_saturation : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="displacement_flow_quantity"
- align="center"
- label="电导度(mS/m)"
- width="100"
- v-if="isShow('电导度')"
- >
- <template slot-scope="scope">
- {{ scope.row.conductivity ? scope.row.conductivity : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="displacement_flow_quantity"
- align="center"
- label="置换液流量(ml/h)"
- width="100"
- v-if="isShow('置换液流量')"
- >
- <template slot-scope="scope">
- {{ scope.row.displacement_flow_quantity ? scope.row.displacement_flow_quantity : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="displacement_flow_quantity"
- align="center"
- label="透析液流量(ml/h)"
- width="100"
- v-if="isShow('透析液流量')"
- >
- <template slot-scope="scope">
- {{ scope.row.dialysate_flow ? scope.row.dialysate_flow : "" }}
- </template>
- </el-table-column>
-
-
- <el-table-column
- prop="displacement_flow_quantity"
- align="center"
- label="超滤率(ml/h)"
- width="100"
- v-if="isShow('超滤率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17) "
- >
- <template slot-scope="scope">
- {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : "" }}
- </template>
- </el-table-column>
- <el-table-column
- prop="displacement_flow_quantity"
- align="center"
- label="超滤率(L/h)"
- width="100"
- v-if="isShow('超滤率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 "
- >
- <template slot-scope="scope">
- {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : "" }}
- </template>
- </el-table-column>
-
- <el-table-column
- prop="heparin"
- align="center"
- label="肝素用量余量(ml)"
- width="140"
- v-if="isShow('肝素用量余量')"
- >
- </el-table-column>
- <el-table-column
- prop="symptom"
- align="center"
- label="病情变化"
- width="130"
- v-if="isShow('病情变化')"
- >
- </el-table-column>
- <el-table-column
- prop="dispose"
- align="center"
- label="处理"
- width="130"
- v-if="isShow('处理')"
- >
- </el-table-column>
- <el-table-column
- prop="result"
- align="center"
- label="结果"
- width="130"
- v-if="isShow('结果')"
- >
- </el-table-column>
- </el-table>
- </div>
-
- <!--<div v-show="edit">-->
- <el-form v-show="edit" ref="form" :model="form" label-width="130px">
- <el-row :gutter="20">
- <el-col :span="8" v-if="isShow('监测时间')">
- <el-form-item label="监测时间:">
- <!-- {{ monitor_date_str }}
- <el-time-picker v-model="form.monitoring_time" :clearable="false" arrow-control :picker-options="{format: 'HH:mm'}" prefix-icon="" value-format="HH:mm" style="width: 60%;">
- </el-time-picker> -->
- <el-date-picker
- v-model="form.operate_time"
- type="datetime"
- prefix-icon=""
- style="width: 100%"
- format="yyyy-MM-dd HH:mm"
- value-format="timestamp"
- ></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('体温')">
- <el-form-item label="体温(℃):">
- <el-input v-model="form.temperature"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('收缩压')">
- <el-form-item label="收缩压(mmHg):">
- <el-input v-model="form.systolic_bp"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('舒张压')">
- <el-form-item label="舒张压(mmHg):">
- <el-input v-model="form.diastolic_bp"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('脉搏')">
- <el-form-item label="脉搏(次/分):">
- <el-input v-model="form.pulse_frequency"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('呼吸频率')">
- <el-form-item label="呼吸频率(次/分):">
- <el-input v-model="form.breathing_rated"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('静脉压')">
- <el-form-item label="静脉压(mmHg):">
- <el-input
- style="width: 140px"
- v-model="form.venous_pressure"
- ></el-input>
- <el-button
- size="mini"
- type="primary"
- @click="venousPressureChangeOne"
- >转换</el-button
- >
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('动脉压')">
- <el-form-item label="动脉压(mmHg):">
- <el-input
- style="width: 140px"
- v-model="form.arterial_pressure"
- ></el-input>
- <el-button
- size="mini"
- type="primary"
- @click="venousPressureChangeThree"
- >转换</el-button
- >
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('血流量')">
- <el-form-item label="血流量(ml/min):">
- <el-input v-model="form.blood_flow_volume"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('跨膜压')">
- <el-form-item label="跨膜压(mmHg):">
- <el-input
- style="width: 140px"
- v-model="form.transmembrane_pressure"
- ></el-input>
- <el-button
- size="mini"
- type="primary"
- @click="venousPressureChangeTwo"
- >转换</el-button
- >
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('超滤率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17) ">
- <el-form-item label="超滤率(ml/h)">
- <el-input v-model="form.ultrafiltration_rate"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('超滤率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 ">
- <el-form-item label="超滤率(L/h)">
- <el-input v-model="form.ultrafiltration_rate"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col
- :span="8"
- v-if=" isShow('超滤量') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17) " >
- <el-form-item label="超滤量(ml):">
- <el-input v-model="form.ultrafiltration_volume"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col
- :span="8"
- v-if=" isShow('超滤量') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17" >
- <el-form-item label="超滤量(L):">
- <el-input v-model="form.ultrafiltration_volume"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('钠浓度')">
- <el-form-item label="钠浓度(mmol/L):">
- <el-input v-model="form.sodium_concentration"></el-input>
- </el-form-item>
- </el-col>
- <!-- </el-row>
-
- <el-row :gutter="20"> -->
- <el-col :span="8" v-if="isShow('透析液温度')">
- <el-form-item label="透析液温度(℃):">
- <el-input v-model="form.dialysate_temperature"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('置换率')">
- <el-form-item label="置换率(L/h):">
- <el-input v-model="form.replacement_rate"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="8" v-if="isShow('置换量')">
- <el-form-item label="置换量(L):">
- <el-input v-model="form.displacement_quantity"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('电导度')">
- <el-form-item label="电导度(mS/m):">
- <el-input v-model="form.conductivity"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('置换液流量')">
- <el-form-item label="置换液流量(ml/h):">
- <el-input v-model="form.displacement_flow_quantity"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('透析液流量')">
- <el-form-item label="透析液流量(ml/h):">
- <el-input v-model="form.dialysate_flow"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('SpO₂')">
- <el-form-item label="SpO₂(%):">
- <el-input v-model="form.blood_oxygen_saturation"></el-input>
- </el-form-item>
- </el-col>
-
- <el-col :span="8" v-if="isShow('肝素用量余量')">
- <el-form-item label="肝素用量余量(ml):">
- <el-input v-model="form.heparin"></el-input>
- </el-form-item>
- </el-col>
-
- <!-- </el-row>
-
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('KT/V')">
- <el-form-item label="KT/V(在线):">
- <el-input type="textarea" :rows="4" v-model="form.ktv"></el-input>
- </el-form-item>
- </el-col>
- <!-- </el-row>
-
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('病情变化')">
- <el-form-item label="病情变化:">
- <el-select
- v-model="symptom_selecteds"
- style="width: 100%"
- :multiple="true"
- collapse-tags
- @change="symptomSelectorChange"
- >
- <el-option
- v-for="(symptom, index) in symptom_options"
- :key="index"
- :label="symptom.name"
- :value="symptom.name"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <!-- </el-row>
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('病情变化')">
- <el-form-item>
- <el-input
- type="textarea"
- :rows="4"
- v-model="form.symptom"
- @blur="symptomTextareaBlur"
- ></el-input>
- </el-form-item>
- </el-col>
- <!-- </el-row>
-
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('处理')">
- <el-form-item label="处理:">
- <el-select
- v-model="dispose_selecteds"
- style="width: 100%"
- :multiple="true"
- collapse-tags
- @change="disposeSelectorChange"
- >
- <el-option
- v-for="(dispose, index) in dispose_options"
- :key="index"
- :label="dispose.name"
- :value="dispose.name"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <!-- </el-row>
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('处理')">
- <el-form-item>
- <el-input
- type="textarea"
- :rows="4"
- v-model="form.dispose"
- @blur="disposeTextareaBlur"
- ></el-input>
- </el-form-item>
- </el-col>
- <!-- </el-row>
-
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('结果')">
- <el-form-item label="结果:">
- <el-select
- v-model="result_selecteds"
- style="width: 100%"
- :multiple="true"
- collapse-tags
- @change="resultSelectorChange"
- >
- <el-option
- v-for="(result, index) in result_options"
- :key="index"
- :label="result.name"
- :value="result.name"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <!-- </el-row>
- <el-row :gutter="20"> -->
- <el-col :span="24" v-if="isShow('结果')">
- <el-form-item>
- <el-input
- type="textarea"
- :rows="4"
- v-model="form.result"
- @blur="resultTextareaBlur"
- ></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
-
- <div slot="footer" class="dialog-footer" v-show="edit">
- <el-button @click="cancelEditAction">取 消</el-button>
- <el-button type="primary" @click="submitAction">保 存</el-button>
- </div>
- <!--</div>-->
- </el-dialog>
- </div>
- </template>
-
- <script>
- import { parseTime } from '@/utils'
- import { getDataConfig } from '@/utils/data'
- import { editMonitor, postDelMonitorInfo, getTodayMonitor } from '@/api/dialysis_record'
- import store from '@/store'
-
- import request from '@/utils/request'
-
- export default {
- name: 'MonitorDialog',
- data() {
- return {
- is_has_create: true,
- is_has_modify: true,
- is_has_modify_other: true,
- is_has_del: true,
- is_has_del_other: true,
- visible: false,
- edit: false,
- current_row_class: 'current-box-class',
- creator: 0,
- patient_id: 0,
- schedule_date: 0,
- template_id: 0,
- isAdd: false,
- // monitoring_date: 0,
-
- form: {
- id: 0,
- monitoring_date: 0, // 监测日期
- // operate_date: 0, // 实际测量日期
- // monitoring_time: "", // 监测时间 HH:mm
- operate_time: 0,
- systolic_bp: '', // 收缩压
- diastolic_bp: '', // 舒张压
- pulse_frequency: '', // 心率
- temperature: '', // 体温
- breathing_rated: '', // 呼吸频率
- blood_flow_volume: '', // 血流量
- venous_pressure: '', // 静脉压
- transmembrane_pressure: '', // 跨膜压
- ultrafiltration_volume: '', // 超滤量
- ultrafiltration_rate: '', // 超滤率
- arterial_pressure: '', // 动脉压
- sodium_concentration: '', // 钠浓度
- dialysate_temperature: '', // 透析液温度
- replacement_rate: '', // 置换率
- displacement_quantity: '', // 置换量
- conductivity: '', // 电导度
- displacement_flow_quantity: '', // 置换液流量
- dialysate_flow: '', // 透析液流量
- heparin: '', // 肝素用量余量
- ktv: '', // KT/V
- symptom: '', // 病情变化
- dispose: '', // 处理
- result: '', // 结果,
- blood_oxygen_saturation: '' // 血氧饱和度
- },
-
- table_current_row: null,
-
- symptom_selecteds: [],
- symptom_options: getDataConfig('hemodialysis', 'symptoms'),
- dispose_selecteds: [],
- dispose_options: getDataConfig('hemodialysis', 'deals'),
- result_selecteds: [],
- result_options: getDataConfig('hemodialysis', 'results'),
- valueOne: 0,
- valueTwo: 0,
- valueThree: 0
- }
- },
- props: {
- monitors: {
- type: Array
- }
- },
- computed: {
- monitor_date_str: function() {
- return parseTime(this.form.monitoring_date, '{y}-{m}-{d}')
- }
- },
- created() {
- this.template_id = this.$store.getters.xt_user.template_info.template_id
- var date = this.$route.query.date
- var patient_id = this.$route.query.patient_id
- this.patient_id = patient_id
- this.schedule_date = date
- this.form.monitoring_date = date
- // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
- // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
- this.form.operate_time = new Date().getTime()
- },
- methods: {
- venousPressureChange(type) {
- if (type == 1) {
- this.form.venous_pressure = Math.ceil(
- Math.round(this.form.venous_pressure * 7.5)
- )
- } else if (type == 2) {
- this.form.transmembrane_pressure = Math.ceil(
- Math.round(this.form.transmembrane_pressure * 7.5)
- )
- } else {
- this.form.arterial_pressure = Math.ceil(
- Math.round(this.form.arterial_pressure * 7.5)
- )
- }
- },
- venousPressureChangeOne() {
- if (this.valueOne == 0) {
- this.form.venous_pressure = Math.ceil(
- Math.round(this.form.venous_pressure * 7.5)
- )
- this.valueOne = 1
- return false
- }
- if (this.valueOne == 1) {
- this.form.venous_pressure = Math.ceil(
- Math.round(this.form.venous_pressure / 7.5)
- )
- this.valueOne = 0
- return false
- }
- },
- venousPressureChangeThree() {
- if (this.valueThree == 0) {
- this.form.arterial_pressure = Math.ceil(
- Math.round(this.form.arterial_pressure * 7.5)
- )
- this.valueThree = 1
- return false
- }
- if (this.valueThree == 1) {
- this.form.arterial_pressure = Math.ceil(
- Math.round(this.form.arterial_pressure / 7.5)
- )
- this.valueThree = 0
- return false
- }
- },
-
- venousPressureChangeTwo() {
- if (this.valueTwo == 0) {
- this.form.transmembrane_pressure = Math.ceil(
- Math.round(this.form.transmembrane_pressure * 7.5)
- )
- this.valueTwo = 1
- return false
- }
- if (this.valueTwo == 1) {
- this.form.transmembrane_pressure = Math.ceil(
- Math.round(this.form.transmembrane_pressure / 7.5)
- )
- this.valueTwo = 0
- return false
- }
- },
-
- isShow(name) {
- var filedList = store.getters.xt_user.fileds
- for (let i = 0; i < filedList.length; i++) {
- if (filedList[i].module == 4 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
- return true
- }
- }
- return false
- },
- reset: function() {
- this.cancelEditAction()
- },
- show() {
- this.getPermission()
- this.visible = true
- },
- hide() {
- this.visible = false
- },
- getMonitorDate: function(monitor) {
- return parseTime(monitor.operate_time, '{y}-{m}-{d} {h}:{i}')
- },
-
- newRecordAction: function() {
- this.setEditMonitor(null)
- this.$refs.table.setCurrentRow(null)
- this.edit = true
- this.isAdd = true
- this.getLastRecordTody()
- },
- getLastRecordTody() {
- const params = {
- patient_id: this.patient_id
- }
-
- getTodayMonitor(params).then(rs => {
- var resp = rs.data.data
- this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date())
- this.form.pulse_frequency = '' // this.last_monitor_record.pulse_frequency;
- this.form.breathing_rated = resp.monitor.breathing_rate ? resp.monitor.breathing_rate : ''
- this.form.systolic_bp = '' // this.last_monitor_record.systolic_blood_pressure;
- this.form.diastolic_bp = '' // this.last_monitor_record.diastolic_blood_pressure;
- this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : ''
- this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
- this.form.arterial_pressure = '' // this.last_monitor_record.arterial_pressure;
- this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
- this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : ''
- this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : ''
- this.form.sodium_concentration = resp.monitor.sodium_concentration ? resp.monitor.sodium_concentration : ''
- this.form.dialysate_temperature = resp.monitor.dialysate_temperature ? resp.monitor.dialysate_temperature : ''
- this.form.temperature = resp.monitor.temperature ? resp.monitor.temperature : ''
- this.form.replacement_rate = resp.monitor.replacement_rate ? resp.monitor.replacement_rate : ''
- this.form.heparin = resp.monitor.heparin ? resp.monitor.heparin : ''
- this.form.dialysate_flow = resp.monitor.dialysate_flow ? resp.monitor.dialysate_flow : ''
- this.form.displacement_quantity = '' // this.last_monitor_record.displacement_quantity;
- this.form.conductivity = ''
- this.form.displacement_flow_quantity = ''
- this.form.ktv = '' // this.last_monitor_record.ktv;
- this.form.symptom = '' // this.last_monitor_record.symptom;
- this.form.dispose = '' // this.last_monitor_record.dispose;
- this.form.result = '' // this.last_monitor_record.result;
- this.form.blood_oxygen_saturation = resp.monitor.blood_oxygen_saturation ? resp.monitor.blood_oxygen_saturation : ''
- })
- },
-
- modifyRecordAction: function() {
- if (this.table_current_row == null) {
- this.$message.error('请选择一条监测记录')
- return
- }
- this.creator = this.table_current_row.creator
- this.setEditMonitor(this.table_current_row)
- this.$refs.table.setCurrentRow(null)
- this.edit = true
- this.isAdd = false
- },
- cancelEditAction: function() {
- this.setEditMonitor(null)
- this.$refs.table.setCurrentRow(null)
- this.edit = false
- },
- tableCurrentRowChange: function(currentRow) {
- this.table_current_row = currentRow
-
- // console.log("tableCurrentRowChange", currentRow)
- },
- setEditMonitor: function(monitor) {
- if (monitor == null || monitor == undefined) {
- this.form.id = 0
- // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
- // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
- this.form.operate_time = new Date().getTime()
- this.form.systolic_bp = ''
- this.form.diastolic_bp = ''
- this.form.pulse_frequency = ''
- this.form.breathing_rated = ''
- this.form.blood_flow_volume = ''
- this.form.temperature = ''
- this.form.venous_pressure = ''
- this.form.transmembrane_pressure = ''
- this.form.ultrafiltration_volume = ''
- this.form.ultrafiltration_rate = ''
- this.form.arterial_pressure = ''
- this.form.sodium_concentration = ''
- this.form.dialysate_temperature = ''
- this.form.replacement_rate = ''
- this.form.displacement_quantity = ''
- this.form.conductivity = ''
- this.form.displacement_flow_quantity = ''
- this.form.heparin = ''
- this.form.dialysate_flow = ''
- this.form.ktv = ''
- this.form.symptom = ''
- this.form.dispose = ''
- this.form.result = ''
- this.symptom_selecteds = []
- this.dispose_selecteds = []
- this.result_selecteds = []
- } else {
- (this.form.id = monitor.id),
- // this.form.operate_date = monitor.operate_date
- // this.form.monitoring_time = monitor.monitoring_time
- (this.form.operate_time = monitor.operate_time * 1000)
- this.form.systolic_bp = monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : ''
- this.form.temperature = monitor.temperature ? monitor.temperature : ''
- this.form.diastolic_bp = monitor.diastolic_blood_pressure ? monitor.diastolic_blood_pressure : ''
- this.form.pulse_frequency = monitor.pulse_frequency ? monitor.pulse_frequency : ''
- this.form.breathing_rated = monitor.breathing_rate ? monitor.breathing_rate : ''
- this.form.blood_flow_volume = monitor.blood_flow_volume ? monitor.blood_flow_volume : ''
- this.form.venous_pressure = monitor.venous_pressure ? monitor.venous_pressure : ''
- this.form.transmembrane_pressure = monitor.transmembrane_pressure ? monitor.transmembrane_pressure : ''
- this.form.ultrafiltration_volume = monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : ''
- this.form.ultrafiltration_rate = monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : ''
- this.form.arterial_pressure = monitor.arterial_pressure ? monitor.arterial_pressure : ''
- this.form.sodium_concentration = monitor.sodium_concentration ? monitor.sodium_concentration : ''
- this.form.dialysate_temperature = monitor.dialysate_temperature ? monitor.dialysate_temperature : ''
- this.form.replacement_rate = monitor.replacement_rate ? monitor.replacement_rate : ''
- this.form.displacement_quantity = monitor.displacement_quantity ? monitor.displacement_quantity : ''
- this.form.conductivity = monitor.conductivity ? monitor.conductivity : ''
- this.form.displacement_flow_quantity = monitor.displacement_flow_quantity ? monitor.displacement_flow_quantity : ''
- this.form.heparin = monitor.heparin ? monitor.heparin : ''
- this.form.dialysate_flow = monitor.dialysate_flow ? monitor.dialysate_flow : ''
-
- this.form.ktv = monitor.ktv ? monitor.ktv : ''
- this.form.symptom = monitor.symptom
- this.form.dispose = monitor.dispose
- this.form.result = monitor.result
- this.form.blood_oxygen_saturation = monitor.blood_oxygen_saturation
- // 设置三个下拉框的值,直接调用事件偷懒
- this.symptomTextareaBlur()
- this.disposeTextareaBlur()
- this.resultTextareaBlur()
- }
- },
-
- submitAction: function() {
- // TODO loading
- var is_new = this.form.id
- this.form.operate_time = parseInt(this.form.operate_time / 1000)
- this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp)
- this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp)
- this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature)
- this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency)
- this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated)
- this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume)
- this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure)
- this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure)
- this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume)
- this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate)
- this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure)
- this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration)
- this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature)
- this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate)
- this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity)
- this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity)
- this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity)
- this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin)
- this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow)
- this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv)
- this.form.monitoring_date = parseInt(this.form.monitoring_date)
-
- let mode = '1'
- if (this.form.id > 0) {
- mode = '2'
- if (this.creator > 0 && this.creator != this.$store.getters.xt_user.user.id) {
- mode = '3'
- }
- }
- editMonitor(this.patient_id, this.schedule_date, this.form, mode).then(
- rs => {
- var resp = rs.data
- if (resp.state == 1) {
- var monitor = resp.data.monitor
- if (this.isAdd) {
- this.monitors.unshift(monitor)
- this.monitors.sort((a, b) => b.operate_time - a.operate_time)
- this.monitors.reverse()
- } else {
- for (let index = 0; index < this.monitors.length; index++) {
- const m = this.monitors[index]
- if (m.id == monitor.id) {
- for (const key in monitor) {
- m[key] = monitor[key]
- }
- break
- }
- }
- }
- this.reset()
- } else {
- this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp)
- this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp)
- this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature)
- this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency)
- this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated)
- this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume)
- this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure)
- this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure)
- this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume)
- this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate)
- this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure)
- this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration)
- this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature)
- this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate)
- this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity)
- this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity)
- this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity)
- this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin)
- this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow)
-
- this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv)
-
- this.$message.error(resp.msg)
- }
- }
- )
- },
-
- symptomTextareaBlur: function() {
- if (this.form.symptom.length > 0) {
- this.symptom_selecteds = this.form.symptom.split(',')
- } else {
- this.symptom_selecteds = []
- }
- },
- symptomSelectorChange: function() {
- if (this.symptom_selecteds.length > 0) {
- this.form.symptom = this.symptom_selecteds.join(',') + ','
- } else {
- this.form.symptom = ''
- }
- },
- disposeTextareaBlur: function() {
- if (this.form.dispose.length > 0) {
- this.dispose_selecteds = this.form.dispose.split(',')
- } else {
- this.dispose_selecteds = []
- }
- },
- disposeSelectorChange: function() {
- if (this.dispose_selecteds.length > 0) {
- this.form.dispose = this.dispose_selecteds.join(',') + ','
- } else {
- this.form.dispose = ''
- }
- },
- resultTextareaBlur: function() {
- if (this.form.result.length > 0) {
- this.result_selecteds = this.form.result.split(',')
- } else {
- this.result_selecteds = []
- }
- },
- setRecords(records) {
- this.monitors = records
- },
- resultSelectorChange: function() {
- if (this.result_selecteds.length > 0) {
- this.form.result = this.result_selecteds.join(',') + ','
- } else {
- this.form.result = ''
- }
- },
- deleteRecordAction: function() {
- if (this.table_current_row == null) {
- this.$message.error('请选择一条监测记录')
- return
- }
-
- this.$confirm('删除记录', '是否删除该监测记录', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- })
- .then(() => {
- let mode = '4'
- if (
- this.table_current_row.creator > 0 &&
- this.table_current_row.creator !=
- this.$store.getters.xt_user.user.id
- ) {
- mode = '5'
- }
-
- const params = {
- patient_id: this.patient_id,
- record_id: this.table_current_row.id,
- mode: mode
- }
-
- postDelMonitorInfo(params).then(response => {
- if (response.data.state == 0) {
- this.$message.error(response.data.msg)
- return false
- } else {
- const record_id = response.data.data.record_id
- for (let i = 0; i < this.monitors.length; i++) {
- if (this.monitors[i].id == record_id) {
- this.monitors.splice(i, 1)
- }
- }
- this.$message.success('删除成功')
- }
- })
- })
- .catch(() => {})
- },
- getPermission() {
- request
- .get('/api/func_per/get', {
- params: {
- create_url: '/api/dislysis/monitor/edit?mode=1',
- modify_url: '/api/dislysis/monitor/edit?mode=2',
- modify_other_url: '/api/dislysis/monitor/edit?mode=3',
- del_url: '/api/dialysis/monitor/del?mode=4',
- del_other_url: '/api/dialysis/monitor/del?mode=5',
- module: 7
- }
- })
- .then(res => {
- console.log(res)
- if (res.data.state == 0) {
- this.hasPermission = false
- } else if (res.data.state == 1) {
- this.is_has_create = res.data.data.is_has_create
- this.is_has_exce = res.data.data.is_has_exce
- this.is_has_check = res.data.data.is_has_check
- this.is_has_modify = res.data.data.is_has_modify
- this.is_has_modify_other = res.data.data.is_has_modify_other
- this.is_has_modify_exce = res.data.data.is_has_modify_exce
- this.is_has_del = res.data.data.is_has_del
- this.is_has_del_other = res.data.data.is_has_del_other
- }
- })
- }
- }
- }
- </script>
-
- <style style="stylesheet/scss" lang="scss" scoped>
- .grid {
- padding: 10px 0 20px 0;
- .list {
- ul {
- @include display-flex;
- @include align-items-center;
- @include text-align;
- @include justify-content-around;
- cursor: pointer;
- li {
- font-size: 12px;
- color: #5d6b7a;
- margin-top: 20px;
-
- p {
- height: 30px;
- line-height: 30px;
- color: #34495e;
- font-size: 14px;
- }
- img {
- width: 50px;
- height: 50px;
- }
- }
- }
- }
- }
- .txsj {
- text-align: center;
- margin-bottom: 20px;
- }
- .current-box-class::-webkit-scrollbar {
- height: 20px; /*滚动条高度*/
- }
- </style>
-
- <style style="stylesheet/scss" lang="scss">
- .dialog_box .current-box-class .current-row > td {
- background: #6fb5fa;
- // color: #000;
- /* font-size: 12px; */
- }
-
- .dialog_box .current-box-class .current-row:hover > td {
- background: #6fb5fa;
- // color: white;
- /* font-size: 12px; */
- }
- .el-table__body-wrapper::-webkit-scrollbar {
- height: 20px;
- }
- .dialog_box .current-box-class .current-row {
- background: #87ceff;
- }
- .dialog_box tr:hover > td {
- background-color: #ecf5ff !important;
- color: #3a8ee6;
- }
- .dialog_box tr > td:hover {
- background-color: #409eff !important;
- color: #fff !important;
- }
- </style>
|