cloud-web-corejs 1.0.54-dev.745 → 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 (50) 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 -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 +344 -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/permission.js +185 -135
  35. package/src/store/config/index.js +667 -669
  36. package/src/store/modules/micro.js +46 -0
  37. package/src/store/modules/permission.js +461 -373
  38. package/src/store/modules/user.js +419 -415
  39. package/src/utils/auth.js +27 -1
  40. package/src/utils/index.js +579 -6
  41. package/src/utils/keepAlive.js +4 -0
  42. package/src/utils/menuAdapter.js +183 -0
  43. package/src/utils/request.js +417 -28
  44. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +483 -483
  45. package/src/views/bd/setting/form_script/form_list.vue +174 -174
  46. package/src/views/bd/setting/form_script/mixins/form_list.js +330 -330
  47. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -171
  48. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -253
  49. package/src/views/user/menuFallback/index.vue +123 -0
  50. package/src/views/user/wf/wfReport/index.vue +625 -625
@@ -1,216 +1,216 @@
1
- <template>
2
- <form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
3
- :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
4
- :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
5
- :sub-form-row-id="subFormRowId">
6
- <a href="javascript:void(0);" class="a-link nums" v-if="designState">
7
- <i class="iconfont icon-fujian3"/>
8
- </a>
9
- <base-attachment :option.sync="option" v-else></base-attachment>
10
- </form-item-wrapper>
11
- </template>
12
-
13
- <script>
14
- import FormItemWrapper from './form-item-wrapper'
15
- import emitter from '../../../../../components/xform/utils/emitter'
16
- import i18n from "../../../../../components/xform/utils/i18n";
17
- import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
18
-
19
- export default {
20
- name: "baseAttachment-widget",
21
- componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
22
- mixins: [emitter, fieldMixin, i18n],
23
- props: {
24
- field: Object,
25
- parentWidget: Object,
26
- parentList: Array,
27
- indexOfParentList: Number,
28
- designer: Object,
29
-
30
- designState: {
31
- type: Boolean,
32
- default: false
33
- },
34
-
35
- subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
36
- type: Number,
37
- default: -1
38
- },
39
- subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
40
- type: Number,
41
- default: -1
42
- },
43
- subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
44
- type: String,
45
- default: ''
46
- },
47
-
48
- },
49
- components: {
50
- FormItemWrapper,
51
- },
52
- inject: ['refList', 'globalOptionData', 'globalModel', 'getFormConfig'],
53
- data() {
54
- return {
55
- oldFieldValue: [], //field组件change之前的值
56
- fieldModel: [],
57
- rules: [],
58
- isH5: false,
59
- option:{}
60
- }
61
- },
62
- watch: {
63
- fieldModel(val) {
64
- this.handleChangeEvent(val);
65
- },
66
- 'option':function(){
67
-
68
- }
69
- },
70
- computed: {
71
- formDataId() {
72
- let formRef = this.getFormRef();
73
- return formRef.dataId;
74
- }/*,
75
- option() {
76
- return {
77
- title: '附件',
78
- edit: !this.field.options.disabled,
79
- uploadConfig: {
80
- limit: this.field.options.limit,
81
- resultType: "Array"
82
- },
83
- rows: (done) => {
84
- done(this.fieldModel);
85
- },
86
- confirm: (rows, fileInfos) => {
87
- this.fieldModel = rows;
88
- // this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
89
- let eventParamNames = ['attachments', 'fileInfos'];
90
- let eventParamValues = [rows, fileInfos];
91
- this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
92
- }
93
- };
94
- }*/
95
- },
96
- beforeCreate() {
97
- /* 这里不能访问方法和属性!! */
98
- },
99
-
100
- created() {
101
- /*this.option = {
102
- title: '附件',
103
- edit: !this.field.options.disabled,
104
- rows: (done) => {
105
- done(this.fieldModel);
106
- },
107
- confirm: (attachments) => {
108
- this.fieldModel = attachments;
109
- }
110
- };
111
- let a = 1;*/
112
- /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
113
- 需要在父组件created中初始化!! */
114
-
115
- this.isH5 = this.getFormConfig()?.layoutType === 'H5';
116
-
117
- this.initFieldModel()
118
- this.registerToRefList()
119
- this.initEventHandler()
120
- this.buildFieldRules()
121
-
122
- this.handleOnCreated()
123
- this.initOption();
124
- },
125
-
126
- mounted() {
127
- this.handleOnMounted()
128
- },
129
-
130
- beforeDestroy() {
131
- this.unregisterFromRefList()
132
- },
133
- methods: {
134
- initOption(){
135
- this.option = {
136
- title: '附件',
137
- edit: !this.field.options.disabled,
138
- showViewButton: this.field.options.showViewButton !== false,
139
- uploadConfig: {
140
- limit: this.field.options.limit,
141
- resultType: "Array"
142
- },
143
- rows: (done) => {
144
- done(this.fieldModel);
145
- },
146
- confirm: (rows, fileInfos) => {
147
- this.fieldModel = rows;
148
- // this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
149
- let eventParamNames = ['attachments', 'fileInfos'];
150
- let eventParamValues = [rows, fileInfos];
151
- this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
152
- }
153
- }
154
- },
155
- setValue(val) {
156
- let data = val || []
157
- // 按 tableParam 决定落点:行内附件写回当前行对象,主表写回表单模型。
158
- // 旧实现固定写 getFormRef().formDataModel(顶层),行内附件会写错位置并丢失联动,
159
- // 且多行会互相覆盖同一个顶层字段。
160
- let currentData = this.tableParam && this.tableParam.row
161
- ? this.tableParam.row
162
- : this.formModel;
163
- if (currentData[this.fieldKeyName] === undefined) {
164
- this.$set(currentData, this.fieldKeyName, [])
165
- }
166
- // 赋值 fieldModel 会触发 watch.fieldModel -> handleChangeEvent(内部再走
167
- // syncUpdateFormModel + emitFieldDataChange,异步一次)。这里再同步写一次模型,
168
- // 保证 setValue 返回后立即可读到最新值,且落点与 watcher 一致,不会重复触发变更事件。
169
- this.fieldModel = data;
170
- this.syncUpdateFormModel(data);
171
- },
172
- loadDataDefaultHandle() {
173
- let dataId = this.formDataId;
174
- if (!dataId) return;
175
- let reportTemplate = this.getFormRef().reportTemplate;
176
- if (dataId) {
177
- let accessParam = this.handleCustomEvent(this.field.options.formScriptParam)
178
- return this.formHttp({
179
- url: "/" + reportTemplate.serviceName + "/form_ins/getList",
180
- data: this.buildFormScriptData(reportTemplate, {
181
- ...accessParam,
182
- id: dataId
183
- }),
184
- callback: res => {
185
- let rows = res.objx || [];
186
- this.setValue(rows)
187
- }
188
- });
189
- }
190
- },
191
- }
192
- }
193
- </script>
194
-
195
- <style lang="scss" scoped>
196
- @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
197
-
198
- .full-width-input {
199
- width: 100% !important;
200
- }
201
-
202
- .hideUploadDiv {
203
- ::v-deep div.el-upload--picture-card { /* 隐藏最后的图片上传按钮 */
204
- display: none;
205
- }
206
-
207
- ::v-deep div.el-upload--text { /* 隐藏最后的文件上传按钮 */
208
- display: none;
209
- }
210
-
211
- ::v-deep div.el-upload__tip { /* 隐藏最后的文件上传按钮提示 */
212
- display: none;
213
- }
214
- }
215
-
216
- </style>
1
+ <template>
2
+ <form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
3
+ :parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
4
+ :sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
5
+ :sub-form-row-id="subFormRowId">
6
+ <a href="javascript:void(0);" class="a-link nums" v-if="designState">
7
+ <i class="iconfont icon-fujian3"/>
8
+ </a>
9
+ <base-attachment :option.sync="option" v-else></base-attachment>
10
+ </form-item-wrapper>
11
+ </template>
12
+
13
+ <script>
14
+ import FormItemWrapper from './form-item-wrapper'
15
+ import emitter from '../../../../../components/xform/utils/emitter'
16
+ import i18n from "../../../../../components/xform/utils/i18n";
17
+ import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
18
+
19
+ export default {
20
+ name: "baseAttachment-widget",
21
+ componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
22
+ mixins: [emitter, fieldMixin, i18n],
23
+ props: {
24
+ field: Object,
25
+ parentWidget: Object,
26
+ parentList: Array,
27
+ indexOfParentList: Number,
28
+ designer: Object,
29
+
30
+ designState: {
31
+ type: Boolean,
32
+ default: false
33
+ },
34
+
35
+ subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
36
+ type: Number,
37
+ default: -1
38
+ },
39
+ subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
40
+ type: Number,
41
+ default: -1
42
+ },
43
+ subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
44
+ type: String,
45
+ default: ''
46
+ },
47
+
48
+ },
49
+ components: {
50
+ FormItemWrapper,
51
+ },
52
+ inject: ['refList', 'globalOptionData', 'globalModel', 'getFormConfig'],
53
+ data() {
54
+ return {
55
+ oldFieldValue: [], //field组件change之前的值
56
+ fieldModel: [],
57
+ rules: [],
58
+ isH5: false,
59
+ option:{}
60
+ }
61
+ },
62
+ watch: {
63
+ fieldModel(val) {
64
+ this.handleChangeEvent(val);
65
+ },
66
+ 'option':function(){
67
+
68
+ }
69
+ },
70
+ computed: {
71
+ formDataId() {
72
+ let formRef = this.getFormRef();
73
+ return formRef.dataId;
74
+ }/*,
75
+ option() {
76
+ return {
77
+ title: '附件',
78
+ edit: !this.field.options.disabled,
79
+ uploadConfig: {
80
+ limit: this.field.options.limit,
81
+ resultType: "Array"
82
+ },
83
+ rows: (done) => {
84
+ done(this.fieldModel);
85
+ },
86
+ confirm: (rows, fileInfos) => {
87
+ this.fieldModel = rows;
88
+ // this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
89
+ let eventParamNames = ['attachments', 'fileInfos'];
90
+ let eventParamValues = [rows, fileInfos];
91
+ this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
92
+ }
93
+ };
94
+ }*/
95
+ },
96
+ beforeCreate() {
97
+ /* 这里不能访问方法和属性!! */
98
+ },
99
+
100
+ created() {
101
+ /*this.option = {
102
+ title: '附件',
103
+ edit: !this.field.options.disabled,
104
+ rows: (done) => {
105
+ done(this.fieldModel);
106
+ },
107
+ confirm: (attachments) => {
108
+ this.fieldModel = attachments;
109
+ }
110
+ };
111
+ let a = 1;*/
112
+ /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
113
+ 需要在父组件created中初始化!! */
114
+
115
+ this.isH5 = this.getFormConfig()?.layoutType === 'H5';
116
+
117
+ this.initFieldModel()
118
+ this.registerToRefList()
119
+ this.initEventHandler()
120
+ this.buildFieldRules()
121
+
122
+ this.handleOnCreated()
123
+ this.initOption();
124
+ },
125
+
126
+ mounted() {
127
+ this.handleOnMounted()
128
+ },
129
+
130
+ beforeDestroy() {
131
+ this.unregisterFromRefList()
132
+ },
133
+ methods: {
134
+ initOption(){
135
+ this.option = {
136
+ title: '附件',
137
+ edit: !this.field.options.disabled,
138
+ showViewButton: this.field.options.showViewButton !== false,
139
+ uploadConfig: {
140
+ limit: this.field.options.limit,
141
+ resultType: "Array"
142
+ },
143
+ rows: (done) => {
144
+ done(this.fieldModel);
145
+ },
146
+ confirm: (rows, fileInfos) => {
147
+ this.fieldModel = rows;
148
+ // this.field.options.onAfterConfirmFile && this.field.options.onAfterConfirmFile(rows, fileInfos);
149
+ let eventParamNames = ['attachments', 'fileInfos'];
150
+ let eventParamValues = [rows, fileInfos];
151
+ this.handleCustomEvent(this.field.options.onAfterConfirmFile, eventParamNames, eventParamValues)
152
+ }
153
+ }
154
+ },
155
+ setValue(val) {
156
+ let data = val || []
157
+ // 按 tableParam 决定落点:行内附件写回当前行对象,主表写回表单模型。
158
+ // 旧实现固定写 getFormRef().formDataModel(顶层),行内附件会写错位置并丢失联动,
159
+ // 且多行会互相覆盖同一个顶层字段。
160
+ let currentData = this.tableParam && this.tableParam.row
161
+ ? this.tableParam.row
162
+ : this.formModel;
163
+ if (currentData[this.fieldKeyName] === undefined) {
164
+ this.$set(currentData, this.fieldKeyName, [])
165
+ }
166
+ // 赋值 fieldModel 会触发 watch.fieldModel -> handleChangeEvent(内部再走
167
+ // syncUpdateFormModel + emitFieldDataChange,异步一次)。这里再同步写一次模型,
168
+ // 保证 setValue 返回后立即可读到最新值,且落点与 watcher 一致,不会重复触发变更事件。
169
+ this.fieldModel = data;
170
+ this.syncUpdateFormModel(data);
171
+ },
172
+ loadDataDefaultHandle() {
173
+ let dataId = this.formDataId;
174
+ if (!dataId) return;
175
+ let reportTemplate = this.getFormRef().reportTemplate;
176
+ if (dataId) {
177
+ let accessParam = this.handleCustomEvent(this.field.options.formScriptParam)
178
+ return this.formHttp({
179
+ url: "/" + reportTemplate.serviceName + "/form_ins/getList",
180
+ data: this.buildFormScriptData(reportTemplate, {
181
+ ...accessParam,
182
+ id: dataId
183
+ }),
184
+ callback: res => {
185
+ let rows = res.objx || [];
186
+ this.setValue(rows)
187
+ }
188
+ });
189
+ }
190
+ },
191
+ }
192
+ }
193
+ </script>
194
+
195
+ <style lang="scss" scoped>
196
+ @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
197
+
198
+ .full-width-input {
199
+ width: 100% !important;
200
+ }
201
+
202
+ .hideUploadDiv {
203
+ ::v-deep div.el-upload--picture-card { /* 隐藏最后的图片上传按钮 */
204
+ display: none;
205
+ }
206
+
207
+ ::v-deep div.el-upload--text { /* 隐藏最后的文件上传按钮 */
208
+ display: none;
209
+ }
210
+
211
+ ::v-deep div.el-upload__tip { /* 隐藏最后的文件上传按钮提示 */
212
+ display: none;
213
+ }
214
+ }
215
+
216
+ </style>