Pārlūkot izejas kodu

Merge branch 'master' of http://git.shengws.com/csx/Vue_New

csx 5 gadus atpakaļ
vecāks
revīzija
69333fa479

+ 39 - 3
src/api/integration.js Parādīt failu

8
   })
8
   })
9
 }
9
 }
10
 
10
 
11
+export function saveinspectionsysitemid(params) {
12
+  return request({
13
+    url: '/api/patienthis/saveinspectionsysitemid',
14
+    method: 'post',
15
+    params: params
16
+  })
17
+}
18
+
19
+export function getsysinspectionlist(params) {
20
+  return request({
21
+    url: '/api/integration/sysinspectionlist',
22
+    method: 'get',
23
+    params: params
24
+  })
25
+}
26
+
27
+export function getsynclist(params) {
28
+  return request({
29
+    url: '/api/integration/synclist',
30
+    method: 'get',
31
+    params: params
32
+  })
33
+}
34
+
35
+export function saveInterface(params) {
36
+  return request({
37
+    url: '/api/patienthis/saveinterface',
38
+    method: 'post',
39
+    params: params
40
+  })
41
+}
42
+
43
+export function getInterface(params) {
44
+  return request({
45
+    url: '/api/patienthis/getinterface',
46
+    method: 'post',
47
+    params: params
48
+  })
49
+}
11
 
50
 
12
 export function fetchAdminList(params) {
51
 export function fetchAdminList(params) {
13
   return request({
52
   return request({
17
   })
56
   })
18
 }
57
 }
19
 
58
 
20
-
21
 export function createPatientHis(params) {
59
 export function createPatientHis(params) {
22
   return request({
60
   return request({
23
     url: '/api/patienthis/create',
61
     url: '/api/patienthis/create',
33
   })
71
   })
34
 }
72
 }
35
 
73
 
36
-
37
-
38
 export function createAdminHis(params) {
74
 export function createAdminHis(params) {
39
   return request({
75
   return request({
40
     url: '/api/adminhis/create',
76
     url: '/api/adminhis/create',

+ 1 - 1
src/lang/zh.js Parādīt failu

138
     special_permission_manage: '特殊权限管理',
138
     special_permission_manage: '特殊权限管理',
139
     schedule_print: '排班打印',
139
     schedule_print: '排班打印',
140
 
140
 
141
-    warehouseReceipt: '出入库',
141
+    warehouseReceipt: '耗材出入库',
142
     warehouseReceiptOther: '其他出入库',
142
     warehouseReceiptOther: '其他出入库',
143
     stockInOrder: '耗材入库单',
143
     stockInOrder: '耗材入库单',
144
     salesReturnOrder: '耗材退货单',
144
     salesReturnOrder: '耗材退货单',

+ 22 - 11
src/router/modules/integration.js Parādīt failu

10
     title: 'integration_config',
10
     title: 'integration_config',
11
     icon: 'excel'
11
     icon: 'excel'
12
   },
12
   },
13
-  children: [
14
-    {
15
-      path: '/integration/his',
16
-      component: () => import('@/xt_pages/integration/his_config'),
17
-      name: 'his_config',
18
-      meta: {
19
-        title: 'his_config',
20
-        noCache: true,
21
-
22
-      }
23
-    },
13
+  children: [{
14
+    path: '/data/hisconfig',
15
+    component: () => import('@/xt_pages/integration/his_config'),
16
+    name: 'HIS集成',
17
+    meta: {
18
+      title: 'HIS集成'
19
+    }
20
+  }, {
21
+    path: '/data/lisconfig',
22
+    component: () => import('@/xt_pages/integration/lis_config'),
23
+    name: 'LIS集成',
24
+    meta: {
25
+      title: 'LIS集成'
26
+    }
27
+  }, {
28
+    path: '/data/sisconfig',
29
+    component: () => import('@/xt_pages/integration/sis_config'),
30
+    name: '质控集成',
31
+    meta: {
32
+      title: '质控集成'
33
+    }
34
+  }
24
 
35
 
25
   ]
36
   ]
26
 }
37
 }

+ 101 - 101
src/router/modules/stock.js Parādīt failu

1
-import Layout from "@/views/layout/Layout";
1
+import Layout from '@/views/layout/Layout'
2
 
2
 
3
 export default {
3
 export default {
4
-  path: "/stock",
4
+  path: '/stock',
5
   component: Layout,
5
   component: Layout,
6
-  redirect: "noredirect",
7
-  name: "stockManage",
6
+  redirect: 'noredirect',
7
+  name: 'stockManage',
8
   alwaysShow: true,
8
   alwaysShow: true,
9
   meta: {
9
   meta: {
10
-    title: "stockManage",
11
-    icon: "stock",
10
+    title: 'stockManage',
11
+    icon: 'stock',
12
     isChild: true
12
     isChild: true
13
   },
13
   },
14
   children: [
14
   children: [
15
     {
15
     {
16
-      path: "/stock/warehouseReceipt/",
16
+      path: '/stock/warehouseReceipt/',
17
       component: Layout,
17
       component: Layout,
18
-      redirect: "/stock/in",
19
-      name: "warehouseReceipt",
18
+      redirect: '/stock/in',
19
+      name: 'warehouseReceipt',
20
       parentNum: 1,
20
       parentNum: 1,
21
       meta: {
21
       meta: {
22
         isChild: true,
22
         isChild: true,
23
-        title: "warehouseReceipt",
24
-        noCache: true,
23
+        title: 'warehouseReceipt',
24
+        noCache: true
25
 
25
 
26
       }
26
       }
27
     },
27
     },
28
     {
28
     {
29
-      path: "/stock/warehouseReceiptOther/",
29
+      path: '/stock/warehouseReceiptOther/',
30
       component: Layout,
30
       component: Layout,
31
-      redirect: "/stock/in/other",
32
-      name: "warehouseReceiptOther",
31
+      redirect: '/stock/in/other',
32
+      name: 'warehouseReceiptOther',
33
       parentNum: 2,
33
       parentNum: 2,
34
       meta: {
34
       meta: {
35
         isChild: true,
35
         isChild: true,
36
-        title: "warehouseReceiptOther",
37
-        noCache: true,
36
+        title: 'warehouseReceiptOther',
37
+        noCache: true
38
 
38
 
39
       }
39
       }
40
     },
40
     },
41
     {
41
     {
42
-      path: "/stock/in",
43
-      component: () => import("@/xt_pages/stock/stockInOrder"),
44
-      name: "stockInOrder",
42
+      path: '/stock/in',
43
+      component: () => import('@/xt_pages/stock/stockInOrder'),
44
+      name: 'stockInOrder',
45
       hidden: true,
45
       hidden: true,
46
       is_menu: false,
46
       is_menu: false,
47
       num: 1,
47
       num: 1,
48
-      meta: { title: "stockInOrder", noCache: true }
48
+      meta: { title: 'stockInOrder', noCache: true }
49
     },
49
     },
50
     {
50
     {
51
-      path: "/stock/return",
52
-      component: () => import("@/xt_pages/stock/salesReturnOrder"),
53
-      name: "salesReturnOrder",
51
+      path: '/stock/return',
52
+      component: () => import('@/xt_pages/stock/salesReturnOrder'),
53
+      name: 'salesReturnOrder',
54
       hidden: true,
54
       hidden: true,
55
       is_menu: false,
55
       is_menu: false,
56
       num: 1,
56
       num: 1,
57
-      meta: { title: "salesReturnOrder", noCache: true }
57
+      meta: { title: 'salesReturnOrder', noCache: true }
58
     },
58
     },
59
     {
59
     {
60
-      path: "/stock/out",
61
-      component: () => import("@/xt_pages/stock/stockOutOrder"),
62
-      name: "stockOutOrder",
60
+      path: '/stock/out',
61
+      component: () => import('@/xt_pages/stock/stockOutOrder'),
62
+      name: 'stockOutOrder',
63
       hidden: true,
63
       hidden: true,
64
       is_menu: false,
64
       is_menu: false,
65
       num: 1,
65
       num: 1,
66
-      meta: { title: "stockOutOrder", noCache: true }
66
+      meta: { title: 'stockOutOrder', noCache: true }
67
     },
67
     },
68
     {
68
     {
69
-      path: "/stock/cancel",
70
-      component: () => import("@/xt_pages/stock/cancelStockOrder"),
71
-      name: "cancelStockOrder",
69
+      path: '/stock/cancel',
70
+      component: () => import('@/xt_pages/stock/cancelStockOrder'),
71
+      name: 'cancelStockOrder',
72
       hidden: true,
72
       hidden: true,
73
       is_menu: false,
73
       is_menu: false,
74
       num: 1,
74
       num: 1,
75
-      meta: { title: "cancelStockOrder", noCache: true }
75
+      meta: { title: 'cancelStockOrder', noCache: true }
76
     },
76
     },
77
     {
77
     {
78
-      path: "/stock/in/other",
79
-      component: () => import("@/xt_pages/stock/otherStockInOrder"),
80
-      name: "otherStockInOrder",
78
+      path: '/stock/in/other',
79
+      component: () => import('@/xt_pages/stock/otherStockInOrder'),
80
+      name: 'otherStockInOrder',
81
       hidden: true,
81
       hidden: true,
82
       is_menu: false,
82
       is_menu: false,
83
       num: 2,
83
       num: 2,
84
-      meta: { title: "otherStockInOrder", noCache: true }
84
+      meta: { title: 'otherStockInOrder', noCache: true }
85
     },
85
     },
86
     {
86
     {
87
-      path: "/stock/return/other",
88
-      component: () => import("@/xt_pages/stock/otherSalesReturnOrder"),
89
-      name: "otherSalesReturnOrder",
87
+      path: '/stock/return/other',
88
+      component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
89
+      name: 'otherSalesReturnOrder',
90
       hidden: true,
90
       hidden: true,
91
       is_menu: false,
91
       is_menu: false,
92
       num: 2,
92
       num: 2,
93
-      meta: { title: "otherSalesReturnOrder", noCache: true }
93
+      meta: { title: 'otherSalesReturnOrder', noCache: true }
94
     },
94
     },
95
     {
95
     {
96
-      path: "/stock/out/other",
97
-      component: () => import("@/xt_pages/stock/otherStockOutOrder"),
98
-      name: "otherStockOutOrder",
96
+      path: '/stock/out/other',
97
+      component: () => import('@/xt_pages/stock/otherStockOutOrder'),
98
+      name: 'otherStockOutOrder',
99
       hidden: true,
99
       hidden: true,
100
       is_menu: false,
100
       is_menu: false,
101
       num: 2,
101
       num: 2,
102
-      meta: { title: "otherStockOutOrder", noCache: true }
102
+      meta: { title: 'otherStockOutOrder', noCache: true }
103
     },
103
     },
104
     {
104
     {
105
-      path: "/stock/cancel/other",
106
-      component: () => import("@/xt_pages/stock/otherCancelStockOrder"),
107
-      name: "otherCancelStockOrder",
105
+      path: '/stock/cancel/other',
106
+      component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
107
+      name: 'otherCancelStockOrder',
108
       hidden: true,
108
       hidden: true,
109
       is_menu: false,
109
       is_menu: false,
110
       num: 2,
110
       num: 2,
111
-      meta: { title: "otherCancelStockOrder", noCache: true }
111
+      meta: { title: 'otherCancelStockOrder', noCache: true }
112
     },
112
     },
113
     // {
113
     // {
114
     //   path: "/stock/",
114
     //   path: "/stock/",
161
     //   ]
161
     //   ]
162
     // },
162
     // },
163
     {
163
     {
164
-      path: "/stock/query",
165
-      component: () => import("@/xt_pages/stock/stockQuery"),
166
-      name: "stockQuery",
167
-      meta: { title: "stockQuery", noCache: true }
164
+      path: '/stock/query',
165
+      component: () => import('@/xt_pages/stock/stockQuery'),
166
+      name: 'stockQuery',
167
+      meta: { title: 'stockQuery', noCache: true }
168
     },
168
     },
169
     {
169
     {
170
-      path: "/stock/detail",
171
-      component: () => import("@/xt_pages/stock/stockDetailIndex"),
172
-      name: "stockDetail",
173
-      meta: { title: "stockDetail", noCache: true }
170
+      path: '/stock/detail',
171
+      component: () => import('@/xt_pages/stock/stockDetailIndex'),
172
+      name: 'stockDetail',
173
+      meta: { title: 'stockDetail', noCache: true }
174
     },
174
     },
175
     {
175
     {
176
-      path: "/stock/in/add",
177
-      component: () => import("@/xt_pages/stock/stockInOrderAdd"),
178
-      name: "stockInOrderAdd",
176
+      path: '/stock/in/add',
177
+      component: () => import('@/xt_pages/stock/stockInOrderAdd'),
178
+      name: 'stockInOrderAdd',
179
       hidden: true,
179
       hidden: true,
180
       is_menu: false,
180
       is_menu: false,
181
-      meta: { title: "stockInOrderAdd", noCache: true }
181
+      meta: { title: 'stockInOrderAdd', noCache: true }
182
     },
182
     },
183
     {
183
     {
184
-      path: "/stock/in/detail",
185
-      component: () => import("@/xt_pages/stock/stockInDetail"),
186
-      name: "stockInDetail",
184
+      path: '/stock/in/detail',
185
+      component: () => import('@/xt_pages/stock/stockInDetail'),
186
+      name: 'stockInDetail',
187
       hidden: true,
187
       hidden: true,
188
       is_menu: false,
188
       is_menu: false,
189
-      meta: { title: "stockInDetail", noCache: true }
189
+      meta: { title: 'stockInDetail', noCache: true }
190
     },
190
     },
191
     {
191
     {
192
-      path: "/stock/return/detail",
193
-      component: () => import("@/xt_pages/stock/salesReturnDetail"),
194
-      name: "salesReturnDetail",
192
+      path: '/stock/return/detail',
193
+      component: () => import('@/xt_pages/stock/salesReturnDetail'),
194
+      name: 'salesReturnDetail',
195
       hidden: true,
195
       hidden: true,
196
       is_menu: false,
196
       is_menu: false,
197
-      meta: { title: "salesReturnDetail", noCache: true }
197
+      meta: { title: 'salesReturnDetail', noCache: true }
198
     },
198
     },
199
     {
199
     {
200
-      path: "/stock/return/add",
201
-      component: () => import("@/xt_pages/stock/salesReturnOrderAdd"),
202
-      name: "salesReturnOrderAdd",
200
+      path: '/stock/return/add',
201
+      component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
202
+      name: 'salesReturnOrderAdd',
203
       hidden: true,
203
       hidden: true,
204
       is_menu: false,
204
       is_menu: false,
205
-      meta: { title: "salesReturnOrderAdd", noCache: true }
205
+      meta: { title: 'salesReturnOrderAdd', noCache: true }
206
     },
206
     },
207
     {
207
     {
208
-      path: "/stock/out/add",
209
-      component: () => import("@/xt_pages/stock/stockOutOrderAdd"),
210
-      name: "stockOutOrderAdd",
208
+      path: '/stock/out/add',
209
+      component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
210
+      name: 'stockOutOrderAdd',
211
       hidden: true,
211
       hidden: true,
212
       is_menu: false,
212
       is_menu: false,
213
-      meta: { title: "stockOutOrderAdd", noCache: true }
213
+      meta: { title: 'stockOutOrderAdd', noCache: true }
214
     },
214
     },
215
     {
215
     {
216
-      path: "/stock/out/detail",
217
-      component: () => import("@/xt_pages/stock/stockOutDetail"),
218
-      name: "stockOutDetail",
216
+      path: '/stock/out/detail',
217
+      component: () => import('@/xt_pages/stock/stockOutDetail'),
218
+      name: 'stockOutDetail',
219
       hidden: true,
219
       hidden: true,
220
       is_menu: false,
220
       is_menu: false,
221
-      meta: { title: "stockOutDetail", noCache: true }
221
+      meta: { title: 'stockOutDetail', noCache: true }
222
     },
222
     },
223
     {
223
     {
224
-      path: "/stock/cancel/add",
225
-      component: () => import("@/xt_pages/stock/cancelStockOrderAdd"),
226
-      name: "cancelStockOrderAdd",
224
+      path: '/stock/cancel/add',
225
+      component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
226
+      name: 'cancelStockOrderAdd',
227
       hidden: true,
227
       hidden: true,
228
       is_menu: false,
228
       is_menu: false,
229
-      meta: { title: "cancelStockOrderAdd", noCache: true }
229
+      meta: { title: 'cancelStockOrderAdd', noCache: true }
230
     },
230
     },
231
     {
231
     {
232
-      path: "/stock/cancel/detail",
233
-      component: () => import("@/xt_pages/stock/cancelStockDetail"),
234
-      name: "cancelStockDetail",
232
+      path: '/stock/cancel/detail',
233
+      component: () => import('@/xt_pages/stock/cancelStockDetail'),
234
+      name: 'cancelStockDetail',
235
       hidden: true,
235
       hidden: true,
236
       is_menu: false,
236
       is_menu: false,
237
-      meta: { title: "cancelStockDetail", noCache: true }
237
+      meta: { title: 'cancelStockDetail', noCache: true }
238
     },
238
     },
239
     {
239
     {
240
-      path: "/stock/config",
241
-      component: () => import("@/xt_pages/stock/index"),
242
-      name: "config",
243
-      meta: { title: "config", noCache: true }
240
+      path: '/stock/config',
241
+      component: () => import('@/xt_pages/stock/index'),
242
+      name: 'config',
243
+      meta: { title: 'config', noCache: true }
244
     },
244
     },
245
     {
245
     {
246
-      path: "/stock/print",
247
-      component: () => import("@/xt_pages/stock/detail/print"),
246
+      path: '/stock/print',
247
+      component: () => import('@/xt_pages/stock/detail/print'),
248
       hidden: true,
248
       hidden: true,
249
       is_menu: false,
249
       is_menu: false,
250
-      name: "stock_print",
250
+      name: 'stock_print',
251
       meta: {
251
       meta: {
252
-        title: "库存打印",
252
+        title: '库存打印',
253
         noCache: true
253
         noCache: true
254
       }
254
       }
255
     },
255
     },
256
     {
256
     {
257
-      path: "/stock/user/detail",
258
-      component: () => import("@/xt_pages/stock/stockUserDetail"),
259
-      name: "user_detail",
257
+      path: '/stock/user/detail',
258
+      component: () => import('@/xt_pages/stock/stockUserDetail'),
259
+      name: 'user_detail',
260
       hidden: true,
260
       hidden: true,
261
       is_menu: false,
261
       is_menu: false,
262
-      meta: { title: "user_detail", noCache: true }
262
+      meta: { title: 'user_detail', noCache: true }
263
     }
263
     }
264
   ]
264
   ]
265
-};
265
+}

+ 1 - 8
src/router/modules/systems.js Parādīt failu

118
     meta: {
118
     meta: {
119
       title: 'printTemplate'
119
       title: 'printTemplate'
120
     }
120
     }
121
-  }, {
122
-    path: '/data/hisconfig',
123
-    component: () => import('@/xt_pages/data/hisConfig'),
124
-    name: 'hisconfig',
125
-    meta: {
126
-      title: 'hisconfig'
127
-    }
128
-  },
121
+  }
129
   ]
