浏览代码

Merge branch '20230223_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20230223_pc_vue_new_branch

28169 1 个月前
父节点
当前提交
f9106d6207

+ 293 - 145
src/xt_pages/user/evaluationtool/Constraintnotification.vue 查看文件

@@ -6,13 +6,13 @@
6 6
                 <div class="content_top" style="background: rgb(243, 240, 240);border: 1px solid #DCDFE6;padding: 10px;">
7 7
                     <p style="font-size: 18px;">约束告知单</p> 
8 8
                     <div>
9
-                        <el-button type="primary">确定</el-button>
9
+                        <el-button type="primary" @click="restraint_click">确定</el-button>
10 10
                     </div>
11 11
                 </div>
12 12
                 <div style="background: rgb(243, 240, 240);padding: 5px;border: 1px solid #DCDFE6;">
13 13
                     <span>
14 14
                         尊敬的患者、家属及患者的法定监护人、授权委托人:
15
-                        患者目前诊断:<el-input v-model="input" style="width:200px"></el-input>
15
+                        患者目前诊断:<el-input v-model="diagnosis_input" style="width:200px"></el-input>
16 16
                     </span>
17 17
                 </div>
18 18
                 <table class="table" border="1" style="width: 100%; padding: 5px;">
@@ -20,9 +20,9 @@
20 20
                         <td style="width: 150px; height: 40px; ">存在以下潜在风险:</td>
21 21
                         <td>
22 22
                             <div class="jiange">
23
-                                <span v-for="item in qianzai" class="rightjiange">
24
-                                    <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
25
-                                </span>
23
+                              <span v-for="item in qianzai" class="rightjiange">
24
+                                <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="qz_click(item)"/>&nbsp;{{ item.label }}</label>
25
+                              </span>
26 26
                             </div>
27 27
                         </td>
28 28
                     </tr>
@@ -40,7 +40,7 @@
40 40
                             <td>
41 41
                                 <div class="jiange">
42 42
                                     <span v-for="item in yisqingxu" class="rightjiange">
43
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
43
+                                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="ys_click(item)"/>&nbsp;{{ item.label }}</label>
44 44
                                     </span>
45 45
                                 </div>
46 46
                             </td>
@@ -50,7 +50,7 @@
50 50
                             <td>
51 51
                                 <div class="jiange">
52 52
                                     <span v-for="item in mazui" class="rightjiange">
53
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
53
+                                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="mazui_click(item)"/>&nbsp;{{ item.label }}</label>
54 54
                                     </span>
55 55
                                 </div>
56 56
                             </td>
@@ -60,7 +60,7 @@
60 60
                             <td>
61 61
                                 <div class="jiange">
62 62
                                     <span class="rightjiange">
63
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;醉酒躁动</label>
63
+                                        <label><input type="checkbox" v-model="is_check1" @click="zuijiu_click"/>&nbsp;醉酒躁动</label>
64 64
                                     </span>
65 65
                                 </div>
66 66
                             </td>
@@ -70,7 +70,7 @@
70 70
                             <td>
71 71
                                 <div class="jiange">
72 72
                                     <span v-for="item in guandao" class="rightjiange">
73
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
73
+                                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="guand_click(item)"/>&nbsp;{{ item.label }}</label>
74 74
                                     </span>
75 75
                                 </div>
76 76
                             </td>
@@ -80,7 +80,7 @@
80 80
                             <td>
81 81
                                 <div class="jiange">
82 82
                                     <span v-for="item in shangzhi" class="rightjiange">
83
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
83
+                                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="shang_click(item)"/>&nbsp;{{ item.label }}</label>
84 84
                                     </span>
85 85
                                 </div>
86 86
                             </td>
@@ -90,7 +90,7 @@
90 90
                             <td>
91 91
                                 <div class="jiange">
92 92
                                     <span v-for="item in xiazhi" class="rightjiange">
93
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
93
+                                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="xiazhi_click(item)"/>&nbsp;{{ item.label }}</label>
94 94
                                     </span>
95 95
                                 </div>
96 96
                             </td>
@@ -100,7 +100,7 @@
100 100
                             <td>
101 101
                                 <div class="jiange">
102 102
                                     <span v-for="item in pifu" class="rightjiange">
103
-                                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
103
+                                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="pifu_click(item)"/>&nbsp;{{ item.label }}</label>
104 104
                                     </span>
105 105
                                 </div>
106 106
                             </td>
@@ -111,155 +111,86 @@
111 111
                                     <div style="height: 40px; line-height: 40px;border:1px solid #DCDFE6; "><ul>
112 112
                                         <li style="list-style: disc;margin-left: 20px;">为防止无法预计的意外,需要实施保护性约束</li>
113 113
                                     </ul></div>
114
-                                    <table class="table" border="1" style="width: 100%;">
115
-                                        <thead>
114
+                                    <div style="display: flex;">
115
+                                      <div style="flex: 1;">
116
+                                        <table class="table" border="1" style="width: 100%;border-right: none;">
117
+                                          <thead>
116 118
                                             <tr>
117
-                                                <th>约束方式</th>
118
-                                                <th>约束并发症</th>
119
-                                            </tr>
120
-                                        </thead>
121
-                                        <tbody>
122
-                                            <tr class="bg_color">
123
-                                                <td>
124
-                                                    <div class="jiange">
125
-                                                        <span style="font-size: 15px;">
126
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
127
-                                                                &nbsp;双上肢腕式约束
128
-                                                            </label>
129
-                                                        </span>
130
-                                                    </div> 
131
-                                                </td>
132
-                                                <td>
133
-                                                    <div class="jiange">
134
-                                                        <span style="font-size: 15px;">
135
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
136
-                                                                &nbsp;约束部位皮肤损失
137
-                                                            </label>
138
-                                                        </span>
139
-                                                    </div> 
140
-                                                </td>
141
-                                            </tr>
142
-                                            <tr class="">
143
-                                                <td>
144
-                                                    <div class="jiange">
145
-                                                        <span style="font-size: 15px;">
146
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
147
-                                                                &nbsp;膝部约束
148
-                                                            </label>
149
-                                                        </span>
150
-                                                    </div> 
151
-                                                </td>
152
-                                                <td>
153
-                                                    <div class="jiange">
154
-                                                        <span style="font-size: 15px;">
155
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
156
-                                                                &nbsp;约束部位皮下瘀斑
157
-                                                            </label>
158
-                                                        </span>
159
-                                                    </div> 
160
-                                                </td>
161
-                                            </tr>
162
-                                            <tr class="bg_color">
163
-                                                <td>
164
-                                                    <div class="jiange">
165
-                                                        <span style="font-size: 15px;">
166
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
167
-                                                                &nbsp;四肢约束
168
-                                                            </label>
169
-                                                        </span>
170
-                                                    </div> 
171
-                                                </td>
172
-                                                <td>
173
-                                                    <div class="jiange">
174
-                                                        <span style="font-size: 15px;">
175
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
176
-                                                                &nbsp;约束肢体末端水肿及水肿加重
177
-                                                            </label>
178
-                                                        </span>
179
-                                                    </div> 
180
-                                                </td>
119
+                                              <th>约束方式</th>
181 120
                                             </tr>
182
-                                            <tr class="">
183
-                                                <td>
184
-                                                    <div class="jiange">
185
-                                                        <span style="font-size: 15px;">
186
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
187
-                                                                &nbsp;四肢加胸部约束
188
-                                                            </label>
189
-                                                        </span>
190
-                                                    </div> 
191
-                                                </td>
192
-                                                <td>
193
-                                                    <div class="jiange">
194
-                                                        <span style="font-size: 15px;">
195
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
196
-                                                                &nbsp;约束肢体发生骨折
197
-                                                            </label>
198
-                                                        </span>
199
-                                                    </div> 
200
-                                                </td>
121
+                                          </thead>
122
+                                          <tbody>
123
+                                            <tr v-for="(item,index) in yueshufs" :key="index">
124
+                                              <td>
125
+                                                <div class="jiange">
126
+                                                  <span style="font-size: 15px;">
127
+                                                    <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="fangs_click(item)"/>
128
+                                                        &nbsp;{{ item.label }}
129
+                                                    </label>
130
+                                                  </span>
131
+                                                </div> 
132
+                                              </td>
201 133
                                             </tr>
202
-                                            <tr class="bg_color">
203
-                                                <td>
204
-                                                    <div class="jiange">
205
-                                                        <span style="font-size: 15px;">
206
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
207
-                                                                &nbsp;胸腹部约束
208
-                                                            </label>
209
-                                                        </span>
210
-                                                    </div> 
211
-                                                </td>
212
-                                                <td>
213
-                                                     
214
-                                                </td>
134
+                                          </tbody>
135
+                                        </table>
136
+                                      </div>
137
+                                      <div style="flex: 1;">
138
+                                        <table class="table" border="1" style="width: 100%;">
139
+                                          <thead>
140
+                                            <tr>
141
+                                              <th>约束并发症</th>
215 142
                                             </tr>
216
-                                            <tr class="">
217
-                                                <td>
218
-                                                    <div class="jiange">
219
-                                                        <span style="font-size: 15px;">
220
-                                                            <label><input type="checkbox" name="ball" value="volleyball" />
221
-                                                                &nbsp;肩部约束
222
-                                                            </label>
223
-                                                        </span>
224
-                                                    </div>
225
-                                                </td>
226
-                                                <td></td>
143
+                                          </thead>
144
+                                          <tbody>
145
+                                            <tr v-for="(item,index) in yueshuzheng" :key="index">
146
+                                              <td>
147
+                                                <div class="jiange">
148
+                                                  <span style="font-size: 15px;">
149
+                                                    <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="zhengz_click(item)"/>
150
+                                                        &nbsp;{{ item.label }}
151
+                                                    </label>
152
+                                                  </span>
153
+                                                </div> 
154
+                                              </td>
227 155
                                             </tr>
228
-                                        </tbody>
229
-                                    </table>
230
-                                </div>
231
-                               
232
-
156
+                                            <tr><td></td></tr>
157
+                                            <tr><td></td></tr>
158
+                                          </tbody>
159
+                                        </table>
160
+                                      </div>
161
+                                    </div>
162
+                                </div>                             
233 163
                             </td>
234 164
                         </tr>
235 165
                         <tr >
236
-                            <td colspan="2">
237
-                                <span>
238
-                                    根据患者的病情记医嘱,需要实施保护性约束,预防意外的发生,由于受个体差异的影响,约束过程存在不可预见的危险情况; 
239
-                                    在约束过程中医护人员会定时观察约束部位的血液循环情况,在患者符合解除约束指征的情况下给予解除约束。
240
-                                </span>
241
-                            </td> 
166
+                          <td colspan="2">
167
+                            <span>
168
+                                根据患者的病情记医嘱,需要实施保护性约束,预防意外的发生,由于受个体差异的影响,约束过程存在不可预见的危险情况; 
169
+                                在约束过程中医护人员会定时观察约束部位的血液循环情况,在患者符合解除约束指征的情况下给予解除约束。
170
+                            </span>
171
+                          </td> 
242 172
                         </tr>
243 173
                         <tr class="bg_color">
244 174
                             <td colspan="2">
245 175
                                 <span>
246
-                                    患者或家属意见:<el-input v-model="input" style="width:200px"></el-input>
176
+                                    患者或家属意见:<el-input v-model="idea_input" style="width:200px"></el-input>
247 177
                                 </span>
248 178
                             </td>
249 179
                         </tr>
250 180
                         <tr class="">
251 181
                             <td colspan="2">
252 182
                                 <span class="bottoms">
253
-                                    患者或家属签名:<el-input v-model="input" style="width:200px"></el-input>
183
+                                    患者或家属签名:<el-input v-model="signature_input" style="width:200px"></el-input>
254 184
                                 </span>
255 185
                                 <span class="bottoms">
256
-                                    与患者关系:<el-input v-model="input" style="width:200px"></el-input>
186
+                                    与患者关系:<el-input v-model="relation_input" style="width:200px"></el-input>
257 187
                                 </span>
258 188
                                 <span class="bottoms">
259 189
                                     日期:
260 190
                                     <el-date-picker
261
-                                        v-model="value1"
191
+                                        v-model="yueshu_date"
262 192
                                         type="date"
193
+                                        value-format="yyyy-MM-dd"
263 194
                                         placeholder="选择日期"
264 195
                                         style="width:150px">
265 196
                                     </el-date-picker>
@@ -269,13 +200,14 @@
269 200
                         <tr class="bg_color">
270 201
                             <td colspan="2">
271 202
                                 <span class="bottoms">
272
-                                    告知者签名:<el-input v-model="input" style="width:200px"></el-input>
203
+                                    告知者签名:<el-input v-model="inform_input" style="width:200px"></el-input>
273 204
                                 </span>
274 205
                                 <span class="bottoms" style="margin-left: 385px;">
275 206
                                     日期:
276 207
                                     <el-date-picker
277
-                                        v-model="value1"
208
+                                        v-model="yueshu_date2"
278 209
                                         type="date"
210
+                                        value-format="yyyy-MM-dd"
279 211
                                         placeholder="选择日期"
280 212
                                         style="width:150px">
281 213
                                     </el-date-picker>
@@ -292,6 +224,7 @@
292 224
 </template>
293 225
 <script>
294 226
 import PatientSidebar from '../components/PatientSidebar.vue'
227
+import { uParseTime } from '@/utils/tools'
295 228
 export default {
296 229
     components:{
297 230
       PatientSidebar
@@ -302,14 +235,229 @@ export default {
302 235
             value1:'',
303 236
             input:'',
304 237
             checkList:[],
305
-            qianzai:['坠床','自伤','非计划拔管','伤人','其他'],
306
-            yisqingxu:['烦躁不安','狂躁','自杀','自伤','伤人'],
307
-            mazui:['全麻术后未清醒','躁动不配合','术后瞻妄综合症'],
308
-            guandao:['尿管','胃管','腹腔引流管','胸腔闭室引流管','脑室引流管','造痿管','气管插管','气管切开','深静脉置管','其他'],
309
-            shangzhi:['正常','骨折','皮肤损伤','其他'],
310
-            xiazhi:['正常','骨折','皮肤损伤','其他'],
311
-            pifu:['完整水肿','破损','黄疸','紫绀','压疮','皮疹','潮红','部位']
238
+            diagnosis_input:'',
239
+            idea_input:'',
240
+            signature_input:'',
241
+            relation_input:'',
242
+            yueshu_date:this.getTime(new Date()),
243
+            inform_input:'',
244
+            yueshu_date2:this.getTime(new Date()),
245
+            is_check1:false,
246
+            check1:0,
247
+            qianzai:[{is_check:false,check:0,label:'坠床'},{is_check:false,check:0,label:'自伤'},{is_check:false,check:0,label:'非计划拔管'},
248
+                      {is_check:false,check:0,label:'伤人'},{is_check:false,check:0,label:'其他'}],
249
+            yisqingxu:[{is_check:false,check:0,label:'烦躁不安'},{is_check:false,check:0,label:'狂躁'},{is_check:false,check:0,label:'自杀'},
250
+                      {is_check:false,check:0,label:'自伤'},{is_check:false,check:0,label:'伤人'}],
251
+            mazui:[{is_check:false,check:0,label:'全麻术后未清醒'},{is_check:false,check:0,label:'躁动不配合'},{is_check:false,check:0,label:'术后瞻妄综合症'}],
252
+            guandao:[{is_check:false,check:0,label:'尿管'},{is_check:false,check:0,label:'胃管'},{is_check:false,check:0,label:'腹腔引流管'},
253
+                    {is_check:false,check:0,label:'胸腔闭室引流管'},{is_check:false,check:0,label:'脑室引流管'},{is_check:false,check:0,label:'造痿管'},
254
+                    {is_check:false,check:0,label:'气管插管'},{is_check:false,check:0,label:'气管切开'},{is_check:false,check:0,label:'深静脉置管'},
255
+                    {is_check:false,check:0,label:'其他'}],
256
+            shangzhi:[{is_check:false,check:0,label:'正常'},{is_check:false,check:0,label:'骨折'},{is_check:false,check:0,label:'皮肤损伤'},
257
+                    {is_check:false,check:0,label:'其他'}],
258
+            xiazhi:[{is_check:false,check:0,label:'正常'},{is_check:false,check:0,label:'骨折'},{is_check:false,check:0,label:'皮肤损伤'},
259
+                    {is_check:false,check:0,label:'其他'}],
260
+            pifu:[{is_check:false,check:0,label:'完整水肿'},{is_check:false,check:0,label:'破损'},{is_check:false,check:0,label:'黄疸'},
261
+                  {is_check:false,check:0,label:'紫绀'},{is_check:false,check:0,label:'压疮'},{is_check:false,check:0,label:'皮疹'},
262
+                  {is_check:false,check:0,label:'潮红'},{is_check:false,check:0,label:'部位'}],
263
+
264
+            yueshufs:[{is_check:false,check:0,label:'双上肢腕式约束'},{is_check:false,check:0,label:'膝部约束'},{is_check:false,check:0,label:'四肢约束'},
265
+                      {is_check:false,check:0,label:'四肢加胸部约束'},{is_check:false,check:0,label:'胸腹部约束'},{is_check:false,check:0,label:'肩部约束'}],
266
+
267
+            yueshuzheng:[{is_check:false,check:0,label:'约束部位皮肤损失'},{is_check:false,check:0,label:'约束部位皮下瘀斑'},
268
+                          {is_check:false,check:0,label:'约束肢体末端水肿及水肿加重'},{is_check:false,check:0,label:'约束肢体发生骨折'},]
312 269
         }
270
+    },
271
+    methods:{
272
+      // 确认
273
+      restraint_click(){
274
+        var params={
275
+          diagnosis_input:this.diagnosis_input,//诊断
276
+          idea_input:this.idea_input,//家属意见
277
+          signature_input:this.signature_input,//家属签名
278
+          yueshu_date:this.yueshu_date,//家属签名时间
279
+          inform_input:this.inform_input,//告知者签名
280
+          relation_input:this.relation_input,//家属关系
281
+          yueshu_date2:this.yueshu_date2,//告知时间
282
+          is_check1:this.is_check1,//醉酒
283
+          check1:this.check1,//醉酒
284
+          qianzai:this.qianzai,//潜在
285
+          yisqingxu:this.yisqingxu,//意识情绪
286
+          mazui:this.mazui,//麻醉
287
+          guandao:this.guandao,//导管
288
+          shangzhi:this.shangzhi,//上肢
289
+          xiazhi:this.xiazhi,//下肢
290
+          pifu:this.pifu,//皮肤
291
+          yueshufs:this.yueshufs,//约束方式
292
+          yueshuzheng:this.yueshuzheng,//约束并发症
293
+        }
294
+      },
295
+      // 潜在
296
+      qz_click(item){
297
+        const qianzai = this.qianzai
298
+        for(let i in qianzai){
299
+          if(item.label==qianzai[i].label){
300
+            if(item.check==0){
301
+              qianzai[i].is_check = true
302
+              qianzai[i].check = 1
303
+            }else{
304
+              qianzai[i].is_check = false
305
+              qianzai[i].check = 0
306
+            }
307
+          }
308
+        }
309
+        console.log('1111',qianzai);
310
+      },
311
+      // 意识
312
+      ys_click(item){
313
+        const ysqx = this.yisqingxu
314
+        for(let i in ysqx){
315
+          if(item.label==ysqx[i].label){
316
+            if(item.check==0){
317
+              ysqx[i].is_check = true
318
+              ysqx[i].check = 1
319
+            }else{
320
+              ysqx[i].is_check = false
321
+              ysqx[i].check = 0
322
+            }
323
+          }
324
+        }
325
+        console.log('1111',ysqx);
326
+      },
327
+      // 麻醉
328
+      mazui_click(item){
329
+        const mazui = this.mazui
330
+        for(let i in mazui){
331
+          if(item.label==mazui[i].label){
332
+            if(item.check==0){
333
+              mazui[i].is_check = true
334
+              mazui[i].check = 1
335
+            }else{
336
+              mazui[i].is_check = false
337
+              mazui[i].check = 0
338
+            }
339
+          }
340
+        }
341
+        console.log('1111',mazui);
342
+      },
343
+      // 醉酒
344
+      zuijiu_click(){
345
+        if(this.check1 == 0){
346
+          this.check1 =1
347
+          this.is_check1 = true
348
+        }else{
349
+          this.check1 = 0
350
+          this.is_check1 = false
351
+        }
352
+      },
353
+      // 管道
354
+      guand_click(item){
355
+        const guandao = this.guandao
356
+        for(let i in guandao){
357
+          if(item.label==guandao[i].label){
358
+            if(item.check==0){
359
+              guandao[i].is_check = true
360
+              guandao[i].check = 1
361
+            }else{
362
+              guandao[i].is_check = false
363
+              guandao[i].check = 0
364
+            }
365
+          }
366
+        }
367
+        console.log('1111',guandao);
368
+      },
369
+      // 上肢
370
+      shang_click(item){
371
+        const shangzhi = this.shangzhi
372
+        for(let i in shangzhi){
373
+          if(item.label==shangzhi[i].label){
374
+            if(item.check==0){
375
+              shangzhi[i].is_check = true
376
+              shangzhi[i].check = 1
377
+            }else{
378
+              shangzhi[i].is_check = false
379
+              shangzhi[i].check = 0
380
+            }
381
+          }
382
+        }
383
+        console.log('1111',shangzhi);
384
+      },
385
+      // 下肢
386
+      xiazhi_click(item){
387
+        const xiazhi = this.xiazhi
388
+        for(let i in xiazhi){
389
+          if(item.label==xiazhi[i].label){
390
+            if(item.check==0){
391
+              xiazhi[i].is_check = true
392
+              xiazhi[i].check = 1
393
+            }else{
394
+              xiazhi[i].is_check = false
395
+              xiazhi[i].check = 0
396
+            }
397
+          }
398
+        }
399
+        console.log('1111',xiazhi);
400
+      },
401
+      // 皮肤
402
+      pifu_click(item){
403
+        const pifu = this.pifu
404
+        for(let i in pifu){
405
+          if(item.label==pifu[i].label){
406
+            if(item.check==0){
407
+              pifu[i].is_check = true
408
+              pifu[i].check = 1
409
+            }else{
410
+              pifu[i].is_check = false
411
+              pifu[i].check = 0
412
+            }
413
+          }
414
+        }
415
+        console.log('1111',pifu);
416
+      },
417
+      // 约束方式
418
+      fangs_click(item){
419
+        const fangshi = this.yueshufs
420
+        for(let i in fangshi){
421
+          if(item.label==fangshi[i].label){
422
+            if(item.check==0){
423
+              fangshi[i].is_check = true
424
+              fangshi[i].check = 1
425
+            }else{
426
+              fangshi[i].is_check = false
427
+              fangshi[i].check = 0
428
+            }
429
+          }
430
+        }
431
+        console.log('1111',fangshi);
432
+      },
433
+      // 约束并发症
434
+      zhengz_click(item){
435
+        const yueszz = this.yueshuzheng
436
+        for(let i in yueszz){
437
+          if(item.label==yueszz[i].label){
438
+            if(item.check==0){
439
+              yueszz[i].is_check = true
440
+              yueszz[i].check = 1
441
+            }else{
442
+              yueszz[i].is_check = false
443
+              yueszz[i].check = 0
444
+            }
445
+          }
446
+        }
447
+        console.log('1111',yueszz);
448
+      },
449
+      // 转换时间
450
+      getTime(val) {
451
+          if(val < 0){
452
+            return ""
453
+          }
454
+          if(val == ""){
455
+          return ""
456
+          }else {
457
+          return uParseTime(val, '{y}-{m}-{d}')
458
+          }
459
+      },
460
+
313 461
     }
314 462
 }
