See999 4 years ago
parent
commit
4a4b723679

File diff suppressed because it is too large
+ 1783 - 1360
src/pages/main/dialysis/AdviceTable.vue


+ 462 - 0
src/pages/main/dialysis/CourseManagement.vue View File

@@ -0,0 +1,462 @@
1
+<template>
2
+  <div class="newCourseManagement">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="startShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ startTime }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="endShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ endTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+      </div>
18
+      <div class="adviceBox" v-if="courseManagement.length > 0">
19
+        <van-list
20
+          v-model="loading"
21
+          finished-text="没有更多了"
22
+          @load="onLoad"
23
+          :finished="finished"
24
+        >
25
+          <div class="adviceMain">
26
+            <div
27
+              class="adviceOne"
28
+              v-for="(item, index) in this.courseManagement"
29
+              :key="item.id"
30
+            >
31
+              <div class="adviceTitle">
32
+                <p>{{ getTime(item.record_time) }}</p>
33
+                <van-icon
34
+                  class="ellipsis"
35
+                  name="ellipsis"
36
+                  @click="toDeleteCourseManagement(item.id, index)"
37
+                />
38
+              </div>
39
+              <div class="statOrder" @click="toCourseDetail(item.id)">
40
+                <div class="statOrderTitle">
41
+                  <span>{{ item.title }}</span>
42
+                </div>
43
+                <div class="orderContent">
44
+                  <p>
45
+                    <span v-html="item.content"></span>
46
+                  </p>
47
+                </div>
48
+                <div class="doctorBox">
49
+                  <p>记录医生:{{ item.user_name }}</p>
50
+                </div>
51
+              </div>
52
+              <div class="all">全部</div>
53
+            </div>
54
+          </div>
55
+        </van-list>
56
+      </div>
57
+      <div class="noimgBox" v-else>
58
+        <img src="../../../assets/images/none.png" alt />
59
+      </div>
60
+    </div>
61
+    <!-- <div class="add">
62
+      <div style="display: flex;align-items: center;">
63
+        <van-icon class="addIcon" name="add" />新增
64
+      </div>
65
+    </div>-->
66
+
67
+    <!-- 弹出层 -->
68
+    <div>
69
+      <van-popup
70
+        v-model="typeShow"
71
+        position="bottom"
72
+        :style="{ height: '40%' }"
73
+      >
74
+        <van-picker
75
+          show-toolbar
76
+          :columns="columns"
77
+          @cancel="onCancel"
78
+          @confirm="onConfirm"
79
+        />
80
+      </van-popup>
81
+      <van-popup
82
+        v-model="startShow"
83
+        position="bottom"
84
+        :style="{ height: '40%' }"
85
+      >
86
+        <van-datetime-picker
87
+          v-model="currentDate"
88
+          type="date"
89
+          :min-date="minDate"
90
+          :max-date="maxDate"
91
+          @confirm="getstartTime"
92
+          @cancel="startShow = false"
93
+        />
94
+      </van-popup>
95
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
96
+        <van-datetime-picker
97
+          v-model="currentDate"
98
+          type="date"
99
+          :min-date="minDate"
100
+          :max-date="maxDate"
101
+          @confirm="getstartTime2"
102
+          @cancel="endShow = false"
103
+        />
104
+      </van-popup>
105
+
106
+      <van-action-sheet
107
+        v-model="newShow"
108
+        :actions="actions"
109
+        cancel-text="取消"
110
+        @cancel="onCancel"
111
+        @select="onDeleteConfirm"
112
+      />
113
+    </div>
114
+  </div>
115
+</template>
116
+
117
+<script>
118
+import {
119
+  getCourseManagement,
120
+  DeleteCouseManage,
121
+  getPatientDetail
122
+} from "@/api/patient/patient";
123
+import { uParseTime } from "@/utils/tools";
124
+import { clearStyle } from "@/libs/clearStyle";
125
+import Vue from "vue";
126
+import { Dialog } from "vant";
127
+const moment = require("moment");
128
+export default {
129
+  props: {
130
+    active: Number
131
+  },
132
+  data() {
133
+    return {
134
+      newShow: false,
135
+      startShow: false,
136
+      endShow: false,
137
+      startTime: "请选择",
138
+      endTime: "请选择",
139
+      endTimes: "",
140
+      minDate: new Date(1970, 0, 1),
141
+      maxDate: new Date(2025, 10, 1),
142
+      currentDate: new Date(),
143
+      actions: [{ name: "查看全部" }, { name: "全部删除" }],
144
+      limit: 10,
145
+      page: 1,
146
+      total: 0,
147
+      loading: false,
148
+      finished: false,
149
+      typeShow: false,
150
+      columns: [],
151
+      courseManagement: [],
152
+      patientid: 0,
153
+      list: [],
154
+      patient_id: 0,
155
+      patient_index: 0,
156
+      showOne: true,
157
+      showTwo: false
158
+    };
159
+  },
160
+  methods: {
161
+    onCancel() {
162
+      this.typeShow = false;
163
+    },
164
+    onConfirm(value) {
165
+      this.type = value;
166
+      this.typeShow = false;
167
+    },
168
+    getstartTime(value) {
169
+      this.page = 1;
170
+      let year = value.getFullYear();
171
+      let month = value.getMonth() + 1;
172
+      let day = value.getDate();
173
+      if (month >= 1 && month <= 9) {
174
+        month = `0${month}`;
175
+      }
176
+      if (day >= 1 && day <= 9) {
177
+        day = `0${day}`;
178
+      }
179
+
180
+      this.startTime = `${year}-${month}-${day}`;
181
+      this.courseManagement = [];
182
+      this.getCourseManagement(
183
+        this.patientid,
184
+        this.limit,
185
+        this.page,
186
+        this.startTime,
187
+        this.endTime
188
+      );
189
+      this.startShow = false;
190
+    },
191
+    getstartTime2(value) {
192
+      this.page = 1;
193
+      let year = value.getFullYear();
194
+      let month = value.getMonth() + 1;
195
+      let day = value.getDate();
196
+      if (month >= 1 && month <= 9) {
197
+        month = `0${month}`;
198
+      }
199
+      if (day >= 1 && day <= 9) {
200
+        day = `0${day}`;
201
+      }
202
+
203
+      this.endTime = `${year}-${month}-${day}`;
204
+
205
+      this.courseManagement = [];
206
+      this.getCourseManagement(
207
+        this.patientid,
208
+        this.limit,
209
+        this.page,
210
+        this.startTime,
211
+        this.endTime
212
+      );
213
+      this.endShow = false;
214
+    },
215
+    getTime(time) {
216
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
217
+      return uParseTime(time, "{y}-{m}-{d}");
218
+    },
219
+    getCourseManagement(patientid) {
220
+      getCourseManagement(
221
+        patientid,
222
+        this.limit,
223
+        this.page,
224
+        this.startTime,
225
+        this.endTime
226
+      ).then(response => {
227
+        if (response.data.state == 1) {
228
+          var coursemanagement = response.data.data.coursemanagement;
229
+          this.courseManagement = clearStyle(coursemanagement);
230
+          var total = response.data.data.total;
231
+          this.total = total;
232
+          this.loading = false;
233
+        }
234
+      });
235
+    },
236
+    onLoad() {
237
+      setTimeout(() => {
238
+        this.page++;
239
+        // console.log(this.page)
240
+        if (this.page <= Math.ceil(this.total / 10)) {
241
+          this.getCourseManagement(this.patientid);
242
+        } else {
243
+          this.loading = false;
244
+          this.finished = true;
245
+        }
246
+      }, 1000);
247
+    },
248
+    toDeleteCourseManagement(id, index) {
249
+      this.patient_id = id;
250
+      this.patient_index = index;
251
+      this.newShow = true;
252
+    },
253
+    onDeleteConfirm(value) {
254
+      if (value.name == "查看全部") {
255
+        var patientid = this.$route.query.patientid;
256
+        this.$router.push(
257
+          "/coursedetail?id=" +
258
+            this.patient_id +
259
+            "&patientid=" +
260
+            patientid +
261
+            "&active=" +
262
+            this.active
263
+        );
264
+      }
265
+      if (value.name == "全部删除") {
266
+        this.DeleteCouseManage(this.patient_id);
267
+      }
268
+    },
269
+    DeleteCouseManage(id, index) {
270
+      Dialog.confirm({
271
+        title: "删除提示!",
272
+        message: "确认删除该条信息吗?,删除后将无法恢复!"
273
+      }).then(() => {
274
+        DeleteCouseManage(id).then(response => {
275
+          if (response.data.state === 1) {
276
+            var msg = response.data.data.msg;
277
+            console.log("msg", msg);
278
+            this.courseManagement.splice(index, 1);
279
+            this.newShow = false;
280
+          }
281
+        });
282
+      });
283
+    },
284
+    toCourseDetail(id) {
285
+      var patientid = this.$route.query.patientid;
286
+      this.$router.push(
287
+        "/coursedetail?id=" +
288
+          id +
289
+          "&patientid=" +
290
+          patientid +
291
+          "&active=" +
292
+          this.active
293
+      );
294
+    },
295
+    getPatientDetail(patientid) {
296
+      getPatientDetail(patientid).then(response => {
297
+        if (response.data.state === 1) {
298
+          var patientDetail = response.data.data.patientDetail;
299
+          if (patientDetail.blood_patients == 0) {
300
+            this.courseManagement = [];
301
+            this.showOne = false;
302
+            this.showTwo = true;
303
+          }
304
+          if (patientDetail.blood_patients == 1) {
305
+            this.showOne = true;
306
+            this.showTwo = false;
307
+          }
308
+          this.patientName = patientDetail.name;
309
+        }
310
+      });
311
+    }
312
+  },
313
+  created() {
314
+    var patientid = this.$route.query.patientid;
315
+    this.patientid = patientid;
316
+    // console.log("干体重id", patientid);
317
+    this.getCourseManagement(patientid);
318
+    this.getPatientDetail(patientid);
319
+  }
320
+};
321
+</script>
322
+
323
+<style lang="scss" scoped>
324
+.newCourseManagement {
325
+  height: 100%;
326
+  overflow-y: auto;
327
+  background: #fff;
328
+  .toolBox {
329
+    display: flex;
330
+    height: 1.6rem;
331
+    align-items: center;
332
+    .toolOne {
333
+      width: 3.4rem;
334
+      height: 1rem;
335
+      background: rgba(246, 246, 246, 1);
336
+      border-radius: 5px;
337
+      text-align: center;
338
+      font-size: 0.42rem;
339
+      color: #8d8d8d;
340
+      display: flex;
341
+      align-items: center;
342
+      justify-content: space-around;
343
+      margin-left: 0.42rem;
344
+    }
345
+  }
346
+  .adviceBox {
347
+    padding: 0 0.66rem;
348
+    margin-bottom: 1.6rem;
349
+  }
350
+  .adviceMain {
351
+    > div:last-child {
352
+      border: none;
353
+    }
354
+  }
355
+  .adviceOne {
356
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
357
+    border-bottom: 1px solid #e5e5e5;
358
+    padding-bottom: 0.34rem;
359
+  }
360
+  .adviceTitle {
361
+    padding-top: 0.34rem;
362
+    display: flex;
363
+    align-items: center;
364
+    justify-content: space-between;
365
+    p {
366
+      color: #000000;
367
+      font-weight: bold;
368
+      font-size: 0.5rem;
369
+    }
370
+    .ellipsis {
371
+      font-size: 0.66rem;
372
+      color: #cccccc;
373
+    }
374
+  }
375
+  .statOrderTitle {
376
+    color: #5b98ff;
377
+    font-size: 0.43rem;
378
+    font-weight: bold;
379
+    margin: 0.34rem 0;
380
+  }
381
+  .orderContent {
382
+    font-size: 0.46rem;
383
+    color: rgba(49, 50, 52, 1);
384
+    margin-top: 0.34rem;
385
+    display: flex;
386
+    flex-wrap: wrap;
387
+    p {
388
+      line-height: 0.8rem;
389
+      // width: 50%;
390
+    }
391
+  }
392
+  .doctorBox {
393
+    font-size: 0.4rem;
394
+    color: rgba(152, 152, 152, 1);
395
+    line-height: 0.6rem;
396
+    display: flex;
397
+    align-items: center;
398
+    justify-content: space-between;
399
+    margin-top: 0.34rem;
400
+  }
401
+  .all {
402
+    font-size: 0.43rem;
403
+    color: #5b98ff;
404
+    margin-top: 0.34rem;
405
+  }
406
+  .noimgBox {
407
+    margin-top: 40%;
408
+    img {
409
+      width: 5rem;
410
+      height: 5rem;
411
+      margin: 0 auto;
412
+      display: block;
413
+    }
414
+  }
415
+  // .add {
416
+  //   position: fixed;
417
+  //   bottom: 0;
418
+  //   left: 0;
419
+  //   width: 100%;
420
+  //   height: 2.75rem;
421
+  //   background: rgba(255, 255, 255, 1);
422
+  //   box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
423
+  //   display: flex;
424
+  //   align-items: center;
425
+  //   justify-content: space-around;
426
+  //   font-size: 0.9375rem;
427
+  //   color: #979798;
428
+  //   .addIcon {
429
+  //     color: #5b98ff;
430
+  //     font-size: 1.25rem;
431
+  //     margin-right: 0.25rem;
432
+  //   }
433
+  // }
434
+  .van-popup {
435
+    border-radius: 0;
436
+    transform: translate3d(0, 0, 0);
437
+    top: initial;
438
+  }
439
+  
440
+}
441
+::-webkit-scrollbar {
442
+  width: 0;
443
+}
444
+</style>
445
+<style lang="scss">
446
+.newCourseManagement{
447
+  .van-picker__toolbar{
448
+    height: 1.46rem;
449
+    line-height: 1.46rem;
450
+  }
451
+  .van-picker__cancel, .van-picker__confirm{
452
+    padding: 0 0.53rem;
453
+    font-size: 0.46rem;
454
+  }
455
+  .van-picker-column{
456
+    font-size: 0.53rem;
457
+  }
458
+  .van-picker-column__item{
459
+    padding: 0 0.14rem;
460
+  }
461
+}
462
+</style>

