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,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>