122
   ]
130
 }
123
 }

+ 5 - 5
src/utils/admin_info_cache.js Parādīt failu

1
-const userInfoKey = "admin_user_info"
1
+const userInfoKey = 'admin_user_info'
2
 
2
 
3
 export function getAdminUserInfoCache() {
3
 export function getAdminUserInfoCache() {
4
-    return window.sessionStorage.getItem(userInfoKey)
4
+  return window.sessionStorage.getItem(userInfoKey)
5
 }
5
 }
6
 
6
 
7
 export function cacheAdminUserInfo(infoJSONStr) {
7
 export function cacheAdminUserInfo(infoJSONStr) {
8
-    window.sessionStorage.setItem(userInfoKey, infoJSONStr)
8
+  window.sessionStorage.setItem(userInfoKey, infoJSONStr)
9
 }
9
 }
10
 
10
 
11
 export function removeAdminUserInfoCache() {
11
 export function removeAdminUserInfoCache() {
12
-    window.sessionStorage.removeItem(userInfoKey)
13
-}
12
+  window.sessionStorage.removeItem(userInfoKey)
13
+}

+ 7 - 0
src/views/layout/components/Navbar.vue Parādīt failu

275
     },
275
     },
276
     toClick() {
276
     toClick() {
277
       window.location.href = "https://testsso.sgjyun.com/help";
277
       window.location.href = "https://testsso.sgjyun.com/help";
278
+    },
279
+    getCreatorName() {
280
+      getCreatorName().then(response => {});
278
     }
281
     }
279
   },
282
   },
280
   created() {
283
   created() {
281
     getOrgs().then(response => {
284
     getOrgs().then(response => {
282
       if (response.data.state === 1) {
285
       if (response.data.state === 1) {
283
         this.orgs = response.data.data.orgs;
286
         this.orgs = response.data.data.orgs;
287
+        console.log("org", this.orgs);
288
+        var creator = response.data.data.creator;
289
+        console.log("creator", creator);
284
         for (let i = 0; i < this.orgs.length; i++) {
290
         for (let i = 0; i < this.orgs.length; i++) {
285
           if (this.orgs[i].id == this.org_id) {
291
           if (this.orgs[i].id == this.org_id) {
286
             this.org_name = this.orgs[i].org_name;
292
             this.org_name = this.orgs[i].org_name;
288
         }
294
         }
289
       }
295
       }
290
     });
296
     });
297
+    this.getCreatorName();
291
   }
298
   }
292
 };
299
 };
293
 </script>
300
 </script>

+ 2 - 0
src/views/layout/components/Sidebar/SidebarItem.vue Parādīt failu

218
   .el-submenu__title{
218
   .el-submenu__title{
219
     background-color:#1F2D3D !important;
219
     background-color:#1F2D3D !important;
220
     color: #fff !important;
220
     color: #fff !important;
221
+    height: 32px !important;
222
+    line-height: 32px !important;
221
   }
223
   }
222
   .router-link-exact-active{
224
   .router-link-exact-active{
223
     color: rgb(64, 158, 255) !important;
225
     color: rgb(64, 158, 255) !important;

+ 2 - 2
src/views/layout/components/Sidebar/index.vue Parādīt failu

242
     background-color: #1F2D3D !important;
242
     background-color: #1F2D3D !important;
243
   }
243
   }
