20260125

昨天晚上和今天晚上把问答写完了,明天再写报告页面就完成了

之所以这次的Ability.Mapper写了点,可能是脑子抽了,前端用四个axios一起发送请求时,后端用的都是统一更新会出现数据覆盖,排了半天错才发现原因,所以改用最后只修改单个值,不统一更新整行了

果然有的错只有犯了才会印象深刻,有时候自己感觉理所当然的事情却是错的

依旧是代码展示环节

AbilityController

 1 package com.backtest.controller;
 2 
 3 import com.backtest.entity.Ability;
 4 import com.backtest.service.AbilityService;
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.web.bind.annotation.*;
 7 
 8 @RestController
 9 @CrossOrigin
10 public class AbilityController {
11     @Autowired
12     private AbilityService abilityService;
13 
14     @PostMapping("/ability/addAbility")
15     public String addAbility(@RequestParam String id){
16         return abilityService.addAbility(id);
17     }
18 
19     @PostMapping("/ability/updateActivityOfDailyLiving")
20     public String updateActivityOfDailyLiving(@RequestParam String id,@RequestParam int activityOfDailyLiving,@RequestParam int activityOfDailyLivingScore){
21         return abilityService.updateActivityOfDailyLiving(id,activityOfDailyLiving,activityOfDailyLivingScore);
22     }
23 
24     @PostMapping("/ability/updateMentalStatus")
25     public String updateMentalStatus(@RequestParam String id,@RequestParam int mentalStatus,@RequestParam int mentalStatusScore){
26         return abilityService.updateMentalStatus(id,mentalStatus,mentalStatusScore);
27     }
28 
29     @PostMapping("/ability/updateSensoryAndCommunication")
30     public String updateSensoryAndCommunication(@RequestParam String id,@RequestParam int sensoryAndCommunication,int sensoryAndCommunicationScore){
31         return abilityService.updateSensoryAndCommunication( id,sensoryAndCommunication,sensoryAndCommunicationScore);
32     }
33 
34     @PostMapping("/ability/updateSocialInvolvement")
35     public String updateSocialInvolvement(@RequestParam String id,@RequestParam int socialInvolvement,@RequestParam int socialInvolvementScore){
36         return abilityService.updateSocialInvolvement(id,socialInvolvement,socialInvolvementScore);
37     }
38 
39     @PostMapping("/ability/updateInitialScore")
40     public String updateInitialScore(@RequestParam String id){
41         return abilityService.updateInitialScore(id);
42     }
43 
44     @PostMapping("/ability/updateFinalScore")
45     public String updateFinalScore(@RequestParam String id){
46         return abilityService.updateFinalScore(id);
47     }
48 
49     @PostMapping("/ability/updateDate")
50     public String updateDate(@RequestParam String id){
51         return abilityService.updateDate(id);
52     }
53 }

