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,123 +1,128 @@
1
- <template>
2
- <div class="item" v-if="i18nEnabled && languageSettings.length > 1">
3
- <el-dropdown class="lang-box" trigger="click">
4
- <span class="el-dropdown-link">
5
- <i class="iconfont icon-duoyuyan"></i
6
- ><i class="el-icon-arrow-down el-icon--right"></i>
7
- </span>
8
- <el-dropdown-menu slot="dropdown" class="lang-box-pup">
9
- <el-dropdown-item
10
- v-for="(item, index) in languageSettings"
11
- :key="index"
12
- :command="item.languageCode"
13
- @click.native="changeLanguage(item.languageCode)"
14
- :class="{ cur: currentName == item.languageName }"
15
- >{{ $t1(item.languageName) }}
16
- </el-dropdown-item>
17
- </el-dropdown-menu>
18
- </el-dropdown>
19
- </div>
20
- </template>
21
-
22
- <script>
23
- import settingConfig from "@/settings";
24
-
25
- export default {
26
- name: "langTool",
27
- data() {
28
- return {
29
- languageSettings: [],
30
- languageSettingMap: {},
31
- i18nEnabled: settingConfig.i18nEnabled,
32
- };
33
- },
34
- computed: {
35
- currentName() {
36
- return this.languageSettingMap[this.$i18n.locale];
37
- },
38
- },
39
- mounted() {
40
- this.initLanguageSetting();
41
- },
42
- methods: {
43
- changeLanguage(command) {
44
- if (this.$i18n.locale != command) {
45
- this.$http({
46
- url: USER_PREFIX + `/auth/switchLanguage`,
47
- method: `post`,
48
- data: {
49
- stringOne: command,
50
- },
51
- isLoading: true,
52
- modalStrictly: true,
53
- loadingTarget: document.body,
54
- success: (res) => {
55
- this.$i18n.locale = command; // 设置给本地的i18n插件
56
- localStorage.setItem("i18n-lang", command);
57
- this.$message.success("切换多语言成功");
58
- location.reload();
59
- },
60
- });
61
- }
62
- },
63
- initLanguageSetting() {
64
- if (settingConfig.i18nEnabled !== true) return;
65
- let languageSettings = [];
66
- languageSettings.push(...this.$store.state.user.languageSettings);
67
- let map = {};
68
- languageSettings.forEach((item) => {
69
- map[item.languageCode] = item.languageName;
70
- });
71
- this.languageSettingMap = map;
72
- this.languageSettings = languageSettings;
73
- },
74
- },
75
- };
76
- </script>
77
- <style scoped lang="scss">
78
- /*多语言*/
79
- .lang-box {
80
- border-right: solid 1px #ffffff24;
81
- padding-right: 7px;
82
- height: 18px;
83
- line-height: 18px;
84
- vertical-align: middle;
85
- color: #fff;
86
- font-size: 12px;
87
- margin-left: 5px;
88
- .el-icon--right {
89
- margin-left: 3px;
90
- }
91
-
92
- .el-dropdown-link {
93
- color: #fff;
94
-
95
- .name {
96
- display: inline-block;
97
- width: 28px;
98
- height: 19px;
99
- overflow: hidden;
100
- vertical-align: middle;
101
- font-size: 12px;
102
- line-height: 19px;
103
- }
104
-
105
- i {
106
- zoom: 0.7;
107
- margin-left: 3px;
108
- opacity: 0.8;
109
-
110
- &.iconfont {
111
- font-size: 24px;
112
- vertical-align: middle;
113
- margin-right: 2px;
114
- }
115
- }
116
- }
117
- }
118
-
119
- .lang-box-pup .el-dropdown-menu__item.cur {
120
- background-color: #eaf0f4;
121
- color: #5583a9;
122
- }
123
- </style>
1
+ <template>
2
+ <div class="item" v-if="i18nEnabled && languageSettings.length > 1">
3
+ <el-dropdown class="lang-box" trigger="click">
4
+ <span class="el-dropdown-link">
5
+ <i class="iconfont icon-duoyuyan"></i
6
+ ><i class="el-icon-arrow-down el-icon--right"></i>
7
+ </span>
8
+ <el-dropdown-menu slot="dropdown" class="lang-box-pup">
9
+ <el-dropdown-item
10
+ v-for="(item, index) in languageSettings"
11
+ :key="index"
12
+ :command="item.languageCode"
13
+ @click.native="changeLanguage(item.languageCode)"
14
+ :class="{ cur: currentName == item.languageName }"
15
+ >{{ $t1(item.languageName) }}
16
+ </el-dropdown-item>
17
+ </el-dropdown-menu>
18
+ </el-dropdown>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import settingConfig from "@/settings";
24
+
25
+ export default {
26
+ name: "langTool",
27
+ data() {
28
+ return {
29
+ languageSettings: [],
30
+ languageSettingMap: {},
31
+ i18nEnabled: settingConfig.i18nEnabled,
32
+ };
33
+ },
34
+ computed: {
35
+ currentName() {
36
+ return this.languageSettingMap[this.$i18n.locale];
37
+ },
38
+ },
39
+ mounted() {
40
+ this.initLanguageSetting();
41
+ },
42
+ methods: {
43
+ changeLanguage(command) {
44
+ if (this.$i18n.locale != command) {
45
+ this.$http({
46
+ url: USER_PREFIX + `/auth/switchLanguage`,
47
+ method: `post`,
48
+ data: {
49
+ stringOne: command,
50
+ },
51
+ isLoading: true,
52
+ modalStrictly: true,
53
+ loadingTarget: document.body,
54
+ success: (res) => {
55
+ this.$i18n.locale = command; // 设置给本地的i18n插件
56
+ localStorage.setItem("i18n-lang", command);
57
+ this.$message.success("切换多语言成功");
58
+ // qiankun 子应用形态(自治嵌入壳可见时才有本入口):reload 会刷新宿主整页,
59
+ // 降级为仅切换本应用词条;存量页面快照词条需刷新后完全生效
60
+ if (this.$store.state.micro && this.$store.state.micro.isMicro) {
61
+ return;
62
+ }
63
+ location.reload();
64
+ },
65
+ });
66
+ }
67
+ },
68
+ initLanguageSetting() {
69
+ if (settingConfig.i18nEnabled !== true) return;
70
+ let languageSettings = [];
71
+ languageSettings.push(...this.$store.state.user.languageSettings);
72
+ let map = {};
73
+ languageSettings.forEach((item) => {
74
+ map[item.languageCode] = item.languageName;
75
+ });
76
+ this.languageSettingMap = map;
77
+ this.languageSettings = languageSettings;
78
+ },
79
+ },
80
+ };
81
+ </script>
82
+ <style scoped lang="scss">
83
+ /*多语言*/
84
+ .lang-box {
85
+ border-right: solid 1px #ffffff24;
86
+ padding-right: 7px;
87
+ height: 18px;
88
+ line-height: 18px;
89
+ vertical-align: middle;
90
+ color: #fff;
91
+ font-size: 12px;
92
+ margin-left: 5px;
93
+ .el-icon--right {
94
+ margin-left: 3px;
95
+ }
96
+
97
+ .el-dropdown-link {
98
+ color: #fff;
99
+
100
+ .name {
101
+ display: inline-block;
102
+ width: 28px;
103
+ height: 19px;
104
+ overflow: hidden;
105
+ vertical-align: middle;
106
+ font-size: 12px;
107
+ line-height: 19px;
108
+ }
109
+
110
+ i {
111
+ zoom: 0.7;
112
+ margin-left: 3px;
113
+ opacity: 0.8;
114
+
115
+ &.iconfont {
116
+ font-size: 24px;
117
+ vertical-align: middle;
118
+ margin-right: 2px;
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ .lang-box-pup .el-dropdown-menu__item.cur {
125
+ background-color: #eaf0f4;
126
+ color: #5583a9;
127
+ }
128
+ </style>
@@ -1,158 +1,164 @@
1
- <template>
2
- <div :class="{'app-wrapper openSidebar':showSidebar,'empty-home-wrapper':!showSidebar}">
3
- <sidebar v-show="showSidebar" class="sidebar-container" :class="{ hoverold: hoverSidebar }" @selfClose="hoverSidebar = false"
4
- @selfEnter="hoverSidebar = true" :isMenu.sync="isMenu"/>
5
- <div :class="{'main-container':showSidebar,telescopMenu:!isMenu}">
6
- <div class="fixed-header" v-show="showSidebar">
7
- <tags-view v-if="needTagsView" :isMenu.sync="isMenu"/>
8
- </div>
9
- <app-main v-if="showAppMain" ref="appMain"/>
10
- </div>
11
- <modifyPasswordDialog ref="modifyPasswordDialog"></modifyPasswordDialog>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import {mapState} from 'vuex';
17
- import modifyPasswordDialog from "@base/views/user/user/modifyPasswordDialog";
18
-
19
- export default {
20
- components: {
21
- AppMain: () => import('./components/AppMain'),
22
- Sidebar: () => import('./components/Sidebar'),
23
- TagsView: () => import('./components/TagsView'),
24
- modifyPasswordDialog
25
- },
26
- computed: {
27
- ...mapState({
28
- sidebar: state => state.app.sidebar,
29
- device: state => state.app.device,
30
- showSettings: state => state.settings.showSettings,
31
- needTagsView: state => state.settings.tagsView,
32
- fixedHeader: state => state.settings.fixedHeader
33
- }),
34
- classObj() {
35
- return {
36
- hideSidebar: !this.sidebar.opened,
37
- openSidebar: this.sidebar.opened,
38
- withoutAnimation: this.sidebar.withoutAnimation,
39
- mobile: this.device === 'mobile'
40
- };
41
- },
42
- showSidebar() {
43
- let result = true
44
- return result;
45
- }
46
- },
47
- data() {
48
- return {
49
- hoverSidebar: false,
50
- showAppMain: false,
51
- showModifyPasswordDialog: true,
52
- passwordStatus: 2,
53
- isMenu:true
54
- };
55
- },
56
- created() {
57
- this.$http({
58
- url: USER_PREFIX + `/auth/resetPrincipal`,
59
- method: `post`,
60
- data: {},
61
- isLoading: true,
62
- success: res => {
63
- }
64
- });
65
- this.$baseEventBus.$on("triggerMenu",(value)=>{
66
- this.isMenu = !this.isMenu;
67
- });
68
- },
69
- async mounted() {
70
- if (sessionStorage.getItem('toHome') == '1') {
71
- sessionStorage.removeItem('toHome');
72
- await this.closeAllTags();
73
- this.$nextTick(() => {
74
- this.showAppMain = true;
75
- });
76
- } else {
77
- this.showAppMain = true;
78
- }
79
- this.$refs.modifyPasswordDialog.init();//校验是否需要修改密码
80
- },
81
- methods: {
82
- handleClickOutside() {
83
- this.$store.dispatch('app/closeSideBar', {withoutAnimation: false});
84
- },
85
- async closeAllTags() {
86
- return this.$store.dispatch('tagsView/delAllViews').then(({visitedViews}) => {
87
- this.$router.replace({path: '/redirect/home'});
88
- });
89
- }
90
- }
91
- };
92
- </script>
93
-
94
- <style lang="scss" scoped>
95
- @import '~@/styles/mixin.scss';
96
- @import '~@/styles/variables.scss';
97
-
98
- .app-wrapper {
99
- @include clearfix;
100
- position: relative;
101
- height: 100%;
102
- width: 100%;
103
- overflow: hidden;
104
- &.mobile.openSidebar {
105
- position: fixed;
106
- top: 0;
107
- }
108
- }
109
-
110
- .drawer-bg {
111
- background: #000;
112
- opacity: 0.3;
113
- width: 100%;
114
- top: 0;
115
- height: 100%;
116
- position: absolute;
117
- z-index: 999;
118
- }
119
-
120
- .fixed-header {
121
- position: fixed;
122
- top: 0;
123
- right: 10px;
124
- z-index: 9;
125
- width: calc(100% - #{$sideBarWidth} - 20px);
126
- transition: width 0.28s;
127
- height: 33px;
128
- padding-top: 2px;
129
- //box-shadow:0 2px 6px rgba(0,0,0,0.04);
130
- //background:#FFF;
131
- // border-bottom: solid 2px $baseColor;
132
- display: -moz-box;
133
- display: -webkit-box;
134
- display: box;
135
- }
136
-
137
- .hideSidebar .fixed-header {
138
- width: calc(100% - 54px);
139
- }
140
-
141
- .mobile .fixed-header {
142
- width: 100%;
143
- }
144
-
145
- .info-box {
146
- text-align: right;
147
- padding-right: 16px;
148
- line-height: 50px;
149
- margin-left: 18px;
150
- cursor: pointer;
151
- font-size: 12px;
152
- }
153
- </style>
154
- <style>
155
- .vxe-custom--body > li[title=' '] {
156
- display: none;
157
- }
158
- </style>
1
+ <template>
2
+ <div :class="{'app-wrapper openSidebar':showSidebar,'empty-home-wrapper':!showSidebar}">
3
+ <sidebar v-show="showSidebar" class="sidebar-container" :class="{ hoverold: hoverSidebar }" @selfClose="hoverSidebar = false"
4
+ @selfEnter="hoverSidebar = true" :isMenu.sync="isMenu"/>
5
+ <div :class="{'main-container':showSidebar,telescopMenu:!isMenu}">
6
+ <div class="fixed-header" v-if="showSidebar">
7
+ <tags-view v-if="needTagsView" :isMenu.sync="isMenu"/>
8
+ </div>
9
+ <app-main v-if="showAppMain" ref="appMain"/>
10
+ </div>
11
+ <modifyPasswordDialog ref="modifyPasswordDialog"></modifyPasswordDialog>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import {mapState} from 'vuex';
17
+ import modifyPasswordDialog from "@base/views/user/user/modifyPasswordDialog";
18
+
19
+ export default {
20
+ components: {
21
+ AppMain: () => import('./components/AppMain'),
22
+ Sidebar: () => import('./components/Sidebar'),
23
+ TagsView: () => import('./components/TagsView'),
24
+ modifyPasswordDialog
25
+ },
26
+ computed: {
27
+ ...mapState({
28
+ sidebar: state => state.app.sidebar,
29
+ device: state => state.app.device,
30
+ showSettings: state => state.settings.showSettings,
31
+ needTagsView: state => state.settings.tagsView,
32
+ fixedHeader: state => state.settings.fixedHeader
33
+ }),
34
+ classObj() {
35
+ return {
36
+ hideSidebar: !this.sidebar.opened,
37
+ openSidebar: this.sidebar.opened,
38
+ withoutAnimation: this.sidebar.withoutAnimation,
39
+ mobile: this.device === 'mobile'
40
+ };
41
+ },
42
+ showSidebar() {
43
+ let result = true
44
+ let micro = this.$store.state.micro || {};
45
+ if (micro.isMicro && !micro.selfManaged) {
46
+ // qiankun 子应用模式:侧边栏/页签壳由主应用提供;
47
+ // 自治嵌入模式(主应用未下发菜单)保留自身壳整站运行
48
+ result = false;
49
+ }
50
+ return result;
51
+ }
52
+ },
53
+ data() {
54
+ return {
55
+ hoverSidebar: false,
56
+ showAppMain: false,
57
+ showModifyPasswordDialog: true,
58
+ passwordStatus: 2,
59
+ isMenu:true
60
+ };
61
+ },
62
+ created() {
63
+ this.$http({
64
+ url: USER_PREFIX + `/auth/resetPrincipal`,
65
+ method: `post`,
66
+ data: {},
67
+ isLoading: true,
68
+ success: res => {
69
+ }
70
+ });
71
+ this.$baseEventBus.$on("triggerMenu",(value)=>{
72
+ this.isMenu = !this.isMenu;
73
+ });
74
+ },
75
+ async mounted() {
76
+ if (sessionStorage.getItem('toHome') == '1') {
77
+ sessionStorage.removeItem('toHome');
78
+ await this.closeAllTags();
79
+ this.$nextTick(() => {
80
+ this.showAppMain = true;
81
+ });
82
+ } else {
83
+ this.showAppMain = true;
84
+ }
85
+ this.$refs.modifyPasswordDialog.init();//校验是否需要修改密码
86
+ },
87
+ methods: {
88
+ handleClickOutside() {
89
+ this.$store.dispatch('app/closeSideBar', {withoutAnimation: false});
90
+ },
91
+ async closeAllTags() {
92
+ return this.$store.dispatch('tagsView/delAllViews').then(({visitedViews}) => {
93
+ this.$router.replace({path: '/redirect/home'});
94
+ });
95
+ }
96
+ }
97
+ };
98
+ </script>
99
+
100
+ <style lang="scss" scoped>
101
+ @import '~@/styles/mixin.scss';
102
+ @import '~@/styles/variables.scss';
103
+
104
+ .app-wrapper {
105
+ @include clearfix;
106
+ position: relative;
107
+ height: 100%;
108
+ width: 100%;
109
+ overflow: hidden;
110
+ &.mobile.openSidebar {
111
+ position: fixed;
112
+ top: 0;
113
+ }
114
+ }
115
+
116
+ .drawer-bg {
117
+ background: #000;
118
+ opacity: 0.3;
119
+ width: 100%;
120
+ top: 0;
121
+ height: 100%;
122
+ position: absolute;
123
+ z-index: 999;
124
+ }
125
+
126
+ .fixed-header {
127
+ position: fixed;
128
+ top: 0;
129
+ right: 10px;
130
+ z-index: 9;
131
+ width: calc(100% - #{$sideBarWidth} - 20px);
132
+ transition: width 0.28s;
133
+ height: 33px;
134
+ padding-top: 2px;
135
+ //box-shadow:0 2px 6px rgba(0,0,0,0.04);
136
+ //background:#FFF;
137
+ // border-bottom: solid 2px $baseColor;
138
+ display: -moz-box;
139
+ display: -webkit-box;
140
+ display: box;
141
+ }
142
+
143
+ .hideSidebar .fixed-header {
144
+ width: calc(100% - 54px);
145
+ }
146
+
147
+ .mobile .fixed-header {
148
+ width: 100%;
149
+ }
150
+
151
+ .info-box {
152
+ text-align: right;
153
+ padding-right: 16px;
154
+ line-height: 50px;
155
+ margin-left: 18px;
156
+ cursor: pointer;
157
+ font-size: 12px;
158
+ }
159
+ </style>
160
+ <style>
161
+ .vxe-custom--body > li[title=' '] {
162
+ display: none;
163
+ }
164
+ </style>