cloud-web-corejs 1.0.258 → 1.0.259

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 (248) hide show
  1. package/package.json +32 -25
  2. package/src/components/VabUpload/fileLibraryDialog.vue +296 -0
  3. package/src/components/VabUpload/index.js +22 -2
  4. package/src/components/VabUpload/index.vue +242 -231
  5. package/src/components/VabUpload/mixins/fileLibraryDialog.js +1112 -0
  6. package/src/components/VabUpload/mixins.js +1971 -1829
  7. package/src/components/VabUpload/privateProfileDialog.vue +2 -2
  8. package/src/components/baseArea/index.vue +1628 -0
  9. package/src/components/baseInputExport/mixins.js +48 -31
  10. package/src/components/baseInputNumber/index.vue +9 -9
  11. package/src/components/baseTabs/index.vue +16 -8
  12. package/src/components/code-editor/async.js +29 -0
  13. package/src/components/code-editor/index.vue +93 -4
  14. package/src/components/errorMsg/index.js +10 -9
  15. package/src/components/errorMsg/mixins.js +25 -23
  16. package/src/components/excelExport/exportFieldDialog.vue +40 -18
  17. package/src/components/excelExport/index.js +62 -3
  18. package/src/components/excelExport/index.vue +2 -1
  19. package/src/components/excelExport/mixins.js +496 -340
  20. package/src/components/excelImport/index.js +69 -7
  21. package/src/components/excelImport/mixins.js +841 -9
  22. package/src/components/fileLibrary/categoryMoveDialog.vue +109 -109
  23. package/src/components/fileLibrary/fileHistoryDialog.vue +1 -1
  24. package/src/components/fileLibrary/fileObjAuthDialog.vue +297 -298
  25. package/src/components/fileLibrary/fileObjAuthEdit.vue +1 -1
  26. package/src/components/fileLibrary/filterDialog.vue +1 -1
  27. package/src/components/fileLibrary/index.vue +1109 -1110
  28. package/src/components/fileLibrary/mixins/indexMixins.js +10 -0
  29. package/src/components/fileLibrary/propertiesDialog.vue +190 -190
  30. package/src/components/fileLibrary/recycleBinDialog.vue +237 -236
  31. package/src/components/formOplog/mixins.js +85 -80
  32. package/src/components/hiprint/view/design/index.vue +7 -2
  33. package/src/components/jsonImport/exportUtil.js +106 -0
  34. package/src/components/jsonImport/index.js +75 -50
  35. package/src/components/jsonImport/mixins.js +350 -348
  36. package/src/components/langImport/mixins.js +502 -500
  37. package/src/components/micro-view-host/contract.js +66 -0
  38. package/src/components/micro-view-host/index.vue +148 -0
  39. package/src/components/mobile/file/index.vue +10 -0
  40. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +51 -47
  41. package/src/components/obsUpload/index.vue +234 -231
  42. package/src/components/obsUpload/mixins.js +1542 -1476
  43. package/src/components/onlineTalk/talkUserDialog.vue +1 -1
  44. package/src/components/table/CellSlot.vue +12 -10
  45. package/src/components/table/config.js +74 -1
  46. package/src/components/table/index.js +1208 -1
  47. package/src/components/table/tableFormMixin.js +285 -1
  48. package/src/components/table/util/index.js +38 -40
  49. package/src/components/table/vxeFilter/index.js +153 -2
  50. package/src/components/table/vxeFilter/mixin.js +305 -3
  51. package/src/components/tempStorage/tempStorageDialog.vue +1 -1
  52. package/src/components/vb-tabs/x-tabs.vue +10 -5
  53. package/src/components/wf/addTaskUserdialog.vue +1 -1
  54. package/src/components/wf/mixins/setCandidateDialog.js +217 -217
  55. package/src/components/wf/mixins/setCandidateDialog2.js +252 -252
  56. package/src/components/wf/wf.js +2224 -2203
  57. package/src/components/wf/wfUtil.js +2 -1
  58. package/src/components/xform/docs/2026-08 /345/210/227/350/241/250/345/257/274/345/207/272/350/204/261/346/225/217/345/210/227/345/211/224/351/231/244/350/220/275/345/234/260/346/226/207/346/241/243.md" +173 -0
  59. package/src/components/xform/form-designer/designer.js +1 -0
  60. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +110 -1
  61. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +282 -1
  62. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +272 -0
  63. package/src/components/xform/form-designer/form-widget/field-widget/autocomplete-widget.vue +119 -0
  64. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +14 -0
  65. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +18 -73
  66. package/src/components/xform/form-designer/form-widget/field-widget/mixins/autocomplete-mixin.js +451 -0
  67. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +157 -0
  68. package/src/components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin.js +75 -0
  69. package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +112 -0
  70. package/src/components/xform/form-designer/form-widget/field-widget/script-input-widget.vue +149 -0
  71. package/src/components/xform/form-designer/form-widget/indexMixin.js +179 -1
  72. package/src/components/xform/form-designer/indexMixin.js +823 -1
  73. package/src/components/xform/form-designer/refMixinDesign.js +27 -1
  74. package/src/components/xform/form-designer/setting-panel/action-button-config-dialog.vue +241 -0
  75. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +601 -0
  76. package/src/components/xform/form-designer/setting-panel/form-setting.vue +6 -0
  77. package/src/components/xform/form-designer/setting-panel/index.vue +314 -309
  78. package/src/components/xform/form-designer/setting-panel/indexMixin.js +324 -1
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +8 -7
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +8 -7
  81. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +344 -0
  82. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +2 -2
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaDataType-editor.vue +25 -0
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaMinLevel-editor.vue +50 -0
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaName-editor.vue +20 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-autocomplete/autocomplete-vabSearchName-editor.vue +199 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-baseAttachment/baseAttachment-fileTypes-editor.vue +23 -0
  88. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/showAllLevels-editor.vue +21 -0
  89. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-dateLimit-editor.vue +157 -0
  90. package/src/components/xform/form-designer/setting-panel/property-editor/field-script-input/script-input-editor.vue +55 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/vabUpload-fileTypes-editor.vue +23 -0
  92. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesEditorMixin.js +116 -0
  93. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesSelect.vue +176 -0
  94. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +3 -3
  95. package/src/components/xform/form-designer/setting-panel/property-editor/utcTransformEnabled-editor.vue +19 -0
  96. package/src/components/xform/form-designer/setting-panel/widgetPropertyDialogMixin.js +186 -0
  97. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +566 -1
  98. package/src/components/xform/form-designer/widget-panel/indexMixin.js +290 -1
  99. package/src/components/xform/form-render/compareDelList.vue +83 -0
  100. package/src/components/xform/form-render/compareView.vue +76 -0
  101. package/src/components/xform/form-render/container-item/containerItemMixin.js +378 -1
  102. package/src/components/xform/form-render/container-item/data-table-mixin.js +35 -0
  103. package/src/components/xform/form-render/container-item/detail-item.vue +41 -0
  104. package/src/components/xform/form-render/container-item/dynamicFieldEngine.js +285 -0
  105. package/src/components/xform/form-render/container-item/dynamicFieldMixin.js +416 -0
  106. package/src/components/xform/form-render/container-item/list-h5-item.vue +12 -0
  107. package/src/components/xform/form-render/dynamicDialogRender.js +195 -1
  108. package/src/components/xform/form-render/dynamicDrawerRender.js +229 -0
  109. package/src/components/xform/form-render/formDynamicFieldMixin.js +131 -0
  110. package/src/components/xform/form-render/refMixin.js +29 -1
  111. package/src/components/xform/mixins/scriptHttp.js +172 -1
  112. package/src/components/xform/utils/dynamicSchemaUtil.js +361 -0
  113. package/src/components/xform/utils/tableCellValidateUtil.js +148 -0
  114. package/src/components/xform/utils/textMaskUtil.js +179 -0
  115. package/src/components/xform/utils/treeTableUtil.js +1265 -0
  116. package/src/components/xform/utils/util.js +1 -0
  117. package/src/components/xform/utils/validators.js +133 -1
  118. package/src/directive/LimitNumber/index.js +143 -124
  119. package/src/microRouter/index.js +447 -0
  120. package/src/mixins/tableTree/index.js +77 -14
  121. package/src/permission.js +132 -107
  122. package/src/public-path.js +38 -0
  123. package/src/router/index.js +3 -3
  124. package/src/store/modules/micro.js +57 -0
  125. package/src/store/modules/permission.js +535 -371
  126. package/src/store/modules/tagsView.js +38 -21
  127. package/src/store/modules/user.js +409 -370
  128. package/src/utils/aes.js +9 -3
  129. package/src/utils/auth.js +1 -1
  130. package/src/utils/componentDialog.js +162 -40
  131. package/src/utils/global.js +35 -34
  132. package/src/utils/index.js +579 -579
  133. package/src/utils/keepAlive.js +8 -4
  134. package/src/utils/lazyPlugin.js +66 -0
  135. package/src/utils/menuAdapter.js +277 -0
  136. package/src/utils/repeatOpen.js +48 -0
  137. package/src/utils/request.js +417 -395
  138. package/src/utils/resolveViewComponent.js +203 -0
  139. package/src/utils/vab.js +14 -3
  140. package/src/utils/validate.js +104 -106
  141. package/src/views/bd/setting/bd_attach_setting/dialog.vue +1 -1
  142. package/src/views/bd/setting/bd_attach_setting/list.vue +1 -1
  143. package/src/views/bd/setting/bd_company_env/dialog.vue +1 -1
  144. package/src/views/bd/setting/bd_company_env/list.vue +1 -1
  145. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +488 -489
  146. package/src/views/bd/setting/form_import_log/list.vue +1 -1
  147. package/src/views/bd/setting/form_script/dialog.vue +1 -1
  148. package/src/views/bd/setting/form_script/form_list.vue +174 -166
  149. package/src/views/bd/setting/form_script/list.vue +1 -1
  150. package/src/views/bd/setting/form_script/list1.vue +1 -1
  151. package/src/views/bd/setting/form_script/mixins/form_list.js +330 -322
  152. package/src/views/bd/setting/form_template/dialog.vue +1 -1
  153. package/src/views/bd/setting/form_template/formDesignerDialog.vue +172 -171
  154. package/src/views/bd/setting/form_template/ftHistoryDialog.vue +1 -1
  155. package/src/views/bd/setting/form_template/itemList.vue +1 -1
  156. package/src/views/bd/setting/form_template/list.vue +3 -3
  157. package/src/views/bd/setting/form_template/mixins/edit.js +3 -3
  158. package/src/views/bd/setting/form_template/mixins/list.js +3 -3
  159. package/src/views/bd/setting/form_template/mixins/list2.js +3 -3
  160. package/src/views/bd/setting/form_template/mixins/wf_list.js +3 -3
  161. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -254
  162. package/src/views/bd/setting/form_template/wf_list.vue +3 -3
  163. package/src/views/bd/setting/logic_param/edit.vue +20 -20
  164. package/src/views/bd/setting/logic_param/list.vue +1 -1
  165. package/src/views/bd/setting/menu_kind/dialog.vue +1 -1
  166. package/src/views/bd/setting/menu_kind/list.vue +1 -1
  167. package/src/views/bd/setting/push_data/list.vue +1 -1
  168. package/src/views/bd/setting/push_data_h/list.vue +1 -1
  169. package/src/views/bd/setting/request_async_setting/list.vue +1 -1
  170. package/src/views/bd/setting/request_setting/list.vue +1 -1
  171. package/src/views/bd/setting/table_model/dialog.vue +1 -1
  172. package/src/views/bd/setting/table_model/list.vue +1 -1
  173. package/src/views/bd/setting/table_model/zdDialog.vue +1 -1
  174. package/src/views/user/access_log/list.vue +1 -1
  175. package/src/views/user/access_log/list2.vue +1 -1
  176. package/src/views/user/api_request/list.vue +1 -1
  177. package/src/views/user/area/dialog.vue +1 -1
  178. package/src/views/user/area/list.vue +1 -1
  179. package/src/views/user/bill_setting/list.vue +1 -1
  180. package/src/views/user/bill_setting/userDialog.vue +1 -1
  181. package/src/views/user/code_rules/list.vue +1 -1
  182. package/src/views/user/commMenu/index.vue +2 -2
  183. package/src/views/user/common_attribute/list.vue +2 -2
  184. package/src/views/user/common_script/list.vue +1 -1
  185. package/src/views/user/company_info/dialog.vue +1 -1
  186. package/src/views/user/country/dialog.vue +1 -1
  187. package/src/views/user/country/list.vue +1 -1
  188. package/src/views/user/data_type_setting/dialog.vue +1 -1
  189. package/src/views/user/extend_datasource/dialog.vue +4 -1
  190. package/src/views/user/extend_datasource/edit.vue +2 -1
  191. package/src/views/user/extend_datasource/list.vue +4 -1
  192. package/src/views/user/fieldTranslation/list.vue +1 -1
  193. package/src/views/user/field_values_invisible/list.vue +1 -1
  194. package/src/views/user/file_type/list.vue +1 -1
  195. package/src/views/user/file_view_area/list.vue +1 -1
  196. package/src/views/user/file_view_ins/list.vue +22 -1
  197. package/src/views/user/form/view/list.vue +64 -1
  198. package/src/views/user/groups/dialog.vue +1 -1
  199. package/src/views/user/groups/list.vue +1 -1
  200. package/src/views/user/home/default.vue +2 -2
  201. package/src/views/user/home/default2.vue +1158 -1148
  202. package/src/views/user/home/index.vue +3 -10
  203. package/src/views/user/lang_tag/dialog.vue +1 -1
  204. package/src/views/user/lang_tag/list.vue +1 -1
  205. package/src/views/user/language_setting/list.vue +1 -1
  206. package/src/views/user/login/default.vue +0 -8
  207. package/src/views/user/login/indexMixin.js +547 -556
  208. package/src/views/user/menu/list.vue +25 -2
  209. package/src/views/user/menuFallback/index.vue +123 -0
  210. package/src/views/user/mobile_menu/list.vue +1 -1
  211. package/src/views/user/notify_message/dialog.vue +22 -1
  212. package/src/views/user/notify_message/list.vue +1 -1
  213. package/src/views/user/notify_template/list.vue +1 -1
  214. package/src/views/user/notify_template/list2.vue +1 -1
  215. package/src/views/user/oplog/list.vue +1 -1
  216. package/src/views/user/outLink/form_view.vue +5 -14
  217. package/src/views/user/outLink/index.vue +6 -1
  218. package/src/views/user/outLink/view.vue +5 -13
  219. package/src/views/user/position/dialog.vue +1 -1
  220. package/src/views/user/position/list.vue +1 -1
  221. package/src/views/user/project_tag/dialog.vue +1 -1
  222. package/src/views/user/project_tag/list.vue +1 -1
  223. package/src/views/user/push_setting/list.vue +1 -1
  224. package/src/views/user/request_setting/list.vue +1 -1
  225. package/src/views/user/role/dialog.vue +1 -1
  226. package/src/views/user/role/list.vue +1 -1
  227. package/src/views/user/sale_org/dialog.vue +1 -1
  228. package/src/views/user/sale_org/list.vue +1 -1
  229. package/src/views/user/system_notice/list.vue +1 -1
  230. package/src/views/user/system_parameter/list.vue +1 -1
  231. package/src/views/user/user/dialog.vue +1 -1
  232. package/src/views/user/user/edit.vue +306 -159
  233. package/src/views/user/user/form_dialog.vue +1 -1
  234. package/src/views/user/user/form_list.vue +1 -1
  235. package/src/views/user/user/list.vue +2 -2
  236. package/src/views/user/user_log_classify/list.vue +1 -1
  237. package/src/views/user/wf/iframe/index.vue +6 -1
  238. package/src/views/user/wf/iframe/index2.vue +6 -1
  239. package/src/views/user/wf/wfReport/index.vue +12 -6
  240. package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -2
  241. package/src/views/user/wf/wf_manage/list.vue +97 -24
  242. package/src/views/user/wf/wf_manage/list2.vue +875 -0
  243. package/src/views/user/wf/wf_manage/wfContentDialog.vue +23 -1
  244. package/src/views/user/wf/wf_obj_config/dialog.vue +1 -1
  245. package/src/views/user/wf/wf_obj_config/list.vue +1 -1
  246. package/src/views/user/wf/wf_obj_config/list_form.vue +1 -1
  247. package/src/views/user/wf/wf_transfer_setting/list.vue +1 -1
  248. package/src/views/user/workbench_menu/list.vue +1 -1