AbilityService

  1 package com.backtest.service;
  2 
  3 import com.backtest.entity.Ability;
  4 import com.backtest.mapper.AbilityMapper;
  5 import org.springframework.beans.factory.annotation.Autowired;
  6 import org.springframework.stereotype.Service;
  7 
  8 import java.time.LocalDate;
  9 import java.time.format.DateTimeFormatter;
 10 
 11 @Service
 12 public class AbilityService {
 13     @Autowired
 14     private AbilityMapper abilityMapper;
 15 
 16     public String addAbility(String id){
 17         Ability ability = new Ability();
 18         ability.setId(id);
 19         abilityMapper.insert(ability);
 20         return "0";
 21     }
 22 
 23     public String updateActivityOfDailyLiving(String id,int activityOfDailyLiving,int activityOfDailyLivingScore){
 24         Ability ability = abilityMapper.selectById(id);
 25         if(ability!=null){
 26             ability.setActivityOfDailyLiving(activityOfDailyLiving);
 27             ability.setActivityOfDailyLivingScore(activityOfDailyLivingScore);
 28             abilityMapper.updateById(ability);
 29             return "0";
 30         }else
 31             return "1";
 32     }
 33 
 34     public String updateMentalStatus(String id,int mentalStatus,int mentalStatusScore){
 35         Ability ability = abilityMapper.selectById(id);
 36         if(ability!=null){
 37             ability.setMentalStatus(mentalStatus);
 38             ability.setMentalStatusScore(mentalStatusScore);
 39             abilityMapper.updateById(ability);
 40             return "0";
 41         }else
 42             return "1";
 43     }
 44 
 45     public String updateSensoryAndCommunication(String id,int sensoryAndCommunication,int sensoryAndCommunicationScore){
 46         Ability ability = abilityMapper.selectById(id);
 47         if(ability!=null){
 48             ability.setSensoryAndCommunication(sensoryAndCommunication);
 49             ability.setSensoryAndCommunicationScore(sensoryAndCommunicationScore);
 50             abilityMapper.updateById(ability);
 51             return "0";
 52         }else
 53             return "1";
 54     }
 55     public String updateSocialInvolvement(String id,int socialInvolvement,int SocialInvolvementScore){
 56         Ability ability = abilityMapper.selectById(id);
 57         if(ability!=null){
 58             ability.setSocialInvolvement(socialInvolvement);
 59             ability.setSocialInvolvementScore(SocialInvolvementScore);
 60             abilityMapper.updateSocialInvolvementById(ability);
 61             return "0";
 62         }else
 63             return "1";
 64     }
 65 
 66     public String updateInitialScore(String id){
 67         Ability ability = abilityMapper.selectById(id);
 68         if(ability!=null){
 69             int n=ability.getActivityOfDailyLiving();
 70             int a=ability.getMentalStatus();
 71             int b=ability.getSensoryAndCommunication();
 72             int c=ability.getSocialInvolvement();
 73             if(n==0&&a==0&&b==0&&(c==0||c==1))
 74                 ability.setInitialScore(0);
 75             else if(n==0&&(a==1||a==2||a==3)&&(b==1||b==2||b==3)&&(c==2||c==3))
 76                 ability.setInitialScore(1);
 77             else if(n==1&&(a==0||a==1)&&(b==0||b==1)&&(c==0||c==1))
 78                 ability.setInitialScore(1);
 79             else if(n==1&&(a==2||a==3)&&(b==2||b==3)&&(c==2||c==3))
 80                 ability.setInitialScore(2);
 81             else if(n==2&&(a==0||a==1||a==2)&&(b==0||b==1||b==2)&&(c==0||c==1||c==2))
 82                 ability.setInitialScore(2);
 83             else
 84                 ability.setInitialScore(3);
 85             abilityMapper.updateInitialScoreById(ability);
 86             return "0";
 87         }else
 88             return "1";
 89     }
 90 
 91     public String updateFinalScore(String id){
 92         Ability ability = abilityMapper.selectById(id);
 93         if(ability!=null){
 94             int n=ability.getActivityOfDailyLiving();
 95             int a=ability.getMentalStatus();
 96             int b=ability.getSensoryAndCommunication();
 97             int c=ability.getSocialInvolvement();
 98             if(n==0&&((a>=1||b>=1)||(c==2)))
 99                 ability.setFinalScore(1);
100             else if(n==1&&(a<=1||b<=1||c<=1))
101                 ability.setFinalScore(1);
102             else if(n==1&&((a==2&&b==2&&c==2)||(a==3||b==3||c==3)))
103                 ability.setFinalScore(2);
104             else if(n==2){
105                 if((a==2)&&(b==2)&&(c==2)||(a==3||b==3||c==3))
106                     ability.setFinalScore(3);
107                 else
108                     ability.setFinalScore(2);
109             }else
110                 ability.setFinalScore(ability.getInitialScore());
111             abilityMapper.updateFinalScoreById(ability);
112             return "0";
113         }else
114             return "1";
115     }
116 
117     public String updateDate(String id){
118         Ability ability = abilityMapper.selectById(id);
119         if(ability!=null){
120             LocalDate now = LocalDate.now();
121             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
122             String dateStr = now.format(formatter);
123             ability.setDate(dateStr);
124             abilityMapper.updateDateById(ability);
125             return "0";
126         }else
127             return "1";
128     }
129 }

AbilityMapper

 1 package com.backtest.mapper;
 2 
 3 import com.backtest.entity.Ability;
 4 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 5 import org.apache.ibatis.annotations.Mapper;
 6 import org.apache.ibatis.annotations.Param;
 7 import org.apache.ibatis.annotations.Update;
 8 
 9 @Mapper
10 public interface AbilityMapper extends BaseMapper<Ability> {
11 
12     @Update("UPDATE abilities SET socialInvolvement = #{ability.socialInvolvement},socialInvolvementScore = #{ability.socialInvolvementScore} WHERE id = #{ability.id} ")
13     int updateSocialInvolvementById(@Param("ability") Ability ability);
14 
15     @Update("UPDATE abilities SET initialScore = #{ability.initialScore} WHERE id = #{ability.id}")
16     int updateInitialScoreById(@Param("ability") Ability ability);
17 
18     @Update("UPDATE abilities SET finalScore = #{ability.finalScore} WHERE id = #{ability.id}")
19     int updateFinalScoreById(@Param("ability") Ability ability);
20 
21     @Update("UPDATE abilities SET date = #{ability.date} WHERE id = #{ability.id}")
22     int updateDateById(@Param("ability") Ability ability);
23 }