244
   .el-menu-item{
244
   .el-menu-item{
245
-    height: 40px !important;
246
-    line-height: 40px !important;
245
+    height: 32px !important;
246
+    line-height: 32px !important;
247
     background-color: #1F2D3D !important;
247
     background-color: #1F2D3D !important;
248
     color: #fff !important;
248
     color: #fff !important;
249
     i{
249
     i{

+ 1 - 0
src/views/layout/components/TagsView.vue Parādīt failu

153
     }
153
     }
154
   },
154
   },
155
   created() {
155
   created() {
156
+    this.newIndex = 3
156
     this.routerList = this.permission_routers;
157
     this.routerList = this.permission_routers;
157
   },
158
   },
158
   mounted() {
159
   mounted() {

+ 7 - 7
src/xt_pages/dialysis/details/NavIgation.vue Parādīt failu

571
       this.$refs.monitor_dialog.show();
571
       this.$refs.monitor_dialog.show();
572
     },
572
     },
573
     showAssessmentAfterDialog: function() {
573
     showAssessmentAfterDialog: function() {
574
-      this.$refs.assessment_after_dislysis.show();
574
+      this.$refs.assessment_after_dislysis.show(this.assessment_after_dislysis);
575
     },
575
     },
576
     showDoctorAdviceDialog: function() {
576
     showDoctorAdviceDialog: function() {
577
       this.$refs.doctor_advice.show();
577
       this.$refs.doctor_advice.show();
578
     },
578
     },
579
     showComputerDialog: function() {
579
     showComputerDialog: function() {
580
-      this.$refs.computer_dialog.show();
580
+      this.$refs.computer_dialog.show(this.dialysis_order);
581
     },
581
     },
582
     showFinishDialog: function() {
582
     showFinishDialog: function() {
583
-      this.$refs.finish_dialog.show();
583
+      this.$refs.finish_dialog.show(this.dialysis_order);
584
     },
584
     },
585
     showPrescription: function() {
585
     showPrescription: function() {
586
-      this.$refs.prescription.show();
586
+      this.$refs.prescription.show(this.prescription);
587
     },
587
     },
588
     showAccepts: function() {
588
     showAccepts: function() {
589
-      this.$refs.accepts.show();
589
+      this.$refs.accepts.show(this.receiver_treatment_access);
590
     },
590
     },
591
     showAssessmentBefore: function() {
591
     showAssessmentBefore: function() {
592
-      this.$refs.assessmentBefore.show();
592
+      this.$refs.assessmentBefore.show(this.predialysis_evaluation);
593
     },
593
     },
594
     showDoubleCheck: function() {
594
     showDoubleCheck: function() {
595
       this.$refs.doubleCheck.show();
595
       this.$refs.doubleCheck.show();
596
     },
596
     },
597
     showrTeatmentSummary: function() {
597
     showrTeatmentSummary: function() {
598
-      this.$refs.treatmentSummary.show();
598
+      this.$refs.treatmentSummary.show(this.treatment_summary);
599
     },
599
     },
600
     assessmentAfterDislysisFunc: function(val) {
600
     assessmentAfterDislysisFunc: function(val) {
601
       this.assessment_after_dislysis = val;
601
       this.assessment_after_dislysis = val;

+ 65 - 3
src/xt_pages/dialysis/details/dialog/AssessmentAfterDislysis.vue Parādīt failu

1
 <template>
1
 <template>
2
   <div class="assessment-after-box">
2
   <div class="assessment-after-box">
3
     <el-dialog
3
     <el-dialog
4
+      class="newDialog"
4
       title="透后评估"
5
       title="透后评估"
5
       :visible.sync="isVisibility"
6
       :visible.sync="isVisibility"
6
       width="1010px"
7
       width="1010px"
7
       :modal-append-to-body="false"
8
       :modal-append-to-body="false"
8
     >
9
     >
10
+    <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
9
       <el-form ref="form" :model="form" label-width="160px">
11
       <el-form ref="form" :model="form" label-width="160px">
10
         <!-- <el-row :gutter="20"> -->
12
         <!-- <el-row :gutter="20"> -->
11
         <el-row :gutter="20">
13
         <el-row :gutter="20">
476
 
478
 
477
       <span slot="footer" class="dialog-footer">
479
       <span slot="footer" class="dialog-footer">
478
         <el-button @click="hide">取 消</el-button>
480
         <el-button @click="hide">取 消</el-button>
479
-        <el-button type="primary" @click="submitForm" :loading="loading"
481
+        <el-button type="primary" @click="submitForm" :loading="loading" v-if="hasPermission"
480
           >保 存</el-button
482
           >保 存</el-button
481
         >
483
         >
482
       </span>
484
       </span>
497
 import { uParseTime } from "@/utils/tools";
499
 import { uParseTime } from "@/utils/tools";
498
 import store from "@/store";
500
 import store from "@/store";
499
 
501
 
502
+import request from '@/utils/request'
503
+
500
 export default {
504
 export default {
501
   name: "AssessmentAfterDislysis",
505
   name: "AssessmentAfterDislysis",
502
   props: {
506
   props: {
524
   },
528
   },
525
   data() {
529
   data() {
526
     return {
530
     return {
531
+      showTxt:'',
532
+      hasPermission:true,
527
       loading: false,
533
       loading: false,
528
       record_date: "",
534
       record_date: "",
529
       isVisibility: false,
535
       isVisibility: false,
935
       this.InnerDialogProps.visibility = false;
941
       this.InnerDialogProps.visibility = false;
936
     },
942
     },
937
 
943
 
938
-    show() {
944
+    show(predialysis) {
939
       this.isVisibility = true;
945
       this.isVisibility = true;
946
+      this.predialysis = predialysis
947
+      console.log("透后",predialysis)
948
+      this.getPermission()
940
     },
949
     },
941
 
950
 
942
     hide() {
951
     hide() {
967
         this.assessment_after_dislysis["actual_treatment_hour"],
976
         this.assessment_after_dislysis["actual_treatment_hour"],
968
         this.assessment_after_dislysis["actual_treatment_minute"]
977
         this.assessment_after_dislysis["actual_treatment_minute"]
969
       );
978
       );
979
+    },
980
+    getPermission(){
981
+      request.get("/api/func_per/get",{
982
+        params:{
983
+          create_url:"/api/dialysis/assessmentafterdislysis?mode=1",
984
+          modify_url:"/api/dialysis/assessmentafterdislysis?mode=2",
985
+          modify_other_url:"/api/dialysis/assessmentafterdislysis?mode=3",
986
+          module:8
987
+        }
988
+      }).then(res => {
989
+        console.log(res)
990
+        console.log("透后",this.predialysis)
991
+        if(res.data.state == 0){
992
+          this.hasPermission = false
993
+        }else if(res.data.state == 1){
994
+          if(this.predialysis.id != "" && this.predialysis.creater != 0){//有数据
995
+            if(this.predialysis.creater == this.$store.getters.xt_user.user.id){//创建人是自己
996
+              if(res.data.data.is_has_modify == false){
997
+                this.hasPermission = false
998
+                this.showTxt = "你没有修改透后评估权限"
999
+              }
1000
+            }else{//创建人不是自己
1001
+              if(res.data.data.is_has_modify_other == false){
1002
+                this.hasPermission = false
1003
+                this.showTxt = "你没有修改他人透后评估权限"
1004
+              }
1005
+            }
1006
+          }else if(this.predialysis.id == "" || this.predialysis.creater == 0){
1007
+            if(res.data.data.is_has_create  == false){
1008
+              this.hasPermission = false
1009
+              this.showTxt = "你没有新增透后评估权限"
1010
+            }
1011
+          }
1012
+        }
1013
+      })
970
     }
1014
     }
971
   },
1015
   },
972
   created() {
1016
   created() {
1001
 };
1045
 };
1002
 </script>
1046
 </script>
1003
 
1047
 
1004
-<style scoped></style>
1048
+<style scoped>
1049
+.warnTxt{
1050
+  text-align: center;
1051
+  margin: 0 auto;
1052
+  background: #faa331;
1053
+  max-width: 240px;
1054
+  padding: 10px 20px;
1055
+  border-radius: 4px;
1056
+  margin-bottom: 10px;
1057
+  color:#fff;
1058
+}
1059
+</style>
1060
+<style lang="scss">
1061
+.newDialog{
1062
+  .el-dialog__body{
1063
+    padding: 10px 20px 30px;
1064
+  }
1065
+}
1066
+</style>

+ 65 - 4
src/xt_pages/dialysis/details/dialog/acceptsTreatmentDialog.vue Parādīt failu

1
 <template>
1
 <template>
2
   <el-dialog title="接诊评估"
2
   <el-dialog title="接诊评估"
3
+              class="newDialog"
3
              :modal-append-to-body="false"
4
              :modal-append-to-body="false"
4
              :visible.sync="isVisibility"
5
              :visible.sync="isVisibility"
5
              width="854px">
6
              width="854px">
7
+    <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
6
     <el-form :model="receiveTreatmentAsses" label-width="80px">
8
     <el-form :model="receiveTreatmentAsses" label-width="80px">
7
       <el-form-item label="入室方式 : " v-if="isShow('入室方式')">
9
       <el-form-item label="入室方式 : " v-if="isShow('入室方式')">
8
         <!--<el-radio-group v-model="receiveTreatmentAsses.way">-->
10
         <!--<el-radio-group v-model="receiveTreatmentAsses.way">-->
155
     </el-form>
157
     </el-form>
156
     <div slot="footer" class="dialog-footer">
158
     <div slot="footer" class="dialog-footer">
157
       <el-button @click="handleCancle">取 消</el-button>
159
       <el-button @click="handleCancle">取 消</el-button>
158
-      <el-button type="primary" @click="handleComfirm">保 存</el-button>
160
+      <el-button type="primary" v-if="hasPermission" @click="handleComfirm">保 存</el-button>
159
     </div>
161
     </div>
160
   </el-dialog>
162
   </el-dialog>
161
 </template>
163
 </template>
166
   import store from '@/store'
168
   import store from '@/store'
167
   import { getDataConfig } from '@/utils/data'
169
   import { getDataConfig } from '@/utils/data'
168
 
170
 
171
+  import request from '@/utils/request'
172
+
169
   export default {
173
   export default {
170
     name: 'acceptsTreatmentDialog',
174
     name: 'acceptsTreatmentDialog',
171
     data() {
175
     data() {
172
       return {
176
       return {
177
+        showTxt:'',
178
+        hasPermission:true,
173
         isVisibility: false,
179
         isVisibility: false,
174
         record_date: '',
180
         record_date: '',
175
         way_arr: [],
181
         way_arr: [],
214
         }
220
         }
215
         return false
221
         return false
216
       },
222
       },
217
-      show() {
223
+      show(accepts) {
224
+        this.accepts = accepts
225
+        console.log("accepts",accepts)
226
+        this.getPermission()
218
         for (var index in this.receiveTreatmentAsses) {
227
         for (var index in this.receiveTreatmentAsses) {
219
           if (index == 'condition' || index == 'danger_level' || index == 'psychological_assessment') {
228
           if (index == 'condition' || index == 'danger_level' || index == 'psychological_assessment') {
220
             this.receiveTreatmentAsses[index] = this.receiver_treatment_access[index] + ''
229
             this.receiveTreatmentAsses[index] = this.receiver_treatment_access[index] + ''
267
           }
276
           }
268
         })
277
         })
269
 
278
 
270
-      }
279
+      },
280
+      getPermission(){
281
+      request.get("/api/func_per/get",{
282
+        params:{
283
+          create_url:"/api/dialysis/accepts?mode=1",
284
+          modify_url:"/api/dialysis/accepts?mode=2",
285
+          modify_other_url:"/api/dialysis/accepts?mode=3",
286
+          module:2
287
+        }
288
+      }).then(res => {
289
+        console.log(res)
290
+        console.log("接诊",this.accepts)
291
+        if(res.data.state == 0){
292
+          this.hasPermission = false
293
+        }else if(res.data.state == 1){
294
+          if(this.accepts.id != "" && this.accepts.creater != 0){//有数据
295
+            if(this.accepts.creater == this.$store.getters.xt_user.user.id){//创建人是自己
296
+              if(res.data.data.is_has_modify == false){
297
+                this.hasPermission = false
298
+                this.showTxt = "你没有修改接诊评估权限"
299
+              }
300
+            }else{//创建人不是自己
301
+              if(res.data.data.is_has_modify_other == false){
302
+                this.hasPermission = false
303
+                this.showTxt = "你没有修改他人接诊评估权限"
304
+              }
305
+            }
306
+          }else if(this.accepts.id == "" || this.accepts.creater == 0){
307
+            if(res.data.data.is_has_create  == false){
308
+              this.hasPermission = false
309
+              this.showTxt = "你没有新增接诊评估权限"
310
+            }
311
+          }
312
+        }
313
+      })
314
+    }
271
     },
315
     },
