pressuresore.vue 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586
  1. <!--压疮风险评估 -->
  2. <template>
  3. <div class="patient-container">
  4. <patient-sidebar :id="patientID" defaultActive="5-3" @tran-patient="tranpatient"></patient-sidebar>
  5. <div>
  6. <div class="patient-app-container advice-container app-container">
  7. <div class='content_top' style="">
  8. <div style="font-size: 20px;">患者压疮危险因素评估记录(Braden)表</div>
  9. <div>
  10. <el-button @click="yachaunghistory">历史评分</el-button>
  11. </div>
  12. </div>
  13. <div style="margin: 20px 0px;">
  14. <div style="display: flex;">
  15. <div style="flex: 5;">
  16. <table class="table" border style="width: 100%;">
  17. <thead>
  18. <tr>
  19. <th rowspan="2" style="width: 9%">项目/编码</th>
  20. <th colspan="4" style="width: 68%;">分值</th>
  21. <th rowspan="2" style="width: 9%">说明</th>
  22. <!-- <th rowspan="2" style="width: 14%">护理措施</th> -->
  23. </tr>
  24. <tr>
  25. <th >1分</th>
  26. <th >2分</th>
  27. <th >3分</th>
  28. <th >4分</th>
  29. </tr>
  30. </thead>
  31. <tbody>
  32. <tr class="start">
  33. <td >
  34. <span class="bing">A.感知</span><br/>
  35. 机体对压力所引起不适感的反应能力
  36. </td>
  37. <td >
  38. 完全受限 <br>对疼痛刺激没有反应(没有呻吟,退缩或紧握)或者绝大部分机体对疼痛的感觉受限
  39. </td>
  40. <td >
  41. 中度受限<br>只对疼痛刺激有反应,能通过呻吟、烦躁的方式表达机体不适。或者机体一半以上的部位对疼痛或不适感觉障碍
  42. </td>
  43. <td>
  44. 轻微受限<br>对其讲话有反应,但不是所有时间都能用语言表达不适感。或者机体机体的一到两个肢体对疼痛或不适感感觉障碍
  45. </td>
  46. <td>
  47. 没有改变<br>对其讲话有反应,机体没有对疼痛或不适的感觉确失
  48. </td>
  49. <td rowspan="6" style="vertical-align: middle;">
  50. <div style="text-align: center;">
  51. 总分23分,<br>
  52. 15~18分为低危;<br>
  53. 13~14分为中危;<br>
  54. 10~12分为高危;<br>
  55. ≤9分为极高危
  56. </div>
  57. </td>
  58. </tr>
  59. <tr class="bg_color start">
  60. <td class="start">
  61. <span class="bing">B.湿度</span><br/>
  62. 皮肤处于潮湿状态的程度
  63. </td>
  64. <td>
  65. 持久潮湿<br>由于出汗、小便等原因皮肤一直处于潮湿状态,每当移动患者或者给患者翻身时就可以发现患者皮肤是湿的
  66. </td>
  67. <td>
  68. 非常潮湿<br>皮肤经常但不总是处于潮湿状态,床单每天至少换一次
  69. </td>
  70. <td>
  71. 偶尔潮湿<br>每天大概需要额外换一次床单
  72. </td>
  73. <td>
  74. 很少潮湿<br>皮肤通常是干的,只是按照常规换床单即可
  75. </td>
  76. </tr>
  77. <tr class="start">
  78. <td>
  79. <span class="bing">C.活动能力</span><br>
  80. 躯体活动的能力
  81. </td>
  82. <td>
  83. 卧床不起<br>限制在床上
  84. </td>
  85. <td>
  86. 局限于轮椅活动<br>行动能力严重受限或者没有行走能力
  87. </td>
  88. <td>
  89. 可偶尔步行<br>白天在帮助或者无需帮助的情况下偶尔可以走一段路。每天大部分时间在床上或者椅子上度过
  90. </td>
  91. <td>
  92. 经常步行<br>每天至少2次室外行走,白天醒着的时候至少每2h行走一次
  93. </td>
  94. </tr>
  95. <tr class="bg_color start">
  96. <td>
  97. <span class="bing">D.移动能力</span><br>
  98. 改变/控制躯体位置的能力
  99. </td>
  100. <td>
  101. 完全受限<br>没有帮助的情况下不能完成轻微的躯体 或者四肢的位置变动
  102. </td>
  103. <td>
  104. 严重受限<br>偶尔能轻微地移动躯体或者四肢,但不能独立完成经常的或显著的躯体位置变动
  105. </td>
  106. <td>
  107. 轻度受限<br>能经常独立地改变躯体或四肢的位置,但变动幅度不大
  108. </td>
  109. <td>
  110. 不受限<br>能经常独立地改变躯体或四肢的位置,但变动幅度不大
  111. </td>
  112. </tr>
  113. <tr class="start">
  114. <td>
  115. <span class="bing">E.营养</span><br>
  116. 平常的食物摄入模式
  117. </td>
  118. <td>
  119. 重度营养摄入不足<br>
  120. 从来不能吃完一餐饭,很少能摄入所给实物量的1/3。每天能摄入2份或以下的蛋白量(肉或者乳制品)很少摄入液体,没有摄入流质饮食。或者禁食和/或清流摄入或静脉输入大于5d
  121. </td>
  122. <td>
  123. 营养摄入不足<br>
  124. 很少能吃完一餐饭,通常只能摄入所给食物的1/2。每天蛋白摄入量是3份肉或者乳制品。偶尔能摄入规定实物量。或者可摄入略低于理想量的流质或者管饲
  125. </td>
  126. <td>
  127. 营养摄入适当<br>
  128. 可摄入提供量的一半以上。每天4份蛋白量(肉或乳制品),偶尔拒绝肉类,如果提供给食物通常会吃掉。或者管饲或TNP能达到绝大部分的营养所需
  129. </td>
  130. <td>
  131. 营养摄入良好<br>每餐能摄入绝大部分食物从来不拒绝食物,通常吃4份或更多的肉和乳制品,两餐间偶尔进食。不需要其他补充食物
  132. </td>
  133. </tr>
  134. <tr class="bg_color start">
  135. <td>
  136. <span class="bing">F.摩擦力和剪切力</span><br>
  137. </td>
  138. <td>
  139. 有此问题<br>
  140. 移动时需要得到大量的帮助,不可能做到完全抬空而不碰到床单,在床上或椅子上时经常滑落。需要大力帮助下重摆体位。痉挛、挛缩或躁动不安通常导致摩擦
  141. </td>
  142. <td>
  143. 有潜在问题<br>
  144. 躯体移动乏力,或者需要一些帮助,在移动过程中,皮肤在一定程度上会碰到床单、椅子、约束带或者其他设施。在床上或椅子上可保持相对好的位置,偶尔会滑落下来
  145. </td>
  146. <td>
  147. 无明显问题<br>
  148. 能独立在床上或椅子上移动,并且有足够的肌肉力量在移动时完全抬空躯体。在床上和椅子上总是保持良好的位置
  149. </td>
  150. <td></td>
  151. </tr>
  152. </tbody>
  153. </table>
  154. </div>
  155. <div style="flex: 1;">
  156. <table class="table" border>
  157. <thead>
  158. <tr>
  159. <th rowspan="2" style="width: 14%;height: 80px;">护理措施</th>
  160. </tr>
  161. </thead>
  162. <tbody>
  163. <tr>
  164. <td rowspan="6" style="position: relative;vertical-align: top;">
  165. <div class="jiange" v-for="item in hulicuoshi" >
  166. <label><input name="ball" type="checkbox" v-model="item.is_check" @click="huli_check(item)" />&nbsp;{{ item.label }}</label>
  167. </div>
  168. <div class="tianjia" @click="add_press=true">
  169. +添加
  170. </div>
  171. </td>
  172. </tr>
  173. </tbody>
  174. </table>
  175. </div>
  176. </div>
  177. <table class="table" border style="width: 100%;">
  178. <thead>
  179. <tr>
  180. <th rowspan="2" style="width: 9%">评估日期</th>
  181. <th colspan="6" style="width: 68%;">评估项目/编码(表格内填写分数)</th>
  182. <th rowspan="2" style="width: 9%">评分</th>
  183. <th rowspan="2" style="width: 14%">责任护士签名</th>
  184. </tr>
  185. <tr>
  186. <th>A</th>
  187. <th>B</th>
  188. <th>C</th>
  189. <th>D</th>
  190. <th>E</th>
  191. <th>F</th>
  192. </tr>
  193. </thead>
  194. <tbody>
  195. <tr>
  196. <td>
  197. <el-date-picker
  198. v-model="date"
  199. type="date"
  200. value-format="yyyy-MM-dd"
  201. placeholder="选择日期"
  202. :clearable="false"
  203. style="width: 150px;">
  204. </el-date-picker>
  205. </td>
  206. <td class="start">
  207. <el-input v-model="ganzhi" style="width:80px;"></el-input>
  208. </td>
  209. <td class="start">
  210. <el-input v-model="shidu" style="width:80px"></el-input>
  211. </td>
  212. <td class="start">
  213. <el-input v-model="huodong" style="width:80px"></el-input>
  214. </td>
  215. <td class="start">
  216. <el-input v-model="yidong" style="width:80px"></el-input>
  217. </td>
  218. <td class="start">
  219. <el-input v-model="yingyang" style="width:80px"></el-input>
  220. </td>
  221. <td class="start">
  222. <el-input v-model="mocha" style="width:80px"></el-input>
  223. </td>
  224. <td class="start">
  225. <el-input v-model="mark" style="width:70px"></el-input>
  226. </td>
  227. <td class="start">
  228. <el-select v-model="duty" placeholder="请选择" style="width:120px;">
  229. <el-option
  230. v-for="item in dutyoptions"
  231. :key="item.admin_user_id"
  232. :label="item.user_name"
  233. :value="item.admin_user_id"
  234. >
  235. </el-option>
  236. </el-select>
  237. </td>
  238. </tr>
  239. </tbody>
  240. </table>
  241. </div>
  242. <div style="margin-bottom: 20px;">
  243. <p>患者知情同意书:我对住院期间发生导管脱落的风险及预防措施已知晓,并给予配合。</p>
  244. <div class="zhuangui">
  245. <p style="display: inline-block; margin-right: 70px;">
  246. 患者/家属签字: <el-input v-model="family_member" style="width:120px;"></el-input>
  247. </p>
  248. <p style="display: inline-block;">
  249. 日期:
  250. <el-date-picker
  251. v-model="family_date"
  252. type="date"
  253. value-format="yyyy-MM-dd"
  254. placeholder="选择日期"
  255. style="width: 150px;">
  256. </el-date-picker>
  257. </p>
  258. </div>
  259. <div class="zhuangui">
  260. <span>转归:</span>
  261. <div style="display: inline-block;position: relative;top: 0px;">
  262. <!-- <el-checkbox-group v-model="checkList">
  263. <el-checkbox v-for="item in zhuangui" :label="item.value" :key="item.id" :value="item.id"></el-checkbox>
  264. </el-checkbox-group> -->
  265. <span v-for="item in zhuangui" style="display: inline-block;margin-right: 10px;">
  266. <label><input type="checkbox" v-model="item.is_check" @click="zhuangcheck(item)" />{{ item.value }}</label>
  267. </span>
  268. </div>
  269. </div>
  270. <div class="zhuangui">
  271. <p style="display: inline-block; margin-right: 30px;">
  272. 评估人签字:
  273. <el-input v-model="appraiser" style="width:120px;"></el-input>
  274. </p>
  275. <p style="display: inline-block;">
  276. 日期:
  277. <el-date-picker
  278. v-model="appraiser_date"
  279. type="date"
  280. value-format="yyyy-MM-dd"
  281. placeholder="选择日期"
  282. style="width: 150px;">
  283. </el-date-picker>
  284. </p>
  285. </div>
  286. <div class="content_top">
  287. <div class="zhuangui">
  288. <p style="display: inline-block; margin-right: 30px;">
  289. 护士长签字:
  290. <el-select v-model="nurse" placeholder="请选择" style="width: 120px;">
  291. <el-option
  292. v-for="item in dutyoptions"
  293. :key="item.admin_user_id"
  294. :label="item.user_name"
  295. :value="item.admin_user_id">
  296. </el-option>
  297. </el-select>
  298. </p>
  299. <p style="display: inline-block;">
  300. 日期:
  301. <el-date-picker
  302. v-model="nurse_date"
  303. type="date"
  304. value-format="yyyy-MM-dd"
  305. placeholder="选择日期"
  306. style="width: 150px;">
  307. </el-date-picker>
  308. </p>
  309. </div>
  310. <div>
  311. <el-button type="primary" @click="Pressuresore">确定</el-button>
  312. </div>
  313. </div>
  314. </div>
  315. <hr style="background-color:#DCDFE6; height: 1px;border: none;"/>
  316. <div class="shuoming">
  317. <p>说明:</p>
  318. <p>1. 患者入院首次动态评估,压疮危险因素评分≤18分,填写该表。</p>
  319. <p>2. 压疮危险因素:</p>
  320. <p>&nbsp;&nbsp;&nbsp;&nbsp;评分15~18分(低危),有责任组长负责质量监控并每周评估一次;</p>
  321. <p>&nbsp;&nbsp;&nbsp;&nbsp;评分13~14分(中危),有护士长/院伤口小组成员负责质量监控并每周评估2次;</p>
  322. <p>&nbsp;&nbsp;&nbsp;&nbsp;评分≤12分(高危),由大科护士长负责质量监管,隔日评估1次。</p>
  323. <p>3. 评分符合难免压疮申报条件(≤12分),填写难免压疮申报表。</p>
  324. </div>
  325. </div>
  326. </div>
  327. <!-- 添加弹窗页面 -->
  328. <el-dialog title="增加护理措施" :visible.sync="add_press" width="30%">
  329. <div>
  330. <div style="margin-bottom: 10px;font-size: 16px;">护理措施:</div>
  331. <!-- <input type="text" v-model="huli_value" style="width: 290px;height: 36px;border: 1px solid #d7d7d7;"> -->
  332. <el-input type="textarea" :rows="2"
  333. placeholder="请输入内容" v-model="huli_value">
  334. </el-input>
  335. </div>
  336. <span slot="footer" class="dialog-footer">
  337. <el-button @click="add_press = false">取 消</el-button>
  338. <el-button type="primary" @click="nurseclick(huli_value)">确 定</el-button>
  339. </span>
  340. </el-dialog>
  341. </div>
  342. </template>
  343. <script>
  344. import PatientSidebar from '../components/PatientSidebar'
  345. import { uParseTime } from '@/utils/tools'
  346. import {getAllNurseList,savePatientHpressuresore } from '@/api/fallassement'
  347. export default {
  348. components:{
  349. PatientSidebar
  350. },
  351. data(){
  352. return{
  353. patientID:0,
  354. value1:'',
  355. checkList:[],
  356. input:'',
  357. options:[],
  358. value:'',
  359. ganzhi:null,
  360. shidu:null,
  361. huodong:null,
  362. yidong:null,
  363. yingyang:null,
  364. mocha:null,
  365. zhuangui:[{id:1,value:'出院',is_check:false,check:0},{id:2,value:'死亡',is_check:false,check:0},{id:3,value:'其他',is_check:false,check:0}],
  366. add_press:false,
  367. date:this.getTime(new Date()),
  368. huli_value:'',
  369. family_date:this.getTime(new Date()),
  370. dutyoptions:[],
  371. duty:'',
  372. family_member:'',
  373. appraiser:'',
  374. appraiser_date:this.getTime(new Date()),
  375. nurse:'',
  376. nurse_date:this.getTime(new Date()),
  377. hulicheckarr:[],//护理措施选中
  378. hulicuoshi:[{id:1,label:'挂床头警示标识',hulicheck:0,is_check:false},{id:2,label:'保护受压皮肤,使用减压用具(气垫床/压疮床)',hulicheck:0,is_check:false},
  379. {id:3,label:'定时翻身,移动避免拖拉',hulicheck:0,is_check:false},{id:4,label:'加强营养',hulicheck:0,is_check:false},
  380. {id:5,label:'保持被衣物清洁舒适',hulicheck:0,is_check:false},{id:6,label:'其他',hulicheck:0,is_check:false}],
  381. nurseList:[],
  382. zhuang_show:'',
  383. Patient_info:{name:'',dialysis_no:''},
  384. }
  385. },
  386. methods:{
  387. // 添加
  388. nurseclick(val){
  389. this.huli_value=val
  390. const arr ={
  391. id:0,
  392. label:this.huli_value,
  393. hulicheck:0,
  394. is_check:false
  395. }
  396. this.hulicuoshi.push(arr)
  397. this.add_press = false
  398. },
  399. // 点击护理措施
  400. huli_check(item){
  401. for(let i in this.hulicuoshi){
  402. if(item.label==this.hulicuoshi[i].label ){
  403. if(item.is_check==false){
  404. this.hulicuoshi[i].hulicheck=1
  405. this.hulicuoshi[i].is_check=true
  406. this.hulicheckarr.push(item.id)
  407. }else{
  408. this.hulicuoshi[i].hulicheck = 0
  409. this.hulicuoshi[i].is_check = false
  410. if(this.hulicheckarr.length>0){
  411. for(let j in this.hulicheckarr){
  412. if(item.id == this.hulicheckarr[j]){
  413. let index = this.hulicheckarr.indexOf(this.hulicheckarr[j]);
  414. this.hulicheckarr.splice(index,1)
  415. }
  416. }
  417. }
  418. }
  419. }
  420. }
  421. },
  422. // 历史
  423. yachaunghistory(){
  424. this.$router.push({
  425. path: '/patients/Pressure_history',
  426. query:{patient_id:this.patientID,
  427. Patient_info:this.Patient_info}
  428. })
  429. },
  430. // 转归
  431. zhuangcheck(item){
  432. for(let i in this.zhuangui){
  433. if(item.id == this.zhuangui[i].id){
  434. this.zhuangui[i].is_check =true
  435. this.zhuangui[i].check = 1
  436. this.zhuang_show = item.id
  437. }else{
  438. this.zhuangui[i].is_check =false
  439. this.zhuangui[i].check = 0
  440. }
  441. }
  442. },
  443. // 时间转换
  444. getTime(val) {
  445. if(val < 0){
  446. return ""
  447. }
  448. if(val == ""){
  449. return ""
  450. }else {
  451. return uParseTime(val, '{y}-{m}-{d}')
  452. }
  453. },
  454. // 评估人数据源
  455. getAllNurseList(){
  456. getAllNurseList().then(response=>{
  457. if(response.data.state ==1){
  458. var nurseList = response.data.data.nurseList
  459. this.dutyoptions =nurseList
  460. }
  461. })
  462. },
  463. // 确认
  464. Pressuresore(){
  465. const data = {}
  466. var list = []
  467. data['date'] = this.date
  468. data['ganzhi'] = this.ganzhi
  469. data['shidu'] = this.shidu
  470. data['huodong'] = this.huodong
  471. data['yidong'] = this.yidong
  472. data['yingyang'] = this.yingyang
  473. data['mocha'] = this.mocha
  474. data['mark'] = this.mark
  475. data['duty'] = this.duty
  476. data['jiashu'] = this.family_member
  477. data['jiashu_date'] = this.family_date
  478. data['appraiser'] = this.appraiser
  479. data['pingg_date'] = this.appraiser_date
  480. data['nurse'] = this.nurse
  481. data['nurse_date'] = this.nurse_date
  482. data['zhuang_show'] = this.zhuang_show
  483. data['hulicuoshi'] = this.hulicheckarr
  484. list.push(data)
  485. var params={
  486. patient_id:this.patientID,
  487. record_date:this.date,
  488. is_type:1,
  489. list:list,
  490. }
  491. console.log('params----',params);
  492. savePatientHpressuresore(params).then(response=>{
  493. if(response.data.state == 1){
  494. const save = response.data.data.pedFallssessment
  495. console.log('pedFallssessment',save);
  496. this.$message({message:'保存成功',type:'success'})
  497. }
  498. })
  499. },
  500. // 患者信息
  501. tranpatient(event){
  502. console.log('event',event);
  503. this.Patient_info={
  504. name:event.name,
  505. dialysis_no:event.dialysis_no
  506. }
  507. },
  508. },
  509. computed:{
  510. mark(){
  511. return this.ganzhi*1 + this.shidu*1 + this.huodong*1 + this.yidong*1 + this.mocha*1 + this.yingyang*1
  512. }
  513. },
  514. created(){
  515. const id = this.$route.params && this.$route.params.id
  516. this.patientID = parseInt(id)
  517. this.getAllNurseList()
  518. }
  519. }
  520. </script>
  521. <style lang="scss" scoped>
  522. .content_top{
  523. display: flex;
  524. justify-content: space-between;
  525. }
  526. .table{
  527. border: 1px solid #DCDFE6;
  528. border-collapse:collapse;
  529. border-spacing: 0;
  530. display: table;
  531. thead th{
  532. background: #0077ff9f;
  533. color: rgb(250, 248, 248);
  534. text-align: center;
  535. height: 40px;
  536. }
  537. tbody td{
  538. height: 40px;
  539. padding: 5px;
  540. }
  541. .start{
  542. vertical-align: top;
  543. }
  544. .bing{
  545. color: #4579C5;
  546. }
  547. .bg_color{
  548. background: rgb(243, 240, 240);
  549. }
  550. .jiange{
  551. line-height: 40px;
  552. padding-left: 5px;
  553. }
  554. .tianjia{
  555. position: relative;
  556. bottom: 0px;
  557. font-size: 17px;
  558. color:#4579C5;
  559. line-height: 40px;
  560. border-top: 1px solid #DCDFE6;
  561. box-sizing: border-box;
  562. width: 100%;
  563. padding: 5px;
  564. }
  565. input{
  566. -webkit-appearance: checkbox;
  567. }
  568. }
  569. .shuoming p{
  570. margin-top: 5px;
  571. color: rgb(167, 165, 165);
  572. }
  573. .zhuangui{
  574. margin-top: 10px;
  575. }
  576. input{
  577. -webkit-appearance: checkbox;
  578. }
  579. </style>