315 463
 </script>

+ 423 - 178
src/xt_pages/user/evaluationtool/RassAssessment.vue 查看文件

@@ -24,10 +24,10 @@
24 24
                             <td style="padding: 5px;">
25 25
                               <div class="rightjiange" style="position: relative;">
26 26
                                 <label style="">
27
-                                  <input type="radio" name="ball" :value="item.value"  @change="handleCheckedCitiesChange"/>
27
+                                  <input type="radio" name="ball" :value="item.label" v-model="RAssradio"  @change="handleCheckedCitiesChange(item)"/>
28 28
                                   <div style="display: inline-block;">{{ item.title }}</div>&nbsp;
29 29
                                   <div :style="{'display': 'inline-block','position': 'absolute','top':index ==2 ? '-8px':'0px'}">
30
-                                      {{ item.value }}
30
+                                      {{ item.label }}
31 31
                                   </div>
32 32
                                 </label>
33 33
                               </div>
@@ -53,10 +53,10 @@
53 53
                                     <td>
54 54
                                       <div class="rightjiange" style="position: relative;">
55 55
                                         <label style="">
56
-                                          <input type="radio" name="ball" :value="item.value"  @change="handleCheckedCitiesChange"/>
56
+                                          <input type="radio" name="ball" :value="item.label" v-model="RAssradio"  @change="handleCheckedCitiesChange(item)"/>
57 57
                                           <div style="display: inline-block;">{{ item.title }}</div>&nbsp;
58 58
                                           <div :style="{'display': 'inline-block','position': 'absolute','top':index !=0 ? '-8px':'0px','overflow': 'auto','height': '30px'}">
59
-                                              {{ item.value }}
59
+                                              {{ item.label }}
60 60
                                           </div>
61 61
                                         </label>
62 62
                                       </div>
@@ -71,10 +71,10 @@
71 71
                                     <td>
72 72
                                       <div class="rightjiange" style="position: relative;">
73 73
                                         <label style="">
74
-                                          <input type="radio" name="ball" :value="item.value2"  @change="handleCheckedCitiesChange"/>
74
+                                          <input type="radio" name="ball" :value="item.label" v-model="RAssradio"  @change="handleCheckedCitiesChange(item)"/>
75 75
                                           <div style="display: inline-block;">{{ item.title2 }}</div>&nbsp;
76 76
                                           <div :style="{'display': 'inline-block','position': 'absolute','top':index !=0 && index !=1 ? '-8px':'0px','overflow': 'auto','height': '30px'}">
77
-                                              {{ item.value2 }}
77
+                                              {{ item.label }}
78 78
                                           </div>
79 79
                                         </label>
80 80
                                       </div>
@@ -97,8 +97,9 @@
97 97
                         <div class="bottoms">
98 98
                             <span>评估日期:</span>
99 99
                             <el-date-picker
100
-                                v-model="value1"
100
+                                v-model="RAssdate"
101 101
                                 type="date"
102
+                                value-format="yyyy-MM-dd"
102 103
                                 placeholder="选择日期"
103 104
                                 :clearable="false"
104 105
                                 style="width: 150px;">
@@ -107,9 +108,9 @@
107 108
 
108 109
                         <div class="bottoms">
109 110
                             <span>评估人:</span>
110
-                            <el-select v-model="value" placeholder="请选择" >
111
+                            <el-select v-model="rass_appraiser" placeholder="请选择" >
111 112
                                 <el-option
112
-                                v-for="item in options"
113
+                                v-for="item in rassoptions"
113 114
                                 :key="item.value"
114 115
                                 :label="item.label"
115 116
                                 :value="item.value"
@@ -120,7 +121,7 @@
120 121
 
121 122
                     </div>
122 123
                     <div style="margin:5px 10px;">
123
-                            <el-button type="primary">确认</el-button>
124
+                            <el-button type="primary" @click="RASSclick">确认</el-button>
124 125
                     </div>
125 126
                 </div>
126 127
                 <hr style="height:1px;border:none;border-top:1px dashed #DCDFE6;margin-bottom: 10px;"/>
@@ -137,15 +138,15 @@
137 138
                         <tr>
138 139
                           <td>
139 140
                             <div class="jiange">
140
-                              <el-radio-group v-model="radio">
141
-                                <el-radio v-for="(item,index ) in RassGJ" :label="item" :key="index">{{ item }}</el-radio>
141
+                              <el-radio-group v-model="RassGJradio">
142
+                                <el-radio v-for="(item,index ) in RassGJ" :label="item.value" :key="index">{{ item.label }}</el-radio>
142 143
                               </el-radio-group>
143 144
                             </div>
144 145
                           </td>
145 146
                         </tr>
146 147
                         <tr>
147 148
                             <div style="">
148
-                                <div style="vertical-align: middle;" v-if="radio=='NRS'">
149
+                                <div style="vertical-align: middle;" v-if="RassGJradio==1">
149 150
                                   <div style="display: flex; height: 160px;align-items: center;">
150 151
                                     <span style="width:38px;height:22px;line-height:22px;margin-left:40px;"></span>
151 152
                                     <div style="flex: 1;height: 22px;position: relative;border-bottom: 2px solid #333; top: -8px;">
@@ -186,36 +187,24 @@
186 187
                                     <span style="width:38px;height:22px;line-height:22px;margin-right:40px;"></span>
187 188
                                   </div>
188 189
                                 </div>
189
-                                <div style="vertical-align: middle;" v-else-if="radio=='表情法'">
190
+                                <div style="vertical-align: middle;" v-else-if="RassGJradio==2">
190 191
                                   <div style="display: flex;flex-wrap: wrap;padding:20px;">
191
-                                    <!-- <div style="flex:1;text-align: center;">
192
-                                      <div>
193
-                                        <img src="@/assets/evaluate/a.png" alt="">
194
-                                      </div>
195
-                                      <span>
196
-                                          <input type="radio" value="0" class="wxpg-check" id="ttpggj-type-b0" name="ttpggj-bqf">
197
-                                          <label >无疼痛</label>
198
-                                        </span>
199
-                                    </div> -->
200 192
                                     <div style="flex:1;text-align: center;" v-for="(item,index) in biaoqing" :key="index">
201 193
                                       <div >
202 194
                                         <img :src="item.imgs" alt="">
203 195
                                       </div>
204 196
                                       <span>
205
-                                        <!-- <el-radio :label="item.text" :value="item.value" :key="index" style="color: black;" ></el-radio> -->
206
-                                        <!-- <label >
207
-                                        <input type="radio" :value="item.value"  name="ttpggj-bqf" @click="radioclick($event,item.value)">
208
-                                        {{item.text}}</label> -->
209
-                                        <el-radio-group v-model="radio1" @change="radioclick($event,item.value)">
210
-                                          <el-radio  :label="item.text" :value="item.value" :key="index" style="color: black;" >
197
+                                        <el-radio-group v-model="emoteradio">
198
+                                          <el-radio  :label="item.value"  :key="index" style="color: black;" >
199
+                                            {{ item.text }}
211 200
                                           </el-radio>
212
-                                      </el-radio-group>
201
+                                        </el-radio-group>
213 202
                                       </span>
214 203
                                     </div>
215 204
                                   </div>
216 205
 
217 206
                                 </div>
218
-                                <div style="" v-else-if="radio=='视觉模拟法'">
207
+                                <div style="" v-else-if="RassGJradio==3">
219 208
                                   <div style="display: flex; height: 160px;align-items: center;">
220 209
                                     <span style="width:38px;height:22px;line-height:22px;margin-left:40px;">无痛</span>
221 210
                                     <div style="flex: 1;height: 22px;position: relative;border-bottom: 2px solid #333; top: -8px;">
@@ -256,39 +245,56 @@
256 245
                                     <span style="width:38px;height:22px;line-height:22px;margin-right:40px;margin-left: 3px;">最痛</span>
257 246
                                   </div>
258 247
                                 </div>
259
-                                <div style="vertical-align: middle;" v-else-if="radio=='语言描述法'">
248
+                                <div style="vertical-align: middle;" v-else-if="RassGJradio==4">
260 249
                                     <div style="line-height: 160px;margin: auto;width: 900px;">
261
-                                      <el-radio-group v-model="radio1" @change="yuyanchange">
262
-                                        <el-radio v-for="(item,index ) in yuyan" :label="item.label" :key="index" style="color: black;" >
250
+                                      <el-radio-group v-model="yuyan_radio">
251
+                                        <el-radio v-for="(item,index ) in yuyan" :label="item.value" :key="index" style="color: black;" >
252
+                                           {{ item.label }}
263 253
                                         </el-radio>
264 254
                                       </el-radio-group>
265 255
                                     </div>
266 256
                                 </div>
267
-                                <div style="vertical-align: middle;" v-else-if="radio=='行为学评估量表'">
257
+                                <div style="vertical-align: middle;" v-else-if="RassGJradio==5">
268 258
                                   <behavior ref="Behavior" @submit="behav"></behavior>
269 259
                                 </div>
270
-                                <div style="width: 40%;margin-left: 15%;" v-else-if="radio=='其他'">
260
+                                <div v-else-if="RassGJradio==6">
261
+                                  <div style="width: 40%;margin-left: 15%;" >
271 262
                                     <el-input
272 263
                                         type="textarea"
273 264
                                         :autosize="{minRows: 8, maxRows: 10}"
274 265
                                         placeholder="请输入内容"
275 266
 
276
-                                        v-model="textarea1">
267
+                                        v-model="qita_textarea">
277 268
                                     </el-input>
269
+                                  </div>
270
+                                  <div style="margin:0px 0px 10px 10%;">
271
+                                      <div class="bottoms">
272
+                                          <span>疼痛评分:</span>
273
+                                          <el-input v-model="qita_val" style="width: 100px;"></el-input>分
274
+                                      </div>
275
+                                      <div class="bottoms">
276
+                                          <span>处理后疼痛:</span>
277
+                                          <el-input v-model="chulihou" placeholder="请输入内容" @change='chulhuo_click' style="width: 100px;"></el-input>分
278
+                                      </div>
279
+                                      <div class="bottoms">
280
+                                          <span>患者状态:</span>
281
+                                          <el-input v-model="zhuangtai" placeholder="请输入内容" @change='zhuangt_click' style="width: 150px;"></el-input>
282
+                                      </div>
283
+                                  </div> 
278 284
                                 </div>
279 285
                             </div>
280
-                            <div style="margin:0px 0px 10px 10%;">
286
+                            <div style="margin:0px 0px 10px 10%;" v-if="RassGJradio!=6">
281 287
                                 <div class="bottoms">
282 288
                                     <span>疼痛评分:</span>
283 289
                                     <el-input v-model="Pain_score" style="width: 100px;"></el-input>分
284 290
                                 </div>
285 291
                                 <div class="bottoms">
286 292
                                     <span>处理后疼痛:</span>
287
-                                    <el-input v-model="input" placeholder="请输入内容" style="width: 100px;"></el-input>分
293
+                                    <el-input v-model="chulihou" placeholder="请输入内容" @change='chulhuo_click' style="width: 100px;"></el-input>分
288 294
                                 </div>
289 295
                                 <div class="bottoms">
290 296
                                     <span>患者状态:</span>
291
-                                    <el-input v-model="input" placeholder="请输入内容" style="width: 150px;"></el-input>
297
+                                    <el-input v-model="zhuangtai" placeholder="请输入内容" @change='zhuangt_click' style="width: 150px;"></el-input>
292 298
                                 </div>
293 299
                             </div>
294 300
                         </tr>
@@ -310,14 +316,14 @@
310 316
                                     <td class="start">疼痛性质</td>
311 317
                                     <td>
312 318
                                     <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
313
-                                        <span class="ttbwzz-type-a" v-for="item in xingzhi" :key="item">
314
-                                            <label for="">
315
-                                                <input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}
319
+                                        <span class="ttbwzz-type-a" v-for="(item,index) in xingzhi" :key="index">
320
+                                            <label>
321
+                                                <input type="checkbox" :value="item.label" v-model="item.is_check" @click="xingzhiclick(item)"/>&nbsp;{{ item.label }}
316 322
                                             </label>
317 323
                                         </span>
318
-                                        <label for="" style="font-size: 15px;">
319
-                                            <input type="checkbox" name="ball" value="volleyball" />&nbsp;其他:
320
-                                            <el-input v-model="input" placeholder="" style="width: 190px;"></el-input>
324
+                                        <label style="font-size: 15px;">
325
+                                            <input type="checkbox" value="其它" v-model="ischeck1" @click="xingzhiclick2" />&nbsp;其他:
326
+                                            <el-input v-model="xingzhi_qita" placeholder="" style="width: 190px;"></el-input>
321 327
                                         </label>
322 328
                                     </div>
323 329
                                     </td>
@@ -326,14 +332,14 @@
326 332
                                     <td class="start">疼痛伴随症状</td>
327 333
                                     <td>
328 334
                                         <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
329
-                                            <span class="ttbwzz-type-a" v-for="item in tengtzz" :key="item">
330
-                                                <label for="">
331
-                                                    <input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}
335
+                                            <span class="ttbwzz-type-a" v-for="(item,index) in tengtzz" :key="index">
336
+                                                <label >
337
+                                                    <input type="checkbox" :value="item.label" v-model="item.is_check" @click="tengzz_click(item)" />&nbsp;{{ item.label }}
332 338
                                                 </label>
333 339
                                             </span>
334
-                                            <label for="" style="font-size: 15px;">
335
-                                                <input type="checkbox" name="ball" value="volleyball" />&nbsp;其他:
336
-                                                <el-input v-model="input" placeholder="" style="width: 190px;"></el-input>
340
+                                            <label style="font-size: 15px;">
341
+                                                <input type="checkbox" v-model="ischeck2" @click="tengzz_click2" />&nbsp;其他:
342
+                                                <el-input v-model="tengzz_qita" placeholder="" style="width: 190px;"></el-input>
337 343
                                             </label>
338 344
                                         </div>
339 345
                                     </td>
@@ -342,9 +348,9 @@
342 348
                                     <td class="start">疼痛对活动影响</td>
343 349
                                     <td>
344 350
                                     <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
345
-                                        <span class="ttbwzz-type-a" v-for="item in huodongyx" :key="item">
346
-                                            <label for="">
347
-                                                <input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}
351
+                                        <span class="ttbwzz-type-a" v-for="(item,index) in huodongyx" :key="index">
352
+                                            <label>
353
+                                                <input type="checkbox" :value="item.label" v-model="item.is_check" @click="huodong_click(item)"/>&nbsp;{{ item.label }}
348 354
                                             </label>
349 355
                                         </span>
350 356
                                     </div>
@@ -354,14 +360,14 @@
354 360
                                     <td class="start">止痛药不良反应</td>
355 361
                                     <td>
356 362
                                     <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
357
-                                        <span class="ttbwzz-type-a" v-for="item in zhitong" :key="item">
358
-                                            <label for="">
359
-                                                <input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}
363
+                                        <span class="ttbwzz-type-a" v-for="(item,index) in zhitong" :key="index">
364
+                                            <label >
365
+                                                <input type="checkbox" :value="item.label" v-model="item.is_check" @click="zhitongclick(item)" />&nbsp;{{ item.label }}
360 366
                                             </label>
361 367
                                         </span>
362
-                                        <label for="" style="font-size: 15px;">
363
-                                            <input type="checkbox" name="ball" value="volleyball" />&nbsp;其他:
364
-                                            <el-input v-model="input" placeholder="" style="width: 190px;"></el-input>
368
+                                        <label style="font-size: 15px;">
369
+                                            <input type="checkbox" v-model="ischeck3" @click="zhitongclick2"/>&nbsp;其他:
370
+                                            <el-input v-model="fanying_qita" placeholder="" style="width: 190px;"></el-input>
365 371
                                         </label>
366 372
                                     </div>
367 373
                                     </td>
@@ -385,60 +391,24 @@
385 391
                                            处置方式:
386 392
                                         </span>
387 393
                                         <div style="flex:1;display: flex;flex-wrap: wrap;padding:4px;">
388
-                                          <span class="ttbwzz-type-a" v-for="item in chuzhifs" :key="item">
394
+                                          <span class="ttbwzz-type-a" v-for="(item,index) in chuzhifs" :key="index">
389 395
                                             <label for="">
390
-                                                <input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}
396
+                                                <input type="checkbox" :value="item.label" v-model="item.is_check" @click="chuzhifsclick(item)" />&nbsp;{{ item.label }}
391 397
                                             </label>
392 398
                                           </span>
393 399
                                         </div>
394 400
                                       </div>
395 401
                                     </td>
396 402
                                 </tr>
397
-                                <tr>
403
+                                <tr v-for="(item,index) in hulichuzhi" :key="index" :class="index%2!=0 ?'bg_color':' '">
398 404
                                   <td style="padding-left: 16px;">
399 405
                                      <span class="rightjiange">
400
-                                        <label for="">
401
-                                          <input type="checkbox" name="ball" value="volleyball" />&nbsp;遵医嘱使用
406
+                                        <label>
407
+                                          <input type="checkbox" :value="item.label" v-model="item.is_check" @click="huliclick(item)"/>&nbsp;{{ item.label }}
402 408
                                         </label>
