瀏覽代碼

增加我的病人功能

张保健 5 年之前
父節點
當前提交
a86ff9e996
共有 1 個文件被更改,包括 54 次插入15 次删除
  1. 54 15
      src/pages/main/DialysisArea.vue

+ 54 - 15
src/pages/main/DialysisArea.vue 查看文件

59
             {{ selected_date_str }}
59
             {{ selected_date_str }}
60
             <span class="iconfont">&#xe74a;</span>
60
             <span class="iconfont">&#xe74a;</span>
61
           </li>
61
           </li>
62
+          <li @click="mypatient()">
63
+            我的病人
64
+            <span class="iconfont">&#xe74a;</span>
65
+          </li>
62
         </ul>
66
         </ul>
63
       </div>
67
       </div>
64
       <div class="stateBox">
68
       <div class="stateBox">
128
   data() {
132
   data() {
129
     return {
133
     return {
130
       loading: false,
134
       loading: false,
131
-
135
+      user_id: 0,
132
       networkStates: true,
136
       networkStates: true,
133
       timer: null,
137
       timer: null,
138
+      ismypatient: false,
134
       selected_date: this.$store.getters.app.dialysis_area.schedule_date, //new Date(),
139
       selected_date: this.$store.getters.app.dialysis_area.schedule_date, //new Date(),
135
       schedual_types: [
140
       schedual_types: [
136
         { value: 0, text: "全部班", select: true },
141
         { value: 0, text: "全部班", select: true },
195
         return schedules;
200
         return schedules;
196
       }
201
       }
197
 
202
 
203
+       if (this.ismypatient) {
204
+        var schedules = [];
205
+        for (let o_i = 0; o_i < this.dialysis_scheduals.length; o_i++) {
206
+          const scheduleInfo = this.dialysis_scheduals[o_i];
207
+          var originSchedules = scheduleInfo.scheduals;
208
+          if (originSchedules.length == 0) {
209
+            continue;
210
+          }
211
+          var filtedSchedules = [];
212
+          for (let s_i = 0; s_i < originSchedules.length; s_i++) {
213
+            const schedule = originSchedules[s_i];
214
+            if (schedule.dialysis_order.start_nurse == this.user_id ) {
215
+              filtedSchedules.push(schedule);
216
+              // break;
217
+            }
218
+          }
219
+          if (filtedSchedules.length > 0) {
220
+            schedules.push({
221
+              zone_name: scheduleInfo.zone_name,
222
+              scheduals: filtedSchedules
223
+            });
224
+          }
225
+        }
226
+        return schedules;
227
+      }
228
+
198
       var zone_selected = this.zone_selected;
229
       var zone_selected = this.zone_selected;
199
       var timetype_selected = this.schedual_type_selected;
230
       var timetype_selected = this.schedual_type_selected;
200
-      if (
201
-        (zone_selected == 0 && timetype_selected == 0) ||
202
-        this.zones.length <= 1
203
-      ) {
231
+      if ( (zone_selected == 0 && timetype_selected == 0) || this.zones.length <= 1 ) {
204
         return this.dialysis_scheduals;
232
         return this.dialysis_scheduals;
205
       }
233
       }
206
 
234
 
212
         var filtedSchedules = [];
240
         var filtedSchedules = [];
213
         for (let s_i = 0; s_i < originSchedules.length; s_i++) {
241
         for (let s_i = 0; s_i < originSchedules.length; s_i++) {
214
           const schedule = originSchedules[s_i];
242
           const schedule = originSchedules[s_i];
215
-          if (
216
-            zone_name.length == 0 ||
217
-            (zone_name.length > 0 &&
218
-              zone_name == schedule.device_number.zone.name)
219
-          ) {
220
-            if (
221
-              timetype_selected == 0 ||
222
-              schedule.schedule_type == timetype_selected
223
-            ) {
224
-              filtedSchedules.push(schedule);
243
+           if(this.ismypatient){
244
+             if ( schedule.dialysis_order.creator == this.user_id){
245
+               filtedSchedules.push(schedule);
246
+             }
247
+           }
248
+          else {
249
+            if  ( zone_name.length == 0 || (zone_name.length > 0 && zone_name == schedule.device_number.zone.name) ) {
250
+              if ( timetype_selected == 0 || schedule.schedule_type == timetype_selected ) {
251
+                filtedSchedules.push(schedule);
252
+              }
225
             }
253
             }
226
           }
254
           }
227
         }
255
         }
232
           });
260
           });
233
         }
261
         }
234
       }
262
       }
263
+      this.ismypatient = false
235
       return schedules;
264
       return schedules;
236
     }
265
     }
237
   },
266
   },
238
   created() {
267
   created() {
268
+    this.user_id = this.$store.getters.user.user.id;
239
     this.requestDialysisScheduals();
269
     this.requestDialysisScheduals();
240
   },
270
   },
241
   mounted() {
271
   mounted() {
248
     this.timer = null;
278
     this.timer = null;
249
   },
279
   },
250
   methods: {
280
   methods: {
281
+    mypatient(){
282
+      this.search_keyword = '';
283
+      this.zone_selected = 0;
284
+      this.schedual_type_selected = 0;
285
+      this.ismypatient = true;
286
+    },
251
     reloads: function() {
287
     reloads: function() {
252
       this.reload();
288
       this.reload();
253
     },
289
     },
254
     handletimeType: function(index) {
290
     handletimeType: function(index) {
291
+      this.ismypatient = false
255
       this.sch_type_options_visible = false;
292
       this.sch_type_options_visible = false;
256
       this.schedual_type_selected = index;
293
       this.schedual_type_selected = index;
257
       this.$emit("clear_search_keyword");
294
       this.$emit("clear_search_keyword");
262
       });
299
       });
263
     },
300
     },
264
     handleZoneChange: function(index) {
301
     handleZoneChange: function(index) {
302
+      this.ismypatient = false
265
       this.zone_options_visible = false;
303
       this.zone_options_visible = false;
266
       this.zone_selected = index;
304
       this.zone_selected = index;
267
       this.$emit("clear_search_keyword");
305
       this.$emit("clear_search_keyword");
272
       });
310
       });
273
     },
311
     },
274
     handleScheduleDateChange: function(date) {
312
     handleScheduleDateChange: function(date) {
313
+      this.ismypatient = false
275
       this.zone_selected = 0;
314
       this.zone_selected = 0;
276
       this.schedual_type_selected = 0;
315
       this.schedual_type_selected = 0;
277
 
316