dailyLife.vue 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. <!-- 日常生活能力评估 -->
  2. <template>
  3. <div class="patient-container">
  4. <patient-sidebar :id="patientID" defaultActive="5-5"></patient-sidebar>
  5. <div>
  6. <div class="patient-app-container advice-container app-container">
  7. <div class='content_top' style="width: 100%;margin-bottom: 20px;">
  8. <div style="font-size: 20px;"> 日常生活能力评定(ADL评估)表</div>
  9. <div>
  10. <el-button @click="datehistory">历史评分</el-button>
  11. </div>
  12. </div>
  13. <div>
  14. <table class="table" border="1" style="width: 100%;">
  15. <thead>
  16. <tr>
  17. <th style="width: 150px;">项目</th>
  18. <th colspan="4">分值</th>
  19. </tr>
  20. </thead>
  21. <tbody>
  22. <tr class="bg_color">
  23. <td class="start">进食</td>
  24. <td v-for="(item,index) in jinshi" :key="index">
  25. <div class="jiange">
  26. <span>
  27. <label><input type="checkbox" class="checkbox1" name="ball" :value="item.value" v-model="item.is_check" @click="jinshiclick($event,item)"/>&nbsp;
  28. {{ item.label }}
  29. </label>
  30. </span>
  31. </div>
  32. </td>
  33. <td>&nbsp;</td>
  34. </tr>
  35. <tr>
  36. <td class="start">洗澡</td>
  37. <td v-for="(item,index) in xizao" :key="index">
  38. <div class="jiange">
  39. <span>
  40. <label><input type="checkbox" class="checkbox2" name="ball" :value="item.value" v-model="item.is_check" @click="xizaoclick($event,item)"/>&nbsp;
  41. {{ item.label }}
  42. </label>
  43. </span>
  44. </div>
  45. </td>
  46. <td></td><td></td>
  47. </tr>
  48. <tr class="bg_color">
  49. <td class="start">修饰</td>
  50. <td v-for="(item,index) in xiushi" :key="index">
  51. <div class="jiange">
  52. <span>
  53. <label><input type="checkbox" class="checkbox3" name="ball" :value="item.value" v-model="item.is_check" @click="xiushiclick($event,item)"/>&nbsp;
  54. {{item.label}}
  55. </label>
  56. </span>
  57. </div>
  58. </td>
  59. <td></td><td></td>
  60. </tr>
  61. <tr>
  62. <td class="start">穿衣</td>
  63. <td v-for="(item,index) in chuanyi" :key="index">
  64. <div class="jiange">
  65. <span>
  66. <label><input type="checkbox" class="checkbox4" name="ball" :value="item.value" v-model="item.is_check" @click="chuanyiclick($event,item)"/>&nbsp;
  67. {{item.label}}
  68. </label>
  69. </span>
  70. </div>
  71. </td>
  72. <td></td>
  73. </tr>
  74. <tr class="bg_color">
  75. <td class="start">控制大便</td>
  76. <td v-for="(item,index) in dabian" :key="index">
  77. <div class="jiange">
  78. <span>
  79. <label><input type="checkbox" class="checkbox5" name="ball" :value="item.value" v-model="item.is_check" @click="dabianclick($event,item)"/>&nbsp;
  80. {{item.label}}
  81. </label>
  82. </span>
  83. </div>
  84. </td>
  85. <td></td>
  86. </tr>
  87. <tr>
  88. <td class="start">控制小便</td>
  89. <td v-for="(item,index) in xioabian" :key="index">
  90. <div class="jiange">
  91. <span>
  92. <label><input type="checkbox" class="checkbox6" name="ball" :value="item.value" v-model="item.is_check" @click="xiaobianclick($event,item)"/>&nbsp;
  93. {{item.label}}
  94. </label>
  95. </span>
  96. </div>
  97. </td>
  98. <td></td>
  99. </tr>
  100. <tr class="bg_color">
  101. <td class="start">如厕</td>
  102. <td v-for="(item,index) in ruce" :key="index">
  103. <div class="jiange">
  104. <span>
  105. <label><input type="checkbox" class="checkbox7" name="ball" :value="item.value" v-model="item.is_check" @click="ruceclick($event,item)"/>&nbsp;
  106. {{item.label}}
  107. </label>
  108. </span>
  109. </div>
  110. </td>
  111. <td></td>
  112. </tr>
  113. <tr>
  114. <td class="start">床椅转移</td>
  115. <td v-for="(item,index) in chuangyi" :key="index">
  116. <div class="jiange">
  117. <span>
  118. <label><input type="checkbox" class="checkbox8" name="ball" :value="item.value" v-model="item.is_check" @click="chuangyiclick($event,item)"/>&nbsp;
  119. {{item.label}}
  120. </label>
  121. </span>
  122. </div>
  123. </td>
  124. </tr>
  125. <tr class="bg_color">
  126. <td class="start">平地行走</td>
  127. <td v-for="(item,index) in pingdi" :key="index">
  128. <div class="jiange">
  129. <span>
  130. <label><input type="checkbox" class="checkbox9" name="ball" :value="item.value" v-model="item.is_check" @click="pingdiclick($event,item)"/>&nbsp;
  131. {{item.label}}
  132. </label>
  133. </span>
  134. </div>
  135. </td>
  136. </tr>
  137. <tr>
  138. <td class="start">上下楼梯</td>
  139. <td v-for="(item,index) in louti" :key="index">
  140. <div class="jiange">
  141. <span>
  142. <label><input type="checkbox" class="checkbox10" name="ball" :value="item.value" v-model="item.is_check" @click="louticlick($event,item)"/>&nbsp;
  143. {{ item.label }}
  144. </label>
  145. </span>
  146. </div>
  147. </td>
  148. <td></td>
  149. </tr>
  150. </tbody>
  151. </table>
  152. </div>
  153. <div class="content_top" style="margin: 10px 0px;">
  154. <div>
  155. <div class="bottoms">
  156. <span>总分:</span>
  157. <el-input v-model="date_Totalpoints" style="width: 100px;"></el-input>分
  158. </div>
  159. <div class="bottoms">
  160. <span>评估日期:</span>
  161. <el-date-picker
  162. v-model="date"
  163. type="date"
  164. value-format="yyyy-MM-dd"
  165. placeholder="选择日期"
  166. :clearable="false"
  167. style="width: 150px;">
  168. </el-date-picker>
  169. </div>
  170. <div class="bottoms">
  171. <span>评估人:</span>
  172. <el-select v-model="appraiser" placeholder="请选择" >
  173. <el-option
  174. v-for="item in optionsarr"
  175. :key="item.value"
  176. :label="item.label"
  177. :value="item.value"
  178. style="width:150px;">
  179. </el-option>
  180. </el-select>
  181. </div>
  182. </div>
  183. <div style="margin:5px 10px;">
  184. <el-button type="primary" @click="lifeclick">确认</el-button>
  185. </div>
  186. </div>
  187. <hr style="border:none;height:1px;background:#DCDFE6;"/>
  188. <div class="shuoming">
  189. <p>说明:</p>
  190. <p>一级 无需依赖 100分</p>
  191. <p>二级 轻度依赖 61-99分</p>
  192. <p>三级 中度依赖 41-60分</p>
  193. <p>四级 重度依赖 ≤40分</p>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. </template>
  199. <script>
  200. import PatientSidebar from '../components/PatientSidebar.vue'
  201. import { uParseTime } from '@/utils/tools'
  202. export default {
  203. components:{
  204. PatientSidebar
  205. },
  206. data(){
  207. return{
  208. patientID:0,
  209. value:'',
  210. input:'',
  211. value1:'',
  212. options:[],
  213. jinshi_val:null,
  214. xizao_val:null,
  215. xiushi_val:null,
  216. chuanyi_val:null,
  217. dabian_val:null,
  218. xiaobian_val:null,
  219. ruce_val:null,
  220. chuangyi_val:null,
  221. paingdi_val:null,
  222. louti_val:null,
  223. appraiser:'',
  224. optionsarr:[],
  225. date:this.getTime(new Date()),
  226. jinshi:[{value:10,label:'可独立进食(10分)',is_check:false,check:0},
  227. {value:5,label:'需部分帮助(如协助夹菜等)(5分)',is_check:false,check:0},
  228. {value:0,label:'需极大帮助或完全依赖他人(0分)',is_check:false,check:0}
  229. ],
  230. xizao:[{value:5,label:'准备好洗澡水后可独立完成(5分)',is_check:false,check:0},
  231. {value:0,label:'在洗澡过程中需他人帮助(0分)',is_check:false,check:0}
  232. ],
  233. xiushi:[{value:5,label:'可自己独立完成(5分)',is_check:false,check:0},
  234. {value:0,label:'需他人帮助(0分)',is_check:false,check:0}
  235. ],
  236. chuanyi:[{value:10,label:'可独立完成(10分)',is_check:false,check:0},
  237. {value:5,label:'需部分帮助(如协助系鞋带等)(5分)',is_check:false,check:0},
  238. {value:0,label:'需极大帮助或完全依赖他人(0分)',is_check:false,check:0}
  239. ],
  240. dabian:[{value:10,label:'可控制大便(10分)',is_check:false,check:0},
  241. {value:5,label:'偶尔失禁(5分)',is_check:false,check:0},
  242. {value:0,label:'完全失禁(0分)',is_check:false,check:0}
  243. ],
  244. xioabian:[{value:10,label:'可控制小便(10分)',is_check:false,check:0},
  245. {value:5,label:'偶尔失禁(5分)',is_check:false,check:0},
  246. {value:0,label:'完全失禁(0分)',is_check:false,check:0}
  247. ],
  248. ruce:[{value:10,label:'可独立完成(10分)',is_check:false,check:0},
  249. {value:5,label:'需部分帮助(如协助整理衣裤等)(5分)',is_check:false,check:0},
  250. {value:0,label:'需极大帮助或完全依赖他人(0分)',is_check:false,check:0}
  251. ],
  252. chuangyi:[{value:15,label:'可独立完成(15分)',is_check:false,check:0},
  253. {value:10,label:'需部分帮助(1人协助))(10分)',is_check:false,check:0},
  254. {value:5,label:'需极大帮助(2人协助)(5分)',is_check:false,check:0},
  255. {value:0,label:'完全依赖他人,不能坐(0分)',is_check:false,check:0}
  256. ],
  257. pingdi:[{value:15,label:'可独立在平地上行走>45S,可用辅助工具(15分)',is_check:false,check:0},
  258. {value:10,label:'需部分帮助(他人搀扶或使用辅助工具)(10分)',is_check:false,check:0},
  259. {value:5,label:'需极大帮助(可坐轮椅自动移动))(5分)',is_check:false,check:0},
  260. {value:0,label:'完全依赖他人(0分)',is_check:false,check:0}
  261. ],
  262. louti:[{value:10,label:'可独立上下1层楼梯(可用辅助工具)(10分)',is_check:false,check:0},
  263. {value:5,label:'需部分帮助(他人帮助)(5分)',is_check:false,check:0},
  264. {value:0,label:'需极大帮助或完全依赖他人(0分)',is_check:false,check:0}
  265. ],
  266. }
  267. },
  268. methods:{
  269. jinshiclick(e,item){
  270. for(let i=0;i<this.jinshi.length;i++){
  271. if(this.jinshi[i].value==item.value){
  272. if(this.jinshi[i].check==0){
  273. this.jinshi[i].is_check = true
  274. this.jinshi[i].check = 1
  275. this.jinshi_val = item.value
  276. }else{
  277. this.jinshi[i].is_check = false
  278. this.jinshi[i].check = 0
  279. this.jinshi_val = 0
  280. }
  281. }else{
  282. this.jinshi[i].is_check = false
  283. this.jinshi[i].check = 0
  284. }
  285. }
  286. },
  287. xizaoclick(e,item){
  288. for(let i=0;i<this.xizao.length;i++){
  289. if(this.xizao[i].value==item.value){
  290. if(this.xizao[i].check==0){
  291. this.xizao[i].is_check = true
  292. this.xizao[i].check = 1
  293. this.xizao_val = item.value
  294. }else{
  295. this.xizao[i].is_check = false
  296. this.xizao[i].check = 0
  297. this.xizao_val = 0
  298. }
  299. }else{
  300. this.xizao[i].is_check = false
  301. this.xizao[i].check = 0
  302. }
  303. }
  304. },
  305. xiushiclick(e,item){
  306. for(let i=0;i<this.xiushi.length;i++){
  307. if(this.xiushi[i].value==item.value){
  308. if(this.xiushi[i].check==0){
  309. this.xiushi[i].is_check = true
  310. this.xiushi[i].check = 1
  311. this.xiushi_val = item.value
  312. }else{
  313. this.xiushi[i].is_check = false
  314. this.xiushi[i].check = 0
  315. this.xiushi_val = 0
  316. }
  317. }else{
  318. this.xiushi[i].is_check = false
  319. this.xiushi[i].check = 0
  320. }
  321. }
  322. },
  323. chuanyiclick(e,item){
  324. for(let i=0;i<this.chuanyi.length;i++){
  325. if(this.chuanyi[i].value==item.value){
  326. if(this.chuanyi[i].check==0){
  327. this.chuanyi[i].is_check = true
  328. this.chuanyi[i].check = 1
  329. this.chuanyi_val = item.value
  330. }else{
  331. this.chuanyi[i].is_check = false
  332. this.chuanyi[i].check = 0
  333. this.chuanyi_val = 0
  334. }
  335. }else{
  336. this.chuanyi[i].is_check = false
  337. this.chuanyi[i].check = 0
  338. }
  339. }
  340. },
  341. dabianclick(e,item){
  342. for(let i=0;i<this.dabian.length;i++){
  343. if(this.dabian[i].value==item.value){
  344. if(this.dabian[i].check==0){
  345. this.dabian[i].is_check = true
  346. this.dabian[i].check = 1
  347. this.dabian_val = item.value
  348. }else{
  349. this.dabian[i].is_check = false
  350. this.dabian[i].check = 0
  351. this.dabian_val = 0
  352. }
  353. }else{
  354. this.dabian[i].is_check = false
  355. this.dabian[i].check = 0
  356. }
  357. }
  358. },
  359. xiaobianclick(e,item){
  360. for(let i=0;i<this.xioabian.length;i++){
  361. if(this.xioabian[i].value==item.value){
  362. if(this.xioabian[i].check==0){
  363. this.xioabian[i].is_check = true
  364. this.xioabian[i].check = 1
  365. this.xiaobian_val = item.value
  366. }else{
  367. this.xioabian[i].is_check = false
  368. this.xioabian[i].check = 0
  369. this.xiaobian_val = 0
  370. }
  371. }else{
  372. this.xioabian[i].is_check = false
  373. this.xioabian[i].check = 0
  374. }
  375. }
  376. },
  377. ruceclick(e,item){
  378. for(let i=0;i<this.ruce.length;i++){
  379. if(this.ruce[i].value==item.value){
  380. if(this.ruce[i].check==0){
  381. this.ruce[i].is_check = true
  382. this.ruce[i].check = 1
  383. this.ruce_val = item.value
  384. }else{
  385. this.ruce[i].is_check = false
  386. this.ruce[i].check = 0
  387. this.ruce_val = 0
  388. }
  389. }else{
  390. this.ruce[i].is_check = false
  391. this.ruce[i].check = 0
  392. }
  393. }
  394. },
  395. chuangyiclick(e,item){
  396. for(let i=0;i<this.chuangyi.length;i++){
  397. if(this.chuangyi[i].value==item.value){
  398. if(this.chuangyi[i].check==0){
  399. this.chuangyi[i].is_check = true
  400. this.chuangyi[i].check = 1
  401. this.chuangyi_val = item.value
  402. }else{
  403. this.chuangyi[i].is_check = false
  404. this.chuangyi[i].check = 0
  405. this.chuangyi_val = 0
  406. }
  407. }else{
  408. this.chuangyi[i].is_check = false
  409. this.chuangyi[i].check = 0
  410. }
  411. }
  412. },
  413. pingdiclick(e,item){
  414. for(let i=0;i<this.pingdi.length;i++){
  415. if(this.pingdi[i].value==item.value){
  416. if(this.pingdi[i].check==0){
  417. this.pingdi[i].is_check = true
  418. this.pingdi[i].check = 1
  419. this.paingdi_val = item.value
  420. }else{
  421. this.pingdi[i].is_check = false
  422. this.pingdi[i].check = 0
  423. this.paingdi_val = 0
  424. }
  425. }else{
  426. this.pingdi[i].is_check = false
  427. this.pingdi[i].check = 0
  428. }
  429. }
  430. },
  431. louticlick(e,item){
  432. for(let i=0;i<this.louti.length;i++){
  433. if(this.louti[i].value==item.value){
  434. if(this.louti[i].check==0){
  435. this.louti[i].is_check = true
  436. this.louti[i].check = 1
  437. this.louti_val = item.value
  438. }else{
  439. this.louti[i].is_check = false
  440. this.louti[i].check = 0
  441. this.louti_val = 0
  442. }
  443. }else{
  444. this.louti[i].is_check = false
  445. this.louti[i].check = 0
  446. }
  447. }
  448. },
  449. // 确认
  450. lifeclick(){
  451. var params={
  452. jinshi:this.jinshi,
  453. xizao:this.xizao,
  454. xiushi:this.xiushi,
  455. chuanyi:this.chuanyi,
  456. dabian:this.dabian,
  457. xioabian:this.xioabian,
  458. ruce:this.ruce,
  459. chuangyi:this.chuangyi,
  460. pingdi:this.pingdi,
  461. louti:this.louti,
  462. patientID:this.patientID,
  463. appraiser:this.appraiser,//评估人
  464. optionsarr:this.optionsarr,//评估人数组
  465. date:this.date,
  466. date_Totalpoints:this.date_Totalpoints
  467. }
  468. console.log('2222222',params);
  469. },
  470. // 转换时间
  471. getTime(val) {
  472. if(val < 0){
  473. return ""
  474. }
  475. if(val == ""){
  476. return ""
  477. }else {
  478. return uParseTime(val, '{y}-{m}-{d}')
  479. }
  480. },
  481. datehistory(){
  482. this.$router.push({path: '/patients/date_history'})
  483. },
  484. },
  485. computed:{
  486. date_Totalpoints(){
  487. return this.jinshi_val + this.xizao_val + this.xiushi_val + this.chuanyi_val + this.dabian_val + this.xiaobian_val +
  488. this.ruce_val + this.chuangyi_val + this.paingdi_val + this.louti_val
  489. }
  490. }
  491. }
  492. </script>
  493. <style lang="scss" scoped>
  494. .content_top{
  495. display: flex;
  496. justify-content: space-between;
  497. }
  498. .table{
  499. border: 1px solid #DCDFE6;
  500. border-collapse:collapse;
  501. border-spacing: 0;
  502. thead th{
  503. background: #0077ff9f;
  504. color: white;
  505. text-align: center;
  506. height: 40px;
  507. }
  508. tbody td{
  509. height: 40px;
  510. }
  511. .start{
  512. text-align: center;
  513. }
  514. .bing{
  515. width: 150px;
  516. text-align: center;
  517. }
  518. .bg_color{
  519. background: rgb(243, 240, 240);
  520. }
  521. .jiange{
  522. margin-left: 20px;
  523. color: black;
  524. }
  525. input{
  526. -webkit-appearance: checkbox;
  527. }
  528. }
  529. .bottoms{
  530. display: inline-block;
  531. margin-left: 10px;
  532. margin-top: 5px;
  533. }
  534. .shuoming p{
  535. margin-top: 5px;
  536. color: rgb(167, 165, 165);
  537. }
  538. </style>