403 409
                                      </span>
404 410
                                   </td>
405 411
                                 </tr>
406
-                                <tr class="bg_color">
407
-                                  <td style="padding-left: 16px;">
408
-                                    <span class="rightjiange">
409
-                                      <label for="">
410
-                                        <input type="checkbox" name="ball" value="volleyball" />&nbsp;静脉镇痛
411
-                                      </label>
412
-                                    </span>
413
-                                  </td>
414
-                                </tr>
415
-                                <tr>
416
-                                  <td style="padding-left: 16px;">
417
-                                    <span class="rightjiange">
418
-                                      <label for="">
419
-                                        <input type="checkbox" name="ball" value="volleyball" />&nbsp;阿片类药物非自控镇痛给药
420
-                                      </label>
421
-                                    </span>
422
-                                  </td>
423
-                                </tr>
424
-                                <tr class="bg_color">
425
-                                  <td style="padding-left: 16px;">
426
-                                    <span class="rightjiange">
427
-                                      <label for="">
428
-                                        <input type="checkbox" name="ball" value="volleyball" />&nbsp;硬膜外镇痛
429
-                                      </label>
430
-                                    </span>
431
-                                  </td>
432
-                                </tr>
433
-                                <tr>
434
-                                  <td style="padding-left: 16px;">
435
-                                    <span class="rightjiange">
436
-                                      <label for="">
437
-                                        <input type="checkbox" name="ball" value="volleyball" />&nbsp;神经阻滞镇痛
438
-                                      </label>
439
-                                    </span>
440
-                                  </td>
441
-                                </tr>
442 412
                             </tbody>
443 413
                         </table>
444 414
                     </div>
@@ -449,8 +419,9 @@
449 419
                         <div class="bottoms">
450 420
                             <span>评估日期:</span>
451 421
                             <el-date-picker
452
-                                v-model="value1"
422
+                                v-model="tengdate"
453 423
                                 type="date"
424
+                                value-format="yyyy-MM-dd"
454 425
                                 placeholder="选择日期"
455 426
                                 :clearable="false"
456 427
                                 style="width: 150px;">
@@ -459,9 +430,9 @@
459 430
 
460 431
                         <div class="bottoms">
461 432
                             <span>评估人:</span>
462
-                            <el-select v-model="value" placeholder="请选择" >
433
+                            <el-select v-model="teng_appraiser" placeholder="请选择" >
463 434
                                 <el-option
464
-                                v-for="item in options"
435
+                                v-for="item in tengoptions"
465 436
                                 :key="item.value"
466 437
                                 :label="item.label"
467 438
                                 :value="item.value"
@@ -471,7 +442,7 @@
471 442
                         </div>
472 443
                     </div>
473 444
                     <div style="margin:5px 10px;">
474
-                        <el-button type="primary">确认</el-button>
445
+                        <el-button type="primary" @click="pain_click">确认</el-button>
475 446
                     </div>
476 447
                 </div>
477 448
 
@@ -483,6 +454,7 @@
483 454
 <script>
484 455
 import PatientSidebar from '../components/PatientSidebar.vue'
485 456
 import behavior from './behavior.vue'