@@ -1,316 +1,336 @@
1
- import {
2
- logout,
3
- getInfo,
4
- loginYx,
5
- getParameterVauleByCode,
6
- languageSettingListPage,
7
- getFileServerInfo,
8
- getLoginConfig,
9
- } from "../../api/user";
1
+ import {
2
+ logout,
3
+ getInfo,
4
+ loginYx,
5
+ getParameterVauleByCode,
6
+ languageSettingListPage,
7
+ getFileServerInfo,
8
+ getLoginConfig,
9
+ getLogicParamValue,
10
+ } from "../../api/user";
10
11
  import { getToken, setToken, clearToken } from "../../utils/auth";
11
12
  import router, { resetRouter } from "@base/router";
13
+ import { unmountAllMicroApps } from "@base/microRouter";
12
14
  import { getDispermissions } from "../../api/menu";
13
- import settingConfig from "@/settings";
14
- import storeConfig from "../config/index";
15
-
16
- let state, mutations, actions;
17
- let configUtil = {
18
- logout,
19
- getInfo,
20
- loginYx,
21
- getToken,
22
- setToken,
23
- clearToken,
24
- router,
25
- resetRouter,
26
- getDispermissions,
27
- };
28
-
29
- state = {
30
- token: configUtil.getToken(),
31
- name: "",
32
- avatar: "",
33
- introduction: "",
34
- roles: [],
35
- dispermissions: [],
36
- companyInfoId: "",
37
- companyCode: "",
38
- loginAccount: "",
39
- nickName: "",
40
- userId: "",
41
- queryCreateInfo: false,
42
- languageSettings: [],
43
- isBdAdmin: false,
44
- userFlag: null,
45
- fileServerInfo: null,
46
- loginConfig: null,
47
- utcTransformOffset: 0,// 时区偏移量,单位:小时
48
- };
49
-
50
- mutations = {
51
- SET_TOKEN: (state, token) => {
52
- state.token = token;
53
- },
54
- SET_INTRODUCTION: (state, introduction) => {
55
- state.introduction = introduction;
56
- },
57
- SET_NAME: (state, name) => {
58
- state.name = name;
59
- },
60
- SET_AVATAR: (state, avatar) => {
61
- state.avatar = avatar;
62
- },
63
- SET_ROLES: (state, roles) => {
64
- state.roles = roles;
65
- },
66
- SET_DISPERMISSIONS: (state, dispermissions) => {
67
- state.dispermissions = dispermissions;
68
- },
69
- SET_NICK_NAME: (state, nickName) => {
70
- state.nickName = nickName;
71
- },
72
- SET_LOGIN_ACCOUNT: (state, loginAccount) => {
73
- state.loginAccount = loginAccount;
74
- },
75
- SET_COMPANY_CODE: (state, companyCode) => {
76
- state.companyCode = companyCode;
77
- },
78
- SET_USER_ID: (state, userId) => {
79
- state.userId = userId;
80
- },
81
- SET_QUERY_CREATE_INFO: (state, queryCreateInfo) => {
82
- state.queryCreateInfo = queryCreateInfo || false;
83
- },
84
- SET_LANGUAGE_SETTINGS: (state, languageSettings) => {
85
- state.languageSettings = languageSettings;
86
- },
87
- SET_IS_BD_ADMIN: (state, isBdAdmin) => {
88
- state.isBdAdmin = isBdAdmin;
89
- },
90
- SET_USER_FLAG: (state, userFlag) => {
91
- state.userFlag = userFlag;
92
- },
93
- SET_FILE_SERVER_INFO: (state, fileServerInfo) => {
94
- state.fileServerInfo = fileServerInfo;
95
- },
96
- SET_LOGIN_CONFIG: (state, loginConfig) => {
97
- state.loginConfig = loginConfig;
98
- },
99
- SET_UTC_TRANSFORM_OFFSET: (state, utcTransformOffset) => {
100
- state.utcTransformOffset = utcTransformOffset;
101
- },
102
- };
103
-
104
- actions = {
105
- // user login
106
- login2({ commit, dispatch }, userInfo) {
107
- const { username, password } = userInfo;
108
- return new Promise((resolve, reject) => {
109
- configUtil
110
- .loginYx({
111
- data: {
112
- ...userInfo,
113
- },
114
- callback: (res) => {
115
- if (res.type == "success") {
116
- var token = res.objx;
117
- dispatch("addToken", {
118
- token,
119
- });
120
- }
121
- resolve(res);
122
- },
123
- })
124
- .catch((error) => {
125
- reject(error);
126
- });
127
- });
128
- },
129
- addToken({ commit }, opts) {
130
- return new Promise((resolve, reject) => {
131
- let token = opts.token;
132
- commit("SET_TOKEN", token);
133
- configUtil.setToken(token);
134
- sessionStorage.setItem(
135
- "easyweb",
136
- JSON.stringify({
137
- token: JSON.stringify({
138
- access_token: token,
139
- }),
140
- })
141
- );
142
- resolve(opts);
143
- });
144
- },
145
-
146
- // get user info
147
- getInfo2({ commit, state }) {
148
- return new Promise((resolve, reject) => {
149
- configUtil
150
- .getInfo({
151
- callback: (response) => {
152
- if (response) {
153
- if (response.type == "success") {
154
- let user = response.objx; //当前用户
155
-
156
- let userFlag = user.flag;
157
- let userFlagMenuMap = storeConfig?.userFlagMenuMap || {};
158
- let isBdAdmin = !!(
159
- userFlag !== undefined &&
160
- userFlag !== null &&
161
- !!userFlagMenuMap[userFlag]
162
- );
163
-
164
- //用户
165
- commit("SET_ROLES", ["*"]);
166
- commit("SET_NICK_NAME", user.nickName);
167
- commit("SET_LOGIN_ACCOUNT", user.loginAccount);
168
- commit("SET_COMPANY_CODE", user.companyCode);
169
- commit("SET_USER_ID", user.id);
170
- commit("SET_IS_BD_ADMIN", isBdAdmin);
171
- commit("SET_USER_FLAG", user.flag);
172
-
173
- let flag = true;
174
- let requests = [
175
- getDispermissions({
176
- success: (res) => {
177
- //按钮权限
178
- let dispermissions = (res.objx || []).map(function (
179
- item
180
- ) {
181
- return item.menuCode;
182
- });
183
- commit("SET_DISPERMISSIONS", dispermissions);
184
- },
185
- fail: (res) => {
186
- flag = false;
187
- reject(res);
188
- },
189
- }),
190
- getParameterVauleByCode({
191
- data: { code: "queryCreateInfo" },
192
- success: (res) => {
193
- let value =
194
- !res.objx || !res.objx.value ? "0" : res.objx.value;
195
- commit("SET_QUERY_CREATE_INFO", value);
196
- },
197
- fail: (res) => {
198
- flag = false;
199
- reject(res);
200
- },
201
- }),
202
- getFileServerInfo({
203
- failMsg: false,
204
- errorMsg: false,
205
- success: (res) => {
206
- commit("SET_FILE_SERVER_INFO", res.objx);
207
- },
208
- }).catch((error) => {
209
- console.error(error);
210
- }),
211
- ];
212
- if (settingConfig.utcTransformEnabled) {
213
- requests.push(
214
- getParameterVauleByCode({
215
- data: { code: "utcTransformOffset" }, //UTC时间转换时差
216
- success: (res) => {
217
- let value =
218
- !res.objx || !res.objx.value
219
- ? 0
220
- : Number(res.objx.value);
221
- if (isNaN(value)) value = 0;
222
- commit("SET_UTC_TRANSFORM_OFFSET", value);
223
- },
224
- fail: (res) => {
225
- flag = false;
226
- reject(res);
227
- },
228
- })
229
- );
230
- }
231
- if (settingConfig.i18nEnabled) {
232
- requests.push(
233
- languageSettingListPage({
234
- success: (res) => {
235
- let lang = window.$vueRoot.$i18n.locale;
236
- let languageSettings = [
237
- {
238
- languageCode: "zh",
239
- languageName: "中文",
240
- },
241
- ];
242
- languageSettings.push(...(res.objx?.records || []));
243
- if (lang != "zh") {
244
- let currentItem = languageSettings.find(
245
- (item) => item.languageCode == lang
246
- );
247
- if (isBdAdmin || !currentItem) {
248
- lang = "zh";
249
- window.$vueRoot.$i18n.locale = lang; // 设置给本地的i18n插件
250
- localStorage.setItem("i18n-lang", lang);
251
- }
252
- }
253
-
254
- commit("SET_LANGUAGE_SETTINGS", languageSettings);
255
- },
256
- fail: (res) => {
257
- flag = false;
258
- reject(res);
259
- },
260
- })
261
- );
262
- }
263
- Promise.all(requests)
264
- .then((responses) => {
265
- if (flag) {
266
- resolve(response);
267
- }
268
- })
269
- .catch((error) => {
270
- // 至少一个请求失败了
271
- console.error(error);
272
- reject(error);
273
- });
274
- } else {
275
- reject(response);
276
- }
277
- }
278
- },
279
- })
280
- .catch((error) => {
281
- reject(error);
282
- });
283
- });
284
- },
285
-
286
- // user logout
287
- logout2({ commit, state, dispatch }) {
288
- return new Promise((resolve, reject) => {
289
- configUtil.logout({
290
- success: (res) => {
291
- actions
292
- .resetToken({
293
- commit,
294
- state,
295
- dispatch,
296
- })
297
- .then(() => {
298
- resolve();
299
- });
300
- },
301
- });
302
- });
303
- },
304
- // remove token
305
- resetToken({ commit, state, dispatch }) {
306
- return new Promise((resolve) => {
307
- commit("SET_TOKEN", "");
308
- commit("SET_ROLES", []);
309
- commit("SET_NICK_NAME", "");
310
- commit("SET_LOGIN_ACCOUNT", "");
311
- commit("SET_COMPANY_CODE", "");
312
- commit("SET_USER_ID", "");
313
- configUtil.clearToken();
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();
314
334
  configUtil.resetRouter();
315
335
  sessionStorage.removeItem("easyweb");
316
336
 
@@ -318,63 +338,82 @@ actions = {
318
338
  root: true,
319
339
  });
320
340
  resolve();
321
- });
322
- },
323
-
324
- // dynamically modify permissions
325
- async changeRoles({ commit, dispatch }, role) {
326
- const token = role + "-token";
327
-
328
- commit("SET_TOKEN", token);
329
- configUtil.setToken(token);
330
-
331
- const { roles } = await dispatch("getInfo");
332
-
333
- configUtil.resetRouter();
334
-
335
- // generate accessible routes map based on roles
336
- const accessRoutes = await dispatch("permission/generateRoutes", roles, {
337
- root: true,
338
- });
339
- // dynamically add accessible routes
340
- configUtil.router.addRoutes(accessRoutes);
341
-
342
- // reset visited views and cached views
343
- dispatch("tagsView/delAllViews", null, {
344
- root: true,
345
- });
346
- },
347
- changeCompanyInfo({ commit, dispatch }, row) {
348
- commit("SET_COMPANY_CODE", row.companyCode);
349
- },
350
- initLoginConfig({ commit, dispatch }, loginConfig) {
351
- return new Promise((resolve, reject) => {
352
- if (state.loginConfig === null) {
353
- getLoginConfig({
354
- failMsg: false,
355
- errorMsg: false,
356
- success: (res) => {
357
- let loginConfig = {};
358
- if (res.objx) {
359
- loginConfig = JSON.parse(res.objx);
360
- if (loginConfig.system_name)
361
- document.title = loginConfig.system_name;
362
- }
363
- commit("SET_LOGIN_CONFIG", loginConfig);
364
- },
365
- }).finally(() => {
366
- resolve();
367
- });
368
- } else {
369
- resolve();
370
- }
371
- });
372
- },
373
- };
374
-
375
- export default {
376
- namespaced: true,
377
- state,
378
- mutations,
379
- actions,
380
- };
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
+ };