Browse Source

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

csx 4 years ago
parent
commit
0b4efc16c6
68 changed files with 2030 additions and 670 deletions
  1. 11 1
      src/api/drug/drug.js
  2. 2 1
      src/lang/zh.js
  3. 0 0
      src/router/index.js
  4. 0 0
      src/router/index_路由未分离前.js
  5. 0 0
      src/router/modules/createPatient.js
  6. 0 0
      src/router/modules/dataDictionary.js
  7. 0 0
      src/router/modules/dataDruguse.js
  8. 0 0
      src/router/modules/dataPrescription.js
  9. 0 0
      src/router/modules/dataPrint.js
  10. 0 0
      src/router/modules/dataShowconfig.js
  11. 0 0
      src/router/modules/dataTemplate.js
  12. 0 0
      src/router/modules/data_dict.js
  13. 0 0
      src/router/modules/data_upload.js
  14. 0 0
      src/router/modules/device.js
  15. 52 90
      src/router/modules/dialysis.js
  16. 0 0
      src/router/modules/dialysisRecord.js
  17. 0 0
      src/router/modules/drugs.js
  18. 0 0
      src/router/modules/integration.js
  19. 0 0
      src/router/modules/kuyiShopping.js
  20. 0 0
      src/router/modules/medical_scheduling.js
  21. 0 0
      src/router/modules/org.js
  22. 0 0
      src/router/modules/otherManagement.js
  23. 0 0
      src/router/modules/outpatientCharges.js
  24. 0 0
      src/router/modules/outpatientDoctorStation.js
  25. 0 0
      src/router/modules/outpatientPharmacy.js
  26. 0 0
      src/router/modules/outpatientRegistration.js
  27. 0 0
      src/router/modules/patient.js
  28. 13 13
      src/router/modules/qcd.js
  29. 0 0
      src/router/modules/role.js
  30. 0 0
      src/router/modules/roleManage.js
  31. 0 0
      src/router/modules/scrm.js
  32. 0 0
      src/router/modules/selfPreparedMedicine.js
  33. 0 0
      src/router/modules/service.js
  34. 0 0
      src/router/modules/shop.js
  35. 0 0
      src/router/modules/slow.js
  36. 0 0
      src/router/modules/specialDictionary.js
  37. 1 266
      src/router/modules/stock.js
  38. 5 69
      src/router/modules/systems.js
  39. 10 0
      src/router/modules/weight_sign.js
  40. 0 0
      src/router/modules/workforce.js
  41. 67 9
      src/views/layout/Layout.vue
  42. 6 6
      src/views/layout/components/Sidebar/index.vue
  43. 3 2
      src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue
  44. 127 57
      src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue
  45. 166 10
      src/xt_pages/dialysis/details/dialog/adviceDialog/EditGroupAdvice.vue
  46. 1 1
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  47. 190 37
      src/xt_pages/outpatientRegistration/index.vue
  48. 1 2
      src/xt_pages/outpatientRegistration/registrationHistory.vue
  49. 53 0
      src/xt_pages/sign/calling.vue
  50. 90 0
      src/xt_pages/sign/components/beforeDialysisCalling.vue
  51. 93 0
      src/xt_pages/sign/components/called.vue
  52. 160 0
      src/xt_pages/sign/components/callingConfigure.vue
  53. 82 0
      src/xt_pages/sign/components/computerCalling.vue
  54. 84 0
      src/xt_pages/sign/components/treatmentConfigure.vue
  55. 61 0
      src/xt_pages/sign/components/waitingCalled.vue
  56. 201 0
      src/xt_pages/sign/lineUp.vue
  57. 154 0
      src/xt_pages/sign/signIn.vue
  58. 1 2
      src/xt_pages/stock/selfPreparedMedicine/components/addMedicine.vue
  59. 13 3
      src/xt_pages/stock/selfPreparedMedicine/components/medicineDetail.vue
  60. 9 4
      src/xt_pages/stock/selfPreparedMedicine/components/warehouseOut.vue
  61. 9 3
      src/xt_pages/stock/selfPreparedMedicine/components/warehousing.vue
  62. 50 13
      src/xt_pages/stock/selfPreparedMedicine/index.vue
  63. 30 6
      src/xt_pages/stock/selfPreparedMedicine/info.vue
  64. 3 6
      src/xt_pages/stock/selfPreparedMedicine/query.vue
  65. 165 11
      src/xt_pages/user/components/EditGroupAdvice.vue
  66. 103 44
      src/xt_pages/user/doctorAdvice.vue
  67. 1 1
      src/xt_pages/user/patients.vue
  68. 13 13
      src/xt_permission.js

+ 11 - 1
src/api/drug/drug.js View File

@@ -216,4 +216,14 @@ export function getDrugDescByDrugName(params){
216 216
       methods:"get",
217 217
       params:params
218 218
    })
219
-}
219
+}
220
+
221
+export function getDrugSet(params){
222
+  
223
+   return request({
224
+      url:"/api/drug/getdrugset",
225
+      methods:"get",
226
+      params:params
227
+   })
228
+}
229
+

+ 2 - 1
src/lang/zh.js View File

@@ -224,7 +224,8 @@ export default {
224 224
     signIndex:'签到排队',
225 225
     signIn:'签到窗口',
226 226
     lineUp:'排队窗口',
227
-
227
+    otherManagement:'其他管理',
228
+    calling:'排队叫号',
228 229
 
229 230
   },
230 231
   navbar: {

+ 0 - 0
src/router/index.js View File


+ 0 - 0
src/router/index_路由未分离前.js View File


+ 0 - 0
src/router/modules/createPatient.js View File


+ 0 - 0
src/router/modules/dataDictionary.js View File


+ 0 - 0
src/router/modules/dataDruguse.js View File


+ 0 - 0
src/router/modules/dataPrescription.js View File


+ 0 - 0
src/router/modules/dataPrint.js View File


+ 0 - 0
src/router/modules/dataShowconfig.js View File


+ 0 - 0
src/router/modules/dataTemplate.js View File


+ 0 - 0
src/router/modules/data_dict.js View File


+ 0 - 0
src/router/modules/data_upload.js View File


+ 0 - 0
src/router/modules/device.js View File


+ 52 - 90
src/router/modules/dialysis.js View File

@@ -20,106 +20,68 @@ export default {
20 20
         noCache: true
21 21
       }
22 22
     },
23
+    {
24
+      path: '/dialysis/board',
25
+      component: () => import('@/xt_pages/dialysis/bulletinBoard'),
26
+      name: '数据看板',
27
+      meta: {
28
+        title: '数据看板',
29
+        noCache: true
30
+      }
31
+    },
23 32
     // {
24
-    //   path: '/dialysis/board',
25
-    //   component: () => import('@/xt_pages/dialysis/bulletinBoard'),
26
-    //   name: '数据看板',
33
+    //   path: '/dialysis/consumableDrugs',
34
+    //   component: () => import('@/xt_pages/dialysis/consumableDrugs'),
35
+    //   name: '耗材药品',
27 36
     //   meta: {
28
-    //     title: '数据看板',
37
+    //     title: '耗材药品',
29 38
     //     noCache: true
30 39
     //   }
31 40
     // },
32 41
     // {
33
-    //   path: '/dialysis/calling',
34
-    //   component: () => import('@/xt_pages/dialysis/calling'),
35
-    //   name: '透析叫号',
42
+    //   path: '/dialysis/consumableDrugs_print',
43
+    //   component: () => import('@/xt_pages/dialysis/consumableDrugs_print'),
44
+    //   hidden: true,
45
+    //   is_menu: false,
46
+    //   name: 'consumableDrugs_print',
36 47
     //   meta: {
37
-    //     title: '透析叫号',
48
+    //     title: 'consumableDrugs_print',
49
+    //     noCache: true
50
+    //   }
51
+    // },
52
+    // {
53
+    //   path: '/dialysis/dialysisDrugs_print',
54
+    //   component: () => import('@/xt_pages/dialysis/dialysisDrugs_print'),
55
+    //   hidden: true,
56
+    //   is_menu: false,
57
+    //   name: 'dialysisDrugs_print',
58
+    //   meta: {
59
+    //     title: 'dialysisDrugs_print',
60
+    //     noCache: true
61
+    //   }
62
+    // },
63
+    // {
64
+    //   path: '/dialysis/dialysisParameters_print',
65
+    //   component: () => import('@/xt_pages/dialysis/dialysisParameters_print'),
66
+    //   hidden: true,
67
+    //   is_menu: false,
68
+    //   name: 'dialysisParameters_print',
69
+    //   meta: {
70
+    //     title: 'dialysisParameters_print',
71
+    //     noCache: true
72
+    //   }
73
+    // },
74
+    // {
75
+    //   path: '/dialysis/allSummary_print',
76
+    //   component: () => import('@/xt_pages/dialysis/allSummary_print'),
77
+    //   hidden: true,
78
+    //   is_menu: false,
79
+    //   name: 'allSummary_print',
80
+    //   meta: {
81
+    //     title: 'allSummary_print',
38 82
     //     noCache: true
39 83
     //   }
40 84
     // },
41
-
42
-    {
43
-      path: '/dialysis/consumableDrugs',
44
-      component: () => import('@/xt_pages/dialysis/consumableDrugs'),
45
-      name: '耗材药品',
46
-      meta: {
47
-        title: '耗材药品',
48
-        noCache: true
49
-      }
50
-    },
51
-    {
52
-      path: '/dialysis/consumableDrugs_print',
53
-      component: () => import('@/xt_pages/dialysis/consumableDrugs_print'),
54
-      hidden: true,
55
-      is_menu: false,
56
-      name: 'consumableDrugs_print',
57
-      meta: {
58
-        title: 'consumableDrugs_print',
59
-        noCache: true
60
-      }
61
-    },
62
-    {
63
-      path: '/dialysis/dialysisDrugs_print',
64
-      component: () => import('@/xt_pages/dialysis/dialysisDrugs_print'),
65
-      hidden: true,
66
-      is_menu: false,
67
-      name: 'dialysisDrugs_print',
68
-      meta: {
69
-        title: 'dialysisDrugs_print',
70
-        noCache: true
71
-      }
72
-    },
73
-    {
74
-      path: '/dialysis/dialysisParameters_print',
75
-      component: () => import('@/xt_pages/dialysis/dialysisParameters_print'),
76
-      hidden: true,
77
-      is_menu: false,
78
-      name: 'dialysisParameters_print',
79
-      meta: {
80
-        title: 'dialysisParameters_print',
81
-        noCache: true
82
-      }
83
-    },
84
-    {
85
-      path: '/dialysis/allSummary_print',
86
-      component: () => import('@/xt_pages/dialysis/allSummary_print'),
87
-      hidden: true,
88
-      is_menu: false,
89
-      name: 'allSummary_print',
90
-      meta: {
91
-        title: 'allSummary_print',
92
-        noCache: true
93
-      }
94
-    },
95
-    {
96
-      path: '/dialysis/consumables_print',
97
-      component: () => import('@/xt_pages/dialysis/consumables_print'),
98
-      hidden: true,
99
-      is_menu: false,
100
-      name: 'consumables_print',
101
-      meta: {
102
-        title: 'consumables_print',
103
-        noCache: true
104
-      }
105
-    },
106
-    {
107
-      path: '/dialysis/allsummarydialog_print',
108
-      component: () => import('@/xt_pages/dialysis/allSummaryDialog_print'),
109
-      hidden: true,
110
-      is_menu: false,
111
-      name: 'allsummarydialog_print',
112
-      meta: {
113
-        title: 'allsummarydialog_print',
114
-        noCache: true
115
-      }
116
-    },
117
-    {
118
-      path:'/dialysis/dialysisdrugs_print',
119
-      component:()=>import('@/xt_pages/dialysis/dialysisDrugs_print'),
120
-      hidden:true,
121
-      is_menu:false
122
-    },
123 85
     {
124 86
       path: '/dialysis/record/:id',
125 87
       component: () => import('@/xt_pages/dialysis/dialysisPage'),

+ 0 - 0
src/router/modules/dialysisRecord.js View File


+ 0 - 0
src/router/modules/drugs.js View File


+ 0 - 0
src/router/modules/integration.js View File


+ 0 - 0
src/router/modules/kuyiShopping.js View File


+ 0 - 0
src/router/modules/medical_scheduling.js View File


+ 0 - 0
src/router/modules/org.js View File


+ 0 - 0
src/router/modules/otherManagement.js View File


+ 0 - 0
src/router/modules/outpatientCharges.js View File


+ 0 - 0
src/router/modules/outpatientDoctorStation.js View File


+ 0 - 0
src/router/modules/outpatientPharmacy.js View File


+ 0 - 0
src/router/modules/outpatientRegistration.js View File


+ 0 - 0
src/router/modules/patient.js View File


+ 13 - 13
src/router/modules/qcd.js View File

@@ -240,25 +240,25 @@ export default {
240 240
       }
241 241
     },
242 242
     {
243
-      path: '/qcd/workAnalysis/index',
244
-      component: () => import('@/xt_pages/qcd/workAnalysis/index'),
243
+      path: '/qcd/workAnalysis/doctor',
244
+      component: () => import('@/xt_pages/qcd/workAnalysis/doctor'),
245 245
       name: 'workAnalysisDoctor',
246 246
       meta: {
247 247
         title: '工作量分析统计',
248 248
         noCache: true
249 249
       }
250 250
     },