457
+import { uParseTime } from '@/utils/tools'
486 458
 export default {
487 459
     components:{
488 460
       PatientSidebar,
@@ -491,133 +463,406 @@ export default {
491 463
     data(){
492 464
         return{
493 465
             patientID:0,
494
-            radio:'NRS',
466
+            RassGJradio:1,
495 467
             radio1:'',
496 468
             input:'',
497 469
             value1:'',
498 470
             value:'',
499 471
             textarea1:'',
500
-            radio_val:null,
501
-            yuyan_val:null,
502 472
             options:[],
503 473
             RASS_Totalpoints:'',
504 474
             behav_val:null,
505
-            // shijue:'',
506 475
             shijue_val:null,
507 476
             NRS_val:null,
508
-            // Pain_score:0
509
-            LOS:[{title:'0分', value:'清醒'},{title:'1分', value:'有些昏昏欲睡,但容易唤醒'},
510
-                  {title:'2分', value:'频繁发生昏昏欲睡,容易唤醒,但不能持续处于觉醒状态'},
511
-                  {title:'3分', value:'无意识,无法唤醒'},{title:'S分', value:'正常意识,容易唤醒'}
477
+            RAssradio:'',
478
+            RAssdate:this.getTime(new Date()),
479
+            rass_appraiser:'',
480
+            rassoptions:[],
481
+
482
+            qita_val:'',
483
+            qita_textarea:'',
484
+            chulihou:'',
485
+            zhuangtai:'',
486
+            emoteradio:'',//表情
487
+            yuyan_radio:'',
488
+            chengr:{},
489
+            laonian:{},
490
+            zhongzhen:{},
491
+            youling:{},
492
+            ischeck1:false,
493
+            check1:0,
494
+            ischeck2:false,
495
+            check2:0,
496
+            ischeck3:false,
497
+            check3:0,
498
+            xingzhi_qita:'',
499
+            tengzz_qita:'',
500
+            fanying_qita:'',
501
+            tengdate:this.getTime(new Date()),
502
+            teng_appraiser:'',
503
+            tengoptions:[],
504
+            LOS:[{title:'0分', label:'清醒',value:0},{title:'1分', label:'有些昏昏欲睡,但容易唤醒',value:1},
505
+                  {title:'2分', label:'频繁发生昏昏欲睡,容易唤醒,但不能持续处于觉醒状态',value:2},
506
+                  {title:'3分', label:'无意识,无法唤醒',value:3},{title:'S分', label:'正常意识,容易唤醒',value:'s'}
512 507
                 ],
513
-            RASS:[{title:'-5分', value:'无法唤醒,对声音或物理刺激均无反应'},
514
-                  {title:'-4分', value:'深度镇静,对声音刺激无反应,但对物理刺激有运动或睁眼反应'},
515
-                  {title:'-3分', value:'中度镇静,对声音刺激有活动或睁眼动作(但无目光接触)'},
516
-                  {title:'-2分', value:'轻度镇静,对于声音刺激可以有简短的目光接触的觉醒,<10s'},
517
-                  {title:'-1分', value:'困倦的昏昏欲睡的,不完全觉醒但能保持觉醒状态,对于声音刺激眼睛可以睁开或有目光接触≥10s'},
508
+            RASS:[{title:'-5分', label:'无法唤醒,对声音或物理刺激均无反应',value:-5},
509
+                  {title:'-4分', label:'深度镇静,对声音刺激无反应,但对物理刺激有运动或睁眼反应',value:-4},
510
+                  {title:'-3分', label:'中度镇静,对声音刺激有活动或睁眼动作(但无目光接触)',value:-3},
511
+                  {title:'-2分', label:'轻度镇静,对于声音刺激可以有简短的目光接触的觉醒,<10s',value:-2},
512
+                  {title:'-1分', label:'困倦的昏昏欲睡的,不完全觉醒但能保持觉醒状态,对于声音刺激眼睛可以睁开或有目光接触≥10s',value:-1},
518 513
                 ],
519
-            RASS1:[{title2:'0分', value2:'警觉的平静的'},
520
-                  {title2:'+1分', value2:'不安的焦虑的:焦虑但无强烈的攻击行为'},
521
-                  {title2:'+2分', value2:'焦虑的激动的:经常性的无目的活动,人机对抗'},
522
-                  {title2:'+3分', value2:'非常焦虑激动的:牵拉或拔除管道,容易焦虑不安'},
523
-                  {title2:'+4分', value2:'好斗的好战的:过于好斗,有暴力倾向,对医护人员有攻击行为'},
514
+            RASS1:[{title2:'0分', label:'警觉的平静的',value:0},
515
+                  {title2:'+1分', label:'不安的焦虑的:焦虑但无强烈的攻击行为',value:1},
516
+                  {title2:'+2分', label:'焦虑的激动的:经常性的无目的活动,人机对抗',value:2},
517
+                  {title2:'+3分', label:'非常焦虑激动的:牵拉或拔除管道,容易焦虑不安',value:3},
518
+                  {title2:'+4分', label:'好斗的好战的:过于好斗,有暴力倾向,对医护人员有攻击行为',value:4},
524 519
                 ],
525
-            RassGJ:['NRS','表情法','视觉模拟法','语言描述法','行为学评估量表','其他'],
520
+            RassGJ:[{value:1,label:'NRS'},{value:2,label:'表情法'},{value:3,label:'视觉模拟法'}
521
+            ,{value:4,label:'语言描述法'},{value:5,label:'行为学评估量表'},{value:6,label:'其他'}],
526 522
             yuyan:[{label:'0无痛',value:0},{label:'1微痛',value:1},{label:'2一般',value:2},{label:'4中度疼痛',value:4},{label:'6中重度疼痛',value:6},{label:'8重度疼痛',value:8},{label:'10无法忍受',value:10}],
527 523
             biaoqing:[{imgs:require('@/assets/evaluate/a.png'),text:'无疼痛',value:0},{imgs:require('@/assets/evaluate/b.png'),text:'有一点疼痛',value:2},
528 524
                       {imgs:require('@/assets/evaluate/c.png'),text:'轻微疼痛',value:4},{imgs:require('@/assets/evaluate/d.png'),text:'疼痛明显',value:6},
529 525
                       {imgs:require('@/assets/evaluate/e.png'),text:'疼痛较严重',value:8},{imgs:require('@/assets/evaluate/f.png'),text:'剧烈疼痛',value:10},
530 526
                     ],
531
-            xingzhi:['宫缩痛','持续固定痛','跳痛','刺痛','刀割痛','锐痛',
532
-                     '痉挛痛','绞痛','热灼痛','撕裂痛','钻顶样痛','触痛',
533
-                     '酸痛','闷痛','胀痛','牵拉样痛','游走痛','难以描述'
527
+
528
+            xingzhi:[{is_check:false,check:0,label:'宫缩痛'},{is_check:false,check:0,label:'持续固定痛'},{is_check:false,check:0,label:'跳痛'},
529
+                     {is_check:false,check:0,label:'刺痛'},{is_check:false,check:0,label:'刀割痛'},{is_check:false,check:0,label:'锐痛'},
530
+                     {is_check:false,check:0,label:'痉挛痛'},{is_check:false,check:0,label:'绞痛'},{is_check:false,check:0,label:'热灼痛'},
531
+                     {is_check:false,check:0,label:'撕裂痛'},{is_check:false,check:0,label:'钻顶样痛'},{is_check:false,check:0,label:'触痛'},
532
+                     {is_check:false,check:0,label:'酸痛'},{is_check:false,check:0,label:'闷痛'},{is_check:false,check:0,label:'胀痛'},
533
+                     {is_check:false,check:0,label:'牵拉样痛'},{is_check:false,check:0,label:'游走痛'},{is_check:false,check:0,label:'难以描述'}
534 534
                     ],
535
-            tengtzz:['无','头晕','恶心、呕吐','疲软乏力','气促、心慌'],
536
-            huodongyx:['不影响','改变体位时疼痛明显','影响睡眠','影响休息','影响活动'],
537
-            zhitong:['恶心','呕吐','便秘','尿潴留','皮肤瘙痒','呼吸抑制'],
538
-            chuzhifs:['通知医生','卧床休息,舒适体位摆放','保持环境安静','冷敷','热敷','理疗','针灸','拒绝治疗','入睡','滴定开始']
535
+
536
+            tengtzz:[{is_check:false,check:0,label:'无'},{is_check:false,check:0,label:'头晕'},{is_check:false,check:0,label:'恶心、呕吐'},
537
+                  {is_check:false,check:0,label:'疲软乏力'},{is_check:false,check:0,label:'气促、心慌'}],
538
+
539
+            huodongyx:[{is_check:false,check:0,label:'不影响'},{is_check:false,check:0,label:'改变体位时疼痛明显'},
540
+                      {is_check:false,check:0,label:'影响睡眠'},{is_check:false,check:0,label:'影响休息'},{is_check:false,check:0,label:'影响活动'}],
541
+            
542
+            zhitong:[{is_check:false,check:0,label:'恶心'},{is_check:false,check:0,label:'呕吐'},{is_check:false,check:0,label:'便秘'},
543
+                {is_check:false,check:0,label:'尿潴留'},{is_check:false,check:0,label:'皮肤瘙痒'},{is_check:false,check:0,label:'呼吸抑制'}],
544
+            
545
+            chuzhifs:[{is_check:false,check:0,label:'通知医生'},{is_check:false,check:0,label:'卧床休息,舒适体位摆放'},
546
+                {is_check:false,check:0,label:'保持环境安静'},{is_check:false,check:0,label:'冷敷'},{is_check:false,check:0,label:'热敷'},
547
+                {is_check:false,check:0,label:'理疗'},{is_check:false,check:0,label:'针灸'},{is_check:false,check:0,label:'拒绝治疗'},
548
+                {is_check:false,check:0,label:'入睡'},{is_check:false,check:0,label:'滴定开始'}],
549
+            
550
+            hulichuzhi:[{is_check:false,check:0,label:'遵医嘱使用'},{is_check:false,check:0,label:'静脉镇痛'},
551
+                        {is_check:false,check:0,label:'阿片类药物非自控镇痛给药'},{is_check:false,check:0,label:'硬膜外镇痛'},
552
+                      {is_check:false,check:0,label:'神经阻滞镇痛'}]
539 553
         }
540 554
     },
541 555
     created(){
542 556
         console.log('asdfasdfasdfasssdfas',this.radio);
543 557
     },
544 558
     methods:{
545
-      handleCheckedCitiesChange(e){
546
-        console.log('11111',e.target.value);
559
+      // RASS评估表
560
+      handleCheckedCitiesChange(item){
547 561
         const lent = this.LOS
548 562
         const len = this.RASS
549 563
         const len2=this.RASS1
564
+
550 565
         for(let i=0;i<lent.length;i++){
551
-          if(e.target.value == lent[i].value ){
552
-            this.RASS_Totalpoints=lent[i].title.split('分')[0]
566
+          if(item.label == lent[i].label ){
567
+            this.RASS_Totalpoints= item.value
553 568
           }
554 569
         }
555 570
         for(let y=0;y<len.length;y++){
556
-          if(e.target.value == len[y].value ){
557
-            console.log('2222',len[y].title.split('分')[0]);
558
-            this.RASS_Totalpoints = len[y].title.split('分')[0]
571
+          if(item.label == len[y].label ){
572
+            this.RASS_Totalpoints = item.value
559 573
           }
560 574
           
561 575
         }
562 576
         for(let y=0;y<len2.length;y++){
563
-          if(e.target.value == len2[y].value2 ){
564
-            this.RASS_Totalpoints = len2[y].title2.split('分')[0]
577
+          if(item.label == len2[y].label ){
578
+            this.RASS_Totalpoints = item.value
579
+            
565 580
           }
566 581
         }
567
-
582
+        this.RAssradio = item.label
583
+        console.log('this.RAssradio',this.RAssradio);
568 584
       },
569
-      radioclick(e,value){
570
-        console.log('2222',e,value);
571
-        if(e == this.radio1){
572
-          this.radio_val =value
585
+      // RASS评估表确认
586
+      RASSclick(){
587
+        var params={
588
+          patientID:this.patientID,
589
+          RAssradio:this.RAssradio,
590
+          RASS_Totalpoints:this.RASS_Totalpoints,
591
+          RAssdate:this.RAssdate,
592
+          rass_appraiser:this.rass_appraiser,
593
+          rassoptions:this.rassoptions,
573 594
         }
574 595
       },
575
-      yuyanchange(e){
576
-        console.log('11111',e);
577
-        console.log('22222',this.radio1);
578
-        const yuyan =e.replace(/[^\d]/g, " ");
579
-        if(e == this.radio1){
580
-          this.yuyan_val = yuyan
596
+      // 行为学
597
+      behav(params){
598
+        console.log('77777',params);
599
+        if(params.titleradio==1){
600
+          this.chengr = params
581 601
         }
582
-
583
-      },
584
-      behav(data){
585
-        this.behav_val = data
602
+        if(params.titleradio==2){
603
+          this.laonian = params
604
+        }
605
+        if(params.titleradio==3){
606
+          this.zhongzhen = params
607
+        }
608
+        if(params.titleradio==4){
609
+          this.youling = params
610
+        }
611
+        this.behav_val = params.total
586 612
       },
613
+      // 视觉模拟
587 614
       clickspan(val){
588
-        console.log('00000',this.shijue);
589
-        // this.shijue = val
590 615
         this.shijue_val =val
591
-        console.log('00000',val);
592
-
593 616
       },
617
+      // NRS
594 618
       click_NRS(val){
595 619
         this.NRS_val = val
596 620
       },
621
+     
622
+      // 处理疼痛后得分
623
+      chulhuo_click(e){
624
+        console.log(1111,e,this.chulihou);
625
+        if(this.RassGJradio == 1){
626
+           this.chulihou
627
+        }
628
+        else if(this.RassGJradio == 2){
629
+          this.chulihou
630
+        }else if(this.RassGJradio == 3 ){
631
+          this.chulihou
632
+        }else if(this.RassGJradio == 4 ){
633
+          this.chulihou
634
+        }else if(this.RassGJradio == 5){
635
+          this.chulihou
636
+        }else if(this.RassGJradio == 6){
637
+          this.chulihou
638
+        }
639
+      },
640
+      // 患者状态
641
+      zhuangt_click(){
642
+        if(this.RassGJradio == 1){
643
+           this.zhuangtai
644
+        }
645
+        else if(this.RassGJradio == 2){
646
+          this.zhuangtai
647
+        }else if(this.RassGJradio == 3 ){
648
+          this.zhuangtai
649
+        }else if(this.RassGJradio == 4 ){
650
+          this.zhuangtai
651
+        }else if(this.RassGJradio == 5){
652
+          this.zhuangtai
653
+        }else if(this.RassGJradio == 6){
654
+          this.zhuangtai
655
+        }
656
+      },
657
+      // 疼痛性质
658
+      xingzhiclick(item){
659
+        for(let i in this.xingzhi){
660
+          if(item.label == this.xingzhi[i].label){
661
+            if(item.check == 0){
662
+              this.xingzhi[i].is_check =true
663
+              this.xingzhi[i].check = 1
664
+              console.log('tttt',this.xingzhi[i]);
665
+            }else{
666
+              this.xingzhi[i].is_check =false
667
+              this.xingzhi[i].check = 0
668
+              console.log('yyyyy',this.xingzhi[i]);
669
+            }
670
+          }
671
+        }
672
+        console.log('xingzhiclick',this.xingzhi);
673
+      },
674
+      xingzhiclick2(){
675
+        if(this.check1==0){
676
+          this.check1 = 1
677
+          this.ischeck1 = true
678
+          
679
+        }else{
680
+          this.check1 = 0
681
+          this.ischeck1 = false
682
+        }
683
+        
684
+      },
685
+      // 疼痛症状
686
+      tengzz_click(item){
687
+        for(let i in this.tengtzz){
688
+          if(item.label == this.tengtzz[i].label){
689
+            if(item.check == 0){
690
+              this.tengtzz[i].is_check =true
691
+              this.tengtzz[i].check = 1
692
+            }else{
693
+              this.tengtzz[i].is_check =false
694
+              this.tengtzz[i].check = 0
695
+            }
696
+          }
697
+        }
698
+      },
699
+      tengzz_click2(){
700
+        if(this.check2==0){
701
+          this.check2 = 1
702
+          this.ischeck2 = true
703
+          
704
+        }else{
705
+          this.check2 = 0
706
+          this.ischeck2 = false
707
+        }
708
+        console.log('111',this.ischeck2,this.check2);
709
+      },
710
+      // 活动影响
711
+      huodong_click(item){
712
+        for(let i in this.huodongyx){
713
+          if(item.label == this.huodongyx[i].label){
714
+            if(item.check == 0){
715
+              this.huodongyx[i].is_check =true
716
+              this.huodongyx[i].check = 1
717
+            }else{
718
+              this.huodongyx[i].is_check =false
719
+              this.huodongyx[i].check = 0
720
+            }
721
+          }
722
+        }
723
+      },
724
+      // 不良反应
725
+      zhitongclick(item){
726
+        for(let i in this.zhitong){
727
+          if(item.label == this.zhitong[i].label){
728
+            if(item.check == 0){
729
+              this.zhitong[i].is_check =true
730
+              this.zhitong[i].check = 1
731
+            }else{
732
+              this.zhitong[i].is_check =false
733
+              this.zhitong[i].check = 0
734
+            }
735
+          }
736
+        }
737
+      },
738
+      zhitongclick2(){
739
+        if(this.check3==0){
740
+          this.check3 = 1
741
+          this.ischeck3 = true 
742
+        }else{
743
+          this.check3 = 0
744
+          this.ischeck3 = false
745
+        }
746
+      },
747
+      // 处置方式
748
+      chuzhifsclick(item){
749
+        for(let i in this.chuzhifs){
750
+          if(item.label == this.chuzhifs[i].label){
751
+            if(item.check == 0){
752
+              this.chuzhifs[i].is_check =true
753
+              this.chuzhifs[i].check = 1
754
+            }else{
755
+              this.chuzhifs[i].is_check =false
756
+              this.chuzhifs[i].check = 0
757
+            }
758
+          }
759
+        }
760
+      },
761
+      // 处置方式2
762
+      huliclick(item){
763
+        for(let i in this.hulichuzhi){
764
+          if(item.label == this.hulichuzhi[i].label){
765
+            if(item.check == 0){
766
+              this.hulichuzhi[i].is_check =true
767
+              this.hulichuzhi[i].check = 1
768
+            }else{
769
+              this.hulichuzhi[i].is_check =false
770
+              this.hulichuzhi[i].check = 0
771
+            }
772
+          }
773
+        }
774
+      },
775
+      // 疼痛确认
776
+      pain_click(){
777
+        var parmas={
778
+          qita_val:this.qita_val,//其它疼痛评分
779
+          Pain_score:this.Pain_score,//疼痛评分
780
+          qita_textarea:this.qita_textarea,//其它文本
781
+          chulihou:this.chulihou,//处理后评分
782
+          zhuangtai:this.zhuangtai,//患者状态
783
+          emoteradio:this.emoteradio,//表情选中
784
+          NRS_val:this.NRS_val,//NRS选中
785
+          shijue_val:this.shijue_val,//视觉
786
+          yuyan_radio:this.yuyan_radio,//语言选中
787
+          chengr:this.chengr,//行为学成人
788
+          laonian:this.laonian,//行为学老年
789
+          zhongzhen:this.zhongzhen,//重症
790
+          youling:this.youling,//2-7个月
791
+          xingzhi:this.xingzhi,//疼痛性质
792
+          ischeck1:this.ischeck1,//疼痛性质其它选项
793
+          check1:this.check1,//疼痛性质其它选项
794
+          xingzhi_qita:this.xingzhi_qita,//疼痛性质其它填写
795
+          tengtzz:this.tengtzz,//疼痛症状
796
+          ischeck2:this.ischeck2,//疼痛症状其它选项
797
+          check2:this.check2,//疼痛症状其它选项
798
+          tengzz_qita:this.tengzz_qita,//疼痛症状其它填写
799
+          huodongyx:this.huodongyx,//活动影响
800
+          zhitong:this.zhitong,//止痛不良
801
+          ischeck3:this.ischeck3,//不良症状其它选项
802
+          check3:this.check3,//不良症状其它选项
803
+          fanying_qita:this.fanying_qita,//不良症状其它填写
804
+          tengdate:this.tengdate,//疼痛评估时间
805
+          teng_appraiser:this.teng_appraiser,//评估人
806
+          tengoptions:this.tengoptions,//评估人数组
807
+          chuzhifs:this.chuzhifs,//处置方式
808
+          hulichuzhi:this.hulichuzhi,//护理处置
809
+          patientID:this.patientID,
810
+        }
811
+      },
597 812
       // 历史评分
598 813
       RASShistory(){
599 814
         this.$router.push({path: '/patients/RASS_history'})
600
-      }
815
+      },
816
+      // 转换时间
817
+      getTime(val) {
818
+          if(val < 0){
819
+            return ""
820
+          }
821
+          if(val == ""){
822
+          return ""
823
+          }else {
824
+          return uParseTime(val, '{y}-{m}-{d}')
825
+          }
826
+      },
601 827
     },
602 828
     computed:{
603
-      Pain_score(){
604
-        // for(let i=0;i<this.RassGJ.length;i++){
605
-          // if()
606
-        // }
607
-        if(this.radio == 'NRS'){
608
-          return this.NRS_val
609
-        }
610
-        else if(this.radio == '表情法'){
611
-          return this.radio_val
612
-        }else if(this.radio == '视觉模拟法' ){
613
-          return this.shijue_val
614
-        }else if(this.radio == '语言描述法' ){
615
-          return this.yuyan_val
616
-        }else if(this.radio == '行为学评估量表'){
617
-          return this.behav_val
618
-          // this.$refs.behavior.getTotalpoints()
619
-        }
829
+      // Pain_score(){
830
+       
831
+      //   // for(let i=0;i<this.RassGJ.length;i++){
832
+      //     // if()
833
+      //   // }
834
+      //   if(this.RassGJradio == 1){
835
+      //     return this.NRS_val
836
+      //   }
837
+      //   else if(this.RassGJradio == 2){
838
+      //     return this.radio_val
839
+      //   }else if(this.RassGJradio == 3 ){
840
+      //     return this.shijue_val
841
+      //   }else if(this.RassGJradio == 4 ){
842
+      //     return this.yuyan_val
843
+      //   }else if(this.RassGJradio == 5){
844
+      //     return this.behav_val
845
+      //   }else{
846
+          
847
+      //   }
620 848
 
849
+      // },
850
+      Pain_score:{
851
+        get(){
852
+          if(this.RassGJradio == 1){
853
+            return this.NRS_val
854
+          }
855
+          else if(this.RassGJradio == 2){
856
+            return this.emoteradio
857
+          }else if(this.RassGJradio == 3 ){
858
+            return this.shijue_val
859
+          }else if(this.RassGJradio == 4 ){
860
+            return this.yuyan_radio
861
+          }else if(this.RassGJradio == 5){
862
+            return this.behav_val
863
+          }
864
+        },
865
+        
621 866
       }
622 867
     }
623 868
 }

+ 49 - 13
src/xt_pages/user/evaluationtool/behavior.vue 查看文件

@@ -1,12 +1,12 @@
1 1
 <template>
2 2
     <div>
3 3
       <div class="jiange">
4
-        <el-radio-group v-model="radio">
5
-            <el-radio v-for="(item,index ) in xingwei" :label="item" :key="index">{{ item }}</el-radio>
4
+        <el-radio-group v-model="titleradio">
5
+            <el-radio v-for="(item,index ) in xingwei" :label="item.value" :key="index">{{ item.label }}</el-radio>
6 6
         </el-radio-group>
7 7
       </div>
8 8
       <div>
9
-        <div v-if="radio == '成人量表'">
9
+        <div v-if="titleradio == 1">
10 10
           <table border="1" class="table">
11 11
             <thead>
12 12
               <tr>
@@ -50,7 +50,7 @@
50 50
             </tbody>
51 51
           </table>
52 52
         </div>
53
-        <div v-if="radio == '老年痴呆症量表'">
53
+        <div v-if="titleradio == 2">
54 54
           <table border="1" class="table" style="white-space:pre-wrap;">
55 55
             <thead>
56 56
               <tr>
@@ -105,7 +105,7 @@
105 105
             </tbody>
106 106
           </table>
107 107
         </div>
108
-        <div v-if="radio == '重症患者量表'">
108
+        <div v-if="titleradio == 3">
109 109
           <table border="1" class="table">
110 110
             <thead>
111 111
               <tr>
@@ -154,7 +154,7 @@
154 154
             </tbody>
155 155
           </table>
156 156
         </div>
157
-        <div v-if="radio == '2月-7岁患者量表'">
157
+        <div v-if="titleradio == 4">
158 158
           <table border="1" class="table">
159 159
             <thead>
160 160
               <tr>
@@ -206,7 +206,7 @@
206 206
 export default{
207 207
   data(){
208 208
     return{
209
-      radio:'成人量表',
209
+      titleradio:1,
210 210
       radio_crface:'',
211 211
       radio_crrest:'',
212 212
       radio_crjijinz:'',
@@ -231,7 +231,7 @@ export default{
231 231
       radio_hzcry:'',
232 232
       radio_hzcon:'',
233 233
 
234
-      xingwei:['成人量表','老年痴呆症量表','重症患者量表','2月-7岁患者量表'],
234
+      xingwei:[{value:1,label:'成人量表'},{value:2,label:'老年痴呆症量表'},{value:3,label:'重症患者量表'},{value:4,label:'2月-7岁患者量表'}],
235 235
       chengr_face:[{label:'脸部肌肉放松',value:0,name:'face'},{label:'脸部肌肉紧张、皱眉,脸部肌肉扭曲',value:1,name:'face'},{label:'经常或一直皱眉、咬紧牙床',value:2,name:'face'}],
236 236
       chengr_rest:[{label:'安静、表情安详,肢体活动正常',value:0,name:'rest'},{label:'偶然有些休息不好,或改变体位',value:1,name:'rest'},{label:'躁动不安,无法休息;频繁改变休息体位',value:2,name:'rest'}],
237 237
       chengr_jijinz:[{label:'肌张力正常,肌肉放松',value:0,name:'jinzhang'},{label:'肌张力增加,手指或脚趾屈曲',value:1,name:'jinzhang'},{label:'肌肉僵硬',value:2,name:'jinzhang'}],
@@ -293,7 +293,7 @@ export default{
293 293
   },
294 294
   methods:{
295 295
     chengrface(e){
296
-      // console.log('1111',this.radio_crface,e);
296
+      console.log('1111',this.radio_crface,e);
297 297
       if(e == this.radio_crface){
298 298
         this.face_val = e
299 299
       }if(e == this.radio_crrest){
@@ -306,7 +306,16 @@ export default{
306 306
         this.anfu_val = e
307 307
       }
308 308
       const total = this.face_val + this.rest_val + this.jijinz_val + this.fasheng_val + this.anfu_val
309
-      this.$emit('submit',total)
309
+      var params={
310
+        titleradio:this.titleradio,
311
+        radio_crface:this.radio_crface,
312
+        radio_crrest:this.radio_crrest,
313
+        radio_crjijinz:this.radio_crjijinz,
314
+        radio_fasheng:this.radio_fasheng,
315
+        radio_anfu:this.radio_anfu,
316
+        total:total,
317
+      }
318
+      this.$emit('submit',params)
310 319
     },
311 320
     laorhuxi(e){
312 321
       if(e == this.radio_lrhuxi){
@@ -321,7 +330,16 @@ export default{
321 330
         this.keanfu_val = e
322 331
       }
323 332
       const total = this.huxi_val + this.fumian_val + this.mianbu_val + this.shengti_val + this.keanfu_val
324
-      this.$emit('submit',total)
333
+      var params={
334
+        titleradio:this.titleradio,
335
+        radio_lrhuxi:this.radio_lrhuxi,
336
+        radio_lrfumian:this.radio_lrfumian,
337
+        radio_lrmianbu:this.radio_lrmianbu,
338
+        radio_lrshengti:this.radio_lrshengti,
339
+        radio_lrkeanfu:this.radio_lrkeanfu,
340
+        total:total,
341
+      }
342
+      this.$emit('submit',params)
325 343
     },
326 344
     zhongzheng(e){
327 345
       if(e == this.radio_zzmianbu){
@@ -336,7 +354,16 @@ export default{
336 354
         this.zzfasheng_val = e
337 355
       }
338 356
       const total = this.zzmian_val + this.zzshengti_val + this.zzjjinz_val + this.zzjixie_val + this.zzfasheng_val
339
-      this.$emit('submit',total)
357
+      var params={
358
+        titleradio:this.titleradio,
359
+        radio_zzmianbu:this.radio_zzmianbu,
360
+        radio_zzshengti:this.radio_zzshengti,
361
+        radio_zzjjinz:this.radio_zzjjinz,
362
+        radio_zzjixie:this.radio_zzjixie,
363
+        radio_zzfasheng:this.radio_zzfasheng,
364
+        total:total,
365
+      }
366
+      this.$emit('submit',params)
340 367
     },
341 368
     huanzhe(e){
342 369
       if(e == this.radio_hzface){
@@ -351,7 +378,16 @@ export default{
351 378
         this.hzcon_val = e
352 379
       }
353 380
       const total = this.hzface_val + this.hzleg_val + this.hzactiv_val + this.hzcry_val + this.hzcon_val
354
-      this.$emit('submit',total)
381
+      var params={
382
+        titleradio:this.titleradio,
383
+        radio_hzface:this.radio_hzface,
384
+        radio_hzleg:this.radio_hzleg,
385
+        radio_hzactiv:this.radio_hzactiv,
386
+        radio_hzcry:this.radio_hzcry,
387
+        radio_hzcon:this.radio_hzcon,
388
+        total:total,
389
+      }
390
+      this.$emit('submit',params)
355 391
     }
356 392
   },
357 393
   mounted(){

+ 390 - 59
src/xt_pages/user/evaluationtool/nourishmentAssessment.vue 查看文件

@@ -31,11 +31,11 @@
31 31
                         <td class="saoyang wenzi_color">
32 32
                             营养需要量轻度增加:
33 33
                             <div >
34
-                                <span v-for="item in qingdu" class="rightjiange">
35
-                                    <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
34
+                                <span v-for="item in jibing_qdu" class="rightjiange">
35
+                                    <label><input type="checkbox" :value='item.label' v-model='item.is_check' @click='jibing_q(item)' />&nbsp;{{ item.label }}</label>
36 36
                                 </span>
37
-                                <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
38
-                                    <el-input v-model="input" placeholder="" style="width: 120px;"></el-input>
37
+                                <label><input type="checkbox" v-model='is_check1' @click='jibing_q2'/>&nbsp;
38
+                                    <el-input v-model="qd_input" placeholder="" style="width: 120px;"></el-input>
39 39
                                 </label>
40 40
                             </div>
41 41
                         </td>
@@ -47,11 +47,11 @@
47 47
                           <td class="saoyang wenzi_color">
48 48
                               营养需要量中度增加:
49 49
                               <div >
50
-                                  <span v-for="item in zhdu" class="rightjiange">
51
-                                      <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
50
+                                  <span v-for="item in jibing_zhdu" class="rightjiange" @click="jibing_z(item)">
51
+                                      <label><input type="checkbox" :value='item.label' v-model='item.is_check' />&nbsp;{{ item.label }}</label>
52 52
                                   </span>
53
-                                  <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
54
-                                      <el-input v-model="input" placeholder="" style="width: 120px;"></el-input>
53
+                                  <label><input type="checkbox" v-model="is_check2" @click="jibing_z2"/>&nbsp;
54
+                                      <el-input v-model="zd_input" placeholder="" style="width: 120px;"></el-input>
55 55
                                   </label>
56 56
                               </div>
57 57
                           </td>
@@ -63,11 +63,11 @@
63 63
                           <td class="saoyang wenzi_color">
64 64
                               营养需要量重度增加:
65 65
                               <div >
66
-                                  <span v-for="item in zhongsdu" class="rightjiange">
67
-                                      <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
66
+                                  <span v-for="item in jibing_zhongsdu" class="rightjiange" @click="jibing_zz(item)">
67
+                                      <label><input type="checkbox" :value='item.label' v-model='item.is_check' />&nbsp;{{ item.label }}</label>
68 68
                                   </span>
69
-                                  <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
70
-                                      <el-input v-model="input" placeholder="" style="width: 120px;"></el-input>
69
+                                  <label><input type="checkbox" v-model="is_check3" @click="jibing_zz2"/>&nbsp;
70
+                                      <el-input v-model="zzd_input" placeholder="" style="width: 120px;"></el-input>
71 71
                                   </label>
72 72
                               </div>
73 73
                           </td>
@@ -76,12 +76,12 @@
76 76
                   </table>
77 77
 
78 78
                   <table class="table" border="1" style="width: 100%;margin-bottom: 20px;">
79
-                      <thead>
80
-                          <tr>
81
-                              <th colspan="2" style="text-align: left;padding-left: 5px;">营养受损评分</th>
82
-                          </tr>
83
-                      </thead>
84
-                      <tbody>
79
+                    <thead>
80
+                        <tr>
81
+                            <th colspan="2" style="text-align: left;padding-left: 5px;">营养受损评分</th>
82
+                        </tr>
83
+                    </thead>
84
+                    <tbody>
85 85
                       <tr class="bg_color">
86 86
                           <td class="start yingyang">
87 87
                             <el-radio v-model="radio1" label="0" @change="handleCheckedCitiesChange">0分</el-radio>
@@ -96,15 +96,11 @@
96 96
 
97 97
                           <td class="saoyang">
98 98
                               <div >
99
-                                  <span class="rightjiange">
100
-                                      <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
101
-                                          3个月内体重下降>5%
102
-                                      </label>
103
-                                      <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
104
-                                          一周内进食量较从前减少25%-50%
99
+                                  <span class="rightjiange" v-for="(item,index) in yingyang_qd" :key="index">
100
+                                      <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="yingyang_q(item)"/>&nbsp;
101
+                                          {{item.label}}
105 102
                                       </label>
106 103
                                   </span>
107
-
108 104
                               </div>
109 105
                           </td>
110 106
                       </tr>
@@ -115,15 +111,11 @@
115 111
 
116 112
                         <td class="saoyang">
117 113
                             <div >
118
-                                <span class="rightjiange">
119
-                                    <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
120
-                                        2个月内体重下降>5%
121
-                                    </label>
122
-                                    <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
123
-                                        一周内进食量较从前减少50%-75%
124
-                                    </label>
114
+                                <span class="rightjiange" v-for="(item,index) in yingyang_zd" :key="index">
115
+                                  <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="yingyang_z(item)"/>&nbsp;
116
+                                      {{item.label}}
117
+                                  </label>
125 118
                                 </span>
126
-
127 119
                             </div>
128 120
                         </td>
129 121
                       </tr>
@@ -132,26 +124,16 @@
132 124
                           <el-radio v-model="radio1" label="3" @change="handleCheckedCitiesChange">3分</el-radio>
133 125
                         </td>
134 126
                         <td class="saoyang">
135
-                            <div >
136
-                                <span class="rightjiange">
137
-                                    <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
138
-                                        1个月内体重下降>5%
139
-                                    </label>
140
-                                    <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
141
-                                        一周内进食量较从前减少75%-100%
142
-                                    </label>
143
-                                    <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
144
-                                        体重指数(BMI)<18.5
145
-                                    </label>
146
-                                    <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
147
-                                        血蛋白<30g/L(得不到准确的BNI值时用白蛋白替代)
148
-                                    </label>
149
-                                </span>
150
-
151
-                            </div>
127
+                          <div >
128
+                              <span class="rightjiange" v-for="(item,index) in yingyang_zzd" :key="index">
129
+                                <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="yingyang_zz(item)"/>&nbsp;
130
+                                    {{item.label}}
131
+                                </label>      
132
+                              </span>
133
+                          </div>
152 134
                         </td>
153 135
                       </tr>
154
-                      </tbody>
136
+                    </tbody>
155 137
                   </table>
156 138
 
157 139
                   <table class="table" border="1" style="width: 100%;">
@@ -186,8 +168,9 @@
186 168
                         <div class="bottoms">
187 169
                             <span>评估日期:</span>
188 170
                             <el-date-picker
189
-                                v-model="value1"
171
+                                v-model="yy_date"
190 172
                                 type="date"
173
+                                value-format="yyyy-MM-dd"
191 174
                                 placeholder="选择日期"
192 175
                                 :clearable="false"
193 176
                                 style="width: 150px;">
@@ -196,9 +179,9 @@
196 179
 
197 180
                         <div class="bottoms">
198 181
                             <span>评估人:</span>
199
-                            <el-select v-model="value" placeholder="请选择" style="width:120px;">
182
+                            <el-select v-model="yy_appraiser" placeholder="请选择" style="width:120px;">
200 183
                                 <el-option
201
-                                v-for="item in options"
184
+                                v-for="item in yy_options"
202 185
                                 :key="item.value"
203 186
                                 :label="item.label"
204 187
                                 :value="item.value"
@@ -208,7 +191,7 @@
208 191
                         </div>
209 192
                     </div>
210 193
                     <div>
211
-                        <el-button type="primary">确定</el-button>
194
+                        <el-button type="primary" @click="yy_onsbmit">确定</el-button>
212 195
                     </div>
213 196
                 </div>
214 197
                 <p>说明:总分 ≥3分   通知医生</p>
@@ -218,6 +201,7 @@
218 201
 </template>
219 202
 <script>
220 203
 import PatientSidebar from '../components/PatientSidebar.vue'
204
+import { uParseTime } from '@/utils/tools'
221 205
 export default {
222 206
   components:{
223 207
     PatientSidebar
@@ -236,25 +220,372 @@ export default {
236 220
       radio_val:null,
237 221
       radio1_val:null,
238 222
       radio2_val:null,
239
-      qingdu:['骸骨折','慢性疾病急性发作或有','COPD','血液透析','肝硬化','一般恶性肿瘤患者','糖尿病'],
240
-      zhdu:['腹部大手术','脑卒中','重度肺炎','血液恶性肿瘤'],
241
-      zhongsdu:['颅脑损伤','骨髓移植','大于APACHE分的ICU患者']
223
+      qd_input:'',
224
+      zd_input:'',
225
+      zzd_input:'',
226
+      is_check1:false,
227
+      check1:0,
228
+      is_check2:false,
229
+      check2:0,
230
+      is_check3:false,
231
+      check3:0,
232
+      yy_date:this.getTime(new Date()),
233
+      yy_appraiser:'',
234
+      yy_options:[],
235
+      jibing_qdu:[{is_check:false,check:0,label:'骸骨折'},{is_check:false,check:0,label:'慢性疾病急性发作或有'},{is_check:false,check:0,label:'COPD'},
236
+                  {is_check:false,check:0,label:'血液透析'},{is_check:false,check:0,label:'肝硬化'},
237
+                  {is_check:false,check:0,label:'一般恶性肿瘤患者'},{is_check:false,check:0,label:'糖尿病'}],
238
+      jibing_zhdu:[{is_check:false,check:0,label:'腹部大手术'},{is_check:false,check:0,label:'脑卒中'},
239
+                    {is_check:false,check:0,label:'重度肺炎'},{is_check:false,check:0,label:'血液恶性肿瘤'}],
240
+      jibing_zhongsdu:[{is_check:false,check:0,label:'颅脑损伤'},{is_check:false,check:0,label:'骨髓移植'},
241
+                        {is_check:false,check:0,label:'大于APACHE分的ICU患者'}],
242
+      yingyang_qd:[{is_check:false,check:0,label:'3个月内体重下降>5% '},{is_check:false,check:0,label:'一周内进食量较从前减少25%-50%'}], 
243
+      yingyang_zd:[{is_check:false,check:0,label:'2个月内体重下降>5%'},{is_check:false,check:0,label:'一周内进食量较从前减少50%-75%'}], 
244
+      yingyang_zzd:[{is_check:false,check:0,label:'1个月内体重下降>5% '},{is_check:false,check:0,label:'一周内进食量较从前减少75%-100%'},
245
+                    {is_check:false,check:0,label:'体重指数(BMI)<18.5 '},{is_check:false,check:0,label:'血蛋白<30g/L(得不到准确的BNI值时用白蛋白替代)'}],                  
242 246
     }
243 247
   },
244 248
   methods:{
249
+    // 选中分值
245 250
     handleCheckedCitiesChange(e){
246 251
       const ball=e * 1
247
-      console.log('1111',e);
252
+      var qingdu = this.jibing_qdu
253
+      var zhdu= this.jibing_zhdu
254
+      var zhongdu = this.jibing_zhongsdu
255
+      var yy_qd = this.yingyang_qd
256
+      var yy_zd = this.yingyang_zd
257
+      var yy_zzd = this.yingyang_zzd
258
+      console.log('1111',e,this.radio);
248 259
       if(ball == this.radio){
249 260
         this.radio_val = ball
261
+        if(this.radio == '0'){
262
+          for(let i in qingdu){
263
+            if(qingdu[i].check==1 || qingdu[i].is_check == true){
264
+              qingdu[i].check=0
265
+              qingdu[i].is_check = false
266
+            }
267
+          }
268
+          if(this.is_check1 == true || this.check1 ==1){
269
+            this.is_check1 = false 
270
+             this.check1 =0
271
+          }
272
+          for(let i in zhdu){
273
+            if(zhdu[i].check==1 || zhdu[i].is_check == true){
274
+              zhdu[i].check=0
275
+              zhdu[i].is_check = false
276
+            }
277
+          }
278
+          if(this.is_check2 == true || this.check2 ==1){
279
+            this.is_check2 = false 
280
+             this.check2 =0
281
+          }
282
+          for(let i in zhongdu){
283
+            if(zhongdu[i].check==1 || zhongdu[i].is_check == true){
284
+              zhongdu[i].check=0
285
+              zhongdu[i].is_check = false
286
+            }
287
+          }
288
+          if(this.is_check3 == true || this.check3 ==1){
289
+            this.is_check3 = false 
290
+             this.check3 =0
291
+          }
292
+        }
293
+        if(this.radio == '1'){
294
+          for(let i in zhdu){
295
+            if(zhdu[i].check==1 || zhdu[i].is_check == true){
296
+              zhdu[i].check=0
297
+              zhdu[i].is_check = false
298
+            }
299
+          }
300
+          for(let i in zhongdu){
301
+            if(zhongdu[i].check==1 || zhongdu[i].is_check == true){
302
+              zhongdu[i].check=0
303
+              zhongdu[i].is_check = false
304
+            }
305
+          }
306
+          if(this.is_check2 == true || this.check2 ==1){
307
+            this.is_check2 = false 
308
+             this.check2 =0
309
+          }
310
+          if(this.is_check3 == true || this.check3 ==1){
311
+            this.is_check3 = false 
312
+             this.check3 =0
313
+          }
314
+        }
315
+        if(this.radio == '2'){
316
+          for(let i in qingdu){
317
+            if(qingdu[i].check==1 || qingdu[i].is_check == true){
318
+              qingdu[i].check=0
319
+              qingdu[i].is_check = false
320
+            }
321
+          }
322
+          for(let i in zhongdu){
323
+            if(zhongdu[i].check==1 || zhongdu[i].is_check == true){
324
+              zhongdu[i].check=0
325
+              zhongdu[i].is_check = false
326
+            }
327
+          }
328
+          if(this.is_check1 == true || this.check1 ==1){
329
+            this.is_check1 = false 
330
+             this.check1 =0
331
+          }
332
+          if(this.is_check3 == true || this.check3 ==1){
333
+            this.is_check3 = false 
334
+             this.check3 =0
335
+          }
336
+        }
337
+        if(this.radio == '3'){
338
+          for(let i in qingdu){
339
+            if(qingdu[i].check==1 || qingdu[i].is_check == true){
340
+              qingdu[i].check=0
341
+              qingdu[i].is_check = false
342
+            }
343
+          }
344
+          for(let i in zhdu){
345
+            if(zhdu[i].check==1 || zhdu[i].is_check == true){
346
+              zhdu[i].check=0
347
+              zhdu[i].is_check = false
348
+            }
349
+          }
350
+          if(this.is_check1 == true || this.check1 ==1){
351
+            this.is_check1 = false 
352
+             this.check1 =0
353
+          }
354
+          if(this.is_check2 == true || this.check2 ==1){
355
+            this.is_check2 = false 
356
+             this.check2 =0
357
+          }
358
+        }
250 359
       }
251 360
       if(e == this.radio1){
252 361
         this.radio1_val = ball
362
+        if(this.radio1 == '0'){
363
+          for(let i in yy_qd){
364
+            if(yy_qd[i].check==1 || yy_qd[i].is_check == true){
365
+              yy_qd[i].check=0
366
+              yy_qd[i].is_check = false
367
+            }
368
+          }
369
+          for(let i in yy_zd){
370
+            if(yy_zd[i].check==1 || yy_zd[i].is_check == true){
371
+              yy_zd[i].check=0
372
+              yy_zd[i].is_check = false
373
+            }
374
+          }
375
+          for(let i in yy_zzd){
376
+            if(yy_zzd[i].check==1 || yy_zzd[i].is_check == true){
377
+              yy_zzd[i].check=0
378
+              yy_zzd[i].is_check = false
379
+            }
380
+          }
381
+        }
382
+        if(this.radio1 == '1'){
383
+          for(let i in yy_zd){
384
+            if(yy_zd[i].check==1 || yy_zd[i].is_check == true){
385
+              yy_zd[i].check=0
386
+              yy_zd[i].is_check = false
387
+            }
388
+          }
389
+          for(let i in yy_zzd){
390
+            if(yy_zzd[i].check==1 || yy_zzd[i].is_check == true){
391
+              yy_zzd[i].check=0
392
+              yy_zzd[i].is_check = false
393
+            }
394
+          }
395
+        }
396
+        if(this.radio1 == '2'){
397
+          for(let i in yy_qd){
398
+            if(yy_qd[i].check==1 || yy_qd[i].is_check == true){
399
+              yy_qd[i].check=0
400
+              yy_qd[i].is_check = false
401
+            }
402
+          }
403
+          for(let i in yy_zzd){
404
+            if(yy_zzd[i].check==1 || yy_zzd[i].is_check == true){
405
+              yy_zzd[i].check=0
406
+              yy_zzd[i].is_check = false
407
+            }
408
+          }
409
+        }
410
+        if(this.radio1 == '3'){
411
+          for(let i in yy_qd){
412
+            if(yy_qd[i].check==1 || yy_qd[i].is_check == true){
413
+              yy_qd[i].check=0
414
+              yy_qd[i].is_check = false
415
+            }
416
+          }
417
+          for(let i in yy_zd){
418
+            if(yy_zd[i].check==1 || yy_zd[i].is_check == true){
419
+              yy_zd[i].check=0
420
+              yy_zd[i].is_check = false
421
+            }
422
+          }
423
+        }
253 424
       }
254 425
       if(e == this.radio2){
255 426
         this.radio2_val = ball
256 427
       }
257 428
     },
429
+    // 疾病轻度
430
+    jibing_q(item){
431
+      const qingdu = this.jibing_qdu
432
+      for(let i in qingdu){  
433
+        if(item.label==qingdu[i].label){
434
+          console.log('aaaaa',qingdu);
435
+          if(item.check==0){
436
+            qingdu[i].is_check = true
437
+            qingdu[i].check = 1
438
+          }else{
439
+            qingdu[i].is_check = false
440
+            qingdu[i].check = 0
441
+          }
442
+        }
443
+      }
444
+    },
445
+    jibing_q2(){
446
+      if(this.check1 ==0){
447
+        this.is_check1 = true
448
+        this.check1 = 1
449
+      }else{
450
+        this.is_check1 = false
451
+        this.check1 = 0
452
+      }
453
+    },
454
+    // 疾病中度
455
+    jibing_z(item){
456
+      const zdu = this.jibing_zhdu
457
+      for(let i in zdu){  
458
+        if(item.label==zdu[i].label){
459
+          console.log('aaaaa',zdu);
460
+          if(item.check==0){
461
+            zdu[i].is_check = true
462
+            zdu[i].check = 1
463
+          }else{
464
+            zdu[i].is_check = false
465
+            zdu[i].check = 0
466
+          }
467
+        }
468
+      }
469
+    },
470
+    jibing_z2(){
471
+      if(this.check2 ==0){
472
+        this.is_check2 = true
473
+        this.check2 = 1
474
+      }else{
475
+        this.is_check2 = false
476
+        this.check2 = 0
477
+      }
478
+    },
479
+    // 疾病重度
480
+    jibing_zz(item){
481
+      const zhongdu = this.jibing_zhongsdu
482
+      for(let i in zhongdu){  
483
+        if(item.label==zhongdu[i].label){
484
+          console.log('aaaaa',zhongdu);
485
+          if(item.check==0){
486
+            zhongdu[i].is_check = true
487
+            zhongdu[i].check = 1
488
+          }else{
489
+            zhongdu[i].is_check = false
490
+            zhongdu[i].check = 0
491
+          }
492
+        }
493
+      }
494
+    },
495
+    jibing_zz2(){
496
+      if(this.check3 ==0){
497
+        this.is_check3 = true
498
+        this.check3 = 1
499
+      }else{
500
+        this.is_check3 = false
501
+        this.check3 = 0
502
+      }
503
+    },
504
+    // 营养轻度
505
+    yingyang_q(item){
506
+      const yy_qing = this.yingyang_qd
507
+      for(let i in yy_qing){  
508
+        if(item.label==yy_qing[i].label){
509
+          console.log('aaaaa',yy_qing);
510
+          if(item.check==0){
511
+            yy_qing[i].is_check = true
512
+            yy_qing[i].check = 1
513
+          }else{
514
+            yy_qing[i].is_check = false
515
+            yy_qing[i].check = 0
516
+          }
517
+        }
518
+      }
519
+    },
520
+    // 中度
521
+    yingyang_z(item){
522
+      const yy_zhdu = this.yingyang_zd
523
+      for(let i in yy_zhdu){  
524
+        if(item.label==yy_zhdu[i].label){
525
+          console.log('aaaaa',yy_zhdu);
526
+          if(item.check==0){
527
+            yy_zhdu[i].is_check = true
528
+            yy_zhdu[i].check = 1
529
+          }else{
530
+            yy_zhdu[i].is_check = false
531
+            yy_zhdu[i].check = 0
532
+          }
533
+        }
534
+      }
535
+    },
536
+    // 重度
537
+    yingyang_zz(item){
538
+      const yy_zzd = this.yingyang_zzd
539
+      for(let i in yy_zzd){  
540
+        if(item.label==yy_zzd[i].label){
541
+          console.log('aaaaa',yy_zzd);
542
+          if(item.check==0){
543
+            yy_zzd[i].is_check = true
544
+            yy_zzd[i].check = 1
545
+          }else{
546
+            yy_zzd[i].is_check = false
547
+            yy_zzd[i].check = 0
548
+          }
549
+        }
550
+      }
551
+    },
552
+    // 转换时间
553
+    getTime(val) {
554
+        if(val < 0){
555
+          return ""
556
+        }
557
+        if(val == ""){
558
+        return ""
559
+        }else {
560
+        return uParseTime(val, '{y}-{m}-{d}')
561
+        }
562
+    },
563
+    // 确认
564
+    yy_onsbmit(){
565
+      var params={
566
+        radio:this.radio,
567
+        radio1:this.radio1,
568
+        radio2:this.radio2,
569
+        jibing_qdu:this.jibing_qdu,
570
+        jibing_zhdu:this.jibing_zhdu,
571
+        jibing_zhongsdu:this.jibing_zhongsdu,
572
+        is_check1:this.is_check1,
573
+        check1:this.check1,
574
+        is_check2:this.is_check2,
575
+        check2:this.check2,
576
+        is_check3:this.is_check3,
577
+        check3:this.check3,
578
+        yingyang_qd:this.yingyang_qd,
579
+        yingyang_zd:this.yingyang_zd,
580
+        yingyang_zzd:this.yingyang_zzd,
581
+        yy_date:this.yy_date,
582
+        yy_appraiser:this.yy_appraiser,
583
+        yy_options:this.yy_options,
584
+        nour_Totalpoints:this.nour_Totalpoints,
585
+        patientID:this.patientID,
586
+      }
587
+    },
588
+    // 跳转历史
258 589
     nourishistory(){
259 590
       this.$router.push({path: '/patients/nourishment_history'})
260 591
     }

+ 23 - 14
src/xt_pages/user/evaluationtool/pediatricFallAssessment.vue 查看文件

@@ -112,17 +112,16 @@
112 112
 
113 113
                         <div class="bottoms">
114 114
                             <span>评估人:</span>
115
-                            <el-select v-model="tumble" placeholder="请选择" >
115
+                            <el-select v-model="tumble" placeholder="请选择" style="width:150px;">
116 116
                                 <el-option
117 117
                                 v-for="item in tumble_options"
118 118
                                 :key="item.admin_user_id"
119 119
                                 :label="item.user_name"
120 120
                                 :value="item.admin_user_id"
121
-                                style="width:150px;">
121
+                                >
122 122
                                 </el-option>
123 123
                             </el-select>
124 124
                         </div>
125
-
126 125
                     </div>
127 126
                     <div style="margin:5px 10px;">
128 127
                       <el-button type="primary" @click="toDialog">确认</el-button>
@@ -199,11 +198,13 @@ export default {
199 198
       dialogVisible:false,
200 199
       text:'',
201 200
       num:1,
202
-      tumble_options:[],
201
+      tumble_options:[{admin_user_id:1,user_name:'小米'},{admin_user_id:2,user_name:'小明'},{admin_user_id:3,user_name:'小红'}],
202
+      // tumble_options:[],
203 203
       tumble:'',
204 204
       date:this.getTime(new Date()),
205 205
       patient:'',
206 206
       touxihao:0,
207
+      pedFallssessment:{},
207 208
     }
208 209
   },
209 210
   created(){
@@ -213,6 +214,7 @@ export default {
213 214
   },
214 215
   methods:{
215 216
     ageclick(e,item){
217
+      console.log(item);
216 218
       for(let i in this.age){
217 219
         if(this.age[i].value ==item.value){
218 220
           if(this.age[i].check==0){
@@ -226,7 +228,7 @@ export default {
226 228
           this.age[i].check =0
227 229
         }
228 230
       }
229
-      console.log(this.age);
231
+      // console.log(this.age);
230 232
     },
231 233
     sexChange(e,item){
232 234
       for(let i in this.sex){
@@ -310,8 +312,13 @@ export default {
310 312
     },
311 313
     // 历史评估
312 314
     childerHistory(){
313
-      this.$router.push({path: '/patients/Children_history?patient_id='+this.patient_id})
315
+      this.$router.push(
316
+        {path: '/patients/Children_history',
317
+        query:{patient_id:this.patient_id,
318
+              tumble_options:this.tumble_options}})
319
+      // this.$router.push({path: '/patients/Children_history?patient_id='+this.patient_id+'pedFallssessment='+this.pedFallssessment})
314 320
     },
321
+    // 时间转换
315 322
     getTime(val) {
316 323
         if(val < 0){
317 324
           return ""
@@ -325,14 +332,13 @@ export default {
325 332
     toDialog(){
326 333
       
327 334
        var params = {
328
-          age:this.age,
329
-          sex:this.sex,
330
-          diagnosis:this.diagnosis,
331
-          cognize:this.cognize,
332
-          environment:this.environment,
333
-          medicine:this.medicine,
335
+          age:this.agevalue,
336
+          sex:this.sexvalue,
337
+          diagnosis:this.diagnosis_val,
338
+          cognize:this.cognize_val,
339
+          environment:this.environment_val,
340
+          medicine:this.medicine_val,
334 341
           pedia_Totalpoints:this.pedia_Totalpoints,
335
-          tumble_options:this.tumble_options,
336 342
           tumble:this.tumble,
337 343
           date:this.date,
338 344
           patient_id:this.patient_id,
@@ -342,6 +348,8 @@ export default {
342 348
       savePediatrcFallAssesment(params).then(response=>{
343 349
          if(response.data.state ==1){
344 350
            var pedFallssessment =  response.data.data.pedFallssessment
351
+            this.pedFallssessment = pedFallssessment
352
+           console.log('pedFallssessment',this.pedFallssessment);
345 353
            this.$message.success("保存成功!")
346 354
          }
347 355
       })
@@ -349,9 +357,10 @@ export default {
349 357
     getAllNurseList(){
350 358
         getAllNurseList().then(response=>{
351 359
            if(response.data.state ==1){
360
+            console.log('response.data.data',response.data.data);
352 361
              var nurseList  = response.data.data.nurseList
353 362
 
354
-             this.tumble_options =nurseList
363
+            //  this.tumble_options =nurseList
355 364
            }
356 365
         })
357 366
     },

+ 127 - 73
src/xt_pages/user/evaluationtool/pruritusAssessment.vue 查看文件

@@ -25,15 +25,15 @@
25 25
                 <td class="start">痒的部位</td>
26 26
                 <td>
27 27
                   <div class="jiange"><!-- v-model="item.is_check" v-model="is_check1" v-model="is_check2"-->
28
-                    <span v-for="item in buwei" class="rightjiange" @change="handleCheckedCitiesChange">
29
-                        <label><input type="checkbox" class="check"  :value="item.label"  />&nbsp;{{ item.label }}</label>
28
+                    <span v-for="item in buwei" class="rightjiange" >
29
+                        <label><input type="checkbox" class="check" :value="item.label" v-model="item.is_check" @click="handleCheckedCitiesChange($event,item)"/>&nbsp;{{ item.label }}</label>
30 30
                     </span>
31
-                    <label @change="handleCheckedCitiesChange"><input type="checkbox" class="check"  value="其他" />
32
-                        &nbsp;其他 <el-input v-model="input" style="width: 100px;"></el-input>
31
+                    <label ><input type="checkbox" class="check" value="其他"  v-model="is_check1" @click="qita_click"/>
32
+                        &nbsp;其他 <el-input v-model="buwei_input" style="width: 100px;"></el-input>
33 33
                     </label>
34 34
                     <!-- quan_change -->
35
-                    <label @change="handleCheckedCitiesChange">
36
-                      <input type="checkbox" class="checkbox"  value="全身" />&nbsp;全身
35
+                    <label >
36
+                      <input type="checkbox" class="checkbox" value="全身" v-model="is_check2" @click="quan_change"/>&nbsp;全身
37 37
                     </label>
38 38
                   </div>
39 39
                 </td>
@@ -45,7 +45,7 @@
45 45
                 <td>
46 46
                     <div class="jiange">
47 47
                         <el-radio-group v-model="radio1" @change="radiochecked">
48
-                            <el-radio v-for="(item,index ) in chengdu" :label="item" :key="index" style="color: black;font-size: 15PX;">{{ item }}</el-radio>
48
+                            <el-radio v-for="(item,index ) in chengdu" :label="item.value" :key="index" style="color: black;font-size: 15PX;">{{ item.label }}</el-radio>
49 49
                         </el-radio-group>
50 50
                     </div>
51 51
                 </td>
@@ -57,7 +57,7 @@
57 57
                 <td>
58 58
                     <div  class="jiange">
59 59
                         <el-radio-group v-model="radio2" @change="radiochecked">
60
-                            <el-radio v-for="(item,index ) in pinlv" :label="item" :key="index" style="color: black;font-size: 15PX;">{{ item }}</el-radio>
60
+                            <el-radio v-for="(item,index ) in pinlv" :label="item.value" :key="index" style="color: black;font-size: 15PX;">{{ item.label }}</el-radio>
61 61
                         </el-radio-group>
62 62
                     </div>
63 63
                 </td>
@@ -69,7 +69,7 @@
69 69
                 <td>
70 70
                     <div  class="jiange">
71 71
                         <el-radio-group v-model="radio3" @change="radiochecked">
72
-                            <el-radio v-for="(item,index ) in yingxiang" :label="item" :key="index" style="color: black;font-size: 15PX;">{{ item }}</el-radio>
72
+                            <el-radio v-for="(item,index ) in yingxiang" :label="item.value" :key="index" style="color: black;font-size: 15PX;">{{ item.label }}</el-radio>
73 73
                         </el-radio-group>
74 74
                     </div>
75 75
                 </td>
@@ -92,8 +92,9 @@
92 92
             <div class="bottoms">
93 93
               <span>评估日期:</span>
94 94
               <el-date-picker
95
-                  v-model="value1"
95
+                  v-model="pruritus_data"
96 96
                   type="date"
97
+                  value-format="yyyy-MM-dd"
97 98
                   placeholder="选择日期"
98 99
                   :clearable="false"
99 100
                   style="width: 150px;">
@@ -102,9 +103,9 @@
102 103
 
103 104
             <div class="bottoms">
104 105
               <span>评估人:</span>
105
-              <el-select v-model="value" placeholder="请选择" >
106
+              <el-select v-model="pruritus_appraiser" placeholder="请选择" >
106 107
                   <el-option
107
-                  v-for="item in options"
108
+                  v-for="item in pruritus_options"
108 109
                   :key="item.value"
109 110
                   :label="item.label"
110 111
                   :value="item.value"
@@ -114,7 +115,7 @@
114 115
             </div>
115 116
           </div>
116 117
           <div style="margin:5px 10px;">
117
-              <el-button type="primary">确认</el-button>
118
+              <el-button type="primary" @click="pruritus_click">确认</el-button>
118 119
           </div>
119 120
         </div>
120 121
       </div>
@@ -124,6 +125,7 @@
124 125
 </template>
125 126
 <script>
126 127
 import PatientSidebar from '../components/PatientSidebar.vue'
128
+import { uParseTime } from '@/utils/tools'
127 129
 export default {
128 130
   components:{
129 131
     PatientSidebar
@@ -141,92 +143,144 @@ export default {
141 143
       radio2_points:0,
142 144
       radio3_points:0,
143 145
       checked_points:0,
144
-      // pruritus_Totalpoints:0,
146
+      pruritus_options:[],
147
+      pruritus_appraiser:'',
148
+      pruritus_data:this.getTime(new Date()),
145 149
       buwei:[{label:'躯体',is_check:false,check:0},{label:'上肢',is_check:false,check:0},{label:'下肢',is_check:false,check:0},{label:'头皮',is_check:false,check:0},],
146
-      chengdu:['不要抓(1)','要抓但没有抓痕(2)','抓出抓痕才能止痒(3)','经常抓出抓痕(4)','完全坐立不安(5)'],
147
-      pinlv:['很少时候(1)','较少时候(2)','较多时候(3)','很多时候(4)','一直持续(5)'],
148
-      yingxiang:['无影响(0)','一夜痒醒一次(2)','一夜痒醒两次(4)','一夜痒醒三次(6)'],
150
+      chengdu:[{value:1,label:'不要抓(1)'},{value:2,label:'要抓但没有抓痕(2)'},{value:3,label:'抓出抓痕才能止痒(3)'},{value:4,label:'经常抓出抓痕(4)'},{value:5,label:'完全坐立不安(5)'}],
151
+      pinlv:[{value:1,label:'很少时候(1)'},{value:2,label:'较少时候(2)'},{value:3,label:'较多时候(3)'},{value:4,label:'很多时候(4)'},{value:5,label:'一直持续(5)'}],
152
+      yingxiang:[{value:0,label:'无影响(0)'},{value:2,label:'一夜痒醒一次(2)'},{value:4,label:'一夜痒醒两次(4)'},{value:6,label:'一夜痒醒三次(6)'}],
149 153
       options:[],
150 154
       value:'',
151 155
       value1:'',
152 156
       num:0,
153 157
       is_check1:false,
158
+      check1:0,
154 159
       is_check2:false,
160
+      check2:0,
161
+      buwei_input:'',
155 162
     }
156 163
   },
157 164
   methods:{
158
-    handleCheckedCitiesChange(e){
159
-      console.log(e);
160
-      const ball = e.target.value
161
-      // for(let i in this.buwei){
162
-      //   if(this.buwei[i].label == ball || ball=='其它'){
163
-      //     if(this.num<3){
164
-      //       var checked =1
165
-      //       this.num++
166
-      //       this.buwei[i].is_check = true
167
-      //       this.is_check1 = true
168
-      //       this.checked_points = this.checked_points + checked
169
-      //     }else{
170
-
171
-      //     }
172
-      //   }
173
-      // }
174
-      // var num = null
175
-      const checkboxs=document.getElementsByClassName('checkbox')
176
-      const checkbox2=document.getElementsByClassName('check')
177
-
178
-      for(let i=0;i<checkbox2.length;i++){
179
-        if(ball=='全身'){
180
-          // this.is_check2=true
181
-          // this.is_check1 = false
182
-          // this.is_check = false
183
-          checkboxs[0].checked=true
184
-          checkbox2[i].checked=false
185
-          this.checked_points = 3
186
-          this.num=0
187
-        }else{
188
-          if(ball==checkbox2[i].value){
189
-            // 得分归0
190
-            if(checkboxs[0].checked==true&&ball!='全身'){
191
-              this.checked_points = 0
192
-            }
193
-            console.log('cccc',this.num);
194
-            // 选择非全身时不能超过3个
195
-            if(this.num<3){
196
-              var checked =1
165
+    // 痒的部位选项
166
+    handleCheckedCitiesChange(e,item){
167
+      for(let i in this.buwei){
168
+        if(item.label==this.buwei[i].label){
169
+          if(item.check==0){
170
+            if(this.num <3){
171
+              if(this.is_check2 == true){
172
+                this.is_check2 = false
173
+                this.check = 0
174
+                this.checked_points = 0
175
+              }
176
+              this.buwei[i].check = 1
177
+              this.buwei[i].is_check = true
178
+              console.log('1111',this.buwei[i]);
197 179
               this.num++
198
-              this.checked_points = this.checked_points + checked
199
-              checkbox2[i].checked =true
200
-              checkboxs[0].checked =false//取消全身的选中
201
-              return this.num
202
-            }else{
203
-              checkbox2[i].checked =false//选择超过3个时无法选中
204
-              checkboxs[0].checked =false//取消全身的选中
180
+              this.checked_points = this.checked_points + 1
205 181
             }
182
+            
183
+          }else{
184
+            this.buwei[i].check = 0
185
+            this.buwei[i].is_check = false
186
+            console.log('2222',this.buwei[i]);
187
+            this.num--
188
+            this.checked_points = this.checked_points - 1
206 189
           }
207 190
         }
208 191
       }
209
-      return this.checked_points
210 192
     },
193
+    //  痒的部位全部选项
211 194
     quan_change(e){
212 195
       const ball=e.target.value
196
+      console.log(ball);
213 197
       if(ball=='全身'){
214
-
198
+        if(this.is_check2 == false){
199
+          this.check2 = 1
200
+          this.is_check2 = true
201
+          this.checked_points =3
202
+          this.num = 0
203
+          for(let i in this.buwei){
204
+            if(this.buwei[i].is_check == true){
205
+              this.buwei[i].is_check =false
206
+              this.buwei[i].check = 0
207
+            }
208
+          }
209
+          console.log('uuuu',this.check2,this.is_check2);
210
+        }else{
211
+          this.check2 = 0
212
+          this.is_check2 = false
213
+          this.checked_points =0
214
+          this.num = 0
215
+          console.log('iiiii',this.check2,this.is_check2);
216
+        }
217
+      }
218
+    },
219
+    // 痒的部位其它选项
220
+    qita_click(e){
221
+      const ball=e.target.value
222
+      console.log(ball);
223
+      if(ball =='其他'){
224
+      console.log('this.is_check1',this.is_check1);
225
+        if(this.is_check1 == false){
226
+          if(this.num < 3){
227
+            this.check1 = 1
228
+            this.is_check1 = true
229
+            this.checked_points =this.checked_points + 1
230
+            this.num++
231
+          }
232
+        }else{
233
+          this.check2 = 0
234
+          this.is_check2 = false
235
+          this.checked_points =this.checked_points - 1
236
+          this.num--
237
+        }
215 238
       }
216 239
     },
240
+    // 单选
217 241
     radiochecked(e){
218
-      const bal=e
219
-      const jiequ =(bal.split('(')[1].split(')')[0]) * 1
220
-      if(bal == this.radio1){
221
-        this.radio1_points =jiequ
242
+      console.log('eeeee',e);
243
+      if(e == this.radio1){
244
+        this.radio1_points =e
222 245
       }
223
-      if(bal == this.radio2){
224
-        this.radio2_points =jiequ
246
+      if(e == this.radio2){
247
+        this.radio2_points =e
225 248
       }
226
-      if(bal == this.radio3){
227
-        this.radio3_points =jiequ
249
+      if(e == this.radio3){
250
+        this.radio3_points =e
228 251
       }
229 252
     },
253
+    // 确认
254
+    pruritus_click(){
255
+      var params = {
256
+        radio1:this.radio1,
257
+        radio2:this.radio2,
258
+        radio3:this.radio3,
259
+        pruritus_options:this.pruritus_options,//评估数据
260
+        pruritus_appraiser:this.pruritus_appraiser,//评估人
261
+        pruritus_data:this.pruritus_data,//时间
262
+        pruritus_Totalpoints:this.pruritus_Totalpoints,//总分
263
+        patientID:this.patientID,
264
+        buwei:this.buwei,//部位
265
+        is_check1:this.is_check1,//其它选项model
266
+        check1:this.check1,//其它选项
267
+        is_check2:this.is_check2,//全部选项model
268
+        check2:this.check2,//全部选项
269
+        num:this.num,//控制复选个数
270
+        buwei_input:this.buwei_input//其它的输入框
271
+      }
272
+    },
273
+    // 转换时间
274
+    getTime(val) {
275
+        if(val < 0){
276
+          return ""
277
+        }
278
+        if(val == ""){
279
+        return ""
280
+        }else {
281
+        return uParseTime(val, '{y}-{m}-{d}')
282
+        }
283
+    },
230 284
     pruritushistory(){
231 285
       this.$router.push({path: '/patients/pruritus_history'})
232 286
     }

+ 55 - 35
src/xt_pages/user/history/RASS_history.vue 查看文件

@@ -226,21 +226,21 @@
226 226
                 <span>评估护士:</span>
227 227
                 <span>总分:</span>
228 228
               </div>
229
-                <table class="table" border="1" style="width: 100%;border-collapse: collapse;margin-bottom: 30px;">
229
+                <table class="table" border="1" style="width: 100%;border-collapse:collapse;margin-bottom:30px">
230 230
                   <thead>
231 231
                     <tr>
232 232
                       <th style="width: 180px; text-align: left;margin-left: 5px;">LOS评分</th>
233 233
                     </tr>
234 234
                   </thead>
235 235
                   <tbody>
236
-                    <tr v-for="(item, index) in LOS" :key="index">
236
+                    <tr v-for="(item, index) in LOS" :key="index" :style="{'background':(index==0 || index % 2==0) ?'rgb(243, 240, 240)':'white'}">
237 237
                       <td style="padding: 5px;">
238 238
                         <div class="rightjiange" style="position: relative;">
239 239
                           <label style="">
240
-                            <input type="radio" name="ball" :value="item.value"  />
240
+                            <input type="radio" name="ball" :value="item.label" v-model="RAssradio"  @change="handleCheckedCitiesChange(item)"/>
241 241
                             <div style="display: inline-block;">{{ item.title }}</div>&nbsp;
242
-                            <div style="display: inline-block;position: absolute;top:0px">
243
-                                {{ item.value }}
242
+                            <div :style="{'display': 'inline-block','position': 'absolute'}">
243
+                                {{ item.label }}
244 244
                             </div>
245 245
                           </label>
246 246
                         </div>
@@ -249,35 +249,49 @@
249 249
                   </tbody>
250 250
                 </table>
251 251
 
252
-                <table class="table" border="1" style="width: 100%;border-collapse: collapse;">
252
+                <table class="tables" border="1" style="width: 100%;border-collapse:collapse;">
253 253
                   <thead>
254 254
                     <tr>
255 255
                       <th colspan="2">RASS评分</th>
256 256
                     </tr>
257 257
                   </thead>
258 258
                   <tbody>
259
-                    <tr class="bg_color" v-for="(item,index) in RASS" :key="index">
260
-                        <td class='bing' style="width: 50%;">
261
-                          <div class="" style="position: relative;">
262
-                            <label style="">
263
-                              <input type="radio" name="ball" :value="item.value"  />
264
-                              <div style="display: inline-block;">{{ item.title }}</div>&nbsp;
265
-                              <div style="display: inline-block;width: 80%;">
266
-                                  {{ item.value }}
267
-                              </div>
268
-                            </label>
269
-                          </div>
259
+                    <tr >
260
+                        <td style='width:50%'>
261
+                          <table class="table" border="1" style="width: 100%;border-collapse: collapse;">
262
+                            <tr class="bg_color" v-for="(item,index) in RASS" :key="index" 
263
+                            :style="{'background':(index==0 || index % 2==0) ?'rgb(243, 240, 240)':'white'}">
264
+                              <td style='height: 40px;'>
265
+                                <div class="rightjiange" style="position: relative;">
266
+                                  <label style="">
267
+                                    <input type="radio" name="ball" :value="item.label" v-model="RAssradio"  @change="handleCheckedCitiesChange(item)"/>
268
+                                    <div style="display: inline-block;">{{ item.title }}</div>&nbsp;
269
+                                    <div :style="{'display': 'inline-block','position': 'absolute','top':index ==4 ? '-8px':'0px','overflow': 'auto',}">
270
+                                        {{ item.label }}
271
+                                    </div>
272
+                                  </label>
273
+                                </div>
274
+                              </td>
275
+                            </tr>
276
+                          </table>
270 277
                         </td>
271
-                        <td class='bing'>
272
-                          <div class="rightjiange" style="position: relative;">
273
-                            <label style="">
274
-                              <input type="radio" name="ball" :value="item.value2"  />
275
-                              <div style="display: inline-block;">{{ item.title2 }}</div>&nbsp;
276
-                              <div style="display: inline-block;position: absolute;top:0px">
277
-                                  {{ item.value2 }}
278
-                              </div>
279
-                            </label>
280
-                          </div>
278
+                        <td>
279
+                          <table class="table" border="1" style="width: 100%;border-collapse: collapse;">
280
+                            <tr v-for="(item,index) in RASS1" :key="index"
281
+                            :style="{'background':(index==0 || index % 2==0) ?'rgb(243, 240, 240)':'white'}">
282
+                              <td style='height: 40px;'>
283
+                                <div class="rightjiange" style="position: relative;">
284
+                                  <label style="">
285
+                                    <input type="radio" name="ball" :value="item.label" v-model="RAssradio"  @change="handleCheckedCitiesChange(item)"/>
286
+                                    <div style="display: inline-block;">{{ item.title2 }}</div>&nbsp;
287
+                                    <div style="display: inline-block; overflow: auto;">
288
+                                        {{ item.label }}
289
+                                    </div>
290
+                                  </label>
291
+                                </div>
292
+                              </td>
293
+                            </tr>
294
+                          </table>
281 295
                         </td>
282 296
                     </tr>
283 297
                   </tbody>
@@ -317,16 +331,22 @@ export default{
317 331
       row:'',
318 332
 
319 333
       tableData:[{id:1,time:'2023-9-27',mark:'15',evaluate:'千亦雪'},{id:1,time:'2023-9-27',mark:'14',evaluate:'千任雪'}],
320
-      LOS:[{title:'0分', value:'清醒'},{title:'1分', value:'有些昏昏欲睡,但容易唤醒'},
321
-            {title:'2分', value:'频繁发生昏昏欲睡,容易唤醒,但不能持续处于觉醒状态'},
322
-            {title:'3分', value:'无意识,无法唤醒'},{title:'S分', value:'正常意识,容易唤醒'}
334
+      LOS:[{title:'0分', label:'清醒',value:0},{title:'1分', label:'有些昏昏欲睡,但容易唤醒',value:1},
335
+            {title:'2分', label:'频繁发生昏昏欲睡,容易唤醒,但不能持续处于觉醒状态',value:2},
336
+            {title:'3分', label:'无意识,无法唤醒',value:3},{title:'S分', label:'正常意识,容易唤醒',value:'s'}
323 337
           ],
324
-      RASS:[{title:'-5分', value:'无法唤醒,对声音或物理刺激均无反应',title2:'0分', value2:'警觉的平静的'},
325
-            {title:'-4分', value:'深度镇静,对声音刺激无反应,但对物理刺激有运动或睁眼反应',title2:'+1分', value2:'不安的焦虑的:焦虑但无强烈的攻击行为'},
326
-            {title:'-3分', value:'中度镇静,对声音刺激有活动或睁眼动作(但无目光接触)',title2:'+2分', value2:'焦虑的激动的:经常性的无目的活动,人机对抗'},
327
-            {title:'-2分', value:'轻度镇静,对于声音刺激可以有简短的目光接触的觉醒,<10s',title2:'+3分', value2:'非常焦虑激动的:牵拉或拔除管道,容易焦虑不安'},
328
-            {title:'-1分', value:'困倦的昏昏欲睡的,不完全觉醒但能保持觉醒状态,对于声音刺激眼睛可以睁开或有目光接触≥10s',title2:'+4分', value2:'好斗的好战的:过于好斗,有暴力倾向,对医护人员有攻击行为'},
338
+      RASS:[{title:'-5分', label:'无法唤醒,对声音或物理刺激均无反应',value:-5},
339
+            {title:'-4分', label:'深度镇静,对声音刺激无反应,但对物理刺激有运动或睁眼反应',value:-4},
340
+            {title:'-3分', label:'中度镇静,对声音刺激有活动或睁眼动作(但无目光接触)',value:-3},
341
+            {title:'-2分', label:'轻度镇静,对于声音刺激可以有简短的目光接触的觉醒,<10s',value:-2},
342
+            {title:'-1分', label:'困倦的昏昏欲睡的,不完全觉醒但能保持觉醒状态,对于声音刺激眼睛可以睁开或有目光接触≥10s',value:-1},
329 343
           ],
344
+      RASS1:[{title2:'0分', label:'警觉的平静的',value:0},
345
+              {title2:'+1分', label:'不安的焦虑的:焦虑但无强烈的攻击行为',value:1},
346
+              {title2:'+2分', label:'焦虑的激动的:经常性的无目的活动,人机对抗',value:2},
347
+              {title2:'+3分', label:'非常焦虑激动的:牵拉或拔除管道,容易焦虑不安',value:3},
348
+              {title2:'+4分', label:'好斗的好战的:过于好斗,有暴力倾向,对医护人员有攻击行为',value:4},
349
+            ],
330 350
     }
331 351
   },
332 352
   methods:{

+ 413 - 80
src/xt_pages/user/history/nourishment_history.vue 查看文件

@@ -332,54 +332,54 @@
332 332
             <tbody>
333 333
             <tr class="bg_color">
334 334
                 <td class="start yingyang">
335
-                  <el-radio v-model="radio" label="0" @change="radio_change">0分</el-radio>
335
+                  <el-radio v-model="radio" label="0" @change="handleCheckedCitiesChange">0分</el-radio>
336 336
                 </td>
337 337
                 <td class="saoyang wenzi_color">营养需要量无增加</td>
338 338
             </tr>
339 339
             <tr>
340 340
               <td class="start">
341
-                <el-radio v-model="radio" label="1" @change="radio_change">1分</el-radio>
341
+                <el-radio v-model="radio" label="1" @change="handleCheckedCitiesChange">1分</el-radio>
342 342
               </td>
343 343
               <td class="saoyang wenzi_color">
344 344
                   营养需要量轻度增加:
345 345
                   <div >
346
-                      <span v-for="item in qingdu" class="rightjiange">
347
-                          <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
346
+                      <span v-for="item in jibing_qdu" class="rightjiange">
347
+                          <label><input type="checkbox" :value='item.label' v-model='item.is_check' @click='jibing_q(item)' />&nbsp;{{ item.label }}</label>
348 348
                       </span>
349
-                      <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
350
-                          <el-input v-model="input" placeholder="" style="width: 120px;"></el-input>
349
+                      <label><input type="checkbox" v-model='is_check1' @click='jibing_q2'/>&nbsp;
350
+                          <el-input v-model="qd_input" placeholder="" style="width: 120px;"></el-input>
351 351
                       </label>
352 352
                   </div>
353 353
               </td>
354 354
             </tr>
355 355
             <tr class="bg_color">
356 356
                 <td class="start">
357
-                  <el-radio v-model="radio" label="2" @change="radio_change">2分</el-radio>
357
+                  <el-radio v-model="radio" label="2" @change="handleCheckedCitiesChange">2分</el-radio>
358 358
                 </td>
359 359
                 <td class="saoyang wenzi_color">
360 360
                     营养需要量中度增加:
361 361
                     <div >
362
-                        <span v-for="item in zhdu" class="rightjiange">
363
-                            <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
362
+                        <span v-for="item in jibing_zhdu" class="rightjiange" @click="jibing_z(item)">
363
+                            <label><input type="checkbox" :value='item.label' v-model='item.is_check' />&nbsp;{{ item.label }}</label>
364 364
                         </span>
365
-                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
366
-                            <el-input v-model="input" placeholder="" style="width: 120px;"></el-input>
365
+                        <label><input type="checkbox" v-model="is_check2" @click="jibing_z2"/>&nbsp;
366
+                            <el-input v-model="zd_input" placeholder="" style="width: 120px;"></el-input>
367 367
                         </label>
368 368
                     </div>
369 369
                 </td>
370 370
             </tr>
371 371
             <tr>
372 372
                 <td class="start">
373
-                  <el-radio v-model="radio" label="3" @change="radio_change">3分</el-radio>
373
+                  <el-radio v-model="radio" label="3" @change="handleCheckedCitiesChange">3分</el-radio>
374 374
                 </td>
375 375
                 <td class="saoyang wenzi_color">
376 376
                     营养需要量重度增加:
377 377
                     <div >
378
-                        <span v-for="item in zhongsdu" class="rightjiange">
379
-                            <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;{{ item }}</label>
378
+                        <span v-for="item in jibing_zhongsdu" class="rightjiange" @click="jibing_zz(item)">
379
+                            <label><input type="checkbox" :value='item.label' v-model='item.is_check' />&nbsp;{{ item.label }}</label>
380 380
                         </span>
381
-                        <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
382
-                            <el-input v-model="input" placeholder="" style="width: 120px;"></el-input>
381
+                        <label><input type="checkbox" v-model="is_check3" @click="jibing_zz2"/>&nbsp;
382
+                            <el-input v-model="zzd_input" placeholder="" style="width: 120px;"></el-input>
383 383
                         </label>
384 384
                     </div>
385 385
                 </td>
@@ -388,82 +388,64 @@
388 388
         </table>
389 389
 
390 390
         <table class="tables" border="1" style="width: 100%;margin-bottom: 20px;border-collapse: collapse;">
391
-            <thead>
392
-                <tr>
393
-                    <th colspan="2" style="text-align: left;padding-left: 5px;">营养受损评分</th>
394
-                </tr>
395
-            </thead>
396
-            <tbody>
391
+          <thead>
392
+              <tr>
393
+                  <th colspan="2" style="text-align: left;padding-left: 5px;">营养受损评分</th>
394
+              </tr>
395
+          </thead>
396
+          <tbody>
397 397
             <tr class="bg_color">
398 398
                 <td class="start yingyang">
399
-                  <el-radio v-model="radio1" label="0" @change="radio_change">0分</el-radio>
399
+                  <el-radio v-model="radio1" label="0" @change="handleCheckedCitiesChange">0分</el-radio>
400 400
                 </td>
401 401
 
402 402
                 <td class="saoyang wenzi_color" >无营养受损</td>
403 403
             </tr>
404 404
             <tr>
405 405
                 <td class="start">
406
-                  <el-radio v-model="radio1" label="1" @change="radio_change">1分</el-radio>
406
+                  <el-radio v-model="radio1" label="1" @change="handleCheckedCitiesChange">1分</el-radio>
407 407
                 </td>
408 408
 
409 409
                 <td class="saoyang">
410 410
                     <div >
411
-                        <span class="rightjiange">
412
-                            <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
413
-                                3个月内体重下降>5%
414
-                            </label>
415
-                            <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
416
-                                一周内进食量较从前减少25%-50%
411
+                        <span class="rightjiange" v-for="(item,index) in yingyang_qd" :key="index">
412
+                            <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="yingyang_q(item)"/>&nbsp;
413
+                                {{item.label}}
417 414
                             </label>
418 415
                         </span>
419
-
420 416
                     </div>
421 417
                 </td>
422 418
             </tr>
423 419
             <tr class="bg_color">
424 420
               <td class="start">
425
-                <el-radio v-model="radio1" label="2" @change="radio_change">2分</el-radio>
421
+                <el-radio v-model="radio1" label="2" @change="handleCheckedCitiesChange">2分</el-radio>
426 422
               </td>
427 423
 
428 424
               <td class="saoyang">
429 425
                   <div >
430
-                      <span class="rightjiange">
431
-                          <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
432
-                              2个月内体重下降>5%
433
-                          </label>
434
-                          <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
435
-                              一周内进食量较从前减少50%-75%
436
-                          </label>
426
+                      <span class="rightjiange" v-for="(item,index) in yingyang_zd" :key="index">
427
+                        <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="yingyang_z(item)"/>&nbsp;
428
+                            {{item.label}}
429
+                        </label>
437 430
                       </span>
438
-
439 431
                   </div>
440 432
               </td>
441 433
             </tr>
442 434
             <tr>
443 435
               <td class="start">
444
-                <el-radio v-model="radio1" label="3" @change="radio_change">3分</el-radio>
436
+                <el-radio v-model="radio1" label="3" @change="handleCheckedCitiesChange">3分</el-radio>
445 437
               </td>
446 438
               <td class="saoyang">
447
-                  <div >
448
-                      <span class="rightjiange">
449
-                          <label><input type="checkbox" name="ball" value="volleyball" />&nbsp;
450
-                              1个月内体重下降>5%
451
-                          </label>
452
-                          <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
453
-                              一周内进食量较从前减少75%-100%
454
-                          </label>
455
-                          <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
456
-                              体重指数(BMI)<18.5
457
-                          </label>
458
-                          <label style="margin-left: 40px;"><input type="checkbox" name="ball" value="volleyball" />&nbsp;
459
-                              血蛋白<30g/L(得不到准确的BNI值时用白蛋白替代)
460
-                          </label>
461
-                      </span>
462
-
463
-                  </div>
439
+                <div >
440
+                    <span class="rightjiange" v-for="(item,index) in yingyang_zzd" :key="index">
441
+                      <label><input type="checkbox" :value="item.label" v-model="item.is_check" @click="yingyang_zz(item)"/>&nbsp;
442
+                          {{item.label}}
443
+                      </label>      
444
+                    </span>
445
+                </div>
464 446
               </td>
465 447
             </tr>
466
-            </tbody>
448
+          </tbody>
467 449
         </table>
468 450
 
469 451
         <table class="tables" border="1" style="width: 100%;border-collapse: collapse;">
@@ -475,13 +457,13 @@
475 457
             <tbody>
476 458
               <tr class="bg_color ">
477 459
                   <td class="start yingyang">
478
-                    <el-radio v-model="radio2" label="0" @change="radio_change">0分</el-radio>
460
+                    <el-radio v-model="radio2" label="0" @change="handleCheckedCitiesChange">0分</el-radio>
479 461
                   </td>
480 462
                   <td class="saoyang" style="font-size: 15px;">≤70岁</td>
481 463
               </tr>
482 464
               <tr>
483 465
                   <td class="start yingyang">
484
-                    <el-radio v-model="radio2" label="1" @change="radio_change">1分</el-radio>
466
+                    <el-radio v-model="radio2" label="1" @change="handleCheckedCitiesChange">1分</el-radio>
485 467
                   </td>
486 468
                   <td class="saoyang" style="font-size: 15px;">>70岁</td>
487 469
               </tr>
@@ -496,21 +478,22 @@
496 478
               </div>
497 479
 
498 480
               <div class="bottoms">
499
-                  <span>评估日期:</span>
500
-                  <el-date-picker
501
-                      v-model="value1"
502
-                      type="date"
503
-                      placeholder="选择日期"
504
-                      :clearable="false"
505
-                      style="width: 150px;">
506
-                  </el-date-picker>
481
+                <span>评估日期:</span>
482
+                <el-date-picker
483
+                    v-model="yy_date"
484
+                    type="date"
485
+                    value-format="yyyy-MM-dd"
486
+                    placeholder="选择日期"
487
+                    :clearable="false"
488
+                    style="width: 150px;">
489
+                </el-date-picker>
507 490
               </div>
508 491
 
509 492
               <div class="bottoms">
510 493
                   <span>评估人:</span>
511
-                  <el-select v-model="value" placeholder="请选择" style="width:120px;">
494
+                  <el-select v-model="yy_appraiser" placeholder="请选择" style="width:120px;">
512 495
                       <el-option
513
-                      v-for="item in options"
496
+                      v-for="item in yy_options"
514 497
                       :key="item.value"
515 498
                       :label="item.label"
516 499
                       :value="item.value"
@@ -520,7 +503,7 @@
520 503
               </div>
521 504
           </div>
522 505
           <div>
523
-              <el-button type="primary">确定</el-button>
506
+              <el-button type="primary" @click="yy_onsbmit">确定</el-button>
524 507
           </div>
525 508
       </div>
526 509
     </el-dialog>
@@ -540,6 +523,7 @@
540 523
 </template>
541 524
 <script>
542 525
 import print from 'print-js'
526
+import { uParseTime } from '@/utils/tools'
543 527
 export default{
544 528
   data(){
545 529
     return{
@@ -549,12 +533,6 @@ export default{
549 533
       mingxi_dialogVisible:false,
550 534
       editor_dialogVisible:false,
551 535
       delete_centerDialogVisible:false,
552
-      tableData:[{id:1,time:'2023-9-27',mark:'15',evaluate:'千亦雪'},{id:2,time:'2023-9-27',mark:'14',evaluate:'千任雪'}],
553
-      qingdu:['骸骨折','慢性疾病急性发作或有','COPD','血液透析','肝硬化','一般恶性肿瘤患者','糖尿病'],
554
-      zhdu:['腹部大手术','脑卒中','重度肺炎','血液恶性肿瘤'],
555
-      zhongsdu:['颅脑损伤','骨髓移植','大于APACHE分的ICU患者'],
556
-
557
-
558 536
       checkList:[],
559 537
       options:[],
560 538
       value:'',
@@ -567,6 +545,32 @@ export default{
567 545
       radio1_val:null,
568 546
       radio2_val:null,
569 547
       row:'',
548
+      qd_input:'',
549
+      zd_input:'',
550
+      zzd_input:'',
551
+      is_check1:false,
552
+      check1:0,
553
+      is_check2:false,
554
+      check2:0,
555
+      is_check3:false,
556
+      check3:0,
557
+      yy_date:this.getTime(new Date()),
558
+      yy_appraiser:'',
559
+      yy_options:[],
560
+      tableData:[{id:1,time:'2023-9-27',mark:'15',evaluate:'千亦雪'},{id:2,time:'2023-9-27',mark:'14',evaluate:'千任雪'}],
561
+      jibing_qdu:[{is_check:false,check:0,label:'骸骨折'},{is_check:false,check:0,label:'慢性疾病急性发作或有'},{is_check:false,check:0,label:'COPD'},
562
+                  {is_check:false,check:0,label:'血液透析'},{is_check:false,check:0,label:'肝硬化'},
563
+                  {is_check:false,check:0,label:'一般恶性肿瘤患者'},{is_check:false,check:0,label:'糖尿病'}],
564
+      jibing_zhdu:[{is_check:false,check:0,label:'腹部大手术'},{is_check:false,check:0,label:'脑卒中'},
565
+                    {is_check:false,check:0,label:'重度肺炎'},{is_check:false,check:0,label:'血液恶性肿瘤'}],
566
+      jibing_zhongsdu:[{is_check:false,check:0,label:'颅脑损伤'},{is_check:false,check:0,label:'骨髓移植'},
567
+                        {is_check:false,check:0,label:'大于APACHE分的ICU患者'}],
568
+      yingyang_qd:[{is_check:false,check:0,label:'3个月内体重下降>5% '},{is_check:false,check:0,label:'一周内进食量较从前减少25%-50%'}], 
569
+      yingyang_zd:[{is_check:false,check:0,label:'2个月内体重下降>5%'},{is_check:false,check:0,label:'一周内进食量较从前减少50%-75%'}], 
570
+      yingyang_zzd:[{is_check:false,check:0,label:'1个月内体重下降>5% '},{is_check:false,check:0,label:'一周内进食量较从前减少75%-100%'},
571
+                    {is_check:false,check:0,label:'体重指数(BMI)<18.5 '},{is_check:false,check:0,label:'血蛋白<30g/L(得不到准确的BNI值时用白蛋白替代)'}],
572
+   
573
+
570 574
     }
571 575
   },
572 576
   methods:{
@@ -623,19 +627,348 @@ export default{
623 627
       }
624 628
       this.delete_centerDialogVisible=false
625 629
     },
626
-    radio_change(e){
630
+    // 选中分值
631
+    handleCheckedCitiesChange(e){
627 632
       const ball=e * 1
628
-      console.log('1111',e);
633
+      var qingdu = this.jibing_qdu
634
+      var zhdu= this.jibing_zhdu
635
+      var zhongdu = this.jibing_zhongsdu
636
+      var yy_qd = this.yingyang_qd
637
+      var yy_zd = this.yingyang_zd
638
+      var yy_zzd = this.yingyang_zzd
639
+      console.log('1111',e,this.radio);
629 640
       if(ball == this.radio){
630 641
         this.radio_val = ball
642
+        if(this.radio == '0'){
643
+          for(let i in qingdu){
644
+            if(qingdu[i].check==1 || qingdu[i].is_check == true){
645
+              qingdu[i].check=0
646
+              qingdu[i].is_check = false
647
+            }
648
+          }
649
+          if(this.is_check1 == true || this.check1 ==1){
650
+            this.is_check1 = false 
651
+             this.check1 =0
652
+          }
653
+          for(let i in zhdu){
654
+            if(zhdu[i].check==1 || zhdu[i].is_check == true){
655
+              zhdu[i].check=0
656
+              zhdu[i].is_check = false
657
+            }
658
+          }
659
+          if(this.is_check2 == true || this.check2 ==1){
660
+            this.is_check2 = false 
661
+             this.check2 =0
662
+          }
663
+          for(let i in zhongdu){
664
+            if(zhongdu[i].check==1 || zhongdu[i].is_check == true){
665
+              zhongdu[i].check=0
666
+              zhongdu[i].is_check = false
667
+            }
668
+          }
669
+          if(this.is_check3 == true || this.check3 ==1){
670
+            this.is_check3 = false 
671
+             this.check3 =0
672
+          }
673
+        }
674
+        if(this.radio == '1'){
675
+          for(let i in zhdu){
676
+            if(zhdu[i].check==1 || zhdu[i].is_check == true){
677
+              zhdu[i].check=0
678
+              zhdu[i].is_check = false
679
+            }
680
+          }
681
+          for(let i in zhongdu){
682
+            if(zhongdu[i].check==1 || zhongdu[i].is_check == true){
683
+              zhongdu[i].check=0
684
+              zhongdu[i].is_check = false
685
+            }
686
+          }
687
+          if(this.is_check2 == true || this.check2 ==1){
688
+            this.is_check2 = false 
689
+             this.check2 =0
690
+          }
691
+          if(this.is_check3 == true || this.check3 ==1){
692
+            this.is_check3 = false 
693
+             this.check3 =0
694
+          }
695
+        }
696
+        if(this.radio == '2'){
697
+          for(let i in qingdu){
698
+            if(qingdu[i].check==1 || qingdu[i].is_check == true){
699
+              qingdu[i].check=0
700
+              qingdu[i].is_check = false
701
+            }
702
+          }
703
+          for(let i in zhongdu){
704
+            if(zhongdu[i].check==1 || zhongdu[i].is_check == true){
705
+              zhongdu[i].check=0
706
+              zhongdu[i].is_check = false
707
+            }
708
+          }
709
+          if(this.is_check1 == true || this.check1 ==1){
710
+            this.is_check1 = false 
711
+             this.check1 =0
712
+          }
713
+          if(this.is_check3 == true || this.check3 ==1){
714
+            this.is_check3 = false 
715
+             this.check3 =0
716
+          }
717
+        }
718
+        if(this.radio == '3'){
719
+          for(let i in qingdu){
720
+            if(qingdu[i].check==1 || qingdu[i].is_check == true){
721
+              qingdu[i].check=0
722
+              qingdu[i].is_check = false
723
+            }
724
+          }
725
+          for(let i in zhdu){
726
+            if(zhdu[i].check==1 || zhdu[i].is_check == true){
727
+              zhdu[i].check=0
728
+              zhdu[i].is_check = false
729
+            }
730
+          }
731
+          if(this.is_check1 == true || this.check1 ==1){
732
+            this.is_check1 = false 
733
+             this.check1 =0
734
+          }
735
+          if(this.is_check2 == true || this.check2 ==1){
736
+            this.is_check2 = false 
737
+             this.check2 =0
738
+          }
739
+        }
631 740
       }
632 741
       if(e == this.radio1){
633 742
         this.radio1_val = ball
743
+        if(this.radio1 == '0'){
744
+          for(let i in yy_qd){
745
+            if(yy_qd[i].check==1 || yy_qd[i].is_check == true){
746
+              yy_qd[i].check=0
747
+              yy_qd[i].is_check = false
748
+            }
749
+          }
750
+          for(let i in yy_zd){
751
+            if(yy_zd[i].check==1 || yy_zd[i].is_check == true){
752
+              yy_zd[i].check=0
753
+              yy_zd[i].is_check = false
754
+            }
755
+          }
756
+          for(let i in yy_zzd){
757
+            if(yy_zzd[i].check==1 || yy_zzd[i].is_check == true){
758
+              yy_zzd[i].check=0
759
+              yy_zzd[i].is_check = false
760
+            }
761
+          }
762
+        }
763
+        if(this.radio1 == '1'){
764
+          for(let i in yy_zd){
765
+            if(yy_zd[i].check==1 || yy_zd[i].is_check == true){
766
+              yy_zd[i].check=0
767
+              yy_zd[i].is_check = false
768
+            }
769
+          }
770
+          for(let i in yy_zzd){
771
+            if(yy_zzd[i].check==1 || yy_zzd[i].is_check == true){
772
+              yy_zzd[i].check=0
773
+              yy_zzd[i].is_check = false
774
+            }
775
+          }
776
+        }
777
+        if(this.radio1 == '2'){
778
+          for(let i in yy_qd){
779
+            if(yy_qd[i].check==1 || yy_qd[i].is_check == true){
780
+              yy_qd[i].check=0
781
+              yy_qd[i].is_check = false
782
+            }
783
+          }
784
+          for(let i in yy_zzd){
785
+            if(yy_zzd[i].check==1 || yy_zzd[i].is_check == true){
786
+              yy_zzd[i].check=0
787
+              yy_zzd[i].is_check = false
788
+            }
789
+          }
790
+        }
791
+        if(this.radio1 == '3'){
792
+          for(let i in yy_qd){
793
+            if(yy_qd[i].check==1 || yy_qd[i].is_check == true){
794
+              yy_qd[i].check=0
795
+              yy_qd[i].is_check = false
796
+            }
797
+          }
798
+          for(let i in yy_zd){
799
+            if(yy_zd[i].check==1 || yy_zd[i].is_check == true){
800
+              yy_zd[i].check=0
801
+              yy_zd[i].is_check = false
802
+            }
803
+          }
804
+        }
634 805
       }
635 806
       if(e == this.radio2){
636 807
         this.radio2_val = ball
637 808
       }
638 809
     },
810
+    // 疾病轻度
811
+    jibing_q(item){
812
+      const qingdu = this.jibing_qdu
813
+      for(let i in qingdu){  
814
+        if(item.label==qingdu[i].label){
815
+          console.log('aaaaa',qingdu);
816
+          if(item.check==0){
817
+            qingdu[i].is_check = true
818
+            qingdu[i].check = 1
819
+          }else{
820
+            qingdu[i].is_check = false
821
+            qingdu[i].check = 0
822
+          }
823
+        }
824
+      }
825
+    },
826
+    jibing_q2(){
827
+      if(this.check1 ==0){
828
+        this.is_check1 = true
829
+        this.check1 = 1
830
+      }else{
831
+        this.is_check1 = false
832
+        this.check1 = 0
833
+      }
834
+    },
835
+    // 疾病中度
836
+    jibing_z(item){
837
+      const zdu = this.jibing_zhdu
838
+      for(let i in zdu){  
839
+        if(item.label==zdu[i].label){
840
+          console.log('aaaaa',zdu);
841
+          if(item.check==0){
842
+            zdu[i].is_check = true
843
+            zdu[i].check = 1
844
+          }else{
845
+            zdu[i].is_check = false
846
+            zdu[i].check = 0
847
+          }
848
+        }
849
+      }
850
+    },
851
+    jibing_z2(){
852
+      if(this.check2 ==0){
853
+        this.is_check2 = true
854
+        this.check2 = 1
855
+      }else{
856
+        this.is_check2 = false
857
+        this.check2 = 0
858
+      }
859
+    },
860
+    // 疾病重度
861
+    jibing_zz(item){
862
+      const zhongdu = this.jibing_zhongsdu
863
+      for(let i in zhongdu){  
864
+        if(item.label==zhongdu[i].label){
865
+          console.log('aaaaa',zhongdu);
866
+          if(item.check==0){
867
+            zhongdu[i].is_check = true
868
+            zhongdu[i].check = 1
869
+          }else{
870
+            zhongdu[i].is_check = false
871
+            zhongdu[i].check = 0
872
+          }
873
+        }
874
+      }
875
+    },
876
+    jibing_zz2(){
877
+      if(this.check3 ==0){
878
+        this.is_check3 = true
879
+        this.check3 = 1
880
+      }else{
881
+        this.is_check3 = false
882
+        this.check3 = 0
883
+      }
884
+    },
885
+    // 营养轻度
886
+    yingyang_q(item){
887
+      const yy_qing = this.yingyang_qd
888
+      for(let i in yy_qing){  
889
+        if(item.label==yy_qing[i].label){
890
+          console.log('aaaaa',yy_qing);
891
+          if(item.check==0){
892
+            yy_qing[i].is_check = true
893
+            yy_qing[i].check = 1
894
+          }else{
895
+            yy_qing[i].is_check = false
896
+            yy_qing[i].check = 0
897
+          }
898
+        }
899
+      }
900
+    },
901
+    // 中度
902
+    yingyang_z(item){
903
+      const yy_zhdu = this.yingyang_zd
904
+      for(let i in yy_zhdu){  
905
+        if(item.label==yy_zhdu[i].label){
906
+          console.log('aaaaa',yy_zhdu);
907
+          if(item.check==0){
908
+            yy_zhdu[i].is_check = true
909
+            yy_zhdu[i].check = 1
910
+          }else{
911
+            yy_zhdu[i].is_check = false
912
+            yy_zhdu[i].check = 0
913
+          }
914
+        }
915
+      }
916
+    },
917
+    // 重度
918
+    yingyang_zz(item){
919
+      const yy_zzd = this.yingyang_zzd
920
+      for(let i in yy_zzd){  
921
+        if(item.label==yy_zzd[i].label){
922
+          console.log('aaaaa',yy_zzd);
923
+          if(item.check==0){
924
+            yy_zzd[i].is_check = true
925
+            yy_zzd[i].check = 1
926
+          }else{
927
+            yy_zzd[i].is_check = false
928
+            yy_zzd[i].check = 0
929
+          }
930
+        }
931
+      }
932
+    },
933
+    // 确认
934
+    yy_onsbmit(){
935
+      this.editor_dialogVisible = false
936
+      var params={
937
+        radio:this.radio,
938
+        radio1:this.radio1,
939
+        radio2:this.radio2,
940
+        jibing_qdu:this.jibing_qdu,
941
+        jibing_zhdu:this.jibing_zhdu,
942
+        jibing_zhongsdu:this.jibing_zhongsdu,
943
+        is_check1:this.is_check1,
944
+        check1:this.check1,
945
+        is_check2:this.is_check2,
946
+        check2:this.check2,
947
+        is_check3:this.is_check3,
948
+        check3:this.check3,
949
+        yingyang_qd:this.yingyang_qd,
950
+        yingyang_zd:this.yingyang_zd,
951
+        yingyang_zzd:this.yingyang_zzd,
952
+        yy_date:this.yy_date,
953
+        yy_appraiser:this.yy_appraiser,
954
+        yy_options:this.yy_options,
955
+        nour_Totalpoints:this.nour_Totalpoints,
956
+        patientID:this.patientID,
957
+      }
958
+      
959
+      console.log('params----',params);
960
+    },
961
+    // 转换时间
962
+    getTime(val) {
963
+        if(val < 0){
964
+          return ""
965
+        }
966
+        if(val == ""){
967
+        return ""
968
+        }else {
969
+        return uParseTime(val, '{y}-{m}-{d}')
970
+        }
971
+    },
639 972
   },
640 973
   computed:{
641 974
     nour_Totalpoints(){

+ 146 - 47
src/xt_pages/user/history/pruritus_history.vue 查看文件

@@ -244,14 +244,18 @@
244 244
               <tr>
245 245
                 <td class="start">痒的部位</td>
246 246
                 <td>
247
-                    <div class="jiange">
248
-                        <span v-for="item in buwei" class="rightjiange" @change="handleCheckedCitiesChange">
249
-                            <label><input type="checkbox" name="ball" :value="item" />&nbsp;{{ item }}</label>
250
-                        </span>
251
-                        <label @change="handleCheckedCitiesChange"><input type="checkbox" name="ball" value="其他" />
252
-                            &nbsp;其他 <el-input v-model="input" style="width: 100px;"></el-input>
253
-                        </label>
254
-                    </div>
247
+                  <div class="jiange"><!-- v-model="item.is_check" v-model="is_check1" v-model="is_check2"-->
248
+                    <span v-for="item in buwei" class="rightjiange" >
249
+                        <label><input type="checkbox" class="check" :value="item.label" v-model="item.is_check" @click="handleCheckedCitiesChange($event,item)"/>&nbsp;{{ item.label }}</label>
250
+                    </span>
251
+                    <label ><input type="checkbox" class="check" value="其他"  v-model="is_check1" @click="qita_click"/>
252
+                        &nbsp;其他 <el-input v-model="buwei_input" style="width: 100px;"></el-input>
253
+                    </label>
254
+                    <!-- quan_change -->
255
+                    <label >
256
+                      <input type="checkbox" class="checkbox" value="全身" v-model="is_check2" @click="quan_change"/>&nbsp;全身
257
+                    </label>
258
+                  </div>
255 259
                 </td>
256 260
                 <td class="start">{{checked_points}}</td>
257 261
                 <td class="saoyang">瘙痒部位:计分范围1~3分一个部位瘙痒计1分,最多得3分,选全身计3分</td>
@@ -261,7 +265,7 @@
261 265
                 <td>
262 266
                     <div class="jiange">
263 267
                         <el-radio-group v-model="radio1" @change="radiochecked">
264
-                            <el-radio v-for="(item,index ) in chengdu" :label="item" :key="index" style="color: black;font-size: 15PX;">{{ item }}</el-radio>
268
+                            <el-radio v-for="(item,index ) in chengdu" :label="item.value" :key="index" style="color: black;font-size: 15PX;">{{ item.label }}</el-radio>
265 269
                         </el-radio-group>
266 270
                     </div>
267 271
                 </td>
@@ -273,7 +277,7 @@
273 277
                 <td>
274 278
                     <div  class="jiange">
275 279
                         <el-radio-group v-model="radio2" @change="radiochecked">
276
-                            <el-radio v-for="(item,index ) in pinlv" :label="item" :key="index" style="color: black;font-size: 15PX;">{{ item }}</el-radio>
280
+                            <el-radio v-for="(item,index ) in pinlv" :label="item.value" :key="index" style="color: black;font-size: 15PX;">{{ item.label }}</el-radio>
277 281
                         </el-radio-group>
278 282
                     </div>
279 283
                 </td>
@@ -285,7 +289,7 @@
285 289
                 <td>
286 290
                     <div  class="jiange">
287 291
                         <el-radio-group v-model="radio3" @change="radiochecked">
288
-                            <el-radio v-for="(item,index ) in yingxiang" :label="item" :key="index" style="color: black;font-size: 15PX;">{{ item }}</el-radio>
292
+                            <el-radio v-for="(item,index ) in yingxiang" :label="item.value" :key="index" style="color: black;font-size: 15PX;">{{ item.label }}</el-radio>
289 293
                         </el-radio-group>
290 294
                     </div>
291 295
                 </td>
@@ -305,11 +309,13 @@
305 309
               <span>总分:</span>
306 310
               <el-input v-model="pruritus_Totalpoints" style="width: 100px;"></el-input>分
307 311
             </div>
312
+
308 313
             <div class="bottoms">
309 314
               <span>评估日期:</span>
310 315
               <el-date-picker
311
-                  v-model="value1"
316
+                  v-model="pruritus_data"
312 317
                   type="date"
318
+                  value-format="yyyy-MM-dd"
313 319
                   placeholder="选择日期"
314 320
                   :clearable="false"
315 321
                   style="width: 150px;">
@@ -318,9 +324,9 @@
318 324
 
319 325
             <div class="bottoms">
320 326
               <span>评估人:</span>
321
-              <el-select v-model="value" placeholder="请选择" >
327
+              <el-select v-model="pruritus_appraiser" placeholder="请选择" >
322 328
                   <el-option
323
-                  v-for="item in options"
329
+                  v-for="item in pruritus_options"
324 330
                   :key="item.value"
325 331
                   :label="item.label"
326 332
                   :value="item.value"
@@ -330,7 +336,7 @@
330 336
             </div>
331 337
           </div>
332 338
           <div style="margin:5px 10px;">
333
-              <el-button type="primary">确认</el-button>
339
+              <el-button type="primary" @click="pruritus_click">确认</el-button>
334 340
           </div>
335 341
         </div>
336 342
     </el-dialog>
@@ -350,6 +356,7 @@
350 356
 </template>
351 357
 <script>
352 358
 import print from 'print-js'
359
+import { uParseTime } from '@/utils/tools'
353 360
 export default{
354 361
   data(){
355 362
     return{
@@ -359,13 +366,6 @@ export default{
359 366
       mingxi_dialogVisible:false,
360 367
       editor_dialogVisible:false,
361 368
       delete_centerDialogVisible:false,
362
-
363
-      tableData:[{id:1,time:'2023-9-27',mark:'15',evaluate:'千亦雪'},{id:2,time:'2023-9-27',mark:'14',evaluate:'千任雪'}],
364
-
365
-      buwei:['躯体','上肢','下肢','头皮','全身'],
366
-      chengdu:['不要抓(1)','要抓但没有抓痕(2)','抓出抓痕才能止痒(3)','经常抓出抓痕(4)','完全坐立不安(5)'],
367
-      pinlv:['很少时候(1)','较少时候(2)','较多时候(3)','很多时候(4)','一直持续(5)'],
368
-      yingxiang:['无影响(0)','一夜痒醒一次(2)','一夜痒醒两次(4)','一夜痒醒三次(6)'],
369 369
       checkList:[],
370 370
       radio1:'',
371 371
       radio2:'',
@@ -380,6 +380,22 @@ export default{
380 380
       value:'',
381 381
       value1:'',
382 382
       row:'',
383
+      num:0,
384
+      is_check1:false,
385
+      check1:0,
386
+      is_check2:false,
387
+      check2:0,
388
+      pruritus_options:[],
389
+      pruritus_appraiser:'',
390
+      buwei_input:'',
391
+      pruritus_data:this.getTime(new Date()),
392
+      tableData:[{id:1,time:'2023-9-27',mark:'15',evaluate:'千亦雪'},{id:2,time:'2023-9-27',mark:'14',evaluate:'千任雪'}],
393
+
394
+      buwei:[{label:'躯体',is_check:false,check:0},{label:'上肢',is_check:false,check:0},{label:'下肢',is_check:false,check:0},{label:'头皮',is_check:false,check:0},],
395
+      chengdu:[{value:1,label:'不要抓(1)'},{value:2,label:'要抓但没有抓痕(2)'},{value:3,label:'抓出抓痕才能止痒(3)'},{value:4,label:'经常抓出抓痕(4)'},{value:5,label:'完全坐立不安(5)'}],
396
+      pinlv:[{value:1,label:'很少时候(1)'},{value:2,label:'较少时候(2)'},{value:3,label:'较多时候(3)'},{value:4,label:'很多时候(4)'},{value:5,label:'一直持续(5)'}],
397
+      yingxiang:[{value:0,label:'无影响(0)'},{value:2,label:'一夜痒醒一次(2)'},{value:4,label:'一夜痒醒两次(4)'},{value:6,label:'一夜痒醒三次(6)'}],
398
+      
383 399
     }
384 400
   },
385 401
   methods:{
@@ -436,42 +452,125 @@ export default{
436 452
       }
437 453
       this.delete_centerDialogVisible=false
438 454
     },
439
-    handleCheckedCitiesChange(e){
440
-      this.ball = e.target.value
441
-      console.log('1111111',this.ball)
442
-      if(e.target.checked==true){
443
-        if(e.target.value == '全身'){
444
-          this.checked_points = 3
445
-          // this.pruritus_Totalpoints=this.pruritus_Totalpoints + this.checked_points
455
+     // 痒的部位选项
456
+     handleCheckedCitiesChange(e,item){
457
+      for(let i in this.buwei){
458
+        if(item.label==this.buwei[i].label){
459
+          if(item.check==0){
460
+            if(this.num <3){
461
+              if(this.is_check2 == true){
462
+                this.is_check2 = false
463
+                this.check = 0
464
+                this.checked_points = 0
465
+              }
466
+              this.buwei[i].check = 1
467
+              this.buwei[i].is_check = true
468
+              console.log('1111',this.buwei[i]);
469
+              this.num++
470
+              this.checked_points = this.checked_points + 1
471
+            }
472
+            
473
+          }else{
474
+            this.buwei[i].check = 0
475
+            this.buwei[i].is_check = false
476
+            console.log('2222',this.buwei[i]);
477
+            this.num--
478
+            this.checked_points = this.checked_points - 1
479
+          }
480
+        }
481
+      }
482
+    },
483
+    //  痒的部位全部选项
484
+    quan_change(e){
485
+      const ball=e.target.value
486
+      console.log(ball);
487
+      if(ball=='全身'){
488
+        if(this.is_check2 == false){
489
+          this.check2 = 1
490
+          this.is_check2 = true
491
+          this.checked_points =3
492
+          this.num = 0
493
+          for(let i in this.buwei){
494
+            if(this.buwei[i].is_check == true){
495
+              this.buwei[i].is_check =false
496
+              this.buwei[i].check = 0
497
+            }
498
+          }
499
+          console.log('uuuu',this.check2,this.is_check2);
446 500
         }else{
447
-          var checked =1
448
-          this.checked_points = this.checked_points + checked
449
-          // this.pruritus_Totalpoints=this.pruritus_Totalpoints + checked
501
+          this.check2 = 0
502
+          this.is_check2 = false
503
+          this.checked_points =0
504
+          this.num = 0
505
+          console.log('iiiii',this.check2,this.is_check2);
450 506
         }
451
-      }else{
452
-        if(e.target.value == '全身'){
453
-          this.checked_points = 0
454
-          // this.pruritus_Totalpoints=this.pruritus_Totalpoints - 3
507
+      }
508
+    },
509
+    // 痒的部位其它选项
510
+    qita_click(e){
511
+      const ball=e.target.value
512
+      console.log(ball);
513
+      if(ball =='其他'){
514
+      console.log('this.is_check1',this.is_check1);
515
+        if(this.is_check1 == false){
516
+          if(this.num < 3){
517
+            this.check1 = 1
518
+            this.is_check1 = true
519
+            this.checked_points =this.checked_points + 1
520
+            this.num++
521
+          }
455 522
         }else{
456
-          var checked =1
457
-          this.checked_points = this.checked_points - checked
458
-          // this.pruritus_Totalpoints=this.pruritus_Totalpoints - checked
523
+          this.check2 = 0
524
+          this.is_check2 = false
525
+          this.checked_points =this.checked_points - 1
526
+          this.num--
459 527
         }
460 528
       }
461 529
     },
530
+    // 单选
462 531
     radiochecked(e){
463
-      const bal=e
464
-      const jiequ =(bal.split('(')[1].split(')')[0]) * 1
465
-      if(bal == this.radio1){
466
-        this.radio1_points =jiequ
532
+      console.log('eeeee',e);
533
+      if(e == this.radio1){
534
+        this.radio1_points =e
467 535
       }
468
-      if(bal == this.radio2){
469
-        this.radio2_points =jiequ
536
+      if(e == this.radio2){
537
+        this.radio2_points =e
470 538
       }
471
-      if(bal == this.radio3){
472
-        this.radio3_points =jiequ
539
+      if(e == this.radio3){
540
+        this.radio3_points =e
473 541
       }
474 542
     },
543
+    // 确认
544
+    pruritus_click(){
545
+      var params = {
546
+        radio1:this.radio1,
547
+        radio2:this.radio2,
548
+        radio3:this.radio3,
549
+        pruritus_options:this.pruritus_options,//评估数据
550
+        pruritus_appraiser:this.pruritus_appraiser,//评估人
551
+        pruritus_data:this.pruritus_data,//时间
552
+        pruritus_Totalpoints:this.pruritus_Totalpoints,//总分
553
+        patientID:this.patientID,
554
+        buwei:this.buwei,//部位
555
+        is_check1:this.is_check1,//其它选项model
556
+        check1:this.check1,//其它选项
557
+        is_check2:this.is_check2,//全部选项model
558
+        check2:this.check2,//全部选项
559
+        num:this.num,//控制复选个数
560
+        buwei_input:this.buwei_input,
561
+      }
562
+    },
563
+    // 转换时间
564
+    getTime(val) {
565
+        if(val < 0){
566
+          return ""
567
+        }
568
+        if(val == ""){
569
+        return ""
570
+        }else {
571
+        return uParseTime(val, '{y}-{m}-{d}')
572
+        }
573
+    },
475 574
 
476 575
   },
477 576
   computed:{