123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627 |
- <!-- RASS -->
- <template>
- <div class="patient-container">
- <div class="patient-app-containers advice-container app-container">
- <div style="display: flex;margin-bottom: 20px;">
- <div style="width: 50%;">
- <el-button type="text" icon="el-icon-arrow-left" style="font-size: 18px;" @click="fanhui">返回</el-button>
- <div class="history">RASS评估记录</div>
- </div>
- <div style="margin-left: 30%;">
- <el-button type="primary" @click="Rass_pingfen(1)">打印评分</el-button>
- <el-button type="primary" @click="Rass_pingfen(2)">打印明细</el-button>
- </div>
- </div>
- <div>
- <el-table
- ref="multipleTable"
- :data="tableData"
- border
-
- tooltip-effect="dark"
- :header-cell-style="{
- background:'#4579c5',
- color:'#fff'
- }"
- style="width: 100%"
- @selection-change="handleSelectionChange">
- <el-table-column
- type="selection"
- width="55"
- align="center">
- </el-table-column>
- <el-table-column
- prop="time"
- label="评估日期"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="Losradio"
- label="LOS评分"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="rassradio"
- label="RASS评分"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="evaluate"
- label="评估护士"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="address"
- label="操作"
- width=""
- align="center"
- show-overflow-tooltip>
- <template slot-scope="scope">
- <el-button type="primary" icon="el-icon-delete" @click="RASS_delete(scope.row)"></el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
-
- <div style="display: flex;margin: 50px 0 20px 0;">
- <div style="width: 50%;">
- <div class="history">疼痛评估历史评分</div>
- </div>
- <div style="margin-left: 40%;">
- <el-button type="primary" @click="tengtong_open">打印评分</el-button>
- </div>
- </div>
- <div>
- <el-table
- ref="multipleTable"
- :data="tengtable"
- border
- tooltip-effect="dark"
- :header-cell-style="{
- background:'#4579c5',
- color:'#fff'
- }"
- style="width: 100%"
- @selection-change="teng_SelectionChanges">
- <el-table-column
- type="selection"
- width="55"
- align="center">
- </el-table-column>
- <el-table-column
- prop="time"
- label="评估日期"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="tool"
- label="疼痛工具"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="mark"
- label="分数"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
- prop="evaluate"
- label="评估护士"
- width=""
- align="center">
- </el-table-column>
- <el-table-column
-
- prop="address"
- label="操作"
- width=""
- align="center"
- show-overflow-tooltip>
- <template slot-scope="scope">
- <el-button type="primary" icon="el-icon-delete" @click="teng_dele(scope.row)"></el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <!-- RASS打印评分 -->
- <el-dialog
- title="提示"
- :visible.sync="RASS_dialogVisible"
- width="67%"
- >
- <div>
- <el-button type="primary" @click="print_pingfen(1)" style="float:right">打印</el-button>
- <div id="pingfeng" >
- <div class="diedao_content" style="">
- <div style="width:100%">
- <div style="text-align: center;"><h1>血液透析中心住院患者导管脱落危险因素评估记录</h1></div>
- <div style="margin-top: 20px;font-size: 16px;">
- <span>患者姓名:{{Patient_info.name}}</span>
- <span>透析号:{{Patient_info.dialysis_no}}</span>
- <span>打印时间:{{dayin}}</span>
- </div>
- <table class="table" border="1" style="border-collapse:collapse;text-align:center;width:100%;font-size:16px">
- <tr>
- <td style="">评估日期</td>
- <td style="">LOS评分</td>
- <td style="">RASS评分</td>
- <td style="">评估护士</td>
- </tr>
-
- <tr v-for="(item,index) in multipleSelection" :key="index">
- <td>{{ item.time }}</td>
- <td>{{ item.Losradio }}</td>
- <td>{{ item.rassradio }}</td>
- <td>{{ item.evaluate }}</td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- </div>
- </el-dialog>
- <!-- 疼痛打印评分 -->
- <el-dialog
- title="提示"
- :visible.sync="teng_dialogVisible"
- width="67%"
- >
- <div>
- <el-button type="primary" @click="print_teng" style="float:right">打印</el-button>
- <div id="pingfeng" >
- <div class="diedao_content" style="">
- <div style="width:100%">
- <div style="text-align: center;"><h1>血液透析中心住院患者导管脱落危险因素评估记录</h1></div>
- <div style="margin-top: 20px;font-size: 16px;">
- <span>患者姓名:{{Patient_info.name}}</span>
- <span>透析号:{{Patient_info.dialysis_no}}</span>
- <span>打印时间:{{dayin}}</span>
- </div>
- <table class="table" border="1" style="border-collapse:collapse;text-align:center;width:100%;font-size:16px">
- <tr>
- <td style="">评估日期</td>
- <td style="">疼痛工具</td>
- <td style="">分数</td>
- <td style="">评估护士</td>
- </tr>
-
- <tr v-for="(item,index) in tengtongvalue" :key="index">
- <td>{{ item.time }}</td>
- <td>{{ item.tool }}</td>
- <td>{{ item.mark }}</td>
- <td>{{ item.evaluate }}</td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- </div>
- </el-dialog>
- <!-- RASS打印明细 -->
- <el-dialog
- title="提示"
- :visible.sync="mingxi_dialogVisible"
- width="70%"
- >
- <div>
- <div style="">
- <el-button type="primary" @click="print_pingfen(2)" style="float:right">打印</el-button>
- </div>
-
- <div id="mingxi" >
- <div class="diedao_content" style="page-break-after: always;" v-for="items in multipleSelection">
- <div style="width:100%;margin-top: 20px;">
- <div style="text-align: center;"><h1>血液透析中心RASS评估记录</h1></div>
- <div style="margin-top: 20px;font-size: 16px;">
- <span>患者姓名:{{Patient_info.name}}</span>
- <span>透析号:{{Patient_info.dialysis_no}}</span>
- <span>评估日期:{{items.time}}</span>
- <span>评估护士:{{items.evaluate}}</span>
- <span>总分:{{items.mark}}</span>
- </div>
- <table class="table" border="1" style="width: 100%;border-collapse:collapse;margin-bottom:30px">
- <thead>
- <tr>
- <th style="width: 180px; text-align: left;margin-left: 5px;">LOS评分</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, index) in LOS" :key="index" :style="{'background':(index==0 || index % 2==0) ?'rgb(243, 240, 240)':'white'}">
- <td style="padding: 5px;">
- <div class="rightjiange" style="position: relative;"><!--v-model="items.Losradio"-->
- <el-radio v-model="items.Losradio" :label="item.value"><span>{{ item.title }}</span> {{ item.label }}</el-radio>
-
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <table class="tables" border="1" style="width: 100%;border-collapse:collapse;">
- <thead>
- <tr>
- <th colspan="2">RASS评分</th>
- </tr>
- </thead>
- <tbody>
- <tr >
- <td style='width:50%'>
- <table class="table" border="1" style="width: 100%;border-collapse: collapse;">
- <tr class="bg_color" v-for="(item,index) in RASS" :key="index"
- :style="{'background':(index==0 || index % 2==0) ?'rgb(243, 240, 240)':'white'}">
- <td style='height: 40px;'>
- <div class="rightjiange" style="position: relative;">
- <el-radio class="elradio" v-model="items.rassradio" :label="item.value"><span>{{ item.title }}</span> {{ item.label }}</el-radio>
-
- </div>
- </td>
- </tr>
- </table>
- </td>
- <td>
- <table class="table" border="1" style="width: 100%;border-collapse: collapse;">
- <tr v-for="(item,index) in RASS1" :key="index"
- :style="{'background':(index==0 || index % 2==0) ?'rgb(243, 240, 240)':'white'}">
- <td style='height: 40px;'>
- <div class="rightjiange" style="position: relative;">
- <el-radio class="elradio" v-model="items.rassradio" :label="item.value"><span>{{ item.title2 }}</span> {{ item.label }}</el-radio>
- </div>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <div style="font-size: 16px;">打印时间:{{ dayin }}</div>
- </div>
- </div>
- </div>
- </div>
- </el-dialog>
- <!--删除 -->
- <el-dialog
- title="提示"
- :visible.sync="delete_centerDialogVisible"
- width="20%"
- center>
- <span>是否删除该记录</span>
- <span slot="footer" class="dialog-footer">
- <el-button @click="delete_centerDialogVisible = false">取 消</el-button>
- <el-button type="primary" @click="deletes">确 定</el-button>
- </span>
- </el-dialog>
- </div>
- </template>
- <script>
- import print from 'print-js'
- import { uParseTime } from '@/utils/tools'
- import {getAllNurseList,savePatientHpressuresore,getPatientBedlist,getPedPatientFallAssessmentById,
- deletePedPatientFallassment,updateBedPatientList} from '@/api/fallassement'
- export default{
- data(){
- return{
- tableData:[],
- multipleSelection:[],
- tengtongvalue:[],
- RASS_dialogVisible:false,
- teng_dialogVisible:false,
- mingxi_dialogVisible:false,
- delete_centerDialogVisible:false,
- row:'',
- limit:10,
- page:1,
- patient_id:'',
- Patient_info:{},
- RAssradio:'',
- dayin:this.getTime2(new Date()),
- num:1,
- rassoptions:[],
- tengtable:[],
- LOS:[{title:'0分', label:'清醒',value:0},{title:'1分', label:'有些昏昏欲睡,但容易唤醒',value:1},
- {title:'2分', label:'频繁发生昏昏欲睡,容易唤醒,但不能持续处于觉醒状态',value:2},
- {title:'3分', label:'无意识,无法唤醒',value:3},{title:'S分', label:'正常意识,容易唤醒',value:'s'}
- ],
- RASS:[{title:'-5分', label:'无法唤醒,对声音或物理刺激均无反应',value:-5},
- {title:'-4分', label:'深度镇静,对声音刺激无反应,但对物理刺激有运动或睁眼反应',value:-4},
- {title:'-3分', label:'中度镇静,对声音刺激有活动或睁眼动作(但无目光接触)',value:-3},
- {title:'-2分', label:'轻度镇静,对于声音刺激可以有简短的目光接触的觉醒,<10s',value:-2},
- {title:'-1分', label:'困倦的昏昏欲睡的,不完全觉醒但能保持觉醒状态,对于声音刺激眼睛可以睁开或有目光接触≥10s',value:-1},
- ],
- RASS1:[{title2:'0分', label:'警觉的平静的',value:0},
- {title2:'+1分', label:'不安的焦虑的:焦虑但无强烈的攻击行为',value:1},
- {title2:'+2分', label:'焦虑的激动的:经常性的无目的活动,人机对抗',value:2},
- {title2:'+3分', label:'非常焦虑激动的:牵拉或拔除管道,容易焦虑不安',value:3},
- {title2:'+4分', label:'好斗的好战的:过于好斗,有暴力倾向,对医护人员有攻击行为',value:4},
- ],
- RassGJ:[{value:1,label:'NRS'},{value:2,label:'表情法'},{value:3,label:'视觉模拟法'},{value:4,label:'语言描述法'},
- {value:5,label:'行为学评估量表'},{value:6,label:'其他'}],
- }
- },
- created(){
- this.patient_id = this.$route.query.patient_id
- this.Patient_info = this.$route.query.Patient_info
- this.getRass_list()
- this.getteng_list()
- this.getAllNurseList()
- },
- methods:{
- // 返回
- fanhui(){
- window.history.go(-1);
- },
- // rass选中条数
- handleSelectionChange(val) {
- this.multipleSelection = val;
- console.log('val',this.multipleSelection);
- },
- // 疼痛选中条数
- teng_SelectionChanges(val){
- this.tengtongvalue = val
- console.log('teng',this.tengtongvalue);
- },
- // rass打印
- Rass_pingfen(ids){
- if(this.multipleSelection.length==0){
- this.$message('请选择需要打印的记录')
- }else{
- if(ids==1){
- this.RASS_dialogVisible=true
- }else{
- this.mingxi_dialogVisible=true
- }
- }
- },
- // 疼痛打印
- tengtong_open(){
- if(this.tengtongvalue.length==0){
- this.$message('请选择需要打印的记录')
- }else{
- this.teng_dialogVisible = true
- }
- },
- print_pingfen(ids){
- const style= '@media print {.diedao_content{background-color: white; width:960px; margin:0 auto; padding: 0 0 20px 0;} .table tr td{padding:5px}}'
- if(ids==1){
- printJS({
- printable: 'pingfeng',
- type: 'html',
- style: style,
- scanStyles: false
- })
- this.dialogVisible=false
- }else if(ids==2){
- printJS({
- printable: 'mingxi',
- type: 'html',
- style: style,
- scanStyles: false
- })
- this.mingxi_dialogVisible=false
- }
-
- },
- // 打印疼痛
- print_teng(){
- const style= '@media print {.diedao_content{background-color: white; width:960px; margin:0 auto; padding: 0 0 20px 0;} .table tr td{padding:5px}}'
- printJS({
- printable: 'pingfeng',
- type: 'html',
- style: style,
- scanStyles: false
- })
- this.teng_dialogVisible=false
- },
- // 疼痛删除弹出
- teng_dele(row){
- this.num =2
- this.row=row.id
- this.delete_centerDialogVisible=true
- },
- // 删除弹出
- RASS_delete(row){
- this.num =1
- this.row=row.id
- this.delete_centerDialogVisible=true
- },
- // 确认删除
- deletes(){
-
- deletePedPatientFallassment(this.row).then(response =>{
- if(response.data.state == 1){
- if(this.num ==1){
- for(let i=0;i<this.tableData.length;i++){
- if(this.row==this.tableData[i].id){
- this.tableData.splice(i,1)
- }
- }
- }else{
- for(let i=0;i<this.tengtable.length;i++){
- if(this.row==this.tengtable[i].id){
- this.tengtable.splice(i,1)
- }
- }
- }
- this.$message({message:'删除成功',type:'success'})
- }
- })
- this.delete_centerDialogVisible=false
- return this.tableData
- },
- // 转换时间
- getTime(val) {
- if(val < 0){
- return ""
- }
- if(val == ""){
- return ""
- }else {
- return uParseTime(val, '{y}-{m}-{d}')
- }
- },
- getTime2(val) {
- if(val < 0){
- return ""
- }
- if(val == ""){
- return ""
- }else {
- return uParseTime(val, '{y}-{m}-{d} {h}:{i}:{s}')
- }
- },
- // RASS数据源
- getRass_list(){
- var params = {
- patient_id:this.patient_id,
- limit:this.limit,
- is_type:5,
- page:this.page,
- }
- getPatientBedlist(params).then(response =>{
- if(response.data.state ==1){
- const Rass = response.data.data.list
- Rass.forEach(item => {
- if(item.text != ''){
- const text = JSON.parse(item.text)
- console.log('text',text);
- const arr ={
- id:item.id,
- time:text.date,
- rassradio:text.rassradio,
- Losradio:text.Losradio,
- Rass_num : text.Rass_num,
- mark:text.total,
- evaluate:this.getoptions(text.appraiser),
-
- }
-
- this.tableData.push(arr)
- }
- });
- }
- })
- },
- // 疼痛数据源
- getteng_list(){
- var params = {
- patient_id:this.patient_id,
- limit:this.limit,
- is_type:13,
- page:this.page,
- }
- getPatientBedlist(params).then(response =>{
- if(response.data.state ==1){
- const Rass = response.data.data.list
- Rass.forEach(item => {
- if(item.text != ''){
- const text = JSON.parse(item.text)
- console.log('text',text);
- const arr ={
- id:item.id,
- time:text.date,
- // tool:this.getRassGJ(text.RassGJradio),
- tool:text.RassGJradio,
- mark:text.total,
- qita:text.qita_val,
- evaluate:this.getoptions(text.appraiser),
- }
- // if(arr.tool=='其他'){
- // arr.mark = arr.qita
- // }
- if(arr.tool==6){
- arr.mark = arr.qita
- }
- arr.tool= this.getRassGJ(arr.tool)
- console.log('1111',arr);
- this.tengtable.push(arr)
- // if(this.tengtable.length>0){
- // for(let i in this.tengtable){
- // if(this.tengtable[i].tool==6){
- // this.tengtable[i].mark = this.tengtable[i].qita
- // }
- // // this.getRassGJ(this.tengtable[i].tool)
- // // console.log('111111',this.tengtable);
- // }
-
- // }
-
- }
- });
- }
- })
- },
- // 评估人
- getoptions(ids){
- const options= this.rassoptions
- for(let i in options){
- if(options[i].admin_user_id == ids){
- return options[i].user_name
- }
- }
- },
- // 疼痛工具
- getRassGJ(ids){
- const teng = this.RassGJ
- for(let i in teng){
- if(ids == teng[i].value){
- return teng[i].label
- }
- }
- },
- // 评估人数据源
- getAllNurseList(){
- getAllNurseList().then(response=>{
- if(response.data.state ==1){
- var nurseList = response.data.data.nurseList
-
- this.rassoptions =nurseList
- }
- })
- },
-
- }
- }
- </script>
- <style lang="scss" scoped>
- .patient-app-containers {
- margin-left: 10px;
- margin-right: 10px;
- background: #fff;
- }
- .history{
- display: inline-block;
- border-left:2px solid gray ;
- padding: 0 10px;
- margin-left:10px;
- color: gray;
- font-size: 18px;
- }
- .table tr td{
- padding:5px,
- }
- input{
- -webkit-appearance: checkbox;
- }
- // .elradio{
- // display: flex;
- // /deep/.el-radio__label{
- // white-space: normal !important; /* 换行 */
- // }
- // }
- </style>
- <style>
- .elradio{
- display: flex;
- .el-radio__label{
- white-space: normal; /* 换行 */
- }
- }
- </style>
|