然后是前端

我自己感觉前端代码写的很差,主要是感觉太冗杂了

而且测试题的部分应该分成四页写的,图省事一股脑一页写完了

这就是这页

test.vue

  1 <template>
  2   <div id="test1" v-if="showTest[0]">
  3     <div>日常生活活动评估测试</div>
  4     <hr>
  5     <table>
  6       <tbody>
  7         <tr>
  8           <td>1.1</td>
  9           <td>进食: 指用餐具将食物由容器送到口中、咀嚼、吞咽等过程</td>
 10         </tr>
 11         <tr>
 12           <td><input type="radio" name="1.1" value="10"></td>
 13           <td><label>可独立进食(在合理的时间内独立进食准备好的食物)</label></td>
 14         </tr>
 15         <tr>
 16           <td><input type="radio" name="1.1" value="5"></td>
 17           <td><label> 需部分帮助(进食过程中需要一定帮助,如协助把持餐具)</label></td>
 18         </tr>
 19         <tr>
 20           <td><input type="radio" name="1.1" value="0"></td>
 21           <td><label>需极大帮助或完全依赖他人,或有留置营养管 </label></td>
 22         </tr>
 23       </tbody>
 24     </table>
 25     <hr>
 26     <table>
 27       <tbody>
 28         <tr>
 29           <td>1.2</td>
 30           <td>洗澡 </td>
 31         </tr>
 32         <tr>
 33           <td><input type="radio" name="1.2" value="5"></td>
 34           <td><label> 准备好洗澡水后,可自己独立完成洗澡过程</label></td>
 35         </tr>
 36         <tr>
 37           <td><input type="radio" name="1.2" value="0"></td>
 38           <td><label>在洗澡过程中需他人帮助 </label></td>
 39         </tr>
 40       </tbody>
 41     </table>
 42     <hr>
 43     <table>
 44       <tbody>
 45         <tr>
 46           <td>1.3</td>
 47           <td>修饰: 指洗脸、刷牙、梳头、刮脸等 </td>
 48         </tr>
 49         <tr>
 50           <td><input type="radio" name="1.3" value="5"></td>
 51           <td><label>可自己独立完成</label></td>
 52         </tr>
 53         <tr>
 54           <td><input type="radio" name="1.3" value="0"></td>
 55           <td><label>需他人帮助</label></td>
 56         </tr>
 57       </tbody>
 58     </table>
 59     <hr>
 60     <table>
 61       <tbody>
 62         <tr>
 63           <td>1.4</td>
 64           <td>穿衣: 指穿脱衣服、系扣、拉拉链、穿脱鞋袜、系鞋带</td>
 65         </tr>
 66         <tr>
 67           <td><input type="radio" name="1.4" value="10"></td>
 68           <td><label>可独立完成 </label></td>
 69         </tr>
 70         <tr>
 71           <td><input type="radio" name="1.4" value="5"></td>
 72           <td><label> 需部分帮助(能自己穿脱,但需他人帮助整理衣物、系扣/鞋带、拉拉链) </label></td>
 73         </tr>
 74         <tr>
 75           <td><input type="radio" name="1.4" value="0"></td>
 76           <td><label>需极大帮助或完全依赖他人</label></td>
 77         </tr>
 78       </tbody>
 79     </table>
 80     <hr>
 81     <table>
 82       <tbody>
 83         <tr>
 84           <td>1.5</td>
 85           <td>大便控制</td>
 86         </tr>
 87         <tr>
 88           <td><input type="radio" name="1.5" value="10"></td>
 89           <td><label>可控制大便</label></td>
 90         </tr>
 91         <tr>
 92           <td><input type="radio" name="1.5" value="5"></td>
 93           <td><label>偶尔失控(每周 &lt; 1次),或需要他人提示</label></td>
 94         </tr>
 95         <tr>
 96           <td><input type="radio" name="1.5" value="0"></td>
 97           <td><label>完全失控</label></td>
 98         </tr>
 99       </tbody>
