centaline-data-driven 1.5.67 → 1.5.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache +0 -0
  2. package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/db.lock +0 -0
  3. package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/storage.ide +0 -0
  4. package/build/centaline/centaline.path.js +2 -0
  5. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +11 -10
  6. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +11 -14
  7. package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.targets +7 -7
  8. package/obj/project.assets.json +11 -52
  9. package/package.json +1 -1
  10. package/release-log.md +25 -1
  11. package/src/Detail.vue +3 -3
  12. package/src/EmployeeClassList.vue +85 -0
  13. package/src/Form.vue +4 -8
  14. package/src/SearchList.vue +50 -25
  15. package/src/centaline/api/index.js +42 -9
  16. package/src/centaline/dynamicCalendar/index.js +11 -0
  17. package/src/centaline/dynamicCalendar/src/dynamicCalendar.vue +623 -0
  18. package/src/centaline/dynamicCalendar/src/index.css +181 -0
  19. package/src/centaline/dynamicCb/src/dynamicCb.vue +5 -1
  20. package/src/centaline/dynamicForm/src/dynamicForm.vue +5 -2
  21. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +7 -50
  22. package/src/centaline/dynamicHyperLink/index.js +1 -1
  23. package/src/centaline/dynamicLayout/src/dynamicLayoutChildren.vue +17 -17
  24. package/src/centaline/dynamicPlaceHolder/index.js +1 -1
  25. package/src/centaline/dynamicSearch/index.js +11 -0
  26. package/src/centaline/dynamicSearch/src/dynamicSearch.vue +73 -0
  27. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +36 -13
  28. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +2 -2
  29. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +105 -17
  30. package/src/centaline/dynamicTree/src/dynamicTreeList.vue +9 -4
  31. package/src/centaline/loader/src/ctl/Base.js +2 -2
  32. package/src/centaline/loader/src/ctl/Button.js +16 -16
  33. package/src/centaline/loader/src/ctl/Canlendar.js +107 -0
  34. package/src/centaline/loader/src/ctl/FormList.js +2 -2
  35. package/src/centaline/loader/src/ctl/Mo.js +4 -2
  36. package/src/centaline/loader/src/ctl/PlaceHolder.js +2 -2
  37. package/src/centaline/loader/src/ctl/Router.js +14 -0
  38. package/src/centaline/loader/src/ctl/TimeSelect.js +6 -2
  39. package/src/centaline/loader/src/ctl/lib/LibFunction.js +1 -0
  40. package/src/centaline/loader/src/ctl.js +1 -0
  41. package/src/main.js +3 -4
  42. package/src/router/index.js +6 -1
  43. package/wwwroot/static/centaline/centaline-data-driven.js +38717 -16417
  44. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
  45. package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache.v2 +0 -0
  46. package/.vs/Centaline.Front_End.DataDriven/config/applicationhost.config +0 -1034
  47. package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.csproj.FileListAbsolute.txt +0 -6
@@ -691,7 +691,7 @@ export default {
691
691
  break;
692
692
  }
693
693
  else {
694
- topHeigth = topHeigth + this.model.listData[index].$heigth;
694
+ topHeigth = topHeigth + this.model.listData[index].$heigth||31;
695
695
  }
696
696
  }
697
697
  this.firstRow = index - 1;
@@ -852,6 +852,7 @@ export default {
852
852
  }
853
853
  }
854
854
  this.currentRow = this.$refs["rows." + index][0] || null;
855
+ this.$emit("rowClickHandle");
855
856
  }
856
857
  },