272
     props: {
316
     props: {
273
       receiver_treatment_access: { // 双人核对
317
       receiver_treatment_access: { // 双人核对
294
         }
338
         }
295
       }
339
       }
296
     }, created() {
340
     }, created() {
341
+      console.log("接诊评估",this.receiver_treatment_access)
297
       var date = this.$route.query && this.$route.query.date
342
       var date = this.$route.query && this.$route.query.date
298
       this.record_date = uParseTime(date, '{y}-{m}-{d}')
343
       this.record_date = uParseTime(date, '{y}-{m}-{d}')
299
 
344
 
312
 </script>
357
 </script>
313
 
358
 
314
 <style scoped>
359
 <style scoped>
315
-
360
+.warnTxt{
361
+  text-align: center;
362
+  margin: 0 auto;
363
+  background: #faa331;
364
+  max-width: 240px;
365
+  padding: 10px 20px;
366
+  border-radius: 4px;
367
+  margin-bottom: 10px;
368
+  color:#fff;
369
+}
370
+</style>
371
+<style lang="scss">
372
+.newDialog{
373
+  .el-dialog__body{
374
+    padding: 10px 20px 30px;
375
+  }
376
+}
316
 </style>
377
 </style>

+ 64 - 5
src/xt_pages/dialysis/details/dialog/assessmentBeforeDislysisDialog.vue Parādīt failu

1
 <template>
1
 <template>
2
   <div>
2
   <div>
3
     <el-dialog
3
     <el-dialog
4
+      class="newDialog"
4
       title="透前评估"
5
       title="透前评估"
5
       :visible.sync="isVisibility"
6
       :visible.sync="isVisibility"
6
       width="1010px"
7
       width="1010px"
7
       :modal-append-to-body="false"
8
       :modal-append-to-body="false"
8
     >
9
     >
9
-
10
+    <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
10
       <!--<check-box-dialog-->
11
       <!--<check-box-dialog-->
11
       <!--:propsForm="InnerDialogProps"-->
12
       <!--:propsForm="InnerDialogProps"-->
12
       <!--v-on:dialog-comfirm="innerDialogComfirm"-->
13
       <!--v-on:dialog-comfirm="innerDialogComfirm"-->
446
       </el-form>
447
       </el-form>
447
       <span slot="footer" class="dialog-footer">
448
       <span slot="footer" class="dialog-footer">
448
                 <el-button @click="handleCancle">取 消</el-button>
449
                 <el-button @click="handleCancle">取 消</el-button>
449
-                <el-button type="primary" @click="handleComfirm">保 存</el-button>
450
+                <el-button type="primary" v-if="hasPermission" @click="handleComfirm">保 存</el-button>
450
             </span>
451
             </span>
451
     </el-dialog>
452
     </el-dialog>
452
 
453
 
488
   import store from '@/store'
489
   import store from '@/store'
489
   import { uParseTime } from '@/utils/tools'
490
   import { uParseTime } from '@/utils/tools'
490
 
491
 
492
+  import request from '@/utils/request'
493
+
491
   export default {
494
   export default {
492
     components: {
495
     components: {
493
       multiSelectBox
496
       multiSelectBox
495
     name: 'assessment-after-dislysis-dialog',
498
     name: 'assessment-after-dislysis-dialog',
496
     data() {
499
     data() {
497
       return {
500
       return {
501
+        showTxt:'',
502
+        hasPermission:true,
498
         weight_adjust: {
503
         weight_adjust: {
499
           weight: '',
504
           weight: '',
500
           doctor: '',
505
           doctor: '',
616
         }
621
         }
617
         return false
622
         return false
618
       },
623
       },
619
-      show() {
620
-
624
+      show(assessment) {
625
+        this.assessment = assessment
626
+        console.log("透前",assessment)
627
+        this.getPermission()
621
         this.isVisibility = true
628
         this.isVisibility = true
622
         for (let i = 0; i < this.admin_users.length; i++) {
629
         for (let i = 0; i < this.admin_users.length; i++) {
623
           if (this.admin_users[i].user_type != 3) {
630
           if (this.admin_users[i].user_type != 3) {
876
       },cancleDryWeight(){
883
       },cancleDryWeight(){
877
         this.dialogFormVisible = false
884
         this.dialogFormVisible = false
878
         this.isVisibility = true
885
         this.isVisibility = true
886
+      },
887
+      getPermission(){
888
+        request.get("/api/func_per/get",{
889
+          params:{
890
+            create_url:"/api/dialysis/assessmentbeforedislysis?mode=1",
891
+            modify_url:"/api/dialysis/assessmentbeforedislysis?mode=2",
892
+            modify_other_url:"/api/dialysis/assessmentbeforedislysis?mode=3",
893
+            module:3
894
+          }
895
+        }).then(res => {
896
+          console.log(res)
897
+          console.log("透前",this.patient_prop)
898
+          console.log("透前",this.assessment)
899
+          if(res.data.state == 0){
900
+            this.hasPermission = false
901
+          }else if(res.data.state == 1){
902
+            if(this.assessment.id != "" && this.assessment.creater != 0){//有数据
903
+              if(this.assessment.creater == this.$store.getters.xt_user.user.id){//创建人是自己
904
+                if(res.data.data.is_has_modify == false){
905
+                  this.hasPermission = false
906
+                  this.showTxt = "你没有修改透前评估权限"
907
+                }
908
+              }else{//创建人不是自己
909
+                if(res.data.data.is_has_modify_other == false){
910
+                  this.hasPermission = false
911
+                  this.showTxt = "你没有修改他人透前评估权限"
912
+                }
913
+              }
914
+            }else if(this.assessment.id == "" || this.assessment.creater == 0){
915
+              if(res.data.data.is_has_create  == false){
916
+                this.hasPermission = false
917
+                this.showTxt = "你没有新增透前评估权限"
918
+              }
919
+            }
920
+          }
921
+        })
879
       }
922
       }
880
     },
923
     },
881
     created() {
924
     created() {
1005
 </script>
1048
 </script>
1006
 
1049
 
1007
 <style scoped>
1050
 <style scoped>
1008
-
1051
+.warnTxt{
1052
+  text-align: center;
1053
+  margin: 0 auto;
1054
+  background: #faa331;
1055
+  max-width: 240px;
1056
+  padding: 10px 20px;
1057
+  border-radius: 4px;
1058
+  margin-bottom: 10px;
1059
+  color:#fff;
1060
+}
1061
+</style>
1062
+<style lang="scss">
1063
+.newDialog{
1064
+  .el-dialog__body{
1065
+    padding: 10px 20px 30px;
1066
+  }
1067
+}
1009
 </style>
1068
 </style>

+ 62 - 2
src/xt_pages/dialysis/details/dialog/computer_dialog.vue Parādīt failu

1
 <template>
1
 <template>
2
   <div>
2
   <div>
3
-    <el-dialog title="透析上机" :visible.sync="visible" width="854px" :modal-append-to-body="false">
3
+    <el-dialog title="透析上机" class="newDialog" :visible.sync="visible" width="854px" :modal-append-to-body="false">
4
+      <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
4
       <el-form :model="form" label-width="100px">
5
       <el-form :model="form" label-width="100px">
5
 
6
 
6
         <el-form-item label="班次">
7
         <el-form-item label="班次">
58
   import { GetSchedualNumber, PostModifyStartDialysis, startDialysis } from '@/api/dialysis_record'
59
   import { GetSchedualNumber, PostModifyStartDialysis, startDialysis } from '@/api/dialysis_record'
59
   import { parseTime } from '@/utils'
60
   import { parseTime } from '@/utils'
60
 
61
 
62
+  import request from '@/utils/request'
63
+
61
   export default {
64
   export default {
62
     name: 'ComputerDialog',
65
     name: 'ComputerDialog',
63
     data() {
66
     data() {
64
       return {
67
       return {
68
+        showTxt:'',
69
+        hasPermission:true,
65
         zone_beds: [],
70
         zone_beds: [],
66
         visible: false,
71
         visible: false,
67
         loading: false,
72
         loading: false,
212
         }
217
         }
213
         return ''
218
         return ''
214
       },
219
       },
215
-      show: function() {
220
+      show: function(dialysis) {
221
+        this.record = dialysis
222
+        console.log("上机",dialysis)
223
+        this.getPermission()
216
         this.visible = true
224
         this.visible = true
217
 
225
 
218
         var nowDate = new Date()
226
         var nowDate = new Date()
321
             this.$message.error(resp.msg)
329
             this.$message.error(resp.msg)
322
           }
330
           }
323
         })
331
         })
332
+      },
333
+      getPermission(){
334
+        request.get("/api/func_per/get",{
335
+          params:{
336
+            create_url:"/api/dialysis/start_record?mode=1",
337
+            modify_url:"/api/start_dialysis/modify?mode=2",
338
+            modify_other_url:"/api/start_dialysis/modify?mode=3",
339
+            module:0
340
+          }
341
+        }).then(res => {
342
+          console.log(res)
343
+          console.log("上机",this.record)
344
+          if(res.data.state == 0){
345
+            this.hasPermission = false
346
+          }else if(res.data.state == 1){
347
+            if(this.record.id != "" && this.record.creater != 0){//有数据
348
+              if(this.record.creater == this.$store.getters.xt_user.user.id){//创建人是自己
349
+                if(res.data.data.is_has_modify == false){
350
+                  this.hasPermission = false
351
+                  this.showTxt = "你没有修改执行上机权限"
352
+                }
353
+              }else{//创建人不是自己
354
+                if(res.data.data.is_has_modify_other == false){
355
+                  this.hasPermission = false
356
+                  this.showTxt = "你没有修改他人执行上机权限"
357
+                }
358
+              }
359
+            }else if(this.record.id == "" || this.record.creater == 0){
360
+              if(res.data.data.is_has_create  == false){
361
+                this.hasPermission = false
362
+                this.showTxt = "你没有执行上机权限"
363
+              }
364
+            }
365
+          }
366
+        })
324
       }
367
       }
325
 
368
 
326
     }
369
     }
332
     text-align: center;
375
     text-align: center;
333
     margin-bottom: 20px;
376
     margin-bottom: 20px;
334
   }
377
   }
378
+.warnTxt{
379
+  text-align: center;
380
+  margin: 0 auto;
381
+  background: #faa331;
382
+  max-width: 240px;
383
+  padding: 10px 20px;
384
+  border-radius: 4px;
385
+  margin-bottom: 10px;
386
+  color:#fff;
387
+}
388
+</style>
389
+<style lang="scss">
390
+.newDialog{
391
+  .el-dialog__body{
392
+    padding: 10px 20px 30px;
393
+  }
394
+}
335
 </style>
395
 </style>

+ 67 - 5
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue Parādīt failu

6
       width="1010px"
6
       width="1010px"
7
       :modal-append-to-body="false"
7
       :modal-append-to-body="false"
8
       :append-to-body="true"
8
       :append-to-body="true"
9
+      class="newDialog"
9
     >
10
     >
10
       <el-button style="position: absolute;left: 12%;top: 2%" @click="handlePatientInfo">{{patient.name}}</el-button>
11
       <el-button style="position: absolute;left: 12%;top: 2%" @click="handlePatientInfo">{{patient.name}}</el-button>
11
-
12
+      <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
12
       <el-form ref="dialysisPrescription" :model="dialysisPrescription" label-width="148px">
13
       <el-form ref="dialysisPrescription" :model="dialysisPrescription" label-width="148px">
13
         <el-row :gutter="24">
14
         <el-row :gutter="24">
14
           <el-col :span="8" v-if="isShows('透析模式')">
15
           <el-col :span="8" v-if="isShows('透析模式')">
449
       </el-form>
450
       </el-form>
450
       <span slot="footer" class="dialog-footer">
451
       <span slot="footer" class="dialog-footer">
451
                 <el-button @click="handleCancle">取 消</el-button>
452
                 <el-button @click="handleCancle">取 消</el-button>
452
-                <el-button type="primary" @click="handleCommit" v-if="isPermission()">保 存</el-button>
453
+                <!-- <el-button type="primary" @click="handleCommit" v-if="isPermission()">保 存</el-button> -->
454
+                <el-button type="primary" @click="handleCommit" v-if="hasPermission">保 存</el-button>
453
                 <el-button type="primary" @click="handleSolution" v-if="isPermission()">保存为长期处方</el-button>
455
                 <el-button type="primary" @click="handleSolution" v-if="isPermission()">保存为长期处方</el-button>
454
 
456
 
455
     </span>
457
     </span>
549
   import store from '@/store'
551
   import store from '@/store'
550
   import MsgTip from './MsgTip'
552
   import MsgTip from './MsgTip'
551
 
553
 
554
+  import request from '@/utils/request'
555
+
552
   export default {
556
   export default {
553
     name: 'dialysisPrescriptionDialog',
557
     name: 'dialysisPrescriptionDialog',
554
     components: { MsgTip },
558
     components: { MsgTip },
750
     },
754
     },
751
     data() {
755
     data() {
752
       return {
756
       return {
757
+        showTxt:'',
758
+        hasPermission:true,
753
         zhiShow: false,
759
         zhiShow: false,
754
         totalShow: false,
760
         totalShow: false,
755
         huShow: false,
761
         huShow: false,
1205
       getTime(val) {
1211
       getTime(val) {
1206
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1212
         return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
1207
       },
1213
       },
1208
-      show() {
1214
+      show(pre) {
1215
+        this.pre = pre
1216
+        console.log("pre",pre)
1217
+        this.getPermission()
1218
+
1209
         let last_weight_after = 0
1219
         let last_weight_after = 0
1210
         let weight_before = 0
1220
         let weight_before = 0
1211
 
1221
 
2207
       }, cancleMsg() {
2217
       }, cancleMsg() {
2208
         this.isVisibility = true
2218
         this.isVisibility = true
2209
         this.msgtip_visibility = false
2219
         this.msgtip_visibility = false
2220
+      },
2221
+      getPermission() {
2222
+        request.get("/api/func_per/get", {
2223
+          params: {
2224
+            create_url: "/api/dialysis/prescription?mode=1",
2225
+            modify_url: "/api/dialysis/prescription?mode=2",
2226
+            modify_other_url: "/api/dialysis/prescription?mode=3",
2227
+            module: 1
2228
+          }
2229
+        }).then(res => {
2230
+          console.log(res)
2231
+          console.log("predialysis.creater", this.pre.creater)
2232
+          console.log("admin.id", this.$store.getters.xt_user.user.id)
2233
+          if (res.data.state == 0) {
2234
+            this.hasPermission = false
2235
+          } else if (res.data.state == 1) {
2236
+            if (this.pre.id != "" && this.pre.creater != 0) {//有数据
2237
+              if (this.pre.creater == this.$store.getters.xt_user.user.id) {//创建人是自己
2238
+                if (res.data.data.is_has_modify == false) {
2239
+                  this.hasPermission = false
2240
+                  this.showTxt = "你没有修改透析处方权限"
2241
+                }
2242
+              } else {//创建人不是自己
2243
+                if (res.data.data.is_has_modify_other == false) {
2244
+                  this.hasPermission = false
2245
+                  this.showTxt = "你没有修改他人透析处方权限"
2246
+                }
2247
+              }
2248
+            } else if (this.pre.id == "" || this.pre.creater == 0) {
2249
+              if (res.data.data.is_has_create == false) {
2250
+                this.hasPermission = false
2251
+                this.showTxt = "你没有新增透析处方权限"
2252
+              }
2253
+            }
2254
+          }
2255
+        })
2210
       }
2256
       }
2211
     },
2257
     },
2212
 
2258
 
2522
           }
2568
           }
2523
         }
2569
         }
2524
       }
