Browse Source

修改样式

See999 4 years ago
parent
commit
9448a96f77
100 changed files with 6286 additions and 1221 deletions
  1. 1 1
      index.html
  2. BIN
      src/assets/images/A1.jpg
  3. BIN
      src/assets/images/A2.jpg
  4. BIN
      src/assets/images/A3.jpg
  5. BIN
      src/assets/images/A4.jpg
  6. BIN
      src/assets/images/A5.jpg
  7. BIN
      src/assets/images/A6.jpg
  8. BIN
      src/assets/images/M1.png
  9. BIN
      src/assets/images/M2.png
  10. BIN
      src/assets/images/M3.png
  11. BIN
      src/assets/images/M4.png
  12. BIN
      src/assets/images/S1.png
  13. BIN
      src/assets/images/S10.png
  14. BIN
      src/assets/images/S11.png
  15. BIN
      src/assets/images/S12.png
  16. BIN
      src/assets/images/S13.png
  17. BIN
      src/assets/images/S14.png
  18. BIN
      src/assets/images/S15.png
  19. BIN
      src/assets/images/S2.png
  20. BIN
      src/assets/images/S3.png
  21. BIN
      src/assets/images/S4.png
  22. BIN
      src/assets/images/S5.png
  23. BIN
      src/assets/images/S6.png
  24. BIN
      src/assets/images/S7.png
  25. BIN
      src/assets/images/S8.png
  26. BIN
      src/assets/images/S9.png
  27. BIN
      src/assets/images/icon9 (1)/A1.jpg
  28. BIN
      src/assets/images/icon9 (1)/A2.jpg
  29. BIN
      src/assets/images/icon9 (1)/A3.jpg
  30. BIN
      src/assets/images/icon9 (1)/A4.jpg
  31. BIN
      src/assets/images/icon9 (1)/A5.jpg
  32. BIN
      src/assets/images/icon9 (1)/A6.jpg
  33. BIN
      src/assets/images/icon9 (1)/M1.png
  34. BIN
      src/assets/images/icon9 (1)/M2.png
  35. BIN
      src/assets/images/icon9 (1)/M3.png
  36. BIN
      src/assets/images/icon9 (1)/M4.png
  37. BIN
      src/assets/images/icon9 (1)/S1.png
  38. BIN
      src/assets/images/icon9 (1)/S10.png
  39. BIN
      src/assets/images/icon9 (1)/S11.png
  40. BIN
      src/assets/images/icon9 (1)/S12.png
  41. BIN
      src/assets/images/icon9 (1)/S13.png
  42. BIN
      src/assets/images/icon9 (1)/S14.png
  43. BIN
      src/assets/images/icon9 (1)/S15.png
  44. BIN
      src/assets/images/icon9 (1)/S2.png
  45. BIN
      src/assets/images/icon9 (1)/S3.png
  46. BIN
      src/assets/images/icon9 (1)/S4.png
  47. BIN
      src/assets/images/icon9 (1)/S5.png
  48. BIN
      src/assets/images/icon9 (1)/S6.png
  49. BIN
      src/assets/images/icon9 (1)/S7.png
  50. BIN
      src/assets/images/icon9 (1)/S8.png
  51. BIN
      src/assets/images/icon9 (1)/S9.png
  52. BIN
      src/assets/images/icon9 (1)/homebanner.jpg
  53. BIN
      src/assets/images/invite.png
  54. BIN
      src/assets/images/myBanner.png
  55. BIN
      src/assets/images/myIcon1.png
  56. BIN
      src/assets/images/myIcon2.png
  57. BIN
      src/assets/images/myIcon3.png
  58. BIN
      src/assets/images/myIcon4.png
  59. BIN
      src/assets/images/myIcon5.png
  60. BIN
      src/assets/images/myIcon6.png
  61. BIN
      src/assets/images/myIcon7.png
  62. BIN
      src/assets/images/myIcon8.png
  63. BIN
      src/assets/images/people1.jpg
  64. BIN
      src/assets/images/people2.jpg
  65. BIN
      src/assets/images/people3.jpg
  66. BIN
      src/assets/images/people4.jpg
  67. BIN
      src/assets/images/people5.jpg
  68. 1046 912
      src/kpa_pages/addPatient/index.vue
  69. 146 0
      src/kpa_pages/addStaff/index.vue
  70. 89 0
      src/kpa_pages/adminTransfer/index.vue
  71. 33 10
      src/kpa_pages/allCheck/index.vue
  72. 93 0
      src/kpa_pages/allCourse/index.vue
  73. 75 0
      src/kpa_pages/allDialysisRecord/index.vue
  74. 121 0
      src/kpa_pages/allDoctorManagement/index.vue
  75. 80 0
      src/kpa_pages/allDryWeight/index.vue
  76. 93 0
      src/kpa_pages/allEducation/index.vue
  77. 75 0
      src/kpa_pages/allLongDialysis/index.vue
  78. 93 0
      src/kpa_pages/allRescue/index.vue
  79. 71 0
      src/kpa_pages/allScheduling/index.vue
  80. 105 0
      src/kpa_pages/chooseNewAdmin/index.vue
  81. 241 0
      src/kpa_pages/doctorAdvice/components/CourseManagement.vue
  82. 246 0
      src/kpa_pages/doctorAdvice/components/DialysisRecord.vue
  83. 274 0
      src/kpa_pages/doctorAdvice/components/DoctorManagement.vue
  84. 236 0
      src/kpa_pages/doctorAdvice/components/DryWeight.vue
  85. 241 0
      src/kpa_pages/doctorAdvice/components/Education.vue
  86. 239 0
      src/kpa_pages/doctorAdvice/components/Inspection.vue
  87. 246 0
      src/kpa_pages/doctorAdvice/components/LongDialysis.vue
  88. 241 0
      src/kpa_pages/doctorAdvice/components/RescueRecord.vue
  89. 242 0
      src/kpa_pages/doctorAdvice/components/Scheduling.vue
  90. 255 268
      src/kpa_pages/doctorAdvice/index.vue
  91. 148 0
      src/kpa_pages/doctorAdvice/newAddDoctor.vue
  92. 708 0
      src/kpa_pages/editPatient/index.vue
  93. 287 0
      src/kpa_pages/editRole/index.vue
  94. 135 0
      src/kpa_pages/editStaff/index.vue
  95. 117 0
      src/kpa_pages/employeeList/index.vue
  96. 71 0
      src/kpa_pages/getName/index.vue
  97. 17 16
      src/kpa_pages/home/index.vue
  98. 203 13
      src/kpa_pages/homeIndex/index.vue
  99. 18 1
      src/kpa_pages/login/login.vue
  100. 0 0
      src/kpa_pages/managementConsole/index.vue

+ 1 - 1
index.html View File

@@ -26,7 +26,7 @@
26 26
     <script src="http://api.map.baidu.com/api?v=2.0&ak=?&callback=init"></script>
27 27
     <link
28 28
       rel="stylesheet"
29
-      href="//at.alicdn.com/t/font_1480998_bf2iq8rd9p9.css"
29
+      href="//at.alicdn.com/t/font_1480998_5aijfvsjljf.css"
30 30
     />
31 31
     <link href="//vjs.zencdn.net/4.9/video-js.css" rel="stylesheet" />
32 32
     <script src="//vjs.zencdn.net/4.9/video.js"></script>

BIN
src/assets/images/A1.jpg View File


BIN
src/assets/images/A2.jpg View File


BIN
src/assets/images/A3.jpg View File


BIN
src/assets/images/A4.jpg View File


BIN
src/assets/images/A5.jpg View File


BIN
src/assets/images/A6.jpg View File


BIN
src/assets/images/M1.png View File


BIN
src/assets/images/M2.png View File


BIN
src/assets/images/M3.png View File


BIN
src/assets/images/M4.png View File


BIN
src/assets/images/S1.png View File


BIN
src/assets/images/S10.png View File


BIN
src/assets/images/S11.png View File


BIN
src/assets/images/S12.png View File


BIN
src/assets/images/S13.png View File


BIN
src/assets/images/S14.png View File


BIN
src/assets/images/S15.png View File


BIN
src/assets/images/S2.png View File


BIN
src/assets/images/S3.png View File


BIN
src/assets/images/S4.png View File


BIN
src/assets/images/S5.png View File


BIN
src/assets/images/S6.png View File


BIN
src/assets/images/S7.png View File


BIN
src/assets/images/S8.png View File


BIN
src/assets/images/S9.png View File


BIN
src/assets/images/icon9 (1)/A1.jpg View File


BIN
src/assets/images/icon9 (1)/A2.jpg View File


BIN
src/assets/images/icon9 (1)/A3.jpg View File


BIN
src/assets/images/icon9 (1)/A4.jpg View File


BIN
src/assets/images/icon9 (1)/A5.jpg View File


BIN
src/assets/images/icon9 (1)/A6.jpg View File


BIN
src/assets/images/icon9 (1)/M1.png View File


BIN
src/assets/images/icon9 (1)/M2.png View File


BIN
src/assets/images/icon9 (1)/M3.png View File


BIN
src/assets/images/icon9 (1)/M4.png View File


BIN
src/assets/images/icon9 (1)/S1.png View File


BIN
src/assets/images/icon9 (1)/S10.png View File


BIN
src/assets/images/icon9 (1)/S11.png View File


BIN
src/assets/images/icon9 (1)/S12.png View File


BIN
src/assets/images/icon9 (1)/S13.png View File


BIN
src/assets/images/icon9 (1)/S14.png View File


BIN
src/assets/images/icon9 (1)/S15.png View File


BIN
src/assets/images/icon9 (1)/S2.png View File


BIN
src/assets/images/icon9 (1)/S3.png View File


BIN
src/assets/images/icon9 (1)/S4.png View File


BIN
src/assets/images/icon9 (1)/S5.png View File


BIN
src/assets/images/icon9 (1)/S6.png View File


BIN
src/assets/images/icon9 (1)/S7.png View File


BIN
src/assets/images/icon9 (1)/S8.png View File


BIN
src/assets/images/icon9 (1)/S9.png View File


BIN
src/assets/images/icon9 (1)/homebanner.jpg View File


BIN
src/assets/images/invite.png View File


BIN
src/assets/images/myBanner.png View File


BIN
src/assets/images/myIcon1.png View File


BIN
src/assets/images/myIcon2.png View File


BIN
src/assets/images/myIcon3.png View File


BIN
src/assets/images/myIcon4.png View File


BIN
src/assets/images/myIcon5.png View File


BIN
src/assets/images/myIcon6.png View File


BIN
src/assets/images/myIcon7.png View File


BIN
src/assets/images/myIcon8.png View File


BIN
src/assets/images/people1.jpg View File


BIN
src/assets/images/people2.jpg View File


BIN
src/assets/images/people3.jpg View File


BIN
src/assets/images/people4.jpg View File


BIN
src/assets/images/people5.jpg View File


File diff suppressed because it is too large
+ 1046 - 912
src/kpa_pages/addPatient/index.vue


+ 146 - 0
src/kpa_pages/addStaff/index.vue View File

@@ -0,0 +1,146 @@
1
+<template>
2
+  <div class="page_addStaff">
3
+    <div class="editStaffTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">新增员工</span>
6
+      <p>保存</p>
7
+    </div>
8
+    <div class="editStaffTip">必填</div>
9
+    <div class="staffBox">
10
+      <van-field
11
+        v-model="text"
12
+        label="姓名"
13
+        clearable
14
+        placeholder="请输入姓名"
15
+      />
16
+      <van-field
17
+        v-model="tel"
18
+        type="tel"
19
+        label="手机号"
20
+        placeholder="请输入手机号"
21
+        clearable
22
+      />
23
+      <van-cell class="newCell">
24
+        <!-- 使用 title 插槽来自定义标题 -->
25
+        <template slot="title">
26
+          <span class="custom-title">角色</span>
27
+          <div style="width:76%;margin-left:3.3rem">
28
+            <van-checkbox-group v-model="result">
29
+              <van-checkbox style="width: 30%;" name="a" shape="square"
30
+                >医生</van-checkbox
31
+              >
32
+              <van-checkbox style="width: 30%;" name="b" shape="square"
33
+                >护士</van-checkbox
34
+              >
35
+              <van-checkbox style="width: 30%;" name="c" shape="square"
36
+                >运营</van-checkbox
37
+              >
38
+              <van-checkbox style="width: 30%;" name="d" shape="square"
39
+                >库存</van-checkbox
40
+              >
41
+              <van-checkbox style="width: 30%;" name="e" shape="square"
42
+                >院长</van-checkbox
43
+              >
44
+              <van-checkbox style="width: 40%;" name="f" shape="square"
45
+                >子管理员</van-checkbox
46
+              >
47
+            </van-checkbox-group>
48
+          </div>
49
+        </template>
50
+      </van-cell>
51
+    </div>
52
+    <div class="editStaffTip">选填</div>
53
+    <div class="staffBox">
54
+      <van-field v-model="text" label="职位" placeholder="请填写" />
55
+    </div>
56
+    <div class="addnewStaff">
57
+      <van-icon class="addIcon" name="add" />
58
+      <p>继续新增员工</p>
59
+    </div>
60
+  </div>
61
+</template>
62
+
63
+<script>
64
+export default {
65
+  data() {
66
+    return {
67
+      result: [],
68
+      value1: ""
69
+    };
70
+  }
71
+};
72
+</script>
73
+
74
+<style lang="scss" scoped>
75
+.page_addStaff {
76
+  height: 100%;
77
+  overflow: hidden;
78
+  background: #fafafa;
79
+  .editStaffTitle {
80
+    height: 3.125rem;
81
+    display: flex;
82
+    align-items: center;
83
+    justify-content: space-between;
84
+    width: 100%;
85
+    padding: 0 1.125rem;
86
+    background: #fff;
87
+  }
88
+  .jiantou {
89
+    font-size: 1.5rem;
90
+    font-weight: 600;
91
+    margin-right: 1.25rem;
92
+  }
93
+  .titleName {
94
+    font-size: 1.125rem;
95
+    font-weight: 600;
96
+  }
97
+  .editStaffTip {
98
+    height: 1.875rem;
99
+    line-height: 1.875rem;
100
+    font-size: 0.75rem;
101
+    padding-left: 0.875rem;
102
+    color: #989898;
103
+  }
104
+  .staffBox {
105
+    .van-cell {
106
+      font-size: 1rem;
107
+    }
108
+    .newCell {
109
+      padding-right: 0;
110
+    }
111
+  }
112
+  .van-cell__title {
113
+    display: flex;
114
+  }
115
+  .van-checkbox-group {
116
+    display: flex;
117
+    flex-wrap: wrap;
118
+  }
119
+  .van-checkbox {
120
+    margin-bottom: 0.625rem;
121
+  }
122
+  .addnewStaff {
123
+    height: 2.8125rem;
124
+    line-height: 2.8125rem;
125
+    background: #fff;
126
+    width: 100%;
127
+    margin-top: 0.875rem;
128
+    display: flex;
129
+    align-items: center;
130
+    padding-left: 1rem;
131
+    .addIcon {
132
+      color: #338afb;
133
+      font-size: 1.5rem;
134
+      margin-right: 0.625rem;
135
+    }
136
+  }
137
+}
138
+</style>
139
+<style lang="scss">
140
+.page_editStaff {
141
+  .van-cell__value {
142
+    display: flex;
143
+    align-items: center;
144
+  }
145
+}
146
+</style>

+ 89 - 0
src/kpa_pages/adminTransfer/index.vue View File

@@ -0,0 +1,89 @@
1
+<template>
2
+  <div class="page_adminTransfer">
3
+    <div class="adminTransferTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">管理员转让</span>
6
+    </div>
7
+    <div class="adminTransferTip">
8
+      换绑管理员账号,需要验证当前管理员账号的身份
9
+    </div>
10
+    <div class="adminBox">
11
+      <div class="adminOne">当前管理员:<span>欧巧漫</span></div>
12
+      <van-field
13
+        v-model="text"
14
+        label="手机号"
15
+        required
16
+        clearable
17
+        placeholder="请输入手机号"
18
+      />
19
+      <van-field
20
+        v-model="sms"
21
+        center
22
+        clearable
23
+        required
24
+        label="验证码"
25
+        placeholder="请输入验证码"
26
+      >
27
+        <van-button slot="button" size="small" type="info"
28
+          >获取验证码</van-button
29
+        >
30
+      </van-field>
31
+    </div>
32
+    <div class="next">下一步</div>
33
+  </div>
34
+</template>
35
+
36
+<style lang="scss" scoped>
37
+.page_adminTransfer {
38
+  height: 100%;
39
+  overflow-y: auto;
40
+  background: #fafafa;
41
+  .adminTransferTitle {
42
+    background: #fff;
43
+    padding: 0 1.125rem;
44
+    height: 3.125rem;
45
+    display: flex;
46
+    align-items: center;
47
+  }
48
+  .jiantou {
49
+    font-size: 1.5rem;
50
+    font-weight: 600;
51
+    margin-right: 7rem;
52
+  }
53
+  .titleName {
54
+    font-size: 1.125rem;
55
+    font-weight: 600;
56
+  }
57
+  .adminTransferTip {
58
+    height: 2rem;
59
+    line-height: 2rem;
60
+    text-align: center;
61
+    color: #338afb;
62
+    font-size: 0.75rem;
63
+  }
64
+  .adminBox {
65
+    .adminOne {
66
+      padding: 0 0.875rem;
67
+      height: 2.8125rem;
68
+      line-height: 2.8125rem;
69
+      font-weight: bold;
70
+      background: rgba(255, 255, 255, 1);
71
+      box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
72
+    }
73
+    .van-button--info {
74
+      border-radius: 1.875rem;
75
+    }
76
+  }
77
+  .next {
78
+    width: 80%;
79
+    margin: 0 auto;
80
+    height: 2.875rem;
81
+    background: #338afb;
82
+    color: #fff;
83
+    line-height: 2.875rem;
84
+    text-align: center;
85
+    margin-top: 2.875rem;
86
+    border-radius: 1.875rem;
87
+  }
88
+}
89
+</style>

+ 33 - 10
src/kpa_pages/allCheck/index.vue View File

@@ -1,21 +1,23 @@
1 1
 <template>
2 2
   <div class="page_allCheck">
3
+    <div class="allCheckTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">张三的检验检查</span>
6
+    </div>
3 7
     <div class="searchList">
4 8
       <van-tabs
5 9
         v-model="active"
6 10
         title-active-color="#000000"
7 11
         title-inactive-color="#3C3C3C"
8
-        v-for="item in checkdata"
9
-        :key="item.id"
10 12
       >
11
-        <van-tab :title="item.id">
13
+        <van-tab v-for="item in checkdata" :title="item" :key="item">
12 14
           <div class="all">
13 15
             <ul class="headline">
14 16
               <li>检查项目</li>
15 17
               <li>结果</li>
16 18
               <li>参考值</li>
17 19
             </ul>
18
-
20
+            <p class="checkTime">检查日期:2019.09.09</p>
19 21
             <ul class="itemList">
20 22
               <li v-for="(item, index) in 8" :key="index">
21 23
                 <span>白细胞(WBS)</span>
@@ -41,7 +43,7 @@ export default {
41 43
     return {
42 44
       searchVal: "",
43 45
       active: 0,
44
-      checkdata: []
46
+      checkdata: ["肝功能", "血常规", "肾功能", "传染病检查", "凝血七项"]
45 47
     };
46 48
   },
47 49
   methods: {
@@ -57,10 +59,10 @@ export default {
57 59
     }
58 60
   },
59 61
   created() {
60
-    var inspect_date = this.$route.query.inspect_date;
61
-    var patientid = this.$route.query.patientid;
62
-    var orgid = this.$route.query.orgid;
63
-    this.checkAll(inspect_date, patientid, orgid);
62
+    // var inspect_date = this.$route.query.inspect_date;
63
+    // var patientid = this.$route.query.patientid;
64
+    // var orgid = this.$route.query.orgid;
65
+    // this.checkAll(inspect_date, patientid, orgid);
64 66
   }
65 67
 };
66 68
 </script>
