centaline-data-driven 1.6.59 → 1.6.61

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.6.59",
3
+ "version": "1.6.61",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/release-log.md CHANGED
@@ -1,9 +1,33 @@
1
+ # v1.6.61
2
+ 2026-02-09
3
+
4
+ 优化
5
+
6
+ 点击行显示侧边栏时,需要根据行路由配置附带左侧的查询条件
7
+
8
+ 树界面左侧树的查询条件支持可以传query参数
9
+
10
+ # v1.6.60
11
+ 2025-12-29
12
+
13
+ 优化
14
+
15
+ 查询列表点击重置按钮清空值后,根据重置按钮上的【是否自动查询】来决定是否查询列表数据
16
+
17
+ 消息提示框添加Dialog对话框
18
+
19
+ BUG
20
+
21
+ 表单toptip显示位置错误处理
22
+
1
23
  # v1.6.59
2
24
  2025-12-09
3
25
 
4
26
  优化
5
27
 
6
- 分片上传添加请求头传到API,添加action传到前端
28
+ 分片上传添加请求头传到API
29
+
30
+ 分片上调用前端传获取请求头把当前上传地址传给前端,前端用于判断区分
7
31
 
8
32
  树界面右侧表单按钮样式调整
9
33
 
package/src/Form.vue CHANGED
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
4
- <ct-form :api="'/salemanage/ContractByPoint/readDetail'" :apiParam="apiParam" :topHeight="topHeight" :documentHeight="'600px'"></ct-form>
4
+ <ct-form :api="'/api/third-dept-tran/transaction/edit'" :apiParam="apiParam" :topHeight="topHeight" :documentHeight="'600px'"></ct-form>
5
5
  <ct-dialog-list></ct-dialog-list>
6
6
  </div>
7
7
  </template>