2570
       }
2525
-    }
2571
+    },
2526
   }
2572
   }
2527
 
2573
 
2528
 </script>
2574
 </script>
2540
     line-height: 40px;
2586
     line-height: 40px;
2541
     border-bottom: 1px solid #ccc;
2587
     border-bottom: 1px solid #ccc;
2542
   }
2588
   }
2543
-
2589
+.warnTxt{
2590
+  text-align: center;
2591
+  margin: 0 auto;
2592
+  background: #faa331;
2593
+  max-width: 240px;
2594
+  padding: 10px 20px;
2595
+  border-radius: 4px;
2596
+  margin-bottom: 10px;
2597
+  color:#fff;
2598
+}
2599
+</style>
2600
+<style lang="scss">
2601
+.newDialog{
2602
+  .el-dialog__body{
2603
+    padding: 10px 20px 30px;
2604
+  }
2605
+}
2544
 </style>
2606
 </style>

+ 66 - 5
src/xt_pages/dialysis/details/dialog/finish_dialog.vue Parādīt failu

1
 <template>
1
 <template>
2
   <div>
2
   <div>
3
-    <el-dialog title="透析下机" :visible.sync="visible" width="854px" :modal-append-to-body="false">
4
-      <div class="txsj">
5
-      </div>
3
+    <el-dialog title="透析下机" class="newDialog" :visible.sync="visible" width="854px" :modal-append-to-body="false">
4
+      <!-- <div class="txsj">
5
+      </div> -->
6
+      <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
6
       <el-form :model="form" label-width="80px">
7
       <el-form :model="form" label-width="80px">
7
         <el-form-item label="下机护士">
8
         <el-form-item label="下机护士">
8
           <el-select v-model="form.nurse_id" :disabled="!(dialysis_order.id != 0)">
9
           <el-select v-model="form.nurse_id" :disabled="!(dialysis_order.id != 0)">
46
   import { finishDialysis,PostModifyFinishDialysis } from '@/api/dialysis_record'
47
   import { finishDialysis,PostModifyFinishDialysis } from '@/api/dialysis_record'
47
   import { parseTime } from '@/utils'
48
   import { parseTime } from '@/utils'
48
 
49
 
50
+  import request from '@/utils/request'
51
+
49
   export default {
52
   export default {
50
     name: 'FinishDialog',
53
     name: 'FinishDialog',
51
     data() {
54
     data() {
52
       return {
55
       return {
56
+        showTxt:'',
57
+        hasPermission:true,
53
         visible: false,
58
         visible: false,
54
         loading: false,
59
         loading: false,
55
         creator: 0,
60
         creator: 0,
94
       }
99
       }
95
     },
100
     },
96
     methods: {
101
     methods: {
97
-      show: function() {
102
+      show: function(record) {
103
+        this.record = record
104
+        console.log("下机",record)
105
+        this.getPermission()
98
         this.visible = true
106
         this.visible = true
99
         var nowDate = new Date()
107
         var nowDate = new Date()
100
         var nowYear = nowDate.getFullYear()
108
         var nowYear = nowDate.getFullYear()
215
           return parseTime(value, temp)
223
           return parseTime(value, temp)
216
         }
224
         }
217
         return ''
225
         return ''
218
-      }
226
+      },
227
+      getPermission(){
228
+      request.get("/api/func_per/get",{
229
+        params:{
230
+          create_url:"/api/dialysis/finish?mode=1",
231
+          modify_url:"/api/finish_dialysis/modify?mode=2",
232
+          modify_other_url:"/api/finish_dialysis/modify?mode=3",
233
+          module:6
234
+        }
235
+      }).then(res => {
236
+        console.log(res)
237
+        console.log("下机",this.record)
238
+        // console.log("上机",this.record)
239
+        if(res.data.state == 0){
240
+          this.hasPermission = false
241
+        }else if(res.data.state == 1){
242
+          if(this.record.id != "" && this.record.creater != 0){//有数据
243
+            if(this.record.creater == this.$store.getters.xt_user.user.id){//创建人是自己
244
+              if(res.data.data.is_has_modify == false){
245
+                this.hasPermission = false
246
+                this.showTxt = "你没有修改执行下机权限"
247
+              }
248
+            }else{//创建人不是自己
249
+              if(res.data.data.is_has_modify_other == false){
250
+                this.hasPermission = false
251
+                this.showTxt = "你没有修改他人执行下机权限"
252
+              }
253
+            }
254
+          }else if(this.record.id == "" || this.record.creater == 0){
255
+            if(res.data.data.is_has_create  == false){
256
+              this.hasPermission = false
257
+              this.showTxt = "你没有执行下机权限"
258
+            }
259
+          }
260
+        }
261
+      })
262
+    }
219
     }
263
     }
220
   }
264
   }
221
 </script>
265
 </script>
226
     text-align: center;
270
     text-align: center;
227
     margin-bottom: 20px;
271
     margin-bottom: 20px;
228
   }
272
   }
273
+.warnTxt{
274
+  text-align: center;
275
+  margin: 0 auto;
276
+  background: #faa331;
277
+  max-width: 240px;
278
+  padding: 10px 20px;
279
+  border-radius: 4px;
280
+  margin-bottom: 10px;
281
+  color:#fff;
282
+}
283
+</style>
284
+<style lang="scss">
285
+.newDialog{
286
+  .el-dialog__body{
287
+    padding: 10px 20px 30px;
288
+  }
289
+}
229
 </style>
290
 </style>

+ 64 - 4
src/xt_pages/dialysis/details/dialog/treatmentSummaryDialog.vue Parādīt failu

1
 <template>
1
 <template>
2
   <el-dialog
2
   <el-dialog
3
+    class="newDialog"
3
     title="治疗小结"
4
     title="治疗小结"
4
     width="854px"
5
     width="854px"
5
     :visible.sync="isVisibility"
6
     :visible.sync="isVisibility"
6
     :modal-append-to-body="false"
7
     :modal-append-to-body="false"
