cloud-web-corejs 1.0.54-dev.745 → 1.0.54-dev.747

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 (52) hide show
  1. package/package.json +194 -192
  2. package/src/App.vue +73 -71
  3. package/src/components/baseArea/index.vue +1628 -1628
  4. package/src/components/fileLibrary/categoryMoveDialog.vue +109 -109
  5. package/src/components/fileLibrary/fileObjAuthDialog.vue +297 -297
  6. package/src/components/fileLibrary/index.vue +1109 -1109
  7. package/src/components/fileLibrary/propertiesDialog.vue +190 -190
  8. package/src/components/fileLibrary/recycleBinDialog.vue +237 -237
  9. package/src/components/wf/mixins/setCandidateDialog.js +217 -217
  10. package/src/components/wf/mixins/setCandidateDialog2.js +252 -252
  11. package/src/components/xform/docs//345/257/271/346/257/224/345/212/237/350/203/275/350/220/275/345/234/260/346/226/271/346/241/210.md +986 -986
  12. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +272 -272
  13. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +216 -216
  14. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +928 -928
  15. package/src/components/xform/form-designer/index.vue +195 -195
  16. package/src/components/xform/form-designer/indexMixin.js +848 -848
  17. package/src/components/xform/form-designer/setting-panel/index.vue +313 -313
  18. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +124 -124
  19. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +369 -369
  20. package/src/components/xform/form-designer/widget-panel/index.vue +389 -389
  21. package/src/components/xform/form-designer/widget-panel/indexMixin.js +343 -343
  22. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +4531 -4531
  23. package/src/components/xform/form-render/container-item/data-table-mixin.js +4748 -4576
  24. package/src/components/xform/form-render/container-item/tab-item.vue +125 -125
  25. package/src/components/xform/form-render/indexMixin.js +5061 -5078
  26. package/src/components/xform/lang/en-US.js +457 -457
  27. package/src/components/xform/lang/zh-CN.js +628 -628
  28. package/src/components/xform/utils/util.js +1585 -1554
  29. package/src/index.js +347 -230
  30. package/src/layout/components/AppMain.vue +122 -125
  31. package/src/layout/components/extractedCode/viewDialog.vue +207 -207
  32. package/src/layout/components/langTool.vue +128 -123
  33. package/src/layout/defaultLayout.vue +164 -158
  34. package/src/microRouter/index.js +389 -0
  35. package/src/permission.js +185 -135
  36. package/src/public-path.js +8 -0
  37. package/src/store/config/index.js +667 -669
  38. package/src/store/modules/micro.js +46 -0
  39. package/src/store/modules/permission.js +468 -373
  40. package/src/store/modules/user.js +419 -415
  41. package/src/utils/auth.js +27 -1
  42. package/src/utils/index.js +579 -6
  43. package/src/utils/keepAlive.js +4 -0
  44. package/src/utils/menuAdapter.js +183 -0
  45. package/src/utils/request.js +417 -28
  46. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +483 -483
  47. package/src/views/bd/setting/form_script/form_list.vue +174 -174
  48. package/src/views/bd/setting/form_script/mixins/form_list.js +330 -330
  49. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -171
  50. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -253
  51. package/src/views/user/menuFallback/index.vue +123 -0
  52. package/src/views/user/wf/wfReport/index.vue +625 -625
