cloud-web-corejs 1.0.281 → 1.1.0-dev.11

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 (175) hide show
  1. package/package.json +6 -2
  2. package/src/components/VabUpload/image-viewer.vue +442 -442
  3. package/src/components/VabUpload/index.vue +45 -3
  4. package/src/components/VabUpload/mixins.js +126 -19
  5. package/src/components/VabUpload/view.vue +248 -209
  6. package/src/components/baseTabs/mixins.js +181 -181
  7. package/src/components/bizTab/BizBillActions.vue +129 -0
  8. package/src/components/bizTab/BizTabListPage.vue +391 -0
  9. package/src/components/bizTab/README.md +378 -0
  10. package/src/components/bizTab/billTableUtil.js +48 -0
  11. package/src/components/bizTab/billValidators.js +136 -0
  12. package/src/components/bizTab/bizBillDetailMixin.js +705 -0
  13. package/src/components/bizTab/index.js +24 -0
  14. package/src/components/excelExport/exportFieldDialog.vue +23 -12
  15. package/src/components/excelExport/exportItemConfigUtil.js +30 -0
  16. package/src/components/excelExport/mixins.js +3 -3
  17. package/src/components/excelImport/index.vue +156 -156
  18. package/src/components/jsonImport/index.vue +1 -1
  19. package/src/components/langImport/index.vue +1 -1
  20. package/src/components/mobile/statusTag/mixins.js +1 -61
  21. package/src/components/mobile/wf/addTaskUserdialog.vue +23 -3
  22. package/src/components/mobile/wf/content.vue +1705 -1556
  23. package/src/components/mobile/wf/deleteTaskUserDialog.vue +22 -3
  24. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  25. package/src/components/mobile/wf/selectUserDialog.vue +118 -0
  26. package/src/components/mobile/wf/setCandidateDialog.vue +25 -4
  27. package/src/components/mobile/wf/urgingDialog.vue +26 -3
  28. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  29. package/src/components/obsUpload/index.vue +1 -1
  30. package/src/components/table/config.js +78 -78
  31. package/src/components/table/index.js +1276 -1276
  32. package/src/components/table/plugins/cell-area/index.js +1055 -0
  33. package/src/components/table/plugins/cell-area/index.scss +77 -0
  34. package/src/components/table/plugins/cell-area/util.js +224 -0
  35. package/src/components/table/tableForm.vue +330 -330
  36. package/src/components/table/tableFormMixin.js +318 -318
  37. package/src/components/table/vxeFilter/index.js +163 -163
  38. package/src/components/table/vxeFilter/mixin.js +316 -316
  39. package/src/components/wf/content.vue +1188 -1188
  40. package/src/components/wf/wf.js +40 -20
  41. package/src/components/wf/wfActionDropdown.vue +1 -1
  42. package/src/components/wf/wfActionItems.js +1 -1
  43. package/src/components/xform/form-designer/designer.js +51 -52
  44. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  45. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
  46. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  47. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  48. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
  49. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
  50. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  51. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  52. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
  53. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  54. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  55. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  56. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  57. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  58. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  59. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  60. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  61. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  62. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  63. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  64. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  65. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  66. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  67. package/src/components/xform/form-designer/indexMixin.js +35 -1
  68. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  69. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  70. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  71. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  72. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  73. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  76. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  77. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  78. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  79. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  80. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  81. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  82. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  84. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  85. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  88. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  89. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  90. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
  91. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  92. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
  93. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  94. package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
  95. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
  96. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  97. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  98. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  99. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  100. package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
  101. package/src/components/xform/form-render/index.vue +153 -147
  102. package/src/components/xform/form-render/indexMixin.js +35 -3
  103. package/src/components/xform/lang/en-US.js +14 -0
  104. package/src/components/xform/lang/zh-CN.js +17 -0
  105. package/src/components/xform/mixins/defaultHandle.js +707 -707
  106. package/src/components/xform/styles/h5.scss +2262 -0
  107. package/src/components/xform/utils/textMaskUtil.js +182 -179
  108. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  109. package/src/components/xform/utils/util.js +56 -11
  110. package/src/directive/append-to-body/index.js +48 -0
  111. package/src/index.js +13 -4
  112. package/src/layout/components/Sidebar/default.vue +1655 -1655
  113. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  114. package/src/router/index.js +48 -27
  115. package/src/router/modules/customer.js +71 -14
  116. package/src/store/modules/permission.js +17 -18
  117. package/src/utils/assetUrl.js +19 -0
  118. package/src/utils/pdfUtil.js +429 -429
  119. package/src/utils/resolveViewComponent.js +142 -16
  120. package/src/utils/vab.js +1283 -1279
  121. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  122. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  123. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  124. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  125. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  126. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  127. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  128. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  129. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  130. package/src/views/bd/project/common/form_script/list.vue +16 -0
  131. package/src/views/bd/project/common/form_template/list.vue +15 -0
  132. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  133. package/src/views/bd/project/core/branchContext.js +100 -0
  134. package/src/views/bd/project/core/branchPage.js +78 -0
  135. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  136. package/src/views/bd/project/core/branchScope.js +44 -0
  137. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  138. package/src/views/bd/project/core/branchSelect.vue +85 -0
  139. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  140. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  141. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  142. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  143. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  144. package/src/views/bd/setting/form_template/edit.vue +378 -356
  145. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  146. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  147. package/src/views/bd/setting/form_template/list.vue +304 -303
  148. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  149. package/src/views/bd/setting/form_template/mixins/list.js +748 -721
  150. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  151. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  152. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  153. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  154. package/src/views/support/form-dialog-demo/index.vue +537 -0
  155. package/src/views/user/file_view_ins/list.vue +970 -970
  156. package/src/views/user/form/vform/designer.vue +823 -821
  157. package/src/views/user/home/default.vue +1117 -1117
  158. package/src/views/user/home/default2.vue +1 -1
  159. package/src/views/user/home/index.vue +103 -101
  160. package/src/views/user/notify_message/dialog.vue +139 -137
  161. package/src/views/user/outLink/form_view.vue +202 -202
  162. package/src/views/user/outLink/index.vue +110 -110
  163. package/src/views/user/outLink/view.vue +3 -3
  164. package/src/views/user/role/edit.vue +632 -632
  165. package/src/views/user/role/list.vue +260 -260
  166. package/src/views/user/wf/iframe/index.vue +51 -51
  167. package/src/views/user/wf/iframe/index2.vue +64 -64
  168. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  169. package/src/views/user/wf/wf_manage/list2.vue +871 -875
  170. package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
  171. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  172. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  173. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  174. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  175. package/src/utils/wf.js +0 -766