7
-  >
8
+  > 
9
+    <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
8
     <el-form :model="treatmentSummary">
10
     <el-form :model="treatmentSummary">
9
       <el-row :gutter="20">
11
       <el-row :gutter="20">
10
         <el-col :span="24">
12
         <el-col :span="24">
33
     </el-form>
35
     </el-form>
34
     <div slot="footer" class="dialog-footer">
36
     <div slot="footer" class="dialog-footer">
35
       <el-button @click="handleCancle">取 消</el-button>
37
       <el-button @click="handleCancle">取 消</el-button>
36
-      <el-button type="primary" @click="handleComfirm">保 存</el-button>
38
+      <el-button type="primary" @click="handleComfirm" v-if="hasPermission">保 存</el-button>
37
     </div>
39
     </div>
38
   </el-dialog>
40
   </el-dialog>
39
 </template>
41
 </template>
43
 import { postTreatmentsummary } from '@/api/dialysis'
45
 import { postTreatmentsummary } from '@/api/dialysis'
44
 import { uParseTime } from '@/utils/tools'
46
 import { uParseTime } from '@/utils/tools'
45
 
47
 
48
+import request from '@/utils/request'
49
+
46
 export default {
50
 export default {
47
     name: 'treatmentSummaryDialog',
51
     name: 'treatmentSummaryDialog',
48
 
52
 
62
     },
66
     },
63
     data() {
67
     data() {
64
       return {
68
       return {
69
+        showTxt:'',
70
+        hasPermission:true,
65
         value: '',
71
         value: '',
66
         value2: '',
72
         value2: '',
67
 
73
 
81
       }
87
       }
82
   },
88
   },
83
     methods: {
89
     methods: {
84
-      show() {
90
+      show(record) {
85
         this.isVisibility = true
91
         this.isVisibility = true
92
+        this.record = record
93
+        console.log("治疗小结",record)
94
+        this.getPermission()
86
       },
95
       },
87
       hide() {
96
       hide() {
88
         this.isVisibility = false
97
         this.isVisibility = false
148
             this.hide()
157
             this.hide()
149
           }
158
           }
150
         })
159
         })
160
+      },
161
+      getPermission(){
162
+        request.get("/api/func_per/get",{
163
+          params:{
164
+            create_url:"/api/dialysis/treatmentsummary?mode=1",
165
+            modify_url:"/api/dialysis/treatmentsummary?mode=2",
166
+            modify_other_url:"/api/dialysis/treatmentsummary?mode=3",
167
+            module:9
168
+          }
169
+        }).then(res => {
170
+          console.log(res)
171
+          console.log("小结",this.record)
172
+          if(res.data.state == 0){
173
+            this.hasPermission = false
174
+          }else if(res.data.state == 1){
175
+            if(this.record.id != "" && this.record.creater != 0){//有数据
176
+              if(this.record.creater == this.$store.getters.user.admin.id){//创建人是自己
177
+                if(res.data.data.is_has_modify == false){
178
+                  this.hasPermission = false
179
+                  this.showTxt = "你没有修改治疗小结权限"
180
+                }
181
+              }else{//创建人不是自己
182
+                if(res.data.data.is_has_modify_other == false){
183
+                  this.hasPermission = false
184
+                  this.showTxt = "你没有修改他人治疗小结权限"
185
+                }
186
+              }
187
+            }else if(this.record.id == "" || this.record.creater == 0){
188
+              if(res.data.data.is_has_create  == false){
189
+                this.hasPermission = false
190
+                this.showTxt = "你没有新增治疗小结权限"
191
+              }
192
+            }
193
+          }
194
+        })
151
       }
195
       }