@@ -69,7 +71,22 @@ export default {
69 71
 .page_allCheck {
70 72
   overflow: hidden;
71 73
   height: 100%;
72
-
74
+  .allCheckTitle {
75
+    background: #fff;
76
+    padding: 0 1.125rem;
77
+    height: 3.125rem;
78
+    display: flex;
79
+    align-items: center;
80
+  }
81
+  .jiantou {
82
+    font-size: 1.5rem;
83
+    font-weight: 600;
84
+    margin-right: 6rem;
85
+  }
86
+  .titleName {
87
+    font-size: 1.125rem;
88
+    font-weight: 600;
89
+  }
73 90
   .searchList {
74 91
     height: 100%;
75 92
     .van-tabs {
@@ -118,6 +135,12 @@ export default {
118 135
         font-size: 0.75rem;
119 136
       }
120 137
     }
138
+    .checkTime {
139
+      height: 1.875rem;
140
+      line-height: 1.875rem;
141
+      padding-left: 1.5rem;
142
+      font-size: 0.75rem;
143
+    }
121 144
     .itemList {
122 145
       li {
123 146
         display: flex;

+ 93 - 0
src/kpa_pages/allCourse/index.vue View File

@@ -0,0 +1,93 @@
1
+<template>
2
+  <div class="page_allCourse">
3
+    <van-sticky>
4
+      <div class="allCourseTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的病程记录</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="courseBox">
10
+      <div class="courseOne">
11
+        <div class="statOrder">
12
+          <p class="time">2019.01.01</p>
13
+          <div class="statOrderTitle">
14
+            <span>首次病程记录</span>
15
+          </div>
16
+          <div class="orderContent">
17
+            <p>
18
+              病历书写基本规范2010》第二十二条规定:“病程记录
19
+              是指继入院记录之后,对患者病情和诊疗过程所进行的
20
+              连续性记录。内容包括患病历书写基本规范2010》第二十二条规定:“病程记录
21
+              是指继入院记录之后,对患者病情和诊疗过程所进行的
22
+              连续性记录。内容包括患
23
+            </p>
24
+          </div>
25
+          <div class="doctorBox">
26
+            <p>记录医生:钱蛮子</p>
27
+          </div>
28
+        </div>
29
+      </div>
30
+    </div>
31
+  </div>
32
+</template>
33
+
34
+<style lang="scss" scoped>
35
+.page_allCourse {
36
+  height: 100%;
37
+  overflow-y: auto;
38
+  .allCourseTitle {
39
+    background: #fff;
40
+    padding: 0 1.125rem;
41
+    height: 3.125rem;
42
+    display: flex;
43
+    align-items: center;
44
+  }
45
+  .jiantou {
46
+    font-size: 1.5rem;
47
+    font-weight: 600;
48
+    margin-right: 5.5rem;
49
+  }
50
+  .titleName {
51
+    font-size: 1.125rem;
52
+    font-weight: 600;
53
+  }
54
+  .courseBox {
55
+    padding: 0 1.125rem;
56
+    margin-bottom: 3.125rem;
57
+  }
58
+  .courseOne {
59
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
60
+    padding-bottom: 1.25rem;
61
+    .time {
62
+      font-size: 1.125rem;
63
+      margin-top: 0.625rem;
64
+      font-weight: bold;
65
+    }
66
+  }
67
+  .statOrderTitle {
68
+    color: #5b98ff;
69
+    font-size: 0.8125rem;
70
+    font-weight: bold;
71
+    margin: 0.625rem 0;
72
+  }
73
+  .orderContent {
74
+    font-size: 0.875rem;
75
+    color: rgba(49, 50, 52, 1);
76
+    p {
77
+      line-height: 1.125rem;
78
+    }
79
+  }
80
+  .doctorBox {
81
+    font-size: 0.75rem;
82
+    color: rgba(152, 152, 152, 1);
83
+    line-height: 1.125rem;
84
+    display: flex;
85
+    align-items: center;
86
+    justify-content: space-between;
87
+    margin-top: 0.625rem;
88
+  }
89
+}
90
+::-webkit-scrollbar {
91
+  width: 0;
92
+}
93
+</style>

+ 75 - 0
src/kpa_pages/allDialysisRecord/index.vue View File

@@ -0,0 +1,75 @@
1
+<template>
2
+  <div class="page_allDialysisRecord">
3
+    <van-sticky>
4
+      <div class="allDialysisRecordTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的长期透析处方</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="dialysisBox">
10
+      <div class="dialysisBoxOne">
11
+        <p class="time">2019.01.01</p>
12
+        <div class="orderContent">
13
+          <p>透析模式:HD</p>
14
+          <p>透析时长(h/min):2h30min</p>
15
+          <p>血流量(ml/min):12</p>
16
+          <p>目标超滤量(ml):1200ml</p>
17
+          <p>透析配方:1200ml</p>
18
+          <p>抗凝剂:1200ml</p>
19
+          <p>首剂(mg):1200ml</p>
20
+          <p>维持(mg/h):1200ml</p>
21
+        </div>
22
+      </div>
23
+    </div>
24
+  </div>
25
+</template>
26
+
27
+<style lang="scss" scoped>
28
+.page_allDialysisRecord {
29
+  height: 100%;
30
+  overflow-y: auto;
31
+  .allDialysisRecordTitle {
32
+    background: #fff;
33
+    padding: 0 1.125rem;
34
+    height: 3.125rem;
35
+    display: flex;
36
+    align-items: center;
37
+  }
38
+  .jiantou {
39
+    font-size: 1.5rem;
40
+    font-weight: 600;
41
+    margin-right: 4.5rem;
42
+  }
43
+  .titleName {
44
+    font-size: 1.125rem;
45
+    font-weight: 600;
46
+  }
47
+  .dialysisBox {
48
+    padding: 0 1.125rem;
49
+    margin-bottom: 3.125rem;
50
+  }
51
+  .dialysisBoxOne {
52
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
53
+    padding-bottom: 1.25rem;
54
+    .time {
55
+      font-size: 1.125rem;
56
+      margin-top: 0.625rem;
57
+      font-weight: bold;
58
+    }
59
+  }
60
+  .orderContent {
61
+    font-size: 0.875rem;
62
+    color: rgba(49, 50, 52, 1);
63
+    margin-top: 0.625rem;
64
+    display: flex;
65
+    flex-wrap: wrap;
66
+    p {
67
+      line-height: 1.5rem;
68
+      width: 50%;
69
+    }
70
+  }
71
+}
72
+::-webkit-scrollbar {
73
+  width: 0;
74
+}
75
+</style>

+ 121 - 0
src/kpa_pages/allDoctorManagement/index.vue View File

@@ -0,0 +1,121 @@
1
+<template>
2
+  <div class="page_allDoctorManagement">
3
+    <van-sticky>
4
+      <div class="allDoctorManagementTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的医嘱</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="orderBox">
10
+      <div class="orderBoxOne">
11
+        <p class="time">2019.01.01</p>
12
+        <div class="statOrder">
13
+          <div class="statOrderTitle">
14
+            <span>临时医嘱</span>
15
+            <span style="margin-left:1rem">18:00</span>
16
+          </div>
17
+          <div class="orderContent">
18
+            <p>那曲肝素钙注射液 单次用量 3075iu 静脉注射</p>
19
+            <p>▲ 左卡尼汀注射液 单次用量 1g</p>
20
+          </div>
21
+          <div class="doctorBox">
22
+            <p>开嘱医生:钱蛮子</p>
23
+            <p>执行护士:欧巧漫</p>
24
+            <p>核对护士:钱多多</p>
25
+          </div>
26
+        </div>
27
+        <div class="statOrder">
28
+          <div class="longOrderTitle">
29
+            <span>临时医嘱</span>
30
+            <span style="margin-left:1rem">18:00</span>
31
+          </div>
32
+          <div class="orderContent">
33
+            <p>那曲肝素钙注射液 单次用量 3075iu 静脉注射</p>
34
+            <p>▲ 左卡尼汀注射液 单次用量 1g</p>
35
+          </div>
36
+          <div class="doctorBox">
37
+            <p>开嘱医生:钱蛮子</p>
38
+            <p>执行护士:欧巧漫</p>
39
+            <p>核对护士:钱多多</p>
40
+          </div>
41
+        </div>
42
+      </div>
43
+    </div>
44
+  </div>
45
+</template>
46
+
47
+<style lang="scss" scoped>
48
+.page_allDoctorManagement {
49
+  .allDoctorManagementTitle {
50
+    background: #fff;
51
+    padding: 0 1.125rem;
52
+    height: 3.125rem;
53
+    display: flex;
54
+    align-items: center;
55
+  }
56
+  .jiantou {
57
+    font-size: 1.5rem;
58
+    font-weight: 600;
59
+    margin-right: 6.5rem;
60
+  }
61
+  .titleName {
62
+    font-size: 1.125rem;
63
+    font-weight: 600;
64
+  }
65
+  .orderBox {
66
+    padding: 0 1.125rem;
67
+    margin-bottom: 3.125rem;
68
+  }
69
+  .orderBoxOne {
70
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
71
+    padding-bottom: 1.25rem;
72
+    .time {
73
+      font-size: 1.125rem;
74
+      margin-top: 0.625rem;
75
+      font-weight: bold;
76
+    }
77
+  }
78
+  .adviceTitle {
79
+    padding-top: 0.625rem;
80
+    display: flex;
81
+    align-items: center;
82
+    justify-content: space-between;
83
+    p {
84
+      color: #000000;
85
+      font-weight: bold;
86
+      font-size: 0.9375rem;
87
+    }
88
+  }
89
+  .statOrderTitle {
90
+    color: #5b98ff;
91
+    font-size: 0.8125rem;
92
+    font-weight: bold;
93
+    margin: 0.625rem 0;
94
+  }
95
+  .longOrderTitle {
96
+    color: #ff964a;
97
+    font-size: 0.8125rem;
98
+    font-weight: bold;
99
+    margin: 0.625rem 0;
100
+  }
101
+  .orderContent {
102
+    font-size: 0.875rem;
103
+    color: rgba(49, 50, 52, 1);
104
+    p {
105
+      line-height: 1.125rem;
106
+    }
107
+  }
108
+  .doctorBox {
109
+    font-size: 0.75rem;
110
+    color: rgba(152, 152, 152, 1);
111
+    line-height: 1.125rem;
112
+    display: flex;
113
+    align-items: center;
114
+    justify-content: space-between;
115
+    margin-top: 0.625rem;
116
+  }
117
+}
118
+::-webkit-scrollbar {
119
+  width: 0;
120
+}
121
+</style>

+ 80 - 0
src/kpa_pages/allDryWeight/index.vue View File

@@ -0,0 +1,80 @@
1
+<template>
2
+  <div class="page_allDryWeight">
3
+    <van-sticky>
4
+      <div class="allDryWeightTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的干体重</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="dryWeightBox">
10
+      <div class="dryWeightOne">
11
+        <div class="time">2019.01.01</div>
12
+        <div class="weightContent">
13
+          <p>干体重:51kg</p>
14
+          <p>上调:0.5kg</p>
15
+        </div>
16
+        <div class="doctorBox">
17
+          <p>记录医生:钱蛮子</p>
18
+        </div>
19
+      </div>
20
+    </div>
21
+  </div>
22
+</template>
23
+
24
+<style lang="scss" scoped>
25
+.page_allDryWeight {
26
+  height: 100%;
27
+  overflow-y: auto;
28
+  .allDryWeightTitle {
29
+    background: #fff;
30
+    padding: 0 1.125rem;
31
+    height: 3.125rem;
32
+    display: flex;
33
+    align-items: center;
34
+  }
35
+  .jiantou {
36
+    font-size: 1.5rem;
37
+    font-weight: 600;
38
+    margin-right: 6rem;
39
+  }
40
+  .titleName {
41
+    font-size: 1.125rem;
42
+    font-weight: 600;
43
+  }
44
+  .dryWeightBox {
45
+    padding: 0 1.125rem;
46
+    margin-bottom: 3.125rem;
47
+  }
48
+  .dryWeightOne {
49
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
50
+    padding-bottom: 1.25rem;
51
+    .time {
52
+      font-size: 1.125rem;
53
+      margin-top: 0.625rem;
54
+      font-weight: bold;
55
+    }
56
+  }
57
+  .weightContent {
58
+    font-size: 0.875rem;
59
+    color: rgba(49, 50, 52, 1);
60
+    display: flex;
61
+    p {
62
+      line-height: 1.125rem;
63
+      margin-right: 0.625rem;
64
+      margin-top: 0.375rem;
65
+    }
66
+  }
67
+  .doctorBox {
68
+    font-size: 0.75rem;
69
+    color: rgba(152, 152, 152, 1);
70
+    line-height: 1.125rem;
71
+    display: flex;
72
+    align-items: center;
73
+    justify-content: space-between;
74
+    margin-top: 0.625rem;
75
+  }
76
+}
77
+::-webkit-scrollbar {
78
+  width: 0;
79
+}
80
+</style>

+ 93 - 0
src/kpa_pages/allEducation/index.vue View File

@@ -0,0 +1,93 @@
1
+<template>
2
+  <div class="page_allEducation">
3
+    <van-sticky>
4
+      <div class="allEducationTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的宣教信息</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="courseBox">
10
+      <div class="courseOne">
11
+        <div class="statOrder">
12
+          <p class="time">2019.01.01</p>
13
+          <div class="statOrderTitle">
14
+            <span>宣教信息</span>
15
+          </div>
16
+          <div class="orderContent">
17
+            <p>
18
+              病历书写基本规范2010》第二十二条规定:“病程记录
19
+              是指继入院记录之后,对患者病情和诊疗过程所进行的
20
+              连续性记录。内容包括患病历书写基本规范2010》第二十二条规定:“病程记录
21
+              是指继入院记录之后,对患者病情和诊疗过程所进行的
22
+              连续性记录。内容包括患
23
+            </p>
24
+          </div>
25
+          <div class="doctorBox">
26
+            <p>记录医生:钱蛮子</p>
27
+          </div>
28
+        </div>
29
+      </div>
30
+    </div>
31
+  </div>
32
+</template>
33
+
34
+<style lang="scss" scoped>
35
+.page_allEducation {
36
+  height: 100%;
37
+  overflow-y: auto;
38
+  .allEducationTitle {
39
+    background: #fff;
40
+    padding: 0 1.125rem;
41
+    height: 3.125rem;
42
+    display: flex;
43
+    align-items: center;
44
+  }
45
+  .jiantou {
46
+    font-size: 1.5rem;
47
+    font-weight: 600;
48
+    margin-right: 5.5rem;
49
+  }
50
+  .titleName {
51
+    font-size: 1.125rem;
52
+    font-weight: 600;
53
+  }
54
+  .courseBox {
55
+    padding: 0 1.125rem;
56
+    margin-bottom: 3.125rem;
57
+  }
58
+  .courseOne {
59
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
60
+    padding-bottom: 1.25rem;
61
+    .time {
62
+      font-size: 1.125rem;
63
+      margin-top: 0.625rem;
64
+      font-weight: bold;
65
+    }
66
+  }
67
+  .statOrderTitle {
68
+    color: #5b98ff;
69
+    font-size: 0.8125rem;
70
+    font-weight: bold;
71
+    margin: 0.625rem 0;
72
+  }
73
+  .orderContent {
74
+    font-size: 0.875rem;
75
+    color: rgba(49, 50, 52, 1);
76
+    p {
77
+      line-height: 1.125rem;
78
+    }
79
+  }
80
+  .doctorBox {
81
+    font-size: 0.75rem;
82
+    color: rgba(152, 152, 152, 1);
83
+    line-height: 1.125rem;
84
+    display: flex;
85
+    align-items: center;
86
+    justify-content: space-between;
87
+    margin-top: 0.625rem;
88
+  }
89
+}
90
+::-webkit-scrollbar {
91
+  width: 0;
92
+}
93
+</style>

+ 75 - 0
src/kpa_pages/allLongDialysis/index.vue View File

@@ -0,0 +1,75 @@
1
+<template>
2
+  <div class="page_allLongDialysis">
3
+    <van-sticky>
4
+      <div class="allLongDialysisTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的长期透析处方</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="dialysisBox">
10
+      <div class="dialysisBoxOne">
11
+        <p class="time">2019.01.01</p>
12
+        <div class="orderContent">
13
+          <p>透析模式:HD</p>
14
+          <p>透析时长(h/min):2h30min</p>
15
+          <p>血流量(ml/min):12</p>
16
+          <p>目标超滤量(ml):1200ml</p>
17
+          <p>透析配方:1200ml</p>
18
+          <p>抗凝剂:1200ml</p>
19
+          <p>首剂(mg):1200ml</p>
20
+          <p>维持(mg/h):1200ml</p>
21
+        </div>
22
+      </div>
23
+    </div>
24
+  </div>
25
+</template>
26
+
27
+<style lang="scss" scoped>
28
+.page_allLongDialysis {
29
+  height: 100%;
30
+  overflow-y: auto;
31
+  .allLongDialysisTitle {
32
+    background: #fff;
33
+    padding: 0 1.125rem;
34
+    height: 3.125rem;
35
+    display: flex;
36
+    align-items: center;
37
+  }
38
+  .jiantou {
39
+    font-size: 1.5rem;
40
+    font-weight: 600;
41
+    margin-right: 4.5rem;
42
+  }
43
+  .titleName {
44
+    font-size: 1.125rem;
45
+    font-weight: 600;
46
+  }
47
+  .dialysisBox {
48
+    padding: 0 1.125rem;
49
+    margin-bottom: 3.125rem;
50
+  }
51
+  .dialysisBoxOne {
52
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
53
+    padding-bottom: 1.25rem;
54
+    .time {
55
+      font-size: 1.125rem;
56
+      margin-top: 0.625rem;
57
+      font-weight: bold;
58
+    }
59
+  }
60
+  .orderContent {
61
+    font-size: 0.875rem;
62
+    color: rgba(49, 50, 52, 1);
63
+    margin-top: 0.625rem;
64
+    display: flex;
65
+    flex-wrap: wrap;
66
+    p {
67
+      line-height: 1.5rem;
68
+      width: 50%;
69
+    }
70
+  }
71
+}
72
+::-webkit-scrollbar {
73
+  width: 0;
74
+}
75
+</style>

+ 93 - 0
src/kpa_pages/allRescue/index.vue View File

@@ -0,0 +1,93 @@
1
+<template>
2
+  <div class="page_allRescue">
3
+    <van-sticky>
4
+      <div class="allRescueTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的抢救记录</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="courseBox">
10
+      <div class="courseOne">
11
+        <div class="statOrder">
12
+          <p class="time">2019.01.01</p>
13
+          <div class="statOrderTitle">
14
+            <span>抢救记录</span>
15
+          </div>
16
+          <div class="orderContent">
17
+            <p>
18
+              病历书写基本规范2010》第二十二条规定:“病程记录
19
+              是指继入院记录之后,对患者病情和诊疗过程所进行的
20
+              连续性记录。内容包括患病历书写基本规范2010》第二十二条规定:“病程记录
21
+              是指继入院记录之后,对患者病情和诊疗过程所进行的
22
+              连续性记录。内容包括患
23
+            </p>
24
+          </div>
25
+          <div class="doctorBox">
26
+            <p>记录医生:钱蛮子</p>
27
+          </div>
28
+        </div>
29
+      </div>
30
+    </div>
31
+  </div>
32
+</template>
33
+
34
+<style lang="scss" scoped>
35
+.page_allRescue {
36
+  height: 100%;
37
+  overflow-y: auto;
38
+  .allRescueTitle {
39
+    background: #fff;
40
+    padding: 0 1.125rem;
41
+    height: 3.125rem;
42
+    display: flex;
43
+    align-items: center;
44
+  }
45
+  .jiantou {
46
+    font-size: 1.5rem;
47
+    font-weight: 600;
48
+    margin-right: 5.5rem;
49
+  }
50
+  .titleName {
51
+    font-size: 1.125rem;
52
+    font-weight: 600;
53
+  }
54
+  .courseBox {
55
+    padding: 0 1.125rem;
56
+    margin-bottom: 3.125rem;
57
+  }
58
+  .courseOne {
59
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
60
+    padding-bottom: 1.25rem;
61
+    .time {
62
+      font-size: 1.125rem;
63
+      margin-top: 0.625rem;
64
+      font-weight: bold;
65
+    }
66
+  }
67
+  .statOrderTitle {
68
+    color: #5b98ff;
69
+    font-size: 0.8125rem;
70
+    font-weight: bold;
71
+    margin: 0.625rem 0;
72
+  }
73
+  .orderContent {
74
+    font-size: 0.875rem;
75
+    color: rgba(49, 50, 52, 1);
76
+    p {
77
+      line-height: 1.125rem;
78
+    }
79
+  }
80
+  .doctorBox {
81
+    font-size: 0.75rem;
82
+    color: rgba(152, 152, 152, 1);
83
+    line-height: 1.125rem;
84
+    display: flex;
85
+    align-items: center;
86
+    justify-content: space-between;
87
+    margin-top: 0.625rem;
88
+  }
89
+}
90
+::-webkit-scrollbar {
91
+  width: 0;
92
+}
93
+</style>

+ 71 - 0
src/kpa_pages/allScheduling/index.vue View File

@@ -0,0 +1,71 @@
1
+<template>
2
+  <div class="page_allScheduling">
3
+    <van-sticky>
4
+      <div class="allSchedulingTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">张三的排班信息</span>
7
+      </div>
8
+    </van-sticky>
9
+    <div class="dialysisBox">
10
+      <div class="dialysisBoxOne">
11
+        <p class="time">2019.01.01</p>
12
+        <div class="orderContent">
13
+          <p>班次:HD</p>
14
+          <p>分区:2h30min</p>
15
+          <p>机号:12</p>
16
+          <p>治疗模式:1200ml</p>
17
+        </div>
18
+      </div>
19
+    </div>
20
+  </div>
21
+</template>
22
+
23
+<style lang="scss" scoped>
24
+.page_allScheduling {
25
+  height: 100%;
26
+  overflow-y: auto;
27
+  .allSchedulingTitle {
28
+    background: #fff;
29
+    padding: 0 1.125rem;
30
+    height: 3.125rem;
31
+    display: flex;
32
+    align-items: center;
33
+  }
34
+  .jiantou {
35
+    font-size: 1.5rem;
36
+    font-weight: 600;
37
+    margin-right: 5.5rem;
38
+  }
39
+  .titleName {
40
+    font-size: 1.125rem;
41
+    font-weight: 600;
42
+  }
43
+  .dialysisBox {
44
+    padding: 0 1.125rem;
45
+    margin-bottom: 3.125rem;
46
+  }
47
+  .dialysisBoxOne {
48
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
49
+    padding-bottom: 1.25rem;
50
+    .time {
51
+      font-size: 1.125rem;
52
+      margin-top: 0.625rem;
53
+      font-weight: bold;
54
+    }
55
+  }
56
+  .orderContent {
57
+    font-size: 0.875rem;
58
+    color: rgba(49, 50, 52, 1);
59
+    margin-top: 0.625rem;
60
+    display: flex;
61
+    flex-wrap: wrap;
62
+    p {
63
+      line-height: 1.5rem;
64
+      width: 50%;
65
+    }
66
+  }
67
+}
68
+::-webkit-scrollbar {
69
+  width: 0;
70
+}
71
+</style>

+ 105 - 0
src/kpa_pages/chooseNewAdmin/index.vue View File

@@ -0,0 +1,105 @@
1
+<template>
2
+  <div class="page_chooseNewAdmin">
3
+    <van-sticky>
4
+      <div class="chooseNewAdminTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">选择新的管理员</span>
7
+      </div>
8
+    </van-sticky>
9
+
10
+    <div class="adminBox">
11
+      <van-radio-group v-model="radio">
12
+        <div class="adminOne" v-for="(item, index) in 10" :key="index">
13
+          <div class="adminOneLeft">
14
+            <img src="../../assets/images/one.jpg" alt="" />
15
+            <span>名字</span>
16
+          </div>
17
+          <van-radio :name="index" @click="radio = index"></van-radio>
18
+        </div>
19
+      </van-radio-group>
20
+    </div>
21
+    <div class="nextBox">
22
+      <div class="nextBtn">下一步</div>
23
+    </div>
24
+  </div>
25
+</template>
26
+
27
+<script>
28
+export default {
29
+  data() {
30
+    return {
31
+      radio: ""
32
+    };
33
+  }
34
+};
35
+</script>
36
+
37
+<style lang="scss" scoped>
38
+.page_chooseNewAdmin {
39
+  height: 100%;
40
+  overflow: auto;
41
+  background: #fafafa;
42
+  .chooseNewAdminTitle {
43
+    background: #fff;
44
+    padding: 0 1.125rem;
45
+    height: 3.125rem;
46
+    display: flex;
47
+    align-items: center;
48
+  }
49
+  .jiantou {
50
+    font-size: 1.5rem;
51
+    font-weight: 600;
52
+    margin-right: 5.5rem;
53
+  }
54
+  .titleName {
55
+    font-size: 1.125rem;
56
+    font-weight: 600;
57
+  }
58
+  .adminBox {
59
+    margin: 1rem 0 5rem;
60
+    background: #fff;
61
+    .adminOne {
62
+      padding: 0 1.25rem;
63
+      height: 3.75rem;
64
+      display: flex;
65
+      align-items: center;
66
+      justify-content: space-between;
67
+      box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
68
+      .adminOneLeft {
69
+        display: flex;
70
+        align-items: center;
71
+        img {
72
+          width: 2.5rem;
73
+          height: 2.5rem;
74
+          margin-right: 0.875rem;
75
+        }
76
+      }
77
+    }
78
+  }
79
+  .nextBox {
80
+    position: fixed;
81
+    bottom: 0;
82
+    left: 0;
83
+    width: 100%;
84
+    height: 4.25rem;
85
+    display: flex;
86
+    align-items: center;
87
+    background: rgba(255, 255, 255, 1);
88
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
89
+    .nextBtn {
90
+      width: 80%;
91
+      margin: 0 auto;
92
+      height: 2.875rem;
93
+      line-height: 2.875rem;
94
+      background: rgba(51, 138, 251, 1);
95
+      box-shadow: 0px 1px 12px 0px rgba(51, 138, 251, 1);
96
+      border-radius: 23px;
97
+      text-align: center;
98
+      color: #fff;
99
+    }
100
+  }
101
+}
102
+::-webkit-scrollbar {
103
+  width: 0;
104
+}
105
+</style>

+ 241 - 0
src/kpa_pages/doctorAdvice/components/CourseManagement.vue View File

@@ -0,0 +1,241 @@
1
+<template>
2
+  <div class="courseManagement">
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">
19
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
20
+          <div class="adviceOne" v-for="item in 3" :key="index">
21
+            <div class="adviceTitle">
22
+              <p>2019.09.01</p>
23
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
24
+            </div>
25
+            <div class="statOrder">
26
+              <div class="statOrderTitle">
27
+                <span>首次病程记录</span>
28
+              </div>
29
+              <div class="orderContent">
30
+                <p>
31
+                  病历书写基本规范2010》第二十二条规定:“病程记录
32
+                  是指继入院记录之后,对患者病情和诊疗过程所进行的
33
+                  连续性记录。内容包括患病历书写基本规范2010》第二十二条规定:“病程记录
34
+                  是指继入院记录之后,对患者病情和诊疗过程所进行的
35
+                  连续性记录。内容包括患
36
+                </p>
37
+              </div>
38
+              <div class="doctorBox">
39
+                <p>记录医生:钱蛮子</p>
40
+              </div>
41
+            </div>
42
+            <div class="all">全部</div>
43
+          </div>
44
+        </van-list>
45
+      </div>
46
+    </div>
47
+    <div class="add">
48
+      <div style="display: flex;align-items: center;">
49
+        <van-icon class="addIcon" name="add" />新增
50
+      </div>
51
+    </div>
52
+
53
+    <!-- 弹出层 -->
54
+    <div>
55
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
56
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
57
+      </van-popup>
58
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
59
+        <van-datetime-picker
60
+          v-model="currentDate"
61
+          type="date"
62
+          :min-date="minDate"
63
+          :max-date="maxDate"
64
+          @confirm="getstartTime"
65
+          @cancel="startShow = false"
66
+        />
67
+      </van-popup>
68
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
69
+        <van-datetime-picker
70
+          v-model="currentDate"
71
+          type="date"
72
+          :min-date="minDate"
73
+          :max-date="maxDate"
74
+          @confirm="getstartTime2"
75
+          @cancel="endShow = false"
76
+        />
77
+      </van-popup>
78
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
79
+    </div>
80
+  </div>
81
+</template>
82
+
83
+<script>
84
+export default {
85
+  data() {
86
+    return {
87
+      newShow: false,
88
+      startShow: false,
89
+      endShow: false,
90
+      startTime: "请选择",
91
+      endTime: "请选择",
92
+      minDate: new Date(1970, 0, 1),
93
+      maxDate: new Date(2025, 10, 1),
94
+      currentDate: new Date(),
95
+      actions: [{ name: "编辑" }, { name: "删除" }]
96
+    };
97
+  },
98
+  methods: {
99
+    onCancel() {
100
+      this.typeShow = false;
101
+    },
102
+    onConfirm(value) {
103
+      this.type = value;
104
+      this.typeShow = false;
105
+    },
106
+    getstartTime(value) {
107
+      console.log(value);
108
+      let year = value.getFullYear();
109
+      let month = value.getMonth() + 1;
110
+      let day = value.getDate();
111
+      if (month >= 1 && month <= 9) {
112
+        month = `0${month}`;
113
+      }
114
+      if (day >= 1 && day <= 9) {
115
+        day = `0${day}`;
116
+      }
117
+
118
+      this.startTime = `${year}-${month}-${day}`;
119
+      this.startShow = false;
120
+    },
121
+    getstartTime2(value) {
122
+      console.log(value);
123
+      let year = value.getFullYear();
124
+      let month = value.getMonth() + 1;
125
+      let day = value.getDate();
126
+      if (month >= 1 && month <= 9) {
127
+        month = `0${month}`;
128
+      }
129
+      if (day >= 1 && day <= 9) {
130
+        day = `0${day}`;
131
+      }
132
+
133
+      this.endTime = `${year}-${month}-${day}`;
134
+      this.endShow = false;
135
+    }
136
+  }
137
+};
138
+</script>
139
+
140
+<style lang="scss" scoped>
141
+.courseManagement {
142
+  height: 100%;
143
+  overflow-y: auto;
144
+  .toolBox {
145
+    display: flex;
146
+    height: 3.125rem;
147
+    align-items: center;
148
+    .toolOne {
149
+      width: 5.625rem;
150
+      height: 1.875rem;
151
+      background: rgba(246, 246, 246, 1);
152
+      border-radius: 5px;
153
+      text-align: center;
154
+      font-size: 0.8125rem;
155
+      color: #8d8d8d;
156
+      display: flex;
157
+      align-items: center;
158
+      justify-content: space-around;
159
+      margin-left: 1.25rem;
160
+    }
161
+  }
162
+  .adviceBox {
163
+    padding: 0 1.125rem;
164
+    margin-bottom: 3.125rem;
165
+  }
166
+  .adviceOne {
167
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
168
+    padding-bottom: 0.625rem;
169
+  }
170
+  .adviceTitle {
171
+    padding-top: 0.625rem;
172
+    display: flex;
173
+    align-items: center;
174
+    justify-content: space-between;
175
+    p {
176
+      color: #000000;
177
+      font-weight: bold;
178
+      font-size: 0.9375rem;
179
+    }
180
+    .ellipsis {
181
+      font-size: 1.25rem;
182
+      color: #cccccc;
183
+    }
184
+  }
185
+  .statOrderTitle {
186
+    color: #5b98ff;
187
+    font-size: 0.8125rem;
188
+    font-weight: bold;
189
+    margin: 0.625rem 0;
190
+  }
191
+  .longOrderTitle {
192
+    color: #ff964a;
193
+    font-size: 0.8125rem;
194
+    font-weight: bold;
195
+    margin: 0.625rem 0;
196
+  }
197
+  .orderContent {
198
+    font-size: 0.875rem;
199
+    color: rgba(49, 50, 52, 1);
200
+    p {
201
+      line-height: 1.125rem;
202
+    }
203
+  }
204
+  .doctorBox {
205
+    font-size: 0.75rem;
206
+    color: rgba(152, 152, 152, 1);
207
+    line-height: 1.125rem;
208
+    display: flex;
209
+    align-items: center;
210
+    justify-content: space-between;
211
+    margin-top: 0.625rem;
212
+  }
213
+  .all {
214
+    font-size: 0.8125rem;
215
+    color: #5b98ff;
216
+    margin-top: 0.625rem;
217
+  }
218
+  .add {
219
+    position: fixed;
220
+    bottom: 0;
221
+    left: 0;
222
+    width: 100%;
223
+    height: 2.75rem;
224
+    background: rgba(255, 255, 255, 1);
225
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
226
+    display: flex;
227
+    align-items: center;
228
+    justify-content: space-around;
229
+    font-size: 0.9375rem;
230
+    color: #979798;
231
+    .addIcon {
232
+      color: #5b98ff;
233
+      font-size: 1.25rem;
234
+      margin-right: 0.25rem;
235
+    }
236
+  }
237
+}
238
+::-webkit-scrollbar {
239
+  width: 0;
240
+}
241
+</style>

+ 246 - 0
src/kpa_pages/doctorAdvice/components/DialysisRecord.vue View File

@@ -0,0 +1,246 @@
1
+<template>
2
+  <div class="DialysisRecord">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="typeShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ type }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="startShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ startTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+        <div class="toolOne" @click="endShow = true">
18
+          <div style="display: flex;align-items: center;">
19
+            {{ endTime }}
20
+            <van-icon name="arrow-down" />
21
+          </div>
22
+        </div>
23
+      </div>
24
+      <div class="adviceBox">
25
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
26
+          <div class="adviceOne" v-for="item in 3" :key="index">
27
+            <div class="adviceTitle">
28
+              <p>2019.09.01</p>
29
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
30
+            </div>
31
+            <div class="orderContent">
32
+              <p>透析模式:HD</p>
33
+              <p>透析时长(h/min):2h30min</p>
34
+              <p>血流量(ml/min):12</p>
35
+              <p>目标超滤量(ml):1200ml</p>
36
+              <p>透析配方:1200ml</p>
37
+              <p>抗凝剂:1200ml</p>
38
+              <p>首剂(mg):1200ml</p>
39
+              <p>维持(mg/h):1200ml</p>
40
+            </div>
41
+            <div class="all">全部</div>
42
+          </div>
43
+        </van-list>
44
+      </div>
45
+    </div>
46
+    <div class="add">
47
+      <div style="display: flex;align-items: center;">
48
+        <van-icon class="addIcon" name="add" />新增
49
+      </div>
50
+    </div>
51
+
52
+    <!-- 弹出层 -->
53
+    <div>
54
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
55
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
56
+      </van-popup>
57
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
58
+        <van-datetime-picker
59
+          v-model="currentDate"
60
+          type="date"
61
+          :min-date="minDate"
62
+          :max-date="maxDate"
63
+          @confirm="getstartTime"
64
+          @cancel="startShow = false"
65
+        />
66
+      </van-popup>
67
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
68
+        <van-datetime-picker
69
+          v-model="currentDate"
70
+          type="date"
71
+          :min-date="minDate"
72
+          :max-date="maxDate"
73
+          @confirm="getstartTime2"
74
+          @cancel="endShow = false"
75
+        />
76
+      </van-popup>
77
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
78
+    </div>
79
+  </div>
80
+</template>
81
+
82
+<script>
83
+export default {
84
+  data() {
85
+    return {
86
+      newShow: false,
87
+      typeShow: false,
88
+      startShow: false,
89
+      endShow: false,
90
+      type: "请选择",
91
+      columns: [
92
+        "杭州",
93
+        "宁波",
94
+        "温州",
95
+        "嘉兴",
96
+        "湖州",
97
+        "杭州",
98
+        "宁波",
99
+        "温州",
100
+        "嘉兴",
101
+        "湖州"
102
+      ],
103
+      startTime: "请选择",
104
+      endTime: "请选择",
105
+      minDate: new Date(1970, 0, 1),
106
+      maxDate: new Date(2025, 10, 1),
107
+      currentDate: new Date(),
108
+      actions: [{ name: "编辑" }, { name: "删除" }]
109
+    };
110
+  },
111
+  methods: {
112
+    onCancel() {
113
+      this.typeShow = false;
114
+    },
115
+    onConfirm(value) {
116
+      this.type = value;
117
+      this.typeShow = false;
118
+    },
119
+    getstartTime(value) {
120
+      console.log(value);
121
+      let year = value.getFullYear();
122
+      let month = value.getMonth() + 1;
123
+      let day = value.getDate();
124
+      if (month >= 1 && month <= 9) {
125
+        month = `0${month}`;
126
+      }
127
+      if (day >= 1 && day <= 9) {
128
+        day = `0${day}`;
129
+      }
130
+
131
+      this.startTime = `${year}-${month}-${day}`;
132
+      this.startShow = false;
133
+    },
134
+    getstartTime2(value) {
135
+      console.log(value);
136
+      let year = value.getFullYear();
137
+      let month = value.getMonth() + 1;
138
+      let day = value.getDate();
139
+      if (month >= 1 && month <= 9) {
140
+        month = `0${month}`;
141
+      }
142
+      if (day >= 1 && day <= 9) {
143
+        day = `0${day}`;
144
+      }
145
+
146
+      this.endTime = `${year}-${month}-${day}`;
147
+      this.endShow = false;
148
+    }
149
+  }
150
+};
151
+</script>
152
+
153
+<style lang="scss" scoped>
154
+.DialysisRecord {
155
+  height: 100%;
156
+  overflow-y: auto;
157
+  .toolBox {
158
+    display: flex;
159
+    height: 3.125rem;
160
+    justify-content: space-around;
161
+    align-items: center;
162
+    .toolOne {
163
+      width: 5.625rem;
164
+      height: 1.875rem;
165
+      background: rgba(246, 246, 246, 1);
166
+      border-radius: 5px;
167
+      text-align: center;
168
+      font-size: 0.8125rem;
169
+      color: #8d8d8d;
170
+      display: flex;
171
+      align-items: center;
172
+      justify-content: space-around;
173
+    }
174
+  }
175
+  .adviceBox {
176
+    padding: 0 1.125rem;
177
+    margin-bottom: 3.125rem;
178
+  }
179
+  .adviceOne {
180
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
181
+    padding-bottom: 0.625rem;
182
+  }
183
+  .adviceTitle {
184
+    padding-top: 0.625rem;
185
+    display: flex;
186
+    align-items: center;
187
+    justify-content: space-between;
188
+    p {
189
+      color: #000000;
190
+      font-weight: bold;
191
+      font-size: 0.9375rem;
192
+    }
193
+    .ellipsis {
194
+      font-size: 1.25rem;
195
+      color: #cccccc;
196
+    }
197
+  }
198
+  .orderContent {
199
+    font-size: 0.875rem;
200
+    color: rgba(49, 50, 52, 1);
201
+    margin-top: 0.625rem;
202
+    display: flex;
203
+    flex-wrap: wrap;
204
+    p {
205
+      line-height: 1.5rem;
206
+      width: 50%;
207
+    }
208
+  }
209
+  .doctorBox {
210
+    font-size: 0.75rem;
211
+    color: rgba(152, 152, 152, 1);
212
+    line-height: 1.125rem;
213
+    display: flex;
214
+    align-items: center;
215
+    justify-content: space-between;
216
+    margin-top: 0.625rem;
217
+  }
218
+  .all {
219
+    font-size: 0.8125rem;
220
+    color: #5b98ff;
221
+    margin-top: 0.625rem;
222
+  }
223
+  .add {
224
+    position: fixed;
225
+    bottom: 0;
226
+    left: 0;
227
+    width: 100%;
228
+    height: 2.75rem;
229
+    background: rgba(255, 255, 255, 1);
230
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
231
+    display: flex;
232
+    align-items: center;
233
+    justify-content: space-around;
234
+    font-size: 0.9375rem;
235
+    color: #979798;
236
+    .addIcon {
237
+      color: #5b98ff;
238
+      font-size: 1.25rem;
239
+      margin-right: 0.25rem;
240
+    }
241
+  }
242
+}
243
+::-webkit-scrollbar {
244
+  width: 0;
245
+}
246
+</style>

+ 274 - 0
src/kpa_pages/doctorAdvice/components/DoctorManagement.vue View File

@@ -0,0 +1,274 @@
1
+<template>
2
+  <div class="doctorManagement">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="typeShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ type }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="startShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ startTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+        <div class="toolOne" @click="endShow = true">
18
+          <div style="display: flex;align-items: center;">
19
+            {{ endTime }}
20
+            <van-icon name="arrow-down" />
21
+          </div>
22
+        </div>
23
+      </div>
24
+      <div class="adviceBox">
25
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
26
+          <div class="adviceOne" v-for="item in 3" :key="index">
27
+            <div class="adviceTitle">
28
+              <p>2019.09.01</p>
29
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
30
+            </div>
31
+            <div class="statOrder">
32
+              <div class="statOrderTitle">
33
+                <span>临时医嘱</span>
34
+                <span style="margin-left:1rem">18:00</span>
35
+              </div>
36
+              <div class="orderContent">
37
+                <p>那曲肝素钙注射液 单次用量 3075iu 静脉注射</p>
38
+                <p>▲ 左卡尼汀注射液 单次用量 1g</p>
39
+              </div>
40
+              <div class="doctorBox">
41
+                <p>开嘱医生:钱蛮子</p>
42
+                <p>执行护士:欧巧漫</p>
43
+                <p>核对护士:钱多多</p>
44
+              </div>
45
+            </div>
46
+            <div class="statOrder">
47
+              <div class="longOrderTitle">
48
+                <span>临时医嘱</span>
49
+                <span style="margin-left:1rem">18:00</span>
50
+              </div>
51
+              <div class="orderContent">
52
+                <p>那曲肝素钙注射液 单次用量 3075iu 静脉注射</p>
53
+                <p>▲ 左卡尼汀注射液 单次用量 1g</p>
54
+              </div>
55
+              <div class="doctorBox">
56
+                <p>开嘱医生:钱蛮子</p>
57
+                <p>执行护士:欧巧漫</p>
58
+                <p>核对护士:钱多多</p>
59
+              </div>
60
+            </div>
61
+            <div class="all">全部</div>
62
+          </div>
63
+        </van-list>
64
+      </div>
65
+    </div>
66
+    <div class="add">
67
+      <div style="display: flex;align-items: center;">
68
+        <van-icon class="addIcon" name="add" />新增
69
+      </div>
70
+    </div>
71
+
72
+    <!-- 弹出层 -->
73
+    <div>
74
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
75
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
76
+      </van-popup>
77
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
78
+        <van-datetime-picker
79
+          v-model="currentDate"
80
+          type="date"
81
+          :min-date="minDate"
82
+          :max-date="maxDate"
83
+          @confirm="getstartTime"
84
+          @cancel="startShow = false"
85
+        />
86
+      </van-popup>
87
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
88
+        <van-datetime-picker
89
+          v-model="currentDate"
90
+          type="date"
91
+          :min-date="minDate"
92
+          :max-date="maxDate"
93
+          @confirm="getstartTime2"
94
+          @cancel="endShow = false"
95
+        />
96
+      </van-popup>
97
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
98
+    </div>
99
+  </div>
100
+</template>
101
+
102
+<script>
103
+export default {
104
+  data() {
105
+    return {
106
+      newShow: false,
107
+      typeShow: false,
108
+      startShow: false,
109
+      endShow: false,
110
+      type: "请选择",
111
+      columns: [
112
+        "杭州",
113
+        "宁波",
114
+        "温州",
115
+        "嘉兴",
116
+        "湖州",
117
+        "杭州",
118
+        "宁波",
119
+        "温州",
120
+        "嘉兴",
121
+        "湖州"
122
+      ],
123
+      startTime: "请选择",
124
+      endTime: "请选择",
125
+      minDate: new Date(1970, 0, 1),
126
+      maxDate: new Date(2025, 10, 1),
127
+      currentDate: new Date(),
128
+      actions: [{ name: "编辑" }, { name: "删除" }]
129
+    };
130
+  },
131
+  methods: {
132
+    onCancel() {
133
+      this.typeShow = false;
134
+    },
135
+    onConfirm(value) {
136
+      this.type = value;
137
+      this.typeShow = false;
138
+    },
139
+    getstartTime(value) {
140
+      console.log(value);
141
+      let year = value.getFullYear();
142
+      let month = value.getMonth() + 1;
143
+      let day = value.getDate();
144
+      if (month >= 1 && month <= 9) {
145
+        month = `0${month}`;
146
+      }
147
+      if (day >= 1 && day <= 9) {
148
+        day = `0${day}`;
149
+      }
150
+
151
+      this.startTime = `${year}-${month}-${day}`;
152
+      this.startShow = false;
153
+    },
154
+    getstartTime2(value) {
155
+      console.log(value);
156
+      let year = value.getFullYear();
157
+      let month = value.getMonth() + 1;
158
+      let day = value.getDate();
159
+      if (month >= 1 && month <= 9) {
160
+        month = `0${month}`;
161
+      }
162
+      if (day >= 1 && day <= 9) {
163
+        day = `0${day}`;
164
+      }
165
+
166
+      this.endTime = `${year}-${month}-${day}`;
167
+      this.endShow = false;
168
+    }
169
+  }
170
+};
171
+</script>
172
+
173
+<style lang="scss" scoped>
174
+.doctorManagement {
175
+  height: 100%;
176
+  overflow-y: auto;
177
+  .toolBox {
178
+    display: flex;
179
+    height: 3.125rem;
180
+    justify-content: space-around;
181
+    align-items: center;
182
+    .toolOne {
183
+      width: 5.625rem;
184
+      height: 1.875rem;
185
+      background: rgba(246, 246, 246, 1);
186
+      border-radius: 5px;
187
+      text-align: center;
188
+      font-size: 0.8125rem;
189
+      color: #8d8d8d;
190
+      display: flex;
191
+      align-items: center;
192
+      justify-content: space-around;
193
+    }
194
+  }
195
+  .adviceBox {
196
+    padding: 0 1.125rem;
197
+    margin-bottom: 3.125rem;
198
+  }
199
+  .adviceOne {
200
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
201
+    padding-bottom: 0.625rem;
202
+  }
203
+  .adviceTitle {
204
+    padding-top: 0.625rem;
205
+    display: flex;
206
+    align-items: center;
207
+    justify-content: space-between;
208
+    p {
209
+      color: #000000;
210
+      font-weight: bold;
211
+      font-size: 0.9375rem;
212
+    }
213
+    .ellipsis {
214
+      font-size: 1.25rem;
215
+      color: #cccccc;
216
+    }
217
+  }
218
+  .statOrderTitle {
219
+    color: #5b98ff;
220
+    font-size: 0.8125rem;
221
+    font-weight: bold;
222
+    margin: 0.625rem 0;
223
+  }
224
+  .longOrderTitle {
225
+    color: #ff964a;
226
+    font-size: 0.8125rem;
227
+    font-weight: bold;
228
+    margin: 0.625rem 0;
229
+  }
230
+  .orderContent {
231
+    font-size: 0.875rem;
232
+    color: rgba(49, 50, 52, 1);
233
+    p {
234
+      line-height: 1.125rem;
235
+    }
236
+  }
237
+  .doctorBox {
238
+    font-size: 0.75rem;
239
+    color: rgba(152, 152, 152, 1);
240
+    line-height: 1.125rem;
241
+    display: flex;
242
+    align-items: center;
243
+    justify-content: space-between;
244
+    margin-top: 0.625rem;
245
+  }
246
+  .all {
247
+    font-size: 0.8125rem;
248
+    color: #5b98ff;
249
+    margin-top: 0.625rem;
250
+  }
251
+  .add {
252
+    position: fixed;
253
+    bottom: 0;
254
+    left: 0;
255
+    width: 100%;
256
+    height: 2.75rem;
257
+    background: rgba(255, 255, 255, 1);
258
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
259
+    display: flex;
260
+    align-items: center;
261
+    justify-content: space-around;
262
+    font-size: 0.9375rem;
263
+    color: #979798;
264
+    .addIcon {
265
+      color: #5b98ff;
266
+      font-size: 1.25rem;
267
+      margin-right: 0.25rem;
268
+    }
269
+  }
270
+}
271
+::-webkit-scrollbar {
272
+  width: 0;
273
+}
274
+</style>

+ 236 - 0
src/kpa_pages/doctorAdvice/components/DryWeight.vue View File

@@ -0,0 +1,236 @@
1
+<template>
2
+  <div class="DryWeight">
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">
19
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
20
+          <div class="adviceOne" v-for="item in 3" :key="index">
21
+            <div class="adviceTitle">
22
+              <p>2019.09.01</p>
23
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
24
+            </div>
25
+            <div class="statOrder">
26
+              <div class="weightContent">
27
+                <p>干体重:51kg</p>
28
+                <p>上调:0.5kg</p>
29
+              </div>
30
+              <div class="doctorBox">
31
+                <p>记录医生:钱蛮子</p>
32
+              </div>
33
+              <div class="all">全部</div>
34
+            </div>
35
+          </div>
36
+        </van-list>
37
+      </div>
38
+    </div>
39
+    <div class="add">
40
+      <div style="display: flex;align-items: center;">
41
+        <van-icon class="addIcon" name="add" />新增
42
+      </div>
43
+    </div>
44
+
45
+    <!-- 弹出层 -->
46
+    <div>
47
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
48
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
49
+      </van-popup>
50
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
51
+        <van-datetime-picker
52
+          v-model="currentDate"
53
+          type="date"
54
+          :min-date="minDate"
55
+          :max-date="maxDate"
56
+          @confirm="getstartTime"
57
+          @cancel="startShow = false"
58
+        />
59
+      </van-popup>
60
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
61
+        <van-datetime-picker
62
+          v-model="currentDate"
63
+          type="date"
64
+          :min-date="minDate"
65
+          :max-date="maxDate"
66
+          @confirm="getstartTime2"
67
+          @cancel="endShow = false"
68
+        />
69
+      </van-popup>
70
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
71
+    </div>
72
+  </div>
73
+</template>
74
+
75
+<script>
76
+export default {
77
+  data() {
78
+    return {
79
+      newShow: false,
80
+      startShow: false,
81
+      endShow: false,
82
+      startTime: "请选择",
83
+      endTime: "请选择",
84
+      minDate: new Date(1970, 0, 1),
85
+      maxDate: new Date(2025, 10, 1),
86
+      currentDate: new Date(),
87
+      actions: [{ name: "编辑" }, { name: "删除" }]
88
+    };
89
+  },
90
+  methods: {
91
+    onCancel() {
92
+      this.typeShow = false;
93
+    },
94
+    onConfirm(value) {
95
+      this.type = value;
96
+      this.typeShow = false;
97
+    },
98
+    getstartTime(value) {
99
+      console.log(value);
100
+      let year = value.getFullYear();
101
+      let month = value.getMonth() + 1;
102
+      let day = value.getDate();
103
+      if (month >= 1 && month <= 9) {
104
+        month = `0${month}`;
105
+      }
106
+      if (day >= 1 && day <= 9) {
107
+        day = `0${day}`;
108
+      }
109
+
110
+      this.startTime = `${year}-${month}-${day}`;
111
+      this.startShow = false;
112
+    },
113
+    getstartTime2(value) {
114
+      console.log(value);
115
+      let year = value.getFullYear();
116
+      let month = value.getMonth() + 1;
117
+      let day = value.getDate();
118
+      if (month >= 1 && month <= 9) {
119
+        month = `0${month}`;
120
+      }
121
+      if (day >= 1 && day <= 9) {
122
+        day = `0${day}`;
123
+      }
124
+
125
+      this.endTime = `${year}-${month}-${day}`;
126
+      this.endShow = false;
127
+    }
128
+  }
129
+};
130
+</script>
131
+
132
+<style lang="scss" scoped>
133
+.DryWeight {
134
+  height: 100%;
135
+  overflow-y: auto;
136
+  .toolBox {
137
+    display: flex;
138
+    height: 3.125rem;
139
+    align-items: center;
140
+    .toolOne {
141
+      width: 5.625rem;
142
+      height: 1.875rem;
143
+      background: rgba(246, 246, 246, 1);
144
+      border-radius: 5px;
145
+      text-align: center;
146
+      font-size: 0.8125rem;
147
+      color: #8d8d8d;
148
+      display: flex;
149
+      align-items: center;
150
+      justify-content: space-around;
151
+      margin-left: 1.25rem;
152
+    }
153
+  }
154
+  .adviceBox {
155
+    padding: 0 1.125rem;
156
+    margin-bottom: 3.125rem;
157
+  }
158
+  .adviceOne {
159
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
160
+    padding-bottom: 0.625rem;
161
+  }
162
+  .adviceTitle {
163
+    padding-top: 0.625rem;
164
+    display: flex;
165
+    align-items: center;
166
+    justify-content: space-between;
167
+    p {
168
+      color: #000000;
169
+      font-weight: bold;
170
+      font-size: 0.9375rem;
171
+    }
172
+    .ellipsis {
173
+      font-size: 1.25rem;
174
+      color: #cccccc;
175
+    }
176
+  }
177
+  .statOrderTitle {
178
+    color: #5b98ff;
179
+    font-size: 0.8125rem;
180
+    font-weight: bold;
181
+    margin: 0.625rem 0;
182
+  }
183
+  .longOrderTitle {
184
+    color: #ff964a;
185
+    font-size: 0.8125rem;
186
+    font-weight: bold;
187
+    margin: 0.625rem 0;
188
+  }
189
+  .weightContent {
190
+    font-size: 0.875rem;
191
+    color: rgba(49, 50, 52, 1);
192
+    display: flex;
193
+    p {
194
+      line-height: 1.125rem;
195
+      margin-right: 0.625rem;
196
+      margin-top: 0.375rem;
197
+    }
198
+  }
199
+  .doctorBox {
200
+    font-size: 0.75rem;
201
+    color: rgba(152, 152, 152, 1);
202
+    line-height: 1.125rem;
203
+    display: flex;
204
+    align-items: center;
205
+    justify-content: space-between;
206
+    margin-top: 0.625rem;
207
+  }
208
+  .all {
209
+    font-size: 0.8125rem;
210
+    color: #5b98ff;
211
+    margin-top: 0.625rem;
212
+  }
213
+  .add {
214
+    position: fixed;
215
+    bottom: 0;
216
+    left: 0;
217
+    width: 100%;
218
+    height: 2.75rem;
219
+    background: rgba(255, 255, 255, 1);
220
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
221
+    display: flex;
222
+    align-items: center;
223
+    justify-content: space-around;
224
+    font-size: 0.9375rem;
225
+    color: #979798;
226
+    .addIcon {
227
+      color: #5b98ff;
228
+      font-size: 1.25rem;
229
+      margin-right: 0.25rem;
230
+    }
231
+  }
232
+}
233
+::-webkit-scrollbar {
234
+  width: 0;
235
+}
236
+</style>

+ 241 - 0
src/kpa_pages/doctorAdvice/components/Education.vue View File

@@ -0,0 +1,241 @@
1
+<template>
2
+  <div class="education">
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">
19
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
20
+          <div class="adviceOne" v-for="item in 3" :key="index">
21
+            <div class="adviceTitle">
22
+              <p>2019.09.01</p>
23
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
24
+            </div>
25
+            <div class="statOrder">
26
+              <div class="statOrderTitle">
27
+                <span>宣教标题</span>
28
+              </div>
29
+              <div class="orderContent">
30
+                <p>
31
+                  病历书写基本规范2010》第二十二条规定:“病程记录
32
+                  是指继入院记录之后,对患者病情和诊疗过程所进行的
33
+                  连续性记录。内容包括患病历书写基本规范2010》第二十二条规定:“病程记录
34
+                  是指继入院记录之后,对患者病情和诊疗过程所进行的
35
+                  连续性记录。内容包括患
36
+                </p>
37
+              </div>
38
+              <div class="doctorBox">
39
+                <p>记录医生:钱蛮子</p>
40
+              </div>
41
+            </div>
42
+            <div class="all">全部</div>
43
+          </div>
44
+        </van-list>
45
+      </div>
46
+    </div>
47
+    <div class="add">
48
+      <div style="display: flex;align-items: center;">
49
+        <van-icon class="addIcon" name="add" />新增
50
+      </div>
51
+    </div>
52
+
53
+    <!-- 弹出层 -->
54
+    <div>
55
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
56
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
57
+      </van-popup>
58
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
59
+        <van-datetime-picker
60
+          v-model="currentDate"
61
+          type="date"
62
+          :min-date="minDate"
63
+          :max-date="maxDate"
64
+          @confirm="getstartTime"
65
+          @cancel="startShow = false"
66
+        />
67
+      </van-popup>
68
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
69
+        <van-datetime-picker
70
+          v-model="currentDate"
71
+          type="date"
72
+          :min-date="minDate"
73
+          :max-date="maxDate"
74
+          @confirm="getstartTime2"
75
+          @cancel="endShow = false"
76
+        />
77
+      </van-popup>
78
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
79
+    </div>
80
+  </div>
81
+</template>
82
+
83
+<script>
84
+export default {
85
+  data() {
86
+    return {
87
+      newShow: false,
88
+      startShow: false,
89
+      endShow: false,
90
+      startTime: "请选择",
91
+      endTime: "请选择",
92
+      minDate: new Date(1970, 0, 1),
93
+      maxDate: new Date(2025, 10, 1),
94
+      currentDate: new Date(),
95
+      actions: [{ name: "编辑" }, { name: "删除" }]
96
+    };
97
+  },
98
+  methods: {
99
+    onCancel() {
100
+      this.typeShow = false;
101
+    },
102
+    onConfirm(value) {
103
+      this.type = value;
104
+      this.typeShow = false;
105
+    },
106
+    getstartTime(value) {
107
+      console.log(value);
108
+      let year = value.getFullYear();
109
+      let month = value.getMonth() + 1;
110
+      let day = value.getDate();
111
+      if (month >= 1 && month <= 9) {
112
+        month = `0${month}`;
113
+      }
114
+      if (day >= 1 && day <= 9) {
115
+        day = `0${day}`;
116
+      }
117
+
118
+      this.startTime = `${year}-${month}-${day}`;
119
+      this.startShow = false;
120
+    },
121
+    getstartTime2(value) {
122
+      console.log(value);
123
+      let year = value.getFullYear();
124
+      let month = value.getMonth() + 1;
125
+      let day = value.getDate();
126
+      if (month >= 1 && month <= 9) {
127
+        month = `0${month}`;
128
+      }
129
+      if (day >= 1 && day <= 9) {
130
+        day = `0${day}`;
131
+      }
132
+
133
+      this.endTime = `${year}-${month}-${day}`;
134
+      this.endShow = false;
135
+    }
136
+  }
137
+};
138
+</script>
139
+
140
+<style lang="scss" scoped>
141
+.education {
142
+  height: 100%;
143
+  overflow-y: auto;
144
+  .toolBox {
145
+    display: flex;
146
+    height: 3.125rem;
147
+    align-items: center;
148
+    .toolOne {
149
+      width: 5.625rem;
150
+      height: 1.875rem;
151
+      background: rgba(246, 246, 246, 1);
152
+      border-radius: 5px;
153
+      text-align: center;
154
+      font-size: 0.8125rem;
155
+      color: #8d8d8d;
156
+      display: flex;
157
+      align-items: center;
158
+      justify-content: space-around;
159
+      margin-left: 1.25rem;
160
+    }
161
+  }
162
+  .adviceBox {
163
+    padding: 0 1.125rem;
164
+    margin-bottom: 3.125rem;
165
+  }
166
+  .adviceOne {
167
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
168
+    padding-bottom: 0.625rem;
169
+  }
170
+  .adviceTitle {
171
+    padding-top: 0.625rem;
172
+    display: flex;
173
+    align-items: center;
174
+    justify-content: space-between;
175
+    p {
176
+      color: #000000;
177
+      font-weight: bold;
178
+      font-size: 0.9375rem;
179
+    }
180
+    .ellipsis {
181
+      font-size: 1.25rem;
182
+      color: #cccccc;
183
+    }
184
+  }
185
+  .statOrderTitle {
186
+    color: #5b98ff;
187
+    font-size: 0.8125rem;
188
+    font-weight: bold;
189
+    margin: 0.625rem 0;
190
+  }
191
+  .longOrderTitle {
192
+    color: #ff964a;
193
+    font-size: 0.8125rem;
194
+    font-weight: bold;
195
+    margin: 0.625rem 0;
196
+  }
197
+  .orderContent {
198
+    font-size: 0.875rem;
199
+    color: rgba(49, 50, 52, 1);
200
+    p {
201
+      line-height: 1.125rem;
202
+    }
203
+  }
204
+  .doctorBox {
205
+    font-size: 0.75rem;
206
+    color: rgba(152, 152, 152, 1);
207
+    line-height: 1.125rem;
208
+    display: flex;
209
+    align-items: center;
210
+    justify-content: space-between;
211
+    margin-top: 0.625rem;
212
+  }
213
+  .all {
214
+    font-size: 0.8125rem;
215
+    color: #5b98ff;
216
+    margin-top: 0.625rem;
217
+  }
218
+  .add {
219
+    position: fixed;
220
+    bottom: 0;
221
+    left: 0;
222
+    width: 100%;
223
+    height: 2.75rem;
224
+    background: rgba(255, 255, 255, 1);
225
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
226
+    display: flex;
227
+    align-items: center;
228
+    justify-content: space-around;
229
+    font-size: 0.9375rem;
230
+    color: #979798;
231
+    .addIcon {
232
+      color: #5b98ff;
233
+      font-size: 1.25rem;
234
+      margin-right: 0.25rem;
235
+    }
236
+  }
237
+}
238
+::-webkit-scrollbar {
239
+  width: 0;
240
+}
241
+</style>

+ 239 - 0
src/kpa_pages/doctorAdvice/components/Inspection.vue View File

@@ -0,0 +1,239 @@
1
+<template>
2
+  <div class="inspection">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="typeShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ type }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="startShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ startTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+        <div class="toolOne" @click="endShow = true">
18
+          <div style="display: flex;align-items: center;">
19
+            {{ endTime }}
20
+            <van-icon name="arrow-down" />
21
+          </div>
22
+        </div>
23
+      </div>
24
+      <div class="adviceBox">
25
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
26
+          <div class="adviceOne" v-for="item in 3" :key="index">
27
+            <div class="adviceTitle">
28
+              <p>2019.09.01</p>
29
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
30
+            </div>
31
+            <div class="orderContent">
32
+              <p>血常规</p>
33
+              <p>肝功能</p>
34
+              <p>凝血七项</p>
35
+              <p>肾功能</p>
36
+            </div>
37
+            <div class="all">全部</div>
38
+          </div>
39
+        </van-list>
40
+      </div>
41
+    </div>
42
+    <div class="add">
43
+      <div style="display: flex;align-items: center;">
44
+        <van-icon class="addIcon" name="add" />新增
45
+      </div>
46
+    </div>
47
+
48
+    <!-- 弹出层 -->
49
+    <div>
50
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
51
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
52
+      </van-popup>
53
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
54
+        <van-datetime-picker
55
+          v-model="currentDate"
56
+          type="date"
57
+          :min-date="minDate"
58
+          :max-date="maxDate"
59
+          @confirm="getstartTime"
60
+          @cancel="startShow = false"
61
+        />
62
+      </van-popup>
63
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
64
+        <van-datetime-picker
65
+          v-model="currentDate"
66
+          type="date"
67
+          :min-date="minDate"
68
+          :max-date="maxDate"
69
+          @confirm="getstartTime2"
70
+          @cancel="endShow = false"
71
+        />
72
+      </van-popup>
73
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
74
+    </div>
75
+  </div>
76
+</template>
77
+
78
+<script>
79
+export default {
80
+  data() {
81
+    return {
82
+      newShow: false,
83
+      typeShow: false,
84
+      startShow: false,
85
+      endShow: false,
86
+      type: "请选择",
87
+      columns: [
88
+        "杭州",
89
+        "宁波",
90
+        "温州",
91
+        "嘉兴",
92
+        "湖州",
93
+        "杭州",
94
+        "宁波",
95
+        "温州",
96
+        "嘉兴",
97
+        "湖州"
98
+      ],
99
+      startTime: "请选择",
100
+      endTime: "请选择",
101
+      minDate: new Date(1970, 0, 1),
102
+      maxDate: new Date(2025, 10, 1),
103
+      currentDate: new Date(),
104
+      actions: [{ name: "编辑" }, { name: "删除" }]
105
+    };
106
+  },
107
+  methods: {
108
+    onCancel() {
109
+      this.typeShow = false;
110
+    },
111
+    onConfirm(value) {
112
+      this.type = value;
113
+      this.typeShow = false;
114
+    },
115
+    getstartTime(value) {
116
+      console.log(value);
117
+      let year = value.getFullYear();
118
+      let month = value.getMonth() + 1;
119
+      let day = value.getDate();
120
+      if (month >= 1 && month <= 9) {
121
+        month = `0${month}`;
122
+      }
123
+      if (day >= 1 && day <= 9) {
124
+        day = `0${day}`;
125
+      }
126
+
127
+      this.startTime = `${year}-${month}-${day}`;
128
+      this.startShow = false;
129
+    },
130
+    getstartTime2(value) {
131
+      console.log(value);
132
+      let year = value.getFullYear();
133
+      let month = value.getMonth() + 1;
134
+      let day = value.getDate();
135
+      if (month >= 1 && month <= 9) {
136
+        month = `0${month}`;
137
+      }
138
+      if (day >= 1 && day <= 9) {
139
+        day = `0${day}`;
140
+      }
141
+
142
+      this.endTime = `${year}-${month}-${day}`;
143
+      this.endShow = false;
144
+    }
145
+  }
146
+};
147
+</script>
148
+
149
+<style lang="scss" scoped>
150
+.inspection {
151
+  height: 100%;
152
+  overflow-y: auto;
153
+  .toolBox {
154
+    display: flex;
155
+    height: 3.125rem;
156
+    justify-content: space-around;
157
+    align-items: center;
158
+    .toolOne {
159
+      width: 5.625rem;
160
+      height: 1.875rem;
161
+      background: rgba(246, 246, 246, 1);
162
+      border-radius: 5px;
163
+      text-align: center;
164
+      font-size: 0.8125rem;
165
+      color: #8d8d8d;
166
+      display: flex;
167
+      align-items: center;
168
+      justify-content: space-around;
169
+    }
170
+  }
171
+  .adviceBox {
172
+    padding: 0 1.125rem;
173
+    margin-bottom: 3.125rem;
174
+  }
175
+  .adviceOne {
176
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
177
+    padding-bottom: 0.625rem;
178
+  }
179
+  .adviceTitle {
180
+    padding-top: 0.625rem;
181
+    display: flex;
182
+    align-items: center;
183
+    justify-content: space-between;
184
+    p {
185
+      color: #000000;
186
+      font-weight: bold;
187
+      font-size: 0.9375rem;
188
+    }
189
+    .ellipsis {
190
+      font-size: 1.25rem;
191
+      color: #cccccc;
192
+    }
193
+  }
194
+  .orderContent {
195
+    font-size: 0.875rem;
196
+    color: rgba(49, 50, 52, 1);
197
+    margin-top: 0.625rem;
198
+    p {
199
+      line-height: 1.25rem;
200
+    }
201
+  }
202
+  .doctorBox {
203
+    font-size: 0.75rem;
204
+    color: rgba(152, 152, 152, 1);
205
+    line-height: 1.125rem;
206
+    display: flex;
207
+    align-items: center;
208
+    justify-content: space-between;
209
+    margin-top: 0.625rem;
210
+  }
211
+  .all {
212
+    font-size: 0.8125rem;
213
+    color: #5b98ff;
214
+    margin-top: 0.625rem;
215
+  }
216
+  .add {
217
+    position: fixed;
218
+    bottom: 0;
219
+    left: 0;
220
+    width: 100%;
221
+    height: 2.75rem;
222
+    background: rgba(255, 255, 255, 1);
223
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
224
+    display: flex;
225
+    align-items: center;
226
+    justify-content: space-around;
227
+    font-size: 0.9375rem;
228
+    color: #979798;
229
+    .addIcon {
230
+      color: #5b98ff;
231
+      font-size: 1.25rem;
232
+      margin-right: 0.25rem;
233
+    }
234
+  }
235
+}
236
+::-webkit-scrollbar {
237
+  width: 0;
238
+}
239
+</style>

+ 246 - 0
src/kpa_pages/doctorAdvice/components/LongDialysis.vue View File

@@ -0,0 +1,246 @@
1
+<template>
2
+  <div class="longDialysis">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="typeShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ type }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="startShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ startTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+        <div class="toolOne" @click="endShow = true">
18
+          <div style="display: flex;align-items: center;">
19
+            {{ endTime }}
20
+            <van-icon name="arrow-down" />
21
+          </div>
22
+        </div>
23
+      </div>
24
+      <div class="adviceBox">
25
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
26
+          <div class="adviceOne" v-for="item in 3" :key="index">
27
+            <div class="adviceTitle">
28
+              <p>2019.09.01</p>
29
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
30
+            </div>
31
+            <div class="orderContent">
32
+              <p>透析模式:HD</p>
33
+              <p>透析时长(h/min):2h30min</p>
34
+              <p>血流量(ml/min):12</p>
35
+              <p>目标超滤量(ml):1200ml</p>
36
+              <p>透析配方:1200ml</p>
37
+              <p>抗凝剂:1200ml</p>
38
+              <p>首剂(mg):1200ml</p>
39
+              <p>维持(mg/h):1200ml</p>
40
+            </div>
41
+            <div class="all">全部</div>
42
+          </div>
43
+        </van-list>
44
+      </div>
45
+    </div>
46
+    <div class="add">
47
+      <div style="display: flex;align-items: center;">
48
+        <van-icon class="addIcon" name="add" />新增
49
+      </div>
50
+    </div>
51
+
52
+    <!-- 弹出层 -->
53
+    <div>
54
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
55
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
56
+      </van-popup>
57
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
58
+        <van-datetime-picker
59
+          v-model="currentDate"
60
+          type="date"
61
+          :min-date="minDate"
62
+          :max-date="maxDate"
63
+          @confirm="getstartTime"
64
+          @cancel="startShow = false"
65
+        />
66
+      </van-popup>
67
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
68
+        <van-datetime-picker
69
+          v-model="currentDate"
70
+          type="date"
71
+          :min-date="minDate"
72
+          :max-date="maxDate"
73
+          @confirm="getstartTime2"
74
+          @cancel="endShow = false"
75
+        />
76
+      </van-popup>
77
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
78
+    </div>
79
+  </div>
80
+</template>
81
+
82
+<script>
83
+export default {
84
+  data() {
85
+    return {
86
+      newShow: false,
87
+      typeShow: false,
88
+      startShow: false,
89
+      endShow: false,
90
+      type: "请选择",
91
+      columns: [
92
+        "杭州",
93
+        "宁波",
94
+        "温州",
95
+        "嘉兴",
96
+        "湖州",
97
+        "杭州",
98
+        "宁波",
99
+        "温州",
100
+        "嘉兴",
101
+        "湖州"
102
+      ],
103
+      startTime: "请选择",
104
+      endTime: "请选择",
105
+      minDate: new Date(1970, 0, 1),
106
+      maxDate: new Date(2025, 10, 1),
107
+      currentDate: new Date(),
108
+      actions: [{ name: "编辑" }, { name: "删除" }]
109
+    };
110
+  },
111
+  methods: {
112
+    onCancel() {
113
+      this.typeShow = false;
114
+    },
115
+    onConfirm(value) {
116
+      this.type = value;
117
+      this.typeShow = false;
118
+    },
119
+    getstartTime(value) {
120
+      console.log(value);
121
+      let year = value.getFullYear();
122
+      let month = value.getMonth() + 1;
123
+      let day = value.getDate();
124
+      if (month >= 1 && month <= 9) {
125
+        month = `0${month}`;
126
+      }
127
+      if (day >= 1 && day <= 9) {
128
+        day = `0${day}`;
129
+      }
130
+
131
+      this.startTime = `${year}-${month}-${day}`;
132
+      this.startShow = false;
133
+    },
134
+    getstartTime2(value) {
135
+      console.log(value);
136
+      let year = value.getFullYear();
137
+      let month = value.getMonth() + 1;
138
+      let day = value.getDate();
139
+      if (month >= 1 && month <= 9) {
140
+        month = `0${month}`;
141
+      }
142
+      if (day >= 1 && day <= 9) {
143
+        day = `0${day}`;
144
+      }
145
+
146
+      this.endTime = `${year}-${month}-${day}`;
147
+      this.endShow = false;
148
+    }
149
+  }
150
+};
151
+</script>
152
+
153
+<style lang="scss" scoped>
154
+.longDialysis {
155
+  height: 100%;
156
+  overflow-y: auto;
157
+  .toolBox {
158
+    display: flex;
159
+    height: 3.125rem;
160
+    justify-content: space-around;
161
+    align-items: center;
162
+    .toolOne {
163
+      width: 5.625rem;
164
+      height: 1.875rem;
165
+      background: rgba(246, 246, 246, 1);
166
+      border-radius: 5px;
167
+      text-align: center;
168
+      font-size: 0.8125rem;
169
+      color: #8d8d8d;
170
+      display: flex;
171
+      align-items: center;
172
+      justify-content: space-around;
173
+    }
174
+  }
175
+  .adviceBox {
176
+    padding: 0 1.125rem;
177
+    margin-bottom: 3.125rem;
178
+  }
179
+  .adviceOne {
180
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
181
+    padding-bottom: 0.625rem;
182
+  }
183
+  .adviceTitle {
184
+    padding-top: 0.625rem;
185
+    display: flex;
186
+    align-items: center;
187
+    justify-content: space-between;
188
+    p {
189
+      color: #000000;
190
+      font-weight: bold;
191
+      font-size: 0.9375rem;
192
+    }
193
+    .ellipsis {
194
+      font-size: 1.25rem;
195
+      color: #cccccc;
196
+    }
197
+  }
198
+  .orderContent {
199
+    font-size: 0.875rem;
200
+    color: rgba(49, 50, 52, 1);
201
+    margin-top: 0.625rem;
202
+    display: flex;
203
+    flex-wrap: wrap;
204
+    p {
205
+      line-height: 1.5rem;
206
+      width: 50%;
207
+    }
208
+  }
209
+  .doctorBox {
210
+    font-size: 0.75rem;
211
+    color: rgba(152, 152, 152, 1);
212
+    line-height: 1.125rem;
213
+    display: flex;
214
+    align-items: center;
215
+    justify-content: space-between;
216
+    margin-top: 0.625rem;
217
+  }
218
+  .all {
219
+    font-size: 0.8125rem;
220
+    color: #5b98ff;
221
+    margin-top: 0.625rem;
222
+  }
223
+  .add {
224
+    position: fixed;
225
+    bottom: 0;
226
+    left: 0;
227
+    width: 100%;
228
+    height: 2.75rem;
229
+    background: rgba(255, 255, 255, 1);
230
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
231
+    display: flex;
232
+    align-items: center;
233
+    justify-content: space-around;
234
+    font-size: 0.9375rem;
235
+    color: #979798;
236
+    .addIcon {
237
+      color: #5b98ff;
238
+      font-size: 1.25rem;
239
+      margin-right: 0.25rem;
240
+    }
241
+  }
242
+}
243
+::-webkit-scrollbar {
244
+  width: 0;
245
+}
246
+</style>

+ 241 - 0
src/kpa_pages/doctorAdvice/components/RescueRecord.vue View File

@@ -0,0 +1,241 @@
1
+<template>
2
+  <div class="rescueRecord">
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">
19
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
20
+          <div class="adviceOne" v-for="item in 3" :key="index">
21
+            <div class="adviceTitle">
22
+              <p>2019.09.01</p>
23
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
24
+            </div>
25
+            <div class="statOrder">
26
+              <div class="statOrderTitle">
27
+                <span>抢救标题</span>
28
+              </div>
29
+              <div class="orderContent">
30
+                <p>
31
+                  病历书写基本规范2010》第二十二条规定:“病程记录
32
+                  是指继入院记录之后,对患者病情和诊疗过程所进行的
33
+                  连续性记录。内容包括患病历书写基本规范2010》第二十二条规定:“病程记录
34
+                  是指继入院记录之后,对患者病情和诊疗过程所进行的
35
+                  连续性记录。内容包括患
36
+                </p>
37
+              </div>
38
+              <div class="doctorBox">
39
+                <p>记录医生:钱蛮子</p>
40
+              </div>
41
+            </div>
42
+            <div class="all">全部</div>
43
+          </div>
44
+        </van-list>
45
+      </div>
46
+    </div>
47
+    <div class="add">
48
+      <div style="display: flex;align-items: center;">
49
+        <van-icon class="addIcon" name="add" />新增
50
+      </div>
51
+    </div>
52
+
53
+    <!-- 弹出层 -->
54
+    <div>
55
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
56
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
57
+      </van-popup>
58
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
59
+        <van-datetime-picker
60
+          v-model="currentDate"
61
+          type="date"
62
+          :min-date="minDate"
63
+          :max-date="maxDate"
64
+          @confirm="getstartTime"
65
+          @cancel="startShow = false"
66
+        />
67
+      </van-popup>
68
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
69
+        <van-datetime-picker
70
+          v-model="currentDate"
71
+          type="date"
72
+          :min-date="minDate"
73
+          :max-date="maxDate"
74
+          @confirm="getstartTime2"
75
+          @cancel="endShow = false"
76
+        />
77
+      </van-popup>
78
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
79
+    </div>
80
+  </div>
81
+</template>
82
+
83
+<script>
84
+export default {
85
+  data() {
86
+    return {
87
+      newShow: false,
88
+      startShow: false,
89
+      endShow: false,
90
+      startTime: "请选择",
91
+      endTime: "请选择",
92
+      minDate: new Date(1970, 0, 1),
93
+      maxDate: new Date(2025, 10, 1),
94
+      currentDate: new Date(),
95
+      actions: [{ name: "编辑" }, { name: "删除" }]
96
+    };
97
+  },
98
+  methods: {
99
+    onCancel() {
100
+      this.typeShow = false;
101
+    },
102
+    onConfirm(value) {
103
+      this.type = value;
104
+      this.typeShow = false;
105
+    },
106
+    getstartTime(value) {
107
+      console.log(value);
108
+      let year = value.getFullYear();
109
+      let month = value.getMonth() + 1;
110
+      let day = value.getDate();
111
+      if (month >= 1 && month <= 9) {
112
+        month = `0${month}`;
113
+      }
114
+      if (day >= 1 && day <= 9) {
115
+        day = `0${day}`;
116
+      }
117
+
118
+      this.startTime = `${year}-${month}-${day}`;
119
+      this.startShow = false;
120
+    },
121
+    getstartTime2(value) {
122
+      console.log(value);
123
+      let year = value.getFullYear();
124
+      let month = value.getMonth() + 1;
125
+      let day = value.getDate();
126
+      if (month >= 1 && month <= 9) {
127
+        month = `0${month}`;
128
+      }
129
+      if (day >= 1 && day <= 9) {
130
+        day = `0${day}`;
131
+      }
132
+
133
+      this.endTime = `${year}-${month}-${day}`;
134
+      this.endShow = false;
135
+    }
136
+  }
137
+};
138
+</script>
139
+
140
+<style lang="scss" scoped>
141
+.rescueRecord {
142
+  height: 100%;
143
+  overflow-y: auto;
144
+  .toolBox {
145
+    display: flex;
146
+    height: 3.125rem;
147
+    align-items: center;
148
+    .toolOne {
149
+      width: 5.625rem;
150
+      height: 1.875rem;
151
+      background: rgba(246, 246, 246, 1);
152
+      border-radius: 5px;
153
+      text-align: center;
154
+      font-size: 0.8125rem;
155
+      color: #8d8d8d;
156
+      display: flex;
157
+      align-items: center;
158
+      justify-content: space-around;
159
+      margin-left: 1.25rem;
160
+    }
161
+  }
162
+  .adviceBox {
163
+    padding: 0 1.125rem;
164
+    margin-bottom: 3.125rem;
165
+  }
166
+  .adviceOne {
167
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
168
+    padding-bottom: 0.625rem;
169
+  }
170
+  .adviceTitle {
171
+    padding-top: 0.625rem;
172
+    display: flex;
173
+    align-items: center;
174
+    justify-content: space-between;
175
+    p {
176
+      color: #000000;
177
+      font-weight: bold;
178
+      font-size: 0.9375rem;
179
+    }
180
+    .ellipsis {
181
+      font-size: 1.25rem;
182
+      color: #cccccc;
183
+    }
184
+  }
185
+  .statOrderTitle {
186
+    color: #5b98ff;
187
+    font-size: 0.8125rem;
188
+    font-weight: bold;
189
+    margin: 0.625rem 0;
190
+  }
191
+  .longOrderTitle {
192
+    color: #ff964a;
193
+    font-size: 0.8125rem;
194
+    font-weight: bold;
195
+    margin: 0.625rem 0;
196
+  }
197
+  .orderContent {
198
+    font-size: 0.875rem;
199
+    color: rgba(49, 50, 52, 1);
200
+    p {
201
+      line-height: 1.125rem;
202
+    }
203
+  }
204
+  .doctorBox {
205
+    font-size: 0.75rem;
206
+    color: rgba(152, 152, 152, 1);
207
+    line-height: 1.125rem;
208
+    display: flex;
209
+    align-items: center;
210
+    justify-content: space-between;
211
+    margin-top: 0.625rem;
212
+  }
213
+  .all {
214
+    font-size: 0.8125rem;
215
+    color: #5b98ff;
216
+    margin-top: 0.625rem;
217
+  }
218
+  .add {
219
+    position: fixed;
220
+    bottom: 0;
221
+    left: 0;
222
+    width: 100%;
223
+    height: 2.75rem;
224
+    background: rgba(255, 255, 255, 1);
225
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
226
+    display: flex;
227
+    align-items: center;
228
+    justify-content: space-around;
229
+    font-size: 0.9375rem;
230
+    color: #979798;
231
+    .addIcon {
232
+      color: #5b98ff;
233
+      font-size: 1.25rem;
234
+      margin-right: 0.25rem;
235
+    }
236
+  }
237
+}
238
+::-webkit-scrollbar {
239
+  width: 0;
240
+}
241
+</style>

+ 242 - 0
src/kpa_pages/doctorAdvice/components/Scheduling.vue View File

@@ -0,0 +1,242 @@
1
+<template>
2
+  <div class="scheduling">
3
+    <div>
4
+      <div class="toolBox">
5
+        <div class="toolOne" @click="typeShow = true">
6
+          <div style="display: flex;align-items: center;">
7
+            {{ type }}
8
+            <van-icon name="arrow-down" />
9
+          </div>
10
+        </div>
11
+        <div class="toolOne" @click="startShow = true">
12
+          <div style="display: flex;align-items: center;">
13
+            {{ startTime }}
14
+            <van-icon name="arrow-down" />
15
+          </div>
16
+        </div>
17
+        <div class="toolOne" @click="endShow = true">
18
+          <div style="display: flex;align-items: center;">
19
+            {{ endTime }}
20
+            <van-icon name="arrow-down" />
21
+          </div>
22
+        </div>
23
+      </div>
24
+      <div class="adviceBox">
25
+        <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
26
+          <div class="adviceOne" v-for="item in 3" :key="index">
27
+            <div class="adviceTitle">
28
+              <p>2019.09.01</p>
29
+              <van-icon class="ellipsis" name="ellipsis" @click="newShow = true" />
30
+            </div>
31
+            <div class="orderContent">
32
+              <p>班次:HD</p>
33
+              <p>分区:2h30min</p>
34
+              <p>机号:12</p>
35
+              <p>治疗模式:1200ml</p>
36
+            </div>
37
+            <div class="all">全部</div>
38
+          </div>
39
+        </van-list>
40
+      </div>
41
+    </div>
42
+    <div class="add">
43
+      <div style="display: flex;align-items: center;">
44
+        <van-icon class="addIcon" name="add" />新增
45
+      </div>
46
+    </div>
47
+
48
+    <!-- 弹出层 -->
49
+    <div>
50
+      <van-popup v-model="typeShow" position="bottom" :style="{ height: '40%' }">
51
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
52
+      </van-popup>
53
+      <van-popup v-model="startShow" position="bottom" :style="{ height: '40%' }">
54
+        <van-datetime-picker
55
+          v-model="currentDate"
56
+          type="date"
57
+          :min-date="minDate"
58
+          :max-date="maxDate"
59
+          @confirm="getstartTime"
60
+          @cancel="startShow = false"
61
+        />
62
+      </van-popup>
63
+      <van-popup v-model="endShow" position="bottom" :style="{ height: '40%' }">
64
+        <van-datetime-picker
65
+          v-model="currentDate"
66
+          type="date"
67
+          :min-date="minDate"
68
+          :max-date="maxDate"
69
+          @confirm="getstartTime2"
70
+          @cancel="endShow = false"
71
+        />
72
+      </van-popup>
73
+      <van-action-sheet v-model="newShow" :actions="actions" cancel-text="取消" @cancel="onCancel" />
74
+    </div>
75
+  </div>
76
+</template>
77
+
78
+<script>
79
+export default {
80
+  data() {
81
+    return {
82
+      newShow: false,
83
+      typeShow: false,
84
+      startShow: false,
85
+      endShow: false,
86
+      type: "请选择",
87
+      columns: [
88
+        "杭州",
89
+        "宁波",
90
+        "温州",
91
+        "嘉兴",
92
+        "湖州",
93
+        "杭州",
94
+        "宁波",
95
+        "温州",
96
+        "嘉兴",
97
+        "湖州"
98
+      ],
99
+      startTime: "请选择",
100
+      endTime: "请选择",
101
+      minDate: new Date(1970, 0, 1),
102
+      maxDate: new Date(2025, 10, 1),
103
+      currentDate: new Date(),
104
+      actions: [{ name: "编辑" }, { name: "删除" }]
105
+    };
106
+  },
107
+  methods: {
108
+    onCancel() {
109
+      this.typeShow = false;
110
+    },
111
+    onConfirm(value) {
112
+      this.type = value;
113
+      this.typeShow = false;
114
+    },
115
+    getstartTime(value) {
116
+      console.log(value);
117
+      let year = value.getFullYear();
118
+      let month = value.getMonth() + 1;
119
+      let day = value.getDate();
120
+      if (month >= 1 && month <= 9) {
121
+        month = `0${month}`;
122
+      }
123
+      if (day >= 1 && day <= 9) {
124
+        day = `0${day}`;
125
+      }
126
+
127
+      this.startTime = `${year}-${month}-${day}`;
128
+      this.startShow = false;
129
+    },
130
+    getstartTime2(value) {
131
+      console.log(value);
132
+      let year = value.getFullYear();
133
+      let month = value.getMonth() + 1;
134
+      let day = value.getDate();
135
+      if (month >= 1 && month <= 9) {
136
+        month = `0${month}`;
137
+      }
138
+      if (day >= 1 && day <= 9) {
139
+        day = `0${day}`;
140
+      }
141
+
142
+      this.endTime = `${year}-${month}-${day}`;
143
+      this.endShow = false;
144
+    }
145
+  }
146
+};
147
+</script>
148
+
149
+<style lang="scss" scoped>
150
+.scheduling {
151
+  height: 100%;
152
+  overflow-y: auto;
153
+  .toolBox {
154
+    display: flex;
155
+    height: 3.125rem;
156
+    justify-content: space-around;
157
+    align-items: center;
158
+    .toolOne {
159
+      width: 5.625rem;
160
+      height: 1.875rem;
161
+      background: rgba(246, 246, 246, 1);
162
+      border-radius: 5px;
163
+      text-align: center;
164
+      font-size: 0.8125rem;
165
+      color: #8d8d8d;
166
+      display: flex;
167
+      align-items: center;
168
+      justify-content: space-around;
169
+    }
170
+  }
171
+  .adviceBox {
172
+    padding: 0 1.125rem;
173
+    margin-bottom: 3.125rem;
174
+  }
175
+  .adviceOne {
176
+    box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
177
+    padding-bottom: 0.625rem;
178
+  }
179
+  .adviceTitle {
180
+    padding-top: 0.625rem;
181
+    display: flex;
182
+    align-items: center;
183
+    justify-content: space-between;
184
+    p {
185
+      color: #000000;
186
+      font-weight: bold;
187
+      font-size: 0.9375rem;
188
+    }
189
+    .ellipsis {
190
+      font-size: 1.25rem;
191
+      color: #cccccc;
192
+    }
193
+  }
194
+  .orderContent {
195
+    font-size: 0.875rem;
196
+    color: rgba(49, 50, 52, 1);
197
+    margin-top: 0.625rem;
198
+    display: flex;
199
+    flex-wrap: wrap;
200
+    p {
201
+      line-height: 1.5rem;
202
+      width: 50%;
203
+    }
204
+  }
205
+  .doctorBox {
206
+    font-size: 0.75rem;
207
+    color: rgba(152, 152, 152, 1);
208
+    line-height: 1.125rem;
209
+    display: flex;
210
+    align-items: center;
211
+    justify-content: space-between;
212
+    margin-top: 0.625rem;
213
+  }
214
+  .all {
215
+    font-size: 0.8125rem;
216
+    color: #5b98ff;
217
+    margin-top: 0.625rem;
218
+  }
219
+  .add {
220
+    position: fixed;
221
+    bottom: 0;
222
+    left: 0;
223
+    width: 100%;
224
+    height: 2.75rem;
225
+    background: rgba(255, 255, 255, 1);
226
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1);
227
+    display: flex;
228
+    align-items: center;
229
+    justify-content: space-around;
230
+    font-size: 0.9375rem;
231
+    color: #979798;
232
+    .addIcon {
233
+      color: #5b98ff;
234
+      font-size: 1.25rem;
235
+      margin-right: 0.25rem;
236
+    }
237
+  }
238
+}
239
+::-webkit-scrollbar {
240
+  width: 0;
241
+}
242
+</style>

+ 255 - 268
src/kpa_pages/doctorAdvice/index.vue View File

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div class="page_doctorAdvice">
3
-    <div class="box">
3
+    <!-- <div class="box">
4 4
       <div class="info">
5 5
         <div class="photo">
6 6
           <img :src="patientForm.avatar" alt/>
@@ -64,7 +64,6 @@
64 64
                <template>
65 65
                <div class="custom-title">{{RecordTime(item.advice_date)}}</div>
66 66
             </template>
67
-            <!-- 使用 right-icon 插槽来自定义右侧图标 -->
68 67
             <van-icon
69 68
               slot="right-icon"
70 69
               name="ellipsis"
@@ -81,7 +80,6 @@
81 80
             <span v-if="item.advice_type==1">长嘱</span>
82 81
             <span v-else-if="item.advice_type==3">临嘱</span>
83 82
             <span v-else></span>
84
-          <!-- <span>18:00</span> -->
85 83
           <div v-if="item.parent_id==0">
86 84
           <p>医嘱内容:{{item.advice_name}}&nbsp;药品规格:{{item.advice_desc}}{{item.drug_spec_unit}}</p>
87 85
           <p>开药数量:{{item.prescribing_number}}{{item.prescribing_number_unit}}&nbsp;单次用量: <span v-if="item.single_dose!=0">{{item.single_dose}}{{item.single_dose_unit}}</span></p>
@@ -112,356 +110,345 @@
112 110
     </div>
113 111
     <div class="add">
114 112
       <img src="../../assets/images/add2.png" alt />
113
+    </div>-->
114
+    <div class="doctorAdviceTitle">
115
+      <i class="iconfont icon-zuojiantou jiantou"></i>
116
+      <div class="patientName" @click="show = true">
117
+        张三
118
+        <van-icon name="arrow-down" />
119
+      </div>
120
+      <p>基本信息</p>
115 121
     </div>
122
+    <van-tabs v-model="active" sticky>
123
+      <van-sticky>
124
+        <div class="wapBox" @click="show1 = true">
125
+          <van-icon class="wap" name="wap-nav" />
126
+        </div>
127
+      </van-sticky>
128
+      <van-tab v-for="(item, index) in title" :title="item" :key="index">
129
+        <doctor-management v-if="active == 0"></doctor-management>
130
+        <dry-weight v-if="active == 1"></dry-weight>
131
+        <course-management v-if="active == 2"></course-management>
132
+        <rescue-record v-if="active == 3"></rescue-record>
133
+        <inspection v-if="active == 4"></inspection>
134
+        <long-dialysis v-if="active == 5"></long-dialysis>
135
+        <dialysis-record v-if="active == 6"></dialysis-record>
136
+        <scheduling v-if="active == 7"></scheduling>
137
+        <education v-if="active == 8"></education>
138
+      </van-tab>
139
+    </van-tabs>
140
+    <van-popup v-model="show" position="top" :style="{ height: '100%' }">
141
+      <div style="padding:10px;font-size:1.25rem;text-align:right" @click="show = false">
142
+        <van-icon name="cross" />
143
+      </div>
144
+      <van-search v-model="value" placeholder="请输入搜索关键词" />
145
+      <van-index-bar>
146
+        <van-index-anchor index="A" />
147
+        <van-cell title="文本" />
148
+        <van-cell title="文本" />
149
+        <van-cell title="文本" />
150
+
151
+        <van-index-anchor index="B" />
152
+        <van-cell title="文本" />
153
+        <van-cell title="文本" />
154
+        <van-cell title="文本" />
155
+
156
+        <van-index-anchor index="C" />
157
+        <van-cell title="文本" />
158
+        <van-cell title="文本" />
159
+        <van-cell title="文本" />
160
+
161
+        <van-index-anchor index="D" />
162
+        <van-cell title="文本" />
163
+        <van-cell title="文本" />
164
+        <van-cell title="文本" />
165
+
166
+        <van-index-anchor index="E" />
167
+        <van-cell title="文本" />
168
+        <van-cell title="文本" />
169
+        <van-cell title="文本" />
170
+
171
+        <van-index-anchor index="F" />
172
+        <van-cell title="文本" />
173
+        <van-cell title="文本" />
174
+        <van-cell title="文本" />
175
+
176
+        <van-index-anchor index="G" />
177
+        <van-cell title="文本" />
178
+        <van-cell title="文本" />
179
+        <van-cell title="文本" />
180
+      </van-index-bar>
181
+    </van-popup>
182
+
183
+    <van-popup v-model="show1" position="top" :style="{ height: '40%' }">
184
+      <div style="padding:10px;font-size:1.25rem;text-align:right" @click="show1 = false">
185
+        <van-icon name="cross" />
186
+      </div>
187
+      <div class="titleBox">
188
+        <div
189
+          class="titleBoxOne"
190
+          v-for="(item,index) in title"
191
+          :key="index"
192
+          @click="changeActive(index)"
193
+        >{{item}}</div>
194
+      </div>
195
+    </van-popup>
116 196
   </div>
117 197
 </template>
118 198
 
119
-
120 199
 <script>
121
-const moment = require('moment')
122
-import { GetDoctroAdvice, toSeacherDoctorAdvice, deleteDoctorAdvice } from '@/api/login/login'
123
-import { uParseTime } from '@/utils/tools'
200
+const moment = require("moment");
201
+import DoctorManagement from "@/kpa_pages/doctorAdvice/components/DoctorManagement";
202
+import DryWeight from "@/kpa_pages/doctorAdvice/components/DryWeight";
203
+import CourseManagement from "@/kpa_pages/doctorAdvice/components/CourseManagement";
204
+import RescueRecord from "@/kpa_pages/doctorAdvice/components/RescueRecord";
205
+import Inspection from "@/kpa_pages/doctorAdvice/components/Inspection";
206
+import LongDialysis from "@/kpa_pages/doctorAdvice/components/LongDialysis";
207
+import DialysisRecord from "@/kpa_pages/doctorAdvice/components/DialysisRecord";
208
+import Scheduling from "@/kpa_pages/doctorAdvice/components/Scheduling";
209
+import Education from "@/kpa_pages/doctorAdvice/components/Education";
210
+import {
211
+  GetDoctroAdvice,
212
+  toSeacherDoctorAdvice,
213
+  deleteDoctorAdvice
214
+} from "@/api/login/login";
215
+import { uParseTime } from "@/utils/tools";
124 216
 export default {
217
+  components: {
218
+    DoctorManagement,
219
+    DryWeight,
220
+    CourseManagement,
221
+    RescueRecord,
222
+    Inspection,
223
+    LongDialysis,
224
+    DialysisRecord,
225
+    Scheduling,
226
+    Education
227
+  },
125 228
   data() {
126 229
     return {
127
-      searchVal: '',
128
-      startTime: moment(new Date()).format('YYYY-MM-DD'),
129
-      endTime: moment(new Date()).format('YYYY-MM-DD'),
230
+      show: false,
231
+      show1: false,
232
+      active: 0,
233
+      title: [
234
+        "医嘱管理",
235
+        "干体重",
236
+        "病程管理",
237
+        "抢救记录",
238
+        "检验检查",
239
+        "长期透析处方",
240
+        "透析记录",
241
+        "排班信息",
242
+        "宣教信息"
243
+      ],
244
+
245
+      searchVal: "",
246
+      startTime: moment(new Date()).format("YYYY-MM-DD"),
247
+      endTime: moment(new Date()).format("YYYY-MM-DD"),
130 248
       show1: false,
131 249
       show2: false,
132 250
       currentDate1: new Date(),
133 251
       currentDate2: new Date(),
134 252
       show3: false,
135
-      actions: [
136
-        { name: '编辑' },
137
-        { name: '删除' }
138
-      ],
139
-      time: '2016-10-2',
253
+      actions: [{ name: "编辑" }, { name: "删除" }],
254
+      time: "2016-10-2",
140 255
       patientForm: {
141
-        name: '',
142
-        sex: '',
143
-        age: '',
144
-        dialysis_no: '',
145
-        avatar: ''
256
+        name: "",
257
+        sex: "",
258
+        age: "",
259
+        dialysis_no: "",
260
+        avatar: ""
146 261
       },
147 262
       doctorAdvice: [],
148 263
       yiShow: false,
149 264
       meiShow: false,
150 265
       bingShow: false,
151 266
       aiShow: false,
152
-      doctor_name: ''
153
-    }
267
+      doctor_name: ""
268
+    };
154 269
   },
155 270
   methods: {
271
+    changeActive(index) {
272
+      console.log(index);
273
+      this.active = index;
274
+      this.show1 = false;
275
+    },
276
+
277
+    // sadas
156 278
     showPopup(index) {
157 279
       if (index === 1) {
158
-        this.show1 = true
280
+        this.show1 = true;
159 281
       } else if (index === 2) {
160
-        this.show2 = true
282
+        this.show2 = true;
161 283
       }
162 284
     },
163 285
     chooseStartTime(value) {
164
-      this.startTime = moment(value).format('YYYY-MM-DD')
165
-      console.log('starttime', this.startTime)
166
-      var patientid = this.$route.query.patientid
167
-      var orgid = this.$route.query.orgid
168
-      this.GetDoctroAdvice(patientid, orgid, this.startTime)
169
-      this.show1 = false
286
+      this.startTime = moment(value).format("YYYY-MM-DD");
287
+      console.log("starttime", this.startTime);
288
+      var patientid = this.$route.query.patientid;
289
+      var orgid = this.$route.query.orgid;
290
+      this.GetDoctroAdvice(patientid, orgid, this.startTime);
291
+      this.show1 = false;
170 292
     },
171 293
     chooseEndTime(value) {
172
-      this.endTime = moment(value).format('YYYY-MM-DD')
173
-      var patientid = this.$route.query.patientid
174
-      var orgid = this.$route.query.orgid
175
-      this.GetDoctroAdvice(patientid, orgid, this.endTime)
176
-      this.show2 = false
294
+      this.endTime = moment(value).format("YYYY-MM-DD");
295
+      var patientid = this.$route.query.patientid;
296
+      var orgid = this.$route.query.orgid;
297
+      this.GetDoctroAdvice(patientid, orgid, this.endTime);
298
+      this.show2 = false;
177 299
     },
178 300
     onClick(index) {
179 301
       if (index === 1) {
180
-        this.show3 = true
302
+        this.show3 = true;
181 303
       } else if (index === 2) {
182
-        this.show3 = true
304
+        this.show3 = true;
183 305
       }
184 306
     },
185 307
     RecordTime(time) {
186 308
       // return uParseTime(time, '{y}-{m}-{d} {h}:{i}:{s}')
187
-      return uParseTime(time, '{y}-{m}-{d}')
309
+      return uParseTime(time, "{y}-{m}-{d}");
188 310
     },
189 311
     GetDoctroAdvice(patientid, orgid) {
190
-      GetDoctroAdvice(patientid, orgid, this.startTime, this.endTime, this.searchVal).then(response => {
312
+      GetDoctroAdvice(
313
+        patientid,
314
+        orgid,
315
+        this.startTime,
316
+        this.endTime,
317
+        this.searchVal
318
+      ).then(response => {
191 319
         if (response.data.state === 1) {
192
-          var doctoradvice = response.data.data.doctoradvice
193
-          this.doctorAdvice = doctoradvice
194
-          var patients = response.data.data.patients
195
-          this.patientForm.name = patients.name
196
-          this.patientForm.age = patients.age
197
-          this.patientForm.avatar = patients.avatar
198
-          var diseases = response.data.data.diseases
199
-          console.log('diseases', diseases)
320
+          var doctoradvice = response.data.data.doctoradvice;
321
+          this.doctorAdvice = doctoradvice;
322
+          var patients = response.data.data.patients;
323
+          this.patientForm.name = patients.name;
324
+          this.patientForm.age = patients.age;
325
+          this.patientForm.avatar = patients.avatar;
326
+          var diseases = response.data.data.diseases;
327
+          console.log("diseases", diseases);
200 328
           for (let index = 0; index < diseases.length; index++) {
201 329
             if (diseases[index].disease_id === 2) {
202
-              this.yiShow = true
330
+              this.yiShow = true;
203 331
             }
204 332
             if (diseases[index].disease_id === 3) {
205
-              this.bingShow = true
333
+              this.bingShow = true;
206 334
             }
207 335
             if (diseases[index].disease_id === 4) {
208
-              this.aiShow = true
336
+              this.aiShow = true;
209 337
             }
210 338
 
211 339
             if (diseases[index].disease_id === 6) {
212
-              this.meiShow = true
340
+              this.meiShow = true;
213 341
             }
214 342
           }
215 343
           if (patients.gender === 1) {
216
-            this.patientForm.sex = '男'
344
+            this.patientForm.sex = "男";
217 345
           }
218 346
           if (patients.gender === 2) {
219
-            this.patientForm.sex = '女'
347
+            this.patientForm.sex = "女";
220 348
           }
221
-          this.patientForm.dialysis_no = patients.dialysis_no
222
-          console.log('doctoradvice', doctoradvice)
223
-          console.log('patients', patients)
224
-          var role = response.data.data.role
225
-          console.log('role', role)
226
-          this.doctor_name = role.user_name
349
+          this.patientForm.dialysis_no = patients.dialysis_no;
350
+          console.log("doctoradvice", doctoradvice);
351
+          console.log("patients", patients);
352
+          var role = response.data.data.role;
353
+          console.log("role", role);
354
+          this.doctor_name = role.user_name;
227 355
         }
228
-      })
356
+      });
229 357
     },
230 358
     watchNum() {
231
-      var patientid = this.$route.query.patientid
232
-      var orgid = this.$route.query.orgid
359
+      var patientid = this.$route.query.patientid;
360
+      var orgid = this.$route.query.orgid;
233 361
       toSeacherDoctorAdvice(patientid, orgid, this.searchVal).then(response => {
234 362
         if (response.data.state === 1) {
235
-          var doctorAdvice = response.data.data.doctoradvice
236
-          console.log('doctoradvice', doctorAdvice)
237
-          this.doctorAdvice = doctoradvice
363
+          var doctorAdvice = response.data.data.doctoradvice;
364
+          console.log("doctoradvice", doctorAdvice);
365
+          this.doctorAdvice = doctoradvice;
238 366
         }
239
-      })
367
+      });
240 368
     },
241 369
     deleteDoctorAdvice(id, index) {
242 370
       deleteDoctorAdvice(id, index).then(response => {
243 371
         if (response.data.state === 1) {
244
-          var msg = response.data.data.msg
245
-          console.log('msg', msg)
246
-          this.doctorAdvice.splice(index, 1)
372
+          var msg = response.data.data.msg;
373
+          console.log("msg", msg);
374
+          this.doctorAdvice.splice(index, 1);
247 375
         }
248
-      })
376
+      });
249 377
     }
250 378
   },