+ 16 - 1
src/pages/main/dialysis/DialysisTab.vue View File

@@ -21,11 +21,26 @@
21 21
     <div class="tab-content">
22 22
       <long-table v-show="index == 0" title="长期透析处方"></long-table>
23 23
       <record-table v-show="index == 1" title="透析记录"></record-table>
24
-      <!--<advice-table v-show="index==2" title="医嘱信息"></advice-table>-->
25 24
       <schedul-table v-show="index == 2" class="排班信息"></schedul-table>
26 25
       <mission-table v-show="index == 3" class="宣教信息"></mission-table>
27 26
     </div>
28 27
   </div>
28
+  <!-- <div>
29
+    <van-tabs v-model="active" sticky @click="onClick">
30
+      <van-tab title="长期透析处方">
31
+        <long-table></long-table>
32
+      </van-tab>
33
+      <van-tab title="透析记录">
34
+        <record-table></record-table>
35
+      </van-tab>
36
+      <van-tab title="排班信息">
37
+        <schedul-table></schedul-table>
38
+      </van-tab>
39
+      <van-tab title="宣教信息">
40
+         <mission-table></mission-table>
41
+      </van-tab>
42
+    </van-tabs>
43
+  </div> -->
29 44
 </template>
30 45
 
31 46
 <script>

+ 474 - 0
src/pages/main/dialysis/DryWeight.vue View File