@@ -1,415 +1,419 @@
1
- import {
2
- logout,
3
- getInfo,
4
- loginYx,
5
- getParameterVauleByCode,
6
- languageSettingListPage,
7
- getFileServerInfo,
8
- getLoginConfig,
9
- getLogicParamValue,
10
- } from "../../api/user";
11
- import { getToken, setToken, clearToken } from "../../utils/auth";
12
- import router, { resetRouter } from "@base/router";
13
- import { getDispermissions } from "../../api/menu";
14
- import settingConfig from "@/settings";
15
- import storeConfig from "../config/index";
16
-
17
- let state, mutations, actions;
18
- let configUtil = {
19
- logout,
20
- getInfo,
21
- loginYx,
22
- getToken,
23
- setToken,
24
- clearToken,
25
- router,
26
- resetRouter,
27
- getDispermissions,
28
- };
29
-
30
- state = {
31
- token: configUtil.getToken(),
32
- name: "",
33
- avatar: "",
34
- introduction: "",
35
- roles: [],
36
- dispermissions: [],
37
- companyInfoId: "",
38
- companyCode: "",
39
- loginAccount: "",
40
- nickName: "",
41
- userId: "",
42
- queryCreateInfo: false,
43
- languageSettings: [],
44
- isBdAdmin: false,
45
- userFlag: null,
46
- fileServerInfo: null,
47
- loginConfig: null,
48
- tableSortDisabled: false,
49
- tableFilterDisabled: false,
50
- utcTransformOffset: 0,// 时区偏移量,单位:小时
51
- };
52
-
53
- mutations = {
54
- SET_TOKEN: (state, token) => {
55
- state.token = token;
56
- },
57
- SET_INTRODUCTION: (state, introduction) => {
58
- state.introduction = introduction;
59
- },
60
- SET_NAME: (state, name) => {
61
- state.name = name;
62
- },
63
- SET_AVATAR: (state, avatar) => {
64
- state.avatar = avatar;
65
- },
66
- SET_ROLES: (state, roles) => {
67
- state.roles = roles;
68
- },
69
- SET_DISPERMISSIONS: (state, dispermissions) => {
70
- state.dispermissions = dispermissions;
71
- },
72
- SET_NICK_NAME: (state, nickName) => {
73
- state.nickName = nickName;
74
- },
75
- SET_LOGIN_ACCOUNT: (state, loginAccount) => {
76
- state.loginAccount = loginAccount;
77
- },
78
- SET_COMPANY_CODE: (state, companyCode) => {
79
- state.companyCode = companyCode;
80
- },
81
- SET_USER_ID: (state, userId) => {
82
- state.userId = userId;
83
- },
84
- SET_QUERY_CREATE_INFO: (state, queryCreateInfo) => {
85
- state.queryCreateInfo = queryCreateInfo || false;
86
- },
87
- SET_LANGUAGE_SETTINGS: (state, languageSettings) => {
88
- state.languageSettings = languageSettings;
89
- },
90
- SET_IS_BD_ADMIN: (state, isBdAdmin) => {
91
- state.isBdAdmin = isBdAdmin;
92
- },
93
- SET_USER_FLAG: (state, userFlag) => {
94
- state.userFlag = userFlag;
95
- },
96
- SET_FILE_SERVER_INFO: (state, fileServerInfo) => {
97
- state.fileServerInfo = fileServerInfo;
98
- },
99
- SET_LOGIN_CONFIG: (state, loginConfig) => {
100
- state.loginConfig = loginConfig;
101
- },
102
- SET_TABLE_SORT_DISABLED: (state, tableSortDisabled) => {
103
- state.tableSortDisabled = tableSortDisabled;
104
- },
105
- SET_TABLE_FILTER_DISABLED: (state, tableFilterDisabled) => {
106
- state.tableFilterDisabled = tableFilterDisabled;
107
- },
108
- SET_UTC_TRANSFORM_OFFSET: (state, utcTransformOffset) => {
109
- state.utcTransformOffset = utcTransformOffset;
110
- },
111
- };
112
-
113
- actions = {
114
- // user login
115
- login2({ commit, dispatch }, userInfo) {
116
- const { username, password } = userInfo;
117
- return new Promise((resolve, reject) => {
118
- configUtil
119
- .loginYx({
120
- data: {
121
- ...userInfo,
122
- },
123
- callback: (res) => {
124
- if (res.type == "success") {
125
- var token = res.objx;
126
- dispatch("addToken", {
127
- token,
128
- });
129
- }
130
- resolve(res);
131
- },
132
- })
133
- .catch((error) => {
134
- reject(error);
135
- });
136
- });
137
- },
138
- addToken({ commit }, opts) {
139
- return new Promise((resolve, reject) => {
140
- let token = opts.token;
141
- commit("SET_TOKEN", token);
142
- configUtil.setToken(token);
143
- sessionStorage.setItem(
144
- "easyweb",
145
- JSON.stringify({
146
- token: JSON.stringify({
147
- access_token: token,
148
- }),
149
- })
150
- );
151
- resolve(opts);
152
- });
153
- },
154
-
155
- // get user info
156
- getInfo2({ commit, state, dispatch }) {
157
- return new Promise((resolve, reject) => {
158
- configUtil
159
- .getInfo({
160
- callback: (response) => {
161
- if (response) {
162
- if (response.type == "success") {
163
- let user = response.objx; //当前用户
164
-
165
- let userFlag = user.flag;
166
- let userFlagMenuMap = storeConfig?.userFlagMenuMap || {};
167
- let isBdAdmin = !!(
168
- userFlag !== undefined &&
169
- userFlag !== null &&
170
- !!userFlagMenuMap[userFlag]
171
- );
172
-
173
- //用户
174
- commit("SET_ROLES", ["*"]);
175
- commit("SET_NICK_NAME", user.nickName);
176
- commit("SET_LOGIN_ACCOUNT", user.loginAccount);
177
- commit("SET_COMPANY_CODE", user.companyCode);
178
- commit("SET_USER_ID", user.id);
179
- commit("SET_IS_BD_ADMIN", isBdAdmin);
180
- commit("SET_USER_FLAG", user.flag);
181
-
182
- let flag = true;
183
- let requests = [
184
- getDispermissions({
185
- success: (res) => {
186
- //按钮权限
187
- let dispermissions = (res.objx || []).map(function (
188
- item
189
- ) {
190
- return item.menuCode;
191
- });
192
- commit("SET_DISPERMISSIONS", dispermissions);
193
- },
194
- fail: (res) => {
195
- flag = false;
196
- reject(res);
197
- },
198
- }),
199
- getParameterVauleByCode({
200
- data: { code: "queryCreateInfo" },
201
- success: (res) => {
202
- let value =
203
- !res.objx || !res.objx.value ? "0" : res.objx.value;
204
- commit("SET_QUERY_CREATE_INFO", value);
205
- },
206
- fail: (res) => {
207
- flag = false;
208
- reject(res);
209
- },
210
- }),
211
- getFileServerInfo({
212
- failMsg: false,
213
- errorMsg: false,
214
- success: (res) => {
215
- commit("SET_FILE_SERVER_INFO", res.objx);
216
- },
217
- }).catch((error) => {
218
- console.error(error);
219
- }),
220
- dispatch("initTableFeatureDisabled"),
221
- ];
222
- if (settingConfig.utcTransformEnabled) {
223
- requests.push(
224
- getParameterVauleByCode({
225
- data: { code: "utcTransformOffset" }, //UTC时间转换时差
226
- success: (res) => {
227
- let value =
228
- !res.objx || !res.objx.value
229
- ? 0
230
- : Number(res.objx.value);
231
- if (isNaN(value)) value = 0;
232
- commit("SET_UTC_TRANSFORM_OFFSET", value);
233
- },
234
- fail: (res) => {
235
- flag = false;
236
- reject(res);
237
- },
238
- })
239
- );
240
- }
241
- if (settingConfig.i18nEnabled) {
242
- requests.push(
243
- languageSettingListPage({
244
- success: (res) => {
245
- let lang = window.$vueRoot.$i18n.locale;
246
- let languageSettings = [
247
- {
248
- languageCode: "zh",
249
- languageName: "中文",
250
- },
251
- ];
252
- languageSettings.push(...(res.objx?.records || []));
253
- if (lang != "zh") {
254
- let currentItem = languageSettings.find(
255
- (item) => item.languageCode == lang
256
- );
257
- if (isBdAdmin || !currentItem) {
258
- lang = "zh";
259
- window.$vueRoot.$i18n.locale = lang; // 设置给本地的i18n插件
260
- localStorage.setItem("i18n-lang", lang);
261
- }
262
- }
263
-
264
- commit("SET_LANGUAGE_SETTINGS", languageSettings);
265
- },
266
- fail: (res) => {
267
- flag = false;
268
- reject(res);
269
- },
270
- })
271
- );
272
- }
273
- Promise.all(requests)
274
- .then((responses) => {
275
- if (flag) {
276
- resolve(response);
277
- }
278
- })
279
- .catch((error) => {
280
- // 至少一个请求失败了
281
- console.error(error);
282
- reject(error);
283
- });
284
- } else {
285
- reject(response);
286
- }
287
- }
288
- },
289
- })
290
- .catch((error) => {
291
- reject(error);
292
- });
293
- });
294
- },
295
-
296
- // user logout
297
- logout2({ commit, state, dispatch }) {
298
- return new Promise((resolve, reject) => {
299
- configUtil.logout({
300
- success: (res) => {
301
- let ssoLogin = sessionStorage.getItem("ssoLogin");
302
- actions
303
- .resetToken({
304
- commit,
305
- state,
306
- dispatch,
307
- })
308
- .then(() => {
309
- if(ssoLogin==="true"){
310
- sessionStorage.setItem("ssoLogin", "true");
311
- }
312
- resolve();
313
- });
314
- },
315
- });
316
- });
317
- },
318
- // remove token
319
- resetToken({ commit, state, dispatch }) {
320
- return new Promise((resolve) => {
321
- commit("SET_TOKEN", "");
322
- commit("SET_ROLES", []);
323
- commit("SET_NICK_NAME", "");
324
- commit("SET_LOGIN_ACCOUNT", "");
325
- commit("SET_COMPANY_CODE", "");
326
- commit("SET_USER_ID", "");
327
- commit("SET_TABLE_SORT_DISABLED", false);
328
- commit("SET_TABLE_FILTER_DISABLED", false);
329
- configUtil.clearToken();
330
- configUtil.resetRouter();
331
- sessionStorage.removeItem("easyweb");
332
-
333
- dispatch("tagsView/delAllViews", null, {
334
- root: true,
335
- });
336
- resolve();
337
- });
338
- },
339
-
340
- // dynamically modify permissions
341
- async changeRoles({ commit, dispatch }, role) {
342
- const token = role + "-token";
343
-
344
- commit("SET_TOKEN", token);
345
- configUtil.setToken(token);
346
-
347
- const { roles } = await dispatch("getInfo");
348
-
349
- configUtil.resetRouter();
350
-
351
- // generate accessible routes map based on roles
352
- const accessRoutes = await dispatch("permission/generateRoutes", roles, {
353
- root: true,
354
- });
355
- // dynamically add accessible routes
356
- configUtil.router.addRoutes(accessRoutes);
357
-
358
- // reset visited views and cached views
359
- dispatch("tagsView/delAllViews", null, {
360
- root: true,
361
- });
362
- },
363
- changeCompanyInfo({ commit, dispatch }, row) {
364
- commit("SET_COMPANY_CODE", row.companyCode);
365
- return dispatch("initTableFeatureDisabled");
366
- },
367
- initTableFeatureDisabled({ commit }) {
368
- commit("SET_TABLE_SORT_DISABLED", false);
369
- commit("SET_TABLE_FILTER_DISABLED", false);
370
- return getLogicParamValue({
371
- data: { paramCode: "tableSortFilterDisabled" },
372
- failMsg: false,
373
- errorMsg: false,
374
- success: (res) => {
375
- let values = typeof res?.objx === "string" ? res.objx.split(",") : [];
376
- let sortValue = values.length > 0 ? values[0].trim() : "";
377
- let filterValue = values.length > 1 ? values[1].trim() : "";
378
- commit("SET_TABLE_SORT_DISABLED", sortValue === "1");
379
- commit("SET_TABLE_FILTER_DISABLED", filterValue === "1");
380
- },
381
- }).catch((error) => {
382
- console.error(error);
383
- });
384
- },
385
- initLoginConfig({ commit, dispatch }, loginConfig) {
386
- return new Promise((resolve, reject) => {
387
- if (state.loginConfig === null) {
388
- getLoginConfig({
389
- failMsg: false,
390
- errorMsg: false,
391
- success: (res) => {
392
- let loginConfig = {};
393
- if (res.objx) {
394
- loginConfig = JSON.parse(res.objx);
395
- if (loginConfig.system_name)
396
- document.title = loginConfig.system_name;
397
- }
398
- commit("SET_LOGIN_CONFIG", loginConfig);
399
- },
400
- }).finally(() => {
401
- resolve();
402
- });
403
- } else {
404
- resolve();
405
- }
406
- });
407
- },
408
- };
409
-
410
- export default {
411
- namespaced: true,
412
- state,
413
- mutations,
414
- actions,
415
- };
1
+ import {
2
+ logout,
3
+ getInfo,
4
+ loginYx,
5
+ getParameterVauleByCode,
6
+ languageSettingListPage,
7
+ getFileServerInfo,
8
+ getLoginConfig,
9
+ getLogicParamValue,
10
+ } from "../../api/user";
11
+ import { getToken, setToken, clearToken } from "../../utils/auth";
12
+ import router, { resetRouter } from "@base/router";
13
+ import { unmountAllMicroApps } from "@base/microRouter";
14
+ import { getDispermissions } from "../../api/menu";
15
+ import settingConfig from "@/settings";
16
+ import storeConfig from "../config/index";
17
+
18
+ let state, mutations, actions;
19
+ let configUtil = {
20
+ logout,
21
+ getInfo,
22
+ loginYx,
23
+ getToken,
24
+ setToken,
25
+ clearToken,
26
+ router,
27
+ resetRouter,
28
+ getDispermissions,
29
+ };
30
+
31
+ state = {
32
+ token: configUtil.getToken(),
33
+ name: "",
34
+ avatar: "",
35
+ introduction: "",
36
+ roles: [],
37
+ dispermissions: [],
38
+ companyInfoId: "",
39
+ companyCode: "",
40
+ loginAccount: "",
41
+ nickName: "",
42
+ userId: "",
43
+ queryCreateInfo: false,
44
+ languageSettings: [],
45
+ isBdAdmin: false,
46
+ userFlag: null,
47
+ fileServerInfo: null,
48
+ loginConfig: null,
49
+ tableSortDisabled: false,
50
+ tableFilterDisabled: false,
51
+ utcTransformOffset: 0,// 时区偏移量,单位:小时
52
+ };
53
+
54
+ mutations = {
55
+ SET_TOKEN: (state, token) => {
56
+ state.token = token;
57
+ },
58
+ SET_INTRODUCTION: (state, introduction) => {
59
+ state.introduction = introduction;
60
+ },
61
+ SET_NAME: (state, name) => {
62
+ state.name = name;
63
+ },
64
+ SET_AVATAR: (state, avatar) => {
65
+ state.avatar = avatar;
66
+ },
67
+ SET_ROLES: (state, roles) => {
68
+ state.roles = roles;
69
+ },
70
+ SET_DISPERMISSIONS: (state, dispermissions) => {
71
+ state.dispermissions = dispermissions;
72
+ },
73
+ SET_NICK_NAME: (state, nickName) => {
74
+ state.nickName = nickName;
75
+ },
76
+ SET_LOGIN_ACCOUNT: (state, loginAccount) => {
77
+ state.loginAccount = loginAccount;
78
+ },
79
+ SET_COMPANY_CODE: (state, companyCode) => {
80
+ state.companyCode = companyCode;
81
+ },
82
+ SET_USER_ID: (state, userId) => {
83
+ state.userId = userId;
84
+ },
85
+ SET_QUERY_CREATE_INFO: (state, queryCreateInfo) => {
86
+ state.queryCreateInfo = queryCreateInfo || false;
87
+ },
88
+ SET_LANGUAGE_SETTINGS: (state, languageSettings) => {
89
+ state.languageSettings = languageSettings;
90
+ },
91
+ SET_IS_BD_ADMIN: (state, isBdAdmin) => {
92
+ state.isBdAdmin = isBdAdmin;
93
+ },
94
+ SET_USER_FLAG: (state, userFlag) => {
95
+ state.userFlag = userFlag;
96
+ },
97
+ SET_FILE_SERVER_INFO: (state, fileServerInfo) => {
98
+ state.fileServerInfo = fileServerInfo;
99
+ },
100
+ SET_LOGIN_CONFIG: (state, loginConfig) => {
101
+ state.loginConfig = loginConfig;
102
+ },
103
+ SET_TABLE_SORT_DISABLED: (state, tableSortDisabled) => {
104
+ state.tableSortDisabled = tableSortDisabled;
105
+ },
106
+ SET_TABLE_FILTER_DISABLED: (state, tableFilterDisabled) => {
107
+ state.tableFilterDisabled = tableFilterDisabled;
108
+ },
109
+ SET_UTC_TRANSFORM_OFFSET: (state, utcTransformOffset) => {
110
+ state.utcTransformOffset = utcTransformOffset;
111
+ },
112
+ };
113
+
114
+ actions = {
115
+ // user login
116
+ login2({ commit, dispatch }, userInfo) {
117
+ const { username, password } = userInfo;
118
+ return new Promise((resolve, reject) => {
119
+ configUtil
120
+ .loginYx({
121
+ data: {
122
+ ...userInfo,
123
+ },
124
+ callback: (res) => {
125
+ if (res.type == "success") {
126
+ var token = res.objx;
127
+ dispatch("addToken", {
128
+ token,
129
+ });
130
+ }
131
+ resolve(res);
132
+ },
133
+ })
134
+ .catch((error) => {
135
+ reject(error);
136
+ });
137
+ });
138
+ },
139
+ addToken({ commit }, opts) {
140
+ return new Promise((resolve, reject) => {
141
+ let token = opts.token;
142
+ commit("SET_TOKEN", token);
143
+ configUtil.setToken(token);
144
+ sessionStorage.setItem(
145
+ "easyweb",
146
+ JSON.stringify({
147
+ token: JSON.stringify({
148
+ access_token: token,
149
+ }),
150
+ })
151
+ );
152
+ resolve(opts);
153
+ });
154
+ },
155
+
156
+ // get user info
157
+ getInfo2({ commit, state, dispatch }) {
158
+ return new Promise((resolve, reject) => {
159
+ configUtil
160
+ .getInfo({
161
+ callback: (response) => {
162
+ if (response) {
163
+ if (response.type == "success") {
164
+ let user = response.objx; //当前用户
165
+
166
+ let userFlag = user.flag;
167
+ let userFlagMenuMap = storeConfig?.userFlagMenuMap || {};
168
+ let isBdAdmin = !!(
169
+ userFlag !== undefined &&
170
+ userFlag !== null &&
171
+ !!userFlagMenuMap[userFlag]
172
+ );
173
+
174
+ //用户
175
+ commit("SET_ROLES", ["*"]);
176
+ commit("SET_NICK_NAME", user.nickName);
177
+ commit("SET_LOGIN_ACCOUNT", user.loginAccount);
178
+ commit("SET_COMPANY_CODE", user.companyCode);
179
+ commit("SET_USER_ID", user.id);
180
+ commit("SET_IS_BD_ADMIN", isBdAdmin);
181
+ commit("SET_USER_FLAG", user.flag);
182
+
183
+ let flag = true;
184
+ let requests = [
185
+ getDispermissions({
186
+ success: (res) => {
187
+ //按钮权限
188
+ let dispermissions = (res.objx || []).map(function (
189
+ item
190
+ ) {
191
+ return item.menuCode;
192
+ });
193
+ commit("SET_DISPERMISSIONS", dispermissions);
194
+ },
195
+ fail: (res) => {
196
+ flag = false;
197
+ reject(res);
198
+ },
199
+ }),
200
+ getParameterVauleByCode({
201
+ data: { code: "queryCreateInfo" },
202
+ success: (res) => {
203
+ let value =
204
+ !res.objx || !res.objx.value ? "0" : res.objx.value;
205
+ commit("SET_QUERY_CREATE_INFO", value);
206
+ },
207
+ fail: (res) => {
208
+ flag = false;
209
+ reject(res);
210
+ },
211
+ }),
212
+ getFileServerInfo({
213
+ failMsg: false,
214
+ errorMsg: false,
215
+ success: (res) => {
216
+ commit("SET_FILE_SERVER_INFO", res.objx);
217
+ },
218
+ }).catch((error) => {
219
+ console.error(error);
220
+ }),
221
+ dispatch("initTableFeatureDisabled"),
222
+ ];
223
+ if (settingConfig.utcTransformEnabled) {
224
+ requests.push(
225
+ getParameterVauleByCode({
226
+ data: { code: "utcTransformOffset" }, //UTC时间转换时差
227
+ success: (res) => {
228
+ let value =
229
+ !res.objx || !res.objx.value
230
+ ? 0
231
+ : Number(res.objx.value);
232
+ if (isNaN(value)) value = 0;
233
+ commit("SET_UTC_TRANSFORM_OFFSET", value);
234
+ },
235
+ fail: (res) => {
236
+ flag = false;
237
+ reject(res);
238
+ },
239
+ })
240
+ );
241
+ }
242
+ if (settingConfig.i18nEnabled) {
243
+ requests.push(
244
+ languageSettingListPage({
245
+ success: (res) => {
246
+ let lang = window.$vueRoot.$i18n.locale;
247
+ let languageSettings = [
248
+ {
249
+ languageCode: "zh",
250
+ languageName: "中文",
251
+ },
252
+ ];
253
+ languageSettings.push(...(res.objx?.records || []));
254
+ if (lang != "zh") {
255
+ let currentItem = languageSettings.find(
256
+ (item) => item.languageCode == lang
257
+ );
258
+ if (isBdAdmin || !currentItem) {
259
+ lang = "zh";
260
+ window.$vueRoot.$i18n.locale = lang; // 设置给本地的i18n插件
261
+ localStorage.setItem("i18n-lang", lang);
262
+ }
263
+ }
264
+
265
+ commit("SET_LANGUAGE_SETTINGS", languageSettings);
266
+ },
267
+ fail: (res) => {
268
+ flag = false;
269
+ reject(res);
270
+ },
271
+ })
272
+ );
273
+ }
274
+ Promise.all(requests)
275
+ .then((responses) => {
276
+ if (flag) {
277
+ resolve(response);
278
+ }
279
+ })
280
+ .catch((error) => {
281
+ // 至少一个请求失败了
282
+ console.error(error);
283
+ reject(error);
284
+ });
285
+ } else {
286
+ reject(response);
287
+ }
288
+ }
289
+ },
290
+ })
291
+ .catch((error) => {
292
+ reject(error);
293
+ });
294
+ });
295
+ },
296
+
297
+ // user logout
298
+ logout2({ commit, state, dispatch }) {
299
+ return new Promise((resolve, reject) => {
300
+ configUtil.logout({
301
+ success: (res) => {
302
+ let ssoLogin = sessionStorage.getItem("ssoLogin");
303
+ actions
304
+ .resetToken({
305
+ commit,
306
+ state,
307
+ dispatch,
308
+ })
309
+ .then(() => {
310
+ if(ssoLogin==="true"){
311
+ sessionStorage.setItem("ssoLogin", "true");
312
+ }
313
+ resolve();
314
+ });
315
+ },
316
+ });
317
+ });
318
+ },
319
+ // remove token
320
+ resetToken({ commit, state, dispatch }) {
321
+ return new Promise((resolve) => {
322
+ commit("SET_TOKEN", "");
323
+ commit("SET_ROLES", []);
324
+ commit("SET_NICK_NAME", "");
325
+ commit("SET_LOGIN_ACCOUNT", "");
326
+ commit("SET_COMPANY_CODE", "");
327
+ commit("SET_USER_ID", "");
328
+ commit("SET_TABLE_SORT_DISABLED", false);
329
+ commit("SET_TABLE_FILTER_DISABLED", false);
330
+ configUtil.clearToken();
331
+ // qiankun 宿主:登出必须真正卸载保活中的子应用,
332
+ // 否则换账号登录后切回子应用会复活上一个用户的实例(旧角色/旧路由/旧页面数据)
333
+ unmountAllMicroApps();
334
+ configUtil.resetRouter();
335
+ sessionStorage.removeItem("easyweb");
336
+
337
+ dispatch("tagsView/delAllViews", null, {
338
+ root: true,
339
+ });
340
+ resolve();
341
+ });
342
+ },
343
+
344
+ // dynamically modify permissions
345
+ async changeRoles({ commit, dispatch }, role) {
346
+ const token = role + "-token";
347
+
348
+ commit("SET_TOKEN", token);
349
+ configUtil.setToken(token);
350
+
351
+ const { roles } = await dispatch("getInfo");
352
+
353
+ configUtil.resetRouter();
354
+
355
+ // generate accessible routes map based on roles
356
+ const accessRoutes = await dispatch("permission/generateRoutes", roles, {
357
+ root: true,
358
+ });
359
+ // dynamically add accessible routes
360
+ configUtil.router.addRoutes(accessRoutes);
361
+
362
+ // reset visited views and cached views
363
+ dispatch("tagsView/delAllViews", null, {
364
+ root: true,
365
+ });
366
+ },
367
+ changeCompanyInfo({ commit, dispatch }, row) {
368
+ commit("SET_COMPANY_CODE", row.companyCode);
369
+ return dispatch("initTableFeatureDisabled");
370
+ },
371
+ initTableFeatureDisabled({ commit }) {
372
+ commit("SET_TABLE_SORT_DISABLED", false);
373
+ commit("SET_TABLE_FILTER_DISABLED", false);
374
+ return getLogicParamValue({
375
+ data: { paramCode: "tableSortFilterDisabled" },
376
+ failMsg: false,
377
+ errorMsg: false,
378
+ success: (res) => {
379
+ let values = typeof res?.objx === "string" ? res.objx.split(",") : [];
380
+ let sortValue = values.length > 0 ? values[0].trim() : "";
381
+ let filterValue = values.length > 1 ? values[1].trim() : "";
382
+ commit("SET_TABLE_SORT_DISABLED", sortValue === "1");
383
+ commit("SET_TABLE_FILTER_DISABLED", filterValue === "1");
384
+ },
385
+ }).catch((error) => {
386
+ console.error(error);
387
+ });
388
+ },
389
+ initLoginConfig({ commit, dispatch }, loginConfig) {
390
+ return new Promise((resolve, reject) => {
391
+ if (state.loginConfig === null) {
392
+ getLoginConfig({
393
+ failMsg: false,
394
+ errorMsg: false,
395
+ success: (res) => {
396
+ let loginConfig = {};
397
+ if (res.objx) {
398
+ loginConfig = JSON.parse(res.objx);
399
+ if (loginConfig.system_name)
400
+ document.title = loginConfig.system_name;
401
+ }
402
+ commit("SET_LOGIN_CONFIG", loginConfig);
403
+ },
404
+ }).finally(() => {
405
+ resolve();
406
+ });
407
+ } else {
408
+ resolve();
409
+ }
410
+ });
411
+ },
412
+ };
413
+
414
+ export default {
415
+ namespaced: true,
416
+ state,
417
+ mutations,
418
+ actions,
419
+ };