cloud-web-corejs 1.0.54-dev.744 → 1.0.54-dev.746

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 (53) hide show
  1. package/package.json +192 -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 -298
  6. package/src/components/fileLibrary/index.vue +1109 -1110
  7. package/src/components/fileLibrary/propertiesDialog.vue +190 -190
  8. package/src/components/fileLibrary/recycleBinDialog.vue +237 -236
  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/dialog/baseFormulaDialog copy.vue +971 -0
  13. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +408 -0
  14. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +272 -272
  15. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +216 -216
  16. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +928 -928
  17. package/src/components/xform/form-designer/index.vue +195 -195
  18. package/src/components/xform/form-designer/indexMixin.js +848 -848
  19. package/src/components/xform/form-designer/setting-panel/index.vue +313 -314
  20. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +124 -124
  21. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +369 -369
  22. package/src/components/xform/form-designer/widget-panel/index.vue +389 -389
  23. package/src/components/xform/form-designer/widget-panel/indexMixin.js +343 -343
  24. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +4531 -4531
  25. package/src/components/xform/form-render/container-item/data-table-mixin.js +4748 -4576
  26. package/src/components/xform/form-render/container-item/tab-item.vue +125 -125
  27. package/src/components/xform/form-render/indexMixin.js +5061 -5078
  28. package/src/components/xform/lang/en-US.js +457 -457
  29. package/src/components/xform/lang/zh-CN.js +628 -628
  30. package/src/components/xform/utils/formHttp.js +162 -0
  31. package/src/components/xform/utils/util.js +1585 -1554
  32. package/src/index.js +344 -230
  33. package/src/layout/components/AppMain.vue +122 -122
  34. package/src/layout/components/extractedCode/viewDialog.vue +207 -207
  35. package/src/layout/components/langTool.vue +128 -123
  36. package/src/layout/defaultLayout.vue +164 -158
  37. package/src/permission.js +185 -135
  38. package/src/store/config/index.js +667 -669
  39. package/src/store/modules/micro.js +46 -0
  40. package/src/store/modules/permission.js +461 -373
  41. package/src/store/modules/user.js +419 -415
  42. package/src/utils/auth.js +27 -1
  43. package/src/utils/index.js +579 -6
  44. package/src/utils/keepAlive.js +4 -0
  45. package/src/utils/menuAdapter.js +183 -0
  46. package/src/utils/request.js +417 -28
  47. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +483 -491
  48. package/src/views/bd/setting/form_script/form_list.vue +174 -174
  49. package/src/views/bd/setting/form_script/mixins/form_list.js +330 -330
  50. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -171
  51. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -254
  52. package/src/views/user/menuFallback/index.vue +123 -0
  53. package/src/views/user/wf/wfReport/index.vue +625 -619
@@ -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
+ };