@@ -1,134 +1,134 @@
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" :sub-form-row-id="subFormRowId">
5
- <el-time-picker ref="fieldEditor" v-model="fieldModel" class="full-width-input"
6
- :disabled="field.options.disabled" :readonly="field.options.readonly"
7
- :size="field.options.size"
8
- :clearable="field.options.clearable" :editable="field.options.editable"
9
- :format="field.options.format" value-format="HH:mm:ss"
10
- :placeholder="getI18nLabel(field.options.placeholder || '选择时间')"
11
- :picker-options="pickerOptions"
12
- @focus="handleTimeFocusEvent" @blur="handleBlurCustomEvent"
13
- @change="handleTimeChangeEvent">
14
- </el-time-picker>
15
- </form-item-wrapper>
16
- </template>
17
-
18
- <script>
19
- import FormItemWrapper from './form-item-wrapper'
20
- import emitter from '../../../../../components/xform/utils/emitter'
21
- import i18n from "../../../../../components/xform/utils/i18n";
22
- import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
23
- import timeLimitMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin";
24
- import utcTransformMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin";
25
- import relativeDefaultMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin";
26
-
27
- export default {
28
- name: "time-widget",
29
- componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
30
- mixins: [emitter, fieldMixin, i18n, timeLimitMixin, utcTransformMixin, relativeDefaultMixin],
31
- props: {
32
- field: Object,
33
- parentWidget: Object,
34
- parentList: Array,
35
- indexOfParentList: Number,
36
- designer: Object,
37
-
38
- designState: {
39
- type: Boolean,
40
- default: false
41
- },
42
-
43
- subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
44
- type: Number,
45
- default: -1
46
- },
47
- subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
48
- type: Number,
49
- default: -1
50
- },
51
- subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
52
- type: String,
53
- default: ''
54
- },
55
-
56
- },
57
- components: {
58
- FormItemWrapper,
59
- },
60
- inject: ['refList', 'globalOptionData', 'globalModel'],
61
- data() {
62
- return {
63
- oldFieldValue: null, //field组件change之前的值
64
- fieldModel: null,
65
- rules: [],
66
- pickerOptions: {},
67
- }
68
- },
69
- computed: {
70
-
71
- },
72
- watch: {
73
- "field.options.minTime"() {
74
- this.initTimeLimitPickerOptions()
75
- },
76
- "field.options.minTimeType"() {
77
- this.initTimeLimitPickerOptions()
78
- },
79
- },
80
- beforeCreate() {
81
- /* 这里不能访问方法和属性!! */
82
- },
83
-
84
- created() {
85
- /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
86
- 需要在父组件created中初始化!! */
87
- this.initRelativeFieldModel()
88
- this.registerToRefList()
89
- this.initEventHandler()
90
- this.buildFieldRules()
91
-
92
- this.handleOnCreated()
93
- this.initTimeLimitPickerOptions()
94
- },
95
-
96
- mounted() {
97
- this.handleOnMounted()
98
- },
99
-
100
- beforeDestroy() {
101
- this.unregisterFromRefList()
102
- },
103
-
104
- methods: {
105
- handleTimeFocusEvent(event) {
106
- /* 最小时间为「当前时间」时,每次展开面板都需按当前时刻重新计算 */
107
- if (this.isNowTimeValueType(this.field.options.minTimeType)) {
108
- this.initTimeLimitPickerOptions()
109
- }
110
- this.handleFocusCustomEvent(event)
111
- },
112
- handleTimeChangeEvent(value) {
113
- if (this.isTimeLimitViolated(value)) {
114
- this.$message.warning(this.getTimeLimitViolationMessage())
115
- this.fieldModel = this.oldFieldValue
116
- return
117
- }
118
- this.handleChangeEvent(value)
119
- },
120
- setNow() {
121
- this.setValue(this.getNowTimeValue())
122
- },
123
- }
124
- }
125
- </script>
126
-
127
- <style lang="scss" scoped>
128
- @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
129
-
130
- .full-width-input {
131
- width: 100% !important;
132
- }
133
-
134
- </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" :sub-form-row-id="subFormRowId">
5
+ <el-time-picker ref="fieldEditor" v-model="fieldModel" class="full-width-input"
6
+ :disabled="field.options.disabled" :readonly="field.options.readonly"
7
+ :size="field.options.size"
8
+ :clearable="field.options.clearable" :editable="field.options.editable"
9
+ :format="field.options.format" value-format="HH:mm:ss"
10
+ :placeholder="getI18nLabel(field.options.placeholder || '选择时间')"
11
+ :picker-options="pickerOptions"
12
+ @focus="handleTimeFocusEvent" @blur="handleBlurCustomEvent"
13
+ @change="handleTimeChangeEvent">
14
+ </el-time-picker>
15
+ </form-item-wrapper>
16
+ </template>
17
+
18
+ <script>
19
+ import FormItemWrapper from './form-item-wrapper'
20
+ import emitter from '../../../../../components/xform/utils/emitter'
21
+ import i18n from "../../../../../components/xform/utils/i18n";
22
+ import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
23
+ import timeLimitMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin";
24
+ import utcTransformMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin";
25
+ import relativeDefaultMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin";
26
+
27
+ export default {
28
+ name: "time-widget",
29
+ componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
30
+ mixins: [emitter, fieldMixin, i18n, timeLimitMixin, utcTransformMixin, relativeDefaultMixin],
31
+ props: {
32
+ field: Object,
33
+ parentWidget: Object,
34
+ parentList: Array,
35
+ indexOfParentList: Number,
36
+ designer: Object,
37
+
38
+ designState: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+
43
+ subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
44
+ type: Number,
45
+ default: -1
46
+ },
47
+ subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
48
+ type: Number,
49
+ default: -1
50
+ },
51
+ subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
52
+ type: String,
53
+ default: ''
54
+ },
55
+
56
+ },
57
+ components: {
58
+ FormItemWrapper,
59
+ },
60
+ inject: ['refList', 'globalOptionData', 'globalModel'],
61
+ data() {
62
+ return {
63
+ oldFieldValue: null, //field组件change之前的值
64
+ fieldModel: null,
65
+ rules: [],
66
+ pickerOptions: {},
67
+ }
68
+ },
69
+ computed: {
70
+
71
+ },
72
+ watch: {
73
+ "field.options.minTime"() {
74
+ this.initTimeLimitPickerOptions()
75
+ },
76
+ "field.options.minTimeType"() {
77
+ this.initTimeLimitPickerOptions()
78
+ },
79
+ },
80
+ beforeCreate() {
81
+ /* 这里不能访问方法和属性!! */
82
+ },
83
+
84
+ created() {
85
+ /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
86
+ 需要在父组件created中初始化!! */
87
+ this.initRelativeFieldModel()
88
+ this.registerToRefList()
89
+ this.initEventHandler()
90
+ this.buildFieldRules()
91
+
92
+ this.handleOnCreated()
93
+ this.initTimeLimitPickerOptions()
94
+ },
95
+
96
+ mounted() {
97
+ this.handleOnMounted()
98
+ },
99
+
100
+ beforeDestroy() {
101
+ this.unregisterFromRefList()
102
+ },
103
+
104
+ methods: {
105
+ handleTimeFocusEvent(event) {
106
+ /* 最小时间为「当前时间」时,每次展开面板都需按当前时刻重新计算 */
107
+ if (this.isNowTimeValueType(this.field.options.minTimeType)) {
108
+ this.initTimeLimitPickerOptions()
109
+ }
110
+ this.handleFocusCustomEvent(event)
111
+ },
112
+ handleTimeChangeEvent(value) {
113
+ if (this.isTimeLimitViolated(value)) {
114
+ this.$message.warning(this.getTimeLimitViolationMessage())
115
+ this.fieldModel = this.oldFieldValue
116
+ return
117
+ }
118
+ this.handleChangeEvent(value)
119
+ },
120
+ setNow() {
121
+ this.setValue(this.getNowTimeValue())
122
+ },
123
+ }
124
+ }
125
+ </script>
126
+
127
+ <style lang="scss" scoped>
128
+ @import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
129
+
130
+ .full-width-input {
131
+ width: 100% !important;
132
+ }
133
+
134
+ </style>
@@ -26,13 +26,14 @@
26
26
  :file.sync="fieldModel"