@@ -12,7 +12,7 @@
12
12
  data() {
13
13
  return {
14
14
  apiParam:{
15
- "commissionMode":1,"contractId":"251120105528E09634DE592A4DF8A326","propertyId":"250522090514A8BF158FF92A43479EA6","searchFields":{"fields":[{"fieldName1":"CompanyPath","groupName":"CompanyPath","operation":1,"searchDataType":1,"searchValue1":"001"},{"fieldName1":"EmpID","groupName":"EmpID","operation":1,"searchDataType":1,"searchValue1":"20201030134831BAA0AC5CDC9344B21E"},{"fieldName1":"DeptPath","groupName":"DeptPath","operation":1,"searchDataType":1,"searchValue1":"001.200.063.001"},{"fieldName1":"type","groupName":"type","operation":1,"searchDataType":1,"searchValue1":"left"},{"fieldName1":"EstateID","groupName":"EstateID","operation":2,"searchDataType":3,"searchValue1":"2411211358417B58943C6E954B35BB56"}]},"pageAttribute":{"pageIndex":1},"columnName":"contractDate","actionType":3
15
+ "originalTraId":"2010955673514090498","actionType":3,"pageStyle":2,"pageTitle":"修改成交单","pageOnly":true
16
16
  },
17
17
  topHeight:10,
18
18
  }
@@ -130,6 +130,13 @@
130
130
  <!-- ibs -->
131
131
  <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/EmployeeWorkLogList/ind/getLayoutOfSearch'" :searchDataApi="'/EmployeeWorkLogList/ind/getListOfSearchModel'"></ct-searchlist> -->
132
132
  <!-- <ct-searchlist :appRootUrl="appRootUrl" :searchConditionApi="'/ApiAccessLogList/getLayoutOfSearch'" :searchDataApi="'/ApiAccessLogList/getListOfSearchModel'"></ct-searchlist> -->
133
+
134
+ <!-- XXL -->
135
+ <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'comprehensive/ApplicationList/getLayoutOfSearch'" :searchDataApi="'comprehensive/ApplicationList/getList'"></ct-searchlist> -->
136
+ <!-- CDDD -->
137
+ <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/formlist/getLayoutOfSearch'" :searchDataApi="'/formlist/getTableList'" :searchStatsApi="'/formlist/getListStats'"></ct-searchlist> -->
138
+
139
+
133
140
  <ct-dialog-list></ct-dialog-list>
134
141
  </div>
135
142
  </template>
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div id="app-Tree" style="height:100%;position: fixed;width:100%;background: #c8c8c8;padding: 10px;">
3
3
  <ct-treelist :flagsearch="true" :apiParam="apiParam" :leftWidth="'280'"
4
- :searchConditionApi="'/system/menulist/getTreeLayoutOfSearch'"
5
- :searchDataApi="'/system/menulist/getTreeList'" @loaded="loaded"></ct-treelist>
4
+ :searchConditionApi="'/ComprehensiveConfig/SysMenuConfigureTreeList/getLayoutOfSearch'"
5
+ :searchDataApi="'/ComprehensiveConfig/SysMenuConfigureTreeList/getListOfSearchModel'" @loaded="loaded"></ct-treelist>
6
6
  <ct-dialog-list></ct-dialog-list>
7
7
  </div>
8
8
  </template>
@@ -14,7 +14,9 @@
14
14
  data() {
15
15
  return {
16
16
  isShowSearchlist: false,
17
- apiParam: {}
17
+ apiParam: {
18
+ code: "MoFirstPage"
19
+ }
18
20
  }
19
21
  },
20
22
  methods: {
@@ -132,7 +132,7 @@ const api = {
132
132
  params = params.para;
133
133
  }
134
134
  else if (common.flagRouterSelf()) {
135
- url = url + (url=='' || url.substr(-1)=='/'?'':'/') + params.action;
135
+ url = url + (url=='' || url.substr(-1)=='/'?'':'/') + (params.action && params.action[0]=='/'?params.action.slice(1):params.action);
136
136
  params = params.para;
137
137
  }
138
138
  return Axios.get(url, params, {
@@ -151,7 +151,7 @@ const api = {
151
151
  params = params.para;
152
152
  }
153
153
  else if (common.flagRouterSelf()) {
154
- url = url + (url=='' || url.substr(-1)=='/'?'':'/') + params.action;
154
+ url = url + (url=='' || url.substr(-1)=='/'?'':'/') + (params.action && params.action[0]=='/'?params.action.slice(1):params.action);
155
155
  params = params.para;
156
156
  }
157
157
  return Axios.post(url, params, {
@@ -185,8 +185,14 @@ const api = {
185
185
 
186
186
  if (data.rtnCode === Enum.ReturnCode.Successful) {
187
187
  if (data.rtnMsg && common.getDataDrivenOpts().showRequestSuccessMessage) {
188
- if (data.MsgAlertStyle && data.MsgAlertStyle == Enum.MessageAlertStyle.Dialog) {
189
- common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
188
+ if (data.messageAlertStyle && data.messageAlertStyle == Enum.MessageAlertStyle.Dialog) {
189
+ // common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
190
+ Vue.prototype.$message({
191
+ message: response.data.rtnMsg,
192
+ type: 'success',
193
+ showClose:true,
194
+ duration: 0,
195
+ });
190
196
  }
191
197
  else {
192
198
  Vue.prototype.$message({
@@ -232,8 +238,14 @@ const api = {
232
238
  }
233
239
  else {
234
240
  if (response.data.rtnMsg && common.getDataDrivenOpts().showRequestErrorMessage) {
235
- if (data.MsgAlertStyle && data.MsgAlertStyle == Enum.MessageAlertStyle.Dialog) {
236
- common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
241
+ if (data.messageAlertStyle && data.messageAlertStyle == Enum.MessageAlertStyle.Dialog) {
242
+ // common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
243
+ Vue.prototype.$message({
244
+ message: response.data.rtnMsg,
245
+ type: 'error',
246
+ showClose:true,
247
+ duration: 0,
248
+ });
237
249
  }
238
250
  else {
239
251
  Vue.prototype.$message({
@@ -254,7 +266,7 @@ const api = {
254
266
  params = params.para;
255
267
  }
256
268
  else if (common.flagRouterSelf()) {
257
- url = url + (url=='' || url.substr(-1)=='/'?'':'/') + params.action;
269
+ url = url + (url=='' || url.substr(-1)=='/'?'':'/') + (params.action && params.action[0]=='/'?params.action.slice(1):params.action);
258
270
  params = params.para;
259
271
  }
260
272
  let responseType=params.responseType || 'json';
@@ -287,7 +299,7 @@ const api = {
287
299
  params = params.para;
288
300
  }
289
301
  else if (common.flagRouterSelf()) {
290
- url = url + (url=='' || url.substr(-1)=='/'?'':'/') + params.action;
302
+ url = url + (url=='' || url.substr(-1)=='/'?'':'/') + (params.action && params.action[0]=='/'?params.action.slice(1):params.action);
291
303
  params = params.para;
292
304
  }
293
305
  return Axios.post(url, params, {
@@ -4,11 +4,10 @@
4
4
  <div ref="topTipRef" v-if="model.tip" class="tip-absolute">
5
5
  <span v-html="model.tip"></span>
6
6
  </div>
7
+ <div v-if="(!this.model.isHorizontalLayout || this.flagScroll) && model.tip" :style="{'height': (model.tip ? 30:0) + 'px'}"></div>
7
8
 
8
9
  <!--可根据场景判断显示el-card还是el-main-->
9
10
  <component :is="model.showTitle?'el-main':'el-card'">
10
- <div v-if="(!this.model.isHorizontalLayout || this.flagScroll) && model.tip" :style="{'height': (model.tip ? 24:0) + 'px'}"></div>
11
-
12
11
  <div slot="header" class="clearfix" v-if="typeof model.title !== 'undefined' && model.flagShowTitle">
13
12
  <span style="font-weight:bold">{{model.title}}</span>
14
13
  </div>
@@ -1683,7 +1682,8 @@
1683
1682
  .tip-absolute {
1684
1683
  width:'100%';
1685
1684
  z-index: 100;
1686
- top: 0;
1685
+ margin-top: -10px;
1686
+ /* top : 44px; */
1687
1687
  left: 0;
1688
1688
  right: 0;
1689
1689
  position: absolute;
@@ -457,6 +457,11 @@
457
457
  self.sideBarApiParam.columnGroupId=this.columnGroupId;
458
458
  }
459
459
 
460
+ if (self.$refs.table.model.rowSelectRouter.flagAttachSearchCondition) {
461
+ self.sideBarApiParam["searchFields"] = self.$refs.table.model.getSearchData();
462
+ self.sideBarApiParam["pageAttribute"] = self.$refs.table.model.pageData;
463
+ }
464
+
460
465
  self.sideBarApiParam.actionType = self.$refs.table.model.rowSelectRouter.actionType;
461
466
  self.detailKey = self.detailKey + 1;
462
467
  }
@@ -128,7 +128,7 @@ import dynamicElement from '../../mixins/dynamicElement';
128
128
  break;
129
129
  case 'reset':
130
130
  this.model.reset();
131
- if(this.validExcute()){
131
+ if(this.validExcute() && model.autoSearch){
132
132
  this.$emit('resetSearch', this.model);
133
133
  }
134
134
  break;
@@ -8,9 +8,10 @@
8
8
  @clickHandler="rolRouterClickHandler"
9
9
  @loaded="screenload" style="padding-left: 11px;"
10
10
  ></ct-searchtreescreen>
11
- <ct-tree
11
+ <ct-tree v-if="screenLoaded"
12
12
  ref="tree"
13
13
  :api="searchDataApi"
14
+ :searchModel="searchModel"
14
15
  @loaded="loaded"
15
16
  :style="{ height: treeHeight + 'px' }"
16
17
  ></ct-tree>
@@ -45,6 +46,8 @@ export default {
45
46
  data() {
46
47
  return {
47
48
  treeHeight: 0,
49
+ screenLoaded: false,
50
+ searchModel: null,
48
51
  };
49
52
  },
50
53
  methods: {
@@ -68,7 +71,9 @@ export default {
68
71
  } catch (e) {}
69
72
  },
70
73
  screenload(data) {
71
- this.setTreeHeight();
74
+ this.setTreeHeight();
75
+ this.searchModel = this.$refs.treescreen.model;
76
+ this.screenLoaded = true;
72
77
  },
73
78
  rolRouterClickHandler(field) {
74
79
  this.routerClickHandler(field, {}, "");
@@ -23,7 +23,8 @@ export default {
23
23
  mixins: [dynamicElement],
24
24
  props: {
25
25
  vmodel: Object,
26
- api: String
26
+ api: String,
27
+ searchModel: Object,
27
28
  },
28
29
  data() {
29
30
  return {
@@ -52,7 +53,6 @@ export default {
52
53
  };
53
54
  },
54
55
  mounted() {
55
-
56
56
  },
57
57
  methods: {
58
58
  search(m) {
@@ -64,7 +64,6 @@ export default {
64
64
  self.searchStatus.push(1);
65
65
  self.treeNode.childNodes = [];
66
66
  self.searchComplate(m, undefined, self.treeResolve, true);
67
-
68
67
  }
69
68
  else {
70
69
  timer = setTimeout(() => {
@@ -86,8 +85,7 @@ export default {
86
85
  }
87
86
  return flag;
88
87
  },
89
- loadNode(node, resolve) { // 加载 树数据
90
-
88
+ loadNode(node, resolve) { // 加载 树数据
91
89
  let self = this;
92
90
  if (node.level === 0) {
93
91
  self.treeNode = node;
@@ -137,6 +135,9 @@ export default {
137
135
  var self = this;
138
136
  this.$nextTick(function () {
139
137
  if (typeof self.api !== 'undefined') {
138
+ if (!m && self.searchModel) {
139
+ m = self.searchModel;
140
+ }
140
141
  self.loaderObj.Tree(self.api, self.load, m, defaultSearch, resolve, firstLoad);
141
142
  }
142
143
  });
@@ -164,8 +165,7 @@ export default {
164
165
  self.$emit('loaded', newdata);
165
166
  });
166
167
  }
167
- }
168
- ,
168
+ },
169
169
  rightClick(event, object, Node) { // event、object该节点所对应的对象、节点对应的 Node、节点组件本身
170
170
 
171
171
  this.currentData = object  // 定义变量接收该节点所对应的对象
@@ -182,14 +182,20 @@ export default {
182
182
 
183
183
  }
184
184
  let actionIndex = 0;
185
- if (this.model.actionRouter) {
186
- this.model.actionRouter.forEach(v => {
187
- if (this.currentData[v.rightField] == '1') {
188
- this.menuVisible = true //显示增删改的div
189
- actionIndex += 1;
190
- }
191
- })
192
- }
185
+ // 1. 先过滤:只保留“有权”的路由
186
+ this.allowedRoutes = (this.model.actionRouter || []).filter(
187
+ v =>!v.rightField
188
+ || this.currentData[v.rightField]==undefined
189
+ || this.currentData[v.rightField]==null
190
+ || this.currentData[v.rightField]=='1'
191
+ )
192
+
193
+ // 2. 再统一处理:有权的路由才显示菜单、累加计数
194
+ this.allowedRoutes.forEach(() => {
195
+ this.menuVisible = true // 只要有一条有权就显示增删改 div
196
+ actionIndex += 1 // 统计有多少条有权路由
197
+ })
198
+
193
199
  document.addEventListener('click', this.foo)  // 监听事件鼠标点击事件,若点击则隐藏菜单
194
200
  // 获取树状图的高度
195
201
  let treeHeight = document.getElementById("mytree").offsetHeight;
@@ -510,5 +516,6 @@ export default {
510
516
 
511
517
  .box-menu .opertion:hover {
512
518
  color: var(--btnHoverRed);
519
+ background-color: var(--el-fill-color-light);
513
520
  }
514
521
  </style>
@@ -3,7 +3,7 @@
3
3
  <el-container style="height: calc(100vh - 98px);" ref="tree_left">
4
4
  <el-aside :width="asideWidth ? asideWidth + 'px' : '15%'"
5
5
  style="background-color:white;border-radius: 6px;overflow-y:hidden">
6
- <ct-searchtree :flagsearch="true" :searchConditionApi="searchConditionApi" :searchDataApi="searchDataApi"
6
+ <ct-searchtree :flagsearch="true" :searchConditionApi="searchConditionApi" :searchDataApi="searchDataApi" :screenPara="apiParam"
7
7
  :searchtreeHeight="searchtreeHeight" @loaded="loaded"></ct-searchtree>
8
8
 
9
9
  </el-aside>
@@ -13,13 +13,13 @@
13
13
  <div class="ct-tree-form"
14
14
  :style="{'width': (width ? width + 'px' : 'auto'), 'height': (height ? height + 'px' : (heightPage?heightPage:'auto'))
15
15
  ,'position': 'relative','background-color': '#FFFFFF','border-radius': '6px'}">
16
- <ct-form :api="formApi" :api-param="apiParam" :width="width" :height="height"></ct-form>
16
+ <ct-form :api="formApi" :api-param="rightApiParam" :width="width" :height="height"></ct-form>
17
17
  </div>
18
18
  </template>
19
19
  <template v-else>
20
20
  <div style="height: calc(100vh - 100px);">
21
21
  <ct-searchlist :searchConditionApi="searchTableConditionApi" :searchDataApi="searchTableDataApi"
22
- :api-param="apiParam"></ct-searchlist>
22
+ :api-param="rightApiParam"></ct-searchlist>
23
23
  </div>
24
24
  </template>
25
25
 
@@ -42,6 +42,10 @@ export default {
42
42
  searchConditionApi: String,
43
43
  searchDataApi: String,
44
44
  leftWidth: String,
45
+ apiParam: {
46
+ type: Object,
47
+ default: () => {},
48
+ },
45
49
  },
46
50
  data() {
47
51
  return {
@@ -53,7 +57,7 @@ export default {
53
57
  heightPage: '',
54
58
  isShowMain: false,
55
59
  pageType: 'list',
56
- apiParam: {},
60
+ rightApiParam: {},
57
61
  searchtreeHeight: 0,
58
62
  dataRowRouter: "",
59
63
  asideWidth: 200,
@@ -102,7 +106,7 @@ export default {
102
106
  delete defaultPara.width;
103
107
  delete defaultPara.height;
104
108
 
105
- self.apiParam = defaultPara;
109
+ self.rightApiParam = defaultPara;
106
110
  self.$nextTick(() => {
107
111
  if (self.searchTableConditionApi || self.searchTableDataApi || self.formApi) {
108
112
  self.isShowMain = true;
@@ -15,7 +15,8 @@ const tree = function (source, callBack, searchModel, defaultSearchData, resolve
15
15
  },
16
16
  set source(v) {
17
17
  source = v;
18
- }, get modeltree() {
18
+ },
19
+ get modeltree() {
19
20
  var treedata = [];
20
21
  source.content.rows.forEach(v => {
21
22
  v.getLayoutOfSearch = rtn.rowRouterKey("getLayoutOfSearch");
@@ -314,12 +314,17 @@ const Enum = {
314
314
  /**
315
315
  * json 数据查看控件
316
316
  */
317
- JsonViewer:63,
317
+ JsonViewer:63,
318
318
 
319
- /**
319
+ /**
320
320
  * Markdown 数据查看控件
321
321
  */
322
- MarkdownViewer:64,
322
+ MarkdownViewer:64,
323
+
324
+ /**
325
+ * cron 表达式生成/选择
326
+ */
327
+ Cron:65,
323
328
 
324
329
  },
325
330
 
package/src/main.js CHANGED
@@ -18,9 +18,11 @@ Vue.use(centaline, {
18
18
  // baseUrl: "http://10.88.22.46:9004/max-uplink-api/",
19
19
  // baseUrl: "http://10.88.22.46:6060/onecard-api/",
20
20
  baseUrl: "http://10.88.22.46:9999/service-api/",
21
+ // baseUrl: "http://10.88.22.46:20808/service-api",
21
22
  // baseUrl: "http://10.88.22.42:9999/service-api/",
22
23
  // baseUrl: "http://10.88.22.46:22324/service-api/v1/form/router",
23
24
  // baseUrl: "http://10.25.10.67:8999/service-api/v1/form/router",
25
+ // baseUrl: "http://10.88.22.46:8999/service-api/v1/form/router",
24
26
  // baseUrl: "http://10.88.22.13:17070/max-uplink-api/",
25
27
  // baseUrl: "http://10.88.22.13:9004/max-uplink-api/",
26
28
  // baseUrl: "http://10.88.22.13:7080/ibs-api/",
@@ -69,17 +71,18 @@ Vue.use(centaline, {
69
71
  // 获取请求头
70
72
  getRequestHeaders: function (action) {
71
73
  return {
72
- // oldToken: '30bf66c7-b93e-47b4-9d6f-3a7e85c19ac0',
74
+ oldToken: '1094eb9c-0ec7-4fcf-952f-7fc4258ca3b0',
73
75
  // token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjksOwjAMBe-SdS05tuPE7PpJNhwCBWglWCHaSiDE3SniEGznjfTm5eb16HYuIUWltoc-sYKkYGDcF_ApGWYzjrE_CHOHKANQxAJSYgYTCYBoahaC0qAHJc6lbRW8bLuUbpNIBDS3QTJhZiHXuPFxczsfmXxCJG3cpS4_gMb6Bes83vfj8x9x1-Wy3eJ48seQJuCaziATTWDRIlSazCNrlerd-wMAAP__.93H7c7k4TLTqbKpozp0aTSU4U_WrQu3eS990iS-TCpw',
74
76
  // authObject: '{token:"T5067-1995406631567089664",platform:"WEB"}',
75
77
 
76
78
  // originalRequestURL: 'http://10.88.22.67:8080',
77
79
  // EstateInfo: '{"estateId":"1c581b7c-d629-4670-8a7c-6d622860bc58","estateName":"0%E9%87%91%E9%9A%85%E4%BA%91%E7%AD%91%E5%A4%A9%E6%B4%A5","estDeptPath":"009.014.001.001"}',
78
80
  // estateId: '',
79
- // appinfo:'{"appId":"8F184E91-2C73-45E3-B518-889491E07CDA","appName":"%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0"}',
81
+ // appinfo:'{"appId":"7e4d0521-4e26-4beb-8627-e76977ad8aa5","appName":"CCAI-PLUS"}',
82
+ // authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjkzNDU5NjFkLWM2NmItNDU0ZS1hMTE4LTUzMWRkMjliZTdmYyJ9.ehMpxkFnyTFlJQ_43SbCTGZZTMFht3isTj3gUKmNoJBWCV5X8ez5Z2AgT7vMBwmmG1FdEHWZTnJhIj0ox86bCA',
80
83
 
81
- authObject: '{"currentEstate":{"estateId":"2411131056106A1F68DFE6454976B1A9","estateName":"U%E7%89%88%E6%A5%BC%E7%9B%98%E6%8C%89%E6%A5%BC%E4%BB%B7","estDeptPath":"001.200.063.001"},"platform":1,"osVersion":"","machineCode":"eeb8e2fc88b5bcbc2e4f297777142537","token":"","random":"Kx2b5s","time":"2025-12-04 15:45:19","timestamp":1764834319180,"sign":"b61d76794e3732fe7d9628ca5a405877","systemSource":"CCESU","empNo":"hqxtgl","empId":"2411121446336B97FBEB7FD54905A903","clientVersion":"12.5","empName":"hq%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86","roleName":"%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98","deptFullName":"%E6%9C%AA%E5%8C%B9%E9%85%8DCCHR%E4%B8%ADHROC%E9%83%A8%E9%97%A8%2F%E9%9B%86%E5%9B%A2IT%2FCCES%E7%BB%84"}',
82
- AuthorizationCode:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImFiMzUyNDA3LTE5MjktNDc0Zi1hMjE3LTE0ZDk1ZmI1ODQwNyJ9.h8C8KL7X4c8BTRwe15st_j06nH9s8A4ZphIyH7KXIp2a_VsdYpl1T4kuhSZ5xasftGc69LeWmn2N9CwKiyWUVg',
84
+ AuthObject: '{"currentEstate":{},"platform":1,"osVersion":"","machineCode":"eeb8e2fc88b5bcbc2e4f297777142537","token":"","random":"Lveni9","time":"2026-02-09 15:13:36","timestamp":1770621216486,"sign":"","systemSource":"CCESU","empNo":"hqxtgl","empId":"2411121446336B97FBEB7FD54905A903","clientVersion":"12.5","empName":"hq%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86","roleName":"%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98","deptFullName":"%E6%9C%AA%E5%8C%B9%E9%85%8DCCHR%E4%B8%ADHROC%E9%83%A8%E9%97%A8%2F%E9%9B%86%E5%9B%A2IT%2FCCES%E7%BB%84"}',
85
+ AuthorizationCode:'Bearer eyJhbGciOiJIUzI1NiJ9.eyJsb2dpbl91c2VyX2tleSI6IjRkNDhjNGZmLTlmYjEtNDVmYS04NGZiLTBlNDFiNjU5MjgzZiJ9.PmDLFXS9wPLh00OR_cz3X1m2aT_45mkp5qKcaxQv7Hc',
83
86
  };
84
87
  },
85
88
  // 请求完成事件,可判断是否登录过期执行响应操作