100     </table>
101     <hr>
102     <table>
103       <tbody>
104         <tr>
105           <td>1.6</td>
106           <td>小便控制</td>
107         </tr>
108         <tr>
109           <td><input type="radio" name="1.6" value="10"></td>
110           <td><label>可控制小便</label></td>
111         </tr>
112         <tr>
113           <td><input type="radio" name="1.6" value="5"></td>
114           <td><label>偶尔失控(每天&lt;1次,但每周&gt;1次),或需要他人提示</label></td>
115         </tr>
116         <tr>
117           <td><input type="radio" name="1.6" value="0"></td>
118           <td><label>完全失控,或留置导尿管 </label></td>
119         </tr>
120       </tbody>
121     </table>
122     <hr>
123     <table>
124       <tbody>
125         <tr>
126           <td>1.7</td>
127           <td>如厕: 包括去厕所、解开衣裤、擦净、整理衣裤、冲水</td>
128         </tr>
129         <tr>
130           <td><input type="radio" name="1.7" value="10"></td>
131           <td><label>可独立完成 </label></td>
132         </tr>
133         <tr>
134           <td><input type="radio" name="1.7" value="5"></td>
135           <td><label>需部分帮助(需他人搀扶去厕所、需他人帮忙冲水或整理衣裤等)</label></td>
136         </tr>
137         <tr>
138           <td><input type="radio" name="1.7" value="0"></td>
139           <td><label>需极大帮助或完全依赖他人</label></td>
140         </tr>
141       </tbody>
142     </table>
143     <hr>
144     <table>
145       <tbody>
146         <tr>
147           <td>1.8</td>
148           <td>床椅转移 </td>
149         </tr>
150         <tr>
151           <td><input type="radio" name="1.8" value="15"></td>
152           <td><label>可独立完成</label></td>
153         </tr>
154         <tr>
155           <td><input type="radio" name="1.8" value="10"></td>
156           <td><label>需部分帮助(需他人搀扶或使用拐杖) </label></td>
157         </tr>
158         <tr>
159           <td><input type="radio" name="1.8" value="5"></td>
160           <td><label>需极大帮助(较大程度上依赖他人搀扶和帮助) </label></td>
161         </tr>
162         <tr>
163           <td><input type="radio" name="1.8" value="0"></td>
164           <td><label>完全依赖他人</label></td>
165         </tr>
166       </tbody>
167     </table>
168     <hr>
169     <table>
170       <tbody>
171         <tr>
172           <td>1.9</td>
173           <td>平地行走 </td>
174         </tr>
175         <tr>
176           <td><input type="radio" name="1.9" value="15"></td>
177           <td><label>可独立在平地上行走45m</label></td>
178         </tr>
179         <tr>
180           <td><input type="radio" name="1.9" value="10"></td>
181           <td><label>需部分帮助(因肢体残疾、平衡能力差、过度衰弱、视力等问题,在一定程度上需他人地搀扶或使用拐杖、助行器等辅助用具)</label></td>
182         </tr>
183         <tr>
184           <td><input type="radio" name="1.9" value="5"></td>
185           <td><label> 需极大帮助(因肢体残疾、平衡能力差、过度衰弱、视力等问题,在较大程度上依赖他人搀扶,或坐在轮椅上自行移动)</label></td>
186         </tr>
187         <tr>
188           <td><input type="radio" name="1.9" value="0"></td>
189           <td><label>完全依赖他人</label></td>
190         </tr>
191       </tbody>
192     </table>
193     <hr>
194     <table>
195       <tbody>
196         <tr>
197           <td>1.10</td>
198           <td>上下楼梯</td>
199         </tr>
200         <tr>
201           <td><input type="radio" name="1.10" value="10"></td>
202           <td><label>可独立上下楼梯(连续上下10-15个台阶)</label></td>
203         </tr>
204         <tr>
205           <td><input type="radio" name="1.10" value="5"></td>
206           <td><label>需部分帮助(需他人搀扶,或扶着楼梯、使用拐杖等)</label></td>
207         </tr>
208         <tr>
209           <td><input type="radio" name="1.10" value="0"></td>
210           <td><label>需极大帮助或完全依赖他人</label></td>
211         </tr>
212       </tbody>
213     </table>
214     <hr>
215     <div>
216       “下面这三样东西,请记住,下一页开头会再问”:苹果、手表、国旗
217     </div>
218     <hr>
219     <button @click="submit1">提交</button>
220   </div>
221   <div id="test2" v-if="showTest[1]">
222     <div>精神状态评估测试</div>
223     <hr>
224     <table>
225       <tbody>
226         <tr>
227           <td>2.1</td>
228           <td>认知功能</td>
229         </tr>
230         <tr><td></td><td>回忆词语:“现在请您告诉我,刚才我要您记住的三样东西是什么?”(不必按顺序)</td></tr>
231         <tr><td></td><td><input type="text" name="2.1"></td></tr>
232         <tr><td></td><td><input type="text" name="2.1"></td></tr>
233         <tr><td></td><td><input type="text" name="2.1"></td></tr>
234       </tbody>
235     </table>
236     <hr>
237     <table>
238       <tbody>
239         <tr>
240           <td>2.2</td>
241           <td>攻击行为 </td>
242         </tr>
243         <tr>
244           <td><input type="radio" name="2.2" value="0"></td>
245           <td><label>无身体攻击行为(如打/踢/推/咬/抓/摔东西)和语言攻击行为(如骂人、语言威胁、尖叫)</label></td>
246         </tr>
247         <tr>
248           <td><input type="radio" name="2.2" value="1"></td>
249           <td><label>每月有几次身体攻击行为,或每周有几次语言攻击行为</label></td>
250         </tr>
251         <tr>
252           <td><input type="radio" name="2.2" value="2"></td>
253           <td><label>每周有几次身体攻击行为,或每日有语言攻击行为 </label></td>
254         </tr>
255       </tbody>
256     </table>
257     <hr>
258     <table>
259       <tbody>
260         <tr>
261           <td>2.3</td>
262           <td>抑郁症状</td>
263         </tr>
264         <tr>
265           <td><input type="radio" name="2.3" value="0"></td>
266           <td><label>无</label></td>
267         </tr>
268         <tr>
269           <td><input type="radio" name="2.3" value="1"></td>
270           <td><label>情绪低落、不爱说话、不爱梳洗、不爱活动</label></td>
271         </tr>
272         <tr>
273           <td><input type="radio" name="2.3" value="2"></td>
274           <td><label>有自杀念头或自杀行为</label></td>
275         </tr>
276       </tbody>
277     </table>
278     <hr>
279     <button @click="submit2">提交</button>
280   </div>
281   <div id="test3" v-if="showTest[2]">
282     <div>感知觉与沟通评估测试</div>
283     <hr>
284     <table>
285       <tbody>
286         <tr>
287           <td>3.1</td>
288           <td>意识水平</td>
289         </tr>
290         <tr>
291           <td><input type="radio" name="3.1" value="0"></td>
292           <td><label>神志清醒,对周围环境警觉</label></td>
293         </tr>
294         <tr>
295           <td><input type="radio" name="3.1" value="1"></td>
296           <td><label>嗜睡,表现为睡眠状态过度延长。当呼唤或推动其肢体时可唤醒,并能进行正确的交谈或执行指令,停止刺激后又继续入睡</label></td>
297         </tr>
298         <tr>
299           <td><input type="radio" name="3.1" value="2"></td>
300           <td><label>昏睡,一般的外界刺激不能使其觉醒,给予较强烈的刺激时可有短时的意识清醒,醒后可简短回答提问,当刺激减弱后又很快进入睡眠状态</label></td>
301         </tr>
302         <tr>
303           <td><input type="radio" name="3.1" value="3"></td>
304           <td><label>昏迷,处于浅昏迷时对疼痛刺激有回避和痛苦表情;处于深昏迷时对刺激无反应(若评定为昏迷,直接评定为重度失能,可不进行以下项目的评估</label></td>
305         </tr>
306       </tbody>
307     </table>
308     <hr>
309     <table>
310       <tbody>
311         <tr>
312           <td>3.2</td>
313           <td>视力: 若平日带老花镜或近视镜,应在佩戴眼镜的情况下评估</td>
314         </tr>
315         <tr>
316           <td><input type="radio" name="3.2" value="0"></td>
317           <td><label>能看清书报上的标准字体 </label></td>
318         </tr>
319         <tr>
320           <td><input type="radio" name="3.2" value="1"></td>
321           <td><label>能看清楚大字体,但看不清书报上的标准字体</label></td>
322         </tr>
323         <tr>
324           <td><input type="radio" name="3.2" value="2"></td>
325           <td><label>视力有限,看不清报纸大标题,但能辨认物体</label></td>
326         </tr>
327         <tr>
328           <td><input type="radio" name="3.2" value="3"></td>
329           <td><label>辨认物体有困难,但眼睛能跟随物体移动,只能看到光、颜色和形状 </label></td>
330         </tr>
331         <tr>
332           <td><input type="radio" name="3.2" value="4"></td>
333           <td><label>没有视力,眼睛不能跟随物体移动</label></td>
334         </tr>
335       </tbody>
336     </table>
337     <hr>
338     <table>
339       <tbody>
340         <tr>
341           <td>3.3</td>
342           <td>听力: 若平时佩戴助听器,应在佩戴助听器的情况下评估 </td>
343         </tr>
344         <tr>
345           <td><input type="radio" name="3.3" value="0"></td>
346           <td><label>可正常交谈,能听到电视、电话、门铃的声音</label></td>
347         </tr>
348         <tr>
349           <td><input type="radio" name="3.3" value="1"></td>
350           <td><label>在轻声说话或说话距离超过2米时听不清</label></td>
351         </tr>
352         <tr>
353           <td><input type="radio" name="3.3" value="2"></td>
354           <td><label>正常交流有些困难,需在安静的环静或大声说话才能听到</label></td>
355         </tr>
356         <tr>
357           <td><input type="radio" name="3.3" value="3"></td>
358           <td><label>讲话者大声说话或说话很慢,才能部分听见</label></td>
359         </tr>
360         <tr>
361           <td><input type="radio" name="3.3" value="4"></td>
362           <td><label>完全听不见</label></td>
363         </tr>
364       </tbody>
365     </table>
366     <hr>
367     <table>
368       <tbody>
369         <tr>
370           <td>3.4</td>
371           <td>沟通交流: 包括非语言沟通 </td>
372         </tr>
373         <tr>
374           <td><input type="radio" name="3.4" value="0"></td>
375           <td><label>无困难,能与他人正常沟通和交流</label></td>
376         </tr>
377         <tr>
378           <td><input type="radio" name="3.4" value="1"></td>
379           <td><label>能够表达自己的需要及理解别人的话,但需要增加时间或给予帮助</label></td>
380         </tr>
381         <tr>
382           <td><input type="radio" name="3.4" value="2"></td>
383           <td><label>表达需要或理解有困难,需频繁重复或简化口头表达</label></td>
384         </tr>
385         <tr>
386           <td><input type="radio" name="3.4" value="3"></td>
387           <td><label>不能表达需要或理解他人的话</label></td>
388         </tr>
389       </tbody>
390     </table>
391     <hr>
392     <button @click="submit3">提交</button>
393   </div>
394   <div id="test4" v-if="showTest[3]">
395     <div>社会参与评估测试</div>
396     <hr>
397     <table>
398       <tbody>
399         <tr>
400           <td>4.1</td>
401           <td>生活能力</td>
402         </tr>
403         <tr>
404           <td><input type="radio" name="4.1" value="0"></td>
405           <td><label>除个人生活自理外(如饮食、洗漱、穿戴、二便),能料理家务(如做饭、洗衣)或当家管理事务</label></td>
406         </tr>
407         <tr>
408           <td><input type="radio" name="4.1" value="1"></td>
409           <td><label>除个人生活自理外,能做家务,但欠好,家庭事务安排欠条理</label></td>
410         </tr>
411         <tr>
412           <td><input type="radio" name="4.1" value="2"></td>
413           <td><label>个人生活能自理;只有在他人帮助下才能做些家务,但质量不好</label></td>
414         </tr>
415         <tr>
416           <td><input type="radio" name="4.1" value="3"></td>
417           <td><label>个人基本生活事务能自理(如饮食、二便),在督促下可洗漱</label></td>
418         </tr>
419         <tr>
420           <td><input type="radio" name="4.1" value="4"></td>
421           <td><label>个人基本生活事务(如饮食、二便)需要部分帮助或完全依赖他人帮助</label></td>
422         </tr>
423       </tbody>
424     </table>
425     <hr>
426     <table>
427       <tbody>
428         <tr>
429           <td>4.2</td>
430           <td>工作能力</td>
431         </tr>
432         <tr>
433           <td><input type="radio" name="4.2" value="0"></td>
434           <td><label>原来熟练的脑力工作或体力技巧性工作可照常进行</label></td>
435         </tr>
436         <tr>
437           <td><input type="radio" name="4.2" value="1"></td>
438           <td><label>原来熟练的脑力工作或体力技巧性工作能力有所下降</label></td>
439         </tr>
440         <tr>
441           <td><input type="radio" name="4.2" value="2"></td>
442           <td><label>原来熟练的脑力工作或体力技巧性工作明显不如以往,部分遗忘</label></td>
443         </tr>
444         <tr>
445           <td><input type="radio" name="4.2" value="3"></td>
446           <td><label>对熟练工作只有一些片段保留,技能全部遗忘</label></td>
447         </tr>
448         <tr>
449           <td><input type="radio" name="4.2" value="4"></td>
450           <td><label>对以往的知识或技能全部磨灭</label></td>
451         </tr>
452       </tbody>
453     </table>
454     <hr>
455     <table>
456       <tbody>
457         <tr>
458           <td>4.3</td>
459           <td>时间/空间定向</td>
460         </tr>
461         <tr>
462           <td><input type="radio" name="4.3" value="0"></td>
463           <td><label>时间观念(年、月、日、时)清楚;可单独出远门,能很快掌握新环境的方位</label></td>
464         </tr>
465         <tr>
466           <td><input type="radio" name="4.3" value="1"></td>
467           <td><label>,时间观念有些下降,年、月、日清楚,但有时相差几天;可单独来往于近街,知道现住地的名称和方位,但不知回家路线</label></td>
468         </tr>
469         <tr>
470           <td><input type="radio" name="4.3" value="2"></td>
471           <td><label>时间观念较差,年、月、日不清楚,可知上半年或下半年;只能单独在家附近行动,对现住地只知名称,不知道方位</label></td>
472         </tr>
473         <tr>
474           <td><input type="radio" name="4.3" value="3"></td>
475           <td><label>时间观念很差,年、月、日不清楚,可知上午或下午;只能在左邻右舍间串门,对现住地不知名称和方位 </label></td>
476         </tr>
477         <tr>
478           <td><input type="radio" name="4.3" value="4"></td>
479           <td><label>无时间观念;不能单独外出</label></td>
480         </tr>
481       </tbody>
482     </table>
483     <hr>
484     <table>
485       <tbody>
486         <tr>
487           <td>4.4</td>
488           <td>人物定向</td>
489         </tr>
490         <tr>
491           <td><input type="radio" name="4.4" value="0"></td>
492           <td><label>知道周围人们的关系,知道祖孙、叔伯、姑姨、侄子侄女等称谓的意义;可分辨陌生人的大致年龄和身份,可用适当称呼</label></td>
493         </tr>
494         <tr>
495           <td><input type="radio" name="4.4" value="1"></td>
496           <td><label>只知家中亲密近亲的关系,不会分辨陌生人的大致年龄,不能称呼陌生人</label></td>
497         </tr>
498         <tr>
499           <td><input type="radio" name="4.4" value="2"></td>
500           <td><label>只能称呼家中人,或只能照样称呼,不知其关系,不辨辈分</label></td>
501         </tr>
502         <tr>
503           <td><input type="radio" name="4.4" value="3"></td>
504           <td><label>只认识常同住的亲人,可称呼子女或孙子女,可辨熟人和生人</label></td>
505         </tr>
506         <tr>
507           <td><input type="radio" name="4.4" value="4"></td>
508           <td><label>只认识保护人,不辨熟人和生人</label></td>
509         </tr>
510       </tbody>
511     </table>
512     <hr>
513     <table>
514       <tbody>
515         <tr>
516           <td>4.5</td>
517           <td>社会交往能力</td>
518         </tr>
519         <tr>
520           <td><input type="radio" name="4.5" value="0"></td>
521           <td><label>参与社会,在社会环境有一定的适应能力,待人接物恰当</label></td>
522         </tr>
523         <tr>
524           <td><input type="radio" name="4.5" value="1"></td>
525           <td><label>能适应单纯环境,主动接触人,初见面时难让人发现智力问题,不能理解隐喻语</label></td>
526         </tr>
527         <tr>
528           <td><input type="radio" name="4.5" value="2"></td>
529           <td><label>脱离社会,可被动接触,不会主动待人,谈话中很多不适词句,容易上当受骗</label></td>
530         </tr>
531         <tr>
532           <td><input type="radio" name="4.5" value="3"></td>
533           <td><label>勉强可与人交往,谈吐内容不清楚,表情不恰当</label></td>
534         </tr>
535         <tr>
536           <td><input type="radio" name="4.5" value="4"></td>
537           <td><label>难以与人接触</label></td>
538         </tr>
539       </tbody>
540     </table>
541     <hr>
542     <button @click="submit4">提交</button>
543   </div>
544   <hr>
545   <router-link to="/home">返回首页</router-link>
546 </template>
547 <script>
548 import axios from 'axios';
549 import router from '../../router'
550 import { userStore } from '../../store/user';
551 export default {
552   data(){
553     return {
554       user:{},
555       showTest:[],
556       test:[-1,-1,-1,-1]
557     }
558   },
559   created(){
560     this.user = userStore()
561     this.showTest = Array(4).fill(false)
562     this.showTest[0] = true
563     axios.get('http://localhost:8080/user/info', {
564       params: {
565         id: this.user.id
566       }
567     }).then(res => {
568       this.user = res.data
569       console.log(this.user)
570     })
571   },
572   methods:{
573     submit1(){
574       const test1=document.getElementById('test1')
575       let score1=0,level1=-1
576       const inputs=test1.getElementsByTagName('input')
577       Array.from(inputs).forEach((input)=>{
578         if(input.type==='radio'&&input.checked)
579           score1+=parseInt(input.value)
580       })
581       if(score1==100)
582         level1=0
583       else if(score1>=65&&score1<=95)
584         level1=1
585       else if(score1>=45&&score1<=60)
586         level1=2
587       else
588         level1=3
589 
590       axios.post('http://localhost:8080/ability/updateActivityOfDailyLiving',{},{
591         params:{
592           id: this.user.id,
593           activityOfDailyLiving: level1,
594           activityOfDailyLivingScore: score1
595         }
596       })
597 
598       this.showTest[0]=false
599       this.showTest[1]=true
600     },
601     submit2(){
602       const test2=document.getElementById('test2')
603       //回忆词语环节
604       let score2=2,level2=-1
605       let words=['苹果','手表','国旗']
606       const recallWords = test2.querySelectorAll('input[name="2.1"]')
607       if(recallWords[0].value.trim()==recallWords[1].value.trim()||
608          recallWords[0].value.trim()==recallWords[2].value.trim()||
609          recallWords[1].value.trim()==recallWords[2].value.trim()){
610         alert('回忆词语有空值或重复,请重新填写')
611         return
612       }
613       Array.from(recallWords).forEach((input)=>{
614         if(words.includes(input.value.trim())&&score2>0)
615           score2-=1
616       })
617       //计分环节
618       const inputs=test2.getElementsByTagName('input')
619       Array.from(inputs).forEach((input)=>{
620         if(input.type==='radio'&&input.checked)
621           score2+=parseInt(input.value)
622       })
623       if(score2==0)
624         level2=0
625       else if(score2==1)
626         level2=1
627       else if(score2>=2&&score2<=3)
628         level2=2
629       else
630         level2=3
631       
632       axios.post('http://localhost:8080/ability/updateMentalStatus',{},{
633         params:{
634           id: this.user.id,
635           mentalStatus: level2,
636           mentalStatusScore: score2
637         }
638       })
639 
640       this.showTest[1]=false
641       this.showTest[2]=true
642     },
643     submit3(){
644       const test3=document.getElementById('test3')
645       let score3=0,level=3
646 
647       const inputs=test3.getElementsByTagName('input')
648       Array.from(inputs).forEach((input)=>{
649         if(input.type==='radio'&&input.checked)
650           score3+=parseInt(input.value)
651       })
652       const aware=+test3.querySelector('input[name="3.1"]:checked')?.value
653       const vision=+test3.querySelector('input[name="3.2"]:checked')?.value
654       const listen=+test3.querySelector('input[name="3.3"]:checked')?.value
655       const talk=+test3.querySelector('input[name="3.4"]:checked')?.value
656       if (isNaN(aware)|| isNaN(vision)|| isNaN(listen)|| isNaN(talk)) {
657         alert('请完成所有选项');
658         return;
659       }
660       if (aware == 3) {
661         level = 3;
662       } else if (aware == 0 && vision <= 1 && listen <= 1 && talk == 0) {
663         level = 0;
664       } else if (aware == 0 && (vision == 2 || listen == 2 || talk == 1)) {
665         level = 1;
666       } else if ((aware == 0 && (vision == 3 || listen == 3 || talk == 2)) || (aware == 1 && vision <= 3 && listen <= 3 && talk <= 2)) {
667         level = 2;
668       } else {
669         level = 3;
670     }
671 
672     axios.post('http://localhost:8080/ability/updateSensoryAndCommunication',{},{
673         params:{
674           id: this.user.id,
675           sensoryAndCommunication: level,
676           sensoryAndCommunicationScore: score3
677         }
678       })
679 
680       this.showTest[2]=false
681       this.showTest[3]=true
682     },
683     submit4(){
684       const test4=document.getElementById('test4')
685       let score4=0,level4=-1
686       const inputs=test4.getElementsByTagName('input')
687       Array.from(inputs).forEach((input)=>{
688         if(input.type==='radio'&&input.checked)
689           score4+=parseInt(input.value)
690       })
691       if(score4<=2)
692         level4=0
693       else if(score4>=3&&score4<=7)
694         level4=1
695       else if(score4>=8&&score4<=13)
696         level4=2
697       else
698         level4=3
699 
700       axios.post('http://localhost:8080/ability/updateSocialInvolvement',{},{
701         params:{
702           id: this.user.id,
703           socialInvolvement: level4,
704           socialInvolvementScore: score4
705         }
706       })
707       axios.post('http://localhost:8080/ability/updateInitialScore',{},{params:{id: this.user.id}})
708       axios.post('http://localhost:8080/ability/updateFinalScore',{},{params:{id: this.user.id}})
709       axios.post('http://localhost:8080/ability/updateDate',{},{params:{id: this.user.id}})
710 
711       alert('测试完成,感谢您的参与!请前往报告页面查看结果。')
712       router.push('/home')
713     }
714   }
715 }
716 </script>
717 <style scoped>
718   table{
719     text-align: left;
720   }
721 </style>

好长好长...

posted @ 2026-01-25 21:17  Leeszz  阅读(14)  评论(0)    收藏  举报