152
     }, watch: {
196
     }, watch: {
153
       isVisibility(val) {
197
       isVisibility(val) {
171
 </script>
215
 </script>
172
 
216
 
173
 <style scoped>
217
 <style scoped>
174
-
218
+.warnTxt{
219
+  text-align: center;
220
+  margin: 0 auto;
221
+  background: #faa331;
222
+  max-width: 240px;
223
+  padding: 10px 20px;
224
+  border-radius: 4px;
225
+  margin-bottom: 10px;
226
+  color:#fff;
227
+}
228
+</style>
229
+<style lang="scss">
230
+.newDialog{
231
+  .el-dialog__body{
232
+    padding: 10px 20px 30px;
233
+  }
234
+}
175
 </style>
235
 </style>

+ 1 - 1
src/xt_pages/dialysis/details/index.vue Parādīt failu

236
               <td>张三</td>
236
               <td>张三</td>
237
               <td>2018-90-09</td>
237
               <td>2018-90-09</td>
238
               <td>张三</td>
238
               <td>张三</td>
239
-              <td>888</td>
239
+              <td>88</td>
240
             </tr>
240
             </tr>
241
             </tbody>
241
             </tbody>
242
           </table>
242
           </table>

+ 151 - 0
src/xt_pages/integration/his/fieldConfig.vue Parādīt failu

1
+<template>
2
+  <div style="display:flex;">
3
+    <el-tabs tabPosition="left" type="border-card" style="display:inline-black;">
4
+      <el-tab-pane v-for="item in sysInspec" :key="item.project_id" :label="item.project_name" >
5
+        <el-table :data="item.inspection_reference" border style="width: 100%">
6
+          <el-table-column
7
+            prop="item_name"
8
+            label="检验名称"
9
+            width="180">
10
+          </el-table-column>
11
+          <el-table-column
12
+            prop="id"
13
+            label="item_id"
14
+            width="180">
15
+          </el-table-column>
16
+        </el-table>
17
+      </el-tab-pane>
18
+    </el-tabs>
19
+
20
+    <template v-if="ownerInspec">
21
+      <el-tabs  tabPosition="left" type="border-card" style="display:inline-black;margin-left:100px;">
22
+        <el-tab-pane v-for="owner in ownerInspec" :key="owner.project_id" :label="owner.project_name" >
23
+          <el-table :data="owner.inspection_reference" border style="width: 100%">
24
+            <el-table-column
25
+              prop="item_name"
26
+              label="检验名称"
27
+              width="180">
28
+            </el-table-column>
29
+            <el-table-column label="item_id"  width="180"> 
30
+              <template slot-scope="scope">
31
+                <span v-if="scope.row.sys_item_id > 0">{{scope.row.sys_item_id}}</span>
32
+              </template>
33
+            </el-table-column>
34
+            <el-table-column label="编辑" width="180">
35
+              <template slot-scope="scope">
36
+              <el-button size="mini"  @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
37
+              </template>
38
+            </el-table-column>
39
+          </el-table>
40
+        </el-tab-pane>
41
+      </el-tabs>
42
+    </template>
43
+    <el-dialog title="编辑item_id" :visible.sync="dialogFormVisible">
44
+      <el-form :model="form">
45
+        <el-form-item label="检验检查名称" :label-width="formLabelWidth">
46
+          <el-input v-model="form.item_name" autocomplete="off"></el-input>
47
+        </el-form-item>
48
+        <el-form-item label="系统item_id" :label-width="formLabelWidth">
49
+          <el-input v-model="form.sys_item_id" autocomplete="off"></el-input>
50
+        </el-form-item>
51
+      </el-form>
52
+      <div slot="footer" class="dialog-footer">
53
+        <el-button @click="dialogFormVisible = false">取 消</el-button>
54
+        <el-button type="primary" @click="saveinspection()">确 定</el-button>
55
+      </div>
56
+    </el-dialog>
57
+  </div>
58
+</template>
59
+
60
+<script>
61
+import { getsysinspectionlist, saveinspectionsysitemid } from '@/api/integration'
62
+
63
+export default {
64
+  name: 'patientHisConfig',
65
+
66
+  created() {
67
+    this.getsysinspectionlist()
68
+  },
69
+  data() {
70
+    return {
71
+      dialogFormVisible: false,
72
+      ownerInspec: {},
73
+      sysInspec: {},
74
+      form: []
75
+    }
76
+  },
77
+  methods: {
78
+    handleEdit: function(index, row) {
79
+      this.form = row
80
+      this.dialogFormVisible = true
81
+    },
82
+    saveinspection: function() {
83
+      saveinspectionsysitemid(this.form).then(response => {
84
+        if (response.data.state == 0) {
85
+          this.$message.error(response.data.msg)
86
+          return false
87
+        } else {
88
+          this.ownerInspec[this.form.project_id]['inspection_reference']['sys_item_id'] = this.form.sys_item_id
89
+          this.dialogFormVisible = false
90
+        }
91
+      })
92
+    },
93
+    getsysinspectionlist: function() {
94
+      getsysinspectionlist().then(response => {
95
+        if (response.data.state == 0) {
96
+          this.$message.error(response.data.msg)
97
+          return false
98
+        } else {
99
+          this.ownerInspec = response.data.data.ownerInspec
100
+          this.sysInspec = response.data.data.sysInspec
101
+        }
102
+      })
103
+    }
104
+  }
105
+}
106
+</script>
107
+
108
+<style rel="stylesheet/css" lang="scss" scoped>
109
+.information {
110
+  border: 1px #dcdfe6 solid;
111
+  padding: 30px 20px 30px 20px;
112
+
113
+  .border {
114
+    border-bottom: 1px #dcdfe6 solid;
115
+    margin: 0px 0 20px 0;
116
+  }
117
+}
118
+
119
+.edit_separater {
120
+  border-top: 1px solid rgb(233, 233, 233);
121
+  margin-top: 15px;
122
+  margin-bottom: 15px;
123
+}
124
+</style>
125
+
126
+<style>
127
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
128
+  font-size: 12px;
129
+}
130
+
131
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
132
+  background: #6fb5fa;
133
+}
134
+
135
+.count {
136
+  color: #bd2c00;
137
+}
138
+
139
+.el-table td,
140
+.el-table th.is-leaf,
141
+.el-table--border,
142
+.el-table--group {
143
+  border-color: #d0d3da;
144
+}
145
+
146
+.el-table--border::after,
147
+.el-table--group::after,
148
+.el-table::before {
149
+  background-color: #d0d3da;
150
+}
151
+</style>

+ 250 - 0
src/xt_pages/integration/his/interfaceConfig.vue Parādīt failu

1
+<template>
2
+  <el-form ref="form" :model="form" label-width="140px" style="margin-top:40px;">
3
+    <el-form-item label="同步模式">
4
+      <el-select v-model="form.pattern" placeholder="请选择同步模式"  style="width :600px;">
5
+        <el-option v-for="item in patterns" :key="item.value" :label="item.label" :value="item.value"> </el-option>
6
+      </el-select>
7
+    </el-form-item>
8
+    <el-form-item label="数据库地址" v-if="form.pattern == 1 || form.pattern == 0" >
9
+      <el-input v-model.trim="form.dbhost" maxlength="200" style="width :600px;"></el-input>
10
+    </el-form-item>
11
+    <el-form-item label="用户名" v-if="form.pattern == 1 || form.pattern == 0" >
12
+      <el-input v-model.trim="form.dbuser" maxlength="200" style="width :600px;"></el-input>
13
+    </el-form-item>
14
+    <el-form-item label="密码" v-if="form.pattern == 1 || form.pattern == 0" >
15
+      <el-input v-model.trim="form.dbpassword" maxlength="200" style="width :600px;"></el-input>
16
+    </el-form-item>
17
+    <el-form-item label="数据库名" v-if="form.pattern == 1 || form.pattern == 0" >
18
+      <el-input v-model.trim="form.dbname" maxlength="200" style="width :600px;"></el-input>
19
+    </el-form-item>
20
+    <el-form-item label="接口地址" v-if="form.pattern == 2" >
21
+      <el-input v-model.trim="form.interface_url" maxlength="200" style="width :600px;"></el-input>
22
+    </el-form-item>
23
+    <el-form-item label="密钥" v-if="form.pattern == 2" >
24
+      <el-input v-model.trim="form.interface_token" maxlength="200" style="width :600px;"></el-input>
25
+    </el-form-item>
26
+    <el-form-item label="可访问IP" v-if="form.pattern == 3" >
27
+      <el-input v-model.trim="form.allow_ip" maxlength="200" style="width :600px;"></el-input>
28
+    </el-form-item>
29
+    <el-form-item label="密钥" v-if="form.pattern == 3" >
30
+      <el-input v-model.trim="form.allow_token" maxlength="200" style="width :600px;"></el-input>
31
+    </el-form-item>
32
+    <el-form-item label="同步频率">
33
+      <el-select v-model="form.sync_frequency" placeholder="请选择同步频率" style="width :600px;">
34
+        <el-option v-for="item in sync_frequencys" :key="item.value" :label="item.label" :value="item.value"> </el-option>
35
+      </el-select>
36
+    </el-form-item>
37
+
38
+    <el-form-item label="Tips" v-if="form.pattern == 3" >
39
+      <div style="width :600px;">本接口方位地址为:https://api.kuyicloud.com/api/sync?org_id=xx?str=xxx?timestamp=xxx?titck=xxx
40
+需要传递的参数有,org_id(机构id),str(随机字符串),timestamp(当前时间戳),和titck(签名)
41
+签名生成规则:org_id+str+timestamp,以md5加密钥的方式生成字符串</div>
42
+    </el-form-item>
43
+  
44
+    <el-form-item>
45
+      <el-button type="primary" @click="onSubmit">保存</el-button>
46
+      <el-button>重置</el-button>
47
+    </el-form-item>
48
+  </el-form>
49
+</template>
50
+
51
+<script>
52
+import { getInterface, saveInterface } from '@/api/integration'
53
+export default {
54
+  name: 'interfaceConfig',
55
+
56
+  created() {
57
+    this.getInterface()
58
+  },
59
+  data() {
60
+    return {
61
+      sync_frequencys: [{
62
+        value: 1,
63
+        label: '1分钟/次'
64
+      }, {
65
+        value: 2,
66
+        label: '10分钟/次'
67
+      }, {
68
+        value: 3,
69
+        label: '30分钟/次'
70
+      }, {
71
+        value: 4,
72
+        label: '1小时/次'
73
+      }, {
74
+        value: 5,
75
+        label: '6小时/次'
76
+      }, {
77
+        value: 6,
78
+        label: '12小时/次'
79
+      }, {
80
+        value: 7,
81
+        label: '1天/次'
82
+      }],
83
+      patterns: [{
84
+        value: 1,
85
+        label: '访问数据库模式'
86
+      }, {
87
+        value: 2,
88
+        label: '调用接口模式'
89
+      }, {
90
+        value: 3,
91
+        label: '数据接收模式'
92
+      }],
93
+      form: {
94
+        id: 0,
95
+        pattern: '',
96
+        dbhost: '',
97
+        dbuser: '',
98
+        dbpassword: '',
99
+        dbname: '',
100
+        interface_url: '',
101
+        interface_token: '',
102
+        allow_ip: '',
103
+        allow_token: '',
104
+        sync_frequency: ''
105
+      }
106
+    }
107
+  },
108
+  methods: {
109
+    getInterface: function() {
110
+      getInterface().then(response => {
111
+        if (response.data.state == 0) {
112
+          this.$message.error(response.data.msg)
113
+          return false
114
+        } else {
115
+          var interfaceinfo = response.data.data.interfaceinfo
116
+          if (interfaceinfo != null) {
117
+            this.form.id = interfaceinfo.id
118
+            this.form.pattern = interfaceinfo.pattern
119
+            this.form.dbhost = interfaceinfo.dbhost
120
+            this.form.dbuser = interfaceinfo.dbuser
121
+            this.form.dbpassword = interfaceinfo.dbpassword
122
+            this.form.dbname = interfaceinfo.dbname
123
+            this.form.interface_url = interfaceinfo.interface_url
124
+            this.form.interface_token = interfaceinfo.interface_token
125
+            this.form.allow_ip = interfaceinfo.allow_ip
126
+            this.form.allow_token = interfaceinfo.allow_token
127
+            this.form.sync_frequency = interfaceinfo.sync_frequency
128
+          }
129
+        }
130
+      })
131
+    },
132
+    onSubmit() {
133
+      if (this.form.pattern === '') {
134
+        this.$message.error('请选择同步模式')
135
+        return false
136
+      }
137
+      if (this.form.pattern == 1) {
138
+        if (this.form.dbhost.length <= 0) {
139
+          this.$message.error('请输入数据库地址')
140
+          return false
141
+        }
142
+        if (this.form.dbuser.length <= 0) {
143
+          this.$message.error('请输入数据库用户名')
144
+          return false
145
+        }
146
+        if (this.form.dbpassword.length <= 0) {
147
+          this.$message.error('请输入数据库密码')
148
+          return false
149
+        }
150
+        if (this.form.dbname.length <= 0) {
151
+          this.$message.error('请输入数据库名')
152
+          return false
153
+        }
154
+      }
155
+      if (this.form.pattern == 2) {
156
+        if (this.form.interface_url.length <= 0) {
157
+          this.$message.error('请输入接口地址')
158
+          return false
159
+        }
160
+        if (this.form.interface_token.length <= 0) {
161
+          this.$message.error('请输入密钥')
162
+          return false
163
+        }
164
+      }
165
+      if (this.form.pattern == 3) {
166
+        if (this.form.allow_ip.length <= 0) {
167
+          this.$message.error('请输入可访问IP地址')
168
+          return false
169
+        }
170
+        if (this.form.allow_token.length <= 0) {
171
+          this.$message.error('请输入密钥')
172
+          return false
173
+        }
174
+      }
175
+      if (this.form.sync_frequency === '') {
176
+        this.$message.error('请选择同步频率')
177
+        return false
178
+      }
179
+
180
+      saveInterface(this.form).then(response => {
181
+        if (response.data.state == 0) {
182
+          this.$message.error(response.data.msg)
183
+          return false
184
+        } else {
185
+          var interfaceinfo = response.data.data.interfaceinfo
186
+          if (interfaceinfo != null && interfaceinfo.length > 0) {
187
+            this.form.id = interfaceinfo.id
188
+            this.form.pattern = interfaceinfo.pattern
189
+            this.form.dbhost = interfaceinfo.dbhost
190
+            this.form.dbuser = interfaceinfo.dbuser
191
+            this.form.dbpassword = interfaceinfo.dbpassword
192
+            this.form.dbname = interfaceinfo.dbname
193
+            this.form.interface_url = interfaceinfo.interface_url
194
+            this.form.interface_token = interfaceinfo.interface_token
195
+            this.form.allow_ip = interfaceinfo.allow_ip
196
+            this.form.allow_token = interfaceinfo.allow_token
197
+            this.form.sync_frequency = interfaceinfo.sync_frequency
198
+          }
199
+          this.$message({ message: '提交成功', type: 'success' })
200
+        }
201
+      })
202
+    }
203
+  }
204
+}
205
+</script>
206
+
207
+<style rel="stylesheet/css" lang="scss" scoped>
208
+.information {
209
+  border: 1px #dcdfe6 solid;
210
+  padding: 30px 20px 30px 20px;
211
+
212
+  .border {
213
+    border-bottom: 1px #dcdfe6 solid;
214
+    margin: 0px 0 20px 0;
215
+  }
216
+}
217
+
218
+.edit_separater {
219
+  border-top: 1px solid rgb(233, 233, 233);
220
+  margin-top: 15px;
221
+  margin-bottom: 15px;
222
+}
223
+</style>
224
+
225
+<style>
226
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
227
+  font-size: 12px;
228
+}
229
+
230
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
231
+  background: #6fb5fa;
232
+}
233
+
234
+.count {
235
+  color: #bd2c00;
236
+}
237
+
238
+.el-table td,
239
+.el-table th.is-leaf,
240
+.el-table--border,
241
+.el-table--group {
242
+  border-color: #d0d3da;
243
+}
244
+
245
+.el-table--border::after,
246
+.el-table--group::after,
247
+.el-table::before {
248
+  background-color: #d0d3da;
249
+}
250
+</style>

+ 4 - 11
src/xt_pages/integration/his/patientHisConfig.vue Parādīt failu

1
 <template>
1
 <template>
2
   <div>
2
   <div>
3
     <el-dialog width="1010px"
3
     <el-dialog width="1010px"
4
-               :title="his_id.length == 0?'添加his_id':'修改his_id'" :visible.sync="dialogFormVisible">
4
+               :title="his_id.length == 0?'添加his_user_id':'修改his_user_id'" :visible.sync="dialogFormVisible">
5
       <el-form
5
       <el-form
6
         :rules="rules"
6
         :rules="rules"
7
         ref="dataForm"
7
         ref="dataForm"
195
           } else {
195
           } else {
196
             this.total = response.data.data.total
196
             this.total = response.data.data.total
197
             this.patientData = response.data.data.list
197
             this.patientData = response.data.data.list
198
-
199
           }
198
           }
200
         })
199
         })
201
       },
200
       },
265
         }
264
         }
266
         this.form.other_age = this.getAge(row)
265
         this.form.other_age = this.getAge(row)
267
         this.form.infectious = this.getInfectiousName(row)
266
         this.form.infectious = this.getInfectiousName(row)
268
-        console.log("111111")
267
+        console.log('111111')
269
         console.log(this.getInfectiousName(row))
268
         console.log(this.getInfectiousName(row))
270
 
269
 
271
         if (row.his_patient.id > 0) {
270
         if (row.his_patient.id > 0) {
272
           this.his_record_id = row.his_patient.id
271
           this.his_record_id = row.his_patient.id
273
         }
272
         }
274
-
275
       }, getAge: function(val) {
273
       }, getAge: function(val) {
276
         if (val.birthday > 0) {
274
         if (val.birthday > 0) {
277
           return jsGetAge(uParseTime(val.birthday, '{y}-{m}-{d}'), '-')
275
           return jsGetAge(uParseTime(val.birthday, '{y}-{m}-{d}'), '-')
278
         }
276
         }
279
-
280
       }, getInfectiousName: function(val) {
277
       }, getInfectiousName: function(val) {
281
         var names = []
278
         var names = []
282
         for (let i = 0; i < val.contagions.length; i++) {
279
         for (let i = 0; i < val.contagions.length; i++) {
286
       }, GetName: function(id) {
283
       }, GetName: function(id) {
287
         for (let i = 0; i < this.contagions.length; i++) {
284
         for (let i = 0; i < this.contagions.length; i++) {
288
           if (this.contagions[i].id == id) {
285
           if (this.contagions[i].id == id) {
289
-
290
             return this.contagions[i].name
286
             return this.contagions[i].name
291
           }
287
           }
292
         }
288
         }
293
       }, createData: function(formName) {
289
       }, createData: function(formName) {
294
         this.$refs[formName].validate(valid => {
290
         this.$refs[formName].validate(valid => {
295
           if (valid) {
291
           if (valid) {
296
-            let params = {
292
+            const params = {
297
               id: this.patient_id,
293
               id: this.patient_id,
298
               his_user_id: this.form.his_user_id
294
               his_user_id: this.form.his_user_id
299
 
295
 
305
                 this.$message.success('创建成功')
301
                 this.$message.success('创建成功')
306
                 this.patientData[this.current_index].his_patient.his_user_id = response.data.data.patient.his_user_id
302
                 this.patientData[this.current_index].his_patient.his_user_id = response.data.data.patient.his_user_id
307
                 this.patientData[this.current_index].his_patient.id = response.data.data.patient.id
303
                 this.patientData[this.current_index].his_patient.id = response.data.data.patient.id
308
-
309
               } else {
304
               } else {
310
                 this.$message.error(response.data.msg)
305
                 this.$message.error(response.data.msg)
311
               }
306
               }
312
             })
307
             })
313
           }
308
           }
314
         })
309
         })
