Ver código fonte

Merge branch 'superman' of http://git.shengws.com/zhangbj/xt_vue into superman

柳香萍 6 anos atrás
pai
commit
865406f7da

+ 7 - 1
config/dev.env.js Ver arquivo

@@ -6,5 +6,11 @@
6 6
 module.exports = {
7 7
   NODE_ENV: '"development"',
8 8
   ENV_CONFIG: '"dev"',
9
-  BASE_API: '"http://112.74.16.180:9527"',//'"http://localhost:9529"', // //http://api.xt.test.sgjyun.com http://112.74.16.180:9527
9
+  BASE_API: '"http://api.xt.test.sgjyun.com"',//'"http://localhost:9529"', // //http://api.xt.test.sgjyun.com http://112.74.16.180:9527
10
+
11
+  SSO_HOST: '"http://testsso.sgjyun.com"',
12
+  SRCM_HOST: '"http://test1.sgjyun.com"',
13
+  XT_HOST: '"http://xt.test.sgjyun.com"',
14
+  MIRCO_MALL_HOST: '"http://mall.sgjyun.com"',
15
+  CDM_HOST: '"http://cdm.sgjyun.com"',
10 16
 }

+ 7 - 1
config/prod.env.js Ver arquivo

@@ -1,5 +1,11 @@
1 1
 module.exports = {
2 2
   NODE_ENV: '"production"',
3 3
   ENV_CONFIG: '"prod"',
4
-  BASE_API: '"http://api.xt.kuyicloud.com"'
4
+  BASE_API: '"http://api.xt.kuyicloud.com"',
5
+
6
+  SSO_HOST: '"http://sso.kuyicloud.com"',
7
+  SRCM_HOST: '"http://jk.kuyicloud.com"',
8
+  XT_HOST: '"http://xt.kuyicloud.com"',
9
+  MIRCO_MALL_HOST: '"http://mall.kuyicloud.com"',
10
+  CDM_HOST: '"http://cdm.kuyicloud.com"',
5 11
 }

+ 7 - 1
config/sit.env.js Ver arquivo

@@ -1,5 +1,11 @@
1 1
 module.exports = {
2 2
   NODE_ENV: '"production"',
3 3
   ENV_CONFIG: '"sit"',
4
-  BASE_API: '"http://api.xt.test.sgjyun.com"'
4
+  BASE_API: '"http://api.xt.test.sgjyun.com"',
5
+
6
+  SSO_HOST: '"http://testsso.sgjyun.com"',
7
+  SRCM_HOST: '"http://test1.sgjyun.com"',
8
+  XT_HOST: '"http://xt.test.sgjyun.com"',
9
+  MIRCO_MALL_HOST: '"http://mall.sgjyun.com"',
10
+  CDM_HOST: '"http://cdm.sgjyun.com"',
5 11
 }

+ 2 - 1
package-lock.json Ver arquivo

@@ -6538,7 +6538,8 @@
6538 6538
     },