251
-    // {
252
-    //   path: '/qcd/workAnalysis/nurse',
253
-    //   hidden: true,
254
-    //   is_menu: false,
255
-    //   component: () => import('@/xt_pages/qcd/workAnalysis/nurse'),
256
-    //   name: 'workAnalysisNurse',
257
-    //   meta: {
258
-    //     title: '工作量分析统计护士',
259
-    //     noCache: true
260
-    //   }
261
-    // },
251
+    {
252
+      path: '/qcd/workAnalysis/nurse',
253
+      hidden: true,
254
+      is_menu: false,
255
+      component: () => import('@/xt_pages/qcd/workAnalysis/nurse'),
256
+      name: 'workAnalysisNurse',
257
+      meta: {
258
+        title: '工作量分析统计护士',
259
+        noCache: true
260
+      }
261
+    },
262 262
     {
263 263
       path: '/qcd/patientanalysis/checkStatistical',
264 264
       hidden: true,

+ 0 - 0
src/router/modules/role.js View File


+ 0 - 0
src/router/modules/roleManage.js View File


+ 0 - 0
src/router/modules/scrm.js View File


+ 0 - 0
src/router/modules/selfPreparedMedicine.js View File


+ 0 - 0
src/router/modules/service.js View File


+ 0 - 0
src/router/modules/shop.js View File


+ 0 - 0
src/router/modules/slow.js View File


+ 0 - 0
src/router/modules/specialDictionary.js View File


+ 1 - 266
src/router/modules/stock.js View File

@@ -12,90 +12,31 @@ export default {
12 12
     isChild: true
13 13
   },
14 14
   children: [
15
-    {
16
-      path: '/stock/consumablesManagement',
17
-      component: Layout,
18
-      redirect: '/stock/in',
19
-      name: 'consumablesManagement',
20
-      parentNum: 1,
21
-      meta: {
22
-        isChild: true,
23
-        title: 'consumablesManagement',
24
-        noCache: true
25
-      }
26
-    },
27 15
     {
28 16
       path: '/stock/in',
29 17
       component: () => import('@/xt_pages/stock/stockInOrder'),
30 18
       name: 'stockInOrder',
31
-      hidden: true,
32
-      is_menu: false,
33
-      num: 1,
34 19
       meta: { title: 'stockInOrder', noCache: true }
35 20
     },
36 21
     {
37 22
       path: '/stock/return',
38 23
       component: () => import('@/xt_pages/stock/salesReturnOrder'),
39 24
       name: 'salesReturnOrder',
40
-      hidden: true,
41
-      is_menu: false,
42
-      num: 1,
43 25
       meta: { title: 'salesReturnOrder', noCache: true }
44 26
     },
45 27
     {
46 28
       path: '/stock/out',
47 29
       component: () => import('@/xt_pages/stock/stockOutOrder'),
48 30
       name: 'stockOutOrder',
49
-      hidden: true,
50
-      is_menu: false,
51
-      num: 1,
52 31
       meta: { title: 'stockOutOrder', noCache: true }
53 32
     },
54 33
     {
55 34
       path: '/stock/cancel',
56 35
       component: () => import('@/xt_pages/stock/cancelStockOrder'),
57 36
       name: 'cancelStockOrder',
58
-      hidden: true,
59
-      is_menu: false,
60
-      num: 1,
61 37
       meta: { title: 'cancelStockOrder', noCache: true }
62 38
     },
63
-    {
64
-      path: '/stock/in/other',
65
-      component: () => import('@/xt_pages/stock/otherStockInOrder'),
66
-      name: 'otherStockInOrder',
67
-      hidden: true,
68
-      is_menu: false,
69
-      num: 1,
70
-      meta: { title: 'otherStockInOrder', noCache: true }
71
-    },
72
-    {
73
-      path: '/stock/return/other',
74
-      component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
75
-      name: 'otherSalesReturnOrder',
76
-      hidden: true,
77
-      is_menu: false,
78
-      num: 1,
79
-      meta: { title: 'otherSalesReturnOrder', noCache: true }
80
-    },
81
-    {
82
-      path: '/stock/out/other',
83
-      component: () => import('@/xt_pages/stock/otherStockOutOrder'),
84
-      name: 'otherStockOutOrder',
85
-      hidden: true,
86
-      is_menu: false,
87
-      num: 1,
88
-      meta: { title: 'otherStockOutOrder', noCache: true }
89
-    },
90
-    {
91
-      path: '/stock/cancel/other',
92
-      component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
93
-      name: 'otherCancelStockOrder',
94
-      hidden: true,
95
-      is_menu: false,
96
-      num: 1,
97
-      meta: { title: 'otherCancelStockOrder', noCache: true }
98
-    },
39
+    
99 40
     // {
100 41
     //   path: "/stock/",
101 42
     //   component: Layout,
@@ -150,18 +91,12 @@ export default {
150 91
       path: '/stock/query',
151 92
       component: () => import('@/xt_pages/stock/stockQuery'),
152 93
       name: 'stockQuery',
153
-      hidden: true,
154
-      is_menu: false,
155
-      num: 1,
156 94
       meta: { title: 'stockQuery', noCache: true }
157 95
     },
158 96
     {
159 97
       path: '/stock/detail',
160 98
       component: () => import('@/xt_pages/stock/stockDetailIndex'),
161 99
       name: 'stockDetail',
162
-      hidden: true,
163
-      is_menu: false,
164
-      num: 1,
165 100
       meta: { title: 'stockDetail', noCache: true }
166 101
     },
167 102
     {
@@ -171,13 +106,6 @@ export default {
171 106
       hidden: true,
172 107
       is_menu: false,
173 108
       meta: { title: 'stockInOrderAdd', noCache: true }
174
-    },  {
175
-      path: '/drugstock/in/add',
176
-      component: () => import('@/xt_pages/stock/drugs/drugStockInOrderAdd'),
177
-      name: 'drugStockInOrderAdd',
178
-      hidden: true,
179
-      is_menu: false,
180
-      meta: { title: 'drugStockInOrderAdd', noCache: true }
181 109
     },
182 110
     {
183 111
       path: '/stock/in/detail',
@@ -186,13 +114,6 @@ export default {
186 114
       hidden: true,
187 115
       is_menu: false,
188 116
       meta: { title: 'stockInDetail', noCache: true }
189
-    }, {
190
-      path: '/drugstock/in/detail',
191
-      component: () => import('@/xt_pages/stock/drugs/drugStockInDetail'),
192
-      name: 'drugStockInDetail',
193
-      hidden: true,
194
-      is_menu: false,
195
-      meta: { title: 'drugStockInDetail', noCache: true }
196 117
     },
197 118
     {
198 119
       path: '/stock/return/detail',
@@ -201,13 +122,6 @@ export default {
201 122
       hidden: true,
202 123
       is_menu: false,
203 124
       meta: { title: 'salesReturnDetail', noCache: true }
204
-    }, {
205
-      path: '/drugstock/return/detail',
206
-      component: () => import('@/xt_pages/stock/drugs/drugSalesReturnDetail'),
207
-      name: 'drugSalesReturnDetail',
208
-      hidden: true,
209
-      is_menu: false,
210
-      meta: { title: 'drugSalesReturnDetail', noCache: true }
211 125
     },
212 126
     {
213 127
       path: '/stock/return/add',
@@ -216,13 +130,6 @@ export default {
216 130
       hidden: true,
217 131
       is_menu: false,
218 132
       meta: { title: 'salesReturnOrderAdd', noCache: true }
219
-    }, {
220
-      path: '/drugstock/return/add',
221
-      component: () => import('@/xt_pages/stock/drugs/drugSalesReturnOrderAdd'),
222
-      name: 'drugSalesReturnOrderAdd',
223
-      hidden: true,
224
-      is_menu: false,
225
-      meta: { title: 'drugSalesReturnOrderAdd', noCache: true }
226 133
     },
227 134
     {
228 135
       path: '/stock/out/add',
@@ -231,13 +138,6 @@ export default {
231 138
       hidden: true,
232 139
       is_menu: false,
233 140
       meta: { title: 'stockOutOrderAdd', noCache: true }
234
-    }, {
235
-      path: '/drugstock/out/add',
236
-      component: () => import('@/xt_pages/stock/drugs/drugStockOutOrderAdd'),
237
-      name: 'drugStockOutOrderAdd',
238
-      hidden: true,
239
-      is_menu: false,
240
-      meta: { title: 'drugStockOutOrderAdd', noCache: true }
241 141
     },
242 142
     {
243 143
       path: '/stock/out/detail',
@@ -246,13 +146,6 @@ export default {
246 146
       hidden: true,
247 147
       is_menu: false,
248 148
       meta: { title: 'stockOutDetail', noCache: true }
249
-    }, {
250
-      path: '/drugstock/out/detail',
251
-      component: () => import('@/xt_pages/stock/drugs/drugStockOutDetail'),
252
-      name: 'drugStockOutDetail',
253
-      hidden: true,
254
-      is_menu: false,
255
-      meta: { title: 'drugStockOutDetail', noCache: true }
256 149
     },
257 150
     {
258 151
       path: '/stock/cancel/add',
@@ -261,13 +154,6 @@ export default {
261 154
       hidden: true,
262 155
       is_menu: false,
263 156
       meta: { title: 'cancelStockOrderAdd', noCache: true }
264
-    }, {
265
-      path: '/drugstock/cancel/add',
266
-      component: () => import('@/xt_pages/stock/drugs/cancelDrugStockOrderAdd'),
267
-      name: 'cancelDrugStockOrderAdd',
268
-      hidden: true,
269
-      is_menu: false,
270
-      meta: { title: 'cancelDrugStockOrderAdd', noCache: true }
271 157
     },
272 158
     {
273 159
       path: '/stock/cancel/detail',
@@ -276,21 +162,11 @@ export default {
276 162
       hidden: true,
277 163
       is_menu: false,
278 164
       meta: { title: 'cancelStockDetail', noCache: true }
279
-    },  {
280
-      path: '/drugstock/cancel/detail',
281
-      component: () => import('@/xt_pages/stock/drugs/cancelDrugStockDetail'),
282
-      name: 'cancelDrugStockDetail',
283
-      hidden: true,
284
-      is_menu: false,
285
-      meta: { title: 'cancelDrugStockDetail', noCache: true }
286 165
     },
287 166
     {
288 167
       path: '/stock/config',
289 168
       component: () => import('@/xt_pages/stock/index'),
290 169
       name: 'config',
291
-      hidden: true,
292
-      is_menu: false,
293
-      num: 1,
294 170
       meta: { title: 'config', noCache: true }
295 171
     },
296 172
     {
@@ -312,146 +188,5 @@ export default {
312 188
       is_menu: false,
313 189
       meta: { title: 'user_detail', noCache: true }
314 190
     },
315
-    {
316
-      path: '/stock/selfPreparedMedicine',
317
-      component: () => import('@/xt_pages/stock/selfPreparedMedicine/index'),
318
-      redirect: '/stock/selfPreparedMedicineIndex',
319
-      name: 'selfPreparedMedicine',
320
-      parentNum: 2,
321
-      meta: {
322
-        isChild: true,
323
-        title: 'selfPreparedMedicine',
324
-        noCache: true
325
-      }
326
-    },
327
-    {
328
-      path: '/stock/selfPreparedMedicineIndex',
329
-      component: () => import('@/xt_pages/stock/selfPreparedMedicine/index'),
330
-      name: 'selfPreparedMedicineIndex',
331
-      hidden: true,
332
-      is_menu: false,
333
-      num: 2,
334
-      meta: { title: 'selfPreparedMedicineIndex', noCache: true }
335
-    },
336
-    {
337
-      path: '/stock/selfPreparedMedicineQuery',
338
-      component: () => import('@/xt_pages/stock/selfPreparedMedicine/query'),
339
-      name: 'selfPreparedMedicineQuery',
340
-      hidden: true,
341
-      is_menu: false,
342
-      num: 2,
343
-      meta: { title: 'selfPreparedMedicineQuery', noCache: true }
344
-    },
345
-    {
346
-      path: '/stock/selfPreparedMedicineQueryPrint',
347
-      component: () => import('@/xt_pages/stock/selfPreparedMedicine/queryPrint'),
348
-      name: 'selfPreparedMedicineQueryPrint',
349
-      hidden: true,
350
-      is_menu: false,
351
-      meta: { title: 'selfPreparedMedicineQueryPrint', noCache: true }
352
-    },
353
-    {
354
-      path: '/stock/selfPreparedMedicineInfo',
355
-      component: () => import('@/xt_pages/stock/selfPreparedMedicine/info'),
356
-      name: 'selfPreparedMedicineInfo',
357
-      hidden: true,
358
-      is_menu: false,
359
-      num: 2,
360
-      meta: { title: 'selfPreparedMedicineInfo', noCache: true }
361
-    },
362
-    {
363
-      path: '/stock/drugs',
364
-      component: Layout,
365
-      redirect: '/stock/drugs/stock/in',
366
-      name: 'stockDrugs',
367
-      parentNum: 3,
368
-      meta: {
369
-        isChild: true,
370
-        title: 'stockDrugs',
371
-        noCache: true
372
-      }
373
-    },
374
-
375
-    {
376
-      path: '/stock/drugs/stock/in',
377
-      component: () => import('@/xt_pages/stock/drugs/drugStockInOrder'),
378
-      name: 'drugsStockIn',
379
-      hidden: true,
380
-      is_menu: false,
381
-      num: 3,
382
-      meta: { title: 'drugsStockIn', noCache: true }
383
-    },
384
-    {
385
-      path: '/stock/drugs/stock/out',
386
-      component: () => import('@/xt_pages/stock/drugs/drugStockOutOrder'),
387
-      name: 'drugsStockOut',
388
-      hidden: true,
389
-      is_menu: false,
390
-      num: 3,
391
-      meta: { title: 'drugsStockOut', noCache: true }
392
-    },
393
-    {
394
-      path: '/stock/drugs/stock/return',
395
-      component: () => import('@/xt_pages/stock/drugs/drugSalesReturnOrder'),
396
-      name: 'drugsStockReturn',
397
-      hidden: true,
398
-      is_menu: false,
399
-      num: 3,
400
-      meta: { title: 'drugsStockReturn', noCache: true }
401
-    },
402
-    {
403
-      path: '/stock/drugs/stock/cancel',
404
-      component: () => import('@/xt_pages/stock/drugs/cancelDrugStockOrder'),
405
-      name: 'drugsStockCancel',
406
-      hidden: true,
407
-      is_menu: false,
408
-      num: 3,
409
-      meta: { title: 'drugsStockCancel', noCache: true }
410
-    },
411
-    // {
412
-    //   path: '/stock/drugs/stock/adjustPrice',
413
-    //   component: () => import('@/xt_pages/stock/drugs/adjustPrice'),
414
-    //   name: 'drugsAdjustPrice',
415
-    //   hidden: true,
416
-    //   is_menu: false,
417
-    //   num: 3,
418
-    //   meta: { title: 'drugsAdjustPrice', noCache: true }
419
-    // },
420
-    // {
421
-    //   path: '/stock/drugs/stock/reportLoss',
422
-    //   component: () => import('@/xt_pages/stock/drugs/reportLoss'),
423
-    //   name: 'drugsReportLoss',
424
-    //   hidden: true,
425
-    //   is_menu: false,
426
-    //   num: 3,
427
-    //   meta: { title: 'drugsReportLoss', noCache: true }
428
-    // },
429
-    {
430
-      path: '/stock/drugs/stock/query',
431
-      component: () => import('@/xt_pages/stock/drugs/query'),
432
-      name: 'drugsQuery',
433
-      hidden: true,
434
-      is_menu: false,
435
-      num: 3,
436
-      meta: { title: 'drugsQuery', noCache: true }
437
-    },
438
-    // {
439
-    //   path: '/stock/drugs/stock/drugsSurplus',
440
-    //   component: () => import('@/xt_pages/stock/drugs/drugsSurplus'),
441
-    //   name: 'drugsSurplus',
442
-    //   hidden: true,
443
-    //   is_menu: false,
444
-    //   num: 3,
445
-    //   meta: { title: 'drugsSurplus', noCache: true }
446
-    // },
447
-    // {
448
-    //   path: '/stock/drugs/stock/drugsExpiryDate',
449
-    //   component: () => import('@/xt_pages/stock/drugs/drugsExpiryDate'),
450
-    //   name: 'drugsExpiryDate',
451
-    //   hidden: true,
452
-    //   is_menu: false,
453
-    //   num: 3,
454
-    //   meta: { title: 'drugsExpiryDate', noCache: true }
455
-    // },
456 191
   ]
457 192
 }

+ 5 - 69
src/router/modules/systems.js View File

@@ -5,7 +5,6 @@ export default {
5 5
   component: Layout,
6 6
   redirect: '/role/admin/manage',
7 7
   name: 'system',
8
-  alwaysShow: true,
9 8
   meta: {
10 9
     title: 'systemManage',
11 10
     icon: 'system'
@@ -20,16 +19,7 @@ export default {
20 19
 
21 20
     }
22 21
   },
23
-  {
24
-    path: '/role/manage',
25
-    component: () => import('@/xt_pages/role/role'),
26
-    name: 'roleManage',
27
-    meta: {
28
-      title: 'roleManage',
29
-      noCache: true,
30
-
31
-    }
32
-  },
22
+  
33 23
   {
34 24
     path: '/role/admin/create',
35 25
     component: () => import('@/xt_pages/role/CreateAdmin'),
@@ -71,63 +61,9 @@ export default {
71 61
   //     title: 'special_permission_manage'
72 62
   //   }
73 63
   // },
74
-  {
75
-    path: '/data/dictionary',
76
-    component: () => import('@/xt_pages/data/index'),
77
-    name: 'dictionary',
78
-    meta: {
79
-      title: 'data_dictionary',
80
-      noCache: true,
81
-
82
-    }
83
-  },
84
-  {
85
-    path: '/data/specialDictionary',
86
-    component: () => import('@/xt_pages/data/specialDictionary'),
87
-    name: 'specialDictionary',
88
-    meta: {
89
-      title: 'specialDictionary',
90
-      noCache: true,
91
-
92
-    }
93
-  },
94
-  {
95
-    path: '/data/template',
96
-    component: () => import('@/xt_pages/data/template'),
97
-    name: 'template',
98
-    meta: {
99
-      title: 'template',
100
-      noCache: true,
101
-
102
-    }
103
-  },{
104
-      path: '/data/prescription',
105
-      component: () => import('@/xt_pages/data/prescription'),
106
-      name: 'prescription',
107
-      meta: {
108
-        title: 'system_prescription'
109
-      }
110
-    }, {
111
-    path: '/data/druguse',
112
-    component: () => import('@/xt_pages/data/druguseTemplate'),
113
-    name: 'druguse',
114
-    meta: {
115
-      title: 'druguse'
116
-    }
117
-  }, {
118
-    path: '/data/showconfig',
119
-    component: () => import('@/xt_pages/data/showConfig'),
120
-    name: 'showconfig',
121
-    meta: {
122
-      title: 'showconfig'
123
-    }
124
-  },{
125
-    path: '/data/print',
126
-    component: () => import('@/xt_pages/data/printTemplate'),
127
-    name: 'printTemplate',
128
-    meta: {
129
-      title: 'printTemplate'
130
-    }
131
-  }
64
+  
65
+  
66
+    
132 67
   ]
133 68
 }
69
+

+ 10 - 0
src/router/modules/weight_sign.js View File

@@ -30,6 +30,16 @@ export default {
30 30
       noCache: true
31 31
     }
32 32
   },
33
+  {
34
+    path: '/calling',
35
+    component: () => import('@/xt_pages/sign/calling'),
36
+    name: 'calling',
37
+    meta: {
38
+      title: 'calling',
39
+      icon: 'calling',
40
+      noCache: true
41
+    }
42
+  },
33 43
   {
34 44
     path: '/sign',
35 45
     component: () => import('@/xt_pages/sign/index'),

+ 0 - 0
src/router/modules/workforce.js View File


+ 67 - 9
src/views/layout/Layout.vue View File

@@ -4,23 +4,23 @@
4 4
     
5 5
     <div class="mainBox">
6 6
       <div class="navLeft">
7
-        <div :class="index == 0 ? 'navOne navActive' : 'navOne'" @click="clickActive(0,'门诊管理')">
7
+        <div v-if="menzhenShow" :class="index == 0 ? 'navOne navActive' : 'navOne'" @click="clickActive(0,'门诊管理')">
8 8
           <i class="iconfont icon--yishengmenzhen navIcon"></i>
9 9
           <p>门诊管理</p>
10 10
         </div>
11
-        <div :class="index == 1 ? 'navOne navActive' : 'navOne'" @click="clickActive(1,'电子病历')">
11
+        <div v-if="bingliShow" :class="index == 1 ? 'navOne navActive' : 'navOne'" @click="clickActive(1,'电子病历')">
12 12
           <i class="iconfont icon-s_bingli navIcon"></i>
13 13
           <p>电子病历</p>
14 14
         </div>
15
-        <div :class="index == 2 ? 'navOne navActive' : 'navOne'" @click="clickActive(2,'透析管理')">
15
+        <div v-if="touxiShow" :class="index == 2 ? 'navOne navActive' : 'navOne'" @click="clickActive(2,'透析管理')">
16 16
           <i class="iconfont icon-computer_fill navIcon"></i>
17 17
           <p>透析管理</p>
18 18
         </div>
19
-        <div :class="index == 3 ? 'navOne navActive' : 'navOne'" @click="clickActive(3,'库存管理')">
19
+        <div v-if="kucunShow" :class="index == 3 ? 'navOne navActive' : 'navOne'" @click="clickActive(3,'库存管理')">
20 20
           <i class="iconfont icon-kccx navIcon"></i>
21 21
           <p>库存管理</p>
22 22
         </div>
23
-        <div :class="index == 4 ? 'navOne navActive' : 'navOne'" @click="clickActive(4,'酷医商城')">
23
+        <div v-if="kuyishoppingShow" :class="index == 4 ? 'navOne navActive' : 'navOne'" @click="clickActive(4,'酷医商城')">
24 24
           <i class="iconfont icon-shangcheng-1 navIcon"></i>
25 25
           <p>酷医商城</p>
26 26
         </div>
@@ -67,12 +67,12 @@
67 67
             <p>营销管理</p>
68 68
           </div>
69 69
         </a>
70
-        <div class="dialogMainOne">
70
+        <!-- <div class="dialogMainOne">
71 71
           <div class="dialogIcon">
72 72
             <i class="iconfont icon-shujufenxi-jingyinggaikuang newIcon"></i>
73 73
           </div>
74 74
           <p>经营中心</p>
75
-        </div>
75
+        </div> -->
76 76
         <a :href="MircoMallWebsit()" target="_blank" v-if="this.$store.getters.xt_user.mall_role_exist">
77 77
           <div class="dialogMainOne">
78 78
             <div class="dialogIcon">
@@ -81,7 +81,7 @@
81 81
             <p>分销商城</p>
82 82
           </div>
83 83
         </a>
84
-        <div class="dialogMainOne" @click="clickActive(11,'配置管理')">
84
+        <div v-if="peizhiShow" class="dialogMainOne" @click="clickActive(11,'配置管理')">
85 85
           <div class="dialogIcon">
86 86
             <i class="iconfont icon-setup_fill newIcon"></i>
87 87
           </div>
@@ -93,6 +93,7 @@
93 93
 </template>
94 94
 
95 95
 <script>
96
+import { mapGetters } from "vuex";
96 97
 import { Navbar, Sidebar, AppMain, TagsView } from './components'
97 98
 import ResizeMixin from './mixin/ResizeHandler'
98 99
 
@@ -110,10 +111,67 @@ export default {
110 111
       index:2,
111 112
       navTitle:'透析管理',
112 113
       sign:false,
113
-      navShow:true
114
+      navShow:true,
115
+      //
116
+      menzhenShow:true,
117
+      bingliShow:true,
118
+      touxiShow:true,
119
+      kucunShow:true,
120
+      peizhiShow:true,
121
+      kuyishoppingShow:true,
122
+    }
123
+  },
124
+  created(){
125
+    console.log('permission_routers',this.permission_routers)
126
+    let menzhen = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy']
127
+    let bingli = ['User','createPatient']
128
+    let touxi = ['workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'quality_control']
129
+    let kucun = ['stockManage','selfPreparedMedicine','stockDrugs','otherManagement']
130
+    let peizhi = ['system','roleManage','dictionary','specialDictionary','template','prescription','druguse','showconfig','printTemplate']
131
+    let kuyishopping = ['kuyiShopping']
132
+    let menzhenArr = []
133
+    let bingliArr = []
134
+    let touxiArr = []
135
+    let kucunArr = []
136
+    let peizhiArr = []
137
+    let kuyishoppingArr = []
138
+    this.permission_routers.map(item => {
139
+      if(menzhen.indexOf(item.name) > -1){
140
+        menzhenArr.push(item)
141
+      }else if(bingli.indexOf(item.name) > -1){
142
+        bingliArr.push(item)
143
+      }else if(touxi.indexOf(item.name) > -1){
144
+        touxiArr.push(item)
145
+      }else if(kucun.indexOf(item.name) > -1){
146
+        kucunArr.push(item)
147
+      }else if(peizhi.indexOf(item.name) > -1){
148
+        peizhiArr.push(item)
149
+      }else if(kuyishopping.indexOf(item.name) > -1){
150
+        kuyishoppingArr.push(item)
151
+      }
152
+    })
153
+    // console.log('menzhenArr.length',menzhenArr.length)
154
+    // console.log('bingliArr.length',bingliArr.length)
155
+    // console.log('touxiArr.length',touxiArr.length)
156
+    // console.log('kucunArr.length',kucunArr.length)
157
+    // console.log('peizhiArr.length',peizhiArr.length)
158
+    // console.log('kuyishoppingArr.length',kuyishoppingArr.length)
159
+    if(menzhenArr.length == 0){
160
+      this.menzhenShow = false
161
+    }else if(bingliArr.length == 0){
162
+      this.bingliShow = false
163
+    }else if(touxiArr.length == 0){
164
+      this.touxiShow = false
165
+    }else if(kucunArr.length == 0){
166
+      this.kucunShow = false
167
+    }else if(peizhiArr.length == 0){
168
+      this.peizhiShow = false
169
+    }else if(kuyishoppingArr.length == 0){
170
+      this.kuyishoppingShow = false
114 171
     }
115 172
   },
116 173
   computed: {
174
+    ...mapGetters(["permission_routers"]),
117 175
     sidebar() {
118 176
       return this.$store.state.app.sidebar
119 177
     },

+ 6 - 6
src/views/layout/components/Sidebar/index.vue View File

@@ -49,7 +49,7 @@ export default {
49 49
   created(){
50 50
     if(this.navTitle == '透析管理'){
51 51
       let nameArr = ['workforce','dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'quality_control']
52
-      console.log('permission_routers',this.permission_routers)
52
+      // console.log('permission_routers',this.permission_routers)
53 53
       let routerArr = []
54 54
       this.permission_routers.map(item => {
55 55
         if(nameArr.indexOf(item.name) > -1){
@@ -70,7 +70,7 @@ export default {
70 70
       handler(newVal,oldVal){
71 71
         if(newVal == '门诊管理'){
72 72
           let nameArr = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy']
73
-          console.log('permission_routers',this.permission_routers)
73
+          // console.log('permission_routers',this.permission_routers)
74 74
           let routerArr = []
75 75
           this.permission_routers.map(item => {
76 76
             if(nameArr.indexOf(item.name) > -1){
@@ -87,7 +87,7 @@ export default {
87 87
           }
88 88
         }else if(newVal == '电子病历'){
89 89
           let nameArr = ['User','createPatient']
90
-          console.log('permission_routers',this.permission_routers)
90
+          // console.log('permission_routers',this.permission_routers)
91 91
           let routerArr = []
92 92
           this.permission_routers.map(item => {
93 93
             if(nameArr.indexOf(item.name) > -1){
@@ -104,7 +104,7 @@ export default {
104 104
           }
105 105
         }else if(newVal == '透析管理'){
106 106
           let nameArr = ['workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'quality_control']
107
-          console.log('permission_routers',this.permission_routers)
107
+          // console.log('permission_routers',this.permission_routers)
108 108
           let routerArr = []
109 109
           this.permission_routers.map(item => {
110 110
             if(nameArr.indexOf(item.name) > -1){
@@ -122,7 +122,7 @@ export default {
122 122
           }
123 123
         }else if(newVal == '库存管理'){
124 124
           let nameArr = ['stockManage','selfPreparedMedicine','stockDrugs','otherManagement']
125
-          console.log('permission_routers',this.permission_routers)
125
+          // console.log('permission_routers',this.permission_routers)
126 126
           let routerArr = []
127 127
           this.permission_routers.map(item => {
128 128
             if(nameArr.indexOf(item.name) > -1){
@@ -139,7 +139,7 @@ export default {
139 139
           }
140 140
         }else if(newVal == '配置管理'){
141 141
           let nameArr = ['system','roleManage','dictionary','specialDictionary','template','prescription','druguse','showconfig','printTemplate']
142
-          console.log('permission_routers',this.permission_routers)
142
+          // console.log('permission_routers',this.permission_routers)
143 143
           let routerArr = []
144 144
           this.permission_routers.map(item => {
145 145
             if(nameArr.indexOf(item.name) > -1){

+ 3 - 2
src/xt_pages/dialysis/details/dialog/DoctorAdviceDialog.vue View File

@@ -768,6 +768,7 @@
768 768
         this.form['dialysis_order_id'] = this.dialysis_order.id
769 769
       },
770 770
       doctor_advices: function() {
771
+
771 772
         this.handleSpanTempArr()
772 773
         this.hoverOrderArr = []
773 774
         this.handleStyle()
@@ -840,6 +841,7 @@
840 841
               adviceNames: this.other_doctor_advices,
841 842
               remark: ''
842 843
             }
844
+
843 845
             let mode = '1'
844 846
             CreateGroupAdvice(this.patientid, 0, submitForm, mode).then(
845 847
               response => {
@@ -1176,7 +1178,6 @@
1176 1178
         }
1177 1179
         this.exceLoading = true
1178 1180
         let mode = '6'
1179
-
1180 1181
         ExecDoctorAdvice(this.patient.id, this.currentRow.id, this.execTime, mode).then(response => {
1181 1182
             if (response.data.state == 0) {
1182 1183
               this.$message.error(response.data.msg)
@@ -1461,7 +1462,7 @@
1461 1462
       }
1462 1463
       ,
1463 1464
       checkAdvice() {
1464
-        console.log(this.$store.getters.xt_user)
1465
+        // console.log(this.$store.getters.xt_user)
1465 1466
         if (this.currentRow == null) {
1466 1467
           this.$message.error('请先选择要核对的医嘱!')
1467 1468
           return false

+ 127 - 57
src/xt_pages/dialysis/details/dialog/adviceDialog/AddGroupAdvice.vue View File

@@ -385,11 +385,13 @@
385 385
                   v-for="item in medicals"
386 386
                   :key="item.id"
387 387
                   :label="item.drug_name"
388
-                  :value="item.drug_name"
388
+                  :value="item.id"
389 389
                 ></el-option>
390 390
               </el-select>
391 391
             </el-form-item>
392
-
392
+            <!-- <div style="margin-left:120px;margin-top:-20px;font-size:12px;color:red">
393
+               库存不足50
394
+            </div> -->
393 395
             
394 396
           </el-col>
395 397
 
@@ -568,6 +570,7 @@ import {
568 570
 } from "@/api/advice";
569 571
 
570 572
 import {getSelfMedicalList,getDrugDescByDrugName } from "@/api/drug/drug"
573
+import { duration } from 'moment';
571 574
 export default {
572 575
   name: "AddGroupAdvice",
573 576
   data() {
@@ -611,7 +614,9 @@ export default {
611 614
         isEdit: 0,
612 615
         index: 0,
613 616
         id: 0,
614
-        children: []
617
+        children: [],
618
+        drug_id:"",
619
+        way:"",
615 620
       },
616 621
       submitGroupForm: {
617 622
         advice_type: "",
@@ -629,13 +634,15 @@ export default {
629 634
         adviceNames: [],
630 635
         advice_doctor: "",
631 636
         remark: "",
632
-        parent_id: 0
637
+        parent_id: 0,
638
+        drug_id:"",
639
+        way:"",
633 640
       },
634 641
       selectedTemp: { id: 0, name: "", org_id: 0, list: [], rows: [] },
635 642
       selectedTemplate: [],
636 643
       allSelectedTemplate: [],
637 644
       medicals:[],
638
-      drugSpec:[],
645
+      drugSpec:[]
639 646
     };
640 647
   },
641 648
   props: {
@@ -686,6 +693,7 @@ export default {
686 693
   },
687 694
   methods: {
688 695
     submitgroupAdvice(formName) {
696
+      
689 697
       this.$refs[formName].validate(valid => {
690 698
         if (valid) {
691 699
           var submitForm = {
@@ -697,7 +705,8 @@ export default {
697 705
             remark: this.groupForm.remark,
698 706
             parent_id: this.groupForm.parent_id
699 707
           };
700
-
708
+          
709
+          console.log("888888",this.groupForm.adviceNames)
701 710
           var adviceNames = [];
702 711
           for (const index in this.groupForm.adviceNames) {
703 712
             adviceNames.unshift(this.groupForm.adviceNames[index]);
@@ -705,7 +714,9 @@ export default {
705 714
           submitForm.adviceNames = adviceNames;
706 715
           let mode = "1";
707 716
           
708
-        
717
+     
718
+          console.log("88888888",submitForm)
719
+ 
709 720
           CreateGroupAdvice(this.patientID, 0, submitForm, mode).then(
710 721
             response => {
711 722
               if (response.data.state == 0) {
@@ -827,16 +838,40 @@ export default {
827 838
         .catch(() => {});
828 839
     },
829 840
     submitNameForm(formName) {
830
-      //截取自备药名称
831
-      var arr = this.nameForm.advice_name.split("(自备药)")
832
-      this.nameForm.advice_name = arr[0]
841
+      
842
+      if(typeof(this.nameForm.advice_name) == "string"){
843
+         
844
+          this.nameForm.advice_name == this.nameForm.advice_name
845
+      }
833 846
 
847
+      if(typeof(this.nameForm.advice_name) == "number"){
848
+          var drug_name = ""
849
+          var name = ""
850
+          var way = 0
851
+          this.nameForm.drug_id = this.nameForm.advice_name
852
+          for(let i=0;i<this.medicals.length;i++){
853
+            if(this.nameForm.advice_name == this.medicals[i].id){
854
+              name = this.medicals[i].drug_name
855
+              way  = this.medicals[i].way
856
+            }
857
+          }
858
+          if(way == 1){
859
+            drug_name = name
860
+          }
861
+          if(way == 2){
862
+            var arr = name.split("(自备药)")
863
+            drug_name = arr[0]
864
+          }
865
+          
866
+          this.nameForm.advice_name = drug_name
867
+          this.nameForm.way = way
868
+      }
869
+      
834 870
       var _this = this;
835 871
       this.$refs[formName].validate(valid => {
836 872
         if (valid) {
837 873
           if (_this.nameForm.isEdit) {
838
-            var ale = _this.groupForm.adviceNames.length;
839
-            console.log("进来诶呦")
874
+            var ale = _this.groupForm.adviceNames.length; 
840 875
             if (_this.isChild) {
841 876
               for (let index = 0; index < ale; index++) {
842 877
                 if (_this.groupSelectRow.parent_row ==_this.groupForm.adviceNames[index].row_key) {
@@ -856,7 +891,10 @@ export default {
856 891
                       _this.groupForm.adviceNames[index].children[j].delivery_way = _this.nameForm.delivery_way;
857 892
                       _this.groupForm.adviceNames[index].children[j].execution_frequency =_this.nameForm.execution_frequency;
858 893
                       _this.groupForm.adviceNames[index].children[j].remark =_this.nameForm.remark;
894
+                      _this.groupForm.adviceNames[index].children[j].drug_id = _this.nameForm.drug_id;
895
+                      _this.groupForm.adviceNames[index].children[j].way = this.nameForm.way;
859 896
                       _this.$set(_this.groupForm.adviceNames[index].children,j,_this.groupForm.adviceNames[index].children[j]
897
+                     
860 898
                       );
861 899
                       break;
862 900
                     }
@@ -877,7 +915,8 @@ export default {
877 915
                   _this.groupForm.adviceNames[index].delivery_way =_this.nameForm.delivery_way;
878 916
                   _this.groupForm.adviceNames[index].execution_frequency =_this.nameForm.execution_frequency;
879 917
                   _this.groupForm.adviceNames[index].remark =_this.nameForm.remark;
880
-
918
+                  _this.groupForm.adviceNames[index].children[j].drug_id = _this.nameForm.drug_id;
919
+                  _this.groupForm.adviceNames[index].children[j].way = this.nameForm.way;
881 920
                   _this.$set(
882 921
                     _this.groupForm.adviceNames,
883 922
                     index,
@@ -1271,8 +1310,6 @@ export default {
1271 1310
               }
1272 1311
               this.$set(item, "children", item.children);
1273 1312
             }
1274
-            console.log("11122333")
1275
-            console.log(item)
1276 1313
             this.allSelectedTemplate.unshift(item);
1277 1314
             adviceTemplate.DoctorAdviceTemplate[index].selection = false;
1278 1315
           }
@@ -1359,40 +1396,16 @@ export default {
1359 1396
             for (const index in _this.adviceTemplateMaps[mapid]
1360 1397
               .DoctorAdviceTemplate) {
1361 1398
               this.editRowKey++;
1362
-              var item = {
1363
-                advice_name:
1364
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1365
-                    .advice_name,
1366
-                advice_desc:
1367
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1368
-                    .advice_desc,
1369
-                single_dose:
1370
-                  "" +
1371
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1372
-                    .single_dose,
1373
-                single_dose_unit:
1374
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1375
-                    .single_dose_unit,
1376
-                drug_spec:
1377
-                  "" +
1378
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1379
-                    .drug_spec,
1380
-                drug_spec_unit:
1381
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1382
-                    .drug_spec_unit,
1383
-                prescribing_number:
1384
-                  "" +
1385
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1386
-                    .prescribing_number,
1387
-                prescribing_number_unit:
1388
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1389
-                    .prescribing_number_unit,
1390
-                delivery_way:
1391
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1392
-                    .delivery_way,
1393
-                execution_frequency:
1394
-                  _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index]
1395
-                    .execution_frequency,
1399
+              var item = {advice_name:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].advice_name,
1400
+                advice_desc:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].advice_desc,
1401
+                single_dose:"" +_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].single_dose,
1402
+                single_dose_unit:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].single_dose_unit,
1403
+                drug_spec:"" +_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].drug_spec,
1404
+                drug_spec_unit:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].drug_spec_unit,
1405
+                prescribing_number:"" +_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].prescribing_number,
1406
+                prescribing_number_unit:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].prescribing_number_unit,
1407
+                delivery_way:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].delivery_way,
1408
+                execution_frequency:_this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].execution_frequency,
1396 1409
                 isEdit: 0,
1397 1410
                 id: 0,
1398 1411
                 children: [],
@@ -1516,25 +1529,82 @@ export default {
1516 1529
       getSelfMedicalList(params).then(response=>{
1517 1530
           if(response.data.state == 1){
1518 1531
             var medicalList =  response.data.data.medicalList
1532
+            //way字段区分数据源:1代表来自基础库  2代表来自药品库
1533
+            for(let i=0;i<medicalList.length;i++){
1534
+               medicalList[i].way = 2
1535
+            }
1519 1536
             for(let i=0;i<medicalList.length;i++){
1520 1537
                medicalList[i].drug_name = medicalList[i].drug_name+"(自备药)"
1521 1538
             }
1522
-            this.medicals = medicalList
1539
+            var drugname = response.data.data.drugName
1540
+            for(let i=0;i<drugname.length;i++){
1541
+               drugname[i].way = 1
1542
+            }
1543
+
1544
+            drugname.push(...medicalList)
1545
+            
1546
+            this.medicals = drugname
1523 1547
           }
1524 1548
       })
1525 1549
     },
1526
-    changeDrugName(name){
1527
-       console.log("name",name)
1528
-      var arr = name.split("(自备药)");
1550
+    changeDrugName(id){
1551
+      var drug_name = ""
1552
+      var name = ""
1553
+      var way = 0
1554
+      for(let i=0;i<this.medicals.length;i++){
1555
+        if(id == this.medicals[i].id){
1556
+          name = this.medicals[i].drug_name
1557
+          way  = this.medicals[i].way
1558
+        }
1559
+      }
1560
+      if(way == 1){
1561
+        drug_name = name
1562
+      }
1563
+      if(way == 2){
1564
+        var arr = name.split("(自备药)")
1565
+        drug_name = arr[0]
1566
+      }
1529 1567
         const params = {
1530
-          drug_name:arr[0],
1531
-          patient_id:this.$route.query.patient_id
1568
+          drug_name:drug_name,
1569
+          patient_id:this.$route.query.patient_id,
1570
+          way:way,
1571
+          id:id,
1532 1572
         }
1533
-        console.log("params",params)
1534 1573
       getDrugDescByDrugName(params).then(response=>{
1535 1574
           if(response.data.state == 1){
1536 1575
              var drugspec = response.data.data.drugspec
1537
-             console.log("drugspec",drugspec)
1576
+          
1577
+             if(drugspec[0].drug_spec !=0){
1578
+                this.nameForm.advice_desc = drugspec[0].drug_spec
1579
+             }
1580
+             if(drugspec[0].min_unit!=0){
1581
+                 this.nameForm.drug_spec_unit = drugspec[0].min_unit
1582
+             }
1583
+             if(drugspec[0].delivery_way!=0){
1584
+                 this.nameForm.delivery_way = drugspec[0].delivery_way
1585
+             }
1586
+             if(drugspec[0].execution_frequency!=0){
1587
+                this.nameForm.execution_frequency = drugspec[0].execution_frequency
1588
+             }
1589
+             if(drugspec[0].single_dose !=0){
1590
+                this.nameForm.single_dose = drugspec[0].single_dose.toString()
1591
+             } 
1592
+             if(drugspec[0].min_unit !=0){
1593
+               this.nameForm.single_dose_unit = drugspec[0].min_unit
1594
+             }
1595
+             if(drugspec[0].min_unit!=0){
1596
+               this.nameForm.prescribing_number_unit = drugspec[0].min_unit
1597
+             }
1598
+              
1599
+             if( drugspec[0].prescribing_number!=0){
1600
+                this.nameForm.prescribing_number = drugspec[0].prescribing_number.toString()
1601
+             }
1602
+             var countInfo = response.data.data.countInfo
1603
+             console.log("countInfo",countInfo)
1604
+             var countOut = response.data.data.countout
1605
+             console.log("countout",countOut)
1606
+             var arr = countInfo[0].Count - countOut[0].Count
1607
+             console.log("arr222",arr)
1538 1608
              this.drugSpec = drugspec
1539 1609
           }
1540 1610
       })

+ 166 - 10
src/xt_pages/dialysis/details/dialog/adviceDialog/EditGroupAdvice.vue View File

@@ -358,30 +358,63 @@
358 358
     <el-dialog
359 359
       :title="nameFormTitle"
360 360
       :visible.sync="nameFormVisible"
361
-      width="700px"
361
+      width="800px"
362 362
     >
363 363
       <el-form
364 364
         ref="nameForm"
365 365
         :rules="nameRules"
366 366
         :model="nameForm"
367
-        label-width="90px"
367
+        label-width="120px"
368 368
       >
369 369
         <el-row>
370
-          <el-col :span="12">
370
+          <el-col :span="10">
371 371
             <el-form-item label="医嘱内容 :" required prop="advice_name">
372
-              <el-input v-model="nameForm.advice_name"></el-input>
372
+              <!-- <el-input v-model="nameForm.advice_name"></el-input> -->
373
+               <el-select
374
+                v-model="nameForm.advice_name"
375
+                filterable
376
+                clearable
377
+                allow-create
378
+                :disabled="isChild"
379
+                placeholder="请选择(输入可搜索)"
380
+                style="width:200px"
381
+                @change="changeDrugName"
382
+              >
383
+                <el-option
384
+                  v-for="item in medicals"
385
+                  :key="item.id"
386
+                  :label="item.drug_name"
387
+                  :value="item.id"
388
+                ></el-option>
389
+              </el-select>
373 390
             </el-form-item>
374 391
           </el-col>
375
-          <el-col :span="12">
392
+          <el-col :span="14">
376 393
             <!--<el-form-item label="规格 :" prop="advice_desc">-->
377 394
             <!--<el-input v-model="nameForm.advice_desc"></el-input>-->
378 395
             <!--</el-form-item>-->
379 396
             <el-form-item label="药品规格 :" prop="advice_desc">
380
-              <el-col :span="8">
381
-                <el-input v-model="nameForm.advice_desc"></el-input>
397
+              <el-col :span="10">
398
+                <!-- <el-input v-model="nameForm.advice_desc"></el-input> -->
399
+                 <el-select
400
+                  v-model="nameForm.advice_desc"
401
+                  filterable
402
+                  clearable
403
+                  allow-create
404
+                  :disabled="isChild"
405
+                  placeholder="请选择(输入可搜索)"
406
+                  style="width:150px"
407
+                >
408
+                  <el-option
409
+                    v-for="item in drugSpec"
410
+                    :key="item.id"
411
+                    :label="item.drug_spec"
412
+                    :value="item.drug_spec"
413
+                  ></el-option>
414
+                 </el-select>
382 415
               </el-col>
383 416
               <el-col class="line" :span="2">&nbsp;</el-col>
384
-              <el-col :span="14">
417
+              <el-col :span="10">
385 418
                 <el-select
386 419
                   v-model="nameForm.drug_spec_unit"
387 420
                   filterable
@@ -520,7 +553,7 @@ import {
520 553
   SaveEditAdvices
521 554
 } from "@/api/advice";
522 555
 import { jsGetAge, uParseTime } from "@/utils/tools";
523
-
556
+import { getSelfMedicalList,getDrugDescByDrugName } from "@/api/drug/drug"
524 557
 export default {
525 558
   name: "AddGroupAdvice",
526 559
   data() {
@@ -585,7 +618,9 @@ export default {
585 618
       adminusername: "",
586 619
       selectedTemp: { id: 0, name: "", org_id: 0, list: [], rows: [] },
587 620
       selectedTemplate: [],
588
-      allSelectedTemplate: []
621
+      allSelectedTemplate: [],
622
+      medicals:[],
623
+      drugSpec:[]
589 624
     };
590 625
   },
591 626
   props: {
@@ -794,6 +829,33 @@ export default {
794 829
         .catch(() => {});
795 830
     },
796 831
     submitNameForm(formName) {
832
+       if(typeof(this.nameForm.advice_name) == "string"){
833
+         
834
+          this.nameForm.advice_name == this.nameForm.advice_name
835
+      }
836
+
837
+      if(typeof(this.nameForm.advice_name) == "number"){
838
+          var drug_name = ""
839
+          var name = ""
840
+          var way = 0
841
+          this.nameForm.drug_id = this.nameForm.advice_name
842
+          for(let i=0;i<this.medicals.length;i++){
843
+            if(this.nameForm.advice_name == this.medicals[i].id){
844
+              name = this.medicals[i].drug_name
845
+              way  = this.medicals[i].way
846
+            }
847
+          }
848
+          if(way == 1){
849
+            drug_name = name
850
+          }
851
+          if(way == 2){
852
+            var arr = name.split("(自备药)")
853
+            drug_name = arr[0]
854
+          }
855
+          
856
+          this.nameForm.advice_name = drug_name
857
+          this.nameForm.way = way
858
+      }
797 859
       var _this = this;
798 860
       this.$refs[formName].validate(valid => {
799 861
         if (valid) {
@@ -2161,12 +2223,106 @@ export default {
2161 2223
           this.groupEditFormVisible = false;
2162 2224
         }
2163 2225
       });
2226
+    },
2227
+   getSelfMedicalList(){
2228
+        const params = {
2229
+          patient_id:this.$route.query.patient_id
2230
+        }
2231
+      getSelfMedicalList(params).then(response=>{
2232
+          if(response.data.state == 1){
2233
+            var medicalList =  response.data.data.medicalList
2234
+            //way字段区分数据源:1代表来自基础库  2代表来自药品库
2235
+            for(let i=0;i<medicalList.length;i++){
2236
+               medicalList[i].way = 2
2237
+            }
2238
+            for(let i=0;i<medicalList.length;i++){
2239
+               medicalList[i].drug_name = medicalList[i].drug_name+"(自备药)"
2240
+            }
2241
+            var drugname = response.data.data.drugName
2242
+            for(let i=0;i<drugname.length;i++){
2243
+               drugname[i].way = 1
2244
+            }
2245
+
2246
+            drugname.push(...medicalList)
2247
+            console.log("222222222我的",drugname)
2248
+            this.medicals = drugname
2249
+          }
2250
+      })
2251
+    },
2252
+  changeDrugName(id){
2253
+      var drug_name = ""
2254
+      var name = ""
2255
+      var way = 0
2256
+      for(let i=0;i<this.medicals.length;i++){
2257
+        if(id == this.medicals[i].id){
2258
+          name = this.medicals[i].drug_name
2259
+          way  = this.medicals[i].way
2260
+        }
2261
+      }
2262
+      if(way == 1){
2263
+        drug_name = name
2264
+      }
2265
+      if(way == 2){
2266
+        var arr = name.split("(自备药)")
2267
+        drug_name = arr[0]
2268
+      }
2269
+        const params = {
2270
+          drug_name:drug_name,
2271
+          patient_id:this.$route.query.patient_id,
2272
+          way:way,
2273
+        }
2274
+      getDrugDescByDrugName(params).then(response=>{
2275
+          if(response.data.state == 1){
2276
+             var drugspec = response.data.data.drugspec
2277
+             console.log("drugspec999",drugspec)
2278
+             if(drugspec[0].drug_spec !=0){
2279
+                this.nameForm.advice_desc = ""
2280
+                this.nameForm.advice_desc = drugspec[0].drug_spec
2281
+             }
2282
+             if(drugspec[0].min_unit!=0){
2283
+                 this.nameForm.drug_spec_unit = ""
2284
+                 this.nameForm.drug_spec_unit = drugspec[0].min_unit
2285
+             }
2286
+             if(drugspec[0].delivery_way!=0){
2287
+                 this.nameForm.delivery_way = ""
2288
+                 this.nameForm.delivery_way = drugspec[0].delivery_way
2289
+             }
2290
+             if(drugspec[0].execution_frequency!=0){
2291
+                this.nameForm.execution_frequency = ""
2292
+                this.nameForm.execution_frequency = drugspec[0].execution_frequency
2293
+             }
2294
+             if(drugspec[0].single_dose !=0){
2295
+                this.nameForm.single_dose = ""
2296
+                this.nameForm.single_dose = drugspec[0].single_dose.toString()
2297
+             } 
2298
+             if(drugspec[0].min_unit !=0){
2299
+              this.nameForm.single_dose_unit = ""
2300
+               this.nameForm.single_dose_unit = drugspec[0].min_unit
2301
+             }
2302
+             if(drugspec[0].min_unit!=0){
2303
+               this.nameForm.prescribing_number_unit = ""
2304
+               this.nameForm.prescribing_number_unit = drugspec[0].min_unit
2305
+             }
2306
+              
2307
+             if( drugspec[0].prescribing_number!=0){
2308
+               this.nameForm.prescribing_number = ""
2309
+                this.nameForm.prescribing_number = drugspec[0].prescribing_number.toString()
2310
+             }
2311
+          
2312
+             this.drugSpec = drugspec
2313
+          }
2314
+      })
2315
+    
2164 2316
     }
2165 2317
   },
2166 2318
   watch: {
2167 2319
     "selectedTemp.list": function() {
2168 2320
       this.calcselectedTemp();
2169 2321
     }
2322
+  },
2323
+  created(){
2324
+     //获取自备药
2325
+    this.getSelfMedicalList()
2170 2326
   }
2171 2327
 };
2172 2328
 </script>

+ 1 - 1
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue View File

@@ -1370,7 +1370,7 @@
1370 1370
       },
1371 1371
       setLastRecord: function(schedual,lastAssessmentAfterDislysis,lastPredialysisEvaluation,lastDialysisPrescribe,lastDryWeightDislysis,system_prescribe) {
1372 1372
         
1373
-        console.log("德玛西亚22222",schedual)
1373
+       
1374 1374
         this.treatment_mode = this.$store.getters.treatment_mode
1375 1375
         console.log("99999",this.treatment_mode)
1376 1376
         this.perfusion_apparatus = getDataConfig(

+ 190 - 37
src/xt_pages/outpatientRegistration/index.vue View File

@@ -8,9 +8,9 @@
8 8
             <div class="formMain">
9 9
                 <el-form class="basicForm" ref="form" :model="form" label-width="80px">
10 10
                     <el-form-item label="结算类型">
11
-                        <el-select v-model="value" placeholder="请选择">
11
+                        <el-select v-model="form.settlementValue" placeholder="请选择">
12 12
                             <el-option
13
-                            v-for="item in options"
13
+                            v-for="item in settlement"
14 14
                             :key="item.value"
15 15
                             :label="item.label"
16 16
                             :value="item.value">
@@ -18,16 +18,16 @@
18 18
                         </el-select>
19 19
                     </el-form-item>
20 20
                     <el-form-item class="specialFormItem" label="医保卡号">
21
-                        <el-input v-model="form.name"></el-input>
21
+                        <el-input v-model="form.medicalInsuranceCard"></el-input>
22 22
                         <el-button type="primary">读卡</el-button>
23 23
                     </el-form-item>
24 24
                     <el-form-item label="患者姓名">
25 25
                         <el-input v-model="form.name"></el-input>
26 26
                     </el-form-item>
27 27
                     <el-form-item label="性别">
28
-                        <el-select v-model="value" placeholder="请选择">
28
+                        <el-select v-model="form.sex" placeholder="请选择">
29 29
                             <el-option
30
-                            v-for="item in options"
30
+                            v-for="item in sex"
31 31
                             :key="item.value"
32 32
                             :label="item.label"
33 33
                             :value="item.value">
@@ -35,9 +35,9 @@
35 35
                         </el-select>
36 36
                     </el-form-item>
37 37
                     <el-form-item label="证件类型">
38
-                        <el-select v-model="value" placeholder="请选择">
38
+                        <el-select v-model="form.certificates" placeholder="请选择">
39 39
                             <el-option
40
-                            v-for="item in options"
40
+                            v-for="item in certificates"
41 41
                             :key="item.value"
42 42
                             :label="item.label"
43 43
                             :value="item.value">
@@ -45,9 +45,9 @@
45 45
                         </el-select>
46 46
                     </el-form-item>
47 47
                     <el-form-item label="医疗类别">
48
-                        <el-select v-model="value" placeholder="请选择">
48
+                        <el-select v-model="form.medicalCare" placeholder="请选择">
49 49
                             <el-option
50
-                            v-for="item in options"
50
+                            v-for="item in medicalCare"
51 51
                             :key="item.value"
52 52
                             :label="item.label"
53 53
                             :value="item.value">
@@ -55,13 +55,13 @@
55 55
                         </el-select>
56 56
                     </el-form-item>
57 57
                     <el-form-item label="出生日期">
58
-                        <el-date-picker v-model="value1" type="date" placeholder="选择日期"></el-date-picker>
58
+                        <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期"></el-date-picker>
59 59
                     </el-form-item>
60 60
                     <el-form-item label="年龄">
61
-                        <el-input v-model="form.name"></el-input>
61
+                        <el-input v-model="form.age" readonly=""></el-input>
62 62
                     </el-form-item>
63 63
                     <el-form-item label="证件号码">
64
-                        <el-input v-model="form.name"></el-input>
64
+                        <el-input v-model="form.idCard"></el-input>
65 65
                     </el-form-item>
66 66
                 </el-form>
67 67
             </div>
@@ -69,9 +69,9 @@
69 69
             <div class="formMain">
70 70
                 <el-form class="basicForm" ref="form" :model="form" label-width="80px">
71 71
                     <el-form-item label="挂号类型">
72
-                        <el-select v-model="value" placeholder="请选择">
72
+                        <el-select v-model="form.register" placeholder="请选择">
73 73
                             <el-option
74
-                            v-for="item in options"
74
+                            v-for="item in register"
75 75
                             :key="item.value"
76 76
                             :label="item.label"
77 77
                             :value="item.value">
@@ -79,9 +79,9 @@
79 79
                         </el-select>
80 80
                     </el-form-item>
81 81
                     <el-form-item label="医生">
82
-                        <el-select v-model="value" placeholder="请选择">
82
+                        <el-select v-model="form.doctor" placeholder="请选择">
83 83
                             <el-option
84
-                            v-for="item in options"
84
+                            v-for="item in doctor"
85 85
                             :key="item.value"
86 86
                             :label="item.label"
87 87
                             :value="item.value">
@@ -89,9 +89,9 @@
89 89
                         </el-select>
90 90
                     </el-form-item>
91 91
                     <el-form-item label="科室">
92
-                        <el-select v-model="value" placeholder="请选择">
92
+                        <el-select v-model="form.department" placeholder="请选择">
93 93
                             <el-option
94
-                            v-for="item in options"
94
+                            v-for="item in department"
95 95
                             :key="item.value"
96 96
                             :label="item.label"
97 97
                             :value="item.value">
@@ -99,25 +99,25 @@
99 99
                         </el-select>
100 100
                     </el-form-item>
101 101
                     <el-form-item>
102
-                        <el-checkbox v-model="checked">是否需要工本费</el-checkbox>
102
+                        <el-checkbox v-model="form.costChecked">是否需要工本费</el-checkbox>
103 103
                     </el-form-item>
104 104
                     <el-form-item label="挂号费">
105
-                        <el-input v-model="form.name"></el-input>
105
+                        <el-input v-model.number="form.registrationFee"></el-input>
106 106
                     </el-form-item>
107 107
                     <el-form-item label="诊疗费">
108
-                        <el-input v-model="form.name"></el-input>
108
+                        <el-input v-model.number="form.medicalExpenses"></el-input>
109 109
                     </el-form-item>
110 110
                     <el-form-item label="工本费">
111
-                        <el-input v-model="form.name"></el-input>
111
+                        <el-input v-model.number="form.cost" :readonly="!form.costChecked"></el-input>
112 112
                     </el-form-item>
113 113
                     <el-form-item label="合计">
114
-                        <el-input v-model="form.name"></el-input>
114
+                        <el-input v-model.number="total" readonly></el-input>
115 115
                     </el-form-item>
116 116
                     <el-form-item>
117 117
                         <!-- <el-input v-model="form.name"></el-input> -->
118 118
                     </el-form-item>
119 119
                 </el-form>
120
-                <el-button style="float:right" type="primary">挂号</el-button>
120
+                <el-button style="float:right" @click="getForm" type="primary">挂号</el-button>
121 121
             </div>
122 122
             
123 123
         </div>
@@ -126,6 +126,7 @@
126 126
 
127 127
 <script>
128 128
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
129
+const moment = require('moment')
129 130
 export default {
130 131
     components:{
131 132
         BreadCrumb
@@ -136,25 +137,177 @@ export default {
136 137
                 { path: false, name: '门诊挂号' },
137 138
                 { path: false, name: '门诊挂号' }
138 139
             ],
139
-            form:{},
140
-            options: [{
141
-                value: '选项1',
142
-                label: '黄金糕'
140
+            form:{
141
+                settlementValue: '',
142
+                medicalInsuranceCard:'',
143
+                name:'',
144
+                sex:'',
145
+                certificates:'',
146
+                medicalCare:'',
147
+                birthday:'',
148
+                age:'',
149
+                idCard:'',
150
+                register:'',
151
+                doctor:'',
152
+                department:'',
153
+                costChecked:false,
154
+                registrationFee:'',
155
+                medicalExpenses:'',
156
+                cost:'',
157
+                total: ''
158
+
159
+            
160
+            },
161
+            settlement: [{
162
+                value: 1,
163
+                label: '医保'
143 164
                 }, {
144
-                value: '选项2',
145
-                label: '双皮奶'
165
+                value: 2,
166
+                label: '自费'
167
+            }],
168
+            sex: [{
169
+                value: 1,
170
+                label: '男'
146 171
                 }, {
147
-                value: '选项3',
148
-                label: '蚵仔煎'
172
+                value: 2,
173
+                label: '女'
174
+            }],
175
+            certificates: [{
176
+                value: 1,
177
+                label: '内地身份证'
149 178
                 }, {
150
-                value: '选项4',
151
-                label: '龙须面'
179
+                value: 2,
180
+                label: "社保卡"
181
+                },{
182
+                value: 3,
183
+                label: "护照"
184
+                },{
185
+                value: 4,
186
+                label: "军官证"
187
+                },{
188
+                value: 5,
189
+                label: "台胞证"
190
+                },{
191
+                value: 6,
192
+                label: "港澳地区身份证"
193
+            }],
194
+            medicalCare: [{
195
+                value: 1,
196
+                label: '普通门诊'
197
+                }, {
198
+                value: 2,
199
+                label: "门诊大病"
200
+                },{
201
+                value: 3,
202
+                label: "重疾特药"
203
+                },{
204
+                value: 4,
205
+                label: "门诊特检"
206
+                },{
207
+                value: 5,
208
+                label: "健康接种"
209
+                },{
210
+                value: 6,
211
+                label: "预防接种"
212
+                },
213
+                {
214
+                value: 7,
215
+                label: "门诊输液"
216
+            }],
217
+            register: [{
218
+                value: 1,
219
+                label: '普通'
152 220
                 }, {
153
-                value: '选项5',
154
-                label: '北京烤鸭'
221
+                value: 2,
222
+                label: "主治"
223
+                },{
224
+                value: 3,
225
+                label: "主任"
226
+                },{
227
+                value: 4,
228
+                label: "免收诊金"
229
+                },{
230
+                value: 5,
231
+                label: "专家"
155 232
             }],
156
-            value: ''
157 233
         }
234
+    },
235
+    computed:{
236
+        total(){
237
+            if(this.form.registrationFee || this.form.medicalExpenses || this.form.cost){
238
+                return parseFloat(this.form.registrationFee ? this.form.registrationFee : 0) + parseFloat(this.form.medicalExpenses ? this.form.medicalExpenses : 0) + parseFloat(this.form.cost ? this.form.cost : 0) 
239
+            }
240
+        }
241
+    },
242
+    methods:{
243
+        getBirthday(date){
244
+            console.log(date)
245
+            let curTime = moment(new Date(date)).format('YYYY-MM-DD')
246
+            console.log(this.jsGetAge(curTime))
247
+
248
+            this.form.age = this.jsGetAge(curTime)
249
+        },
250
+        jsGetAge(strBirthday) { //传入形式yyyy-MM-dd
251
+            //strBirthday = util.formatTime(strBirthday);转换成yyyy-MM-dd形式
252
+            var returnAge
253
+            var strBirthdayArr = strBirthday.split('-')
254
+            var birthYear = strBirthdayArr[0]
255
+            var birthMonth = strBirthdayArr[1]
256
+            var birthDay = strBirthdayArr[2]
257
+            var d = new Date()
258
+            var nowYear = d.getFullYear()
259
+            var nowMonth = d.getMonth() + 1
260
+            var nowDay = d.getDate()
261
+            if (nowYear == birthYear) {
262
+            returnAge = 0 //同年 则为0岁
263
+            } else {
264
+            var ageDiff = nowYear - birthYear //年之差
265
+            if (ageDiff > 0) {
266
+                if (nowMonth == birthMonth) {
267
+                var dayDiff = nowDay - birthDay //日之差
268
+                if (dayDiff < 0) {
269
+                    returnAge = ageDiff - 1
270
+                } else {
271
+                    returnAge = ageDiff
272
+                }
273
+                } else {
274
+                var monthDiff = nowMonth - birthMonth //月之差
275
+                if (monthDiff < 0) {
276
+                    returnAge = ageDiff - 1
277
+                } else {
278
+                    returnAge = ageDiff
279
+                }
280
+                }
281
+            } else {
282
+                returnAge = -1 //返回-1 表示出生日期输入错误 晚于今天
283
+            }
284
+            }
285
+            return returnAge //返回周岁年龄
286
+        },
287
+        getForm(){
288
+            this.form.total = this.total
289
+            // console.log(this.form)
290
+            // console.log(JSON.parse(localStorage.getItem("temp")))
291
+            if(localStorage.getItem("temp")){
292
+                let a = JSON.parse(localStorage.getItem("temp"))
293
+                // let arr = []
294
+                a.push(this.form)
295
+                console.log(111,a)
296
+                localStorage.setItem("temp",JSON.stringify(a));
297
+                Object.keys(this.form).forEach((key)=>{
298
+                    this.form[key] = ''
299
+                })
300
+                this.$message({message: '添加成功',type: 'success'});
301
+            }else {
302
+                let arr = []
303
+                arr.push(this.form)
304
+                localStorage.setItem("temp",JSON.stringify(arr));
305
+                Object.keys(this.form).forEach((key)=>{
306
+                    this.form[key] = ''
307
+                })
308
+                this.$message({message: '添加成功',type: 'success'});
309
+            }
310
+        }   
158 311
     }
159 312
 }
160 313
 </script>

+ 1 - 2
src/xt_pages/outpatientRegistration/registrationHistory.vue View File

@@ -26,8 +26,7 @@
26 26
                 </el-select>
27 27
             </div>
28 28
             <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
29
-                <el-table-column align="center" prop="dialysis_no" label="序号" width="60">
30
-                    <template slot-scope="scope">1</template>
29
+                <el-table-column align="center" type="index" label="序号" width="60">
31 30
                 </el-table-column>
32 31
                 <el-table-column align="center" prop="name" label="时间" width="100">
33 32
                     <template slot-scope="scope">{{ scope.row.date }}</template>

+ 53 - 0
src/xt_pages/sign/calling.vue View File

@@ -0,0 +1,53 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+            <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <el-tabs v-model="activeName">
8
+                <el-tab-pane label="透前叫号" name="first">
9
+                    <before-dialysis-calling></before-dialysis-calling>
10
+                </el-tab-pane>
11
+                <el-tab-pane label="上机叫号" name="second">
12
+                    <computer-calling></computer-calling>
13
+                </el-tab-pane>
14
+                <el-tab-pane label="诊台配置" name="third">
15
+                    <treatment-configure></treatment-configure>
16
+                </el-tab-pane>
17
+                <el-tab-pane label="叫号配置" name="fourth">
18
+                    <calling-configure></calling-configure>
19
+                </el-tab-pane>
20
+            </el-tabs>
21
+        </div>
22
+    </div>
23
+</template>
24
+
25
+
26
+<script>
27
+import BreadCrumb from "../components/bread-crumb";
28
+import beforeDialysisCalling from './components/beforeDialysisCalling'
29
+import computerCalling from './components/computerCalling'
30
+import treatmentConfigure from "./components/treatmentConfigure"
31
+import callingConfigure from './components/callingConfigure'
32
+export default {
33
+    components:{
34
+       BreadCrumb,
35
+       beforeDialysisCalling,
36
+       computerCalling,
37
+       treatmentConfigure,
38
+       callingConfigure 
39
+    },
40
+    data(){
41
+        return{
42
+            crumbs: [
43
+                { path: false, name: "透析管理" },
44
+                { path: "dialysis/board", name: "透析叫号" }
45
+            ],
46
+            activeName:'first'
47
+        }
48
+    },
49
+    methods:{
50
+    }
51
+}
52
+</script>
53
+      

+ 90 - 0
src/xt_pages/sign/components/beforeDialysisCalling.vue View File

@@ -0,0 +1,90 @@
1
+<template>
2
+    <div class="page_beforeDialysisCalling">
3
+        <div class="cell clearfix">
4
+            <label class="title"><span class="name">叫号状态</span> : </label>
5
+            <div class="time ">
6
+                <ul class="">
7
+                    <li v-for="option in patient_state" :key="option.value" @click="handleStateChange(option.value)" :class="patientStateVal == option.value ? 'active' : ''" >{{option.label}}
8
+                    </li>
9
+                </ul>
10
+            </div>
11
+        </div>
12
+        <div style="display:flex;justify-content: space-between;">
13
+            <div class="callingArea">
14
+                <waiting-called v-if="patientStateVal == 0"></waiting-called>
15
+                <called v-if="patientStateVal == 1"></called>
16
+            </div>
17
+            <div class="nowCalling" v-if="patientStateVal == 0">
18
+                <p class="nowCallingTitle">当前叫号</p>
19
+                <p class="nowCallingName">李小明</p>
20
+                <p class="nowCallingTime">签到时间:07:20</p>
21
+                <p class="nowCallingTime">下一位:张三</p>
22
+                <el-button style="margin: 30px 0 20px 0;">重新叫号</el-button>
23
+                <el-button type="primary" style="margin-left:0;">&ensp;&ensp;叫号&ensp;&ensp;</el-button>
24
+            </div>
25
+        </div>
26
+    </div>
27
+</template>
28
+
29
+
30
+<script>
31
+import waitingCalled from './waitingCalled'
32
+import called from './called'
33
+export default {
34
+    components:{
35
+        waitingCalled,
36
+        called
37
+    },
38
+    data(){
39
+        return{
40
+            patient_state:[
41
+                {value: 0,label: '待叫号'},
42
+                {value: 1,label: '已叫号'},
43
+            ],
44
+            patientStateVal: 0,
45
+        }
46
+    },
47
+    methods:{
48
+        handleStateChange: function(index) {
49
+            this.patientStateVal = index
50
+        },
51
+    }
52
+}
53
+</script>
54
+
55
+<style lang="scss" scoped>
56
+.callingArea{
57
+    display: flex;
58
+    flex-wrap: wrap;
59
+    width: 88%;
60
+    // @media only screen and (max-width: 1340px) {
61
+    //     width:750px;
62
+    // }
63
+
64
+    // @media only screen and (min-width: 415px) and (max-width: 767px) {
65
+    // }
66
+}
67
+.nowCalling{
68
+    height: 313px;
69
+    border: 1px solid #e5e5ee;
70
+    // flex: 1;
71
+    width: 12%;
72
+    text-align: center;
73
+    .nowCallingTitle{
74
+        font-size: 20px;
75
+        font-weight: 600;
76
+        margin-top: 20px;
77
+        text-align: center;
78
+    }
79
+    .nowCallingName{
80
+        color: #338AFB;
81
+        font-size: 18px;
82
+        margin-top: 10px;
83
+        font-weight: 600;
84
+    }
85
+    .nowCallingTime{
86
+        font-size: 16px;
87
+        margin-top: 30px;
88
+    }
89
+}
90
+</style>

+ 93 - 0
src/xt_pages/sign/components/called.vue View File

@@ -0,0 +1,93 @@
1
+<template>
2
+    <div class="page_called">
3
+        <div class="calledOne" v-for="item in 12" :key="item">
4
+            <div class="calledOneLeft">
5
+                <img src="https://images.shengws.com/201809182128111.png?imageView2/2/w/500/h/500/q/90" alt="">
6
+                <div class="name">
7
+                    <p>吴保龄</p>
8
+                    <p>
9
+                        <span class="nameTips">签到时间:07:00:00</span>
10
+                        <span class="nameTips" v-if="index == 1">床位号:A区5号床</span>
11
+                        <span class="nameTips" v-else>叫号时间:07:30:00</span>
12
+                    </p>
13
+                    <p>
14
+                        <span class="nameTips">透前体重:59kg</span>
15
+                        <span class="nameTips lastNameTips">透前血压:120/110mmHg</span>
16
+                    </p>
17
+                </div>
18
+            </div>
19
+            <div class="calledOneRight" v-if="index == 1">
20
+                <img src="../../../assets/img/volume.png" alt="">
21
+            </div>
22
+        </div>
23
+    </div>
24
+</template>
25
+
26
+<script>
27
+export default {
28
+    props:{
29
+        index:Number
30
+    },
31
+    data(){
32
+        return{
33
+
34
+        }
35
+    },
36
+}
37
+</script>
38
+
39
+
40
+<style lang="scss" scoped>
41
+.page_called{
42
+    .calledOne{
43
+        border: 1px #e5e5ee solid;
44
+        padding: 9px 0;
45
+        margin: 0 15px 15px 0;
46
+        float: left;
47
+        width: 360px;
48
+        cursor: pointer;
49
+        display: flex;
50
+        justify-content: space-between;
51
+        align-items: center;
52
+        padding: 10px;
53
+        .calledOneLeft{
54
+            display: flex;
55
+            img{
56
+                width: 45px;
57
+                height: 45px;
58
+                border-radius: 50%;
59
+                margin-right: 15px;
60
+            }
61
+            .name{
62
+                >p:first-child{
63
+                    font-size: 16px;
64
+                    font-weight: bold;
65
+                    color:#000;
66
+                }
67
+                >p:nth-of-type(2){
68
+                    font-size: 12px;
69
+                    color:#999999;
70
+                    margin-top: 6px;
71
+                }
72
+                >p:nth-of-type(3){
73
+                    font-size: 12px;
74
+                    color:#999999;
75
+                    margin-top: 3px;
76
+                }
77
+                .nameTips{
78
+                    margin-right:10px;
79
+                    display: inline-block;
80
+                }
81
+                
82
+            }
83
+            
84
+        }
85
+        .calledOneRight{
86
+            img{
87
+                width: 30px;
88
+                margin-top: 8px;
89
+            }
90
+        }
91
+    }
92
+}
93
+</style>

+ 160 - 0
src/xt_pages/sign/components/callingConfigure.vue View File

@@ -0,0 +1,160 @@
1
+<template>
2
+    <div class="page_callingConfigure">
3
+        <div class="cell clearfix">
4
+            就诊状态显示屏幕切换屏幕时长配置(秒) : 
5
+            <div class="time ">
6
+                <el-input-number v-model="num" @change="handleChange" :min="1"></el-input-number>
7
+            </div>
8
+        </div>
9
+        <div style="display:flex;">
10
+            <div class="configureBox">
11
+                <div class="configureBoxTitle">接诊叫号</div>
12
+                <div class="configureBoxMain">
13
+                    <div style="margin-bottom:10px;">单次叫号语音播报次数:<el-input-number v-model="num" @change="handleChange" :min="1"></el-input-number></div>
14
+                    <div style="margin-bottom:10px;">叫号语音内容设置:</div>
15
+                    <div style="margin-bottom:10px;">
16
+                        <p style="width:50px;display: inline-block;">请</p>
17
+                        <el-select style="width:140px;" v-model="type" placeholder="请选择">
18
+                            <el-option
19
+                            v-for="item in typeOptions"
20
+                            :key="item.value"
21
+                            :label="item.label"
22
+                            :value="item.value">
23
+                            </el-option>
24
+                        </el-select>
25
+                    </div>
26
+                    <div style="margin-bottom:10px;">
27
+                        <p style="width:50px;display: inline-block;">到</p>
28
+                        <el-select style="width:140px;" v-model="state" placeholder="请选择">
29
+                            <el-option
30
+                            v-for="item in stateOptions"
31
+                            :key="item.value"
32
+                            :label="item.label"
33
+                            :value="item.value">
34
+                            </el-option>
35
+                        </el-select>
36
+                    </div>
37
+                    <div style="margin-bottom:10px;" v-if="state == 2">
38
+                        <p style="width:50px;display: inline-block;"></p>
39
+                        <el-input style="width:200px;" v-model="input" placeholder="请输入内容"></el-input>
40
+                    </div>
41
+                    <div>就诊</div>
42
+                </div>
43
+                
44
+            </div>
45
+            <div class="configureBox" style="border-left:none;">
46
+                <div class="configureBoxTitle">上机叫号</div>
47
+                <div class="configureBoxMain">
48
+                    <div style="margin-bottom:10px;">单次叫号语音播报次数:<el-input-number v-model="num" @change="handleChange" :min="1"></el-input-number></div>
49
+                    <div style="margin-bottom:10px;">叫号语音内容设置:</div>
50
+                    <div style="margin-bottom:10px;">
51
+                        <p style="width:50px;display: inline-block;">请</p>
52
+                        <el-select style="width:140px;" v-model="type" placeholder="请选择">
53
+                            <el-option
54
+                            v-for="item in typeOptions"
55
+                            :key="item.value"
56
+                            :label="item.label"
57
+                            :value="item.value">
58
+                            </el-option>
59
+                        </el-select>
60
+                    </div>
61
+                    <div style="margin-bottom:10px;">
62
+                        <p style="width:50px;display: inline-block;">到</p>
63
+                        <el-select style="width:140px;" v-model="state" placeholder="请选择">
64
+                            <el-option
65
+                            v-for="item in stateOptions"
66
+                            :key="item.value"
67
+                            :label="item.label"
68
+                            :value="item.value">
69
+                            </el-option>
70
+                        </el-select>
71
+                    </div>
72
+                    <div style="margin-bottom:10px;" v-if="state == 2">
73
+                        <p style="width:50px;display: inline-block;"></p>
74
+                        <el-input style="width:200px;" v-model="input" placeholder="请输入内容"></el-input>
75
+                    </div>
76
+                    <div>上机</div>
77
+                </div>
78
+                
79
+            </div>
80
+        </div>
81
+        <div style="display:flex;margin-top:10px;">
82
+            <div style="width:480px;">
83
+                语音播报声音:
84
+                <el-radio-group v-model="radio">
85
+                    <el-radio :label="1">男生</el-radio>
86
+                    <el-radio :label="2">女生</el-radio>
87
+                </el-radio-group>
88
+            </div>
89
+            <div style="width:480px;">
90
+                隐藏接诊叫号区域:
91
+                <el-radio-group v-model="radio">
92
+                    <el-radio :label="1">是</el-radio>
93
+                    <el-radio :label="2">否</el-radio>
94
+                </el-radio-group>
95
+            </div>
96
+        </div>
97
+        <div style="display:flex;margin-top:10px;">
98
+            <div style="width:480px;">
99
+                隐藏上机叫号区域:
100
+                <el-radio-group v-model="radio">
101
+                    <el-radio :label="1">是</el-radio>
102
+                    <el-radio :label="2">否</el-radio>
103
+                </el-radio-group>
104
+            </div>
105
+            <div style="width:480px;">
106
+                是否在透析管理页面显示排队叫号:
107
+                <el-radio-group v-model="radio">
108
+                    <el-radio :label="1">显示</el-radio>
109
+                    <el-radio :label="2">不显示</el-radio>
110
+                </el-radio-group>
111
+            </div>
112
+        </div>
113
+        <div style="display:flex;margin-top:10px;">
114
+            <div style="width:480px;">
115
+                是否在透析记录详情页面显示排队叫号:
116
+                <el-radio-group v-model="radio">
117
+                    <el-radio :label="1">显示</el-radio>
118
+                    <el-radio :label="2">不显示</el-radio>
119
+                </el-radio-group>
120
+            </div>
121
+        </div>
122
+    </div>
123
+</template>
124
+
125
+<script>
126
+export default {
127
+    data(){
128
+        return{
129
+            num:3,
130
+            typeOptions:[{ value: 1, label: '姓名'},{ value: 2, label: '透析号'}],
131
+            type: 1,
132
+            stateOptions:[{ value: 1, label: '智能匹配诊台'},{ value: 2, label: '自定义内容'}],
133
+            state: 1,
134
+            input:'',
135
+            radio:1
136
+        }
137
+    }
138
+}
139
+</script>
140
+
141
+
142
+<style lang="scss" scoped>
143
+.configureBox{
144
+    width:480px;
145
+    height: 300px;
146
+    border: 1px solid #e5e5e5;
147
+    .configureBoxTitle{
148
+        height: 40px;
149
+        text-align: center;
150
+        line-height: 40px;
151
+        background: rgb(245, 247, 250);
152
+        color:rgb(96, 98, 102);
153
+        font-weight: 600;
154
+        border-bottom: 1px solid #e5e5e5;
155
+    }
156
+    .configureBoxMain{
157
+        padding: 10px;
158
+    }
159
+}
160
+</style>

+ 82 - 0
src/xt_pages/sign/components/computerCalling.vue View File

@@ -0,0 +1,82 @@
1
+<template>
2
+    <div class="page_computerCalling">
3
+        <div class="cell clearfix">
4
+            <label class="title"><span class="name">叫号状态</span> : </label>
5
+            <div class="time ">
6
+                <ul class="">
7
+                    <li v-for="option in patient_state" :key="option.value" @click="handleStateChange(option.value)" :class="patientStateVal == option.value ? 'active' : ''" >{{option.label}}
8
+                    </li>
9
+                </ul>
10
+            </div>
11
+        </div>
12
+        <div style="display:flex;justify-content: space-between;">
13
+            <div class="callingArea">
14
+                <called v-if="patientStateVal == 0" :index='1'></called>
15
+                <called v-if="patientStateVal == 1"></called>
16
+            </div>
17
+            <div class="nowCalling" v-if="patientStateVal == 0">
18
+                <p class="nowCallingTitle">当前叫号</p>
19
+                <p class="nowCallingName">李小明</p>
20
+                <p class="nowCallingTime">签到时间:07:20</p>
21
+                <p class="nowCallingTime">下一位:张三</p>
22
+                <el-button style="margin: 30px 0 20px 0;">重新叫号</el-button>
23
+                <el-button type="primary" style="margin-left:0;">&ensp;&ensp;叫号&ensp;&ensp;</el-button>
24
+            </div>
25
+        </div>
26
+    </div>
27
+</template>
28
+
29
+<script>
30
+import called from './called'
31
+export default {
32
+    components:{
33
+       called 
34
+    },
35
+    data(){
36
+        return{
37
+            patient_state:[
38
+                {value: 0,label: '待叫号'},
39
+                {value: 1,label: '已叫号'},
40
+            ],
41
+            patientStateVal: 0,
42
+        }
43
+    },
44
+    methods:{
45
+        handleStateChange: function(index) {
46
+            this.patientStateVal = index
47
+        },
48
+    }
49
+}
50
+</script>
51
+
52
+
53
+<style lang="scss" scoped>
54
+.callingArea{
55
+    display: flex;
56
+    flex-wrap: wrap;
57
+    width: 86%;
58
+}
59
+.nowCalling{
60
+    height: 351px;
61
+    border: 1px solid #e5e5ee;
62
+    // flex: 1;
63
+    width: 14%;
64
+    text-align: center;
65
+    .nowCallingTitle{
66
+        font-size: 20px;
67
+        font-weight: 600;
68
+        margin-top: 20px;
69
+        text-align: center;
70
+    }
71
+    .nowCallingName{
72
+        color: #338AFB;
73
+        font-size: 18px;
74
+        margin-top: 10px;
75
+        font-weight: 600;
76
+    }
77
+    .nowCallingTime{
78
+        font-size: 16px;
79
+        margin-top: 30px;
80
+    }
81
+}
82
+</style>

+ 84 - 0
src/xt_pages/sign/components/treatmentConfigure.vue View File

@@ -0,0 +1,84 @@
1
+<template>
2
+    <div class="page_configure">
3
+        <div style="display:flex;align-items:center;margin-bottom:12px;justify-content: space-between;">
4
+            <div>接诊台列表</div>
5
+            <el-button type="primary" @click="newVisible = true">新增</el-button>
6
+        </div>
7
+        <el-table :data="tableData" border style="width: 100%">
8
+            <el-table-column prop="date" label="接诊台号" align="center"></el-table-column>
9
+            <el-table-column label="诊台负责医生" align="center">
10
+                <template slot-scope="scope">
11
+                    <el-tag size="medium">{{ scope.row.name }}</el-tag>
12
+                </template>
13
+            </el-table-column>
14
+            <el-table-column label="操作" align="center">
15
+                <template slot-scope="scope">
16
+                    <el-button size="mini" type="primary" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
17
+                    <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
18
+                </template>
19
+            </el-table-column>
20
+        </el-table>
21
+        <el-dialog title="新增诊台" width="800px" :visible.sync="newVisible" >
22
+            <el-form :model="form" :rules="rules" ref="form" label-width="140px">
23
+                <el-form-item label="诊台号 : " required prop="type">
24
+                    <el-input v-model.trim="form.type" placeholder="" ></el-input>
25
+                </el-form-item>
26
+                <el-form-item label="诊台负责医生 : " required  prop="doctor">
27
+                    <el-select style="width:100%" v-model="form.doctor" placeholder="请选择" multiple filterable allow-create default-first-option>
28
+                        <el-option
29
+                        v-for="item in typeOptions"
30
+                        :key="item.value"
31
+                        :label="item.label"
32
+                        :value="item.value">
33
+                        </el-option>
34
+                    </el-select>
35
+                </el-form-item>
36
+            </el-form>
37
+            <div slot="footer" class="dialog-footer">
38
+                <el-button @click="newVisible=false">取 消</el-button>
39
+                <el-button type="primary" @click="submitAction('form')">保 存</el-button>
40
+            </div>
41
+        </el-dialog>
42
+    </div>
43
+</template>
44
+
45
+<script>
46
+export default {
47
+    data(){
48
+        return{
49
+            tableData: [{
50
+                date: '2016-05-02',
51
+                name: '王小虎',
52
+                address: '上海市普陀区金沙江路 1518 弄'
53
+                }, {
54
+                date: '2016-05-04',
55
+                name: '王小虎',
56
+                address: '上海市普陀区金沙江路 1517 弄'
57
+                }, {
58
+                date: '2016-05-01',
59
+                name: '王小虎',
60
+                address: '上海市普陀区金沙江路 1519 弄'
61
+                }, {
62
+                date: '2016-05-03',
63
+                name: '王小虎',
64
+                address: '上海市普陀区金沙江路 1516 弄'
65
+            }],
66
+            newVisible:false,
67
+            form: {
68
+                id: 0,
69
+                type: "",
70
+                doctor:[],
71
+            },
72
+            rules: {
73
+              type: [{ required: true, message: "请输入诊台号" }],
74
+              doctor: [{ required: true, message: "请选择接诊台负责医生"}],  
75
+            },
76
+            typeOptions:[{ value: 1, label: '张三'},{ value: 2, label: '李四'}],
77
+        }
78
+    },
79
+    methods:{
80
+        handleEdit(){},
81
+        handleDelete(){},
82
+    }
83
+}
84
+</script>

+ 61 - 0
src/xt_pages/sign/components/waitingCalled.vue View File

@@ -0,0 +1,61 @@
1
+<template>
2
+    <div class="waitingCalled">
3
+        <div class="waitingOne" v-for="item in 12" :key="item">
4
+            <div class="waitingOneLeft">
5
+                <img src="https://images.shengws.com/201809182128111.png?imageView2/2/w/500/h/500/q/90" alt="">
6
+                <div class="name">
7
+                    <p>吴保龄</p>
8
+                    <p>签到时间:07:00:00</p>
9
+                </div>
10
+            </div>
11
+            <div class="waitingOneRight">
12
+                <img src="../../../assets/img/volume.png" alt="">
13
+            </div>
14
+        </div>
15
+    </div>
16
+</template>
17
+
18
+<style lang="scss" scoped>
19
+.waitingCalled{
20
+    .waitingOne{
21
+        border: 1px #e5e5ee solid;
22
+        padding: 9px 0;
23
+        margin: 0 15px 15px 0;
24
+        float: left;
25
+        width: 360px;
26
+        cursor: pointer;
27
+        display: flex;
28
+        justify-content: space-between;
29
+        align-items: center;
30
+        padding: 10px;
31
+        .waitingOneLeft{
32
+            display: flex;
33
+            img{
34
+                width: 45px;
35
+                height: 45px;
36
+                border-radius: 50%;
37
+                margin-right: 15px;
38
+            }
39
+            .name{
40
+                >p:first-child{
41
+                    font-size: 16px;
42
+                    font-weight: bold;
43
+                    color:#000;
44
+                }
45
+                >p:last-child{
46
+                    font-size: 12px;
47
+                    color:#999999;
48
+                    margin-top: 10px;
49
+                }
50
+            }
51
+            
52
+        }
53
+        .waitingOneRight{
54
+            img{
55
+                width: 30px;
56
+                margin-top: 6px;
57
+            }
58
+        }
59
+    }
60
+}
61
+</style>

+ 201 - 0
src/xt_pages/sign/lineUp.vue View File

@@ -0,0 +1,201 @@
1
+<template>
2
+    <div class="app-container">
3
+        <div class="page_lineUp">
4
+            <div class="lineUpTitle">
5
+                <div>唐山朝阳医院<span>温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合</span></div>
6
+                <div>2020.8.18   07:22(星期四)</div>
7
+            </div>
8
+            <div class="lineUpMain">
9
+                <div class="lineUpMainLeft">
10
+                    <div class="lineUpMainLeftTitle">
11
+                        <p style="width:14%">排号</p>
12
+                        <p style="width:14%">姓名</p>
13
+                        <p style="width:14%">病例号</p>
14
+                        <p style="width:14%">床位号</p>
15
+                        <p style="width:14%">治疗状态</p>
16
+                        <p style="width:14%">上机时间</p>
17
+                        <p style="width:14%">预计下机时间</p>
18
+                    </div>
19
+                    <div class="lineUpList">
20
+                        <div class="lineUpListOne" v-for="item in 8" :key="item">
21
+                            <p style="width:14%">P01</p>
22
+                            <p style="width:14%">张*等</p>
23
+                            <p style="width:14%">001</p>
24
+                            <p style="width:14%">普通区1号床</p>
25
+                            <p style="width:14%">已下机</p>
26
+                            <p style="width:14%">09:01</p>
27
+                            <p style="width:14%">09:01</p>
28
+                        </div>
29
+                    </div>
30
+                </div> 
31
+                <div class="callingBox">
32
+                    <div class="callingBoxLeft">
33
+                        <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
34
+                        <div style="flex: 1;">
35
+                            <div class="callingTop" style="margin-bottom:4px;">
36
+                                <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
37
+                                <div class="callingContent">
38
+                                    <p style="margin-top:13px;">请李四宋到1号诊台就诊</p>
39
+                                    <p>请王岐岐到2号诊台就诊</p>
40
+                                </div>
41
+                            </div>
42
+                            <div class="callingTop" style="border-radius: 0 0 15px 0;">
43
+                                <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
44
+                                <div class="callingContent">
45
+                                    <p style="margin-top:13px;">欧大大、王思思、陈啦啦、吴东汉、</p>
46
+                                    <p>孔豆豆、陈米春、孔豆豆、陈米春、</p>
47
+                                </div>
48
+                            </div>
49
+                        </div>
50
+                    </div>
51
+                    <div class="callingBoxLeft">
52
+                        <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
53
+                        <div style="flex: 1;">
54
+                            <div class="callingTop" style="margin-bottom:4px;">
55
+                                <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
56
+                                <div class="callingContent">
57
+                                    <p style="margin-top:13px;">请李四宋到普通区2号床上机</p>
58
+                                    <p>请王岐岐到普通区3号床上机</p>
59
+                                </div>
60
+                            </div>
61
+                            <div class="callingTop" style="border-radius: 0 0 15px 0;">
62
+                                <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
63
+                                <div class="callingContent">
64
+                                    <p style="margin-top:13px;">欧大大、王思思、陈啦啦、吴东汉、</p>
65
+                                    <p>孔豆豆、陈米春、孔豆豆、陈米春、</p>
66
+                                </div>
67
+                            </div>
68
+                        </div>
69
+                    </div>
70
+                </div>
71
+            </div>
72
+            
73
+        </div>
74
+    </div>
75
+</template>
76
+
77
+<style lang="scss" scoped>
78
+.page_lineUp{
79
+    .lineUpTitle{
80
+        height: 50px;
81
+        background: #1A82BF;
82
+        display: flex;
83
+        justify-content: space-between;
84
+        align-items: center;
85
+        padding: 0 20px;
86
+        color:#fff;
87
+        font-size: 20px;
88
+        font-weight: 600;
89
+    }
90
+    .lineUpMain{
91
+        background: linear-gradient(0deg, #76ECEC, #479CD2);
92
+        height: 550px;
93
+        padding:10px;
94
+    }
95
+    .lineUpMainLeft{
96
+        height: 370px;
97
+        border-radius: 15px;
98
+        
99
+    }
100
+    .lineUpMainLeftTitle{
101
+        display: flex;
102
+        justify-content: space-between;
103
+        align-items: center;
104
+        color:#fff;
105
+        font-size: 18px;
106
+        font-weight: 600;
107
+        height:50px;
108
+        background: #1A82BF;
109
+        border-radius: 15px 15px 0 0;
110
+        >p{
111
+            text-align: center;
112
+        }
113
+    }
114
+    .lineUpList{
115
+        font-size: 18px;
116
+        font-weight: 600;
117
+        >div:nth-child(odd){
118
+            background: #F9FDFF;
119
+        }
120
+        >div:nth-child(even){
121
+            background: #CCEBFF;
122
+        }
123
+        >div:last-child{
124
+            border-radius: 0 0 15px 15px;
125
+        }
126
+        .lineUpListOne{
127
+            height:40px;
128
+            display: flex;
129
+            justify-content: space-between;
130
+            align-items: center;
131
+            color:#1C6895;
132
+            >p{
133
+                width:25%;
134
+                text-align: center;
135
+            }
136
+        }
137
+    }
138
+    .callingBox{
139
+        height: 150px;
140
+        margin-top: 10px;
141
+        display: flex;
142
+        justify-content: space-between;
143
+        .callingBoxLeft{
144
+            width: 49%;
145
+            height: 100%;
146
+            display: flex;
147
+            justify-content: space-between;
148
+            .callingTitle{
149
+                width: 60px;
150
+                height: 100%;
151
+                border-radius: 15px 0 0 15px;
152
+                font-size: 30px;
153
+                font-weight:600;
154
+                text-align: center;
155
+                color: #fff;
156
+                background: #1A82BF;
157
+                display: flex;
158
+                align-items: center;
159
+                margin-right: 5px;
160
+            }
161
+            .newCallingTitle{
162
+                background: linear-gradient(90deg, rgba(66, 231, 167, 1), rgba(26, 191, 84, 1), rgba(157, 254, 31, 1));
163
+            }
164
+        } 
165
+        .callingTop{
166
+            height: 73px;
167
+            border-radius: 0 15px 0 0;
168
+            background: #F9FDFF;
169
+            display: flex;
170
+            justify-content: space-between;
171
+            .callingTopTip{
172
+                width: 73px;
173
+                height: 100%;
174
+                color: #fff;
175
+                font-size: 18px;
176
+                font-weight: 600;
177
+                background: #1A82BF;
178
+                display: flex;
179
+                align-items: center;
180
+            }
181
+            .newCallingTopTip{
182
+                background: linear-gradient(90deg, rgba(66, 231, 167, 1), rgba(26, 191, 84, 1), rgba(157, 254, 31, 1));
183
+            }
184
+            .callingContent{
185
+                flex: 1;
186
+                display: flex;
187
+                flex-direction: column;
188
+                font-size: 16px;
189
+                color:#1C6895;
190
+                font-weight: 600;
191
+                padding-left: 20px;
192
+                >p{
193
+                    width:100%;
194
+                    text-align: left;
195
+                    line-height: 24px;
196
+                }
197
+            }
198
+        }
199
+    }
200
+}
201
+</style>

+ 154 - 0
src/xt_pages/sign/signIn.vue View File

@@ -0,0 +1,154 @@
1
+<template>
2
+    <div class="app-container">
3
+        <div class="page_signIn">
4
+            <div class="signInTitle">
5
+                <div>唐山朝阳医院</div>
6
+                <div>2020.8.18   07:22(星期四)</div>
7
+            </div>
8
+            <div class="signInMain">
9
+                <div style="display: flex;justify-content: space-between;padding:10px;">
10
+                    <div class="signInMainLeft">
11
+                        <div class="signInMainLeftTitle">
12
+                            <p>排号</p>
13
+                            <p>姓名</p>
14
+                            <p>病历号</p>
15
+                            <p>签到时间</p>
16
+                        </div>
17
+                        <div class="signInList">
18
+                            <div class="signInListOne" v-for="item in 12" :key="item">
19
+                                <p>P13</p>
20
+                                <p>张*等</p>
21
+                                <p>001</p>
22
+                                <p>09:01:00</p>
23
+                            </div>
24
+                        </div>
25
+                    </div>
26
+                    <div class="signInMainRight">
27
+                        <div class="signInMainRightTitle"><span style="margin:0 auto;">张三</span></div>
28
+                        <div class="signInMainRightContent">
29
+                            <p style="margin: 0 auto;display:flex;align-items: center;"><span>排号&nbsp;&nbsp;</span><span style="font-size:120px;">P06</span></p>
30
+                        </div>
31
+                        <div class="signInMianRightBottom"><span style="margin:0 auto;">签到成功</span></div>
32
+                    </div>
33
+                </div>
34
+                <div class="signInTip">
35
+                    温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合
36
+                </div>
37
+            </div>
38
+        </div>
39
+    </div>
40
+</template>
41
+
42
+
43
+<style lang="scss" scoped>
44
+.page_signIn{
45
+    .signInTitle{
46
+        height: 50px;
47
+        background: #1A82BF;
48
+        display: flex;
49
+        justify-content: space-between;
50
+        align-items: center;
51
+        padding: 0 20px;
52
+        color:#fff;
53
+        font-size: 20px;
54
+        font-weight: 600;
55
+    }
56
+    .signInMain{
57
+        background: linear-gradient(0deg, #76ECEC, #479CD2);
58
+        height: 600px;
59
+        
60
+        
61
+    }
62
+    .signInMainLeft{
63
+        width:65%;
64
+        height: 530px;
65
+        border-radius: 15px;
66
+    }
67
+    .signInMainLeftTitle{
68
+        display: flex;
69
+        justify-content: space-between;
70
+        align-items: center;
71
+        color:#fff;
72
+        font-size: 18px;
73
+        font-weight: 600;
74
+        height:50px;
75
+        background: #1A82BF;
76
+        border-radius: 15px 15px 0 0;
77
+        >p{
78
+            width:25%;
79
+            text-align: center;
80
+        }
81
+    }
82
+    .signInList{
83
+        font-size: 18px;
84
+        font-weight: 600;
85
+        >div:nth-child(odd){
86
+            background: #F9FDFF;
87
+        }
88
+        >div:nth-child(even){
89
+            background: #CCEBFF;
90
+        }
91
+        >div:last-child{
92
+            border-radius: 0 0 15px 15px;
93
+        }
94
+        .signInListOne{
95
+            height:40px;
96
+            display: flex;
97
+            justify-content: space-between;
98
+            align-items: center;
99
+            color:#1C6895;
100
+            >p{
101
+                width:25%;
102
+                text-align: center;
103
+            }
104
+        }
105
+    }
106
+    .signInMainRight{
107
+        width: 34%;
108
+        height: 530px;
109
+    }
110
+    .signInMainRightTitle{
111
+        height: 130px;
112
+        border-radius: 15px 15px 0 0;
113
+        background: #1A82BF;
114
+        font-size: 80px;
115
+        font-weight: 600;
116
+        color:#fff;
117
+        display: flex;
118
+        align-items: center;
119
+        justify-content: space-between;
120
+    }
121
+    .signInMainRightContent{
122
+        background: #F9FDFF;
123
+        height: 300px;
124
+        text-align: center;
125
+        font-weight: 600;
126
+        color:#1C6895;
127
+        box-sizing: border-box;
128
+        font-size:70px;
129
+        display:flex;
130
+        align-items:center;
131
+    }
132
+    .signInMianRightBottom{
133
+        height: 100px;
134
+        background: #1A82BF;
135
+        border-radius: 0 0 15px 15px;
136
+        font-size: 40px;
137
+        font-weight: 600;
138
+        color:#fff;
139
+        display: flex;
140
+        justify-content: space-between;
141
+        align-items: center;
142
+    }
143
+    .signInTip{
144
+        color:#fff;
145
+        font-size: 18px;
146
+        font-weight: 600;
147
+        display: flex;
148
+        align-items: center;
149
+        height: 50px;
150
+        background: linear-gradient(0deg, #42A9E7, #3686B9, #42A9E7);
151
+        margin-top: 1px;
152
+    }
153
+}
154
+</style>

+ 1 - 2
src/xt_pages/stock/selfPreparedMedicine/components/addMedicine.vue View File

@@ -83,7 +83,6 @@ export default {
83 83
            }) 
84 84
         },
85 85
         handleCurrentChange(val){
86
-           console.log("val===",val)
87 86
            this.currentRow = val
88 87
            this.getRullListByDrugName(val.drug_name)
89 88
         },
@@ -94,7 +93,6 @@ export default {
94 93
            getRullListByDrugName(params).then(response=>{
95 94
               if(response.data.state ==  1){
96 95
                 var drugName =  response.data.data.drugName
97
-                console.log("drugname",drugName)
98 96
                 this.tableDatatwo = drugName
99 97
               }
100 98
            })
@@ -113,6 +111,7 @@ export default {
113 111
                 var msg = response.data.data.msg
114 112
                 this.$message.success("保存成功")
115 113
                 this.visible = false
114
+                this.$emit('getlist');
116 115
              }else {
117 116
                 this.$message.error("药品名称规格已存在")
118 117
              }

+ 13 - 3
src/xt_pages/stock/selfPreparedMedicine/components/medicineDetail.vue View File

@@ -24,7 +24,8 @@
24 24
                 placeholder="选择日期时间"
25 25
                 align="right"
26 26
                 format="yyyy-MM-dd"
27
-                value-format="yyyy-MM-dd">
27
+                value-format="yyyy-MM-dd"
28
+                @change="changeStartime">
28 29
             </el-date-picker>
29 30
                 <el-date-picker
30 31
                 v-model="end_time"
@@ -35,7 +36,8 @@
35 36
                 placeholder="选择日期时间"
36 37
                 align="right"
37 38
                 format="yyyy-MM-dd"
38
-                value-format="yyyy-MM-dd">
39
+                value-format="yyyy-MM-dd"
40
+                @change="changeEndtime">
39 41
             </el-date-picker>
40 42
         </div>
41 43
         <el-table :data="tableData" border style="width: 100%;" height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
@@ -152,7 +154,9 @@ export default {
152 154
                 }
153 155
                 if(this.type == 1){
154 156
                    stockDetail.push(...outStockDetail)
155
-                   this.tableData = stockDetail
157
+                   var arr = stockDetail
158
+                  var newarr  =  arr.sort((a,b)=>{ return a.storck_time-b.storck_time})
159
+                  this.tableData = newarr
156 160
                 }
157 161
                 
158 162
                 if(this.type == 2){
@@ -187,6 +191,12 @@ export default {
187 191
        getTimes(time) {
188 192
         return uParseTime(time, "{y}-{m}-{d}");
189 193
       },
194
+      changeStartime(){
195
+        this.getDrugDetail()   
196
+      },
197
+      changeEndtime(){
198
+        this.getDrugDetail()
199
+      }
190 200
     },
191 201
 
192 202
     created(){

+ 9 - 4
src/xt_pages/stock/selfPreparedMedicine/components/warehouseOut.vue View File

@@ -111,10 +111,15 @@ export default {
111 111
         // },
112 112
        
113 113
         saveOutStock(){
114
+           var arr=[]
115
+            for(let i=0;i<this.tableData.length;i++){
116
+              if(this.tableData[i].outstore_number){
117
+                  arr.push(this.tableData[i])
118
+              }
119
+            }
114 120
             const params = {
115
-               outStocks:this.tableData,
121
+               outStocks:arr,
116 122
             }
117
-            console.log("outStocks",params)
118 123
             if(this.admin_user_id ==''){
119 124
               this.$message.error("请选择出库人")
120 125
               return
@@ -122,8 +127,9 @@ export default {
122 127
           saveOutStock(params,this.start_time,this.admin_user_id,this.patient_id).then(response=>{
123 128
               if(response.data.state == 1){
124 129
                  var msg = response.data.data.msg
125
-                 console.log("msg",msg)
130
+                 this.$message.success("保存成功")
126 131
                  this.visible = false
132
+                 this.$emit('getlist');
127 133
               }
128 134
           })
129 135
         },
@@ -132,7 +138,6 @@ export default {
132 138
            const params = {
133 139
               patient_id:this.patient_id
134 140
            }
135
-           console.log("params",params)
136 141
           getDrugDataByPatientId(params).then(response=>{
137 142
              if(response.data.state == 1){
138 143
                var medicalList = response.data.data.medicalList

+ 9 - 3
src/xt_pages/stock/selfPreparedMedicine/components/warehousing.vue View File

@@ -27,6 +27,7 @@
27 27
             </el-select>
28 28
         </div>
29 29
         <el-table :data="tableData" border style="width: 100%;" height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
30
+           
30 31
             <el-table-column align="center" label="药品名称">
31 32
                 <template slot-scope="scope">{{scope.row.drug_name}}</template>
32 33
             </el-table-column>
@@ -109,20 +110,25 @@ export default {
109 110
         //   })
110 111
         // },
111 112
         saveStock(){
113
+            var arr=[]
114
+            for(let i=0;i<this.tableData.length;i++){
115
+              if(this.tableData[i].store_number){
116
+                  arr.push(this.tableData[i])
117
+              }
118
+            }
112 119
             const params ={
113
-               stocks:this.tableData
120
+               stocks:arr
114 121
             }
115 122
             if(this.admin_user_id ==''){
116 123
               this.$message.error("请选择入库人")
117 124
               return
118 125
             }
119
-           console.log("params",params)
120
-       
121 126
           saveStock(params,this.start_time,this.admin_user_id,this.patient_id).then(response=>{
122 127
               if(response.data.state == 1){
123 128
                  var msg = response.data.data.msg
124 129
                  this.$message.success("保存成功")
125 130
                  this.visible = false
131
+                 this.$emit('getlist');
126 132
               }
127 133
           })
128 134
         },

+ 50 - 13
src/xt_pages/stock/selfPreparedMedicine/index.vue View File

@@ -70,13 +70,15 @@
70 70
                             <template slot-scope="scope">{{scope.row.min_unit}}</template>
71 71
                         </el-table-column>
72 72
                         <el-table-column align="center" prop="name" label="自备数量" width="90">
73
-                            <template slot-scope="scope">{{ scope.row.Total }}</template>
73
+                            <template slot-scope="scope">
74
+                              {{getTotal(scope.row.patient_id,scope.row.id)}}
75
+                            </template>
74 76
                         </el-table-column>
75 77
                         <el-table-column align="center" prop="name" label="已使用" width="90">
76 78
                             <template slot-scope="scope">{{getCount(scope.row.patient_id,scope.row.drug_name,scope.row.drug_spec)}}</template>
77 79
                         </el-table-column>
78 80
                         <el-table-column align="center" prop="name" label="剩余" width="90">
79
-                            <template slot-scope="scope">{{scope.row.Total - getCount(scope.row.patient_id,scope.row.drug_name,scope.row.drug_spec)}}</template>
81
+                            <template slot-scope="scope">{{getTotal(scope.row.patient_id,scope.row.id)- getCount(scope.row.patient_id,scope.row.drug_name,scope.row.drug_spec)}}</template>
80 82
                         </el-table-column>
81 83
                         <!-- <el-table-column align="center" prop="name" label="停用" width="90">
82 84
                             <template slot-scope="scope">
@@ -85,7 +87,10 @@
85 87
                             </template>
86 88
                         </el-table-column> -->
87 89
                         <el-table-column align="center" prop="name" label="备注">
88
-                            <template slot-scope="scope">{{ scope.row.remarks }}</template>
90
+                            <!-- <template slot-scope="scope">{{ scope.row.remarks }}</template> -->
91
+                            <template slot-scope="scope">
92
+                                {{getRemarks(scope.row.patient_id,scope.row.id)}}
93
+                            </template>
89 94
                         </el-table-column>
90 95
                         <el-table-column align="center" prop="name" label="操作" width="180">
91 96
                             <template slot-scope="scope">
@@ -111,10 +116,10 @@
111 116
                 <el-button type="primary" @click="saveRadio">确 定</el-button>
112 117
             </span>
113 118
         </el-dialog>
114
-        <add-medicine ref="addMedicine"></add-medicine>
119
+        <add-medicine ref="addMedicine" @getlist="getlist"></add-medicine>
115 120
         <medicine-detail ref="medicineDetail"></medicine-detail>
116
-        <warehousing ref="warehousing"></warehousing>
117
-        <warehouse-out ref="warehouseOut"></warehouse-out>
121
+        <warehousing  ref="warehousing" @getlist="getlist"></warehousing>
122
+        <warehouse-out ref="warehouseOut" @getlist="getlist"></warehouse-out>
118 123
     </div>
119 124
 </template>
120 125
 
@@ -126,7 +131,7 @@ import medicineDetail from "./components/medicineDetail"
126 131
 import warehousing from "./components/warehousing"
127 132
 import warehouseOut from "./components/warehouseOut"
128 133
 const moment = require('moment')
129
-import { getCurrentPatient,saveRadio,getStockList,DeleteDrugName } from "@/api/drug/drug"
134
+import { getCurrentPatient,saveRadio,getStockList,DeleteDrugName,getDrugSet } from "@/api/drug/drug"
130 135
 export default {
131 136
     components:{
132 137
         BreadCrumb,
@@ -164,6 +169,7 @@ export default {
164 169
             start_time:moment(new Date()).add('year',0).format("YYYY-MM-DD"),
165 170
             search_input:"",
166 171
             patient_id:0,
172
+            stockList:[],
167 173
             outStocklist:[]
168 174
         }
169 175
     },
@@ -203,9 +209,6 @@ export default {
203 209
             
204 210
         },
205 211
         toDetail(drugname,drugspec,patientid){
206
-            console.log("drugname",drugname)
207
-            console.log("drugspec",drugspec)
208
-            console.log("patientid",patientid)
209 212
             this.$refs.medicineDetail.show(drugname,drugspec,patientid);
210 213
         },
211 214
 
@@ -217,6 +220,7 @@ export default {
217 220
           })
218 221
         },
219 222
         searchAction(){
223
+          this.patient_id = 0
220 224
           this.getlist()
221 225
         },
222 226
         saveRadio(){
@@ -226,7 +230,6 @@ export default {
226 230
          saveRadio(params).then(response=>{
227 231
             if(response.data.state == 1){
228 232
               var drugset = response.data.data.drugSet
229
-              console.log("drugset",drugset)
230 233
               this.$message.success("保存成功")
231 234
               this.dialogVisible = false
232 235
             } 
@@ -240,11 +243,16 @@ export default {
240 243
             }
241 244
           getStockList(params).then(response=>{
242 245
              if(response.data.state == 1){
246
+                var medicalList = response.data.data.medicalList
247
+                console.log("medicalist",medicalList)
248
+                this.tableData = medicalList
243 249
                 var stocklist =  response.data.data.stocklist
250
+                console.log("stocklist",stocklist)
251
+                this.stockList = stocklist
244 252
                 var outstocklist = response.data.data.outStocklist
245 253
                 this.outStocklist = outstocklist
246
-                this.tableData = stocklist
247
-
254
+                console.log("outStockList",outstocklist)
255
+              
248 256
               }
249 257
           })  
250 258
         },
@@ -280,11 +288,40 @@ export default {
280 288
               }
281 289
            }
282 290
            return total
291
+        },
292
+
293
+        getDrugSet(){
294
+         getDrugSet().then(response=>{
295
+            if(response.data.state == 1){
296
+              var drugset =  response.data.data.drugSet
297
+              this.radio  = drugset.drug_start.toString()
298
+            }
299
+         })
300
+        },
301
+
302
+        getTotal(patientid,id){
303
+          var total = 0
304
+          for(let i=0;i<this.stockList.length;i++){
305
+             if(patientid == this.stockList[i].patient_id && id == this.stockList[i].medic_id){
306
+                total = this.stockList[i].Total
307
+             }
308
+          }
309
+          return total
310
+        },
311
+        getRemarks(patientid,id){
312
+          var remarks = ""  
313
+           for(let i=0;i<this.stockList.length;i++){
314
+             if(patientid == this.stockList[i].patient_id && id == this.stockList[i].medic_id){
315
+                remarks = this.stockList[i].remarks
316
+             }
317
+          }
318
+          return remarks
283 319
         }
284 320
     },
285 321
     created(){
286 322
       //获取当前机构下的所有患者
287 323
       this.getCurrentPatient()
324
+      this.getDrugSet()
288 325
     },
289 326
     watch: {
290 327
      tablePatient: function() {

+ 30 - 6
src/xt_pages/stock/selfPreparedMedicine/info.vue View File

@@ -95,7 +95,7 @@
95 95
             <el-radio v-model="radio" label="2">不开启</el-radio>
96 96
             <span slot="footer" class="dialog-footer">
97 97
                 <el-button @click="dialogVisible = false">取 消</el-button>
98
-                <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
98
+                <el-button type="primary" @click="saveRadio">确 定</el-button>
99 99
             </span>
100 100
         </el-dialog>
101 101
        
@@ -239,7 +239,7 @@ import addMedicine from "./components/addMedicine"
239 239
 import medicineDetail from "./components/medicineDetail"
240 240
 import warehousing from "./components/warehousing"
241 241
 import warehouseOut from "./components/warehouseOut"
242
-import { getAllDrugName,saveDrugName,getdrugNameList,getRulleName,getUnitByBaseId,saveRulleName,EditRullerName,updatedRulleName,DeleteDrugById,DeleteDrugStand }  from "@/api/drug/drug"
242
+import { getAllDrugName,saveDrugName,getdrugNameList,getRulleName,getUnitByBaseId,saveRulleName,EditRullerName,updatedRulleName,DeleteDrugById,DeleteDrugStand,saveRadio,getDrugSet }  from "@/api/drug/drug"
243 243
 export default {
244 244
     components:{
245 245
         BreadCrumb,
@@ -274,7 +274,7 @@ export default {
274 274
             value: '',
275 275
             tableData:[],
276 276
             dialogVisible:false,
277
-            radio:'1',
277
+            radio:'2',
278 278
             drugDialogVisible:false,
279 279
             options:[],
280 280
             drugName:[],
@@ -532,7 +532,7 @@ export default {
532 532
              drug_stock_limit:this.form.drug_stock_limit, 
533 533
              drug_name:drug_name
534 534
            }
535
-           console.log("params999",params)
535
+         
536 536
          updatedRulleName(params).then(response=>{
537 537
             if(response.data.state == 1){
538 538
                var rullername = response.data.data.RullerName
@@ -586,13 +586,37 @@ export default {
586 586
           })
587 587
           .catch(() => {
588 588
           })
589
-       }
589
+       },
590
+
591
+         saveRadio(){
592
+          const params = {
593
+            radio:this.radio
594
+          }
595
+         saveRadio(params).then(response=>{
596
+            if(response.data.state == 1){
597
+              var drugset = response.data.data.drugSet
598
+              this.$message.success("保存成功")
599
+              this.dialogVisible = false
600
+            } 
601
+          }) 
602
+        },
603
+
604
+        getDrugSet(){
605
+         getDrugSet().then(response=>{
606
+            if(response.data.state == 1){
607
+              var drugset =  response.data.data.drugSet
608
+              this.radio  = drugset.drug_start.toString()
609
+            }
610
+         })
611
+        }
590 612
     },
591 613
     created(){
592 614
        //获取药品库所有药品名称
593 615
        this.getAllDrugName()
594
-
595 616
        this.getdrugNameList()
617
+
618
+       //获取设置
619
+       this.getDrugSet()
596 620
       
597 621
      
598 622
     },

+ 3 - 6
src/xt_pages/stock/selfPreparedMedicine/query.vue View File

@@ -87,13 +87,13 @@
87 87
                     <template slot-scope="scope">{{ scope.row.min_unit }}</template>
88 88
                 </el-table-column>
89 89
                 <el-table-column align="center" prop="name" label="自备量" width="80">
90
-                    <template slot-scope="scope">{{ scope.row.store_number }}</template>
90
+                    <template slot-scope="scope">{{ scope.row.Total }}</template>
91 91
                 </el-table-column>
92 92
                 <el-table-column align="center" prop="name" label="已使用" width="80">
93 93
                     <template slot-scope="scope">{{ scope.row.Count }}</template>
94 94
                 </el-table-column>
95 95
                 <el-table-column align="center" prop="name" label="剩余" width="80">
96
-                    <template slot-scope="scope">{{ scope.row.store_number - scope.row.Count }}</template>
96
+                    <template slot-scope="scope">{{ scope.row.Total - scope.row.Count }}</template>
97 97
                 </el-table-column>
98 98
             </el-table>
99 99
         </div>
@@ -166,7 +166,6 @@ export default {
166 166
         getAllDrugName().then(response=>{
167 167
           if(response.data.state == 1){
168 168
              var drugName =  response.data.data.drugName
169
-             console.log("drugName",drugName)
170 169
              this.drugName = drugName
171 170
 
172 171
              this.getlist()
@@ -180,7 +179,6 @@ export default {
180 179
         getRulleName(params).then(response=>{
181 180
            if(response.data.state == 1){
182 181
              var rulleName = response.data.data.rulleName
183
-             console.log("rulleName",rulleName)
184 182
              this.rulleName = rulleName
185 183
            }
186 184
         })  
@@ -217,7 +215,6 @@ export default {
217 215
             drug_spec:this.drug_spec,
218 216
             search_input:this.search_input
219 217
           }
220
-          console.log("params====",params)
221 218
         getAllPatientStockList(params).then(response=>{
222 219
             if(response.data.state == 1){
223 220
               var stocklist = response.data.data.stocklist
@@ -233,7 +230,7 @@ export default {
233 230
                    }
234 231
                 }
235 232
               }
236
-              console.log("stocklist3333",stocklist)
233
+
237 234
               this.tableData = stocklist
238 235
             }
239 236
         })   

+ 165 - 11
src/xt_pages/user/components/EditGroupAdvice.vue View File

@@ -371,30 +371,66 @@
371 371
     <el-dialog
372 372
       :title="nameFormTitle"
373 373
       :visible.sync="nameFormVisible"
374
-      width="700px"
374
+      width="800px"
375 375
     >
376 376
       <el-form
377 377
         ref="nameForm"
378 378
         :rules="nameRules"
379 379
         :model="nameForm"
380
-        label-width="90px"
380
+        label-width="120px"
381 381
       >
382 382
         <el-row>
383
-          <el-col :span="12">
383
+          <el-col :span="10">
384 384
             <el-form-item label="医嘱内容 :" required prop="advice_name">
385
-              <el-input v-model="nameForm.advice_name"></el-input>
385
+              <!-- <el-input v-model="nameForm.advice_name"></el-input> -->
386
+
387
+              <el-select
388
+                v-model="nameForm.advice_name"
389
+                filterable
390
+                clearable
391
+                allow-create
392
+                :disabled="isChild"
393
+                placeholder="请选择(输入可搜索)"
394
+                style="width:200px"
395
+                @change="changeDrugName"
396
+              >
397
+                <el-option
398
+                  v-for="item in medicals"
399
+                  :key="item.id"
400
+                  :label="item.drug_name"
401
+                  :value="item.id"
402
+                ></el-option>
403
+              </el-select>
404
+              
386 405
             </el-form-item>
387 406
           </el-col>
388
-          <el-col :span="12">
407
+          <el-col :span="14">
389 408
             <!--<el-form-item label="规格 :" prop="advice_desc">-->
390 409
             <!--<el-input v-model="nameForm.advice_desc"></el-input>-->
391 410
             <!--</el-form-item>-->
392 411
             <el-form-item label="药品规格 :" prop="advice_desc">
393
-              <el-col :span="8">
394
-                <el-input v-model="nameForm.advice_desc"></el-input>
412
+              <el-col :span="10">
413
+                <!-- <el-input v-model="nameForm.advice_desc"></el-input> -->
414
+
415
+                <el-select
416
+                  v-model="nameForm.advice_desc"
417
+                  filterable
418
+                  clearable
419
+                  allow-create
420
+                  :disabled="isChild"
421
+                  placeholder="请选择(输入可搜索)"
422
+                  style="width:150px"
423
+                >
424
+                  <el-option
425
+                    v-for="item in drugSpec"
426
+                    :key="item.id"
427
+                    :label="item.drug_spec"
428
+                    :value="item.drug_spec"
429
+                  ></el-option>
430
+                 </el-select>
395 431
               </el-col>
396 432
               <el-col class="line" :span="2">&nbsp;</el-col>
397
-              <el-col :span="14">
433
+              <el-col :span="10">
398 434
                 <el-select
399 435
                   v-model="nameForm.drug_spec_unit"
400 436
                   filterable
@@ -564,7 +600,7 @@ import {
564 600
   getDoctorAdviceList,
565 601
   StopDoctorAdvice
566 602
 } from "@/api/advice";
567
-
603
+import { getSelfMedicalList,getDrugDescByDrugName } from "@/api/drug/drug"
568 604
 export default {
569 605
   name: "EditGroupAdvice",
570 606
   data() {
@@ -607,7 +643,9 @@ export default {
607 643
         isEdit: 0,
608 644
         index: 0,
609 645
         id: 0,
610
-        children: []
646
+        children: [],
647
+        way:"",
648
+        drug_id:""
611 649
       },
612 650
 
613 651
       drugOptions: [],
@@ -626,7 +664,9 @@ export default {
626 664
       selectedTemp: { id: 0, name: "", org_id: 0, list: [], rows: [] },
627 665
       selectedTemplate: [],
628 666
       allSelectedTemplate: [],
629
-      adviceTemplateMaps: {}
667
+      adviceTemplateMaps: {},
668
+      medicals:[],
669
+      drugSpec:[]
630 670
     };
631 671
   },
632 672
   props: {
@@ -813,6 +853,33 @@ export default {
813 853
         .catch(() => {});
814 854
     },
815 855
     submitNameForm(formName) {
856
+       if(typeof(this.nameForm.advice_name) == "string"){
857
+         
858
+          this.nameForm.advice_name == this.nameForm.advice_name
859
+      }
860
+
861
+      if(typeof(this.nameForm.advice_name) == "number"){
862
+          var drug_name = ""
863
+          var name = ""
864
+          var way = 0
865
+          this.nameForm.drug_id = this.nameForm.advice_name
866
+          for(let i=0;i<this.medicals.length;i++){
867
+            if(this.nameForm.advice_name == this.medicals[i].id){
868
+              name = this.medicals[i].drug_name
869
+              way  = this.medicals[i].way
870
+            }
871
+          }
872
+          if(way == 1){
873
+            drug_name = name
874
+          }
875
+          if(way == 2){
876
+            var arr = name.split("(自备药)")
877
+            drug_name = arr[0]
878
+          }
879
+          
880
+          this.nameForm.advice_name = drug_name
881
+          this.nameForm.way = way
882
+      }
816 883
       var _this = this;
817 884
       this.$refs[formName].validate(valid => {
818 885
         if (valid) {
@@ -2319,6 +2386,89 @@ export default {
2319 2386
           }
2320 2387
         }
2321 2388
       });
2389
+    },
2390
+
2391
+     getSelfMedicalList(){
2392
+        const params = {
2393
+          patient_id:this.patientID
2394
+        }
2395
+      getSelfMedicalList(params).then(response=>{
2396
+          if(response.data.state == 1){
2397
+            var medicalList =  response.data.data.medicalList
2398
+            //way字段区分数据源:1代表来自基础库  2代表来自药品库
2399
+            for(let i=0;i<medicalList.length;i++){
2400
+               medicalList[i].way = 2
2401
+            }
2402
+            for(let i=0;i<medicalList.length;i++){
2403
+               medicalList[i].drug_name = medicalList[i].drug_name+"(自备药)"
2404
+            }
2405
+            var drugname = response.data.data.drugName
2406
+            for(let i=0;i<drugname.length;i++){
2407
+               drugname[i].way = 1
2408
+            }
2409
+
2410
+            drugname.push(...medicalList)
2411
+          
2412
+            this.medicals = drugname
2413
+          }
2414
+      })
2415
+    },
2416
+    changeDrugName(id){
2417
+      var drug_name = ""
2418
+      var name = ""
2419
+      var way = 0
2420
+      for(let i=0;i<this.medicals.length;i++){
2421
+        if(id == this.medicals[i].id){
2422
+          name = this.medicals[i].drug_name
2423
+          way  = this.medicals[i].way
2424
+        }
2425
+      }
2426
+      if(way == 1){
2427
+        drug_name = name
2428
+      }
2429
+      if(way == 2){
2430
+        var arr = name.split("(自备药)")
2431
+        drug_name = arr[0]
2432
+      }
2433
+        const params = {
2434
+          drug_name:drug_name,
2435
+          patient_id:this.$route.query.patient_id,
2436
+          way:way,
2437
+        }
2438
+      getDrugDescByDrugName(params).then(response=>{
2439
+          if(response.data.state == 1){
2440
+             var drugspec = response.data.data.drugspec
2441
+          
2442
+             if(drugspec[0].drug_spec !=0){
2443
+                this.nameForm.advice_desc = drugspec[0].drug_spec
2444
+             }
2445
+             if(drugspec[0].min_unit!=0){
2446
+                 this.nameForm.drug_spec_unit = drugspec[0].min_unit
2447
+             }
2448
+             if(drugspec[0].delivery_way!=0){
2449
+                 this.nameForm.delivery_way = drugspec[0].delivery_way
2450
+             }
2451
+             if(drugspec[0].execution_frequency!=0){
2452
+                this.nameForm.execution_frequency = drugspec[0].execution_frequency
2453
+             }
2454
+             if(drugspec[0].single_dose !=0){
2455
+                this.nameForm.single_dose = drugspec[0].single_dose.toString()
2456
+             } 
2457
+             if(drugspec[0].min_unit !=0){
2458
+               this.nameForm.single_dose_unit = drugspec[0].min_unit
2459
+             }
2460
+             if(drugspec[0].min_unit!=0){
2461
+               this.nameForm.prescribing_number_unit = drugspec[0].min_unit
2462
+             }
2463
+              
2464
+             if( drugspec[0].prescribing_number!=0){
2465
+                this.nameForm.prescribing_number = drugspec[0].prescribing_number.toString()
2466
+             }
2467
+          
2468
+             this.drugSpec = drugspec
2469
+          }
2470
+      })
2471
+    
2322 2472
     }
2323 2473
   },
2324 2474
   watch: {
@@ -2328,6 +2478,10 @@ export default {
2328 2478
     "selectedTemp.list": function() {
2329 2479
       this.calcselectedTemp();
2330 2480
     }
2481
+  },
2482
+  created(){
2483
+    //获取自备药
2484
+    this.getSelfMedicalList()
2331 2485
   }
2332 2486
 };
2333 2487
 </script>

+ 103 - 44
src/xt_pages/user/doctorAdvice.vue View File

@@ -961,9 +961,12 @@
961 961
                   v-for="item in medicals"
962 962
                   :key="item.id"
963 963
                   :label="item.drug_name"
964
-                  :value="item.drug_name"
964
+                  :value="item.id"
965 965
                 ></el-option>
966 966
               </el-select>
967
+              <!-- <div style="color:red;font-size:12px;">
968
+                库存不足50
969
+              </div> -->
967 970
               </el-form-item>
968 971
             </el-col>
969 972
 
@@ -1057,6 +1060,7 @@
1057 1060
                     >
1058 1061
                     </el-option>
1059 1062
                   </el-select>
1063
+                
1060 1064
                 </el-col>
1061 1065
               </el-form-item>
1062 1066
             </el-col>
@@ -2610,6 +2614,8 @@ export default {
2610 2614
           drug_spec_unit: this.groupSelectRow.drug_spec_unit,
2611 2615
           prescribing_number: this.groupSelectRow.prescribing_number,
2612 2616
           prescribing_number_unit: this.groupSelectRow.prescribing_number_unit,
2617
+          way:this.groupSelectRow.way,
2618
+          drug_id:this.groupSelectRow.drug_id,
2613 2619
           delivery_way: this.isChild ? "" : this.groupSelectRow.delivery_way,
2614 2620
           execution_frequency: this.isChild
2615 2621
             ? ""
@@ -2650,7 +2656,9 @@ export default {
2650 2656
           index: 0,
2651 2657
           id: 0,
2652 2658
           children: [],
2653
-          parent_row: 0
2659
+          parent_row: 0,
2660
+          way:"",
2661
+          drug_id:''
2654 2662
         };
2655 2663
         this.nameFormTitle = "新增医嘱内容";
2656 2664
       }
@@ -3964,8 +3972,26 @@ export default {
3964 3972
       });
3965 3973
     },
3966 3974
     submitNameForm(formName) {
3967
-      var arr = this.nameForm.advice_name.split("(自备药)")
3968
-      this.nameForm.advice_name = arr[0]
3975
+      var drug_name = ""
3976
+      var name = ""
3977
+      var way = 0
3978
+      this.nameForm.drug_id = this.nameForm.advice_name
3979
+      for(let i=0;i<this.medicals.length;i++){
3980
+        if(this.nameForm.advice_name == this.medicals[i].id){
3981
+          name = this.medicals[i].drug_name
3982
+          way  = this.medicals[i].way
3983
+        }
3984
+      }
3985
+      if(way == 1){
3986
+        drug_name = name
3987
+      }
3988
+      if(way == 2){
3989
+        var arr = name.split("(自备药)")
3990
+        drug_name = arr[0]
3991
+      }
3992
+      
3993
+      this.nameForm.advice_name = drug_name
3994
+      this.nameForm.way = way
3969 3995
       var _this = this;
3970 3996
       this.$refs[formName].validate(valid => {
3971 3997
         if (valid) {
@@ -3980,40 +4006,18 @@ export default {
3980 4006
                   var cle = _this.groupForm.adviceNames[index].children.length;
3981 4007
                   var children = _this.groupForm.adviceNames[index].children;
3982 4008
                   for (let j = 0; j < ale; j++) {
3983
-                    if (_this.groupSelectRow.row_key == children[j].row_key) {
3984
-                      _this.groupForm.adviceNames[index].children[
3985
-                        j
3986
-                      ].advice_name = _this.nameForm.advice_name;
3987
-                      _this.groupForm.adviceNames[index].children[
3988
-                        j
3989
-                      ].advice_desc = _this.nameForm.advice_desc;
3990
-                      _this.groupForm.adviceNames[index].children[
3991
-                        j
3992
-                      ].single_dose = "" + _this.nameForm.single_dose;
3993
-                      _this.groupForm.adviceNames[index].children[
3994
-                        j
3995
-                      ].single_dose_unit = _this.nameForm.single_dose_unit;
3996
-                      _this.groupForm.adviceNames[index].children[j].drug_spec =
3997
-                        "" + _this.nameForm.drug_spec;
3998
-                      _this.groupForm.adviceNames[index].children[
3999
-                        j
4000
-                      ].drug_spec_unit = _this.nameForm.drug_spec_unit;
4001
-                      _this.groupForm.adviceNames[index].children[
4002
-                        j
4003
-                      ].prescribing_number =
4004
-                        "" + _this.nameForm.prescribing_number;
4005
-                      _this.groupForm.adviceNames[index].children[
4006
-                        j
4007
-                      ].prescribing_number_unit =
4008
-                        _this.nameForm.prescribing_number_unit;
4009
-                      _this.groupForm.adviceNames[index].children[
4010
-                        j
4011
-                      ].delivery_way = _this.nameForm.delivery_way;
4012
-                      _this.groupForm.adviceNames[index].children[
4013
-                        j
4014
-                      ].execution_frequency =
4015
-                        _this.nameForm.execution_frequency;
4016
-
4009
+                    if (_this.groupSelectRow.row_key == children[j].row_key) {_this.groupForm.adviceNames[index].children[j].advice_name = _this.nameForm.advice_name;
4010
+                      _this.groupForm.adviceNames[index].children[j].advice_desc = _this.nameForm.advice_desc;
4011
+                      _this.groupForm.adviceNames[index].children[j].single_dose = "" + _this.nameForm.single_dose;
4012
+                      _this.groupForm.adviceNames[index].children[j].single_dose_unit = _this.nameForm.single_dose_unit;
4013
+                      _this.groupForm.adviceNames[index].children[j].drug_spec ="" + _this.nameForm.drug_spec;
4014
+                      _this.groupForm.adviceNames[index].children[j].drug_spec_unit = _this.nameForm.drug_spec_unit;
4015
+                      _this.groupForm.adviceNames[index].children[j].prescribing_number ="" + _this.nameForm.prescribing_number;
4016
+                      _this.groupForm.adviceNames[index].children[j].prescribing_number_unit =_this.nameForm.prescribing_number_unit;
4017
+                      _this.groupForm.adviceNames[index].children[j].delivery_way = _this.nameForm.delivery_way;
4018
+                      _this.groupForm.adviceNames[index].children[j].execution_frequency =_this.nameForm.execution_frequency;
4019
+                      _this.groupForm.adviceNames[index].children[j].drug_id = _this.nameForm.drug_id;
4020
+                      _this.groupForm.adviceNames[index].children[j].way = this.nameForm.way;
4017 4021
                       _this.$set(
4018 4022
                         _this.groupForm.adviceNames[index].children,
4019 4023
                         j,
@@ -4348,25 +4352,80 @@ export default {
4348 4352
         const params = {
4349 4353
           patient_id:id
4350 4354
         }
4355
+      console.log("params9999999999",params)
4351 4356
       getSelfMedicalList(params).then(response=>{
4352 4357
          if(response.data.state == 1){
4358
+
4353 4359
             var medicalList =  response.data.data.medicalList
4360
+            //way字段区分数据源:1代表来自基础库  2代表来自药品库
4361
+            for(let i=0;i<medicalList.length;i++){
4362
+               medicalList[i].way = 2
4363
+            }
4354 4364
             for(let i=0;i<medicalList.length;i++){
4355 4365
                medicalList[i].drug_name = medicalList[i].drug_name+"(自备药)"
4356 4366
             }
4357
-            this.medicals = medicalList
4367
+            var drugname = response.data.data.drugName
4368
+            for(let i=0;i<drugname.length;i++){
4369
+               drugname[i].way = 1
4370
+            }
4371
+
4372
+            drugname.push(...medicalList)
4373
+            this.medicals = drugname
4358 4374
          }
4359 4375
       })
4360 4376
     },
4361
-    changeDrugName(name){
4362
-      var arr = name.split("(自备药)");
4377
+    changeDrugName(id){
4378
+      var drug_name = ""
4379
+      var name = ""
4380
+      var way = 0
4381
+      for(let i=0;i<this.medicals.length;i++){
4382
+        if(id == this.medicals[i].id){
4383
+          name = this.medicals[i].drug_name
4384
+          way  = this.medicals[i].way
4385
+        }
4386
+      }
4387
+      if(way == 1){
4388
+        drug_name = name
4389
+      }
4390
+      if(way == 2){
4391
+        var arr = name.split("(自备药)")
4392
+        drug_name = arr[0]
4393
+      }
4363 4394
         const params = {
4364
-          drug_name:arr[0],
4365
-          patient_id:this.$route.params && this.$route.params.id
4395
+          drug_name:drug_name,
4396
+          patient_id:this.$route.query.patient_id,
4397
+          way:way,
4366 4398
         }
4367 4399
       getDrugDescByDrugName(params).then(response=>{
4368 4400
           if(response.data.state == 1){
4369
-             var drugspec = response.data.data.drugspec
4401
+            var drugspec = response.data.data.drugspec
4402
+          
4403
+             if(drugspec[0].drug_spec !=0){
4404
+                this.nameForm.advice_desc = drugspec[0].drug_spec
4405
+             }
4406
+             if(drugspec[0].min_unit!=0){
4407
+                 this.nameForm.drug_spec_unit = drugspec[0].min_unit
4408
+             }
4409
+             if(drugspec[0].delivery_way!=0){
4410
+                 this.nameForm.delivery_way = drugspec[0].delivery_way
4411
+             }
4412
+             if(drugspec[0].execution_frequency!=0){
4413
+                this.nameForm.execution_frequency = drugspec[0].execution_frequency
4414
+             }
4415
+             if(drugspec[0].single_dose !=0){
4416
+                this.nameForm.single_dose = drugspec[0].single_dose
4417
+             } 
4418
+             if(drugspec[0].min_unit !=0){
4419
+               this.nameForm.single_dose_unit = drugspec[0].min_unit
4420
+             }
4421
+             if(drugspec[0].min_unit!=0){
4422
+               this.nameForm.prescribing_number_unit = drugspec[0].min_unit
4423
+             }
4424
+              
4425
+             if( drugspec[0].prescribing_number!=0){
4426
+                this.nameForm.prescribing_number = drugspec[0].prescribing_number
4427
+             }
4428
+          
4370 4429
              this.drugSpec = drugspec
4371 4430
           }
4372 4431
       })

+ 1 - 1
src/xt_pages/user/patients.vue View File

@@ -1267,7 +1267,7 @@
1267 1267
             return false
1268 1268
           } else {
1269 1269
             this.tableData = response.data.data.patients
1270
-           console.log('病人是', this.tableData)
1270
+          //  console.log('病人是', this.tableData)
1271 1271
             this.pageTotal = this.tableData.length
1272 1272
             this.total = response.data.data.total
1273 1273
           }

+ 13 - 13
src/xt_permission.js View File

@@ -12,19 +12,19 @@ const permissionWhiteList = loginWhiteList.concat(['/']) // 权限验证白名
12 12
 
13 13
 router.beforeEach((to, from, next) => {
14 14
   // 线上注释
15
-  if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
-      store.dispatch('VerifyConfigList', []).then(() => {
17
-        next()
18
-      })
19
-    }
20
-    if (store.getters.permission_routers === undefined) {
21
-      store.dispatch('xt_GenerateRoutes', []).then(() => {
22
-        next()
23
-      })
24
-    } else {
25
-      next()
26
-    }
27
-    return
15
+  // if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
+  //     store.dispatch('VerifyConfigList', []).then(() => {
17
+  //       next()
18
+  //     })
19
+  //   }
20
+  //   if (store.getters.permission_routers === undefined) {
21
+  //     store.dispatch('xt_GenerateRoutes', []).then(() => {
22
+  //       next()
23
+  //     })
24
+  //   } else {
25
+  //     next()
26
+  //   }
27
+  //   return
28 28
   // 线上注释
29 29
 
30 30
   NProgress.start()