@@ -0,0 +1,474 @@
1
+<template>
2
+  <div class="newDryWeight">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="startShow = true">
6
+          <div style="display: flex; align-items: center;">
7
+            {{ startTime }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="endShow = true">
12
+          <div style="display: flex; align-items: center;">
13
+            {{ endTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+      </div>
18
+
19
+      <div class="adviceBox" v-if="dryweight.length > 0">
20
+        <van-list
21
+          v-model="loading"
22
+          :finished="finished"
23
+          finished-text="没有更多了"
24
+          @load="onLoad"
25
+        >
26
+          <div class="adviceMain">
27
+            <div
28
+              class="adviceOne"
29
+              v-for="(item, index) in dryweight"
30
+              :key="index"
31
+            >
32
+              <div class="adviceTitle">
33
+                <p>{{ getTime(item.ctime) }}</p>
34
+                <van-icon
35
+                  class="ellipsis"
36
+                  name="ellipsis"
37
+                  @click="DeleteDryWeightOne(item.id, index)"
38
+                />
39
+              </div>
40
+              <div class="statOrder" @click="getDryWeightDetail(item.id)">
41
+                <div class="weightContent">
42
+                  <p>干体重:{{ item.dry_weight }}kg</p>
43
+                  <p>{{ item.adjusted_value }}kg</p>
44
+                </div>
45
+                <div class="doctorBox">
46
+                  <p>记录医生:{{ item.user_name }}</p>
47
+                </div>
48
+                <div class="all">全部</div>
49
+              </div>
50
+            </div>
51
+          </div>
52
+        </van-list>
53
+      </div>
54
+
55
+      <div class="noimgBox" v-else>
56
+        <img src="../../../assets/images/none.png" alt />
57
+      </div>
58
+    </div>
59
+    <!-- <div class="add">
60
+      <div style="display: flex;align-items: center;">
61
+        <van-icon class="addIcon" name="add" />新增
62
+      </div>
63
+    </div>-->
64
+
65
+    <!-- 弹出层 -->
66
+    <div>
67
+      <van-action-sheet
68
+        v-model="newShow"
69
+        :actions="actions"
70
+        cancel-text="取消"
71
+        @cancel="onCancel"
72
+        @select="onDeleteConfirm"
73
+      />
74
+    </div>
75
+    <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
76
+      <van-datetime-picker
77
+        v-model="currentDate"
78
+        type="date"
79
+        :min-date="minDate"
80
+        :max-date="maxDate"
81
+        @confirm="getstartTime"
82
+        @cancel="startShow = false"
83
+      />
84
+    </van-popup>
85
+    <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
86
+      <van-datetime-picker
87
+        v-model="currentDate"
88
+        type="date"
89
+        :min-date="minDate"
90
+        :max-date="maxDate"
91
+        @confirm="getstartTime2"
92
+        @cancel="endShow = false"
93
+      />
94
+    </van-popup>
95
+  </div>
96
+</template>
97
+
98
+<script>
99
+import {
100
+  getDryWeight,
101
+  DeleteDryWeight,
102
+  getPatientDetail
103
+} from "@/api/patient/patient";
104
+import { uParseTime } from "@/utils/tools";
105
+import { Dialog } from "vant";
106
+const moment = require("moment");
107
+export default {
108
+  props: {
109
+    active: Number,
110
+    dryId: String
111
+  },
112
+  data() {
113
+    return {
114
+      newShow: false,
115
+      startShow: false,
116
+      endShow: false,
117
+      startTime: "请选择",
118
+      endTime: "请选择",
119
+      minDate: new Date(1970, 0, 1),
120
+      maxDate: new Date(2025, 10, 1),
121
+      endTimes: "",
122
+      currentDate: new Date(),
123
+      actions: [{ name: "查看全部" }, { name: "全部删除" }],
124
+      page: 1,
125
+      limit: 10,
126
+      dryweight: [],
127
+      patient_id: "",
128
+      total: 0,
129
+      list: [],
130
+      loading: false,
131
+      finished: false,
132
+      typeShow: false,
133
+      dry_id: 0,
134
+      dry_index: 0,
135
+      showOne: true,
136
+      showTwo: false
137
+    };
138
+  },
139
+  methods: {
140
+    onCancel() {
141
+      this.typeShow = false;
142
+    },
143
+    onConfirm(value) {
144
+      this.type = value;
145
+      this.typeShow = false;
146
+    },
147
+    getstartTime(value) {
148
+      this.page = 1;
149
+      let year = value.getFullYear();
150
+      let month = value.getMonth() + 1;
151
+      let day = value.getDate();
152
+      if (month >= 1 && month <= 9) {
153
+        month = `0${month}`;
154
+      }
155
+      if (day >= 1 && day <= 9) {
156
+        day = `0${day}`;
157
+      }
158
+
159
+      this.startTime = `${year}-${month}-${day}`;
160
+      this.dryweight = [];
161
+      this.getDryWeight(
162
+        this.patient_id,
163
+        this.startTime,
164
+        this.endTime,
165
+        this.limit,
166
+        this.page
167
+      );
168
+
169
+      this.startShow = false;
170
+    },
171
+    getstartTime2(value) {
172
+      this.page = 1;
173
+      let year = value.getFullYear();
174
+      let month = value.getMonth() + 1;
175
+      let day = value.getDate();
176
+      if (month >= 1 && month <= 9) {
177
+        month = `0${month}`;
178
+      }
179
+      if (day >= 1 && day <= 9) {
180
+        day = `0${day}`;
181
+      }
182
+
183
+      this.endTime = `${year}-${month}-${day}`;
184
+      this.dryweight = [];
185
+      this.getDryWeight(
186
+        this.patient_id,
187
+        this.startTime,
188
+        this.endTime,
189
+        this.limit,
190
+        this.page
191
+      );
192
+      this.endShow = false;
193
+    },
194
+    getDryWeight(patientid) {
195
+      getDryWeight(
196
+        patientid,
197
+        this.startTime,
198
+        this.endTime,
199
+        this.limit,
200
+        this.page
201
+      ).then(response => {
202
+        if (response.data.state === 1) {
203
+          var dryweight = response.data.data.dryweight;
204
+          let arr = this.dryweight;
205
+          arr.push(...dryweight);
206
+          this.dryweight = arr;
207
+          var total = response.data.data.total;
208
+          this.total = total;
209
+          this.loading = false;
210
+        }
211
+      });
212
+    },
213
+    getDryWeight1(patientid) {
214
+      getDryWeight(
215
+        patientid,
216
+        this.startTime,
217
+        this.endTimes,
218
+        this.limit,
219
+        this.page
220
+      ).then(response => {
221
+        if (response.data.state === 1) {
222
+          var dryweight = response.data.data.dryweight;
223
+          this.dryweight = dryweight;
224
+
225
+          var total = response.data.data.total;
226
+
227
+          this.total = total;
228
+          this.loading = false;
229
+        }
230
+      });
231
+    },
232
+    onLoad() {
233
+      setTimeout(() => {
234
+        this.page++;
235
+        if (this.page <= Math.ceil(this.total / 10)) {
236
+          this.getDryWeight(
237
+            this.patient_id,
238
+            this.startTime,
239
+            this.endTimes,
240
+            this.limit,
241
+            this.page
242
+          );
243
+        } else {
244
+          this.loading = false;
245
+          this.finished = true;
246
+        }
247
+      }, 1000);
248
+    },
249
+    getTime(time) {
250
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
251
+      return uParseTime(time, "{y}-{m}-{d}");
252
+    },
253
+    DeleteDryWeightOne(id, index) {
254
+      this.newShow = true;
255
+      this.dry_id = id;
256
+      this.dry_index = index;
257
+    },
258
+    onDeleteConfirm(value) {
259
+      if (value.name == "查看全部") {
260
+        var patientid = this.$route.query.patientid;
261
+        this.$router.push(
262
+          "/dryweight?id=" +
263
+            this.dry_id +
264
+            "&patientid=" +
265
+            patientid +
266
+            "&active=" +
267
+            this.active
268
+        );
269
+      }
270
+      if (value.name == "全部删除") {
271
+        this.DeleteDryWeight(this.dry_id, this.dry_index);
272
+      }
273
+    },
274
+    DeleteDryWeight(id, index) {
275
+      Dialog.confirm({
276
+        title: "删除提示!",
277
+        message: "确认删除该条信息吗?,删除后将无法恢复!"
278
+      }).then(() => {
279
+        DeleteDryWeight(id).then(response => {
280
+          if (response.data.state === 1) {
281
+            var msg = response.data.data.msg;
282
+            // console.log("msg", msg);
283
+            this.dryweight.splice(index, 1);
284
+            this.newShow = false;
285
+          }
286
+        });
287
+      });
288
+    },
289
+    getDryWeightDetail(id) {
290
+      var patientid = this.$route.query.patientid;
291
+      this.$router.push(
292
+        "/dryweight?id=" +
293
+          id +
294
+          "&patientid=" +
295
+          patientid +
296
+          "&active=" +
297
+          this.active
298
+      );
299
+    },
300
+    getPatientDetail(patientid) {
301
+      getPatientDetail(patientid).then(response => {
302
+        if (response.data.state === 1) {
303
+          var patientDetail = response.data.data.patientDetail;
304
+          if (patientDetail.blood_patients == 0) {
305
+            this.dryweight = [];
306
+            this.showOne = false;
307
+            this.showTwo = true;
308
+          }
309
+          if (patientDetail.blood_patients == 1) {
310
+            this.showOne = true;
311
+            this.showTwo = false;
312
+          }
313
+          // console.log("病人详情", patientDetail);
314
+          this.patientName = patientDetail.name;
315
+        }
316
+      });
317
+    }
318
+  },
319
+  created() {
320
+    // console.log("created");
321
+    // this.loading = true;
322
+    var patientid = this.$route.query.patientid;
323
+    // console.log("干体重id", patientid);
324
+    this.getDryWeight(patientid);
325
+    this.patient_id = patientid;
326
+    this.getPatientDetail(patientid);
327
+  }
328
+};
329
+</script>
330
+
331
+<style lang="scss" scoped>
332
+.newDryWeight {
333
+  height: 100%;
334
+  overflow-y: auto;
335
+  background: #fff;
336
+  .toolBox {
337
+    display: flex;
338
+    height: 1.6rem;
339
+    align-items: center;
340
+    .toolOne {
341
+      width: 3.4rem;
342
+      height: 1rem;
343
+      background: rgba(246, 246, 246, 1);
344
+      border-radius: 5px;
345
+      text-align: center;
346
+      font-size: 0.42rem;
347
+      color: #8d8d8d;
348
+      display: flex;
349
+      align-items: center;
350
+      justify-content: space-around;
351
+      margin-left: 0.42rem;
352
+    }
353
+  }
354
+  .adviceBox {
355
+    padding: 0 0.66rem;
356
+    margin-bottom: 1.6rem;
357
+  }
358
+  .adviceMain {
359
+    > div:last-child {
360
+      border: none;
361
+    }
362
+  }
363
+  .adviceOne {
364
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
365
+    border-bottom: 1px solid #e5e5e5;
366
+    padding-bottom: 0.34rem;
367
+  }
368
+  .adviceTitle {
369
+    padding-top: 0.34rem;
370
+    display: flex;
371
+    align-items: center;
372
+    justify-content: space-between;
373
+    p {
374
+      color: #000000;
375
+      font-weight: bold;
376
+      font-size: 0.5rem;
377
+    }
378
+    .ellipsis {
379
+      font-size: 0.66rem;
380
+      color: #cccccc;
381
+    }
382
+  }
383
+  .orderContent {
384
+    font-size: 0.46rem;
385
+    color: rgba(49, 50, 52, 1);
386
+    margin-top: 0.34rem;
387
+    display: flex;
388
+    flex-wrap: wrap;
389
+    p {
390
+      line-height: 0.8rem;
391
+      width: 50%;
392
+    }
393
+  }
394
+  .weightContent {
395
+    font-size: 0.46rem;
396
+    color: rgba(49, 50, 52, 1);
397
+    display: flex;
398
+    p {
399
+      line-height: 0.6rem;
400
+      margin-right: 0.34rem;
401
+      margin-top: 0.13rem;
402
+    }
403
+  }
404
+  .doctorBox {
405
+    font-size: 0.4rem;
406
+    color: rgba(152, 152, 152, 1);
407
+    line-height: 0.6rem;
408
+    display: flex;
409
+    align-items: center;
410
+    justify-content: space-between;
411
+    margin-top: 0.34rem;
412
+  }
413
+  .all {
414
+    font-size: 0.43rem;
415
+    color: #5b98ff;
416
+    margin-top: 0.34rem;
417
+  }
418
+  .noimgBox {
419
+    margin-top: 40%;
420
+    img {
421
+      width: 5rem;
422
+      height: 5rem;
423
+      margin: 0 auto;
424
+      display: block;
425
+    }
426
+  }
427
+  // .add {
428
+  //   position: fixed;
429
+  //   bottom: 0;
430
+  //   left: 0;
431
+  //   width: 100%;
432
+  //   height: 2.75rem;
433
+  //   background: rgba(255, 255, 255, 1);
434
+  //   box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
435
+  //   display: flex;
436
+  //   align-items: center;
437
+  //   justify-content: space-around;
438
+  //   font-size: 0.9375rem;
439
+  //   color: #979798;
440
+  //   .addIcon {
441
+  //     color: #5b98ff;
442
+  //     font-size: 1.25rem;
443
+  //     margin-right: 0.25rem;
444
+  //   }
445
+  // }
446
+  .van-popup {
447
+    border-radius: 0;
448
+    transform: translate3d(0, 0, 0);
449
+    top: initial;
450
+  }
451
+  
452
+}
453
+::-webkit-scrollbar {
454
+  width: 0;
455
+}
456
+</style>
457
+<style lang="scss">
458
+.newDryWeight{
459
+  .van-picker__toolbar{
460
+    height: 1.46rem;
461
+    line-height: 1.46rem;
462
+  }
463
+  .van-picker__cancel, .van-picker__confirm{
464
+    padding: 0 0.53rem;
465
+    font-size: 0.46rem;
466
+  }
467
+  .van-picker-column{
468
+    font-size: 0.53rem;
469
+  }
470
+  .van-picker-column__item{
471
+    padding: 0 0.14rem;
472
+  }
473
+}
474
+</style>

File diff suppressed because it is too large
+ 1113 - 486
src/pages/main/dialysis/LongTable.vue


+ 627 - 194
src/pages/main/dialysis/MissionTable.vue View File

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div>
2
+  <!-- <div>
3 3
     <div class="choice">
4 4
       <ul>
5 5
         <li>
@@ -39,7 +39,6 @@
39 39
           <li style="width:65%;">{{ item.mission }}</li>
40 40
         </ul>
41 41
       </div>
42
-      <!--<div class="NoData" v-show="tableDate.length == 0"><img src="@/assets/login/data.jpg" alt=""></div>-->
43 42
       <div class="NoData" v-show="tableDate.length == 0">
44 43
         <img
45 44
           style="margin-top: 50px; margin-bottom: 50px"
@@ -64,242 +63,676 @@
64 63
       :endDate="new Date()"
65 64
       v-model="endTime"
66 65
     ></mt-datetime-picker>
66
+  </div> -->
67
+  <div class="newEducation">
68
+    <div>
69
+      <div class="toolBox">
70
+        <div class="toolOne" @click="startShow = true">
71
+          <div style="display: flex;align-items: center;">
72
+            {{ startTime }}
73
+            <van-icon name="arrow-down" />
74
+          </div>
75
+        </div>
76
+        <div class="toolOne" @click="endShow = true">
77
+          <div style="display: flex;align-items: center;">
78
+            {{ endTime }}
79
+            <van-icon name="arrow-down" />
80
+          </div>
81
+        </div>
82
+      </div>
83
+      <div class="adviceBox" v-if="Education.length > 0">
84
+        <van-list
85
+          v-model="loading"
86
+          :finished="finished"
87
+          finished-text="没有更多了"
88
+          @load="onLoad"
89
+        >
90
+          <div class="adviceMain">
91
+            <div
92
+              class="adviceOne"
93
+              v-for="(item, index) in Education"
94
+              :key="index"
95
+            >
96
+              <div class="adviceTitle">
97
+                <p>{{ getTime(item.assessment_date) }}</p>
98
+                <van-icon
99
+                  class="ellipsis"
100
+                  name="ellipsis"
101
+                  @click="toDeleteEducation(item.id, item.index)"
102
+                />
103
+              </div>
104
+              <div class="statOrder" @click="toEducationDetail(item.id)">
105
+                <div class="orderContent">
106
+                  <p>{{ item.mission }}</p>
107
+                </div>
108
+              </div>
109
+              <div class="all">全部</div>
110
+            </div>
111
+          </div>
112
+        </van-list>
113
+      </div>
114
+
115
+      <div class="noimgBox" v-else>
116
+        <img src="../../../assets/images/none.png" alt />
117
+      </div>
118
+    </div>
119
+    <!-- <div class="add">
120
+      <div style="display: flex;align-items: center;">
121
+        <van-icon class="addIcon" name="add" />新增
122
+      </div>
123
+    </div>-->
124
+
125
+    <!-- 弹出层 -->
126
+    <div>
127
+      <van-popup
128
+        v-model="startShow"
129
+        position="bottom"
130
+        :style="{ height: '40%' }"
131
+      >
132
+        <van-datetime-picker
133
+          v-model="currentDate"
134
+          type="date"
135
+          :min-date="minDate"
136
+          :max-date="maxDate"
137
+          @confirm="getstartTime"
138
+          @cancel="startShow = false"
139
+        />
140
+      </van-popup>
141
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
142
+        <van-datetime-picker
143
+          v-model="currentDate"
144
+          type="date"
145
+          :min-date="minDate"
146
+          :max-date="maxDate"
147
+          @confirm="getstartTime2"
148
+          @cancel="endShow = false"
149
+        />
150
+      </van-popup>
151
+      <van-action-sheet
152
+        v-model="newShow"
153
+        :actions="actions"
154
+        cancel-text="取消"
155
+        @select="DeleteEducation"
156
+      />
157
+    </div>
67 158
   </div>
68 159
 </template>
69 160
 
70 161
 <script>
71
-import { parseTime } from "@/utils";
72
-import { getAllEducationList } from "@/api/patient";
162
+// import { parseTime } from "@/utils";
163
+// import { getAllEducationList } from "@/api/patient";
73 164
 
74
-import { Popover } from "vux";
75
-export default {
76
-  name: "LongTable",
77
-  created() {
78
-    this.tableDate = [];
165
+// import { Popover } from "vux";
166
+// export default {
167
+//   name: "LongTable",
168
+//   created() {
169
+//     this.tableDate = [];
79 170
 
80
-    this.queryParams.start_time = this.parseTime(
81
-      new Date().getTime() / 1000,
82
-      "{y}-{m}-{d}"
83
-    );
84
-    this.queryParams.end_time = this.parseTime(
85
-      new Date().getTime() / 1000,
86
-      "{y}-{m}-{d}"
87
-    );
88
-    this.queryParams.patient_id = this.$route.query.patient_id;
89
-    this.queryParams.page = this.queryParams.page + 1;
90
-    this.queryParams.limit = 15;
91
-    this.tableDate = [];
171
+//     this.queryParams.start_time = this.parseTime(
172
+//       new Date().getTime() / 1000,
173
+//       "{y}-{m}-{d}"
174
+//     );
175
+//     this.queryParams.end_time = this.parseTime(
176
+//       new Date().getTime() / 1000,
177
+//       "{y}-{m}-{d}"
178
+//     );
179
+//     this.queryParams.patient_id = this.$route.query.patient_id;
180
+//     this.queryParams.page = this.queryParams.page + 1;
181
+//     this.queryParams.limit = 15;
182
+//     this.tableDate = [];
92 183
 
93
-    getAllEducationList(this.queryParams).then(response => {
94
-      if (response.data.state == 0) {
95
-        return false;
96
-      } else {
97
-        if (response.data.data.total == 0) {
98
-        } else {
99
-          for (let i = 0; i < response.data.data.edus.length; i++) {
100
-            this.tableDate.push(response.data.data.edus[i]);
101
-          }
102
-        }
103
-      }
104
-    });
184
+//     getAllEducationList(this.queryParams).then(response => {
185
+//       if (response.data.state == 0) {
186
+//         return false;
187
+//       } else {
188
+//         if (response.data.data.total == 0) {
189
+//         } else {
190
+//           for (let i = 0; i < response.data.data.edus.length; i++) {
191
+//             this.tableDate.push(response.data.data.edus[i]);
192
+//           }
193
+//         }
194
+//       }
195
+//     });
196
+//   },
197
+//   data() {
198
+//     return {
199
+//       tableDate: [],
200
+//       loading: false,
201
+//       finished: false,
202
+
203
+//       startTime: new Date(),
204
+//       endTime: new Date(),
205
+
206
+//       queryParams: {
207
+//         mode_id: "",
208
+//         start_time: "",
209
+//         end_time: "",
210
+//         page: 0,
211
+//         patient_id: 0,
212
+//         limit: 15
213
+//       }
214
+//     };
215
+//   },
216
+//   methods: {
217
+//     parseTime(time, layout) {
218
+//       return parseTime(time, layout);
219
+//     },
220
+//     onLoad() {
221
+//       this.queryParams.start_time = this.parseTime(
222
+//         this.startTime.getTime() / 1000,
223
+//         "{y}-{m}-{d}"
224
+//       );
225
+//       this.queryParams.end_time = this.parseTime(
226
+//         this.endTime.getTime() / 1000,
227
+//         "{y}-{m}-{d}"
228
+//       );
229
+//       this.queryParams.patient_id = this.$route.query.patient_id;
230
+//       this.queryParams.page = this.queryParams.page + 1;
231
+//       this.queryParams.limit = 15;
232
+
233
+//       getAllEducationList(params).then(response => {
234
+//         if (response.data.state == 0) {
235
+//           this.finished = true;
236
+//           this.loading = false;
237
+//           return false;
238
+//         } else {
239
+//           if (response.data.data.edus.length == 0) {
240
+//             this.finished = true;
241
+//             this.loading = false;
242
+//           } else {
243
+//             for (let i = 0; i < response.data.data.edus.length; i++) {
244
+//               this.tableDate.push(response.data.data.edus[i]);
245
+//             }
246
+//             this.loading = false;
247
+//           }
248
+//         }
249
+//       });
250
+//     },
251
+//     handleStartDateConfirm: function(val) {
252
+//       this.queryParams.start_time = this.parseTime(
253
+//         this.startTime / 1000,
254
+//         "{y}-{m}-{d}"
255
+//       );
256
+//       this.queryParams.end_time = this.parseTime(
257
+//         this.endTime / 1000,
258
+//         "{y}-{m}-{d}"
259
+//       );
260
+//       this.queryParams.page = 1;
261
+//       this.queryParams.limit = 15;
262
+
263
+//       this.getRecordList(this.queryParams);
264
+//     },
265
+//     handleEndDateConfirm: function(val) {
266
+//       this.queryParams.start_time = this.parseTime(
267
+//         this.startTime / 1000,
268
+//         "{y}-{m}-{d}"
269
+//       );
270
+//       this.queryParams.end_time = this.parseTime(
271
+//         this.endTime / 1000,
272
+//         "{y}-{m}-{d}"
273
+//       );
274
+//       this.queryParams.page = 1;
275
+//       this.queryParams.limit = 15;
276
+//       this.getRecordList(this.queryParams);
277
+//     },
278
+//     openStartPicker: function() {
279
+//       this.$refs.start_date_picker.open();
280
+//     },
281
+//     openEndPicker: function() {
282
+//       this.$refs.end_date_picker.open();
283
+//     },
284
+//     getRecordList: function(val) {
285
+//       this.tableDate = [];
286
+//       getAllEducationList(val).then(response => {
287
+//         if (response.data.state == 0) {
288
+//           return false;
289
+//         } else {
290
+//           if (response.data.data.edus.length == 0) {
291
+//           } else {
292
+//             for (let i = 0; i < response.data.data.edus.length; i++) {
293
+//               this.tableDate.push(response.data.data.edus[i]);
294
+//             }
295
+//           }
296
+//         }
297
+//       });
298
+//     }
299
+//   },
300
+
301
+//   components: {
302
+//     Popover
303
+//   }
304
+// };
305
+</script>
306
+
307
+<script>
308
+import {
309
+  getPatientDetail,
310
+  getEducation,
311
+  DeleteEducationOne
312
+} from "@/api/patient/patient";
313
+import { uParseTime } from "@/utils/tools";
314
+import Vue from "vue";
315
+import { Dialog } from "vant";
316
+const moment = require("moment");
317
+export default {
318
+  props: {
319
+    active: Number
105 320
   },
106 321
   data() {
107 322
     return {
108
-      tableDate: [],
323
+      newShow: false,
324
+      startShow: false,
325
+      endShow: false,
326
+      startTime: "请选择",
327
+      endTime: "请选择",
328
+      minDate: new Date(1970, 0, 1),
329
+      maxDate: new Date(2025, 10, 1),
330
+      currentDate: new Date(),
331
+      actions: [{ name: "查看全部" }, { name: "全部删除" }],
332
+      showOne: true,
333
+      showTwo: false,
334
+      limit: 10,
335
+      page: 1,
336
+      total: 0,
109 337
       loading: false,
110 338
       finished: false,
111
-
112
-      startTime: new Date(),
113
-      endTime: new Date(),
114
-
115
-      queryParams: {
116
-        mode_id: "",
117
-        start_time: "",
118
-        end_time: "",
119
-        page: 0,
120
-        patient_id: 0,
121
-        limit: 15
122
-      }
339
+      list: [],
340
+      Education: [],
341
+      patient_id: "",
342
+      id: 0,
343
+      index: 0
123 344
     };
124 345
   },
125 346
   methods: {
126
-    parseTime(time, layout) {
127
-      return parseTime(time, layout);
347
+    onCancel() {
348
+      this.typeShow = false;
128 349
     },
129
-    onLoad() {
130
-      this.queryParams.start_time = this.parseTime(
131
-        this.startTime.getTime() / 1000,
132
-        "{y}-{m}-{d}"
133
-      );
134
-      this.queryParams.end_time = this.parseTime(
135
-        this.endTime.getTime() / 1000,
136
-        "{y}-{m}-{d}"
350
+    onConfirm(value) {
351
+      this.type = value;
352
+      this.typeShow = false;
353
+    },
354
+    getstartTime(value) {
355
+      this.page = 1;
356
+      let year = value.getFullYear();
357
+      let month = value.getMonth() + 1;
358
+      let day = value.getDate();
359
+      if (month >= 1 && month <= 9) {
360
+        month = `0${month}`;
361
+      }
362
+      if (day >= 1 && day <= 9) {
363
+        day = `0${day}`;
364
+      }
365
+
366
+      this.startTime = `${year}-${month}-${day}`;
367
+      this.Education = [];
368
+      this.getEducation(
369
+        this.patient_id,
370
+        this.limit,
371
+        this.page,
372
+        this.startTime,
373
+        this.endTime
137 374
       );
138
-      this.queryParams.patient_id = this.$route.query.patient_id;
139
-      this.queryParams.page = this.queryParams.page + 1;
140
-      this.queryParams.limit = 15;
375
+      this.startShow = false;
376
+    },
377
+    getstartTime2(value) {
378
+      this.page = 1;
379
+      let year = value.getFullYear();
380
+      let month = value.getMonth() + 1;
381
+      let day = value.getDate();
382
+      if (month >= 1 && month <= 9) {
383
+        month = `0${month}`;
384
+      }
385
+      if (day >= 1 && day <= 9) {
386
+        day = `0${day}`;
387
+      }
141 388
 
142
-      getAllEducationList(params).then(response => {
143
-        if (response.data.state == 0) {
144
-          this.finished = true;
389
+      this.endTime = `${year}-${month}-${day}`;
390
+      this.Education = [];
391
+      this.getEducation(
392
+        this.patient_id,
393
+        this.limit,
394
+        this.page,
395
+        this.startTime,
396
+        this.endTime
397
+      );
398
+      this.endShow = false;
399
+    },
400
+    getEducation(id) {
401
+      getEducation(
402
+        id,
403
+        this.limit,
404
+        this.page,
405
+        this.startTime,
406
+        this.endTime
407
+      ).then(response => {
408
+        if (response.data.state === 1) {
409
+          var education = response.data.data.education;
410
+          let arr = this.Education;
411
+          arr.push(...education);
412
+          this.Education = arr;
413
+          var total = response.data.data.total;
414
+          this.total = total;
145 415
           this.loading = false;
146
-          return false;
416
+        }
417
+      });
418
+    },
419
+    onLoad() {
420
+      setTimeout(() => {
421
+        this.page++;
422
+        if (this.page <= Math.ceil(this.total / 10)) {
423
+          this.getEducation(
424
+            this.patient_id,
425
+            this.limit,
426
+            this.page,
427
+            this.startTime,
428
+            this.endTime
429
+          );
147 430
         } else {
148
-          if (response.data.data.edus.length == 0) {
149
-            this.finished = true;
150
-            this.loading = false;
151
-          } else {
152
-            for (let i = 0; i < response.data.data.edus.length; i++) {
153
-              this.tableDate.push(response.data.data.edus[i]);
154
-            }
155
-            this.loading = false;
431
+          this.loading = false;
432
+          this.finished = true;
433
+        }
434
+      }, 3000);
435
+    },
436
+    getPatientDetail(patientid) {
437
+      getPatientDetail(patientid).then(response => {
438
+        if (response.data.state === 1) {
439
+          var patientDetail = response.data.data.patientDetail;
440
+          if (patientDetail.blood_patients == 0) {
441
+            this.Education = [];
442
+            this.showOne = false;
443
+            this.showTwo = true;
444
+          }
445
+          if (patientDetail.blood_patients == 1) {
446
+            this.showOne = true;
447
+            this.showTwo = false;
156 448
           }
449
+          this.patientName = patientDetail.name;
157 450
         }
158 451
       });
159 452
     },
160
-    handleStartDateConfirm: function(val) {
161
-      this.queryParams.start_time = this.parseTime(
162
-        this.startTime / 1000,
163
-        "{y}-{m}-{d}"
164
-      );
165
-      this.queryParams.end_time = this.parseTime(
166
-        this.endTime / 1000,
167
-        "{y}-{m}-{d}"
168
-      );
169
-      this.queryParams.page = 1;
170
-      this.queryParams.limit = 15;
171
-
172
-      this.getRecordList(this.queryParams);
453
+    getTime(time) {
454
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
455
+      return uParseTime(time, "{y}-{m}-{d}");
173 456
     },
174
-    handleEndDateConfirm: function(val) {
175
-      this.queryParams.start_time = this.parseTime(
176
-        this.startTime / 1000,
177
-        "{y}-{m}-{d}"
457
+    toEducationDetail(id) {
458
+      var patientid = this.$route.query.patientid;
459
+      this.$router.push(
460
+        "/editEducation?id=" +
461
+          id +
462
+          "&patientid=" +
463
+          patientid +
464
+          "&active=" +
465
+          this.active
178 466
       );
179
-      this.queryParams.end_time = this.parseTime(
180
-        this.endTime / 1000,
181
-        "{y}-{m}-{d}"
182
-      );
183
-      this.queryParams.page = 1;
184
-      this.queryParams.limit = 15;
185
-      this.getRecordList(this.queryParams);
186 467
     },
187
-    openStartPicker: function() {
188
-      this.$refs.start_date_picker.open();
468
+    toDeleteEducation(id, index) {
469
+      this.id = id;
470
+      this.index = index;
471
+      this.newShow = true;
189 472
     },
190
-    openEndPicker: function() {
191
-      this.$refs.end_date_picker.open();
473
+    DeleteEducation(value) {
474
+      // console.log("value", value);
475
+      if (value.name == "查看全部") {
476
+        var patientid = this.$route.query.patientid;
477
+        this.$router.push(
478
+          "/editEducation?id=" +
479
+            this.id +
480
+            "&patientid=" +
481
+            patientid +
482
+            "&active=" +
483
+            this.active
484
+        );
485
+      }
486
+      if (value.name == "全部删除") {
487
+        this.DeleteEducationOne(this.id, this.index);
488
+      }
192 489
     },
193
-    getRecordList: function(val) {
194
-      this.tableDate = [];
195
-      getAllEducationList(val).then(response => {
196
-        if (response.data.state == 0) {
197
-          return false;
198
-        } else {
199
-          if (response.data.data.edus.length == 0) {
200
-          } else {
201
-            for (let i = 0; i < response.data.data.edus.length; i++) {
202
-              this.tableDate.push(response.data.data.edus[i]);
203
-            }
490
+    DeleteEducationOne(id, index) {
491
+      Dialog.confirm({
492
+        title: "删除提示!",
493
+        message: "确认删除该条信息吗?,删除后将无法恢复!"
494
+      }).then(() => {
495
+        DeleteEducationOne(id).then(response => {
496
+          if (response.data.state === 1) {
497
+            var msg = response.data.data.msg;
498
+            // console.log("msg", msg);
499
+            this.Education.splice(index, 1);
500
+            this.newShow = false;
204 501
           }
205
-        }
502
+        });
206 503
       });
207 504
     }
208 505
   },
209
-
210
-  components: {
211
-    Popover
506
+  created() {
507
+    var patientid = this.$route.query.patientid;
508
+    this.getPatientDetail(patientid);
509
+    this.getEducation(patientid);
510
+    this.patient_id = patientid;
212 511
   }
213 512
 };
214 513
 </script>
215 514
 
216
-<style style="stylesheet/scss" lang="scss" scoped>
217
-.choice {
218
-  border-bottom: 1px #e5e5e5 solid;
219
-  ul {
220
-    @include display-flex;
221
-    @include align-items-center;
222
-    @include text-align;
223
-    @include justify-content-between;
224
-    width: 80%;
225
-    margin: 0 auto;
226
-    font-size: 0.45rem;
227
-    color: $pgh-color;
228
-    li {
229
-      @include display-flex;
230
-      @include align-items-center;
231
-      @include text-align;
232
-      @include justify-content-between;
233
-      padding: 0.3rem 0;
234
-      margin: 0 auto;
235
-      .iconfont {
236
-        margin: 0 0.1rem;
237
-        // @media only screen and (max-width: 812px) {
238
-        //   font-size: 12px !important;
239
-        // }
240
-      }
241
-      .line {
242
-        background: #a8b3ba;
243
-        width: 0.2rem;
244
-        height: 1px;
245
-        margin: 0 0.2rem;
246
-        display: inline-block;
247
-      }
515
+
516
+<style lang="scss" scoped>
517
+.newEducation {
518
+  height: 100%;
519
+  overflow-y: auto;
520
+  background: #fff;
521
+  .toolBox {
522
+    display: flex;
523
+    height: 1.6rem;
524
+    align-items: center;
525
+    .toolOne {
526
+      width: 3.4rem;
527
+      height: 1rem;
528
+      background: rgba(246, 246, 246, 1);
529
+      border-radius: 5px;
530
+      text-align: center;
531
+      font-size: 0.42rem;
532
+      color: #8d8d8d;
533
+      display: flex;
534
+      align-items: center;
535
+      justify-content: space-around;
536
+      margin-left: 0.42rem;
248 537
     }
249 538
   }
250
-}
251
-.tableTit {
252
-  background: $main-color;
253
-  color: $text-color;
254
-  @include box-sizing;
255
-  ul {
256
-    @include display-flex;
257
-    @include align-items-center;
258
-    @include text-align;
259
-    @include justify-content-center;
260
-    li {
261
-      border-right: 2px #fff solid;
262
-      font-size: 0.45rem;
263
-      height: 1.2rem;
264
-      line-height: 1.2rem;
539
+  .adviceBox {
540
+    padding: 0 0.66rem;
541
+    margin-bottom: 1.6rem;
542
+  }
543
+  .adviceMain {
544
+    > div:last-child {
545
+      border: none;
265 546
     }
266
-    &:last-child {
267
-      border-right: none;
547
+  }
548
+  .adviceOne {
549
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
550
+    border-bottom: 1px solid #e5e5e5;
551
+    padding-bottom: 0.34rem;
552
+  }
553
+  .adviceTitle {
554
+    padding-top: 0.34rem;
555
+    display: flex;
556
+    align-items: center;
557
+    justify-content: space-between;
558
+    p {
559
+      color: #000000;
560
+      font-weight: bold;
561
+      font-size: 0.5rem;
562
+    }
563
+    .ellipsis {
564
+      font-size: 0.66rem;
565
+      color: #cccccc;
268 566
     }
269 567
   }
270
-}
271
-.tableDate {
272
-  background: #ecf5ff;
273
-  color: $pgh-color;
274
-  @include box-sizing;
275
-  ul {
276
-    @include display-flex;
277
-    @include align-items-center;
278
-    @include text-align;
279
-    @include justify-content-center;
280
-    li {
281
-      font-size: 0.45rem;
282
-      padding: 0.16rem 0;
283
-      line-height: 0.5rem;
284
-      border-right: 2px #fff solid;
285
-      span {
286
-        @include flex;
287
-        border-right: 2px #fff solid;
288
-        border-bottom: 2px #fff solid;
289
-        background: #ecf5ff;
290
-        display: inline-block;
291
-        height: 1.2rem;
292
-        line-height: 1.2rem;
293
-        .iconfont {
294
-          color: $main-color;
295
-          font-size: 0.3rem;
296
-          margin-right: 0.1rem;
297
-        }
298
-      }
568
+  .orderContent {
569
+    font-size: 0.46rem;
570
+    color: rgba(49, 50, 52, 1);
571
+    margin-top: 0.34rem;
572
+    p {
573
+      line-height: 0.8rem;
299 574
     }
300
-    &:last-child {
301
-      border-right: none;
575
+  }
576
+  .doctorBox {
577
+    font-size: 0.4rem;
578
+    color: rgba(152, 152, 152, 1);
579
+    line-height: 0.6rem;
580
+    display: flex;
581
+    align-items: center;
582
+    justify-content: space-between;
583
+    margin-top: 0.34rem;
584
+  }
585
+  .all {
586
+    font-size: 0.43rem;
587
+    color: #5b98ff;
588
+    margin-top: 0.34rem;
589
+  }
590
+  .noimgBox {
591
+    margin-top: 40%;
592
+    img {
593
+      width: 5rem;
594
+      height: 5rem;
595
+      margin: 0 auto;
596
+      display: block;
302 597
     }
303 598
   }
599
+  // .add {
600
+  //   position: fixed;
601
+  //   bottom: 0;
602
+  //   left: 0;
603
+  //   width: 100%;
604
+  //   height: 2.75rem;
605
+  //   background: rgba(255, 255, 255, 1);
606
+  //   box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
607
+  //   display: flex;
608
+  //   align-items: center;
609
+  //   justify-content: space-around;
610
+  //   font-size: 0.9375rem;
611
+  //   color: #979798;
612
+  //   .addIcon {
613
+  //     color: #5b98ff;
614
+  //     font-size: 1.25rem;
615
+  //     margin-right: 0.25rem;
616
+  //   }
617
+  // }
618
+  .van-popup {
619
+    border-radius: 0;
620
+    transform: translate3d(0, 0, 0);
621
+    top: initial;
622
+  }
623
+}
624
+::-webkit-scrollbar {
625
+  width: 0;
304 626
 }
305 627
 </style>
628
+<style lang="scss">
629
+.newEducation{
630
+  .van-picker__toolbar{
631
+    height: 1.46rem;
632
+    line-height: 1.46rem;
633
+  }
634
+  .van-picker__cancel, .van-picker__confirm{
635
+    padding: 0 0.53rem;
636
+    font-size: 0.46rem;
637
+  }
638
+  .van-picker-column{
639
+    font-size: 0.53rem;
640
+  }
641
+  .van-picker-column__item{
642
+    padding: 0 0.14rem;
643
+  }
644
+}
645
+</style>
646
+
647
+
648
+
649
+<style style="stylesheet/scss" lang="scss" scoped>
650
+// .choice {
651
+//   border-bottom: 1px #e5e5e5 solid;
652
+//   ul {
653
+//     @include display-flex;
654
+//     @include align-items-center;
655
+//     @include text-align;
656
+//     @include justify-content-between;
657
+//     width: 80%;
658
+//     margin: 0 auto;
659
+//     font-size: 0.45rem;
660
+//     color: $pgh-color;
661
+//     li {
662
+//       @include display-flex;
663
+//       @include align-items-center;
664
+//       @include text-align;
665
+//       @include justify-content-between;
666
+//       padding: 0.3rem 0;
667
+//       margin: 0 auto;
668
+//       .iconfont {
669
+//         margin: 0 0.1rem;
670
+//         // @media only screen and (max-width: 812px) {
671
+//         //   font-size: 12px !important;
672
+//         // }
673
+//       }
674
+//       .line {
675
+//         background: #a8b3ba;
676
+//         width: 0.2rem;
677
+//         height: 1px;
678
+//         margin: 0 0.2rem;
679
+//         display: inline-block;
680
+//       }
681
+//     }
682
+//   }
683
+// }
684
+// .tableTit {
685
+//   background: $main-color;
686
+//   color: $text-color;
687
+//   @include box-sizing;
688
+//   ul {
689
+//     @include display-flex;
690
+//     @include align-items-center;
691
+//     @include text-align;
692
+//     @include justify-content-center;
693
+//     li {
694
+//       border-right: 2px #fff solid;
695
+//       font-size: 0.45rem;
696
+//       height: 1.2rem;
697
+//       line-height: 1.2rem;
698
+//     }
699
+//     &:last-child {
700
+//       border-right: none;
701
+//     }
702
+//   }
703
+// }
704
+// .tableDate {
705
+//   background: #ecf5ff;
706
+//   color: $pgh-color;
707
+//   @include box-sizing;
708
+//   ul {
709
+//     @include display-flex;
710
+//     @include align-items-center;
711
+//     @include text-align;
712
+//     @include justify-content-center;
713
+//     li {
714
+//       font-size: 0.45rem;
715
+//       padding: 0.16rem 0;
716
+//       line-height: 0.5rem;
717
+//       border-right: 2px #fff solid;
718
+//       span {
719
+//         @include flex;
720
+//         border-right: 2px #fff solid;
721
+//         border-bottom: 2px #fff solid;
722
+//         background: #ecf5ff;
723
+//         display: inline-block;
724
+//         height: 1.2rem;
725
+//         line-height: 1.2rem;
726
+//         .iconfont {
727
+//           color: $main-color;
728
+//           font-size: 0.3rem;
729
+//           margin-right: 0.1rem;
730
+//         }
731
+//       }
732
+//     }
733
+//     &:last-child {
734
+//       border-right: none;
735
+//     }
736
+//   }
737
+// }
738
+</style>

File diff suppressed because it is too large
+ 922 - 375
src/pages/main/dialysis/RecordTable.vue


+ 443 - 0
src/pages/main/dialysis/RescueRecord.vue View File

@@ -0,0 +1,443 @@
1
+<template>
2
+  <div class="newRescueRecord">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="startShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ startTime }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="endShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ endTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+      </div>
18
+      <div class="adviceBox" v-if="rescueRecords.length > 0">
19
+        <van-list
20
+          v-model="loading"
21
+          :finished="finished"
22
+          finished-text="没有更多了"
23
+          @load="onLoad"
24
+        >
25
+          <div class="adviceMain">
26
+            <div
27
+              class="adviceOne"
28
+              v-for="(item, index) in this.rescueRecords"
29
+              :key="index"
30
+            >
31
+              <div class="adviceTitle">
32
+                <p>{{ getTime(item.record_time) }}</p>
33
+                <van-icon
34
+                  class="ellipsis"
35
+                  name="ellipsis"
36
+                  @click="toDeleteRescueRecord(item.id, item.index)"
37
+                />
38
+              </div>
39
+              <div class="statOrder">
40
+                <div class="orderContent" @click="toRescueRecord(item.id)">
41
+                  <p>
42
+                    <span v-html="item.content"></span>
43
+                  </p>
44
+                </div>
45
+                <div class="doctorBox">
46
+                  <p>记录医生:{{ item.user_name }}</p>
47
+                </div>
48
+              </div>
49
+              <div class="all">全部</div>
50
+            </div>
51
+          </div>
52
+        </van-list>
53
+      </div>
54
+      <div class="noimgBox" v-else>
55
+        <img src="../../../assets/images/none.png" alt />
56
+      </div>
57
+    </div>
58
+    <!-- <div class="add">
59
+      <div style="display: flex;align-items: center;">
60
+        <van-icon class="addIcon" name="add" />新增
61
+      </div>
62
+    </div>-->
63
+
64
+    <!-- 弹出层 -->
65
+    <div>
66
+      <van-popup
67
+        v-model="startShow"
68
+        position="bottom"
69
+        :style="{ height: '40%' }"
70
+      >
71
+        <van-datetime-picker
72
+          v-model="currentDate"
73
+          type="date"
74
+          :min-date="minDate"
75
+          :max-date="maxDate"
76
+          @confirm="getstartTime"
77
+          @cancel="startShow = false"
78
+        />
79
+      </van-popup>
80
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
81
+        <van-datetime-picker
82
+          v-model="currentDate"
83
+          type="date"
84
+          :min-date="minDate"
85
+          :max-date="maxDate"
86
+          @confirm="getstartTime2"
87
+          @cancel="endShow = false"
88
+        />
89
+      </van-popup>
90
+      <van-action-sheet
91
+        v-model="newShow"
92
+        :actions="actions"
93
+        cancel-text="取消"
94
+        @select="Delete"
95
+      />
96
+    </div>
97
+  </div>
98
+</template>
99
+
100
+<script>
101
+import {
102
+  getPatientDetail,
103
+  getRescueRecord,
104
+  DeleteRescueRecord
105
+} from "@/api/patient/patient";
106
+import { uParseTime } from "@/utils/tools";
107
+import Vue from "vue";
108
+import { Dialog } from "vant";
109
+const moment = require("moment");
110
+export default {
111
+  props: {
112
+    active: Number
113
+  },
114
+  data() {
115
+    return {
116
+      newShow: false,
117
+      startShow: false,
118
+      endShow: false,
119
+      startTime: "请选择",
120
+      endTime: "请选择",
121
+      endTimes: "",
122
+      minDate: new Date(1970, 0, 1),
123
+      maxDate: new Date(2025, 10, 1),
124
+      currentDate: new Date(),
125
+      actions: [{ name: "查看全部" }, { name: "全部删除" }],
126
+      showOne: true,
127
+      showTwo: false,
128
+      limit: 10,
129
+      page: 1,
130
+      total: 0,
131
+      loading: false,
132
+      finished: false,
133
+      rescueRecords: [],
134
+      patient_id: 0,
135
+      list: [],
136
+      id: 0,
137
+      index: 0
138
+    };
139
+  },
140
+  methods: {
141
+    onCancel() {
142
+      this.typeShow = false;
143
+    },
144
+    onConfirm(value) {
145
+      this.type = value;
146
+      this.typeShow = false;
147
+    },
148
+    getstartTime(value) {
149
+      this.page = 1;
150
+      let year = value.getFullYear();
151
+      let month = value.getMonth() + 1;
152
+      let day = value.getDate();
153
+      if (month >= 1 && month <= 9) {
154
+        month = `0${month}`;
155
+      }
156
+      if (day >= 1 && day <= 9) {
157
+        day = `0${day}`;
158
+      }
159
+
160
+      this.startTime = `${year}-${month}-${day}`;
161
+      this.rescueRecords = [];
162
+      this.getRescueRecord(
163
+        this.patient_id,
164
+        this.limit,
165
+        this.page,
166
+        this.startTime,
167
+        this.endTime
168
+      );
169
+      this.startShow = false;
170
+    },
171
+    getstartTime2(value) {
172
+      this.page = 1;
173
+      let year = value.getFullYear();
174
+      let month = value.getMonth() + 1;
175
+      let day = value.getDate();
176
+      if (month >= 1 && month <= 9) {
177
+        month = `0${month}`;
178
+      }
179
+      if (day >= 1 && day <= 9) {
180
+        day = `0${day}`;
181
+      }
182
+
183
+      this.endTime = `${year}-${month}-${day}`;
184
+      this.rescueRecords = [];
185
+      this.getRescueRecord(
186
+        this.patient_id,
187
+        this.limit,
188
+        this.page,
189
+        this.startTime,
190
+        this.endTime
191
+      );
192
+      this.endShow = false;
193
+    },
194
+    getPatientDetail(patientid) {
195
+      getPatientDetail(patientid).then(response => {
196
+        if (response.data.state === 1) {
197
+          var patientDetail = response.data.data.patientDetail;
198
+          if (patientDetail.blood_patients == 0) {
199
+            this.rescueRecords = [];
200
+            this.showOne = false;
201
+            this.showTwo = true;
202
+          }
203
+          if (patientDetail.blood_patients == 1) {
204
+            this.showOne = true;
205
+            this.showTwo = false;
206
+          }
207
+          // console.log("病人详情", patientDetail);
208
+          this.patientName = patientDetail.name;
209
+        }
210
+      });
211
+    },
212
+    getRescueRecord(id) {
213
+      getRescueRecord(
214
+        id,
215
+        this.limit,
216
+        this.page,
217
+        this.startTime,
218
+        this.endTime
219
+      ).then(response => {
220
+        if (response.data.state === 1) {
221
+          var rescuerecord = response.data.data.rescuerecord;
222
+          // console.log("抢救记录", rescuerecord);
223
+          let arr = this.rescueRecords;
224
+          arr.push(...rescuerecord);
225
+          this.rescueRecords = arr;
226
+          var total = response.data.data.total;
227
+          // console.log("总计", total);
228
+          this.loading = false;
229
+        }
230
+      });
231
+    },
232
+    onLoad() {
233
+      setTimeout(() => {
234
+        this.page++;
235
+        // console.log(this.page)
236
+        if (this.page <= Math.ceil(this.total / 10)) {
237
+          this.getRescueRecord(
238
+            this.patient_id,
239
+            this.startTime,
240
+            this.endTimes,
241
+            this.limit,
242
+            this.page
243
+          );
244
+        } else {
245
+          this.loading = false;
246
+          this.finished = true;
247
+        }
248
+      }, 1000);
249
+    },
250
+    getTime(time) {
251
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
252
+      return uParseTime(time, "{y}-{m}-{d}");
253
+    },
254
+    toRescueRecord(id) {
255
+      var patientid = this.$route.query.patientid;
256
+      this.$router.push(
257
+        "/rescuerecord?id=" +
258
+          id +
259
+          "&patientid=" +
260
+          patientid +
261
+          "&active=" +
262
+          this.active
263
+      );
264
+    },
265
+    toDeleteRescueRecord(id, index) {
266
+      this.id = id;
267
+      this.index = index;
268
+      this.newShow = true;
269
+    },
270
+    Delete(value) {
271
+      if (value.name == "查看全部") {
272
+        var patientid = this.$route.query.patientid;
273
+        this.$router.push(
274
+          "/rescuerecord?id=" +
275
+            this.id +
276
+            "&patientid=" +
277
+            patientid +
278
+            "&active=" +
279
+            this.active
280
+        );
281
+      }
282
+      if (value.name == "全部删除") {
283
+        this.DeleteRescueRecord(this.id, this.index);
284
+      }
285
+    },
286
+    DeleteRescueRecord(id, index) {
287
+      Dialog.confirm({
288
+        title: "删除提示!",
289
+        message: "确认删除该条信息吗?,删除后将无法恢复!"
290
+      }).then(() => {
291
+        DeleteRescueRecord(id).then(response => {
292
+          if (response.data.state === 1) {
293
+            var msg = response.data.data.msg;
294
+            console.log("msg", msg);
295
+            this.rescueRecords.splice(index, 1);
296
+            this.newShow = false;
297
+          }
298
+        });
299
+      });
300
+    }
301
+  },
302
+  created() {
303
+    var patientid = this.$route.query.patientid;
304
+    console.log("病人id能否获取", patientid);
305
+    this.patient_id = patientid;
306
+    this.getPatientDetail(patientid);
307
+    this.getRescueRecord(patientid);
308
+  }
309
+};
310
+</script>
311
+
312
+<style lang="scss" scoped>
313
+.newRescueRecord {
314
+  height: 100%;
315
+  overflow-y: auto;
316
+  background: #fff;
317
+  .toolBox {
318
+    display: flex;
319
+    height: 1.6rem;
320
+    align-items: center;
321
+    .toolOne {
322
+      width: 3.4rem;
323
+      height: 1rem;
324
+      background: rgba(246, 246, 246, 1);
325
+      border-radius: 5px;
326
+      text-align: center;
327
+      font-size: 0.42rem;
328
+      color: #8d8d8d;
329
+      display: flex;
330
+      align-items: center;
331
+      justify-content: space-around;
332
+      margin-left: 0.42rem;
333
+    }
334
+  }
335
+  .adviceBox {
336
+    padding: 0 0.66rem;
337
+    margin-bottom: 1.6rem;
338
+  }
339
+  .adviceMain {
340
+    > div:last-child {
341
+      border: none;
342
+    }
343
+  }
344
+  .adviceOne {
345
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
346
+    border-bottom: 1px solid #e5e5e5;
347
+    padding-bottom: 0.34rem;
348
+  }
349
+  .adviceTitle {
350
+    padding-top: 0.34rem;
351
+    display: flex;
352
+    align-items: center;
353
+    justify-content: space-between;
354
+    p {
355
+      color: #000000;
356
+      font-weight: bold;
357
+      font-size: 0.5rem;
358
+    }
359
+    .ellipsis {
360
+      font-size: 0.66rem;
361
+      color: #cccccc;
362
+    }
363
+  }
364
+  .orderContent {
365
+    font-size: 0.46rem;
366
+    color: rgba(49, 50, 52, 1);
367
+    margin-top: 0.34rem;
368
+    p {
369
+      line-height: 0.8rem;
370
+      width: 50%;
371
+    }
372
+  }
373
+  .doctorBox {
374
+    font-size: 0.4rem;
375
+    color: rgba(152, 152, 152, 1);
376
+    line-height: 0.6rem;
377
+    display: flex;
378
+    align-items: center;
379
+    justify-content: space-between;
380
+    margin-top: 0.34rem;
381
+  }
382
+  .all {
383
+    font-size: 0.43rem;
384
+    color: #5b98ff;
385
+    margin-top: 0.34rem;
386
+  }
387
+  .noimgBox {
388
+    margin-top: 40%;
389
+    img {
390
+      width: 5rem;
391
+      height: 5rem;
392
+      margin: 0 auto;
393
+      display: block;
394
+    }
395
+  }
396
+  // .add {
397
+  //   position: fixed;
398
+  //   bottom: 0;
399
+  //   left: 0;
400
+  //   width: 100%;
401
+  //   height: 2.75rem;
402
+  //   background: rgba(255, 255, 255, 1);
403
+  //   box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
404
+  //   display: flex;
405
+  //   align-items: center;
406
+  //   justify-content: space-around;
407
+  //   font-size: 0.9375rem;
408
+  //   color: #979798;
409
+  //   .addIcon {
410
+  //     color: #5b98ff;
411
+  //     font-size: 1.25rem;
412
+  //     margin-right: 0.25rem;
413
+  //   }
414
+  // }
415
+  .van-popup {
416
+    border-radius: 0;
417
+    transform: translate3d(0, 0, 0);
418
+    top: initial;
419
+  }
420
+  
421
+}
422
+::-webkit-scrollbar {
423
+  width: 0;
424
+}
425
+</style>
426
+<style lang="scss">
427
+.newRescueRecord{
428
+  .van-picker__toolbar{
429
+    height: 1.46rem;
430
+    line-height: 1.46rem;
431
+  }
432
+  .van-picker__cancel, .van-picker__confirm{
433
+    padding: 0 0.53rem;
434
+    font-size: 0.46rem;
435
+  }
436
+  .van-picker-column{
437
+    font-size: 0.53rem;
438
+  }
439
+  .van-picker-column__item{
440
+    padding: 0 0.14rem;
441
+  }
442
+}
443
+</style>

+ 789 - 122
src/pages/main/dialysis/SchedulTable.vue View File

@@ -1,5 +1,5 @@
1 1
 <template>
2
-  <div>
2
+  <!-- <div>
3 3
     <van-list width="100%" v-model="loading" :finished="finished" @load="onLoad">
4 4
       <div class="blueBorder"></div>
5 5
       <div class="schedulTable">
@@ -31,158 +31,825 @@
31 31
         </div>
32 32
       </div>
33 33
     </van-list>
34
-    <!--<div class="NoData" v-show="tableDate.length == 0"><img src="@/assets/login/data.jpg" alt=""></div>-->
35 34
     <div class="NoData" v-show="tableDate.length == 0">
36 35
       <img style="margin-top: 50px; margin-bottom: 50px" src="@/assets/login/data.jpg" alt />
37 36
     </div>
38
-  </div>
37
+  </div> -->
38
+  <div class="newScheduling">
39
+    <div>
40
+      <div class="toolBox">
41
+        <div class="toolOne" @click="typeShow = true">
42
+          <div style="display: flex;align-items: center;">
43
+            {{ type }}
44
+            <van-icon name="arrow-down" />
45
+          </div>
46
+        </div>
47
+        <div class="toolOne" @click="startShow = true">
48
+          <div style="display: flex;align-items: center;">
49
+            {{ startTime }}
50
+            <van-icon name="arrow-down" />
51
+          </div>
52
+        </div>
53
+        <div class="toolOne" @click="endShow = true">
54
+          <div style="display: flex;align-items: center;">
55
+            {{ endTime }}
56
+            <van-icon name="arrow-down" />
57
+          </div>
58
+        </div>
59
+      </div>
60
+      <div class="adviceBox" v-if="scheduLing.length > 0">
61
+        <van-list
62
+          v-model="loading"
63
+          :finished="finished"
64
+          finished-text="没有更多了"
65
+          @load="onLoad"
66
+          :immediate-check="immediateCheck"
67
+        >
68
+        <div class="adviceMain">
69
+          <div class="adviceOne" v-for="(item,index) in scheduLing" :key="index">
70
+            <div class="adviceTitle">
71
+              <p>{{getTime(item.schedule_date)}}</p>
72
+              <van-icon
73
+                class="ellipsis"
74
+                name="ellipsis"
75
+                @click="toDelete(item.id,index)"
76
+              />
77
+            </div>
78
+            <div class="orderContent" @click="toEditSchduling(item.id)">
79
+              <p>班次:
80
+                <span>{{item.schedule_type}}</span>
81
+              </p>
82
+              <p>分区:{{item.name}}</p>
83
+              <p>机号:{{item.number}}</p>
84
+              <p>治疗模式:{{item.mode_id}}</p>
85
+            </div>
86
+            <div class="all">全部</div>
87
+          </div>
88
+        </div>
89
+        </van-list>
90
+      </div>
91
+      <div class="noimgBox" v-else>
92
+        <img src="../../../assets/images/none.png" alt />
93
+      </div>
94
+    </div>
95
+    <!-- <div class="add">
96
+      <div style="display: flex;align-items: center;">
97
+        <van-icon class="addIcon" name="add" />新增
98
+      </div>
99
+    </div> -->
100
+
101
+    <!-- 弹出层 -->
102
+    <div>
103
+      <van-popup
104
+        v-model="typeShow"
105
+        position="bottom"
106
+        :style="{ height: '40%' }"
107
+      >
108
+        <van-picker
109
+          show-toolbar
110
+          :columns="columns"
111
+          @cancel="onCancel"
112
+          @confirm="onConfirm"
113
+        />
114
+      </van-popup>
115
+      <van-popup
116
+        v-model="startShow"
117
+        position="bottom"
118
+        :style="{ height: '40%' }"
119
+      >
120
+        <van-datetime-picker
121
+          v-model="currentDate"
122
+          type="date"
123
+          :min-date="minDate"
124
+          :max-date="maxDate"
125
+          @confirm="getstartTime"
126
+          @cancel="startShow = false"
127
+        />
128
+      </van-popup>
129
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
130
+        <van-datetime-picker
131
+          v-model="currentDate"
132
+          type="date"
133
+          :min-date="minDate"
134
+          :max-date="maxDate"
135
+          @confirm="getstartTime2"
136
+          @cancel="endShow = false"
137
+        />
138
+      </van-popup>
139
+      <van-action-sheet
140
+        v-model="newShow"
141
+        :actions="actions"
142
+        cancel-text="取消"
143
+        @select="onCancelOne"
144
+      />
145
+      </div>
146
+    </div>
39 147
 </template>
40 148
 
41 149
 <script>
42
-import { parseTime } from "@/utils";
43
-import { getSchedualList } from "@/api/patient";
150
+// import { parseTime } from "@/utils";
151
+// import { getSchedualList } from "@/api/patient";
152
+// export default {
153
+//   name: "LongTable",
154
+//   created() {
155
+//     this.tableDate = [];
156
+//     let params = {
157
+//       page: this.page + 1,
158
+//       limit: this.limit,
159
+//       patient_id: this.$route.query.patient_id
160
+//     };
161
+//     getSchedualList(params).then(response => {
162
+//       if (response.data.state == 0) {
163
+//         return false;
164
+//       } else {
165
+//         if (response.data.data.schedules.length == 0) {
166
+//         } else {
167
+//           for (let i = 0; i < response.data.data.schedules.length; i++) {
168
+//             this.tableDate.push(response.data.data.schedules[i]);
169
+//           }
170
+//         }
171
+//       }
172
+//     });
173
+//   },
174
+//   data() {
175
+//     return {
176
+//       tableDate: [],
177
+//       loading: false,
178
+//       finished: false,
179
+//       page: 0,
180
+//       limit: 15
181
+//     };
182
+//   },
183
+//   methods: {
184
+//     parseTime(time, layout) {
185
+//       return parseTime(time, layout);
186
+//     },
187
+//     onLoad() {
188
+//       this.page = this.page + 1;
189
+//       let params = {
190
+//         page: this.page + 1,
191
+//         limit: this.limit,
192
+//         patient_id: this.$route.query.patient_id
193
+//       };
194
+//       getAllEducationList(params).then(response => {
195
+//         if (response.data.state == 0) {
196
+//           this.finished = true;
197
+//           this.loading = false;
198
+//           return false;
199
+//         } else {
200
+//           if (response.data.data.schedules.length == 0) {
201
+//             this.finished = true;
202
+//             this.loading = false;
203
+//           } else {
204
+//             for (let i = 0; i < response.data.data.schedules.length; i++) {
205
+//               this.tableDate.push(response.data.data.schedules[i]);
206
+//             }
207
+//             this.loading = false;
208
+//           }
209
+//         }
210
+//       });
211
+//     },
212
+//     scheduleType(scheduleType) {
213
+//       var typeName = "";
214
+//       switch (scheduleType) {
215
+//         case 1:
216
+//           typeName = "上午";
217
+//           break;
218
+//         case 2:
219
+//           typeName = "下午";
220
+//           break;
221
+//         case 3:
222
+//           typeName = "晚上";
223
+//           break;
224
+
225
+//         default:
226
+//           break;
227
+//       }
228
+//       return typeName;
229
+//     }
230
+//   }
231
+// };
232
+</script>
233
+
234
+<script>
235
+import {
236
+  getPatientDetail,
237
+  getScheduling,
238
+  DeleteScheduling
239
+} from "@/api/patient/patient";
240
+import { uParseTime } from "@/utils/tools";
241
+import Vue from "vue";
242
+import { Dialog } from "vant";
243
+const moment = require("moment");
44 244
 export default {
45
-  name: "LongTable",
46
-  created() {
47
-    this.tableDate = [];
48
-    let params = {
49
-      page: this.page + 1,
50
-      limit: this.limit,
51
-      patient_id: this.$route.query.patient_id
52
-    };
53
-    getSchedualList(params).then(response => {
54
-      if (response.data.state == 0) {
55
-        return false;
56
-      } else {
57
-        if (response.data.data.schedules.length == 0) {
58
-        } else {
59
-          for (let i = 0; i < response.data.data.schedules.length; i++) {
60
-            this.tableDate.push(response.data.data.schedules[i]);
61
-          }
62
-        }
63
-      }
64
-    });
245
+  props: {
246
+    active: Number,
247
+    schedulingId: String
65 248
   },
66 249
   data() {
67 250
     return {
68
-      tableDate: [],
251
+      newShow: false,
252
+      typeShow: false,
253
+      startShow: false,
254
+      endShow: false,
255
+      type: "全部",
256
+      types: 0,
257
+      columns: [
258
+        "HD",
259
+        "HDF",
260
+        "HD+HP",
261
+        "HP",
262
+        "HF",
263
+        "SCUF",
264
+        "IUF",
265
+        "HFHD",
266
+        "HFHD+HP",
267
+        "PHF",
268
+        "HFR",
269
+        "HDF+HP",
270
+        "CRRT",
271
+        "腹水回输"
272
+      ],
273
+      startTime: "请选择",
274
+      endTime: "请选择",
275
+      minDate: new Date(1970, 0, 1),
276
+      maxDate: new Date(2025, 10, 1),
277
+      currentDate: new Date(),
278
+      actions: [{ name: "查看全部" }, { name: "全部删除" }],
279
+      showOne: true,
280
+      showTwo: false,
281
+      limit: 10,
282
+      page: 1,
283
+      total: 0,
69 284
       loading: false,
70 285
       finished: false,
71
-      page: 0,
72
-      limit: 15
286
+      list: [],
287
+      patient_id: "",
288
+      scheduLing: [],
289
+      list: [],
290
+      id: 0,
291
+      index: 0,
292
+      immediateCheck: false,
293
+      flag: true
73 294
     };
74 295
   },
75 296
   methods: {
76
-    parseTime(time, layout) {
77
-      return parseTime(time, layout);
297
+    onCancel() {
298
+      this.typeShow = false;
78 299
     },
79
-    onLoad() {
80
-      this.page = this.page + 1;
81
-      let params = {
82
-        page: this.page + 1,
83
-        limit: this.limit,
84
-        patient_id: this.$route.query.patient_id
85
-      };
86
-      getAllEducationList(params).then(response => {
87
-        if (response.data.state == 0) {
88
-          this.finished = true;
300
+    onConfirm(value) {
301
+      this.page = 1;
302
+      if (value === "全部") {
303
+        this.types = 0;
304
+      }
305
+      if (value === "HD") {
306
+        this.types = 1;
307
+      }
308
+      if (value === "HDF") {
309
+        this.types = 2;
310
+      }
311
+      if (value === "HD+HP") {
312
+        this.types = 3;
313
+      }
314
+      if (value === "HP") {
315
+        this.types = 4;
316
+      }
317
+      if (value === "HF") {
318
+        this.types = 5;
319
+      }
320
+      if (value === "SCUF") {
321
+        this.types = 6;
322
+      }
323
+      if (value === "IUF") {
324
+        this.types = 7;
325
+      }
326
+      if (value === "HFHD") {
327
+        this.types = 8;
328
+      }
329
+      if (value === "HFHD+HP") {
330
+        this.types = 9;
331
+      }
332
+      if (value === "PHF") {
333
+        this.types = 10;
334
+      }
335
+      if (value === "HFR") {
336
+        this.types = 11;
337
+      }
338
+
339
+      if (value === "HDF+HP") {
340
+        this.types = 12;
341
+      }
342
+      if (value === "CRRT") {
343
+        this.types = 13;
344
+      }
345
+      if (value === "腹水回输") {
346
+        this.types = 14;
347
+      }
348
+      this.type = value;
349
+      this.typeShow = false;
350
+      this.scheduLing = [];
351
+      this.getScheduling(
352
+        this.patient_id,
353
+        this.limit,
354
+        this.page,
355
+        this.startTime,
356
+        this.endTime,
357
+        this.types
358
+      );
359
+    },
360
+    getstartTime(value) {
361
+      this.page = 1;
362
+      let year = value.getFullYear();
363
+      let month = value.getMonth() + 1;
364
+      let day = value.getDate();
365
+      if (month >= 1 && month <= 9) {
366
+        month = `0${month}`;
367
+      }
368
+      if (day >= 1 && day <= 9) {
369
+        day = `0${day}`;
370
+      }
371
+
372
+      this.startTime = `${year}-${month}-${day}`;
373
+      this.scheduLing = [];
374
+      this.getScheduling(
375
+        this.patient_id,
376
+        this.limit,
377
+        this.page,
378
+        this.startTime,
379
+        this.endTime,
380
+        this.types
381
+      );
382
+      this.startShow = false;
383
+    },
384
+    getstartTime2(value) {
385
+      this.page = 1;
386
+      let year = value.getFullYear();
387
+      let month = value.getMonth() + 1;
388
+      let day = value.getDate();
389
+      if (month >= 1 && month <= 9) {
390
+        month = `0${month}`;
391
+      }
392
+      if (day >= 1 && day <= 9) {
393
+        day = `0${day}`;
394
+      }
395
+
396
+      this.endTime = `${year}-${month}-${day}`;
397
+      this.scheduLing = [];
398
+      this.getScheduling(
399
+        this.patient_id,
400
+        this.limit,
401
+        this.page,
402
+        this.startTime,
403
+        this.endTime,
404
+        this.types
405
+      );
406
+      this.endShow = false;
407
+    },
408
+    getPatientDetail(patientid) {
409
+      getPatientDetail(patientid).then(response => {
410
+        if (response.data.state === 1) {
411
+          var patientDetail = response.data.data.patientDetail;
412
+          if (patientDetail.blood_patients == 0) {
413
+            this.scheduLing = [];
414
+            this.showOne = false;
415
+            this.showTwo = true;
416
+          }
417
+          if (patientDetail.blood_patients == 1) {
418
+            this.showOne = true;
419
+            this.showTwo = false;
420
+          }
421
+          // console.log('病人详情', patientDetail)
422
+          this.patientName = patientDetail.name;
423
+        }
424
+      });
425
+    },
426
+    getScheduling(id) {
427
+      getScheduling(
428
+        id,
429
+        this.limit,
430
+        this.page,
431
+        this.startTime,
432
+        this.endTime,
433
+        this.types
434
+      ).then(response => {
435
+        if (response.data.state === 1) {
436
+          var scheduling = response.data.data.scheduling;
437
+          for (let i = 0; i < scheduling.length; i++) {
438
+            if (scheduling[i].schedule_type === 1) {
439
+              scheduling[i].schedule_type = "上午";
440
+            }
441
+            if (scheduling[i].schedule_type === 2) {
442
+              scheduling[i].schedule_type = "中午";
443
+            }
444
+            if (scheduling[i].schedule_type === 3) {
445
+              scheduling[i].schedule_type = "下午";
446
+            }
447
+
448
+            if (scheduling[i].mode_id === 1) {
449
+              scheduling[i].mode_id = "HD";
450
+            }
451
+            if (scheduling[i].mode_id === 2) {
452
+              scheduling[i].mode_id = "HDF";
453
+            }
454
+            if (scheduling[i].mode_id === 3) {
455
+              scheduling[i].mode_id = "HD+HP";
456
+            }
457
+            if (scheduling[i].mode_id === 4) {
458
+              scheduling[i].mode_id = "HP";
459
+            }
460
+            if (scheduling[i].mode_id === 5) {
461
+              scheduling[i].mode_id = "HF";
462
+            }
463
+            if (scheduling[i].mode_id === 6) {
464
+              scheduling[i].mode_id = "SCUF";
465
+            }
466
+            if (scheduling[i].mode_id === 7) {
467
+              scheduling[i].mode_id = "IUF";
468
+            }
469
+            if (scheduling[i].mode_id === 8) {
470
+              scheduling[i].mode_id = "HFHD";
471
+            }
472
+            if (scheduling[i].mode_id === 9) {
473
+              scheduling[i].mode_id = "HFHD+HP";
474
+            }
475
+            if (scheduling[i].mode_id === 10) {
476
+              scheduling[i].mode_id = "PHF";
477
+            }
478
+            if (scheduling[i].mode_id === 11) {
479
+              scheduling[i].mode_id = "HFR";
480
+            }
481
+            if (scheduling[i].mode_id === 12) {
482
+              scheduling[i].mode_id = "HDF+HP";
483
+            }
484
+            if (scheduling[i].mode_id === 13) {
485
+              scheduling[i].mode_id = "CRRT";
486
+            }
487
+            if (scheduling[i].mode_id === 14) {
488
+              scheduling[i].mode_id = "腹水回输";
489
+            }
490
+          }
491
+          let arr = this.scheduLing;
492
+          arr.push(...scheduling);
493
+          // console.log('班次', scheduling)
494
+          this.scheduLing = arr;
495
+          var total = response.data.data.total;
496
+          // console.log('total', total)
497
+          this.total = total;
89 498
           this.loading = false;
90
-          return false;
91
-        } else {
92
-          if (response.data.data.schedules.length == 0) {
93
-            this.finished = true;
94
-            this.loading = false;
95
-          } else {
96
-            for (let i = 0; i < response.data.data.schedules.length; i++) {
97
-              this.tableDate.push(response.data.data.schedules[i]);
98
-            }
99
-            this.loading = false;
499
+          // console.log('1823792742736487362847623876执行这里')
500
+        }
501
+      });
502
+    },
503
+    getScheduling1(id) {
504
+      getScheduling(
505
+        id,
506
+        this.limit,
507
+        this.page,
508
+        this.startTime,
509
+        this.endTime,
510
+        this.types
511
+      ).then(response => {
512
+        if (response.data.state === 1) {
513
+          var scheduling = response.data.data.scheduling;
514
+          for (let i = 0; i < scheduling.length; i++) {
515
+            if (scheduling[i].schedule_type === 1) {
516
+              scheduling[i].schedule_type = "上午";
517
+            }
518
+            if (scheduling[i].schedule_type === 2) {
519
+              scheduling[i].schedule_type = "中午";
520
+            }
521
+            if (scheduling[i].schedule_type === 3) {
522
+              scheduling[i].schedule_type = "下午";
523
+            }
524
+
525
+            if (scheduling[i].mode_id === 1) {
526
+              scheduling[i].mode_id = "HD";
527
+            }
528
+            if (scheduling[i].mode_id === 2) {
529
+              scheduling[i].mode_id = "HDF";
530
+            }
531
+            if (scheduling[i].mode_id === 3) {
532
+              scheduling[i].mode_id = "HD+HP";
533
+            }
534
+            if (scheduling[i].mode_id === 4) {
535
+              scheduling[i].mode_id = "HP";
536
+            }
537
+            if (scheduling[i].mode_id === 5) {
538
+              scheduling[i].mode_id = "HF";
539
+            }
540
+            if (scheduling[i].mode_id === 6) {
541
+              scheduling[i].mode_id = "SCUF";
542
+            }
543
+            if (scheduling[i].mode_id === 7) {
544
+              scheduling[i].mode_id = "IUF";
545
+            }
546
+            if (scheduling[i].mode_id === 8) {
547
+              scheduling[i].mode_id = "HFHD";
548
+            }
549
+            if (scheduling[i].mode_id === 9) {
550
+              scheduling[i].mode_id = "HFHD+HP";
551
+            }
552
+            if (scheduling[i].mode_id === 10) {
553
+              scheduling[i].mode_id = "PHF";
554
+            }
555
+            if (scheduling[i].mode_id === 11) {
556
+              scheduling[i].mode_id = "HFR";
557
+            }
558
+            if (scheduling[i].mode_id === 12) {
559
+              scheduling[i].mode_id = "HDF+HP";
560
+            }
561
+            if (scheduling[i].mode_id === 13) {
562
+              scheduling[i].mode_id = "CRRT";
563
+            }
564
+            if (scheduling[i].mode_id === 14) {
565
+              scheduling[i].mode_id = "腹水回输";
566
+            }
100 567
           }
568
+
569
+          this.scheduLing = scheduling;
570
+          var total = response.data.data.total;
571
+          this.total = total;
572
+          this.loading = false;
101 573
         }
102 574
       });
103 575
     },
104
-    scheduleType(scheduleType) {
105
-      var typeName = "";
106
-      switch (scheduleType) {
107
-        case 1:
108
-          typeName = "上午";
109
-          break;
110
-        case 2:
111
-          typeName = "下午";
112
-          break;
113
-        case 3:
114
-          typeName = "晚上";
115
-          break;
116
-
117
-        default:
118
-          break;
119
-      }
120
-      return typeName;
576
+    getTime(time) {
577
+      // return uParseTime(time, "{y}-{m}-{d} {h}:{i}:{s}");
578
+      return uParseTime(time, "{y}-{m}-{d}");
579
+    },
580
+    onLoad() {
581
+      setTimeout(() => {
582
+        this.page++;
583
+        // console.log(this.page)
584
+        if (this.page <= Math.ceil(this.total / 10)) {
585
+          this.getScheduling(
586
+            this.patient_id,
587
+            this.startTime,
588
+            this.endTimes,
589
+            this.limit,
590
+            this.page,
591
+            this.types
592
+          );
593
+        } else {
594
+          this.loading = false;
595
+          this.finished = true;
596
+        }
597
+      }, 3000);
598
+    },
599
+    toEditSchduling(id) {
600
+      var patientid = this.$route.query.patientid;
601
+      this.$router.push(
602
+        "/editScheduling?id=" +
603
+          id +
604
+          "&patientid=" +
605
+          patientid +
606
+          "&active=" +
607
+          this.active
608
+      );
609
+    },
610
+    toDelete(id, index) {
611
+      this.id = id;
612
+      this.index = index;
613
+      this.newShow = true;
614
+    },
615
+    onCancelOne(value) {
616
+      if (value.name == "查看全部") {
617
+        var patientid = this.$route.query.patientid;
618
+        this.$router.push(
619
+          "/editScheduling?id=" +
620
+            this.id +
621
+            "&patientid=" +
622
+            patientid +
623
+            "&active=" +
624
+            this.active
625
+        );
626
+      }
627
+      if (value.name == "全部删除") {
628
+        this.DeleteScheduling(this.id, this.index);
629
+      }
630
+    },
631
+    DeleteScheduling(id, index) {
632
+      Dialog.confirm({
633
+        title: "删除提示!",
634
+        message: "确认删除该条信息吗?,删除后将无法恢复!"
635
+      }).then(() => {
636
+        DeleteScheduling(id).then(response => {
637
+          if (response.data.state === 1) {
638
+            var msg = response.data.data.msg;
639
+            console.log("msg", msg);
640
+            this.scheduLing.splice(index, 1);
641
+            this.newShow = false;
642
+          }
643
+        });
644
+      });
121 645
     }
646
+  },
647
+  created() {
648
+    var patientid = this.$route.query.patientid;
649
+    this.getPatientDetail(patientid);
650
+    this.getScheduling(patientid);
651
+    this.patient_id = patientid;
122 652
   }
123 653
 };
124 654
 </script>
125 655
 
126
-<style style="stylesheet/scss" lang="scss" scoped>
127
-.schedulTable {
128
-  width: 100%;
129
-  overflow: auto;
130
-}
131
-.tableTit {
132
-  background: $main-color;
133
-  color: $text-color;
134
-  @include box-sizing;
135
-  width: 768px;
136
-  ul {
137
-    @include display-flex;
138
-    @include align-items-center;
139
-    @include text-align;
140
-    @include justify-content-center;
141
-
142
-    li {
143
-      @include flex;
144
-      border-right: 2px #fff solid;
145
-      font-size: 0.45rem;
146
-      height: 1.2rem;
147
-      line-height: 1.2rem;
656
+
657
+<style lang="scss" scoped>
658
+.newScheduling {
659
+  height: 100%;
660
+  overflow-y: auto;
661
+  background: #fff;
662
+  .toolBox {
663
+    display: flex;
664
+    height: 1.6rem;
665
+    align-items: center;
666
+    .toolOne {
667
+      width: 3.4rem;
668
+      height: 1rem;
669
+      background: rgba(246, 246, 246, 1);
670
+      border-radius: 5px;
671
+      text-align: center;
672
+      font-size: 0.42rem;
673
+      color: #8d8d8d;
674
+      display: flex;
675
+      align-items: center;
676
+      justify-content: space-around;
677
+      margin-left: 0.42rem;
148 678
     }
149
-    &:last-child {
150
-      border-right: none;
679
+  }
680
+  .adviceBox {
681
+    padding: 0 0.66rem;
682
+    margin-bottom: 1.6rem;
683
+  }
684
+  .adviceMain {
685
+    > div:last-child {
686
+      border: none;
151 687
     }
152 688
   }
153
-}
154
-.tableDate {
155
-  background: $text-color;
156
-  color: $pgh-color;
157
-  @include box-sizing;
158
-  ul {
159
-    width: 768px;
160
-    li {
161
-      font-size: 0.45rem;
162
-      height: 1.2rem;
163
-      line-height: 1.2rem;
164
-      @include display-flex;
165
-      @include align-items-center;
166
-      @include text-align;
167
-      @include justify-content-center;
168
-      span {
169
-        @include flex;
170
-        border-right: 2px #fff solid;
171
-        border-bottom: 2px #fff solid;
172
-        background: #ecf5ff;
173
-        display: inline-block;
174
-        height: 1.2rem;
175
-        line-height: 1.2rem;
176
-        .iconfont {
177
-          color: $main-color;
178
-          font-size: 0.3rem;
179
-          margin-right: 0.1rem;
180
-        }
181
-      }
689
+  .adviceOne {
690
+    // box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
691
+    border-bottom: 1px solid #e5e5e5;
692
+    padding-bottom: 0.34rem;
693
+  }
694
+  .adviceTitle {
695
+    padding-top: 0.34rem;
696
+    display: flex;
697
+    align-items: center;
698
+    justify-content: space-between;
699
+    p {
700
+      color: #000000;
701
+      font-weight: bold;
702
+      font-size: 0.5rem;
703
+    }
704
+    .ellipsis {
705
+      font-size: 0.66rem;
706
+      color: #cccccc;
182 707
     }
183
-    &:last-child {
184
-      border-right: none;
708
+  }
709
+  .orderContent {
710
+    font-size: 0.46rem;
711
+    color: rgba(49, 50, 52, 1);
712
+    margin-top: 0.34rem;
713
+    display: flex;
714
+    flex-wrap: wrap;
715
+    p {
716
+      line-height: 0.8rem;
717
+      width: 50%;
185 718
     }
186 719
   }
720
+  .doctorBox {
721
+    font-size: 0.4rem;
722
+    color: rgba(152, 152, 152, 1);
723
+    line-height: 0.6rem;
724
+    display: flex;
725
+    align-items: center;
726
+    justify-content: space-between;
727
+    margin-top: 0.34rem;
728
+  }
729
+  .all {
730
+    font-size: 0.43rem;
731
+    color: #5b98ff;
732
+    margin-top: 0.34rem;
733
+  }
734
+  .noimgBox {
735
+    margin-top: 40%;
736
+    img {
737
+      width: 5rem;
738
+      height: 5rem;
739
+      margin: 0 auto;
740
+      display: block;
741
+    }
742
+  }
743
+  // .add {
744
+  //   position: fixed;
745
+  //   bottom: 0;
746
+  //   left: 0;
747
+  //   width: 100%;
748
+  //   height: 2.75rem;
749
+  //   background: rgba(255, 255, 255, 1);
750
+  //   box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
751
+  //   display: flex;
752
+  //   align-items: center;
753
+  //   justify-content: space-around;
754
+  //   font-size: 0.9375rem;
755
+  //   color: #979798;
756
+  //   .addIcon {
757
+  //     color: #5b98ff;
758
+  //     font-size: 1.25rem;
759
+  //     margin-right: 0.25rem;
760
+  //   }
761
+  // }
762
+  .van-popup {
763
+    border-radius: 0;
764
+    transform: translate3d(0, 0, 0);
765
+    top: initial;
766
+  }
767
+}
768
+::-webkit-scrollbar {
769
+  width: 0;
187 770
 }
188 771
 </style>
772
+<style lang="scss">
773
+.newScheduling{
774
+  .van-picker__toolbar{
775
+    height: 1.46rem;
776
+    line-height: 1.46rem;
777
+  }
778
+  .van-picker__cancel, .van-picker__confirm{
779
+    padding: 0 0.53rem;
780
+    font-size: 0.46rem;
781
+  }
782
+  .van-picker-column{
783
+    font-size: 0.53rem;
784
+  }
785
+  .van-picker-column__item{
786
+    padding: 0 0.14rem;
787
+  }
788
+}
789
+</style>
790
+
791
+
792
+
793
+<style style="stylesheet/scss" lang="scss" scoped>
794
+// .schedulTable {
795
+//   width: 100%;
796
+//   overflow: auto;
797
+// }
798
+// .tableTit {
799
+//   background: $main-color;
800
+//   color: $text-color;
801
+//   @include box-sizing;
802
+//   width: 768px;
803
+//   ul {
804
+//     @include display-flex;
805
+//     @include align-items-center;
806
+//     @include text-align;
807
+//     @include justify-content-center;
808
+
809
+//     li {
810
+//       @include flex;
811
+//       border-right: 2px #fff solid;
812
+//       font-size: 0.45rem;
813
+//       height: 1.2rem;
814
+//       line-height: 1.2rem;
815
+//     }
816
+//     &:last-child {
817
+//       border-right: none;
818
+//     }
819
+//   }
820
+// }
821
+// .tableDate {
822
+//   background: $text-color;
823
+//   color: $pgh-color;
824
+//   @include box-sizing;
825
+//   ul {
826
+//     width: 768px;
827
+//     li {
828
+//       font-size: 0.45rem;
829
+//       height: 1.2rem;
830
+//       line-height: 1.2rem;
831
+//       @include display-flex;
832
+//       @include align-items-center;
833
+//       @include text-align;
834
+//       @include justify-content-center;
835
+//       span {
836
+//         @include flex;
837
+//         border-right: 2px #fff solid;
838
+//         border-bottom: 2px #fff solid;
839
+//         background: #ecf5ff;
840
+//         display: inline-block;
841
+//         height: 1.2rem;
842
+//         line-height: 1.2rem;
843
+//         .iconfont {
844
+//           color: $main-color;
845
+//           font-size: 0.3rem;
846
+//           margin-right: 0.1rem;
847
+//         }
848
+//       }
849
+//     }
850
+//     &:last-child {
851
+//       border-right: none;
852
+//     }
853
+//   }
854
+// }
855
+</style>

+ 27 - 7
src/pages/main/records/CaseHistory.vue View File

@@ -1,9 +1,9 @@
1 1
 <template>
2
-  <div>
2
+  <div class="fixedBox">
3 3
     <div class="nav">
4
-      <ul style="width: 50%">
4
+      <ul>
5 5
         <li
6
-          v-for="(item, i) in ['基本信息', '检验检查', '医嘱']"
6
+          v-for="(item, i) in ['基本信息', '医嘱', '干体重', '病程记录', '抢救记录']"
7 7
           :key="i"
8 8
           :class="index == i ? 'active' : ''"
9 9
           @click="ClickTab(i, item)"
@@ -14,8 +14,11 @@
14 14
     </div>
15 15
     <div class="tab-content">
16 16
       <records-tab v-show="index == 0"></records-tab>
17
-      <check-tab v-show="index == 1" ref="item"></check-tab>
18
-      <advice-table v-show="index == 2"></advice-table>
17
+      <!-- <check-tab v-show="index == 1" ref="item"></check-tab> -->
18
+      <advice-table v-show="index == 1"></advice-table>
19
+      <dry-weight v-show="index == 2"></dry-weight>
20
+      <course-management v-show="index == 3"></course-management>
21
+      <rescue-record v-show="index == 4"></rescue-record>
19 22
     </div>
20 23
   </div>
21 24
 </template>
@@ -25,6 +28,9 @@ import { GetInspection } from "@/api/check";
25 28
 import RecordsTab from "./RecordsTab";
26 29
 import AdviceTable from "../dialysis/AdviceTable";
27 30
 import CheckTab from "../dialysis/CheckTab";
31
+import DryWeight from "../dialysis/DryWeight";
32
+import CourseManagement from "../dialysis/CourseManagement";
33
+import RescueRecord from "../dialysis/RescueRecord";
28 34
 
29 35
 export default {
30 36
   name: "CaseHistory",
@@ -43,7 +49,10 @@ export default {
43 49
   components: {
44 50
     CheckTab,
45 51
     AdviceTable,
46
-    RecordsTab
52
+    RecordsTab,
53
+    DryWeight,
54
+    CourseManagement,
55
+    RescueRecord
47 56
   },
48 57
   methods: {
49 58
     ClickTab: function(tabIndex, row) {
@@ -69,6 +78,17 @@ export default {
69 78
 </script>
70 79
 
71 80
 <style style="stylesheet/scss" lang="scss" scoped>
81
+.fixedBox {
82
+  padding-top: 38px;
83
+  // background: #fff;
84
+  min-height: calc(100vh - 64px);
85
+  @media only screen and (min-width: 415px) and (max-width: 767px) {
86
+    padding-top: 58px;
87
+  }
88
+  @media only screen and (min-width: 768px) {
89
+    padding-top: 82px;
90
+  }
91
+}
72 92
 .nav {
73 93
   border-bottom: 1px #e5e5e5 solid;
74 94
   position: fixed;
@@ -94,7 +114,7 @@ export default {
94 114
   //   padding-top: 20px;
95 115
   // }
96 116
   ul {
97
-    width: 60%;
117
+    width: 90%;
98 118
     margin: 0 auto;
99 119
     @include box-sizing;
100 120
     @include display-flex;