315
-
316
       }, modifyData: function(formName) {
310
       }, modifyData: function(formName) {
317
         this.$refs[formName].validate(valid => {
311
         this.$refs[formName].validate(valid => {
318
           if (valid) {
312
           if (valid) {
319
-            let params = {
313
+            const params = {
320
               id: this.his_record_id,
314
               id: this.his_record_id,
321
               his_user_id: this.form.his_user_id
315
               his_user_id: this.form.his_user_id
322
             }
316
             }
331
               }
325
               }
332
             })
326
             })
333
           }
327
           }
334
-
335
         })
328
         })
336
       }
329
       }
337
 
330
 

+ 162 - 0
src/xt_pages/integration/his/syncList.vue Parādīt failu

1
+<template>
2
+  <div>
3
+    <el-row :gutter="12" style="margin-top: 10px">
4
+      <el-table :data="patientData"  border :row-style="{ color: '#303133' }" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)', color: '#606266' }" >
5
+        <el-table-column label="同步时间" align="center" width="200">
6
+          <template slot-scope="scope">{{getTime( scope.row.sync_time ,'{y}-{m}-{d} {h}:{i}:{s}')}}</template>
7
+        </el-table-column>
8
+
9
+        <el-table-column label="同步结果" align="center">
10
+          <template slot-scope="scope">
11
+            <span v-if="scope.row.sync_result_type == 1">成功</span>
12
+            <span v-if="scope.row.sync_result_type == 2">失败</span>
13
+          </template>
14
+        </el-table-column>
15
+
16
+        <el-table-column label="同步信息" align="center">
17
+          <template slot-scope="scope">{{scope.row.sync_result_remark }}</template>
18
+        </el-table-column>
19
+
20
+        <el-table-column label="同步条数" align="center">
21
+          <template slot-scope="scope">{{scope.row.sync_total_num }}</template>
22
+        </el-table-column>
23
+
24
+        <el-table-column label="上传条数" align="center">
25
+            <template slot-scope="scope">{{scope.row.sync_success_num }}</template>
26
+        </el-table-column>
27
+      </el-table>
28
+
29
+      <el-pagination
30
+        @size-change="handleSizeChange"
31
+        @current-change="handleCurrentChange"
32
+        :page-sizes="[10, 50, 100]"
33
+        :page-size="10"
34
+        background
35
+        style="margin-top:20px;float: right"
36
+        layout="total, sizes, prev, pager, next, jumper"
37
+        :total="total"
38
+      ></el-pagination>
39
+    </el-row>
40
+  </div>
41
+</template>
42
+
43
+<script>
44
+import { getsynclist } from '@/api/integration'
45
+import { uParseTime } from '@/utils/tools'
46
+
47
+export default {
48
+  name: 'patientHisConfig',
49
+
50
+  created() {
51
+    this.getsynclist()
52
+  },
53
+  data() {
54
+    return {
55
+      dialogFormVisible: false,
56
+      page: 1,
57
+      limit: 10,
58
+      total: 0,
59
+      pageTotal: 0,
60
+      pageSelect: 0,
61
+      adminUserOptions: [],
62
+      patientData: [],
63
+      contagions: [],
64
+      patient_id: 0,
65
+      his_record_id: 0,
66
+      his_id: '',
67
+      current_index: 0,
68
+      name: '',
69
+
70
+      form: {
71
+        his_user_id: '',
72
+        name: '',
73
+        sex: '',
74
+        other_age: '',
75
+        infectious: ''
76
+      },
77
+      rules: {
78
+        his_user_id: [
79
+          { required: true, message: '请输入his_id', trigger: 'blur' }
80
+        ]
81
+      }
82
+    }
83
+  },
84
+  methods: {
85
+    getsynclist: function() {
86
+      const Params = {
87
+        page: this.page,
88
+        limit: this.limit
89
+      }
90
+      getsynclist(Params).then(response => {
91
+        if (response.data.state == 0) {
92
+          this.$message.error(response.data.msg)
93
+          return false
94
+        } else {
95
+          this.total = response.data.data.total
96
+          this.patientData = response.data.data.list
97
+        }
98
+      })
99
+    },
100
+    handleSizeChange(val) {
101
+      this.limit = val
102
+      this.getsynclist()
103
+    },
104
+    handleCurrentChange(val) {
105
+      this.page = val
106
+      this.getsynclist()
107
+    },
108
+    getTime(value, temp) {
109
+      if (value != undefined) {
110
+        return uParseTime(value, temp)
111
+      }
112
+      return ''
113
+    }
114
+
115
+  }
116
+}
117
+</script>
118
+
119
+<style rel="stylesheet/css" lang="scss" scoped>
120
+.information {
121
+  border: 1px #dcdfe6 solid;
122
+  padding: 30px 20px 30px 20px;
123
+
124
+  .border {
125
+    border-bottom: 1px #dcdfe6 solid;
126
+    margin: 0px 0 20px 0;
127
+  }
128
+}
129
+
130
+.edit_separater {
131
+  border-top: 1px solid rgb(233, 233, 233);
132
+  margin-top: 15px;
133
+  margin-bottom: 15px;
134
+}
135
+</style>
136
+
137
+<style>
138
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
139
+  font-size: 12px;
140
+}
141
+
142
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
143
+  background: #6fb5fa;
144
+}
145
+
146
+.count {
147
+  color: #bd2c00;
148
+}
149
+
150
+.el-table td,
151
+.el-table th.is-leaf,
152
+.el-table--border,
153
+.el-table--group {
154
+  border-color: #d0d3da;
155
+}
156
+
157
+.el-table--border::after,
158
+.el-table--group::after,
159
+.el-table::before {
160
+  background-color: #d0d3da;
161
+}
162
+</style>

+ 15 - 1
src/xt_pages/integration/his_config.vue Parādīt failu

12
           <el-tab-pane label="医护配置">
12
           <el-tab-pane label="医护配置">
13
             <admin-his-config></admin-his-config>
13
             <admin-his-config></admin-his-config>
14
           </el-tab-pane>
14
           </el-tab-pane>
15
+          <el-tab-pane label="接口配置">
16
+            <interface-config></interface-config>
17
+          </el-tab-pane>
18
+          <el-tab-pane label="同步列表">
19
+            <sync-list></sync-list>
20
+          </el-tab-pane>
21
+          <!-- <el-tab-pane label="字段配置">
22
+            <field-config></field-config>
23
+          </el-tab-pane> -->
15
         </el-tabs>
24
         </el-tabs>
16
       </div>
25
       </div>
17
     </div>
26
     </div>
19
 </template>
28
 </template>
20
 
29
 
21
 <script>
30
 <script>
22
-
23
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
31
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
24
   import PatientHisConfig from './his/patientHisConfig'
32
   import PatientHisConfig from './his/patientHisConfig'
25
   import AdminHisConfig from './his/adminHisConfig'
33
   import AdminHisConfig from './his/adminHisConfig'
34
+  import InterfaceConfig from './his/interfaceConfig'
35
+  import SyncList from './his/syncList'
36
+  import FieldConfig from './his/fieldConfig'
26
 
37
 
27
   export default {
38
   export default {
28
     name: 'his_config',
39
     name: 'his_config',
29
     components: {
40
     components: {
30
       AdminHisConfig,
41
       AdminHisConfig,
31
       PatientHisConfig,
42
       PatientHisConfig,
43
+      InterfaceConfig,
44
+      SyncList,
45
+      FieldConfig,
32
       BreadCrumb
46
       BreadCrumb
33
     },
47
     },
34
     data() {
48
     data() {

+ 60 - 0
src/xt_pages/integration/lis_config.vue Parādīt failu

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
+      <div class="service-box">
8
+        <el-tabs v-model="activeName">
9
+          <el-tab-pane label="接口配置" name="first">
10
+            <interface-config></interface-config>
11
+          </el-tab-pane>
12
+          <el-tab-pane label="同步列表">
13
+            <sync-list></sync-list>
14
+          </el-tab-pane>
15
+          <el-tab-pane label="字段配置">
16
+            <field-config></field-config>
17
+          </el-tab-pane>
18
+        </el-tabs>
19
+      </div>
20
+    </div>
21
+  </div>
22
+</template>
23
+
24
+<script>
25
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
26
+  import InterfaceConfig from './his/interfaceConfig'
27
+  import SyncList from './his/syncList'
28
+  import FieldConfig from './his/fieldConfig'
29
+
30
+  export default {
31
+    name: 'his_config',
32
+    components: {
33
+      InterfaceConfig,
34
+      SyncList,
35
+      FieldConfig,
36
+      BreadCrumb
37
+    },
38
+    data() {
39
+      return {
40
+        crumbs: [
41
+          { path: false, name: '集成配置' },
42
+          { path: '/integration/his', name: 'HIS集成配置' }
43
+        ],
44
+        activeName: 'first'
45
+
46
+      }
47
+    },
48
+    methods: {
49
+      handleClick(tab, event) {
50
+        console.log(tab, event, this.activeName)
51
+      }
52
+    }
53
+  }
54
+</script>
55
+
56
+
57
+
58
+
59
+
60
+

+ 60 - 0
src/xt_pages/integration/sis_config.vue Parādīt failu

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
+      <div class="service-box">
8
+        <el-tabs v-model="activeName">
9
+          <el-tab-pane label="接口配置" name="first">
10
+            <interface-config></interface-config>
11
+          </el-tab-pane>
12
+          <el-tab-pane label="同步列表">
13
+            <sync-list></sync-list>
14
+          </el-tab-pane>
15
+          <!-- <el-tab-pane label="字段配置">
16
+            <field-config></field-config>
17
+          </el-tab-pane> -->
18
+        </el-tabs>
19
+      </div>
20
+    </div>
21
+  </div>
22
+</template>
23
+
24
+<script>
25
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
26
+  import InterfaceConfig from './his/interfaceConfig'
27
+  import SyncList from './his/syncList'
28
+  import FieldConfig from './his/fieldConfig'
29
+
30
+  export default {
31
+    name: 'his_config',
32
+    components: {
33
+      InterfaceConfig,
34
+      SyncList,
35
+      FieldConfig,
36
+      BreadCrumb
37
+    },
38
+    data() {
39
+      return {
40
+        crumbs: [
41
+          { path: false, name: '集成配置' },
42
+          { path: '/integration/his', name: 'HIS集成配置' }
43
+        ],
44
+        activeName: 'first'
45
+
46
+      }
47
+    },
48
+    methods: {
49
+      handleClick(tab, event) {
50
+        console.log(tab, event, this.activeName)
51
+      }
52
+    }
53
+  }
54
+</script>
55
+
56
+
57
+
58
+
59
+
60
+