6539 6539
     "js-yaml": {
6540 6540
       "version": "3.7.0",
6541
-      "resolved": "",
6541
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
6542
+      "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
6542 6543
       "dev": true,
6543 6544
       "requires": {
6544 6545
         "argparse": "^1.0.7",

Diferenças do arquivo suprimidas por serem muito extensas
+ 83 - 930
src/router/index.js


+ 962 - 0
src/router/index_路由未分离前.js Ver arquivo

@@ -0,0 +1,962 @@
1
+import Vue from 'vue'
2
+import Router from 'vue-router'
3
+
4
+Vue.use(Router)
5
+
6
+/* Layout */
7
+import Layout from '@/views/layout/Layout'
8
+
9
+/** note: submenu only apppear when children.length>=1
10
+*   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
11
+**/
12
+
13
+/**
14
+* hidden: true                   if `hidden:true` will not show in the sidebar(default is false)
15
+* alwaysShow: true               if set true, will always show the root menu, whatever its child routes length
16
+*                                if not set alwaysShow, only more than one route under the children
17
+*                                it will becomes nested mode, otherwise not show the root menu
18
+* redirect: noredirect           if `redirect:noredirect` will no redirct in the breadcrumb
19
+* name:'router-name'             the name is used by <keep-alive> (must set!!!)
20
+* meta : {
21
+    roles: ['admin','editor']     will control the page roles (you can set multiple roles)
22
+    title: 'title'               the name show in submenu and breadcrumb (recommend set)
23
+    icon: 'svg-name'             the icon show in the sidebar,
24
+    noCache: true                if true ,the page will no be cached(default is false)
25
+  }
26
+**/
27
+export const xt_constantRouterMap = [
28
+  // { path: '/login', component: () => import('@/views/login/index'), hidden: true },
29
+  { path: '/token/verify', component: () => import('@/xt_pages/index/verify_token'), hidden: true },
30
+  { path: '/404', component: () => import('@/views/errorPage/404'), hidden: true },
31
+  { path: '/401', component: () => import('@/views/errorPage/401'), hidden: true },
32
+  {
33
+    path: '',
34
+    component: Layout,
35
+    redirect: '/home',
36
+    children: [{
37
+      path: '/home',
38
+      component: () => import('@/xt_pages/home/index'),
39
+      name: 'home',
40
+      meta: { title: 'home', icon: 'dashboard', noCache: true }
41
+    }]
42
+  },
43
+  {
44
+    path: '/service',
45
+    component: Layout,
46
+    // redirect: '/service',
47
+    hidden: true,
48
+    is_menu: false,
49
+
50
+    meta: { title: 'service', icon: 'shebei' },
51
+    children: [{
52
+      path: '/service',
53
+      component: () => import('@/xt_pages/service/index'),
54
+      hidden: true,
55
+      is_menu: false,
56
+      name: 'service',
57
+      meta: { title: 'service', icon: 'shebei', noCache: true }
58
+    }, {
59
+      path: '/service/invoice',
60
+      component: () => import('@/xt_pages/service/invoice'),
61
+      hidden: true,
62
+      is_menu: false,
63
+      name: 'invoice',
64
+      meta: { title: 'invoice', icon: 'shebei', noCache: true }
65
+    }, {
66
+      path: '/service/invoice/apply',
67
+      component: () => import('@/xt_pages/service/invoiceApply'),
68
+      hidden: true,
69
+      is_menu: false,
70
+      name: 'invoiceApply',
71
+      meta: { title: 'invoiceApply', icon: 'shebei', noCache: true }
72
+    },
73
+    {
74
+      path: '/servicePay',
75
+      component: () => import('@/xt_pages/service/servicePay'),
76
+      hidden: true,
77
+      name: 'servicePay',
78
+      meta: { title: 'servicePay' }
79
+    },
80
+    {
81
+      path: '/payType',
82
+      component: () => import('@/xt_pages/service/payType'),
83
+      hidden: true,
84
+      name: 'payType',
85
+      meta: { title: 'payType' }
86
+    },
87
+    {
88
+      path: '/weChatPay',
89
+      component: () => import('@/xt_pages/service/weChatPay'),
90
+      hidden: true,
91
+      name: 'weChatPay',
92
+      meta: { title: 'weChatPay' }
93
+    },
94
+    {
95
+      path: '/service/completeOrder',
96
+      component: () => import('@/xt_pages/service/completeOrder'),
97
+      hidden: true,
98
+      name: 'completeOrder',
99
+      meta: { title: 'completeOrder' }
100
+    }, {
101
+      path: '/service/buy',
102
+      component: () => import('@/xt_pages/service/serviceOrder'),
103
+      hidden: true,
104
+      is_menu: false,
105
+      name: 'serviceOrder',
106
+      meta: { title: 'serviceOrder', icon: 'shebei', noCache: true }
107
+    }, {
108
+      path: '/order',
109
+      component: () => import('@/xt_pages/service/orderRecord'),
110
+      hidden: true,
111
+      is_menu: false,
112
+      name: 'orderRecord',
113
+      meta: { title: 'orderRecord', icon: 'shebei', noCache: true }
114
+    }, {
115
+      path: '/service/recordList',
116
+      component: () => import('@/xt_pages/service/serviceRecord'),
117
+      hidden: true,
118
+      is_menu: false,
119
+      name: 'recordList',
120
+      meta: { title: 'recordList', icon: 'shebei', noCache: true }
121
+    }
122
+    ]
123
+  },
124
+
125
+  // ////////////////////////////
126
+  // 本地开始
127
+  // ///////////////////////////
128
+  {
129
+    path: '/patients',
130
+    component: Layout,
131
+    redirect: 'noredirect',
132
+    name: 'User',
133
+    meta: {
134
+      title: 'user',
135
+      icon: 'bingren'
136
+    },
137
+    children: [
138
+      {
139
+        path: '/patients/patients',
140
+        component: () => import('@/xt_pages/user/patients'),
141
+        name: 'Patient',
142
+        meta: { title: 'patient', noCache: true }
143
+      },
144
+      {
145
+        path: '/patients/create',
146
+        component: () => import('@/xt_pages/user/createPatient'),
147
+        name: 'createPatient',
148
+        meta: { title: 'createPatient', noCache: true }
149
+      },
150
+      {
151
+        path: '/patients/patient/:id',
152
+        component: () => import('@/xt_pages/user/patientInfo'),
153
+        hidden: true,
154
+        is_menu: false,
155
+        name: 'patient Page',
156
+        meta: { title: 'patientPage', noCache: true }
157
+      },
158
+      {
159
+        path: '/patients/patient/:id/edit',
160
+        component: () => import('@/xt_pages/user/editPatient'),
161
+        hidden: true,
162
+        is_menu: false,
163
+        name: 'Edit Patient',
164
+        meta: { title: 'editPatient', noCache: true }
165
+      },
166
+      {
167
+        path: '/patients/patient/:id/dialysisSolution',
168
+        component: () => import('@/xt_pages/user/dialysisSolution'),
169
+        hidden: true,
170
+        is_menu: false,
171
+        name: 'dialysisSolution',
172
+        meta: { title: 'dialysisSolution', noCache: true }
173
+      },
174
+      {
175
+        path: '/patients/patient/:id/weight',
176
+        component: () => import('@/xt_pages/user/weight'),
177
+        hidden: true,
178
+        is_menu: false,
179
+        name: 'weight',
180
+        meta: { title: 'weight', noCache: true }
181
+      },
182
+      {
183
+        path: '/patients/patient/:id/dialysisRecord',
184
+        component: () => import('@/xt_pages/user/dialysisRecord'),
185
+        hidden: true,
186
+        is_menu: false,
187
+        name: 'dialysisRecord',
188
+        meta: { title: 'dialysisRecord', noCache: true }
189
+      },
190
+      {
191
+        path: '/patients/patient/:id/scheduling',
192
+        component: () => import('@/xt_pages/user/scheduling'),
193
+        hidden: true,
194
+        is_menu: false,
195
+        name: 'scheduling',
196
+        meta: { title: 'scheduling', noCache: true }
197
+      },
198
+      {
199
+        path: '/patients/patient/:id/doctorAdvice',
200
+        component: () => import('@/xt_pages/user/doctorAdvice'),
201
+        hidden: true,
202
+        is_menu: false,
203
+        name: 'doctorAdvice',
204
+        meta: { title: 'doctorAdvice', noCache: true }
205
+      },
206
+      {
207
+        path: '/patients/inspection',
208
+        component: () => import('@/xt_pages/user/inspection'),
209
+        hidden: true,
210
+        is_menu: false,
211
+        name: 'Inspection',
212
+        meta: { title: 'inspection', noCache: true }
213
+      },
214
+      {
215
+        path: '/patients/course',
216
+        component: () => import('@/xt_pages/user/courseOfDisease'),
217
+        hidden: true,
218
+        is_menu: false,
219
+        name: 'CourseOfDiseaseManage',
220
+        meta: { title: 'CourseOfDiseaseManage', noCache: true }
221
+      },
222
+      {
223
+        path: '/patients/rescue',
224
+        component: () => import('@/xt_pages/user/rescueRecord'),
225
+        hidden: true,
226
+        is_menu: false,
227
+        name: 'RescueRecord',
228
+        meta: { title: 'RescueRecord', noCache: true }
229
+      },
230
+      {
231
+        path: '/patients/patient/:id/proeducation',
232
+        component: () => import('@/xt_pages/user/proeducation'),
233
+        hidden: true,
234
+        is_menu: false,
235
+        name: 'proeducation',
236
+        meta: { title: 'proeducation', noCache: true }
237
+      }
238
+    ]
239
+  },
240
+  {
241
+    path: '/workforce',
242
+    component: Layout,
243
+    redirect: 'noredirect',
244
+    name: 'workforce',
245
+    meta: {
246
+      title: 'workforce',
247
+      icon: 'paiban'
248
+    },
249
+    children: [
250
+      {
251
+        path: '/workforce/appointment',
252
+        component: () => import('@/xt_pages/workforce/appointment'),
253
+        name: 'appointment',
254
+        meta: { title: 'appointment', noCache: true }
255
+      },
256
+      {
257
+        path: '/workforce/sign',
258
+        component: () => import('@/xt_pages/workforce/sign'),
259
+        hidden: true,
260
+        is_menu: false,
261
+        name: 'workforcesign',
262
+        meta: { title: 'sign', noCache: true }
263
+      },
264
+      {
265
+        path: '/workforce/remind',
266
+        component: () => import('@/xt_pages/workforce/remind'),
267
+        name: 'remind',
268
+        meta: { title: 'remind', noCache: true }
269
+      },
270
+      {
271
+        path: '/workforce/template',
272
+        component: () => import('@/xt_pages/workforce/template'),
273
+        name: 'workforce_template',
274
+        hidden: true,
275
+        is_menu: false,
276
+        meta: { title: 'workforce_template', noCache: true }
277
+      },
278
+      {
279
+        path: '/workforce/schedule/print',
280
+        component: () => import('@/xt_pages/workforce/schedule_print'),
281
+        name: 'schedule_print',
282
+        hidden: true,
283
+        is_menu: false,
284
+        meta: { title: 'schedule_print', noCache: true }
285
+      }
286
+    ]
287
+  },
288
+  {
289
+    path: '/sign',
290
+    component: Layout,
291
+    redirct: '/sign/index',
292
+    children: [{
293
+      path: '/sign',
294
+      component: () => import('@/xt_pages/sign/index'),
295
+      name: 'sign',
296
+      meta: { title: 'signWeight', icon: 'sign', noCache: true }
297
+    }]
298
+  },
299
+  {
300
+    path: '/dialysis/',
301
+    component: Layout,
302
+    redirect: 'noredirect',
303
+    name: 'dialysis',
304
+    meta: {
305
+      title: 'dialysis',
306
+      icon: 'touxi'
307
+    },
308
+    children: [
309
+      { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
310
+      {
311
+        path: '/dialysis/record/:id',
312
+        component: () => import('@/xt_pages/dialysis/dialysisPage'),
313
+        hidden: true,
314
+        is_menu: false,
315
+        name: 'paper',
316
+        meta: { title: 'paper', noCache: true }
317
+      },
318
+      {
319
+        path: '/dialysis/print',
320
+        component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
321
+        hidden: true,
322
+        is_menu: false,
323
+        name: 'dialysisPrintOrder',
324
+        meta: { title: 'dialysisPrintOrder', noCache: true }
325
+      },
326
+
327
+      // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
328
+      // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
329
+      { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
330
+      { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }, hidden: true, is_menu: false },
331
+      {
332
+        path: '/dialysis/print/batch',
333
+        component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
334
+        hidden: true,
335
+        is_menu: false,
336
+        name: 'dialysis_batch_print',
337
+        meta: { title: '批量打印', noCache: true }
338
+      },
339
+      { path: '/dialysis/board', component: () => import('@/xt_pages/dialysis/bulletinBoard'), name: '数据看板', meta: { title: '数据看板' }}
340
+    ]
341
+  },
342
+  {
343
+    path: '/stock/',
344
+    component: Layout,
345
+    redirect: 'noredirect',
346
+    name: 'stockManage',
347
+    meta: { title: 'stockManage', icon: 'stock' },
348
+    children: [
349
+      {
350
+        path: '/stock/config',
351
+        component: () => import('@/xt_pages/stock/index'),
352
+        name: 'config',
353
+        meta: { title: 'config' }
354
+      },
355
+      {
356
+        path: '/stock/in',
357
+        component: () => import('@/xt_pages/stock/stockInOrder'),
358
+        name: 'stockInOrder',
359
+        meta: { title: 'stockInOrder', noCache: true }
360
+      }, {
361
+        path: '/stock/in/other',
362
+        component: () => import('@/xt_pages/stock/otherStockInOrder'),
363
+        name: 'otherStockInOrder',
364
+        meta: { title: 'otherStockInOrder', noCache: true }
365
+      }, {
366
+        path: '/stock/return',
367
+        component: () => import('@/xt_pages/stock/salesReturnOrder'),
368
+        name: 'salesReturnOrder',
369
+        meta: { title: 'salesReturnOrder', noCache: true }
370
+      }, {
371
+        path: '/stock/return/other',
372
+        component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
373
+        name: 'otherSalesReturnOrder',
374
+        meta: { title: 'otherSalesReturnOrder', noCache: true }
375
+      },
376
+      {
377
+        path: '/stock/out',
378
+        component: () => import('@/xt_pages/stock/stockOutOrder'),
379
+        name: 'stockOutOrder',
380
+        meta: { title: 'stockOutOrder', noCache: true }
381
+      }, {
382
+        path: '/stock/out/other',
383
+        component: () => import('@/xt_pages/stock/otherStockOutOrder'),
384
+        name: 'otherStockOutOrder',
385
+        meta: { title: 'otherStockOutOrder', noCache: true }
386
+      }, {
387
+        path: '/stock/cancel',
388
+        component: () => import('@/xt_pages/stock/cancelStockOrder'),
389
+        name: 'cancelStockOrder',
390
+        meta: { title: 'cancelStockOrder', noCache: true }
391
+      }, {
392
+        path: '/stock/cancel/other',
393
+        component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
394
+        name: 'otherCancelStockOrder',
395
+        meta: { title: 'otherCancelStockOrder', noCache: true }
396
+      }, {
397
+        path: '/stock/query',
398
+        component: () => import('@/xt_pages/stock/stockQuery'),
399
+        name: 'stockQuery',
400
+        meta: { title: 'stockQuery' }
401
+      }, {
402
+        path: '/stock/detail',
403
+        component: () => import('@/xt_pages/stock/stockDetailIndex'),
404
+        name: 'stockDetail',
405
+        meta: { title: 'stockDetail' }
406
+      },
407
+      {
408
+        path: '/stock/in/add',
409
+        component: () => import('@/xt_pages/stock/stockInOrderAdd'),
410
+        name: 'stockInOrderAdd',
411
+        hidden: true,
412
+        is_menu: false,
413
+        meta: { title: 'stockInOrderAdd' }
414
+      }, {
415
+        path: '/stock/in/detail',
416
+        component: () => import('@/xt_pages/stock/stockInDetail'),
417
+        name: 'stockInDetail',
418
+        hidden: true,
419
+        is_menu: false,
420
+        meta: { title: 'stockInDetail' }
421
+      }, {
422
+        path: '/stock/return/detail',
423
+        component: () => import('@/xt_pages/stock/salesReturnDetail'),
424
+        name: 'salesReturnDetail',
425
+        hidden: true,
426
+        is_menu: false,
427
+        meta: { title: 'salesReturnDetail' }
428
+      }, {
429
+        path: '/stock/return/add',
430
+        component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
431
+        name: 'salesReturnOrderAdd',
432
+        hidden: true,
433
+        is_menu: false,
434
+        meta: { title: 'salesReturnOrderAdd' }
435
+      }, {
436
+        path: '/stock/out/add',
437
+        component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
438
+        name: 'stockOutOrderAdd',
439
+        hidden: true,
440
+        is_menu: false,
441
+        meta: { title: 'stockOutOrderAdd' }
442
+      }, {
443
+        path: '/stock/out/detail',
444
+        component: () => import('@/xt_pages/stock/stockOutDetail'),
445
+        name: 'stockOutDetail',
446
+        hidden: true,
447
+        is_menu: false,
448
+        meta: { title: 'stockOutDetail' }
449
+      }, {
450
+        path: '/stock/cancel/add',
451
+        component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
452
+        name: 'cancelStockOrderAdd',
453
+        hidden: true,
454
+        is_menu: false,
455
+        meta: { title: 'cancelStockOrderAdd' }
456
+      }, {
457
+        path: '/stock/cancel/detail',
458
+        component: () => import('@/xt_pages/stock/cancelStockDetail'),
459
+        name: 'cancelStockDetail',
460
+        hidden: true,
461
+        is_menu: false,
462
+        meta: { title: 'cancelStockDetail' }
463
+      }
464
+    ]
465
+  },
466
+
467
+  {
468
+    path: '/qcd',
469
+    component: Layout,
470
+    redirect: '/qcd/dialysistotal',
471
+    name: 'qcd',
472
+    alwaysShow: true,
473
+    meta: { title: '科室质控', icon: 'statistics' },
474
+    children: [
475
+      { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
476
+      { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
477
+      { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
478
+      { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '结果指标' }},
479
+      { path: '/qcd/outcomeIndicators/query', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }},
480
+      { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '患者分析' }},
481
+      { path: '/qcd/patientanalysis/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
482
+      { path: '/qcd/patientanalysis/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
483
+      { path: '/qcd/patientanalysis/dialysisage', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
484
+      { path: '/qcd/patientanalysis/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }},
485
+      { path: '/qcd/patientanalysis/complication', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/complication'), name: 'patientAnalysisComplication', meta: { title: '并发症分析' }},
486
+      { path: '/qcd/patientanalysis/infectiousdiseases', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'), name: 'patientAnalysisInfectiousDiseases', meta: { title: '传染病分析' }},
487
+      { path: '/qcd/pa/person/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'), name: 'paPersonLapseto', meta: { title: '转归' }},
488
+      { path: '/qcd/pa/person/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'), name: 'paPersonWeight', meta: { title: '体重' }},
489
+      { path: '/qcd/pa/person/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'), name: 'paPersonBloodPressure', meta: { title: '血压' }},
490
+      { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }},
491
+      { path: '/qcd/pa/person/oralmedicine', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/oralMedicine'), name: 'paPersonOralMedicine', meta: { title: '口服药' }}
492
+    ]
493
+  },
494
+  {
495
+    path: '/data/',
496
+    component: Layout,
497
+    redirect: 'noredirect',
498
+    name: 'data',
499
+    meta: { title: 'data_dictionary', icon: 'excel' },
500
+    children: [
501
+      { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
502
+      { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
503
+      { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
504
+    ]
505
+  },
506
+  {
507
+    path: '/device',
508
+    component: Layout,
509
+    redirect: '/device/main',
510
+    name: 'device',
511
+    alwaysShow: true,
512
+    meta: { title: 'deviceManage', icon: 'shebei' },
513
+    children: [
514
+      { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
515
+      { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
516
+      { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
517
+      { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
518
+    ]
519
+  },
520
+  {
521
+    path: '/role',
522
+    component: Layout,
523
+    redirect: '/role/admin/manage',
524
+    name: 'role',
525
+    alwaysShow: true,
526
+    meta: { title: 'permissionManage', icon: 'role' },
527
+    children: [
528
+      { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
529
+      { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
530
+      { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
531
+      { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
532
+      { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
533
+      { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
534
+    ]
535
+  },
536
+  {
537
+    path: '/fullscreenboard',
538
+    component: () => import('@/xt_pages/fullscreenboard/index'),
539
+    hidden: true
540
+  }
541
+  // /////////////本地要end/
542
+]
543
+
544
+export default new Router({
545
+  // mode: 'history', // require service support
546
+  scrollBehavior: () => ({ y: 0 }),
547
+  routes: xt_constantRouterMap
548
+})
549
+
550
+export const xt_asyncRouterMap = [
551
+// //////////////////////////////////线在开始
552
+  // {
553
+  //   path: '/patients',
554
+  //   component: Layout,
555
+  //   redirect: 'noredirect',
556
+  //   name: 'User',
557
+  //   alwaysShow: true,
558
+  //   meta: {
559
+  //     title: 'user',
560
+  //     icon: 'bingren'
561
+  //   },
562
+  //   children: [
563
+  //     {
564
+  //       path: '/patients/patients',
565
+  //       component: () => import('@/xt_pages/user/patients'),
566
+  //       name: 'Patient',
567
+  //       meta: { title: 'patient', noCache: true }
568
+  //     },
569
+  //     {
570
+  //       path: '/patients/create',
571
+  //       component: () => import('@/xt_pages/user/createPatient'),
572
+  //       name: 'createPatient',
573
+  //       meta: { title: 'createPatient', noCache: true }
574
+  //     },
575
+  //     {
576
+  //       path: '/patients/patient/:id',
577
+  //       component: () => import('@/xt_pages/user/patientInfo'),
578
+  //       hidden: true,
579
+  //       is_menu: false,
580
+  //       name: 'patient Page',
581
+  //       meta: { title: 'patientPage', noCache: true }
582
+  //     },
583
+  //     {
584
+  //       path: '/patients/patient/:id/edit',
585
+  //       component: () => import('@/xt_pages/user/editPatient'),
586
+  //       hidden: true,
587
+  //       is_menu: false,
588
+  //       name: 'Edit Patient',
589
+  //       meta: { title: 'editPatient', noCache: true }
590
+  //     },
591
+  //     {
592
+  //       path: '/patients/patient/:id/dialysisSolution',
593
+  //       component: () => import('@/xt_pages/user/dialysisSolution'),
594
+  //       hidden: true,
595
+  //       is_menu: false,
596
+  //       name: 'dialysisSolution',
597
+  //       meta: { title: 'dialysisSolution', noCache: true }
598
+  //     },
599
+  //     {
600
+  //       path: '/patients/patient/:id/weight',
601
+  //       component: () => import('@/xt_pages/user/weight'),
602
+  //       hidden: true,
603
+  //       is_menu: false,
604
+  //       name: 'weight',
605
+  //       meta: { title: 'weight', noCache: true }
606
+  //     },
607
+  //     {
608
+  //       path: '/patients/patient/:id/dialysisRecord',
609
+  //       component: () => import('@/xt_pages/user/dialysisRecord'),
610
+  //       hidden: true,
611
+  //       is_menu: false,
612
+  //       name: 'dialysisRecord',
613
+  //       meta: { title: 'dialysisRecord', noCache: true }
614
+  //     },
615
+  //     {
616
+  //       path: '/patients/patient/:id/scheduling',
617
+  //       component: () => import('@/xt_pages/user/scheduling'),
618
+  //       hidden: true,
619
+  //       is_menu: false,
620
+  //       name: 'scheduling',
621
+  //       meta: { title: 'scheduling', noCache: true }
622
+  //     },
623
+  //     {
624
+  //       path: '/patients/patient/:id/doctorAdvice',
625
+  //       component: () => import('@/xt_pages/user/doctorAdvice'),
626
+  //       hidden: true,
627
+  //       is_menu: false,
628
+  //       name: 'doctorAdvice',
629
+  //       meta: { title: 'doctorAdvice', noCache: true }
630
+  //     },
631
+  //     {
632
+  //       path: '/patients/inspection',
633
+  //       component: () => import('@/xt_pages/user/inspection'),
634
+  //       hidden: true,
635
+  //       is_menu: false,
636
+  //       name: 'Inspection',
637
+  //       meta: { title: 'inspection', noCache: true }
638
+  //     },
639
+  //     {
640
+  //       path: '/patients/course',
641
+  //       component: () => import('@/xt_pages/user/courseOfDisease'),
642
+  //       hidden: true,
643
+  //       is_menu: false,
644
+  //       name: 'CourseOfDiseaseManage',
645
+  //       meta: { title: 'CourseOfDiseaseManage', noCache: true }
646
+  //     },
647
+  //     {
648
+  //       path: '/patients/rescue',
649
+  //       component: () => import('@/xt_pages/user/rescueRecord'),
650
+  //       hidden: true,
651
+  //       is_menu: false,
652
+  //       name: 'RescueRecord',
653
+  //       meta: { title: 'RescueRecord', noCache: true }
654
+  //     },
655
+  //     {
656
+  //       path: '/patients/patient/:id/proeducation',
657
+  //       component: () => import('@/xt_pages/user/proeducation'),
658
+  //       hidden: true,
659
+  //       is_menu: false,
660
+  //       name: 'proeducation',
661
+  //       meta: { title: 'proeducation', noCache: true }
662
+  //     }
663
+  //   ]
664
+  // },
665
+  // {
666
+  //   path: '/workforce',
667
+  //   component: Layout,
668
+  //   redirect: 'noredirect',
669
+  //   name: 'workforce',
670
+  //   alwaysShow: true,
671
+  //   meta: {
672
+  //     title: 'workforce',
673
+  //     icon: 'paiban'
674
+  //   },
675
+  //   children: [
676
+  //     {
677
+  //       path: '/workforce/appointment',
678
+  //       component: () => import('@/xt_pages/workforce/appointment'),
679
+  //       name: 'appointment',
680
+  //       meta: { title: 'appointment', noCache: true }
681
+  //     },
682
+  //     {
683
+  //       path: '/workforce/sign',
684
+  //       component: () => import('@/xt_pages/workforce/sign'),
685
+  //       hidden: true,
686
+  //       is_menu: false,
687
+  //       name: 'workforcesign',
688
+  //       meta: { title: 'sign', noCache: true }
689
+  //     },
690
+  //     {
691
+  //       path: '/workforce/remind',
692
+  //       component: () => import('@/xt_pages/workforce/remind'),
693
+  //       name: 'remind',
694
+  //       meta: { title: 'remind', noCache: true }
695
+  //     },
696
+  //     {
697
+  //       path: "/workforce/template",
698
+  //       component: () => import("@/xt_pages/workforce/template"),
699
+  //       name: "workforce_template",
700
+  //       hidden: true,
701
+  //       is_menu: false,
702
+  //       meta: { title: 'workforce_template', noCache: true }
703
+  //     },
704
+  //     {
705
+  //       path: "/workforce/schedule/print",
706
+  //       component: () => import("@/xt_pages/workforce/schedule_print"),
707
+  //       name: "schedule_print",
708
+  //       hidden: true,
709
+  //       is_menu: false,
710
+  //       meta: { title: 'schedule_print', noCache: true }
711
+  //     },
712
+  //   ]
713
+  // },
714
+  // {
715
+  //   path: '/sign',
716
+  //   component: Layout,
717
+  //   redirct: '/sign/index',
718
+  //   children: [{
719
+  //     path: '/sign',
720
+  //     component: () => import('@/xt_pages/sign/index'),
721
+  //     name: 'sign',
722
+  //     meta: { title: 'signWeight', icon: 'sign', noCache: true }
723
+  //   }]
724
+  // },
725
+  // {
726
+  //   path: '/dialysis/',
727
+  //   component: Layout,
728
+  //   redirect: 'noredirect',
729
+  //   name: 'dialysis',
730
+  //   alwaysShow: true,
731
+  //   meta: {
732
+  //     title: 'dialysis',
733
+  //     icon: 'touxi'
734
+  //   },
735
+  //   children: [
736
+  //     { path: '/dialysis/dialysisrecord', component: () => import('@/xt_pages/dialysis/schedualPatient'), name: '透析记录', meta: { title: '透析记录' }},
737
+  //     {
738
+  //       path: '/dialysis/record/:id',
739
+  //       component: () => import('@/xt_pages/dialysis/dialysisPage'),
740
+  //       hidden: true,
741
+  //       is_menu: false,
742
+  //       name: 'paper',
743
+  //       meta: { title: 'paper', noCache: true }
744
+  //     },
745
+  //     {
746
+  //       path: '/dialysis/print',
747
+  //       component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
748
+  //       hidden: true,
749
+  //       is_menu: false,
750
+  //       name: 'dialysisPrintOrder',
751
+  //       meta: { title: 'dialysisPrintOrder', noCache: true }
752
+  //     },
753
+
754
+  //     // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
755
+  //     // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
756
+  //     { path: '/dialysis/watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }},
757
+  //     { path: '/dialysis/details', component: () => import('@/xt_pages/dialysis/details'), name: 'details', meta: { title: 'details' }, is_menu: false,},
758
+  //     {
759
+  //       path: '/dialysis/print/batch',
760
+  //       component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
761
+  //       hidden: true,
762
+  //       is_menu: false,
763
+  //       name: 'dialysis_batch_print',
764
+  //       meta: { title: '批量打印', noCache: true }
765
+  //     },
766
+  //     { path: '/dialysis/board', component: () => import('@/xt_pages/dialysis/bulletinBoard'), name: '数据看板', meta: { title: '数据看板' }},
767
+  //   ]
768
+  // },
769
+  // {
770
+  //   path: '/stock/',
771
+  //   component: Layout,
772
+  //   redirect: 'noredirect',
773
+  //   name: 'stockManage',
774
+  //   meta: { title: 'stockManage', icon: 'stock' },
775
+  //   children: [
776
+  //     {
777
+  //       path: '/stock/in',
778
+  //       component: () => import('@/xt_pages/stock/stockInOrder'),
779
+  //       name: 'stockInOrder',
780
+  //       meta: { title: 'stockInOrder', noCache: true }
781
+  //     }, {
782
+  //       path: '/stock/in/other',
783
+  //       component: () => import('@/xt_pages/stock/otherStockInOrder'),
784
+  //       name: 'otherStockInOrder',
785
+  //       meta: { title: 'otherStockInOrder', noCache: true }
786
+  //     }, {
787
+  //       path: '/stock/return',
788
+  //       component: () => import('@/xt_pages/stock/salesReturnOrder'),
789
+  //       name: 'salesReturnOrder',
790
+  //       meta: { title: 'salesReturnOrder', noCache: true }
791
+  //     }, {
792
+  //       path: '/stock/return/other',
793
+  //       component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
794
+  //       name: 'otherSalesReturnOrder',
795
+  //       meta: { title: 'otherSalesReturnOrder', noCache: true }
796
+  //     },
797
+  //     {
798
+  //       path: '/stock/out',
799
+  //       component: () => import('@/xt_pages/stock/stockOutOrder'),
800
+  //       name: 'stockOutOrder',
801
+  //       meta: { title: 'stockOutOrder', noCache: true }
802
+  //     }, {
803
+  //       path: '/stock/out/other',
804
+  //       component: () => import('@/xt_pages/stock/otherStockOutOrder'),
805
+  //       name: 'otherStockOutOrder',
806
+  //       meta: { title: 'otherStockOutOrder', noCache: true }
807
+  //     }, {
808
+  //       path: '/stock/cancel',
809
+  //       component: () => import('@/xt_pages/stock/cancelStockOrder'),
810
+  //       name: 'cancelStockOrder',
811
+  //       meta: { title: 'cancelStockOrder', noCache: true }
812
+  //     }, {
813
+  //       path: '/stock/cancel/other',
814
+  //       component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
815
+  //       name: 'otherCancelStockOrder',
816
+  //       meta: { title: 'otherCancelStockOrder', noCache: true }
817
+  //     }, {
818
+  //       path: '/stock/query',
819
+  //       component: () => import('@/xt_pages/stock/stockQuery'),
820
+  //       name: 'stockQuery',
821
+  //       meta: { title: 'stockQuery' }
822
+  //     }, {
823
+  //       path: '/stock/detail',
824
+  //       component: () => import('@/xt_pages/stock/stockDetailIndex'),
825
+  //       name: 'stockDetail',
826
+  //       meta: { title: 'stockDetail' }
827
+  //     },{
828
+  //       path: '/stock/in/add',
829
+  //       component: () => import('@/xt_pages/stock/stockInOrderAdd'),
830
+  //       name: 'stockInOrderAdd',
831
+  //       hidden: true,
832
+  //       is_menu: false,
833
+  //       meta: { title: 'stockInOrderAdd' }
834
+  //     }, {
835
+  //       path: '/stock/in/detail',
836
+  //       component: () => import('@/xt_pages/stock/stockInDetail'),
837
+  //       name: 'stockInDetail',
838
+  //       hidden: true,
839
+  //       is_menu: false,
840
+  //       meta: { title: 'stockInDetail' }
841
+  //     }, {
842
+  //       path: '/stock/return/detail',
843
+  //       component: () => import('@/xt_pages/stock/salesReturnDetail'),
844
+  //       name: 'salesReturnDetail',
845
+  //       hidden: true,
846
+  //       is_menu: false,
847
+  //       meta: { title: 'salesReturnDetail' }
848
+  //     }, {
849
+  //       path: '/stock/return/add',
850
+  //       component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
851
+  //       name: 'salesReturnOrderAdd',
852
+  //       hidden: true,
853
+  //       is_menu: false,
854
+  //       meta: { title: 'salesReturnOrderAdd' }
855
+  //     }, {
856
+  //       path: '/stock/out/add',
857
+  //       component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
858
+  //       name: 'stockOutOrderAdd',
859
+  //       hidden: true,
860
+  //       is_menu: false,
861
+  //       meta: { title: 'stockOutOrderAdd', noCache: true }
862
+  //     }, {
863
+  //       path: '/stock/out/detail',
864
+  //       component: () => import('@/xt_pages/stock/stockOutDetail'),
865
+  //       name: 'stockOutDetail',
866
+  //       hidden: true,
867
+  //       is_menu: false,
868
+  //       meta: { title: 'stockOutDetail', noCache: true }
869
+  //     }, {
870
+  //       path: '/stock/cancel/add',
871
+  //       component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
872
+  //       name: 'cancelStockOrderAdd',
873
+  //       hidden: true,
874
+  //       is_menu: false,
875
+  //       meta: { title: 'cancelStockOrderAdd', noCache: true }
876
+  //     }, {
877
+  //       path: '/stock/cancel/detail',
878
+  //       component: () => import('@/xt_pages/stock/cancelStockDetail'),
879
+  //       name: 'cancelStockDetail',
880
+  //       hidden: true,
881
+  //       is_menu: false,
882
+  //       meta: { title: 'cancelStockDetail', noCache: true }
883
+  //     },
884
+  //     {
885
+  //       path: '/stock/config',
886
+  //       component: () => import('@/xt_pages/stock/index'),
887
+  //       name: 'config',
888
+  //       meta: { title: 'config' }
889
+  //     }
890
+  //   ]
891
+  //  },
892
+  //  {
893
+  //    path: '/qcd',
894
+  //    component: Layout,
895
+  //    redirect: '/qcd/dialysistotal',
896
+  //    name: 'qcd',
897
+  //    alwaysShow: true,
898
+  //    meta: { title: '科室质控', icon: 'table' },
899
+  //    children: [
900
+  //      { path: '/statistics/index', component: () => import('@/xt_pages/statistics/index'), name: 'statistics', meta: { title: 'statistics' }},
901
+  //      { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
902
+  //      { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
903
+  //      { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '结果指标' }},
904
+  //      { path: '/qcd/outcomeIndicators/query', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }},
905
+  //      { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '患者分析' }},
906
+  //      { path: '/qcd/patientanalysis/weight',hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
907
+  //      { path: '/qcd/patientanalysis/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
908
+  //      { path: '/qcd/patientanalysis/dialysisage', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
909
+  //      { path: '/qcd/patientanalysis/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }},
910
+  //      { path: '/qcd/patientanalysis/complication', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/complication'), name: 'patientAnalysisComplication', meta: { title: '并发症分析' }},
911
+  //      { path: '/qcd/patientanalysis/infectiousdiseases', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'), name: 'patientAnalysisInfectiousDiseases', meta: { title: '传染病分析' }},
912
+  //      { path: '/qcd/pa/person/lapseto', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'), name: 'paPersonLapseto', meta: { title: '转归' }},
913
+  //      { path: '/qcd/pa/person/weight', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'), name: 'paPersonWeight', meta: { title: '体重' }},
914
+  //      { path: '/qcd/pa/person/bloodpressure', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'), name: 'paPersonBloodPressure', meta: { title: '血压' }},
915
+  //      { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }},
916
+  //      { path: '/qcd/pa/person/oralmedicine', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/oralMedicine'), name: 'paPersonOralMedicine', meta: { title: '口服药' }},
917
+  //    ]
918
+  //  },
919
+  //  {
920
+  //   path: '/data/',
921
+  //   component: Layout,
922
+  //   redirect: 'noredirect',
923
+  //   name: 'data',
924
+  //   meta: { title: 'data_dictionary', icon: 'excel' },
925
+  //   children: [
926
+  //     { path: '/data/dictionary', component: () => import('@/xt_pages/data/index'), name: 'dictionary', meta: { title: 'field_config' }},
927
+  //     { path: '/data/template', component: () => import('@/xt_pages/data/template'), name: 'template', meta: { title: 'template' }},
928
+  //     { path: '/data/druguse', component: () => import('@/xt_pages/data/druguseTemplate'), name: 'druguse', meta: { title: 'druguse' }}
929
+  //   ]
930
+  // },
931
+  // {
932
+  //   path: '/device',
933
+  //   component: Layout,
934
+  //   redirect: '/device/main',
935
+  //   name: 'device',
936
+  //   alwaysShow: true,
937
+  //   meta: { title: 'deviceManage', icon: 'shebei' },
938
+  //   children: [
939
+  //     { path: '/device/zones', component: () => import('@/xt_pages/device/zone_main'), name: 'deviceZoneManage', meta: { title: 'deviceZoneManage' }},
940
+  //     { path: '/device/groups', component: () => import('@/xt_pages/device/group_main'), name: 'deviceGroupManage', meta: { title: 'deviceGroupManage' }},
941
+  //     { path: '/device/numbers', component: () => import('@/xt_pages/device/number_main'), name: 'deviceNumberManage', meta: { title: 'deviceNumberManage' }},
942
+  //     { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'dialysisMachineManage', meta: { title: 'dialysisMachineManage' }}
943
+  //   ]
944
+  // },
945
+  // /////////////////////////////////////线在end
946
+  {
947
+    path: '/role',
948
+    component: Layout,
949
+    redirect: '/role/admin/manage',
950
+    name: 'role',
951
+    alwaysShow: true,
952
+    meta: { title: 'permissionManage', icon: 'role' },
953
+    children: [
954
+      { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
955
+      { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
956
+      { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
957
+      { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
958
+      { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false },
959
+      { path: '/role/admin/specialpermission', component: () => import('@/xt_pages/role/special_permission'), name: 'special_permission_manage', meta: { title: 'special_permission_manage' }}
960
+    ]
961
+  }
962
+]

+ 38 - 0
src/router/modules/data_dict.js Ver arquivo

@@ -0,0 +1,38 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/data/',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'data',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'data_dictionary',
11
+    icon: 'excel'
12
+  },
13
+  children: [{
14
+    path: '/data/dictionary',
15
+    component: () => import('@/xt_pages/data/index'),
16
+    name: 'dictionary',
17
+    meta: {
18
+      title: 'field_config'
19
+    }
20
+  },
21
+  {
22
+    path: '/data/template',
23
+    component: () => import('@/xt_pages/data/template'),
24
+    name: 'template',
25
+    meta: {
26
+      title: 'template'
27
+    }
28
+  },
29
+  {
30
+    path: '/data/druguse',
31
+    component: () => import('@/xt_pages/data/druguseTemplate'),
32
+    name: 'druguse',
33
+    meta: {
34
+      title: 'druguse'
35
+    }
36
+  }
37
+  ]
38
+}

+ 46 - 0
src/router/modules/device.js Ver arquivo

@@ -0,0 +1,46 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/device',
5
+  component: Layout,
6
+  redirect: '/device/main',
7
+  name: 'device',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'deviceManage',
11
+    icon: 'shebei'
12
+  },
13
+  children: [{
14
+    path: '/device/zones',
15
+    component: () => import('@/xt_pages/device/zone_main'),
16
+    name: 'deviceZoneManage',
17
+    meta: {
18
+      title: 'deviceZoneManage'
19
+    }
20
+  },
21
+  {
22
+    path: '/device/groups',
23
+    component: () => import('@/xt_pages/device/group_main'),
24
+    name: 'deviceGroupManage',
25
+    meta: {
26
+      title: 'deviceGroupManage'
27
+    }
28
+  },
29
+  {
30
+    path: '/device/numbers',
31
+    component: () => import('@/xt_pages/device/number_main'),
32
+    name: 'deviceNumberManage',
33
+    meta: {
34
+      title: 'deviceNumberManage'
35
+    }
36
+  },
37
+  {
38
+    path: '/device/main',
39
+    component: () => import('@/xt_pages/device/main'),
40
+    name: 'dialysisMachineManage',
41
+    meta: {
42
+      title: 'dialysisMachineManage'
43
+    }
44
+  }
45
+  ]
46
+}

+ 84 - 0
src/router/modules/dialysis.js Ver arquivo

@@ -0,0 +1,84 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/dialysis/',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'dialysis',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'dialysis',
11
+    icon: 'touxi'
12
+  },
13
+  children: [{
14
+    path: '/dialysis/dialysisrecord',
15
+    component: () => import('@/xt_pages/dialysis/schedualPatient'),
16
+    name: '透析记录',
17
+    meta: {
18
+      title: '透析记录'
19
+    }
20
+  },
21
+  {
22
+    path: '/dialysis/record/:id',
23
+    component: () => import('@/xt_pages/dialysis/dialysisPage'),
24
+    hidden: true,
25
+    is_menu: false,
26
+    name: 'paper',
27
+    meta: {
28
+      title: 'paper',
29
+      noCache: true
30
+    }
31
+  },
32
+  {
33
+    path: '/dialysis/print',
34
+    component: () => import('@/xt_pages/dialysis/dialysisPrintOrder'),
35
+    hidden: true,
36
+    is_menu: false,
37
+    name: 'dialysisPrintOrder',
38
+    meta: {
39
+      title: 'dialysisPrintOrder',
40
+      noCache: true
41
+    }
42
+  },
43
+
44
+    // { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
45
+    // { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
46
+  {
47
+    path: '/dialysis/watch',
48
+    component: () => import('@/xt_pages/dialysis/bloodPresssWatch'),
49
+    name: 'watch',
50
+    meta: {
51
+      title: 'watch'
52
+    }
53
+  },
54
+  {
55
+    path: '/dialysis/details',
56
+    component: () => import('@/xt_pages/dialysis/details'),
57
+    name: 'details',
58
+    meta: {
59
+      title: 'details'
60
+    },
61
+    hidden: true,
62
+    is_menu: false
63
+  },
64
+  {
65
+    path: '/dialysis/print/batch',
66
+    component: () => import('@/xt_pages/dialysis/batch_print/batch_print_order'),
67
+    hidden: true,
68
+    is_menu: false,
69
+    name: 'dialysis_batch_print',
70
+    meta: {
71
+      title: '批量打印',
72
+      noCache: true
73
+    }
74
+  },
75
+  {
76
+    path: '/dialysis/board',
77
+    component: () => import('@/xt_pages/dialysis/bulletinBoard'),
78
+    name: '数据看板',
79
+    meta: {
80
+      title: '数据看板'
81
+    }
82
+  }
83
+  ]
84
+}

+ 153 - 0
src/router/modules/patient.js Ver arquivo

@@ -0,0 +1,153 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/patients',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'User',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'user',
11
+    icon: 'bingren'
12
+  },
13
+  children: [{
14
+    path: '/patients/patients',
15
+    component: () => import('@/xt_pages/user/patients'),
16
+    name: 'Patient',
17
+    meta: {
18
+      title: 'patient',
19
+      noCache: true
20
+    }
21
+  },
22
+  {
23
+    path: '/patients/create',
24
+    component: () => import('@/xt_pages/user/createPatient'),
25
+    name: 'createPatient',
26
+    meta: {
27
+      title: 'createPatient',
28
+      noCache: true
29
+    }
30
+  },
31
+  {
32
+    path: '/patients/patient/:id',
33
+    component: () => import('@/xt_pages/user/patientInfo'),
34
+    hidden: true,
35
+    is_menu: false,
36
+    name: 'patient Page',
37
+    meta: {
38
+      title: 'patientPage',
39
+      noCache: true
40
+    }
41
+  },
42
+  {
43
+    path: '/patients/patient/:id/edit',
44
+    component: () => import('@/xt_pages/user/editPatient'),
45
+    hidden: true,
46
+    is_menu: false,
47
+    name: 'Edit Patient',
48
+    meta: {
49
+      title: 'editPatient',
50
+      noCache: true
51
+    }
52
+  },
53
+  {
54
+    path: '/patients/patient/:id/dialysisSolution',
55
+    component: () => import('@/xt_pages/user/dialysisSolution'),
56
+    hidden: true,
57
+    is_menu: false,
58
+    name: 'dialysisSolution',
59
+    meta: {
60
+      title: 'dialysisSolution',
61
+      noCache: true
62
+    }
63
+  },
64
+  {
65
+    path: '/patients/patient/:id/weight',
66
+    component: () => import('@/xt_pages/user/weight'),
67
+    hidden: true,
68
+    is_menu: false,
69
+    name: 'weight',
70
+    meta: {
71
+      title: 'weight',
72
+      noCache: true
73
+    }
74
+  },
75
+  {
76
+    path: '/patients/patient/:id/dialysisRecord',
77
+    component: () => import('@/xt_pages/user/dialysisRecord'),
78
+    hidden: true,
79
+    is_menu: false,
80
+    name: 'dialysisRecord',
81
+    meta: {
82
+      title: 'dialysisRecord',
83
+      noCache: true
84
+    }
85
+  },
86
+  {
87
+    path: '/patients/patient/:id/scheduling',
88
+    component: () => import('@/xt_pages/user/scheduling'),
89
+    hidden: true,
90
+    is_menu: false,
91
+    name: 'scheduling',
92
+    meta: {
93
+      title: 'scheduling',
94
+      noCache: true
95
+    }
96
+  },
97
+  {
98
+    path: '/patients/patient/:id/doctorAdvice',
99
+    component: () => import('@/xt_pages/user/doctorAdvice'),
100
+    hidden: true,
101
+    is_menu: false,
102
+    name: 'doctorAdvice',
103
+    meta: {
104
+      title: 'doctorAdvice',
105
+      noCache: true
106
+    }
107
+  },
108
+  {
109
+    path: '/patients/inspection',
110
+    component: () => import('@/xt_pages/user/inspection'),
111
+    hidden: true,
112
+    is_menu: false,
113
+    name: 'Inspection',
114
+    meta: {
115
+      title: 'inspection',
116
+      noCache: true
117
+    }
118
+  },
119
+  {
120
+    path: '/patients/course',
121
+    component: () => import('@/xt_pages/user/courseOfDisease'),
122
+    hidden: true,
123
+    is_menu: false,
124
+    name: 'CourseOfDiseaseManage',
125
+    meta: {
126
+      title: 'CourseOfDiseaseManage',
127
+      noCache: true
128
+    }
129
+  },
130
+  {
131
+    path: '/patients/rescue',
132
+    component: () => import('@/xt_pages/user/rescueRecord'),
133
+    hidden: true,
134
+    is_menu: false,
135
+    name: 'RescueRecord',
136
+    meta: {
137
+      title: 'RescueRecord',
138
+      noCache: true
139
+    }
140
+  },
141
+  {
142
+    path: '/patients/patient/:id/proeducation',
143
+    component: () => import('@/xt_pages/user/proeducation'),
144
+    hidden: true,
145
+    is_menu: false,
146
+    name: 'proeducation',
147
+    meta: {
148
+      title: 'proeducation',
149
+      noCache: true
150
+    }
151
+  }
152
+  ]
153
+}

+ 174 - 0
src/router/modules/qcd.js Ver arquivo

@@ -0,0 +1,174 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/qcd',
5
+  component: Layout,
6
+  redirect: '/qcd/dialysistotal',
7
+  name: 'qcd',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: '科室质控',
11
+    icon: 'statistics'
12
+  },
13
+  children: [{
14
+    path: '/statistics/index',
15
+    component: () => import('@/xt_pages/statistics/index'),
16
+    name: 'statistics',
17
+    meta: {
18
+      title: 'statistics'
19
+    }
20
+  },
21
+  {
22
+    path: '/qcd/dialysistotal',
23
+    component: () => import('@/xt_pages/qcd/dialysisTotal'),
24
+    name: 'dialysistotal',
25
+    meta: {
26
+      title: '透析总量'
27
+    }
28
+  },
29
+  {
30
+    path: '/qcd/processindicators',
31
+    component: () => import('@/xt_pages/qcd/processIndicators'),
32
+    name: 'processIndicators',
33
+    meta: {
34
+      title: '过程指标'
35
+    }
36
+  },
37
+  {
38
+    path: '/qcd/outcomeIndicators/control',
39
+    component: () => import('@/xt_pages/qcd/outcomeIndicators/control'),
40
+    name: 'outcomeIndicatorsControl',
41
+    meta: {
42
+      title: '结果指标'
43
+    }
44
+  },
45
+  {
46
+    path: '/qcd/outcomeIndicators/query',
47
+    hidden: true,
48
+    is_menu: false,
49
+    component: () => import('@/xt_pages/qcd/outcomeIndicators/query'),
50
+    name: 'outcomeIndicatorsQuery',
51
+    meta: {
52
+      title: '指标查询'
53
+    }
54
+  },
55
+  {
56
+    path: '/qcd/patientanalysis/total',
57
+    component: () => import('@/xt_pages/qcd/patientAnalysis/total'),
58
+    name: 'patientAnalysisTotal',
59
+    meta: {
60
+      title: '患者分析'
61
+    }
62
+  },
63
+  {
64
+    path: '/qcd/patientanalysis/weight',
65
+    hidden: true,
66
+    is_menu: false,
67
+    component: () => import('@/xt_pages/qcd/patientAnalysis/weight'),
68
+    name: 'patientAnalysisWeight',
69
+    meta: {
70
+      title: '体重分析'
71
+    }
72
+  },
73
+  {
74
+    path: '/qcd/patientanalysis/bloodpressure',
75
+    hidden: true,
76
+    is_menu: false,
77
+    component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'),
78
+    name: 'patientAnalysisBloodPressure',
79
+    meta: {
80
+      title: '血压分析'
81
+    }
82
+  },
83
+  {
84
+    path: '/qcd/patientanalysis/dialysisage',
85
+    hidden: true,
86
+    is_menu: false,
87
+    component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'),
88
+    name: 'patientAnalysisDialysisAge',
89
+    meta: {
90
+      title: '透析龄分析'
91
+    }
92
+  },
93
+  {
94
+    path: '/qcd/patientanalysis/lapseto',
95
+    hidden: true,
96
+    is_menu: false,
97
+    component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'),
98
+    name: 'patientAnalysisLapseto',
99
+    meta: {
100
+      title: '转归分析'
101
+    }
102
+  },
103
+  {
104
+    path: '/qcd/patientanalysis/complication',
105
+    hidden: true,
106
+    is_menu: false,
107
+    component: () => import('@/xt_pages/qcd/patientAnalysis/complication'),
108
+    name: 'patientAnalysisComplication',
109
+    meta: {
110
+      title: '并发症分析'
111
+    }
112
+  },
113
+  {
114
+    path: '/qcd/patientanalysis/infectiousdiseases',
115
+    hidden: true,
116
+    is_menu: false,
117
+    component: () => import('@/xt_pages/qcd/patientAnalysis/infectiousDiseases'),
118
+    name: 'patientAnalysisInfectiousDiseases',
119
+    meta: {
120
+      title: '传染病分析'
121
+    }
122
+  },
123
+  {
124
+    path: '/qcd/pa/person/lapseto',
125
+    hidden: true,
126
+    is_menu: false,
127
+    component: () => import('@/xt_pages/qcd/patientAnalysis/person/lapseto'),
128
+    name: 'paPersonLapseto',
129
+    meta: {
130
+      title: '转归'
131
+    }
132
+  },
133
+  {
134
+    path: '/qcd/pa/person/weight',
135
+    hidden: true,
136
+    is_menu: false,
137
+    component: () => import('@/xt_pages/qcd/patientAnalysis/person/weight'),
138
+    name: 'paPersonWeight',
139
+    meta: {
140
+      title: '体重'
141
+    }
142
+  },
143
+  {
144
+    path: '/qcd/pa/person/bloodpressure',
145
+    hidden: true,
146
+    is_menu: false,
147
+    component: () => import('@/xt_pages/qcd/patientAnalysis/person/bloodPressure'),
148
+    name: 'paPersonBloodPressure',
149
+    meta: {
150
+      title: '血压'
151
+    }
152
+  },
153
+  {
154
+    path: '/qcd/pa/person/indicators',
155
+    hidden: true,
156
+    is_menu: false,
157
+    component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'),
158
+    name: 'paPersonIndicators',
159
+    meta: {
160
+      title: '指标控制'
161
+    }
162
+  },
163
+  {
164
+    path: '/qcd/pa/person/oralmedicine',
165
+    hidden: true,
166
+    is_menu: false,
167
+    component: () => import('@/xt_pages/qcd/patientAnalysis/person/oralMedicine'),
168
+    name: 'paPersonOralMedicine',
169
+    meta: {
170
+      title: '口服药'
171
+    }
172
+  }
173
+  ]
174
+}

+ 71 - 0
src/router/modules/role.js Ver arquivo

@@ -0,0 +1,71 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/role',
5
+  component: Layout,
6
+  redirect: '/role/admin/manage',
7
+  name: 'role',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'permissionManage',
11
+    icon: 'role'
12
+  },
13
+  children: [{
14
+    path: '/role/admin/manage',
15
+    component: () => import('@/xt_pages/role/admin'),
16
+    name: 'adminManage',
17
+    meta: {
18
+      title: 'adminManage'
19
+    }
20
+  },
21
+  {
22
+    path: '/role/manage',
23
+    component: () => import('@/xt_pages/role/role'),
24
+    name: 'roleManage',
25
+    meta: {
26
+      title: 'roleManage'
27
+    }
28
+  },
29
+  {
30
+    path: '/role/admin/create',
31
+    component: () => import('@/xt_pages/role/CreateAdmin'),
32
+    name: 'addAdmin',
33
+    meta: {
34
+      title: 'addAdmin',
35
+      noCache: true
36
+    },
37
+    hidden: true,
38
+    is_menu: false
39
+  },
40
+  {
41
+    path: '/role/admin/edit',
42
+    component: () => import('@/xt_pages/role/EditAdmin'),
43
+    name: 'editAdmin',
44
+    meta: {
45
+      title: 'editAdmin',
46
+      noCache: true
47
+    },
48
+    hidden: true,
49
+    is_menu: false
50
+  },
51
+  {
52
+    path: '/role/perview',
53
+    component: () => import('@/xt_pages/role/EditPerview'),
54
+    name: 'setupPerview',
55
+    meta: {
56
+      title: 'setupPerview',
57
+      noCache: true
58
+    },
59
+    hidden: true,
60
+    is_menu: false
61
+  },
62
+  {
63
+    path: '/role/admin/specialpermission',
64
+    component: () => import('@/xt_pages/role/special_permission'),
65
+    name: 'special_permission_manage',
66
+    meta: {
67
+      title: 'special_permission_manage'
68
+    }
69
+  }
70
+  ]
71
+}

+ 117 - 0
src/router/modules/service.js Ver arquivo

@@ -0,0 +1,117 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/service',
5
+  component: Layout,
6
+  hidden: true,
7
+  is_menu: false,
8
+
9
+  meta: {
10
+    title: 'service',
11
+    icon: 'shebei'
12
+  },
13
+  children: [{
14
+    path: '/service',
15
+    component: () => import('@/xt_pages/service/index'),
16
+    hidden: true,
17
+    is_menu: false,
18
+    name: 'service',
19
+    meta: {
20
+      title: 'service',
21
+      icon: 'shebei',
22
+      noCache: true
23
+    }
24
+  }, {
25
+    path: '/service/invoice',
26
+    component: () => import('@/xt_pages/service/invoice'),
27
+    hidden: true,
28
+    is_menu: false,
29
+    name: 'invoice',
30
+    meta: {
31
+      title: 'invoice',
32
+      icon: 'shebei',
33
+      noCache: true
34
+    }
35
+  }, {
36
+    path: '/service/invoice/apply',
37
+    component: () => import('@/xt_pages/service/invoiceApply'),
38
+    hidden: true,
39
+    is_menu: false,
40
+    name: 'invoiceApply',
41
+    meta: {
42
+      title: 'invoiceApply',
43
+      icon: 'shebei',
44
+      noCache: true
45
+    }
46
+  },
47
+  {
48
+    path: '/servicePay',
49
+    component: () => import('@/xt_pages/service/servicePay'),
50
+    hidden: true,
51
+    name: 'servicePay',
52
+    meta: {
53
+      title: 'servicePay'
54
+    }
55
+  },
56
+  {
57
+    path: '/payType',
58
+    component: () => import('@/xt_pages/service/payType'),
59
+    hidden: true,
60
+    name: 'payType',
61
+    meta: {
62
+      title: 'payType'
63
+    }
64
+  },
65
+  {
66
+    path: '/weChatPay',
67
+    component: () => import('@/xt_pages/service/weChatPay'),
68
+    hidden: true,
69
+    name: 'weChatPay',
70
+    meta: {
71
+      title: 'weChatPay'
72
+    }
73
+  },
74
+  {
75
+    path: '/service/completeOrder',
76
+    component: () => import('@/xt_pages/service/completeOrder'),
77
+    hidden: true,
78
+    name: 'completeOrder',
79
+    meta: {
80
+      title: 'completeOrder'
81
+    }
82
+  }, {
83
+    path: '/service/buy',
84
+    component: () => import('@/xt_pages/service/serviceOrder'),
85
+    hidden: true,
86
+    is_menu: false,
87
+    name: 'serviceOrder',
88
+    meta: {
89
+      title: 'serviceOrder',
90
+      icon: 'shebei',
91
+      noCache: true
92
+    }
93
+  }, {
94
+    path: '/order',
95
+    component: () => import('@/xt_pages/service/orderRecord'),
96
+    hidden: true,
97
+    is_menu: false,
98
+    name: 'orderRecord',
99
+    meta: {
100
+      title: 'orderRecord',
101
+      icon: 'shebei',
102
+      noCache: true
103
+    }
104
+  }, {
105
+    path: '/service/recordList',
106
+    component: () => import('@/xt_pages/service/serviceRecord'),
107
+    hidden: true,
108
+    is_menu: false,
109
+    name: 'recordList',
110
+    meta: {
111
+      title: 'recordList',
112
+      icon: 'shebei',
113
+      noCache: true
114
+    }
115
+  }
116
+  ]
117
+}

+ 175 - 0
src/router/modules/stock.js Ver arquivo

@@ -0,0 +1,175 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/stock/',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'stockManage',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'stockManage',
11
+    icon: 'stock'
12
+  },
13
+  children: [{
14
+    path: '/stock/config',
15
+    component: () => import('@/xt_pages/stock/index'),
16
+    name: 'config',
17
+    meta: {
18
+      title: 'config'
19
+    }
20
+  },
21
+  {
22
+    path: '/stock/in',
23
+    component: () => import('@/xt_pages/stock/stockInOrder'),
24
+    name: 'stockInOrder',
25
+    meta: {
26
+      title: 'stockInOrder',
27
+      noCache: true
28
+    }
29
+  }, {
30
+    path: '/stock/in/other',
31
+    component: () => import('@/xt_pages/stock/otherStockInOrder'),
32
+    name: 'otherStockInOrder',
33
+    meta: {
34
+      title: 'otherStockInOrder',
35
+      noCache: true
36
+    }
37
+  }, {
38
+    path: '/stock/return',
39
+    component: () => import('@/xt_pages/stock/salesReturnOrder'),
40
+    name: 'salesReturnOrder',
41
+    meta: {
42
+      title: 'salesReturnOrder',
43
+      noCache: true
44
+    }
45
+  }, {
46
+    path: '/stock/return/other',
47
+    component: () => import('@/xt_pages/stock/otherSalesReturnOrder'),
48
+    name: 'otherSalesReturnOrder',
49
+    meta: {
50
+      title: 'otherSalesReturnOrder',
51
+      noCache: true
52
+    }
53
+  },
54
+  {
55
+    path: '/stock/out',
56
+    component: () => import('@/xt_pages/stock/stockOutOrder'),
57
+    name: 'stockOutOrder',
58
+    meta: {
59
+      title: 'stockOutOrder',
60
+      noCache: true
61
+    }
62
+  }, {
63
+    path: '/stock/out/other',
64
+    component: () => import('@/xt_pages/stock/otherStockOutOrder'),
65
+    name: 'otherStockOutOrder',
66
+    meta: {
67
+      title: 'otherStockOutOrder',
68
+      noCache: true
69
+    }
70
+  }, {
71
+    path: '/stock/cancel',
72
+    component: () => import('@/xt_pages/stock/cancelStockOrder'),
73
+    name: 'cancelStockOrder',
74
+    meta: {
75
+      title: 'cancelStockOrder',
76
+      noCache: true
77
+    }
78
+  }, {
79
+    path: '/stock/cancel/other',
80
+    component: () => import('@/xt_pages/stock/otherCancelStockOrder'),
81
+    name: 'otherCancelStockOrder',
82
+    meta: {
83
+      title: 'otherCancelStockOrder',
84
+      noCache: true
85
+    }
86
+  }, {
87
+    path: '/stock/query',
88
+    component: () => import('@/xt_pages/stock/stockQuery'),
89
+    name: 'stockQuery',
90
+    meta: {
91
+      title: 'stockQuery'
92
+    }
93
+  }, {
94
+    path: '/stock/detail',
95
+    component: () => import('@/xt_pages/stock/stockDetailIndex'),
96
+    name: 'stockDetail',
97
+    meta: {
98
+      title: 'stockDetail'
99
+    }
100
+  },
101
+  {
102
+    path: '/stock/in/add',
103
+    component: () => import('@/xt_pages/stock/stockInOrderAdd'),
104
+    name: 'stockInOrderAdd',
105
+    hidden: true,
106
+    is_menu: false,
107
+    meta: {
108
+      title: 'stockInOrderAdd'
109
+    }
110
+  }, {
111
+    path: '/stock/in/detail',
112
+    component: () => import('@/xt_pages/stock/stockInDetail'),
113
+    name: 'stockInDetail',
114
+    hidden: true,
115
+    is_menu: false,
116
+    meta: {
117
+      title: 'stockInDetail'
118
+    }
119
+  }, {
120
+    path: '/stock/return/detail',
121
+    component: () => import('@/xt_pages/stock/salesReturnDetail'),
122
+    name: 'salesReturnDetail',
123
+    hidden: true,
124
+    is_menu: false,
125
+    meta: {
126
+      title: 'salesReturnDetail'
127
+    }
128
+  }, {
129
+    path: '/stock/return/add',
130
+    component: () => import('@/xt_pages/stock/salesReturnOrderAdd'),
131
+    name: 'salesReturnOrderAdd',
132
+    hidden: true,
133
+    is_menu: false,
134
+    meta: {
135
+      title: 'salesReturnOrderAdd'
136
+    }
137
+  }, {
138
+    path: '/stock/out/add',
139
+    component: () => import('@/xt_pages/stock/stockOutOrderAdd'),
140
+    name: 'stockOutOrderAdd',
141
+    hidden: true,
142
+    is_menu: false,
143
+    meta: {
144
+      title: 'stockOutOrderAdd'
145
+    }
146
+  }, {
147
+    path: '/stock/out/detail',
148
+    component: () => import('@/xt_pages/stock/stockOutDetail'),
149
+    name: 'stockOutDetail',
150
+    hidden: true,
151
+    is_menu: false,
152
+    meta: {
153
+      title: 'stockOutDetail'
154
+    }
155
+  }, {
156
+    path: '/stock/cancel/add',
157
+    component: () => import('@/xt_pages/stock/cancelStockOrderAdd'),
158
+    name: 'cancelStockOrderAdd',
159
+    hidden: true,
160
+    is_menu: false,
161
+    meta: {
162
+      title: 'cancelStockOrderAdd'
163
+    }
164
+  }, {
165
+    path: '/stock/cancel/detail',
166
+    component: () => import('@/xt_pages/stock/cancelStockDetail'),
167
+    name: 'cancelStockDetail',
168
+    hidden: true,
169
+    is_menu: false,
170
+    meta: {
171
+      title: 'cancelStockDetail'
172
+    }
173
+  }
174
+  ]
175
+}

+ 17 - 0
src/router/modules/weight_sign.js Ver arquivo

@@ -0,0 +1,17 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/sign',
5
+  component: Layout,
6
+  redirct: '/sign/index',
7
+  children: [{
8
+    path: '/sign',
9
+    component: () => import('@/xt_pages/sign/index'),
10
+    name: 'sign',
11
+    meta: {
12
+      title: 'signWeight',
13
+      icon: 'sign',
14
+      noCache: true
15
+    }
16
+  }]
17
+}

+ 64 - 0
src/router/modules/workforce.js Ver arquivo

@@ -0,0 +1,64 @@
1
+import Layout from '@/views/layout/Layout'
2
+export default {
3
+  path: '/workforce',
4
+  component: Layout,
5
+  redirect: 'noredirect',
6
+  name: 'workforce',
7
+  alwaysShow: true,
8
+  meta: {
9
+    title: 'workforce',
10
+    icon: 'paiban'
11
+  },
12
+  children: [{
13
+    path: '/workforce/appointment',
14
+    component: () => import('@/xt_pages/workforce/appointment'),
15
+    name: 'appointment',
16
+    meta: {
17
+      title: 'appointment',
18
+      noCache: true
19
+    }
20
+  },
21
+  {
22
+    path: '/workforce/sign',
23
+    component: () => import('@/xt_pages/workforce/sign'),
24
+    hidden: true,
25
+    is_menu: false,
26
+    name: 'workforcesign',
27
+    meta: {
28
+      title: 'sign',
29
+      noCache: true
30
+    }
31
+  },
32
+  {
33
+    path: '/workforce/remind',
34
+    component: () => import('@/xt_pages/workforce/remind'),
35
+    name: 'remind',
36
+    meta: {
37
+      title: 'remind',
38
+      noCache: true
39
+    }
40
+  },
41
+  {
42
+    path: '/workforce/template',
43
+    component: () => import('@/xt_pages/workforce/template'),
44
+    name: 'workforce_template',
45
+    hidden: true,
46
+    is_menu: false,
47
+    meta: {
48
+      title: 'workforce_template',
49
+      noCache: true
50
+    }
51
+  },
52
+  {
53
+    path: '/workforce/schedule/print',
54
+    component: () => import('@/xt_pages/workforce/schedule_print'),
55
+    name: 'schedule_print',
56
+    hidden: true,
57
+    is_menu: false,
58
+    meta: {
59
+      title: 'schedule_print',
60
+      noCache: true
61
+    }
62
+  }
63
+  ]
64
+}

+ 0 - 331
src/router/origin_index.js Ver arquivo

@@ -1,331 +0,0 @@
1
-import Vue from 'vue'
2
-import Router from 'vue-router'
3
-
4
-Vue.use(Router)
5
-
6
-/* Layout */
7
-import Layout from '@/views/layout/Layout'
8
-
9
-/** note: submenu only apppear when children.length>=1
10
-*   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
11
-**/
12
-
13
-/**
14
-* hidden: true                   if `hidden:true` will not show in the sidebar(default is false)
15
-* alwaysShow: true               if set true, will always show the root menu, whatever its child routes length
16
-*                                if not set alwaysShow, only more than one route under the children
17
-*                                it will becomes nested mode, otherwise not show the root menu
18
-* redirect: noredirect           if `redirect:noredirect` will no redirct in the breadcrumb
19
-* name:'router-name'             the name is used by <keep-alive> (must set!!!)
20
-* meta : {
21
-    roles: ['admin','editor']     will control the page roles (you can set multiple roles)
22
-    title: 'title'               the name show in submenu and breadcrumb (recommend set)
23
-    icon: 'svg-name'             the icon show in the sidebar,
24
-    noCache: true                if true ,the page will no be cached(default is false)
25
-  }
26
-**/
27
-export const constantRouterMap = [
28
-  { path: '/login', component: () => import('@/views/login/index'), hidden: true },
29
-  { path: '/authredirect', component: () => import('@/views/login/authredirect'), hidden: true },
30
-  { path: '/404', component: () => import('@/views/errorPage/404'), hidden: true },
31
-  { path: '/401', component: () => import('@/views/errorPage/401'), hidden: true },
32
-  {
33
-    path: '',
34
-    component: Layout,
35
-    redirect: 'dashboard',
36
-    children: [{
37
-      path: 'dashboard',
38
-      component: () => import('@/views/dashboard/index'),
39
-      name: 'dashboard',
40
-      meta: { title: 'dashboard', icon: 'dashboard', noCache: true }
41
-    }]
42
-  },
43
-  {
44
-    path: '/documentation',
45
-    component: Layout,
46
-    redirect: '/documentation/index',
47
-    children: [{
48
-      path: 'index',
49
-      component: () => import('@/views/documentation/index'),
50
-      name: 'documentation',
51
-      meta: { title: 'documentation', icon: 'documentation', noCache: true }
52
-    }]
53
-  },
54
-  {
55
-    path: '/guide',
56
-    component: Layout,
57
-    redirect: '/guide/index',
58
-    children: [{
59
-      path: 'index',
60
-      component: () => import('@/views/guide/index'),
61
-      name: 'guide',
62
-      meta: { title: 'guide', icon: 'guide', noCache: true }
63
-    }]
64
-  }
65
-]
66
-
67
-export default new Router({
68
-  // mode: 'history', // require service support
69
-  scrollBehavior: () => ({ y: 0 }),
70
-  routes: constantRouterMap
71
-})
72
-
73
-export const asyncRouterMap = [
74
-  {
75
-    path: '/permission',
76
-    component: Layout,
77
-    redirect: '/permission/index',
78
-    alwaysShow: true, // will always show the root menu
79
-    meta: {
80
-      title: 'permission',
81
-      icon: 'lock',
82
-      roles: ['admin', 'editor'] // you can set roles in root nav
83
-    },
84
-    children: [{
85
-      path: 'page',
86
-      component: () => import('@/views/permission/page'),
87
-      name: 'pagePermission',
88
-      meta: {
89
-        title: 'pagePermission',
90
-        roles: ['admin'] // or you can only set roles in sub nav
91
-      }
92
-    }, {
93
-      path: 'directive',
94
-      component: () => import('@/views/permission/directive'),
95
-      name: 'directivePermission',
96
-      meta: {
97
-        title: 'directivePermission'
98
-        // if do not set roles, means: this page does not require permission
99
-      }
100
-    }]
101
-  },
102
-
103
-  {
104
-    path: '/icon',
105
-    component: Layout,
106
-    children: [{
107
-      path: 'index',
108
-      component: () => import('@/views/svg-icons/index'),
109
-      name: 'icons',
110
-      meta: { title: 'icons', icon: 'icon', noCache: true }
111
-    }]
112
-  },
113
-
114
-  {
115
-    path: '/components',
116
-    component: Layout,
117
-    redirect: 'noredirect',
118
-    name: 'component-demo',
119
-    meta: {
120
-      title: 'components',
121
-      icon: 'component'
122
-    },
123
-    children: [
124
-      { path: 'tinymce', component: () => import('@/views/components-demo/tinymce'), name: 'tinymce-demo', meta: { title: 'tinymce' }},
125
-      { path: 'markdown', component: () => import('@/views/components-demo/markdown'), name: 'markdown-demo', meta: { title: 'markdown' }},
126
-      { path: 'json-editor', component: () => import('@/views/components-demo/jsonEditor'), name: 'jsonEditor-demo', meta: { title: 'jsonEditor' }},
127
-      { path: 'splitpane', component: () => import('@/views/components-demo/splitpane'), name: 'splitpane-demo', meta: { title: 'splitPane' }},
128
-      { path: 'avatar-upload', component: () => import('@/views/components-demo/avatarUpload'), name: 'avatarUpload-demo', meta: { title: 'avatarUpload' }},
129
-      { path: 'dropzone', component: () => import('@/views/components-demo/dropzone'), name: 'dropzone-demo', meta: { title: 'dropzone' }},
130
-      { path: 'sticky', component: () => import('@/views/components-demo/sticky'), name: 'sticky-demo', meta: { title: 'sticky' }},
131
-      { path: 'count-to', component: () => import('@/views/components-demo/countTo'), name: 'countTo-demo', meta: { title: 'countTo' }},
132
-      { path: 'mixin', component: () => import('@/views/components-demo/mixin'), name: 'componentMixin-demo', meta: { title: 'componentMixin' }},
133
-      { path: 'back-to-top', component: () => import('@/views/components-demo/backToTop'), name: 'backToTop-demo', meta: { title: 'backToTop' }},
134
-      { path: 'drag-dialog', component: () => import('@/views/components-demo/dragDialog'), name: 'dragDialog-demo', meta: { title: 'dragDialog' }},
135
-      { path: 'dnd-list', component: () => import('@/views/components-demo/dndList'), name: 'dndList-demo', meta: { title: 'dndList' }},
136
-      { path: 'drag-kanban', component: () => import('@/views/components-demo/dragKanban'), name: 'dragKanban-demo', meta: { title: 'dragKanban' }}
137
-    ]
138
-  },
139
-
140
-  {
141
-    path: '/charts',
142
-    component: Layout,
143
-    redirect: 'noredirect',
144
-    name: 'charts',
145
-    meta: {
146
-      title: 'charts',
147
-      icon: 'chart'
148
-    },
149
-    children: [
150
-      { path: 'keyboard', component: () => import('@/views/charts/keyboard'), name: 'keyboardChart', meta: { title: 'keyboardChart', noCache: true }},
151
-      { path: 'line', component: () => import('@/views/charts/line'), name: 'lineChart', meta: { title: 'lineChart', noCache: true }},
152
-      { path: 'mixchart', component: () => import('@/views/charts/mixChart'), name: 'mixChart', meta: { title: 'mixChart', noCache: true }}
153
-    ]
154
-  },
155
-
156
-  {
157
-    path: '/tab',
158
-    component: Layout,
159
-    children: [{
160
-      path: 'index',
161
-      component: () => import('@/views/tab/index'),
162
-      name: 'tab',
163
-      meta: { title: 'tab', icon: 'tab' }
164
-    }]
165
-  },
166
-
167
-  {
168
-    path: '/table',
169
-    component: Layout,
170
-    redirect: '/table/complex-table',
171
-    name: 'table',
172
-    meta: {
173
-      title: 'Table',
174
-      icon: 'table'
175
-    },
176
-    children: [
177
-      { path: 'dynamic-table', component: () => import('@/views/table/dynamicTable/index'), name: 'dynamicTable', meta: { title: 'dynamicTable' }},
178
-      { path: 'drag-table', component: () => import('@/views/table/dragTable'), name: 'dragTable', meta: { title: 'dragTable' }},
179
-      { path: 'inline-edit-table', component: () => import('@/views/table/inlineEditTable'), name: 'inlineEditTable', meta: { title: 'inlineEditTable' }},
180
-      { path: 'tree-table', component: () => import('@/views/table/treeTable/treeTable'), name: 'treeTableDemo', meta: { title: 'treeTable' }},
181
-      { path: 'custom-tree-table', component: () => import('@/views/table/treeTable/customTreeTable'), name: 'customTreeTableDemo', meta: { title: 'customTreeTable' }},
182
-      { path: 'complex-table', component: () => import('@/views/table/complexTable'), name: 'complexTable', meta: { title: 'complexTable' }}
183
-    ]
184
-  },
185
-
186
-  {
187
-    path: '/example',
188
-    component: Layout,
189
-    redirect: '/example/list',
190
-    name: 'example',
191
-    meta: {
192
-      title: 'example',
193
-      icon: 'example'
194
-    },
195
-    children: [
196
-      { path: 'create', component: () => import('@/views/example/create'), name: 'createArticle', meta: { title: 'createArticle', icon: 'edit' }},
197
-      { path: 'edit/:id(\\d+)', component: () => import('@/views/example/edit'), name: 'editArticle', meta: { title: 'editArticle', noCache: true }, hidden: true },
198
-      { path: 'list', component: () => import('@/views/example/list'), name: 'articleList', meta: { title: 'articleList', icon: 'list' }}
199
-    ]
200
-  },
201
-
202
-  {
203
-    path: '/nested',
204
-    component: Layout,
205
-    redirect: '/nested/menu1/menu1-1',
206
-    name: 'nested',
207
-    meta: {
208
-      title: 'nested',
209
-      icon: 'nested'
210
-    },
211
-    children: [
212
-      {
213
-        path: 'menu1',
214
-        component: () => import('@/views/nested/menu1/index'), // Parent router-view
215
-        name: 'menu1',
216
-        meta: { title: 'menu1' },
217
-        redirect: '/nested/menu1/menu1-1',
218
-        children: [
219
-          {
220
-            path: 'menu1-1',
221
-            component: () => import('@/views/nested/menu1/menu1-1'),
222
-            name: 'menu1-1',
223
-            meta: { title: 'menu1-1' }
224
-          },
225
-          {
226
-            path: 'menu1-2',
227
-            component: () => import('@/views/nested/menu1/menu1-2'),
228
-            name: 'menu1-2',
229
-            redirect: '/nested/menu1/menu1-2/menu1-2-1',
230
-            meta: { title: 'menu1-2' },
231
-            children: [
232
-              {
233
-                path: 'menu1-2-1',
234
-                component: () => import('@/views/nested/menu1/menu1-2/menu1-2-1'),
235
-                name: 'menu1-2-1',
236
-                meta: { title: 'menu1-2-1' }
237
-              },
238
-              {
239
-                path: 'menu1-2-2',
240
-                component: () => import('@/views/nested/menu1/menu1-2/menu1-2-2'),
241
-                name: 'menu1-2-2',
242
-                meta: { title: 'menu1-2-2' }
243
-              }
244
-            ]
245
-          },
246
-          {
247
-            path: 'menu1-3',
248
-            component: () => import('@/views/nested/menu1/menu1-3'),
249
-            name: 'menu1-3',
250
-            meta: { title: 'menu1-3' }
251
-          }
252
-        ]
253
-      },
254
-      {
255
-        path: 'menu2',
256
-        name: 'menu2',
257
-        component: () => import('@/views/nested/menu2/index'),
258
-        meta: { title: 'menu2' }
259
-      }
260
-    ]
261
-  },
262
-
263
-  {
264
-    path: '/error',
265
-    component: Layout,
266
-    redirect: 'noredirect',
267
-    name: 'errorPages',
268
-    meta: {
269
-      title: 'errorPages',
270
-      icon: '404'
271
-    },
272
-    children: [
273
-      { path: '401', component: () => import('@/views/errorPage/401'), name: 'page401', meta: { title: 'page401', noCache: true }},
274
-      { path: '404', component: () => import('@/views/errorPage/404'), name: 'page404', meta: { title: 'page404', noCache: true }}
275
-    ]
276
-  },
277
-
278
-  {
279
-    path: '/error-log',
280
-    component: Layout,
281
-    redirect: 'noredirect',
282
-    children: [{ path: 'log', component: () => import('@/views/errorLog/index'), name: 'errorLog', meta: { title: 'errorLog', icon: 'bug' }}]
283
-  },
284
-
285
-  {
286
-    path: '/excel',
287
-    component: Layout,
288
-    redirect: '/excel/export-excel',
289
-    name: 'excel',
290
-    meta: {
291
-      title: 'excel',
292
-      icon: 'excel'
293
-    },
294
-    children: [
295
-      { path: 'export-excel', component: () => import('@/views/excel/exportExcel'), name: 'exportExcel', meta: { title: 'exportExcel' }},
296
-      { path: 'export-selected-excel', component: () => import('@/views/excel/selectExcel'), name: 'selectExcel', meta: { title: 'selectExcel' }},
297
-      { path: 'upload-excel', component: () => import('@/views/excel/uploadExcel'), name: 'uploadExcel', meta: { title: 'uploadExcel' }}
298
-    ]
299
-  },
300
-
301
-  {
302
-    path: '/zip',
303
-    component: Layout,
304
-    redirect: '/zip/download',
305
-    alwaysShow: true,
306
-    meta: { title: 'zip', icon: 'zip' },
307
-    children: [{ path: 'download', component: () => import('@/views/zip/index'), name: 'exportZip', meta: { title: 'exportZip' }}]
308
-  },
309
-
310
-  {
311
-    path: '/theme',
312
-    component: Layout,
313
-    redirect: 'noredirect',
314
-    children: [{ path: 'index', component: () => import('@/views/theme/index'), name: 'theme', meta: { title: 'theme', icon: 'theme' }}]
315
-  },
316
-
317
-  {
318
-    path: '/clipboard',
319
-    component: Layout,
320
-    redirect: 'noredirect',
321
-    children: [{ path: 'index', component: () => import('@/views/clipboard/index'), name: 'clipboardDemo', meta: { title: 'clipboardDemo', icon: 'clipboard' }}]
322
-  },
323
-
324
-  {
325
-    path: '/i18n',
326
-    component: Layout,
327
-    children: [{ path: 'index', component: () => import('@/views/i18n-demo/index'), name: 'i18n', meta: { title: 'i18n', icon: 'international' }}]
328
-  },
329
-
330
-  { path: '*', redirect: '/404', hidden: true }
331
-]

+ 0 - 215
src/router/xt_index.js Ver arquivo

@@ -1,215 +0,0 @@
1
-// import Vue from 'vue'
2
-// import Router from 'vue-router'
3
-
4
-// Vue.use(Router)
5
-
6
-// /* Layout */
7
-// import Layout from '@/views/layout/Layout'
8
-
9
-// /** note: submenu only apppear when children.length>=1
10
-// *   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
11
-// **/
12
-
13
-// /**
14
-// * hidden: true                   if `hidden:true` will not show in the sidebar(default is false)
15
-// * alwaysShow: true               if set true, will always show the root menu, whatever its child routes length
16
-// *                                if not set alwaysShow, only more than one route under the children
17
-// *                                it will becomes nested mode, otherwise not show the root menu
18
-// * redirect: noredirect           if `redirect:noredirect` will no redirct in the breadcrumb
19
-// * name:'router-name'             the name is used by <keep-alive> (must set!!!)
20
-// * meta : {
21
-//     roles: ['admin','editor']     will control the page roles (you can set multiple roles)
22
-//     title: 'title'               the name show in submenu and breadcrumb (recommend set)
23
-//     icon: 'svg-name'             the icon show in the sidebar,
24
-//     noCache: true                if true ,the page will no be cached(default is false)
25
-//   }
26
-// **/
27
-// export const xt_constantRouterMap = [
28
-//   // { path: '/login', component: () => import('@/views/login/index'), hidden: true },
29
-//   { path: '/token/verify', component: () => import('@/xt_pages/index/verify_token'), hidden: true },
30
-//   { path: '/404', component: () => import('@/views/errorPage/404'), hidden: true },
31
-//   { path: '/401', component: () => import('@/views/errorPage/401'), hidden: true },
32
-//   {
33
-//     path: '',
34
-//     component: Layout,
35
-//     redirect: '/home',
36
-//     children: [{
37
-//       path: '/home',
38
-//       component: () => import('@/xt_pages/home/index'),
39
-//       name: 'home',
40
-//       meta: { title: 'home', icon: 'dashboard', noCache: true }
41
-//     }]
42
-//   },
43
-//   // //////////////////////////////////////////////////////////
44
-//   {
45
-//     path: '/sign',
46
-//     component: Layout,
47
-//     redirect: '/sign/index',
48
-//     name: 'sign',
49
-//     alwaysShow: true,
50
-//     meta: { title: 'signWeight', icon: 'table' },
51
-//     children: [
52
-//       { path: '/sign/index', component: () => import('@/xt_pages/sign/index'), name: 'signWeight', meta: { title: 'signWeight' }}
53
-//     ]
54
-//   },
55
-//   {
56
-//     path: '/patients',
57
-//     component: Layout,
58
-//     redirect: 'noredirect',
59
-//     name: 'User',
60
-//     meta: {
61
-//       title: 'user',
62
-//       icon: 'chart'
63
-//     },
64
-//     children: [
65
-//       {
66
-//         path: '/patients/patients',
67
-//         component: () => import('@/xt_pages/user/patients'),
68
-//         name: 'Patient',
69
-//         meta: { title: 'patient', noCache: true }
70
-//       },
71
-//       {
72
-//         path: '/patients/create',
73
-//         component: () => import('@/xt_pages/user/createPatient'),
74
-//         name: 'createPatient',
75
-//         meta: { title: 'createPatient', noCache: true }
76
-//       },
77
-//       {
78
-//         path: '/patients/patient/:id',
79
-//         component: () => import('@/xt_pages/user/patientInfo'),
80
-//         hidden: true,
81
-//         name: 'patient Page',
82
-//         meta: { title: 'patientPage', noCache: true }
83
-//       },
84
-//       {
85
-//         path: '/patients/patient/:id/edit',
86
-//         component: () => import('@/xt_pages/user/editPatient'),
87
-//         hidden: true,
88
-//         name: 'Edit Patient',
89
-//         meta: { title: 'editPatient', noCache: true }
90
-//       },
91
-//       {
92
-//         path: '/patients/patient/:id/dialysisSolution',
93
-//         component: () => import('@/xt_pages/user/dialysisSolution'),
94
-//         hidden: true,
95
-//         name: 'dialysisSolution',
96
-//         meta: { title: 'dialysisSolution', noCache: true }
97
-//       },
98
-//       {
99
-//         path: '/patients/patient/:id/weight',
100
-//         component: () => import('@/xt_pages/user/weight'),
101
-//         hidden: true,
102
-//         name: 'weight',
103
-//         meta: { title: 'weight', noCache: true }
104
-//       },
105
-//       {
106
-//         path: '/patients/dialysisRecord',
107
-//         component: () => import('@/xt_pages/user/dialysisRecord'),
108
-//         name: 'dialysisRecord',
109
-//         meta: { title: 'dialysisRecord', noCache: true }
110
-//       },
111
-//       {
112
-//         path: '/patients/patient/:id/scheduling',
113
-//         component: () => import('@/xt_pages/user/scheduling'),
114
-//         hidden: true,
115
-//         name: 'scheduling',
116
-//         meta: { title: 'scheduling', noCache: true }
117
-//       },
118
-//       {
119
-//         path: '/patients/patient/:id/doctorAdvice',
120
-//         component: () => import('@/xt_pages/user/doctorAdvice'),
121
-//         hidden: true,
122
-//         name: 'doctorAdvice',
123
-//         meta: { title: 'doctorAdvice', noCache: true }
124
-//       },
125
-//       {
126
-//         path: '/patients/inspection',
127
-//         component: () => import('@/xt_pages/user/inspection'),
128
-//         hidden: true,
129
-//         name: 'Inspection',
130
-//         meta: { title: 'inspection', noCache: true }
131
-//       }
132
-//     ]
133
-//   },
134
-//   {
135
-//     path: '/workforce',
136
-//     component: Layout,
137
-//     redirect: 'noredirect',
138
-//     name: 'workforce',
139
-//     meta: {
140
-//       title: 'workforce',
141
-//       icon: 'chart'
142
-//     },
143
-//     children: [
144
-//       {
145
-//         path: 'appointment',
146
-//         component: () => import('@/xt_pages/workforce/appointment'),
147
-//         name: 'appointment',
148
-//         meta: { title: 'appointment', noCache: true }
149
-//       },
150
-//       {
151
-//         path: 'sign',
152
-//         component: () => import('@/xt_pages/workforce/sign'),
153
-//         name: 'sign',
154
-//         meta: { title: 'sign', noCache: true }
155
-//       },
156
-//       {
157
-//         path: 'remind',
158
-//         component: () => import('@/xt_pages/workforce/remind'),
159
-//         name: 'remind',
160
-//         meta: { title: 'remind', noCache: true }
161
-//       }
162
-//     ]
163
-//   },
164
-//   {
165
-//     path: '/dialysis/',
166
-//     component: Layout,
167
-//     redirect: 'noredirect',
168
-//     name: 'dialysis',
169
-//     meta: {
170
-//       title: 'dialysis',
171
-//       icon: 'component'
172
-//     },
173
-//     children: [
174
-//       { path: 'paper', component: () => import('@/xt_pages/dialysis/dialysisPage'), name: 'paper', meta: { title: 'paper' }},
175
-//       { path: 'advice', component: () => import('@/xt_pages/dialysis/doctorAdvice'), name: 'advice', meta: { title: 'advice' }},
176
-//       { path: 'prepare', component: () => import('@/xt_pages/dialysis/dialysisPrepare'), name: 'prepare', meta: { title: 'prepare' }},
177
-//       { path: 'watch', component: () => import('@/xt_pages/dialysis/bloodPresssWatch'), name: 'watch', meta: { title: 'watch' }}
178
-//     ]
179
-//   },
180
-//   {
181
-//     path: '/device',
182
-//     component: Layout,
183
-//     redirect: '/device/main',
184
-//     name: 'device',
185
-//     alwaysShow: true,
186
-//     meta: { title: 'deviceManage', icon: 'table' },
187
-//     children: [
188
-//       { path: '/device/main', component: () => import('@/xt_pages/device/main'), name: 'deviceManage', meta: { title: 'deviceManage' }}
189
-//     ]
190
-//   }
191
-// ]
192
-
193
-// export default new Router({
194
-//   // mode: 'history', // require service support
195
-//   scrollBehavior: () => ({ y: 0 }),
196
-//   routes: xt_constantRouterMap
197
-// })
198
-
199
-// export const xt_asyncRouterMap = [
200
-//   {
201
-//     path: '/role',
202
-//     component: Layout,
203
-//     redirect: '/role/admin/manage',
204
-//     name: 'role',
205
-//     alwaysShow: true,
206
-//     meta: { title: 'permissionManage', icon: 'table' },
207
-//     children: [
208
-//       { path: '/role/admin/manage', component: () => import('@/xt_pages/role/admin'), name: 'adminManage', meta: { title: 'adminManage' }},
209
-//       { path: '/role/manage', component: () => import('@/xt_pages/role/role'), name: 'roleManage', meta: { title: 'roleManage' }},
210
-//       { path: '/role/admin/create', component: () => import('@/xt_pages/role/CreateAdmin'), name: 'addAdmin', meta: { title: 'addAdmin', noCache: true }, hidden: true, is_menu: false },
211
-//       { path: '/role/admin/edit', component: () => import('@/xt_pages/role/EditAdmin'), name: 'editAdmin', meta: { title: 'editAdmin', noCache: true }, hidden: true, is_menu: false },
212
-//       { path: '/role/perview', component: () => import('@/xt_pages/role/EditPerview'), name: 'setupPerview', meta: { title: 'setupPerview', noCache: true }, hidden: true, is_menu: false }
213
-//     ]
214
-//   }
215
-// ]

+ 64 - 19
src/store/modules/xt_user.js Ver arquivo

@@ -1,7 +1,14 @@
1
-import { verifyToken, modifyAdminInfo } from '@/api/login/login'
1
+import {
2
+  verifyToken,
3
+  modifyAdminInfo
4
+} from '@/api/login/login'
2 5
 // import { mapGetters } from 'vuex'
3 6
 // import { getToken, setToken, removeToken } from '@/utils/auth'
4
-import { getAdminUserInfoCache, cacheAdminUserInfo, removeAdminUserInfoCache } from '@/utils/admin_info_cache'
7
+import {
8
+  getAdminUserInfoCache,
9
+  cacheAdminUserInfo,
10
+  removeAdminUserInfoCache
11
+} from '@/utils/admin_info_cache'
5 12
 
6 13
 const xt_user = {
7 14
   state: {
@@ -33,9 +40,13 @@ const xt_user = {
33 40
       period_start: 0,
34 41
       period_end: 0,
35 42
       state: 2, // 1正版(标准) 2试用(免费) 3过期(或其他无效状态) 8 专业 9 永久,
36
-      patients:20, //患者数
43
+      patients: 20 // 患者数
37 44
     },
38 45
 
46
+    scrm_role_exist: false,
47
+    cdm_role_exist: false,
48
+    mall_role_exist: false,
49
+
39 50
     // 示例: ['', '',]
40 51
     urlfors: []
41 52
   },
@@ -68,6 +79,10 @@ const xt_user = {
68 79
       state.subscibe.period_start = cur_info.subscibe.period_start
69 80
       state.subscibe.period_end = cur_info.subscibe.period_end
70 81
       state.subscibe.state = cur_info.subscibe.state
82
+
83
+      state.scrm_role_exist = cur_info.scrm_role_exist
84
+      state.cdm_role_exist = cur_info.cdm_role_exist
85
+      state.mall_role_exist = cur_info.mall_role_exist
71 86
     },
72 87
 
73 88
     SET_URLFORS: (state, payload) => {
@@ -79,8 +94,8 @@ const xt_user = {
79 94
       state.user.avatar = payload.avatar
80 95
     },
81 96
 
82
-    SET_SUBSCIBE_PATIENT:(state)=>{
83
-      state.subscibe.patients += 1;
97
+    SET_SUBSCIBE_PATIENT: (state) => {
98
+      state.subscibe.patients += 1
84 99
     },
85 100
     CLEAR_USER_INFO: (state) => {
86 101
       state.org_id = 0
@@ -110,6 +125,10 @@ const xt_user = {
110 125
       state.subscibe.state = 3
111 126
       state.subscibe.patients = 0
112 127
 
128
+      state.scrm_role_exist = false
129
+      state.cdm_role_exist = false
130
+      state.mall_role_exist = false
131
+
113 132
       state.urlfors = []
114 133
     }
115 134
   },
@@ -121,11 +140,17 @@ const xt_user = {
121 140
   },
122 141
 
123 142
   actions: {
124
-    SetSubscibePatients({ commit, state }) {
125
-      commit('SET_SUBSCIBE_PATIENT');
143
+    SetSubscibePatients({
144
+      commit,
145
+      state
146
+    }) {
147
+      commit('SET_SUBSCIBE_PATIENT')
126 148
     },
127 149
 
128
-    VerifyToken({ commit, state }, token) {
150
+    VerifyToken({
151
+      commit,
152
+      state
153
+    }, token) {
129 154
       // console.log('验证 token 之前:token = ' + token)
130 155
       return new Promise((resolve, reject) => {
131 156
         var cacheInfo = getAdminUserInfoCache()
@@ -139,6 +164,9 @@ const xt_user = {
139 164
             cur_app_id: infoJSON.current_app_id,
140 165
             org: infoJSON.org,
141 166
             subscibe: infoJSON.subscibe,
167
+            scrm_role_exist: infoJSON.scrm_role_exist,
168
+            cdm_role_exist: infoJSON.cdm_role_exist,
169
+            mall_role_exist: infoJSON.mall_role_exist
142 170
           })
143 171
 
144 172
           commit('SET_URLFORS', {
@@ -149,14 +177,17 @@ const xt_user = {
149 177
           verifyToken(token).then(response => {
150 178
             if (response.data.state === 1) {
151 179
               // alert('验证通过')
152
-              console.log('验证通过')
180
+              // console.log('验证通过')
153 181
               var data = response.data.data
154 182
               this.commit('SET_CURRENT_INFO', {
155 183
                 user: data.user,
156 184
                 cur_org_id: data.current_org_id,
157 185
                 cur_app_id: data.current_app_id,
158 186
                 org: data.org,
159
-                subscibe: data.subscibe
187
+                subscibe: data.subscibe,
188
+                scrm_role_exist: data.scrm_role_exist,
189
+                cdm_role_exist: data.cdm_role_exist,
190
+                mall_role_exist: data.mall_role_exist
160 191
               })
161 192
 
162 193
               this.commit('SET_URLFORS', {
@@ -168,22 +199,34 @@ const xt_user = {
168 199
               resolve(data.user.id)
169 200
             } else {
170 201
               alert('请求失败:' + response.data.msg)
171
-              reject({ msg: response.data.msg, code: response.data.code })
202
+              reject({
203
+                msg: response.data.msg,
204
+                code: response.data.code
205
+              })
172 206
             }
173 207
           })
174 208
         }
175 209
       })
176 210
     },
177
-    ModifyAdminUserInfo({ commit, state }, params) {
178
-      commit('MODIFY_USER_INFO', { user_name: params.user_name, avatar: params.avatar })
211
+    ModifyAdminUserInfo({
212
+      commit,
213
+      state
214
+    }, params) {
215
+      commit('MODIFY_USER_INFO', {
216
+        user_name: params.user_name,
217
+        avatar: params.avatar
218
+      })
179 219
       cacheAdminUserInfo(
180
-        JSON.stringify({ 
181
-          user: state.user, 
182
-          org: state.org, 
183
-          current_org_id: state.org_id, 
184
-          current_app_id: state.app_id, 
220
+        JSON.stringify({
221
+          user: state.user,
222
+          org: state.org,
223
+          current_org_id: state.org_id,
224
+          current_app_id: state.app_id,
185 225
           urlfors: state.urlfors,
186 226
           subscibe: state.subscibe,
227
+          scrm_role_exist: state.scrm_role_exist,
228
+          cdm_role_exist: state.cdm_role_exist,
229
+          mall_role_exist: state.mall_role_exist
187 230
         })
188 231
       )
189 232
     },
@@ -207,7 +250,9 @@ const xt_user = {
207 250
     //   }
208 251
     // }
209 252
     // 登出
210
-    FrontendLogout({ commit }) {
253
+    FrontendLogout({
254
+      commit
255
+    }) {
211 256
       commit('CLEAR_USER_INFO')
212 257
       removeAdminUserInfoCache()
213 258
     }

+ 1 - 1
src/views/layout/Layout.vue Ver arquivo

@@ -2,7 +2,7 @@
2 2
   <div class="app-wrapper" :class="classObj">
3 3
     <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"></div>
4 4
       <navbar></navbar>
5
-    
5
+
6 6
     <div class="Header-container">
7 7
     <sidebar class="sidebar-container"></sidebar>
8 8
     <div class="main-container">

+ 28 - 27
src/views/layout/components/Navbar.vue Ver arquivo

@@ -5,40 +5,33 @@
5 5
     </div>
6 6
     <el-menu class="navbar" mode="horizontal">
7 7
       <div>
8
-        <el-dropdown trigger="click" style="color:#fff;">
9
-        <span class="el-dropdown-link">{{ this.$store.getters.xt_user.org.org_name }}
10
-          <!--<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i>-->
8
+        <span> {{this.$store.getters.xt_user.org.org_name}}
11 9
         </span>
12
-        </el-dropdown>
13 10
       </div>
14 11
       <div class="system-nav">
15
-        <div class="system-nav-menu">
16
-          <a  href="http://jk.kuyicloud.com/">
17
-          <!-- <a href="http://test1.sgjyun.com/"> -->
18
-            <span><i class="iconfont icon-pengyou"></i> SCRM</span>
19
-          </a>
20
-        </div>
21
-        <div class="system-nav-menu">
22
-          <a href="http://mall.kuyicloud.com/">
23
-          <!-- <a href="http://mall.test.sgjyun.com/"> -->
24
-            <span><i class="icon iconfont icon-service_fill"></i> 微商城</span>
25
-          </a>
26
-        </div>
27 12
         <div class="system-nav-menu active">
28 13
           <a>
29 14
             <span><i class="icon iconfont icon-jiankangshuidi"></i> 血透管理</span>
30 15
           </a>
31 16
         </div>
32
-        <div class="system-nav-menu">
33
-          <a href="http://cdm.kuyicloud.com/">
34
-          <!-- <a href=" http://cdm.test.sgjyun.com/"> -->
17
+        <div class="system-nav-menu" v-if="this.$store.getters.xt_user.cdm_role_exist">
18
+          <a :href="CDMWebsit()">
35 19
             <span><i class="icon iconfont icon-manbing-xuanzhong"></i> 慢病管理</span>
36 20
           </a>
37 21
         </div>
22
+        <div class="system-nav-menu" v-if="this.$store.getters.xt_user.scrm_role_exist">
23
+          <a :href="SCRMWebsit()">
24
+            <span><i class="iconfont icon-pengyou"></i> SCRM</span>
25
+          </a>
26
+        </div>
27
+        <div class="system-nav-menu" v-if="this.$store.getters.xt_user.mall_role_exist">
28
+          <a :href="MircoMallWebsit()">
29
+            <span><i class="icon iconfont icon-service_fill"></i> 微商城</span>
30
+          </a>
31
+        </div>
38 32
 
39 33
         <div class="system-nav-menu">
40
-          <a href="http://sso.kuyicloud.com/org/app/create">
41
-          <!-- <a href="http://testsso.sgjyun.com/org/app/create"> -->
34
+          <a :href="APPManageWebsit()">
42 35
             <span><i class="icon iconfont icon-suoyou"></i> 应用</span>
43 36
           </a>
44 37
         </div>
@@ -82,7 +75,7 @@
82 75
   export default {
83 76
     data() {
84 77
       return {
85
-        orgname: ''
78
+        // scrm_role_exist: $store.getters.xt_user.scrm_role_exist
86 79
       }
87 80
     },
88 81
     components: {
@@ -114,13 +107,21 @@
114 107
       myServe() {
115 108
         this.$router.push('/service')
116 109
         return false
110
+      },
111
+      SCRMWebsit() {
112
+        return process.env.SCRM_HOST
113
+      },
114
+      MircoMallWebsit() {
115
+        return process.env.MIRCO_MALL_HOST
116
+      },
117
+      CDMWebsit() {
118
+        return process.env.CDM_HOST
119
+      },
120
+      APPManageWebsit() {
121
+        return process.env.SSO_HOST + '/org/admin/apps?org=' + this.$store.getters.xt_user.org_id
117 122
       }
118 123
     },
119
-    create() {
120
-      var xtuser = this.$store.getters.xt_user
121
-      this.orgname = xtuser.org.org_name
122
-      console.log(this.orgname)
123
-
124
+    created() {
124 125
     }
125 126
   }
126 127
 </script>

+ 7 - 5
src/xt_pages/stock/Dialog/stockInDialog.vue Ver arquivo

@@ -85,19 +85,19 @@
85 85
         multipleSelection: [],
86 86
         currentGoodTypeId: 0,
87 87
         isClose: false,
88
-        visibility: false,
88
+        visibility: false
89 89
       }
90 90
     },
91 91
     props: {
92 92
       propForm: {
93 93
         type: Object
94
-      },
94
+      }
95 95
     },
96 96
     methods: {
97
-      hide:function(){
97
+      hide: function() {
98 98
         this.visibility = false
99 99
       },
100
-      show:function(){
100
+      show: function() {
101 101
         this.visibility = true
102 102
       },
103 103
       goodTypeTableChange: function(currentRow, oldCurrentRow) {
@@ -124,12 +124,14 @@
124 124
         this.goodInfoTableData = []
125 125
         this.$emit('dialog-cancle', this.getValue())
126 126
         this.$refs.multipleTable.clearSelection()
127
+        this.$refs.templatetable.setCurrentRow(null)
127 128
       },
128 129
       comfirm: function(formName) {
129 130
         this.goodInfo = []
130 131
         this.goodInfoTableData = []
131 132
         this.$emit('dialog-comfirm', this.getValue())
132 133
         this.$refs.multipleTable.clearSelection()
134
+        this.$refs.templatetable.setCurrentRow(null)
133 135
       },
134 136
       getValue: function() {
135 137
         const obj = {
@@ -182,7 +184,7 @@
182 184
         this.multipleSelection = val
183 185
       }, changeAllGoodInfoTableData: function(val) {
184 186
         this.multipleSelection = val
185
-      },clickRow:function(row) {
187
+      }, clickRow: function(row) {
186 188
         this.$refs.multipleTable.toggleRowSelection(row)
187 189
       }
188 190
     }

+ 3 - 3
src/xt_pages/user/components/PatientForm.vue Ver arquivo

@@ -498,9 +498,9 @@
498 498
       }
499 499
 
500 500
       return {
501
-        crumbs:[
502
-          {path:false, name:'病人管理'},
503
-          {path:false, name:'新增病人'},
501
+        crumbs: [
502
+          { path: false, name: '病人管理' },
503
+          { path: false, name: '新增病人' }
504 504
         ],
505 505
         generic_info_fold: true,
506 506
         treat_info_fold: true,

+ 66 - 67
src/xt_pages/workforce/components/setup_template_dialog.vue Ver arquivo

@@ -18,81 +18,80 @@
18 18
 </template>
19 19
 
20 20
 <script>
21
-import { setTemplateMode } from "@/api/schedule_template/patient"
21
+import { setTemplateMode } from '@/api/schedule_template/patient'
22 22
 
23 23
 export default {
24
-    name: "SetUpTemplateDialog",
25
-    data() {
26
-        return {
27
-            visible: false,
28
-            form: {
29
-                mode: 0,
30
-            },
31
-        }
24
+  name: 'SetUpTemplateDialog',
25
+  data() {
26
+    return {
27
+      visible: false,
28
+      form: {
29
+        mode: 0
30
+      }
31
+    }
32
+  },
33
+  props: {
34
+    template_mode: {
35
+      type: Object
32 36
     },
33
-    props: {
34
-        template_mode: {
35
-            type: Object,
36
-        },
37
-        origin_mode: {
38
-            type: Number,
39
-        }
37
+    origin_mode: {
38
+      type: Number
39
+    }
40
+  },
41
+  watch: {
42
+    'template_mode.mode': function() {
43
+      this.form.mode = this.template_mode.mode
44
+    }
45
+  },
46
+  methods: {
47
+    _close: function(done) {
48
+      this.clear()
49
+      done()
40 50
     },
41
-    watch: {
42
-        "template_mode.mode": function() {
43
-            this.form.mode = this.template_mode.mode
44
-        }
51
+    clear: function() {
52
+
53
+    },
54
+    show() {
55
+      this.clear()
56
+      this.visible = true
45 57
     },
46
-    methods: {
47
-        _close: function(done) {
48
-            this.clear()
49
-            done()
50
-        },
51
-        clear: function() {
52
-         
53
-        },
54
-        show() {
55
-            this.clear()
56
-            this.visible = true
57
-        },
58
-        hide() {
59
-            this.clear()
60
-            this.visible = false
61
-        },
62
-        saveAction: function() {
63
-            var msg = ""
64
-            if (this.origin_mode == 0) { // 0 -> 1 或 0 -> 2 直接清除下两周的排班
65
-                msg = "开启模板将清除下两周已设置的排班!是否继续开启?"
66
-            } else if (this.form.mode == 0) { // 1 -> 0 或 2 -> 0 则不处理排班,但清除所有模板item
58
+    hide() {
59
+      this.clear()
60
+      this.visible = false
61
+    },
62
+    saveAction: function() {
63
+      var msg = ''
64
+      if (this.origin_mode == 0) { // 0 -> 1 或 0 -> 2 直接清除下两周的排班
65
+        msg = '开启模板将清除下两周已设置的排班!是否继续开启?'
66
+      } else if (this.form.mode == 0) { // 1 -> 0 或 2 -> 0 则不处理排班,但清除所有模板item
67 67
 
68
-            } else if (this.origin_mode == 1 && this.form.mode == 2) { // 1 -> 2 清除第二周排班
69
-                msg = "开启双周模板将清除下第二周已设置的排班!是否继续开启?"
70
-            } else if (this.origin_mode == 2 && this.form.mode == 1) { // 2 -> 1 清除第二周模板item,清除第二周排班,将第一周的排班重复到第二周
71
-                msg = "双周模板调整为单周模板时,下第二周排班将被清除,并用单周模板生成下第二周的排班!是否继续调整?"
72
-            }
73
-            if (msg.length == 0) {
74
-                this.submit()
75
-            } else {
76
-                this.$confirm(msg, '提示', {confirmButtonText: '确 定', cancelButtonText: '取 消', type: 'warning'})
77
-                .then(() => {
78
-                    this.submit()
79
-                })
80
-            }
81
-        },
82
-        submit: function() {
83
-            setTemplateMode(this.form.mode).then(rs => {
84
-                var resp = rs.data
85
-                if (resp.state == 1) {
86
-                    this.template_mode.mode = this.form.mode
87
-                    this.hide()
88
-                    this.$emit("chenge_mode", this.form.mode)
89
-                    
90
-                } else {
91
-                    this.$message.error(resp.msg)
92
-                }
93
-            })
68
+      } else if (this.origin_mode == 1 && this.form.mode == 2) { // 1 -> 2 清除第二周排班
69
+        msg = '开启双周模板将清除下第二周已设置的排班!是否继续开启?'
70
+      } else if (this.origin_mode == 2 && this.form.mode == 1) { // 2 -> 1 清除第二周模板item,清除第二周排班,将第一周的排班重复到第二周
71
+        msg = '双周模板调整为单周模板时,下第二周排班将被清除,并用单周模板生成下第二周的排班!是否继续调整?'
72
+      }
73
+      if (msg.length == 0) {
74
+        this.submit()
75
+      } else {
76
+        this.$confirm(msg, '提示', { confirmButtonText: '确 定', cancelButtonText: '取 消', type: 'warning' })
77
+          .then(() => {
78
+            this.submit()
79
+          })
80
+      }
81
+    },
82
+    submit: function() {
83
+      setTemplateMode(this.form.mode).then(rs => {
84
+        var resp = rs.data
85
+        if (resp.state == 1) {
86
+          this.template_mode.mode = this.form.mode
87
+          this.hide()
88
+          this.$emit('chenge_mode', this.form.mode)
89
+        } else {
90
+          this.$message.error(resp.msg)
94 91
         }
92
+      })
95 93
     }
94
+  }
96 95
 }
97 96
 </script>
98 97
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 749 - 758
src/xt_pages/workforce/components/tableData.vue


+ 13 - 13
src/xt_permission.js Ver arquivo

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