857
858
  rowMergedColorChange(oldIndex,newIndex) {
@@ -993,20 +994,33 @@ export default {
993
994
  let self = this;
994
995
  let submitData = {};
995
996
  let action = field.action;
997
+ let jsonData = [];
996
998
 
997
999
  var tempListData = self.model.getSelectRowData(field);
998
- if (tempListData != null) {
1000
+ if (tempListData != null) {
999
1001
  field.submitListField.forEach((k) => {
1000
1002
  if (field.isMulti) {
1001
1003
  submitData[k] = [];
1002
1004
  for (var ri = 0; ri < tempListData.length; ri++) {
1003
- submitData[k].push(tempListData[ri][k]);
1005
+ submitData[k].push(self.$common.getDataOfUpperLower(tempListData[ri], k));
1004
1006
  }
1005
- } else {
1007
+ }
1008
+ else {
1006
1009
  submitData[k] = tempListData[0][k];
1007
1010
  }
1008
1011
  });
1009
1012
 
1013
+ tempListData.forEach((row) => {
1014
+ if (field.isMulti) {
1015
+ let jsonModel={};
1016
+ field.submitListField.forEach((k) => {
1017
+ jsonModel[self.$common.initialsToLowerCase(k)]=self.$common.getDataOfUpperLower(row, k);
1018
+ });
1019
+ jsonData.push(jsonModel);
1020
+ }
1021
+ });
1022
+ if(jsonData.length>0)submitData['jsonData']=jsonData;
1023
+
1010
1024
  if (field.isSingle && tempListData.length > 0 && field.actionField) {
1011
1025
  action = tempListData[0][field.actionField];
1012
1026
  }
@@ -1206,7 +1220,54 @@ export default {
1206
1220
  else if (field.isExport || field.flagAsync) {
1207
1221
  if (field.flagAsync) {
1208
1222
  field.doAction(submitData, (res) => {
1209
- if (res.content && res.content.action) {
1223
+ if(res.rtnCode && res.rtnCode===202 && res.rtnMsg){
1224
+ self.$common.confirm(res.rtnMsg, '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
1225
+ submitData.flagHaveAlert=1;
1226
+ field.doAction(submitData, (res) => {
1227
+ if (res.content && res.content.action) {
1228
+ var dialogOption = {
1229
+ title: field.pageTitle || field.label,
1230
+ content: [{
1231
+ component: 'ct-progress',
1232
+ attrs: {
1233
+ progressAction: res.content.action,
1234
+ progressKey: res.content.key,
1235
+ progressType: field.isExport ? 'export' : 'import',
1236
+ width: '350px',
1237
+ height: '165px'
1238
+ },
1239
+ on: {
1240
+ finished(data) {
1241
+ self.$common.closeDialog(dialogOption.dialog);
1242
+ if (data.rtnMsg) {
1243
+ self.$message({
1244
+ message: data.rtnMsg,
1245
+ type: 'success',
1246
+ showClose:true,
1247
+ });
1248
+ }
1249
+ if(!field.isExport){
1250
+ self.getPage(1);
1251
+ }
1252
+ },
1253
+ error(data) {
1254
+ self.$common.closeDialog(dialogOption.dialog);
1255
+ self.$message({
1256
+ message: data.rtnMsg,
1257
+ type: 'warning',
1258
+ showClose:true,
1259
+ });
1260
+ }
1261
+ }
1262
+ }]
1263
+ };
1264
+ self.$common.openDialog(dialogOption);
1265
+ }
1266
+ });
1267
+ })
1268
+ .catch(() => { });
1269
+ }
1270
+ else if (res.content && res.content.action) {
1210
1271
  var dialogOption = {
1211
1272
  title: field.pageTitle || field.label,
1212
1273
  content: [{
@@ -1262,23 +1323,50 @@ export default {
1262
1323
  }
1263
1324
  }
1264
1325
  else {
1265
- field.doAction(submitData, (data) => {
1266
- if (data.content) {
1267
- if (data.content.indexOf("http://") === 0 || data.content.indexOf("https://") === 0) {
1268
- if(data.action.indexOf(".zip") > -1){
1269
- window.location.href = encodeURI(data.action);
1270
- }
1271
- else{
1272
- if (data.content.indexOf("?") > -1) {
1273
- self.downloadUrl = data.content + "&" + Math.random();
1326
+ field.doBlobAction(submitData, (data,headers) => {
1327
+ if(data.type=="application/json"){
1328
+ const reader = new FileReader();
1329
+ reader.readAsText(data, 'utf-8');
1330
+ reader.onload=function(){
1331
+ data = JSON.parse(reader.result);
1332
+ if (data.content) {
1333
+ if (data.content.indexOf("http://") === 0 || data.content.indexOf("https://") === 0) {
1334
+ if(data.content.indexOf(".zip") > -1){
1335
+ window.location.href = encodeURI(data.action);
1336
+ }
1337
+ else{
1338
+ if (data.content.indexOf("?") > -1) {
1339
+ self.downloadUrl = data.content + "&" + Math.random();
1340
+ }
1341
+ else {
1342
+ self.downloadUrl = data.content + "?" + Math.random();
1343
+ }
1344
+ }
1274
1345
  }
1275
1346
  else {
1276
- self.downloadUrl = data.content + "?" + Math.random();
1277
1347
  }
1278
1348
  }
1349
+ };
1350
+ }
1351
+ else{
1352
+ if(!headers['content-disposition']){
1353
+ self.$message({
1354
+ message: '返回结果headers必须包含Access-Control-Expose-Headers和Content-Disposition!',
1355
+ type: 'error',
1356
+ showClose:true,
1357
+ });
1358
+ return false;
1279
1359
  }
1280
- else {
1281
- }
1360
+
1361
+ let blob = new Blob([data],{type:"application/octet-stream;"})
1362
+ const url = window.URL.createObjectURL(blob);
1363
+ const link = document.createElement('a');
1364
+ let fileName=decodeURIComponent(escape(headers['content-disposition'].split('filename=')[1]));
1365
+ link.href = url;
1366
+ link.setAttribute('download',fileName);
1367
+ document.body.appendChild(link);
1368
+ link.click();
1369
+ document.body.removeChild(link);
1282
1370
  }
1283
1371
  });
1284
1372
  }
@@ -88,7 +88,12 @@ export default {
88
88
  });
89
89
  }
90
90
  },
91
-
91
+ setsearchtreeHeight(){
92
+ if(self.$refs.tree_left.$el)
93
+ {
94
+ self.searchtreeHeight = self.$refs.tree_left.$el.offsetHeight;
95
+ }
96
+ }
92
97
  },
93
98
  created() {
94
99
  this.model = this.vmodel;
@@ -97,15 +102,15 @@ export default {
97
102
  let self = this;
98
103
  window.addEventListener('resize', function () {
99
104
  self.$nextTick(() => {
100
- self.searchtreeHeight = self.$refs.tree_left.$el.offsetHeight;
105
+ self.setsearchtreeHeight();
101
106
  })
102
107
  })
103
- self.searchtreeHeight = self.$refs.tree_left.$el.offsetHeight;
108
+ self.setsearchtreeHeight();
104
109
  },
105
110
  activated(){
106
111
  let self = this;
107
112
  self.$nextTick(() => {
108
- self.searchtreeHeight = self.$refs.tree_left.$el.offsetHeight;
113
+ self.setsearchtreeHeight();
109
114
  })
110
115
  }
111
116
  }
@@ -201,7 +201,7 @@ const Base = function (source) {
201
201
  this.value = this.defaultFormat[0];
202
202
  this.value1 = this.defaultFormat[1];
203
203
  }
204
- else if(this.type===Enum.ControlType.CheckBox || this.type===Enum.ControlType.CheckBoxList){
204
+ else if(this.type===Enum.ControlType.CheckBoxList){
205
205
  this.value = this.defaultValue;
206
206
  this.forceUpdate();
207
207
  }
@@ -235,7 +235,7 @@ const Base = function (source) {
235
235
  this.value = '';
236
236
  this.value1 = '';
237
237
  }
238
- else if(this.type===Enum.ControlType.CheckBox || this.type===Enum.ControlType.CheckBoxList){
238
+ else if(this.type===Enum.ControlType.CheckBoxList){
239
239
  this.checkedItemArr = [];
240
240
  this.updateCode1();
241
241
  }
@@ -1,7 +1,7 @@
1
1
  import base from '../../index';
2
- import Base from './Base';
3
- import common from '../../../common';
4
- import Router from './Router';
2
+ import Base from './Base';
3
+ import common from '../../../common';
4
+ import Router from './Router';
5
5
  import Vue from 'vue';
6
6
  const Button = function (source, router) {
7
7
  var rtn = {
@@ -15,7 +15,7 @@ const Button = function (source, router) {
15
15
  },
16
16
  set label(v) {
17
17
  source.controlLabel = v;
18
- },
18
+ },
19
19
  get routerKey() {
20
20
  return source.routerKey;
21
21
  },
@@ -24,8 +24,8 @@ const Button = function (source, router) {
24
24
  return router.isHyperLink;
25
25
  }
26
26
  return false;
27
- },
28
- get isSearchRouterKey() {
27
+ },
28
+ get isSearchRouterKey() {
29
29
  if (source.controlType == 16 && source.routerKey) {
30
30
  return true;
31
31
  }
@@ -48,10 +48,10 @@ const Button = function (source, router) {
48
48
  get borderColor() {
49
49
  return source.borderColor ? source.borderColor + '' : (source.bgColor ? source.bgColor + '' : '');
50
50
  },
51
- icon: '',
52
- getApiData(callback, field) {
51
+ icon: '',
52
+ getApiData(callback, field) {
53
53
  var params = {
54
- action: field.actionForSearch,
54
+ action: field.actionForSearch,
55
55
  para: {
56
56
  searchFields: field.getSearchPara(),
57
57
  pageAttribute: {
@@ -59,11 +59,11 @@ const Button = function (source, router) {
59
59
  },
60
60
  flagSearch: true
61
61
  }
62
- };
62
+ };
63
63
  Vue.prototype.$api.postHandler(common.globalUri(), params).then((response) => {
64
- if (response.rtnCode === 200) {
65
- var Buttons = [];
66
- if (response.content.toolButtons) {
64
+ if (response.rtnCode === 200) {
65
+ var Buttons = [];
66
+ if (response.content.toolButtons) {
67
67
  response.content.toolButtons.forEach((v) => {
68
68
  var button = Router(v);
69
69
  button.is = "ct-btn";
@@ -72,11 +72,11 @@ const Button = function (source, router) {
72
72
  class: 'max-btn-gray'
73
73
  }
74
74
  Buttons.push(button);
75
- });
76
- }
75
+ });
76
+ }
77
77
  callback(response.content, Buttons);
78
78
  }
79
- });
79
+ });
80
80
  },
81
81
  };
82
82
  if(router){
@@ -0,0 +1,107 @@
1
+ import base from '../../index';
2
+ import Vue from 'vue';
3
+ import common from '../../../common';
4
+ import Router from './Router';
5
+ import Enum from './lib/Enum';
6
+
7
+ const Canlendar = function (source, param,flagSearch,callBack) {
8
+ var self = this;
9
+ var init = function (source) {
10
+ let rtn = {
11
+ get source() {
12
+ return source;
13
+ },
14
+ set source(v) {
15
+ source = v;
16
+ },
17
+ get listData() {
18
+ if (!source.rows) {
19
+ source.rows = [];
20
+ }
21
+ return source.rows;
22
+ },
23
+ set listData(v) {
24
+ source.rows = v;
25
+ },
26
+ get columns() {
27
+ if (!source.columns) {
28
+ source.columns = [];
29
+ }
30
+ return source.columns;
31
+ },
32
+
33
+ set columns(v) {
34
+ this._columns = [];
35
+ source.content.columns = v;
36
+ },
37
+ get modelCanlendar() {
38
+ var canlendarData = [];
39
+ source.content.rows.forEach(v => {
40
+ v.day = rtn.rowRouterKey("day");
41
+ v.date = rtn.rowRouterKey("date");
42
+ v.labelName = rtn.rowRouterKey("labelName");
43
+ canlendarData.push(v);
44
+ });
45
+ return canlendarData;
46
+ },
47
+ rowRouterKey(key) {
48
+ var obj = { action: "" };
49
+ if (rtn.rowRouter) {
50
+ var rowRouter = rtn.rowRouter;
51
+ for (var i = 0; i < rowRouter.length; i++) {
52
+ if (rowRouter[i].id == key) {
53
+ obj = rowRouter[i];
54
+ break;
55
+ }
56
+ }
57
+ return obj;
58
+ }
59
+ },
60
+ _tabs: null,
61
+ get tabs() {
62
+ if (this._tabs !== null) {
63
+ return this._tabs;
64
+ }
65
+
66
+ this._tabs = [];
67
+ source.Tabs.forEach(v => {
68
+ var tab = Router(v);
69
+ this._tabs.push(tab);
70
+ });
71
+
72
+ return this._tabs;
73
+ }
74
+ };
75
+
76
+ //valid.InitForm(rtn);
77
+ return rtn;
78
+ };
79
+ if (typeof source === 'string') {
80
+ var apiData = param ? param.searchData : {};
81
+ Vue.prototype.$api.postHandler(common.globalUri(),
82
+ {
83
+ action: source,
84
+ para:
85
+ {
86
+ searchFields: apiData,
87
+ pageAttribute: { pageIndex: 1 },
88
+ flagSearch: flagSearch
89
+ }
90
+ }).then(
91
+ function (response) {
92
+ if (response.rtnCode === Enum.ReturnCode.Successful) {
93
+ var data = response.content;
94
+ var rtn = init(data);
95
+ if (callBack) {
96
+ callBack(rtn);
97
+ }
98
+ }
99
+ }
100
+ );
101
+ }
102
+ else {
103
+ var data = source;
104
+ return init(data);
105
+ }
106
+ };
107
+ export default Canlendar;
@@ -17,7 +17,7 @@ const FormList = function (source, master) {
17
17
  return master.controlType;
18
18
  },
19
19
  get label() {
20
- return master.dn || '';
20
+ return master.controlLabel || '';
21
21
  },
22
22
  get source() {
23
23
  return source;
@@ -389,7 +389,7 @@ const FormList = function (source, master) {
389
389
  let isRepeat = rtn.isDuplicated(rtn.fieldsToTableData(ev.formData.source.fields), index);
390
390
 
391
391
  if (!isRepeat) {
392
- for (let findex = 0; findex < row.length; findex++) {//循环所在行的列
392
+ for (let findex = 0; findex < row.length; findex++) {//循环所在行的列
393
393
  Vue.set(row[findex], 'code1', ev.formData.source.fields[findex].code1);
394
394
  Vue.set(row[findex], 'name1', ev.formData.source.fields[findex].name1);
395
395
  switch(ev.formData.source.fields[findex].controlType){
@@ -25,7 +25,9 @@ const Mo = function (source, moreActionRouter) {
25
25
  else {
26
26
  this._value = [];
27
27
  this.options.forEach((v) => {
28
- this._value.push(v[this.optionAttrs.value]);
28
+ if(!v.flagDeleted && v.flagDeleted !== 1){
29
+ this._value.push(v[this.optionAttrs.value]);
30
+ }
29
31
  });
30
32
  return this._value;
31
33
  }
@@ -79,7 +81,7 @@ const Mo = function (source, moreActionRouter) {
79
81
  if (source.code1) {
80
82
  var rtnLabelValue = '';
81
83
  JSON.parse(source.code1).forEach((op) => {
82
- if (op.flagDeleted !== 1) {
84
+ if (!op.flagDeleted && op.flagDeleted !== 1) {
83
85
  rtnLabelValue += op[rtn.optionAttrs.label] + ' ';
84
86
  }
85
87
  });
@@ -1,5 +1,5 @@
1
1
  import base from '../../index';
2
- import Base from './Base';
2
+ import Base from './Base';
3
3
 
4
4
  const PlaceHolder = function (source) {
5
5
  var rtn = {
@@ -14,4 +14,4 @@ const PlaceHolder = function (source) {
14
14
  return rtn;
15
15
  };
16
16
 
17
- export default PlaceHolder;
17
+ export default PlaceHolder;
@@ -308,6 +308,20 @@ const Router = function (source) {
308
308
  });
309
309
  }
310
310
  },
311
+ doBlobAction(data, callback, scripts) {
312
+ if (rtn.action) {
313
+ Vue.prototype.$api.postBlobHandler(common.globalUri(), rtn.getActionPara(data), scripts).then((response) => {
314
+ callback(response.data,response.headers);
315
+ }).catch((ex) => {
316
+ // callback(ex); //里面需要有data.rtnCode === 200的处理
317
+ });
318
+ }
319
+ else {
320
+ callback({
321
+ rtnCode: Enum.ReturnCode.Successful
322
+ });
323
+ }
324
+ },
311
325
  getSearchPara() {
312
326
  let params = {
313
327
  fields: []
@@ -30,7 +30,9 @@ const TimeSelect = function (source, isRange, dateType) {
30
30
  },
31
31
  get value() {
32
32
  if (source.code1 && source.format !="HH:mm" && Object.prototype.toString.call(source.code1) === "[object String]") {
33
- source.code1 = new Date(common.formatDate(new Date(), 'yyyy-MM-dd') + ' ' + source.code1);
33
+ if(source.code1.length<=8){
34
+ source.code1 = new Date(common.formatDate(new Date(), 'yyyy-MM-dd') + ' ' + source.code1);
35
+ }
34
36
  }
35
37
  return source.code1;
36
38
  },
@@ -42,7 +44,9 @@ const TimeSelect = function (source, isRange, dateType) {
42
44
  },
43
45
  get value1() {
44
46
  if (source.code2 && source.format != "HH:mm" && Object.prototype.toString.call(source.code2) === "[object String]") {
45
- source.code2 = new Date(common.formatDate(new Date(), 'yyyy-MM-dd') + ' ' + source.code2);
47
+ if(source.code2.length<=8){
48
+ source.code2 = new Date(common.formatDate(new Date(), 'yyyy-MM-dd') + ' ' + source.code2);
49
+ }
46
50
  }
47
51
  return source.code2;
48
52
  },
@@ -37,6 +37,7 @@ import RichText from '../RichText';
37
37
  import DragSort from '../DragSort';
38
38
  import Container from '../Container';
39
39
  import Contact from '../Contact';
40
+ import Canlendar from '../Canlendar';
40
41
 
41
42
 
42
43
  const LibFunction = {
@@ -43,6 +43,7 @@ const loader = {
43
43
  Contact: require("./ctl/Contact.js").default,
44
44
  CellLayout: require("./ctl/CellLayout.js").default,
45
45
  Container: require("./ctl/Container.js").default,
46
+ Canlendar: require("./ctl/Canlendar.js").default,
46
47
  };
47
48
 
48
49
  export default loader;
package/src/main.js CHANGED
@@ -14,8 +14,7 @@ Vue.use(ElementUI, { size: 'mini'});
14
14
  // 关闭生产模式下给出的提示
15
15
  Vue.config.productionTip = false;
16
16
  Vue.use(centaline, {
17
- //baseUrl: "http://10.88.22.66:17070/max-uplink-api/",
18
- baseUrl: "http://10.1.245.111:38028",
17
+ baseUrl: "http://10.88.22.46:17070/max-uplink-api/",
19
18
  // baseUrl: "http://10.88.22.13:17070/max-uplink-api/",
20
19
  // baseUrl: "http://10.6.1.163:9000/max-uplink-api/v1/form/router",
21
20
  // baseUrl: "http://10.25.10.67:9999/service-api/v1/form/router",
@@ -54,9 +53,9 @@ Vue.use(centaline, {
54
53
  // 获取请求头
55
54
  getRequestHeaders: function () {
56
55
  return {
57
- oldToken: '2b6283ce-3840-41ba-baed-b863494b4c20',
56
+ oldToken: '11c12506-253c-4995-83fb-84cf51cb23a0',
58
57
  token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO_iOiv5s1570zn-NBwiIuBIoUIkkUCIuxMEdPRMMRq95s1dzOsgWmHIccikIFr0gKQsMJYCURKxKdKYlHr-BH7UNz26yCFkByg7Aiw2A-tYwLDtEubgUibRiHo9i1aRRy-dtdSIab-8gdNKvcA618uu3v5x7rRMm3YkOZAfR6BtAWp_3LQHBNI8KHbkqlHi8QQAAP__.RrBgBqaFlp478oO3g5k_EEtjPt_o8qpJBkzgSP78Wa4',
59
- authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjEOwjAMRe_iuZaS2knsbo3bLhyialGGMiFoJRDi7oCAjZ03_OEt79_gvM3QQCetYxsIra8DcpcCtkMSzCbicp2Is4z6AX_Ml9F71uRjj60mQ45MKN4EjaPx0PVkuYMKyuUIjY_KniJRqGCZ1rdwrPoS27mcduX6j3OHdXlmKTkKtGfkpIQ8zwW1DgmJJ4qOvEwc4f4AAAD__w.13BsUTcpp5bM-wZHc7B-IiabxaSne4yLtw5g5rOXPTw"}',
58
+ authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQBe-ydVbyZ71ep4vtpOEQUQiOFCpEEgmEuDsgoKNnildMM-8Gy7aHGrI0ilJnMbXGIWXvsOm8YEwiKhpvKUofPuCP-dJrTcFrbrEJPiExWRSdBBNxoi63NsUMFZTLCWrNwoGtElvBPKxvIZ75JbalnHfl-o9zx3V-Zt1QggTrUJkwIE1qQlGjQ2dkJPGGlRzg_gAAAP__.AvGloBOPe6P0tfZZUrjROEl8nOpm1A0ih43ut1I75w8"}',
60
59
 
61
60
  originalRequestURL: 'http://10.88.22.67:8080',
62
61
  EstateInfo: '{"estateId":"201806071109550C867184E8BCA56EC3","estateName":"C%E5%BE%A1%E6%9E%97%E5%B1%B1%E6%99%AF%E6%A5%BC"}',
@@ -7,7 +7,7 @@ import Form from '@/Form'
7
7
  import Tabs from '@/Tabs'
8
8
  import Detail from '@/Detail'
9
9
  import Tree from '@/SearchTree'
10
-
10
+ import EmployeeClassList from '@/EmployeeClassList'
11
11
  Vue.use(Router)
12
12
 
13
13
  export default new Router({
@@ -46,6 +46,11 @@ export default new Router({
46
46
  path: '/SearchTree',
47
47
  name: 'Tree',
48
48
  component: Tree
49
+ },
50
+ {
51
+ path: '/EmployeeClassList',
52
+ name: 'EmployeeClassList',
53
+ component: EmployeeClassList
49
54
  }
50
55
  ]
51
56
  })