251 379
   created() {
252
-    var patientid = this.$route.query.patientid
253
-    var orgid = this.$route.query.orgid
254
-    console.log('paitientid是什么', patientid)
255
-    console.log('orgid是什么', orgid)
256
-    this.GetDoctroAdvice(patientid, orgid)
380
+    // var patientid = this.$route.query.patientid
381
+    // var orgid = this.$route.query.orgid
382
+    // console.log('paitientid是什么', patientid)
383
+    // console.log('orgid是什么', orgid)
384
+    // this.GetDoctroAdvice(patientid, orgid)
257 385
   }
258
-}
386
+};
259 387
 </script>
260 388
 
261
-<style lang="scss">
389
+<style lang="scss" scoped>
262 390
 .page_doctorAdvice {
263 391
   overflow: hidden;
264 392
   height: 100%;
265 393
   overflow-y: auto;
266
-  .box {
394
+  .doctorAdviceTitle {
395
+    height: 3.125rem;
396
+    display: flex;
397
+    align-items: center;
398
+    justify-content: space-between;
267 399
     width: 100%;
268
-    height: 9.1875rem;
269
-    background: #fcfcfc;
270
-    padding-top: 1.25rem;
271
-    box-sizing: border-box;
400
+    padding: 0 1.125rem;
401
+    background: #fff;
272 402
   }
273
-  .info {
274
-    width: 21.375rem;
275
-    height: 6.1875rem;
276
-    background: rgba(255, 255, 255, 1);
277
-    border-radius: 10px;
278
-    margin: 0 auto;
279
-    box-shadow: 0px 2px 12px 0px #f5f5f5;
280
-    .photo {
281
-      float: left;
282
-      width: 3.75rem;
283
-      height: 3.75rem;
284
-      margin: 1.125rem 1rem 0 1.125rem;
285
-      img {
286
-        width: 100%;
287
-        height: 100%;
288
-      }
289
-    }
290
-    .infoRight {
291
-      float: left;
292
-      padding-top: 1.625rem;
293
-      box-sizing: border-box;
294
-      .rightTop {
295
-        margin-bottom: 0.75rem;
296
-      }
297
-      .name {
298
-        font-size: 1.0625rem;
299
-        font-weight: 600;
300
-        color: rgba(0, 0, 0, 1);
301
-        margin-right: 1rem;
302
-      }
303
-      span {
304
-        font-size: 0.875rem;
305
-        color: rgba(60, 60, 60, 1);
306
-      }
307
-      .rightBottom {
308
-        height: 1.4375rem;
309
-        line-height: 1.4375rem;
310
-        .num {
311
-          float: left;
312
-          font-size: 0.875rem;
313
-          color: rgba(60, 60, 60, 1);
314
-        }
315
-        .imgList {
316
-          float: left;
317
-          margin-left: 0.875rem;
318
-          img {
319
-            width: 1.4375rem;
320
-            height: 1.4375rem;
321
-            margin: 0 0.125rem;
322
-          }
323
-        }
324
-      }
325
-    }
403
+  .patientName {
404
+    display: flex;
405
+    align-items: center;
326 406
   }
327
-  .search {
328
-    width: 21.375rem;
329
-    height: 2.125rem;
330
-    background: rgba(244, 244, 244, 1);
331
-    border-radius: 17px;
332
-    margin: 0 auto;
333
-    .el-input__inner {
334
-      height: 2.125rem;
335
-      line-height: 2.125rem;
336
-      border: none;
337
-      background: rgba(244, 244, 244, 1);
338
-      border-radius: 17px;
339
-      padding-left: 2.5rem;
340
-      color: rgba(155, 155, 155, 1);
341
-      font-size: 0.9375rem;
342
-    }
343
-    .el-input__prefix {
344
-      margin-top: 0.0625rem;
345
-      font-size: 1.25rem;
346
-    }
347
-    .el-input__icon {
348
-      line-height: 2.125rem;
349
-    }
407
+  .jiantou {
408
+    font-size: 1.5rem;
409
+    font-weight: 600;
410
+    margin-right: 2rem;
350 411
   }
351
-  .time {
352
-    color: #9b9b9b;
353
-    margin-left: 1rem;
354
-    margin-top: 0.75rem;
355
-    width: 342px;
356
-    // height:2.125rem;
357
-    overflow: hidden;
358
-    .van-cell {
359
-      width: 8.5rem;
360
-      height: 2.125rem;
361
-      line-height: 2.125rem;
362
-      background: #f4f4f4;
363
-      border-radius: 17px;
364
-      margin-bottom: 0.75rem;
365
-      padding: 0 1rem;
366
-      font-size: 0.875rem;
367
-      float: left;
368
-      .van-icon-arrow-down {
369
-        float: right;
370
-        line-height: 2.125rem;
371
-      }
372
-    }
373
-    .line {
374
-      float: left;
375
-      line-height: 2.125rem;
376
-    }
412
+  .wapBox {
413
+    position: absolute;
414
+    z-index: 2;
415
+    right: 0;
416
+    top: 0;
417
+    width: 2.625rem;
418
+    text-align: center;
419
+    background: rgba(255, 255, 255, 1);
420
+    box-shadow: -2px 0px 12px 0px rgba(91, 91, 91, 0.16);
377 421
   }
378
-  .statOrder {
379
-    width: 21.5625rem;
380
-    margin: 0 auto;
381
-    .statOrderOne {
382
-      padding-bottom: 1.25rem;
383
-      border-top: 1px dashed #e6e6e6;
384
-      border-bottom: 1px dashed #e6e6e6;
385
-    }
386
-    .van-cell {
387
-      padding: 10px 6px;
388
-    }
389
-    // .edit {
390
-    //   float: right;
391
-    //   width: 4.5625rem;
392
-    //   height: 1.875rem;
393
-    //   background: rgba(81, 119, 238, 0.2);
394
-    //   border-radius: 15px;
395
-    //   color: #5177ee;
396
-    //   text-align: center;
397
-    //   line-height: 1.875rem;
398
-    //   margin-left: 8.75rem;
399
-    // }
400
-    // .title {
401
-    //   border-top: 1px solid #e6e6e6;
402
-    //   display: flex;
403
-    //   height: 3.125rem;
404
-    //   align-items: center;
405
-    // }
406
-    // .el-icon-arrow-down {
407
-    //   margin-left: 0.5rem;
408
-    // }
409
-    // .year {
410
-    //   margin-left: 0.625rem;
411
-    //   font-size: 0.9375rem;
412
-    //   font-weight: 600;
413
-    //   color: rgba(0, 0, 0, 1);
414
-    // }
415
-    .msg {
416
-      font-size: 0.75rem;
417
-      color: rgba(60, 60, 60, 1);
418
-      font-weight: 600;
419
-      padding-top: 0.75rem;
420
-      padding-bottom: 1rem;
421
-      // border-top: 1px dashed #e6e6e6;
422
-      span {
423
-        margin-left: 0.375rem;
424
-      }
425
-      p {
426
-        font-size: 0.875rem;
427
-        margin: 0.625rem 0;
428
-        color: rgba(0, 0, 0, 1);
429
-      }
430
-    }
431
-    .doctorAll {
432
-      display: flex;
433
-      justify-content: space-between;
434
-      margin-top: 0.25rem;
422
+  .wap {
423
+    font-size: 1.875rem;
424
+    line-height: 44px;
425
+    color: #5b5b5b;
426
+  }
427
+  .titleBox {
428
+    padding: 0 1.25rem 1.25rem;
429
+    display: flex;
430
+    flex-wrap: wrap;
431
+    .titleBoxOne {
432
+      padding: 0.375rem 0.625rem;
433
+      background: #f6f6f6;
434
+      border-radius: 0.375rem;
435
+      margin: 0.625rem 0.375rem;
435 436
       font-size: 0.75rem;
436
-      font-weight: 400;
437
-      color: rgba(155, 155, 155, 1);
438
-      .doctor {
439
-        float: left;
440
-      }
441
-    }
442
-    .el-collapse-item__content {
443
-      padding-bottom: 1rem;
444
-    }
445
-    .el-collapse {
446
-      border-top: none;
447
-    }
448
-    .none {
449
-      padding-bottom: 0;
450 437
     }
451 438
   }
452
-  .add {
453
-    width: 4.5rem;
454
-    height: 4.5rem;
455
-    background: rgba(255, 255, 255, 1);
456
-    box-shadow: 0px 3px 9px 0px rgba(7, 30, 102, 0.15);
457
-    border-radius: 50%;
458
-    position: fixed;
459
-    right: 1.125rem;
460
-    bottom: 4.25rem;
461
-    img {
462
-      width: 100%;
463
-    }
439
+}
440
+::-webkit-scrollbar {
441
+  width: 0;
442
+}
443
+</style>
444
+<style lang="scss">
445
+.page_doctorAdvice {
446
+  .van-tabs__wrap {
447
+    width: 90% !important;
448
+  }
449
+  .van-cell__value {
450
+    display: flex;
451
+    align-items: center;
464 452
   }
465 453
 }
466 454
 </style>
467
-

+ 148 - 0
src/kpa_pages/doctorAdvice/newAddDoctor.vue View File

@@ -0,0 +1,148 @@
1
+<template>
2
+  <div class="page_newAddDoctor">
3
+    <div class="newAddDoctorTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">新增医嘱</span>
6
+      <p>保存</p>
7
+    </div>
8
+    <div class="chooseBox">
9
+      <van-cell title="医嘱类型" @click="show = true" is-link :value="type" />
10
+      <van-cell title="开始时间" @click="show1 = true" is-link :value="time" />
11
+    </div>
12
+    <div class="chooseBox">
13
+      <van-cell is-link @click="chooseDoctor">选择医嘱模板</van-cell>
14
+      <van-swipe-cell>
15
+        <van-cell :border="false" title="那曲肝素钙注射液 单次用量 3075iu 静脉注射▲ 左卡尼汀注射液 单次用量 1g" />
16
+        <template slot="right">
17
+          <van-button square type="info" text="添加子药" />
18
+          <van-button square type="danger" text="删除" @click="deteleOne" />
19
+        </template>
20
+      </van-swipe-cell>
21
+    </div>
22
+    <div class="chooseBox">
23
+      <van-cell is-link @click="chooseDoctor">新增医嘱内容</van-cell>
24
+      <van-swipe-cell>
25
+        <van-cell :border="false" title="那曲肝素钙注射液 单次用量 3075iu 静脉注射▲ 左卡尼汀注射液 单次用量 1g" />
26
+        <template slot="right">
27
+          <van-button square type="info" text="添加子药" />
28
+          <van-button square type="danger" text="删除" @click="deteleOne" />
29
+        </template>
30
+      </van-swipe-cell>
31
+    </div>
32
+    <div>
33
+      <van-popup v-model="show" position="bottom" :style="{ height: '40%' }">
34
+        <van-picker show-toolbar :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
35
+      </van-popup>
36
+      <van-popup v-model="show1" position="bottom" :style="{ height: '40%' }">
37
+        <van-datetime-picker
38
+          v-model="currentDate"
39
+          type="date"
40
+          :min-date="minDate"
41
+          :max-date="maxDate"
42
+          @confirm="getstartTime"
43
+          @cancel="show1 = false"
44
+        />
45
+      </van-popup>
46
+    </div>
47
+  </div>
48
+</template>
49
+
50
+<script>
51
+export default {
52
+  data() {
53
+    return {
54
+      type: "",
55
+      show: false,
56
+      show1: false,
57
+      columns: [
58
+        "杭州",
59
+        "宁波",
60
+        "温州",
61
+        "嘉兴",
62
+        "湖州",
63
+        "杭州",
64
+        "宁波",
65
+        "温州",
66
+        "嘉兴",
67
+        "湖州"
68
+      ],
69
+      time: "",
70
+      minDate: new Date(1970, 0, 1),
71
+      maxDate: new Date(2025, 10, 1),
72
+      currentDate: new Date()
73
+    };
74
+  },
75
+  methods: {
76
+    onCancel() {
77
+      this.show = false;
78
+    },
79
+    onConfirm(value) {
80
+      this.type = value;
81
+      this.show = false;
82
+    },
83
+    getstartTime(value) {
84
+      console.log(value);
85
+      let year = value.getFullYear();
86
+      let month = value.getMonth() + 1;
87
+      let day = value.getDate();
88
+      if (month >= 1 && month <= 9) {
89
+        month = `0${month}`;
90
+      }
91
+      if (day >= 1 && day <= 9) {
92
+        day = `0${day}`;
93
+      }
94
+
95
+      this.time = `${year}-${month}-${day}`;
96
+      this.show1 = false;
97
+    },
98
+    deteleOne() {
99
+      this.$dialog
100
+        .confirm({
101
+          message: "是否删除该条医嘱"
102
+        })
103
+        .then(() => {
104
+          // on confirm
105
+        })
106
+        .catch(() => {
107
+          // on cancel
108
+        });
109
+    },
110
+    chooseDoctor() {}
111
+  }
112
+};
113
+</script>
114
+
115
+<style lang="scss" scoped>
116
+.page_newAddDoctor {
117
+  height: 100%;
118
+  overflow-y: auto;
119
+  background: #fafafa;
120
+  .newAddDoctorTitle {
121
+    height: 3.125rem;
122
+    display: flex;
123
+    align-items: center;
124
+    justify-content: space-between;
125
+    width: 100%;
126
+    padding: 0 1.125rem;
127
+    background: #fff;
128
+  }
129
+  .jiantou {
130
+    font-size: 1.5rem;
131
+    font-weight: 600;
132
+    margin-right: 1.25rem;
133
+  }
134
+  .titleName {
135
+    font-size: 1.125rem;
136
+    font-weight: 600;
137
+  }
138
+  .chooseBox {
139
+    margin-top: 1rem;
140
+  }
141
+  .van-button {
142
+    height: 100%;
143
+  }
144
+  .van-swipe-cell__wrapper {
145
+    transform: translate3d(-152.45px, 0px, 0px);
146
+  }
147
+}
148
+</style>

+ 708 - 0
src/kpa_pages/editPatient/index.vue View File

@@ -0,0 +1,708 @@
1
+<template>
2
+  <div class="page_editPatients">
3
+    <van-sticky>
4
+      <div class="addPatientsTitle">
5
+        <i class="iconfont icon-zuojiantou jiantou"></i>
6
+        <span class="titleName">编辑患者</span>
7
+        <p>修改</p>
8
+      </div>
9
+    </van-sticky>
10
+    <div class="basicTitle">基本信息</div>
11
+    <div class="basicBox">
12
+      <van-field v-model="name" required label="姓名" placeholder="请输入" />
13
+      <van-field
14
+        label="性别"
15
+        v-model="sex"
16
+        right-icon="arrow"
17
+        placeholder="请选择"
18
+        required
19
+        readonly
20
+        @click="show = true"
21
+      />
22
+      <van-popup v-model="show" position="bottom" :style="{ height: '30%' }">
23
+        <van-picker :columns="columns" @change="onChange" />
24
+      </van-popup>
25
+      <van-field
26
+        v-model="idCard"
27
+        required
28
+        label="身份证号"
29
+        placeholder="请输入"
30
+      />
31
+      <van-field
32
+        v-model="birthday"
33
+        required
34
+        label="出生日期"
35
+        readonly
36
+        placeholder="请输入"
37
+      />
38
+      <van-field
39
+        v-model="tel"
40
+        type="tel"
41
+        required
42
+        label="手机号"
43
+        placeholder="请输入"
44
+      />
45
+      <van-cell>
46
+        <!-- 使用 title 插槽来自定义标题 -->
47
+        <template slot="title">
48
+          <span class="custom-title">患者标签</span>
49
+          <div style="width:60%;margin-left:2rem">
50
+            <van-checkbox-group v-model="result">
51
+              <van-checkbox name="a" shape="square">血透患者</van-checkbox>
52
+              <van-checkbox name="b" shape="square">慢病患者</van-checkbox>
53
+              <van-checkbox name="c" shape="square">电商患者</van-checkbox>
54
+              <van-checkbox name="d" shape="square">会员患者</van-checkbox>
55
+            </van-checkbox-group>
56
+          </div>
57
+        </template>
58
+      </van-cell>
59
+    </div>
60
+    <div class="basicTitle">血透信息</div>
61
+    <div class="xtBox">
62
+      <van-field
63
+        v-model="dialysisNumber"
64
+        center
65
+        clearable
66
+        required
67
+        label="透析号"
68
+      >
69
+        <van-button slot="button" size="small" type="info">自动生成</van-button>
70
+      </van-field>
71
+      <van-field
72
+        label="患者来源"
73
+        v-model="source"
74
+        right-icon="arrow"
75
+        required
76
+        readonly
77
+        placeholder="请选择"
78
+        @click="show1 = true"
79
+      />
80
+      <van-popup v-model="show1" position="bottom" :style="{ height: '30%' }">
81
+        <van-picker :columns="columns1" @change="onChange1" />
82
+      </van-popup>
83
+      <van-field
84
+        label="留治状态"
85
+        v-model="source"
86
+        right-icon="arrow"
87
+        required
88
+        readonly
89
+        placeholder="请选择"
90
+        @click="show1 = true"
91
+      />
92
+      <van-popup v-model="show1" position="bottom" :style="{ height: '30%' }">
93
+        <van-picker :columns="columns1" @change="onChange1" />
94
+      </van-popup>
95
+      <van-field
96
+        label="传染病"
97
+        v-model="source"
98
+        right-icon="arrow"
99
+        required
100
+        readonly
101
+        placeholder="请选择"
102
+        @click="show1 = true"
103
+      />
104
+      <van-popup v-model="show1" position="bottom" :style="{ height: '30%' }">
105
+        <van-picker :columns="columns1" @change="onChange1" />
106
+      </van-popup>
107
+      <van-field v-model="hospitalNum" type="text" label="住院(门诊)号" />
108
+      <van-field
109
+        label="首次透析日期"
110
+        v-model="time"
111
+        right-icon="arrow"
112
+        readonly
113
+        placeholder="请选择"
114
+        @click="show2 = true"
115
+      />
116
+      <van-popup v-model="show2" position="bottom" :style="{ height: '40%' }">
117
+        <van-datetime-picker
118
+          v-model="currentDate"
119
+          type="date"
120
+          :min-date="minDate"
121
+          :max-date="maxDate"
122
+          @cancel="onCancel"
123
+          @confirm="onConfirm"
124
+        />
125
+      </van-popup>
126
+      <van-field
127
+        v-model="message"
128
+        rows="2"
129
+        autosize
130
+        label="诊断"
131
+        type="textarea"
132
+        maxlength="50"
133
+        placeholder="请输入主要诊断信息"
134
+        show-word-limit
135
+      />
136
+    </div>
137
+    <div class="turnOut">转出</div>
138
+    <div class="moreInfo">如需要完善更多病人信息,请在电脑端完善</div>
139
+  </div>
140
+</template>
141
+
142
+<script>
143
+const moment = require("moment");
144
+import { GenerateDialysisNo, savePatient } from "@/api/patient/patient";
145
+import { isCardNo, checkMobile, getFileExtension } from "@/utils/tools";
146
+import { getToken } from "@/api/qiniu";
147
+export default {
148
+  data() {
149
+    var checkMobileRule = (rule, value, callback) => {
150
+      if (!checkMobile(value)) {
151
+        callback(new Error("请填写正确的手机号"));
152
+      } else {
153
+        callback();
154
+      }
155
+    };
156
+
157
+    return {
158
+      show: false,
159
+      show1: false,
160
+      show2: false,
161
+      name: "",
162
+      columns: ["男", "女"],
163
+      columns1: ["1", "2", "3"],
164
+      sex: "",
165
+      idCard: "",
166
+      birthday: "",
167
+      tel: "",
168
+      result: [],
169
+      dialysisNumber: "",
170
+      source: "",
171
+      hospitalNum: "",
172
+      minDate: new Date(1970, 0, 1),
173
+      maxDate: new Date(2025, 10, 1),
174
+      currentDate: new Date(),
175
+      time: "",
176
+      message: ""
177
+      //
178
+      // ruleForm: {
179
+      //   name: "",
180
+      //   sex: "请选择性别",
181
+      //   idCard: "",
182
+      //   birthday: "",
183
+      //   phone: "",
184
+      //   patientNumber: ""
185
+      // },
186
+      // qiniuDomain: "https://images.shengws.com/",
187
+      // uploadData: { token: "", key: "" },
188
+      // dialysis: "",
189
+      // show1: false,
190
+      // show2: false,
191
+      // show3: false,
192
+      // show4: false,
193
+      // show5: false,
194
+      // show6: false,
195
+      // show7: false,
196
+      // show8: false,
197
+      // columns1: ["男", "女"],
198
+      // columns2: ["123", "456"],
199
+      // columns3: ["门诊", "住院"],
200
+      // columns4: ["留治", "转出"],
201
+      // columns5: ["留治", "转出"],
202
+      // columns6: [
203
+      //   "西医治疗",
204
+      //   "中医治疗",
205
+      //   "血液透析",
206
+      //   "腹膜透析",
207
+      //   "肾移植",
208
+      //   "其他"
209
+      // ],
210
+      // currentDate1: new Date(),
211
+      // currentDate2: new Date(),
212
+      // hemodialysisList: [],
213
+      // slowList: [],
214
+      // patientNumber: "",
215
+      // source: "",
216
+      // state: "",
217
+      // date: "",
218
+      // diagnose: "",
219
+      // requipment: "",
220
+      // sickTime: "",
221
+      // state2: "",
222
+      // way: "",
223
+      // patientHead: "",
224
+      // contagionList: [
225
+      //   // 传染病
226
+      //   { id: 2, name: "乙肝", type: 2 },
227
+      //   { id: 3, name: "丙肝", type: 2 },
228
+      //   { id: 4, name: "艾滋病", type: 2 },
229
+      //   { id: 5, name: "肺结核", type: 2 },
230
+      //   { id: 6, name: "梅毒", type: 2 }
231
+      // ],
232
+      // checkDisease: [
233
+      //   // 慢性病
234
+      //   { id: 1, name: "慢性病" },
235
+      //   { id: 2, name: "神经病" },
236
+      //   { id: 3, name: "抑郁症" }
237
+      // ],
238
+      // // patientType: ['血透病人', '慢病病人', '会员病人'],
239
+      // patientType: [
240
+      //   { id: 1, name: "血透病人" },
241
+      //   { id: 2, name: "慢病病人" },
242
+      //   { id: 3, name: "会员病人" }
243
+      // ],
244
+      // checkboxGroup1: ["北京"],
245
+      // patientForm: {
246
+      //   name: "",
247
+      //   sex: "",
248
+      //   idCard: "",
249
+      //   birthday: "",
250
+      //   phone: "",
251
+      //   dialysis: "",
252
+      //   patient_type: [1],
253
+      //   admissionNumber: "",
254
+      //   patientsoure: "",
255
+      //   lapseto: "",
256
+      //   contagions: [],
257
+      //   fistDate: "",
258
+      //   diagnose: "",
259
+      //   requipmentId: "",
260
+      //   slowcontagions: [],
261
+      //   slowPatients: [],
262
+      //   memberIllnessTime: "",
263
+      //   memberlapseto: "",
264
+      //   patientHead: "",
265
+      //   TreatmentMethod: ""
266
+      // },
267
+      // rules: {
268
+      //   name: [{ required: true, message: "请输入姓名" }],
269
+      //   sex: [{ required: true, message: "请选择性别" }],
270
+      //   idCard: [{ required: true, message: "请输入身份证号" }],
271
+      //   birthday: [{ required: true, message: "请填写出生日期" }],
272
+      //   phone: [
273
+      //     { required: true, message: "请输入手机号" },
274
+      //     { validator: checkMobileRule }
275
+      //   ],
276
+      //   dialysis: [{ required: true, message: "请输入透析号" }],
277
+      //   patient_type: [{ required: true, message: "请选择病人类型" }],
278
+      //   admissionNumber: [{ required: true, message: "请填写住院号" }],
279
+      //   patientsoure: [{ required: true, message: "请选择患者来源" }]
280
+      // },
281
+      // slowDiseaseShow: false,
282
+      // memberShow: false,
283
+      // bloodshow: true
284
+    };
285
+  },
286
+  methods: {
287
+    onChange(picker, value, index) {
288
+      console.log(value);
289
+      this.sex = value;
290
+      this.show = false;
291
+    },
292
+    onChange1(picker, value, index) {
293
+      console.log(value);
294
+      this.source = value;
295
+      this.show1 = false;
296
+    },
297
+    onCancel() {
298
+      this.show2 = false;
299
+    },
300
+    onConfirm(value) {
301
+      let year = value.getFullYear();
302
+      let month = value.getMonth() + 1;
303
+      let day = value.getDate();
304
+      if (month >= 1 && month <= 9) {
305
+        month = `0${month}`;
306
+      }
307
+      if (day >= 1 && day <= 9) {
308
+        day = `0${day}`;
309
+      }
310
+
311
+      this.time = `${year}-${month}-${day}`;
312
+      console.log(this.currentDate);
313
+      this.show2 = false;
314
+    }
315
+
316
+    // showPopup(index) {
317
+    //   if (index === 1) {
318
+    //     this.show1 = true;
319
+    //   } else if (index === 2) {
320
+    //     this.show2 = true;
321
+    //   } else if (index === 3) {
322
+    //     this.show3 = true;
323
+    //   } else if (index === 4) {
324
+    //     this.show4 = true;
325
+    //   } else if (index === 5) {
326
+    //     this.show5 = true;
327
+    //   } else if (index === 6) {
328
+    //     this.show6 = true;
329
+    //   } else if (index === 7) {
330
+    //     this.show7 = true;
331
+    //   } else if (index === 8) {
332
+    //     this.show8 = true;
333
+    //   }
334
+    // },
335
+    // // 性别
336
+    // chooseSex(value) {
337
+    //   // console.log(value);
338
+    //   this.patientForm.sex = value;
339
+    //   this.show1 = false;
340
+    // },
341
+    // // 门诊号
342
+    // choosePatientNumber(value) {
343
+    //   this.patientNumber = value;
344
+    //   this.show2 = false;
345
+    // },
346
+    // // 来源
347
+    // chooseSource(value) {
348
+    //   this.patientForm.patientsoure = value;
349
+    //   this.show3 = false;
350
+    // },
351
+    // // 状态
352
+    // chooseState(value) {
353
+    //   this.patientForm.lapseto = value;
354
+    //   this.show4 = false;
355
+    // },
356
+    // // 首次透析日期
357
+    // chooseDate(value) {
358
+    //   // console.log(moment(value).format("YYYY-MM-DD"));
359
+    //   this.patientForm.fistDate = moment(value).format("YYYY-MM-DD");
360
+    //   this.show5 = false;
361
+    // },
362
+    // // 患病时间
363
+    // chooseTime(value) {
364
+    //   this.sickTime = moment(value).format("YYYY-MM-DD");
365
+    //   this.show6 = false;
366
+    // },
367
+    // // 会员资料留治状态
368
+    // chooseState2(value) {
369
+    //   this.patientForm.memberlapseto = value;
370
+    //   this.show7 = false;
371
+    // },
372
+    // // 治疗方式
373
+    // chooseWay(value) {
374
+    //   this.patientForm.TreatmentMethod = value;
375
+    //   this.show8 = false;
376
+    // },
377
+    // savePatient(formName) {
378
+    //   var telephone = this.$route.query.phone;
379
+    //   console.log("telephone", telephone);
380
+    //   var sex = this.patientForm.sex;
381
+    //   console.log("sex是什么", sex);
382
+    //   if (sex === "男") {
383
+    //     this.patientForm.sex = 1;
384
+    //   }
385
+
386
+    //   if (sex === "女") {
387
+    //     this.patientForm.sex = 2;
388
+    //   }
389
+    //   var patientsour = this.patientForm.patientsoure;
390
+    //   if (patientsour === "") {
391
+    //     this.patientForm.patientsoure = 0;
392
+    //   }
393
+    //   if (patientsour === "门诊") {
394
+    //     this.patientForm.patientsoure = 1;
395
+    //   }
396
+
397
+    //   if (patientsour === "住院") {
398
+    //     this.patientForm.patientsour = 2;
399
+    //   }
400
+    //   var lapseto = this.patientForm.lapseto;
401
+    //   console.log("lapseto是什么", lapseto);
402
+    //   if (lapseto === "留治") {
403
+    //     this.patientForm.lapseto = 1;
404
+    //   }
405
+    //   if (lapseto === "转出") {
406
+    //     this.patientForm.lapseto = 2;
407
+    //   }
408
+
409
+    //   var memberlapseto = this.patientForm.memberlapseto;
410
+    //   console.log("会员患病时间", memberlapseto);
411
+    //   if (memberlapseto === "留治") {
412
+    //     this.patientForm.memberlapseto = 1;
413
+    //   }
414
+    //   if (memberlapseto === "转出") {
415
+    //     this.patientForm.memberlapseto = 2;
416
+    //   }
417
+
418
+    //   var TreatmentMethod = this.patientForm.TreatmentMethod;
419
+    //   if (TreatmentMethod === "西医治疗") {
420
+    //     this.patientForm.TreatmentMethod = 1;
421
+    //   }
422
+    //   if (TreatmentMethod === "中医治疗") {
423
+    //     this.patientForm.TreatmentMethod = 2;
424
+    //   }
425
+
426
+    //   if (TreatmentMethod === "血液透析") {
427
+    //     this.patientForm.TreatmentMethod = 3;
428
+    //   }
429
+
430
+    //   if (TreatmentMethod === "腹膜透析") {
431
+    //     this.patientForm.TreatmentMethod = 4;
432
+    //   }
433
+
434
+    //   if (TreatmentMethod === "肾移植") {
435
+    //     this.patientForm.TreatmentMethod = 5;
436
+    //   }
437
+
438
+    //   if (TreatmentMethod === "其他") {
439
+    //     this.patientForm.TreatmentMethod = 6;
440
+    //   }
441
+
442
+    //   if (this.patientForm.dialysis === "") {
443
+    //     this.patientForm.dialysis = 0;
444
+    //   }
445
+
446
+    //   if (this.patientForm.admissionNumber === "") {
447
+    //     this.patientForm.admissionNumber = 0;
448
+    //   }
449
+    //   if (this.patientForm.memberlapseto === "") {
450
+    //     this.patientForm.memberlapseto = 1;
451
+    //   }
452
+
453
+    //   if (this.patientForm.TreatmentMethod === "") {
454
+    //     this.patientForm.TreatmentMethod = 1;
455
+    //   }
456
+
457
+    //   this.$refs[formName].validate(valid => {
458
+    //     if (valid) {
459
+    //       savePatient(this.patientForm, telephone).then(response => {
460
+    //         if (response.data.state === 1) {
461
+    //           var patients = response.data.data.bloodPatients;
462
+    //           // console.log('patients', patients)
463
+    //           var patientss = response.data.data.patientss;
464
+    //           console.log("paitentss", patientss);
465
+    //           var phone = this.$route.query.phone;
466
+    //           this.$router.push("/patientmanagement?phone=" + phone);
467
+    //         } else {
468
+    //           this.$message.error("身份证号码或者手机号码重复");
469
+    //         }
470
+    //       });
471
+    //     }
472
+    //   });
473
+    // },
474
+    // generatedialysisno() {
475
+    //   var phone = this.$route.query.phone;
476
+    //   console.log("phone的是什么", phone);
477
+    //   GenerateDialysisNo(phone).then(response => {
478
+    //     // eslint-disable-next-line eqeqeq
479
+    //     if (response.data.state == 1) {
480
+    //       var no = response.data.data.no + "";
481
+    //       console.log("no", no);
482
+    //       console.log("no是设么", response.data.data.no);
483
+    //       this.patientForm.dialysis = no;
484
+    //     }
485
+    //   });
486
+    // },
487
+    // checkIdCardNo() {
488
+    //   if (!isCardNo(this.patientForm.idCard)) {
489
+    //     this.$message.error("身份证号码信息有误!");
490
+    //     this.patientForm.birthday = "";
491
+    //     return false;
492
+    //   }
493
+    //   var thisLen = this.patientForm.idCard.length;
494
+    //   var birth = "";
495
+    //   if (thisLen === 15) {
496
+    //     birth = "19" + this.patientForm.idCard.substr(6, 6);
497
+    //   } else {
498
+    //     birth = this.patientForm.idCard.substr(6, 8);
499
+    //   }
500
+    //   this.patientForm.birthday =
501
+    //     birth.substr(0, 4) +
502
+    //     "-" +
503
+    //     birth.substr(4, 2) +
504
+    //     "-" +
505
+    //     birth.substr(6, 2);
506
+    //   console.log("出生日期", this.patientForm.birthday);
507
+    // },
508
+
509
+    // handleChangePatientType(values) {
510
+    //   console.log("values是设么", values);
511
+    //   console.log("values", values[1]);
512
+    //   for (let index = 0; index < values.length; index++) {
513
+    //     if (values[0] === 1) {
514
+    //       this.bloodshow = true;
515
+    //       this.slowDiseaseShow = false;
516
+    //       this.memberShow = false;
517
+    //     }
518
+    //     if (values[0] === 1 && values[1] === 2) {
519
+    //       this.slowDiseaseShow = true;
520
+    //       this.bloodshow = true;
521
+    //       this.memberShow = false;
522
+    //     }
523
+    //     if (values[0] === 1 && values[2] === 2) {
524
+    //       this.bloodshow = true;
525
+    //       this.slowDiseaseShow = false;
526
+    //       this.memberShow = true;
527
+    //     }
528
+
529
+    //     if (values[0] === 1 && values[1] === 2 && values[2] === 3) {
530
+    //       this.bloodshow = true;
531
+    //       this.slowDiseaseShow = true;
532
+    //       this.memberShow = true;
533
+    //     }
534
+
535
+    //     if (values[0] === 1 && values[1] === 3) {
536
+    //       this.slowDiseaseShow = true;
537
+    //       this.memberShow = true;
538
+    //       this.bloodshow = false;
539
+    //     }
540
+
541
+    //     if (values[0] === 2) {
542
+    //       this.slowDiseaseShow = true;
543
+    //       this.bloodshow = false;
544
+    //       this.memberShow = false;
545
+    //     }
546
+
547
+    //     if (values[0] === 3) {
548
+    //       this.memberShow = true;
549
+    //       this.slowDiseaseShow = false;
550
+    //       this.bloodshow = false;
551
+    //     }
552
+    //   }
553
+    // },
554
+    // changeSex(value) {
555
+    //   console.log("value是什么", value);
556
+    // },
557
+    // // eslint-disable-next-line no-dupe-keys
558
+    // handleAvatarSuccess(res, file) {
559
+    //   this.patientForm.patientHead = this.qiniuDomain + res.url;
560
+    //   this.uploading = false;
561
+    // },
562
+
563
+    // // eslint-disable-next-line no-dupe-keys
564
+    // beforeAvatarUpload(file) {
565
+    //   var fileType = file.type;
566
+    //   const isJPG = fileType.indexOf("image") > -1;
567
+    //   const isLt2M = file.size / 1024 / 1024 < 2;
568
+
569
+    //   if (!isJPG) {
570
+    //     this.$message.error("只能上传图片");
571
+    //     return false;
572
+    //   }
573
+    //   if (!isLt2M) {
574
+    //     this.$message.error("上传头像图片大小不能超过 2MB!");
575
+    //     return false;
576
+    //   }
577
+
578
+    //   var date = new Date();
579
+    //   // eslint-disable-next-line no-undef
580
+    //   var ext = getFileExtension(file.name);
581
+    //   var key =
582
+    //     "" +
583
+    //     date.getFullYear() +
584
+    //     (date.getMonth() + 1) +
585
+    //     date.getDate() +
586
+    //     date.getHours() +
587
+    //     date.getMinutes() +
588
+    //     date.getSeconds() +
589
+    //     "_o_" +
590
+    //     file.uid +
591
+    //     "." +
592
+    //     ext;
593
+    //   this.uploading = true;
594
+    //   this.loadingText = "机构头像上传中";
595
+
596
+    //   const _self = this;
597
+    //   return new Promise((resolve, reject) => {
598
+    //     getToken()
599
+    //       .then(response => {
600
+    //         const token = response.data.data.uptoken;
601
+    //         console.log("token是什么", token);
602
+    //         _self._data.uploadData.token = token;
603
+    //         _self._data.uploadData.key = key;
604
+    //         resolve(true);
605
+    //       })
606
+    //       // eslint-disable-next-line handle-callback-err
607
+    //       .catch(err => {
608
+    //         reject(false);
609
+    //         this.uploading = false;
610
+    //       });
611
+    //   });
612
+    // }
613
+  },
614
+  created() {
615
+    var phone = this.$route.query.phone;
616
+    console.log("phones是什么", phone);
617
+  }
618
+};
619
+</script>
620
+
621
+<style lang="scss">
622
+.page_editPatients {
623
+  overflow-y: auto;
624
+  height: 100%;
625
+  background: #fafafa;
626
+  .addPatientsTitle {
627
+    height: 3.125rem;
628
+    display: flex;
629
+    align-items: center;
630
+    justify-content: space-between;
631
+    width: 100%;
632
+    padding: 0 1.125rem;
633
+    background: #fff;
634
+  }
635
+  .jiantou {
636
+    font-size: 1.5rem;
637
+    font-weight: 600;
638
+    margin-right: 1.25rem;
639
+  }
640
+  .titleName {
641
+    font-size: 1.125rem;
642
+    font-weight: 600;
643
+  }
644
+  .basicTitle {
645
+    font-size: 0.75rem;
646
+    color: #989898;
647
+    padding: 0 1rem;
648
+    height: 1.875rem;
649
+    line-height: 1.875rem;
650
+  }
651
+  .basicBox {
652
+    .van-cell__value {
653
+      display: flex;
654
+    }
655
+    .van-field__body {
656
+      width: 100%;
657
+    }
658
+  }
659
+  .custom-title::before {
660
+    position: absolute;
661
+    left: 8px;
662
+    color: #ee0a24;
663
+    font-size: 14px;
664
+    content: "*";
665
+  }
666
+  .van-cell__title {
667
+    display: flex;
668
+  }
669
+  .van-checkbox-group {
670
+    display: flex;
671
+    flex-wrap: wrap;
672
+  }
673
+  .van-checkbox {
674
+    width: 48%;
675
+    margin-bottom: 0.625rem;
676
+  }
677
+  .autoGeneration {
678
+    width: 5rem;
679
+    height: 1.875rem;
680
+    line-height: 1.875rem;
681
+    background: #338afb;
682
+    border-radius: 0.9375rem;
683
+    text-align: center;
684
+  }
685
+  .van-button--info {
686
+    border-radius: 0.9375rem;
687
+  }
688
+  .moreInfo {
689
+    text-align: center;
690
+    font-size: 0.75rem;
691
+    color: #338afb;
692
+    margin: 0.625rem 0 4.5rem;
693
+  }
694
+  .van-cell {
695
+    align-items: center;
696
+  }
697
+  .turnOut {
698
+    height: 2.8125rem;
699
+    line-height: 2.8125rem;
700
+    text-align: center;
701
+    background: #fff;
702
+    margin-top: 0.75rem;
703
+  }
704
+}
705
+::-webkit-scrollbar {
706
+  width: 0;
707
+}
708
+</style>

+ 287 - 0
src/kpa_pages/editRole/index.vue View File

@@ -0,0 +1,287 @@
1
+<template>
2
+  <div class="page_editRole">
3
+    <div class="editRoleTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">新增角色</span>
6
+      <span style="color:#F44746">删除角色</span>
7
+    </div>
8
+    <div class="roleDescription">
9
+      <van-field
10
+        v-model="text"
11
+        required
12
+        label="角色名称"
13
+        placeholder="请填写角色名称"
14
+      />
15
+      <van-field
16
+        v-model="text1"
17
+        label="角色描述"
18
+        placeholder="请填写角色描述"
19
+      />
20
+    </div>
21
+    <div class="disposeBox">
22
+      <p class="disposeTitle">应用权限配置</p>
23
+      <div class="disposeOne">
24
+        <div class="disposeImg">
25
+          <img src="../../assets/images/S1.png" alt="" />
26
+        </div>
27
+        <div class="disposeTxt">
28
+          <div>
29
+            <p class="disposeName">患者中心</p>
30
+            <p class="disposeTip">新增患者、患者管理</p>
31
+          </div>
32
+          <van-icon class="arrow" name="arrow" />
33
+        </div>
34
+      </div>
35
+      <div class="disposeOne">
36
+        <div class="disposeImg">
37
+          <img src="../../assets/images/S2.png" alt="" />
38
+        </div>
39
+        <div class="disposeTxt">
40
+          <div>
41
+            <p class="disposeName">排班管理</p>
42
+            <p class="disposeTip">排班管理、排班提醒</p>
43
+          </div>
44
+          <van-icon class="arrow" name="arrow" />
45
+        </div>
46
+      </div>
47
+      <div class="disposeOne">
48
+        <div class="disposeImg">
49
+          <img src="../../assets/images/S3.png" alt="" />
50
+        </div>
51
+        <div class="disposeTxt">
52
+          <div>
53
+            <p class="disposeName">签到体重</p>
54
+            <p class="disposeTip">签到状态、透前透后数据</p>
55
+          </div>
56
+          <van-switch v-model="checked" size="24" />
57
+        </div>
58
+      </div>
59
+      <div class="disposeOne">
60
+        <div class="disposeImg">
61
+          <img src="../../assets/images/S4.png" alt="" />
62
+        </div>
63
+        <div class="disposeTxt">
64
+          <div>
65
+            <p class="disposeName">透析管理</p>
66
+            <p class="disposeTip">透析医嘱、透析记录、透析监测</p>
67
+          </div>
68
+          <van-icon class="arrow" name="arrow" />
69
+        </div>
70
+      </div>
71
+      <div class="disposeOne">
72
+        <div class="disposeImg">
73
+          <img src="../../assets/images/S12.png" alt="" />
74
+        </div>
75
+        <div class="disposeTxt">
76
+          <div>
77
+            <p class="disposeName">库存管理</p>
78
+            <p class="disposeTip">入库单、出库单、退库单、库存查询...</p>
79
+          </div>
80
+          <van-icon class="arrow" name="arrow" />
81
+        </div>
82
+      </div>
83
+      <div class="disposeOne">
84
+        <div class="disposeImg">
85
+          <img src="../../assets/images/S5.png" alt="" />
86
+        </div>
87
+        <div class="disposeTxt">
88
+          <div>
89
+            <p class="disposeName">质控管理</p>
90
+            <p class="disposeTip">患者统计分析、指标统计分析</p>
91
+          </div>
92
+          <van-icon class="arrow" name="arrow" />
93
+        </div>
94
+      </div>
95
+      <div class="disposeOne">
96
+        <div class="disposeImg">
97
+          <img src="../../assets/images/S6.png" alt="" />
98
+        </div>
99
+        <div class="disposeTxt">
100
+          <div>
101
+            <p class="disposeName">院感管理</p>
102
+            <p class="disposeTip">感染管理、消毒管理</p>
103
+          </div>
104
+          <van-icon class="arrow" name="arrow" />
105
+        </div>
106
+      </div>
107
+      <div class="disposeOne">
108
+        <div class="disposeImg">
109
+          <img src="../../assets/images/S7.png" alt="" />
110
+        </div>
111
+        <div class="disposeTxt">
112
+          <div>
113
+            <p class="disposeName">血管通路</p>
114
+            <p class="disposeTip">内篓管理、数据记录</p>
115
+          </div>
116
+          <van-icon class="arrow" name="arrow" />
117
+        </div>
118
+      </div>
119
+      <div class="disposeOne">
120
+        <div class="disposeImg">
121
+          <img src="../../assets/images/S8.png" alt="" />
122
+        </div>
123
+        <div class="disposeTxt">
124
+          <div>
125
+            <p class="disposeName">慢病管理</p>
126
+            <p class="disposeTip">患者院外监测、患者随访</p>
127
+          </div>
128
+          <van-icon class="arrow" name="arrow" />
129
+        </div>
130
+      </div>
131
+      <div class="disposeOne">
132
+        <div class="disposeImg">
133
+          <img src="../../assets/images/S9.png" alt="" />
134
+        </div>
135
+        <div class="disposeTxt">
136
+          <div>
137
+            <p class="disposeName">SCRM</p>
138
+            <p class="disposeTip">品牌建设、营销工具</p>
139
+          </div>
140
+          <van-icon class="arrow" name="arrow" />
141
+        </div>
142
+      </div>
143
+      <div class="disposeOne">
144
+        <div class="disposeImg">
145
+          <img src="../../assets/images/S10.png" alt="" />
146
+        </div>
147
+        <div class="disposeTxt">
148
+          <div>
149
+            <p class="disposeName">分销商城</p>
150
+            <p class="disposeTip">一键开店、分销商品</p>
151
+          </div>
152
+          <van-switch v-model="checked" size="24" />
153
+        </div>
154
+      </div>
155
+      <div class="disposeOne">
156
+        <div class="disposeImg">
157
+          <img src="../../assets/images/S11.png" alt="" />
158
+        </div>
159
+        <div class="disposeTxt">
160
+          <div>
161
+            <p class="disposeName">设备管理</p>
162
+            <p class="disposeTip">设备登记、维修记录</p>
163
+          </div>
164
+          <van-icon class="arrow" name="arrow" />
165
+        </div>
166
+      </div>
167
+      <div class="disposeOne">
168
+        <div class="disposeImg">
169
+          <img src="../../assets/images/S13.png" alt="" />
170
+        </div>
171
+        <div class="disposeTxt noTxt">
172
+          <div>
173
+            <p class="disposeName">客服中心</p>
174
+            <p style="visibility: hidden;">1</p>
175
+          </div>
176
+          <van-switch v-model="checked" size="24" />
177
+        </div>
178
+      </div>
179
+    </div>
180
+  </div>
181
+</template>
182
+
183
+<script>
184
+export default {
185
+  data() {
186
+    return {
187
+      text1: "",
188
+      checked: false
189
+    };
190
+  }
191
+};
192
+</script>
193
+
194
+<style lang="scss" scoped>
195
+.page_editRole {
196
+  height: 100%;
197
+  overflow-y: auto;
198
+  background: #fafafa;
199
+  .editRoleTitle {
200
+    background: #fff;
201
+    padding: 0 1.125rem;
202
+    height: 3.125rem;
203
+    display: flex;
204
+    align-items: center;
205
+    justify-content: space-between;
206
+  }
207
+  .jiantou {
208
+    font-size: 1.5rem;
209
+    font-weight: 600;
210
+    margin-right: 3rem;
211
+  }
212
+  .titleName {
213
+    font-size: 1.125rem;
214
+    font-weight: 600;
215
+  }
216
+  .roleDescription {
217
+    margin: 0.875rem 0;
218
+    .van-cell {
219
+      font-size: 1rem;
220
+    }
221
+  }
222
+  .disposeBox {
223
+    margin-bottom: 1.25rem;
224
+    .disposeTitle {
225
+      height: 2.8125rem;
226
+      line-height: 2.8125rem;
227
+      background: rgba(255, 255, 255, 1);
228
+      box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
229
+      font-weight: bold;
230
+      color: #313234;
231
+      padding-left: 1.125rem;
232
+    }
233
+    .disposeOne {
234
+      display: flex;
235
+      justify-content: space-between;
236
+      height: 4.0625rem;
237
+      background: #fff;
238
+      .disposeImg {
239
+        width: 12%;
240
+        padding-left: 1.125rem;
241
+        padding-top: 1.125rem;
242
+        img {
243
+          width: 1.5rem;
244
+          height: 1.5rem;
245
+        }
246
+      }
247
+      .disposeTxt {
248
+        width: 86%;
249
+        box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.1);
250
+        display: flex;
251
+        justify-content: space-between;
252
+        align-items: center;
253
+        padding-right: 0.875rem;
254
+      }
255
+      .noTxt {
256
+        box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
257
+      }
258
+      .disposeName {
259
+        font-size: 1rem;
260
+        color: #313234;
261
+        margin-top: 0.375rem;
262
+      }
263
+      .disposeTip {
264
+        font-size: 0.8125rem;
265
+        color: #9b9b9b;
266
+        margin-top: 0.375rem;
267
+      }
268
+      .arrow {
269
+        color: #9f9f9f;
270
+      }
271
+    }
272
+  }
273
+}
274
+::-webkit-scrollbar {
275
+  width: 0;
276
+}
277
+</style>
278
+<style lang="scss">
279
+.page_editRole {
280
+  .roleDescription {
281
+    .van-cell__value {
282
+      display: flex;
283
+      align-items: center;
284
+    }
285
+  }
286
+}
287
+</style>

+ 135 - 0
src/kpa_pages/editStaff/index.vue View File

@@ -0,0 +1,135 @@
1
+<template>
2
+  <div class="page_editStaff">
3
+    <div class="editStaffTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">编辑员工</span>
6
+      <p>保存</p>
7
+    </div>
8
+    <div class="editStaffTip">必填</div>
9
+    <div class="staffBox">
10
+      <van-field
11
+        v-model="text"
12
+        label="姓名"
13
+        clearable
14
+        placeholder="请输入姓名"
15
+      />
16
+      <van-field
17
+        v-model="tel"
18
+        type="tel"
19
+        label="手机号"
20
+        clearable
21
+        placeholder="请输入手机号"
22
+      />
23
+      <van-cell class="newCell">
24
+        <!-- 使用 title 插槽来自定义标题 -->
25
+        <template slot="title">
26
+          <span class="custom-title">角色</span>
27
+          <div style="width:76%;margin-left:3.3rem">
28
+            <van-checkbox-group v-model="result">
29
+              <van-checkbox style="width: 30%;" name="a" shape="square"
30
+                >医生</van-checkbox
31
+              >
32
+              <van-checkbox style="width: 30%;" name="b" shape="square"
33
+                >护士</van-checkbox
34
+              >
35
+              <van-checkbox style="width: 30%;" name="c" shape="square"
36
+                >运营</van-checkbox
37
+              >
38
+              <van-checkbox style="width: 30%;" name="d" shape="square"
39
+                >库存</van-checkbox
40
+              >
41
+              <van-checkbox style="width: 30%;" name="e" shape="square"
42
+                >院长</van-checkbox
43
+              >
44
+              <van-checkbox style="width: 40%;" name="f" shape="square"
45
+                >子管理员</van-checkbox
46
+              >
47
+            </van-checkbox-group>
48
+          </div>
49
+        </template>
50
+      </van-cell>
51
+    </div>
52
+    <div class="editStaffTip">选填</div>
53
+    <div class="staffBox">
54
+      <van-field v-model="text" label="职位" placeholder="请填写" />
55
+    </div>
56
+    <div class="stop">禁用该员工账号</div>
57
+  </div>
58
+</template>
59
+
60
+<script>
61
+export default {
62
+  data() {
63
+    return {
64
+      result: []
65
+    };
66
+  }
67
+};
68
+</script>
69
+
70
+<style lang="scss" scoped>
71
+.page_editStaff {
72
+  height: 100%;
73
+  overflow: hidden;
74
+  background: #fafafa;
75
+  .editStaffTitle {
76
+    height: 3.125rem;
77
+    display: flex;
78
+    align-items: center;
79
+    justify-content: space-between;
80
+    width: 100%;
81
+    padding: 0 1.125rem;
82
+    background: #fff;
83
+  }
84
+  .jiantou {
85
+    font-size: 1.5rem;
86
+    font-weight: 600;
87
+    margin-right: 1.25rem;
88
+  }
89
+  .titleName {
90
+    font-size: 1.125rem;
91
+    font-weight: 600;
92
+  }
93
+  .editStaffTip {
94
+    height: 1.875rem;
95
+    line-height: 1.875rem;
96
+    font-size: 0.75rem;
97
+    padding-left: 0.875rem;
98
+    color: #989898;
99
+  }
100
+  .staffBox {
101
+    .van-cell {
102
+      font-size: 1rem;
103
+    }
104
+    .newCell {
105
+      padding-right: 0;
106
+    }
107
+  }
108
+  .van-cell__title {
109
+    display: flex;
110
+  }
111
+  .van-checkbox-group {
112
+    display: flex;
113
+    flex-wrap: wrap;
114
+  }
115
+  .van-checkbox {
116
+    margin-bottom: 0.625rem;
117
+  }
118
+  .stop {
119
+    height: 2.8125rem;
120
+    line-height: 2.8125rem;
121
+    text-align: center;
122
+    background: #fff;
123
+    width: 100%;
124
+    margin-top: 0.875rem;
125
+  }
126
+}
127
+</style>
128
+<style lang="scss">
129
+.page_editStaff {
130
+  .van-cell__value {
131
+    display: flex;
132
+    align-items: center;
133
+  }
134
+}
135
+</style>

+ 117 - 0
src/kpa_pages/employeeList/index.vue View File

@@ -0,0 +1,117 @@
1
+<template>
2
+  <div class="page_employeeList">
3
+    <div class="editRoleTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+      <span class="titleName">员工列表</span>
6
+      <span>保存</span>
7
+    </div>
8
+    <div class="allCheckBox">
9
+      <div class="allCheck">
10
+        <van-checkbox v-model="allChecked" @click="checkAll"></van-checkbox>
11
+        <div style="margin-left:1.25rem">全选</div>
12
+      </div>
13
+      <van-checkbox-group
14
+        v-model="result"
15
+        ref="checkboxGroup"
16
+        @change="onChange"
17
+      >
18
+        <div class="checkOne">
19
+          <van-checkbox name="a"></van-checkbox>
20
+          <div class="checkUserBox">
21
+            <img src="../../assets/images/one.jpg" alt="" />
22
+            <p>名字</p>
23
+          </div>
24
+        </div>
25
+        <div class="checkOne">
26
+          <van-checkbox name="b"></van-checkbox>
27
+          <div class="checkUserBox">
28
+            <img src="../../assets/images/one.jpg" alt="" />
29
+            <p>名字</p>
30
+          </div>
31
+        </div>
32
+      </van-checkbox-group>
33
+    </div>
34
+  </div>
35
+</template>
36
+
37
+<script>
38
+export default {
39
+  data() {
40
+    return {
41
+      allChecked: false,
42
+      list: ["a", "b"],
43
+      result: []
44
+    };
45
+  },
46
+  methods: {
47
+    checkAll() {
48
+      if (this.allChecked == false) {
49
+        this.result = this.list;
50
+        this.allChecked = true;
51
+      } else {
52
+        this.result = [];
53
+      }
54
+    },
55
+    onChange() {
56
+      if (this.result.length == this.list.length) {
57
+        this.allChecked = true;
58
+        this.$refs.checkboxes.toggle();
59
+      } else {
60
+        this.allChecked = false;
61
+        this.$refs.checkboxes.toggle();
62
+      }
63
+    }
64
+  }
65
+};
66
+</script>
67
+
68
+<style lang="scss" scoped>
69
+.page_employeeList {
70
+  height: 100%;
71
+  overflow-y: auto;
72
+  background: #fafafa;
73
+  .editRoleTitle {
74
+    background: #fff;
75
+    padding: 0 1.125rem;
76
+    height: 3.125rem;
77
+    display: flex;
78
+    align-items: center;
79
+    justify-content: space-between;
80
+  }
81
+  .jiantou {
82
+    font-size: 1.5rem;
83
+    font-weight: 600;
84
+    margin-right: 1.5rem;
85
+  }
86
+  .titleName {
87
+    font-size: 1.125rem;
88
+    font-weight: 600;
89
+  }
90
+  .allCheckBox {
91
+    .allCheck {
92
+      height: 2.8125rem;
93
+      display: flex;
94
+      align-items: center;
95
+      background: #fff;
96
+      padding-left: 0.75rem;
97
+      margin: 1rem 0;
98
+    }
99
+    .checkOne {
100
+      background: #fff;
101
+      height: 3.75rem;
102
+      display: flex;
103
+      align-items: center;
104
+      padding-left: 0.75rem;
105
+    }
106
+    .checkUserBox {
107
+      display: flex;
108
+      align-items: center;
109
+      img {
110
+        width: 2.5rem;
111
+        height: 2.5rem;
112
+        margin: 0 0.75rem 0 1.25rem;
113
+      }
114
+    }
115
+  }
116
+}
117
+</style>

+ 71 - 0
src/kpa_pages/getName/index.vue View File

@@ -0,0 +1,71 @@
1
+<template>
2
+  <div class="page_getName">
3
+    <div class="getNameTitle">
4
+      <i class="iconfont icon-zuojiantou jiantou"></i>
5
+    </div>
6
+    <div class="getNameBox">
7
+      <div class="welcome">你好,欢迎使用酷医云</div>
8
+      <div class="tips">接下来请完善信息,以便获取更精准的服务</div>
9
+      <div class="problemBox">
10
+        <span style="color:#F44746">*</span>
11
+        <span class="problem">请问你的姓名是?</span>
12
+      </div>
13
+      <div class="inputBox">
14
+        <van-field v-model="value" placeholder="请输入用户名" />
15
+      </div>
16
+      <div class="next">下一步</div>
17
+    </div>
18
+  </div>
19
+</template>
20
+
21
+
22
+<style lang="scss" scoped>
23
+.page_getName {
24
+  height: 100%;
25
+  overflow: hidden;
26
+  .getNameTitle {
27
+    height: 3.125rem;
28
+    line-height: 3.125rem;
29
+    display: flex;
30
+    align-items: center;
31
+  }
32
+  .jiantou {
33
+    margin-left: 1rem;
34
+    font-size: 1.5rem;
35
+    font-weight: 600;
36
+  }
37
+  .getNameBox {
38
+    padding: 1rem 2rem 0;
39
+  }
40
+  .welcome {
41
+    font-weight: bold;
42
+    font-size: 1.125rem;
43
+    color: #000;
44
+  }
45
+  .problemBox {
46
+    margin-top: 2.625rem;
47
+  }
48
+  .tips {
49
+    font-size: 0.75rem;
50
+    margin-top: 0.875rem;
51
+  }
52
+  .problem {
53
+    font-size: 0.75rem;
54
+  }
55
+  .inputBox {
56
+    border-bottom: 1px solid #e8e8e8;
57
+    margin-top: 1.25rem;
58
+  }
59
+  .next {
60
+    width: 100%;
61
+    height: 2.875rem;
62
+    background: rgba(51, 138, 251, 1);
63
+    box-shadow: 0px 1px 12px 0px rgba(51, 138, 251, 1);
64
+    border-radius: 23px;
65
+    text-align: center;
66
+    line-height: 2.875rem;
67
+    color: #fff;
68
+    margin-top: 3.125rem;
69
+  }
70
+}
71
+</style>

+ 17 - 16
src/kpa_pages/home/index.vue View File

@@ -1,6 +1,6 @@
1 1
 <template>
2
-  <div class="page_home">
3
-    <!-- <div class="top">
2
+  <!-- <div class="page_home">
3
+    <div class="top">
4 4
       <div class="header">
5 5
         <img src="../../assets/images/hospital.png" alt />
6 6
         <van-dropdown-menu>
@@ -67,10 +67,14 @@
67 67
         <i class="iconfont icon-wode"></i>
68 68
         <span>我的</span>
69 69
       </div>
70
-    </div> -->
71
-    <div class="page-home">
70
+    </div>
71
+    
72
+  </div> -->
73
+  <div class="page_home">
74
+    <div>
72 75
       <router-view />
73
-
76
+    </div>
77
+    <div class="homeBottom">
74 78
       <van-tabbar class="tab" v-model="active">
75 79
         <router-link to="/homeIndex" class="link">
76 80
           <van-tabbar-item>
@@ -161,21 +165,18 @@ export default {
161 165
 
162 166
 <style lang="scss">
163 167
 .page_home {
164
-  overflow: hidden;
165
-  box-sizing: border-box;
168
+  height: 100%;
166 169
   display: flex;
167 170
   flex-direction: column;
168
-  height: 100%;
169
-  width: 100%;
170
-  position: fixed;
171
-    top: 0;
172
-    bottom: 0;
173
-    left: 0;
174
-    right: 0;
175
-  // background: rgba(188, 188, 188, 0.1);
176 171
   > div:first-child {
177 172
     flex: 1;
178
-    overflow: auto;
173
+    overflow-y: auto;
174
+  }
175
+  .homeBottom {
176
+    height: 3.125rem;
177
+  }
178
+  ::-webkit-scrollbar {
179
+    width: 0;
179 180
   }
180 181
   .van-tabbar-item {
181 182
     height: 100%;

+ 203 - 13
src/kpa_pages/homeIndex/index.vue View File

@@ -1,20 +1,106 @@
1 1
 <template>
2 2
   <div class="page_homeIndex">
3
-    <div class="homeTitle">
4
-      <div class="homeTitleLeft">
5
-        <van-dropdown-menu>
6
-          <van-dropdown-item v-model="value1" :options="option1" />
7
-        </van-dropdown-menu>
3
+    <van-sticky>
4
+      <div class="homeTitle">
5
+        <div class="homeTitleLeft">
6
+          <van-dropdown-menu>
7
+            <van-dropdown-item v-model="value1" :options="option1" />
8
+          </van-dropdown-menu>
9
+        </div>
10
+        <div class="homeTitleRight">
11
+          <i class="iconfont icon-sousuo search"></i>
12
+          <van-icon class="iconOne" name="comment-o" />
13
+          <van-icon class="iconOne" name="add-o" />
14
+        </div>
8 15
       </div>
9
-      <div class="homeTitleRight">
10
-        <van-icon class="iconOne" name="search" />
11
-        <van-icon class="iconOne" name="comment-o" />
12
-        <van-icon class="iconOne" name="add-o" />
13
-      </div>
14
-    </div>
16
+    </van-sticky>
15 17
     <div class="banner">
16 18
       <img src="../../assets/images/homebanner.jpg" alt />
17 19
     </div>
20
+    <div class="noticeBox">
21
+      <i class="iconfont icon-public-notice notice"></i>
22
+      <div class="noticeNews">
23
+        <div>今日上机:<span>6&ensp;人</span></div>
24
+        <div>今日透析:<span>6&ensp;人</span></div>
25
+        <div>今日生日:<span>6&ensp;人</span></div>
26
+      </div>
27
+    </div>
28
+    <div class="background1"></div>
29
+    <div class="management">
30
+      <div class="managementTitle">
31
+        <div class="managementName">
32
+          管理控制台<span>(仅管理员可见)</span>
33
+        </div>
34
+        <div class="setting"><van-icon name="setting-o" />管理</div>
35
+      </div>
36
+      <div class="managementBox">
37
+        <div class="managementOne">
38
+          <img src="../../assets/images/M1.png" alt="" />员工管理
39
+        </div>
40
+        <div class="managementOne">
41
+          <img src="../../assets/images/M2.png" alt="" />权限管理
42
+        </div>
43
+        <div class="managementOne">
44
+          <img src="../../assets/images/M3.png" alt="" />应用管理
45
+        </div>
46
+        <div class="managementOne">
47
+          <img src="../../assets/images/M4.png" alt="" />机构设置
48
+        </div>
49
+      </div>
50
+    </div>
51
+    <div class="application">
52
+      <div class="applicationTitle">
53
+        <div class="applicationName">应用工作台</div>
54
+        <div class="applicationService">+ 应用服务</div>
55
+      </div>
56
+      <div class="applicationBox">
57
+        <div class="applicationOne">
58
+          <img src="../../assets/images/S1.png" alt="" />患者中心
59
+        </div>
60
+        <div class="applicationOne">
61
+          <img src="../../assets/images/S2.png" alt="" />排班管理
62
+        </div>
63
+        <div class="applicationOne">
64
+          <img src="../../assets/images/S3.png" alt="" />签到称重
65
+        </div>
66
+        <div class="applicationOne">
67
+          <img src="../../assets/images/S4.png" alt="" />透析记录
68
+        </div>
69
+        <div class="applicationOne">
70
+          <img src="../../assets/images/S5.png" alt="" />质控管理
71
+        </div>
72
+        <div class="applicationOne">
73
+          <img src="../../assets/images/S6.png" alt="" />院感管理
74
+        </div>
75
+        <div class="applicationOne">
76
+          <img src="../../assets/images/S7.png" alt="" />血管通路
77
+        </div>
78
+        <div class="applicationOne">
79
+          <img src="../../assets/images/S8.png" alt="" />慢病管理
80
+        </div>
81
+        <div class="applicationOne">
82
+          <img src="../../assets/images/S9.png" alt="" />SCRM
83
+        </div>
84
+        <div class="applicationOne">
85
+          <img src="../../assets/images/S10.png" alt="" />分销商城
86
+        </div>
87
+        <div class="applicationOne">
88
+          <img src="../../assets/images/S11.png" alt="" />设备管理
89
+        </div>
90
+        <div class="applicationOne">
91
+          <img src="../../assets/images/S12.png" alt="" />库存管理
92
+        </div>
93
+        <div class="applicationOne">
94
+          <img src="../../assets/images/S13.png" alt="" />客服中心
95
+        </div>
96
+        <!-- <div class="applicationOne">
97
+          <img src="../../assets/images/S14.png" alt="" />集成中心
98
+        </div> -->
99
+        <div class="applicationOne">
100
+          <img src="../../assets/images/S15.png" alt="" />配置中心
101
+        </div>
102
+      </div>
103
+    </div>
18 104
   </div>
19 105
 </template>
20 106
 <script>
@@ -39,6 +125,7 @@ export default {
39 125
     padding: 0 1.125rem;
40 126
     display: flex;
41 127
     justify-content: space-between;
128
+    background: #fff;
42 129
   }
43 130
   .homeTitleLeft {
44 131
     width: 60%;
@@ -58,6 +145,9 @@ export default {
58 145
   .iconOne {
59 146
     font-size: 1.5rem;
60 147
   }
148
+  .search {
149
+    font-size: 1.5rem;
150
+  }
61 151
   .banner {
62 152
     padding: 0 1.125rem;
63 153
     img {
@@ -65,7 +155,107 @@ export default {
65 155
       width: 100%;
66 156
     }
67 157
   }
158
+  .noticeBox {
159
+    padding: 0 1.125rem;
160
+    height: 2.5rem;
161
+    display: flex;
162
+    align-items: center;
163
+    color: #cccccc;
164
+    .notice {
165
+      font-size: 1.25rem;
166
+      margin-right: 0.375rem;
167
+    }
168
+    .noticeNews {
169
+      width: 90%;
170
+      display: flex;
171
+      justify-content: space-between;
172
+      color: #666666;
173
+      font-size: 0.8125rem;
174
+    }
175
+  }
176
+  .background1 {
177
+    background: #f6f6f6;
178
+    width: 100%;
179
+    height: 0.8125rem;
180
+  }
181
+  .management {
182
+    padding: 1.25rem 1.125rem 0;
183
+  }
184
+  .managementTitle {
185
+    display: flex;
186
+    justify-content: space-between;
187
+    align-items: center;
188
+  }
189
+  .managementName {
190
+    font-weight: bold;
191
+    font-size: 1rem;
192
+    color: #000;
193
+    span {
194
+      font-size: 0.8125rem;
195
+      color: #989898;
196
+      font-weight: 400;
197
+    }
198
+  }
199
+  .setting {
200
+    display: flex;
201
+    align-items: center;
202
+    color: #989898;
203
+    font-size: 0.8125rem;
204
+    .van-icon-setting-o {
205
+      margin-right: 0.25rem;
206
+    }
207
+  }
208
+  .managementBox {
209
+    display: flex;
210
+    justify-content: space-between;
211
+    .managementOne {
212
+      display: flex;
213
+      align-items: center;
214
+      flex-direction: column;
215
+      font-size: 0.8125rem;
216
+      color: #666666;
217
+      img {
218
+        width: 1.375rem;
219
+        height: 1.375rem;
220
+        margin: 1rem 0 0.2rem;
221
+      }
222
+    }
223
+  }
224
+  .application {
225
+    .applicationTitle {
226
+      display: flex;
227
+      justify-content: space-between;
228
+      align-items: center;
229
+      padding: 1.25rem 1.125rem 0.625rem;
230
+    }
231
+    .applicationName {
232
+      font-weight: bold;
233
+      font-size: 1rem;
234
+      color: #000;
235
+    }
236
+    .applicationService {
237
+      font-size: 0.8125rem;
238
+      color: #666666;
239
+    }
240
+  }
241
+  .applicationBox {
242
+    display: flex;
243
+    flex-wrap: wrap;
244
+    .applicationOne {
245
+      width: 25%;
246
+      display: flex;
247
+      align-items: center;
248
+      flex-direction: column;
249
+      padding: 0.625rem 0;
250
+      font-size: 0.8125rem;
251
+      color: #666666;
252
+      img {
253
+        width: 3.25rem;
254
+        height: 3.25rem;
255
+        margin-bottom: 0.375rem;
256
+      }
257
+    }
258
+  }
68 259
 }
69 260
 </style>
70
-<style lang="scss">
71
-</style>
261
+<style lang="scss"></style>

+ 18 - 1
src/kpa_pages/login/login.vue View File

@@ -37,6 +37,12 @@
37 37
         <p class="register" @click="ToRegister()">快速注册</p>
38 38
       </div>
39 39
     </div>
40
+    <div class="agreeBox">
41
+      <van-checkbox v-model="checked" shape="square"
42
+        >我已阅读并同意</van-checkbox
43
+      ><span class="newColor">《隐私服务协议》</span
44
+      ><span class="newColor">《用户协议》</span>
45
+    </div>
40 46
   </div>
41 47
 </template>
42 48
 
@@ -54,6 +60,7 @@ export default {
54 60
       }
55 61
     };
56 62
     return {
63
+      checked: true,
57 64
       tel: "",
58 65
       psd: "",
59 66
       LoginForm: {
@@ -142,7 +149,6 @@ export default {
142 149
   }
143 150
   .loginBottom {
144 151
     width: 23.4375rem;
145
-    height: 27.625rem;
146 152
     padding-top: 1rem;
147 153
     box-sizing: border-box;
148 154
   }
@@ -151,6 +157,17 @@ export default {
151 157
     color: #1a8cff;
152 158
     margin: 0.5625rem 0 1.5rem 17.4375rem;
153 159
   }
160
+  .agreeBox {
161
+    width: 82%;
162
+    display: flex;
163
+    align-items: center;
164
+    font-size: 0.8125rem;
165
+    margin: 3.75rem auto 0;
166
+
167
+    .newColor {
168
+      color: #338afb;
169
+    }
170
+  }
154 171
   .login {
155 172
     width: 19.25rem;
156 173
     height: 2.875rem;

+ 0 - 0
src/kpa_pages/managementConsole/index.vue View File


Some files were not shown because too many files changed in this diff