27
27
  :hidePasteArea.sync="isH5"
28
28
  :uploadDialogCustomClass="isH5 ? 'dialog-upload-h5' : null"
29
+ :h5Preview="isH5"
29
30
  :pickPrivateProfile="false"
30
31
  :multi="field.options.limit !== 1"
31
32
  :limit="field.options.limit"
32
33
  :fileTypes="field.options.fileTypes || []"
33
34
  resultType="Array"
34
- :edit="!field.options.disabled"
35
- :remove="!field.options.hideRemoveButton"
35
+ :edit="!field.options.disabled && !isReadMode"
36
+ :remove="!field.options.hideRemoveButton && !isReadMode"
36
37
  @callback="submitFile"
37
38
  :hideInfo="field.options.hideFileInfo"
38
39
  :hideName="field.options.hideFileName"
@@ -93,6 +93,8 @@ modules = {
93
93
  readonly: Boolean,
94
94
  columnFlag: Boolean,
95
95
  sourceData: Object,
96
+ /* 进入设计器时的布局模式(模板自带 layoutType 时不覆盖);传入即锁定,工具栏不允许再切换 */
97
+ defaultLayoutType: { type: String, default: "" },
96
98
  },
97
99
  data() {
98
100
  return {
@@ -147,6 +149,8 @@ modules = {
147
149
  serverFieldList: this.fieldList,
148
150
  getServerSubFormList: () => this.subFormList,
149
151
  getDesignerConfig: () => this.designerConfig,
152
+ /* 由表单模板等入口指定布局模式时,布局类型由模板类型决定,设计器内不可切换 */
153
+ getLayoutTypeLocked: () => !!this.defaultLayoutType,
150
154
  getBannedWidgets: () => this.bannedWidgets,
151
155
  saveReportTemplate: this.saveReportTemplate,
152
156
  getReportTemplate: () => this.reportTemplate,
@@ -345,23 +349,51 @@ modules = {
345
349
  baseRefUtil.changeLocale(langName);
346
350
  },
347
351
 
352
+ /**
353
+ * 应用入口指定的布局模式:模板 JSON 自带 layoutType 时以模板为准,不覆盖
354
+ */
355
+ applyDefaultLayoutType(loadedFormJson) {
356
+ if (!this.defaultLayoutType) {
357
+ return;
358
+ }
359
+ if (loadedFormJson && loadedFormJson.formConfig?.layoutType) {
360
+ return;
361
+ }
362
+ this.designer.changeLayoutType(this.defaultLayoutType);
363
+ },
364
+
348
365
  setFormJson(formJson) {
349
366
  let modifiedFlag = false;
367
+ let loadedFormJson = null;
350
368
  if (!!formJson) {
351
369
  if (typeof formJson === "string") {
352
370
  let newFormJson = JSON.parse(formJson);
353
371
  this.upgradeFormJson(newFormJson);
372
+ loadedFormJson = newFormJson;
354
373
  modifiedFlag = this.designer.loadFormJson(newFormJson);
355
374
  } else if (formJson.constructor === Object) {
356
375
  this.upgradeFormJson(formJson);
376
+ loadedFormJson = formJson;
357
377
  modifiedFlag = this.designer.loadFormJson(formJson);
358
378
  }
359
379
 
360
380
  if (modifiedFlag) {
361
381
  this.designer.emitHistoryChange();
362
382
  }
383
+
384
+ this.applyDefaultLayoutType(loadedFormJson);
385
+ /* 模板 JSON 里的 layoutType 此刻才写入;左侧面板 mounted 时仍是默认 PC,
386
+ 必须再筛一次,否则进入 H5 模板时仍展示 PC 容器(data-table/detail 等) */
387
+ this.$nextTick(() => {
388
+ this.loadWidgets();
389
+ });
363
390
  } else {
391
+ /* 新建模板 formViewContent 为空会走这里,同样要落入口默认布局 */
364
392
  this.clearDesigner();
393
+ this.applyDefaultLayoutType(null);
394
+ this.$nextTick(() => {
395
+ this.loadWidgets();
396
+ });
365
397
  }
366
398
  },
367
399
 
@@ -826,7 +858,9 @@ modules = {
826
858
  });
827
859
  },
828
860
  loadWidgets() {
829
- this.$refs.widgetPanelRef.loadWidgets();
861
+ if (this.$refs.widgetPanelRef) {
862
+ this.$refs.widgetPanelRef.loadWidgets();
863
+ }
830
864
  },
831
865
  getBdEnv() {
832
866
  getBdFlag({
@@ -374,7 +374,7 @@
374
374
  </el-form-item>
375
375
  <el-form-item
376
376
  v-if="formConfig.multiTabEnabled"
377
- :label="i18nt('新增打开页签')"
377
+ :label="i18nt('新增打开页签')"
378
378
  class="el-form-item-second"
379
379
  >
380
380
  <el-switch v-model="formConfig.addTabEnabled"></el-switch>
@@ -480,7 +480,7 @@
480
480
  <el-collapse-item
481
481
  v-if="showEventCollapse()"
482
482
  name="7"
483
- :title="i18nt('designer.setting.eventSetting')"
483
+ :title="i18nt('designer.setting.eventSetting')"
484
484
  class="form-item-label-red"
485
485
  >
486
486
  <!-- <el-form-item label="onBeforeCreated" label-width="150px">
@@ -1714,23 +1714,23 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
1714
1714
 
1715
1715
  <style lang="scss" scoped>
1716
1716
  .setting-form {
1717
- ::v-deep .el-form-item{
1718
- .el-form-item__label {
1719
- font-size: 13px;
1720
- //text-overflow: ellipsis;
1721
- overflow: hidden;
1722
- white-space: nowrap;
1723
- }
1724
- &.el-form-item--mini.el-form-item {
1725
- margin-bottom: 6px;
1726
- }
1727
- &.el-form-item-second{
1728
- .el-form-item__label{
1729
- padding-left:4px;
1730
- &:before{content:"";width:5px;height:2px;background:#FF4D4F;display:inline-block;margin-right:4px;}
1731
- span{flex:1}
1732
- }
1733
- }
1717
+ ::v-deep .el-form-item{
1718
+ .el-form-item__label {
1719
+ font-size: 13px;
1720
+ //text-overflow: ellipsis;
1721
+ overflow: hidden;
1722
+ white-space: nowrap;
1723
+ }
1724
+ &.el-form-item--mini.el-form-item {
1725
+ margin-bottom: 6px;
1726
+ }
1727
+ &.el-form-item-second{
1728
+ .el-form-item__label{
1729
+ padding-left:4px;
1730
+ &:before{content:"";width:5px;height:2px;background:#FF4D4F;display:inline-block;margin-right:4px;}
1731
+ span{flex:1}
1732
+ }
1733
+ }
1734
1734
  }
1735
1735
 
1736
1736
  .radio-group-custom {
@@ -1757,29 +1757,29 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
1757
1757
 
1758
1758
  /* 折叠组内部的二级分组标题,用于把长配置组切成几段(如「流程信息」) */
1759
1759
  ::v-deep .wf-group-title {
1760
- margin: 16px 0 8px;
1761
- padding-left: 8px;
1762
- //border-left: 3px solid #0073E5;
1763
- color: rgba(0,0,0,.65);
1764
- font-size: 13px;
1765
- font-weight: 600;
1766
- line-height: 1.3;
1767
- background: rgba(0,0,0,0.04);
1760
+ margin: 16px 0 8px;
1761
+ padding-left: 8px;
1762
+ //border-left: 3px solid #0073E5;
1763
+ color: rgba(0,0,0,.65);
1764
+ font-size: 13px;
1765
+ font-weight: 600;
1766
+ line-height: 1.3;
1767
+ background: rgba(0,0,0,0.04);
1768
1768
  padding: 4px 0 4px 8px;
1769
1769
  &:first-child {
1770
1770
  margin-top: 0;
1771
- }
1772
- ~ .el-form-item{
1773
- .el-form-item__label{
1774
- padding-left:4px;
1775
- &:before{content:"";width:5px;height:2px;background:#0073e5;display:inline-block;margin-right:4px;}
1776
- span{flex:1}
1777
- }
1778
- &.form-item-label-red{
1779
- .el-form-item__label:before{
1780
- background:#FF4D4F
1781
- }
1782
- }
1771
+ }
1772
+ ~ .el-form-item{
1773
+ .el-form-item__label{
1774
+ padding-left:4px;
1775
+ &:before{content:"";width:5px;height:2px;background:#0073e5;display:inline-block;margin-right:4px;}
1776
+ span{flex:1}
1777
+ }
1778
+ &.form-item-label-red{
1779
+ .el-form-item__label:before{
1780
+ background:#FF4D4F
1781
+ }
1782
+ }
1783
1783
  }
1784
1784
  }
1785
1785
 
@@ -320,7 +320,7 @@
320
320
  <el-form-item :label="i18nt('明细导出脚本编码')" class="form-item-label-top">
321
321
  <el-input v-model="optionModel.exportItemScriptCode"></el-input>
322
322
  </el-form-item>
323
- <el-form-item label="自定义明细导出参数">
323
+ <el-form-item label="明细导出查询参数">
324
324
  <a
325
325
  href="javascript:void(0);"
326
326
  class="a-link link-oneLind"
@@ -1107,15 +1107,15 @@ export default {
1107
1107
  </style>
1108
1108
 
1109
1109
  <style scoped>
1110
- .form-section-label {
1111
- margin: 16px 0 8px;
1112
- padding-left: 8px;
1113
- color: rgba(0, 0, 0, 0.65);
1114
- font-size: 13px;
1115
- font-weight: 600;
1116
- line-height: 1.3;
1117
- background: rgba(0, 0, 0, 0.04);
1118
- padding: 4px 0 4px 8px;
1110
+ .form-section-label {
1111
+ margin: 16px 0 8px;
1112
+ padding-left: 8px;
1113
+ color: rgba(0, 0, 0, 0.65);
1114
+ font-size: 13px;
1115
+ font-weight: 600;
1116
+ line-height: 1.3;
1117
+ background: rgba(0, 0, 0, 0.04);
1118
+ padding: 4px 0 4px 8px;
1119
1119
  }
1120
1120
 
1121
1121
  .label-tip-icon {