cloud-web-corejs 1.0.280 → 1.1.0-dev.10

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 (193) 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 +174 -34
  5. package/src/components/VabUpload/previewGroup.js +128 -0
  6. package/src/components/VabUpload/view.vue +248 -209
  7. package/src/components/baseTabs/mixins.js +181 -181
  8. package/src/components/bizTab/BizBillActions.vue +129 -0
  9. package/src/components/bizTab/BizTabListPage.vue +391 -0
  10. package/src/components/bizTab/README.md +378 -0
  11. package/src/components/bizTab/billTableUtil.js +48 -0
  12. package/src/components/bizTab/billValidators.js +136 -0
  13. package/src/components/bizTab/bizBillDetailMixin.js +705 -0
  14. package/src/components/bizTab/index.js +24 -0
  15. package/src/components/excelExport/exportFieldDialog.vue +23 -12
  16. package/src/components/excelExport/exportItemConfigUtil.js +30 -0
  17. package/src/components/excelExport/mixins.js +3 -3
  18. package/src/components/excelImport/index.vue +156 -156
  19. package/src/components/jsonImport/index.vue +1 -1
  20. package/src/components/langImport/index.vue +1 -1
  21. package/src/components/mobile/statusTag/mixins.js +1 -61
  22. package/src/components/mobile/wf/addTaskUserdialog.vue +23 -3
  23. package/src/components/mobile/wf/content.vue +1705 -1556
  24. package/src/components/mobile/wf/deleteTaskUserDialog.vue +22 -3
  25. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  26. package/src/components/mobile/wf/selectUserDialog.vue +122 -0
  27. package/src/components/mobile/wf/setCandidateDialog.vue +25 -4
  28. package/src/components/mobile/wf/urgingDialog.vue +26 -3
  29. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  30. package/src/components/obsUpload/index.vue +1 -1
  31. package/src/components/table/config.js +78 -78
  32. package/src/components/table/index.js +1276 -1276
  33. package/src/components/table/plugins/cell-area/index.js +1055 -0
  34. package/src/components/table/plugins/cell-area/index.scss +77 -0
  35. package/src/components/table/plugins/cell-area/util.js +224 -0
  36. package/src/components/table/tableForm.vue +330 -330
  37. package/src/components/table/tableFormMixin.js +318 -318
  38. package/src/components/table/vxeFilter/index.js +163 -163
  39. package/src/components/table/vxeFilter/mixin.js +316 -316
  40. package/src/components/wf/content.vue +1188 -1188
  41. package/src/components/wf/wf.js +40 -20
  42. package/src/components/wf/wfActionDropdown.vue +1 -1
  43. package/src/components/wf/wfActionItems.js +1 -1
  44. package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
  45. package/src/components/xform/docs/2026-08 xform H5 P1 /345/256/236/347/216/260/350/247/204/346/240/274.md" +412 -0
  46. package/src/components/xform/docs/2026-08 xform H5 P2 /345/256/236/347/216/260/350/247/204/346/240/274.md" +287 -0
  47. package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +400 -0
  48. package/src/components/xform/form-designer/designer.js +51 -52
  49. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  50. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
  51. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  52. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  53. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
  54. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
  55. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  56. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  57. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
  58. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  59. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  60. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  61. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  62. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  63. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  64. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  65. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  66. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  67. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  68. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  69. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  70. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  71. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  72. package/src/components/xform/form-designer/indexMixin.js +35 -1
  73. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  76. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  77. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  81. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  82. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  88. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  89. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  90. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  92. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  93. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  94. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  95. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
  96. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  97. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
  98. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  99. package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
  100. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
  101. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  102. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  103. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  104. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  105. package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
  106. package/src/components/xform/form-render/index.vue +153 -147
  107. package/src/components/xform/form-render/indexMixin.js +35 -3
  108. package/src/components/xform/lang/en-US.js +14 -0
  109. package/src/components/xform/lang/zh-CN.js +17 -0
  110. package/src/components/xform/mixins/defaultHandle.js +707 -707
  111. package/src/components/xform/styles/h5.scss +2238 -0
  112. package/src/components/xform/utils/textMaskUtil.js +182 -179
  113. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  114. package/src/components/xform/utils/util.js +56 -11
  115. package/src/directive/append-to-body/index.js +48 -0
  116. package/src/index.js +13 -4
  117. package/src/layout/components/Sidebar/default.vue +1655 -1655
  118. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  119. package/src/router/index.js +48 -27
  120. package/src/router/modules/customer.js +71 -14
  121. package/src/store/modules/permission.js +17 -18
  122. package/src/utils/assetUrl.js +19 -0
  123. package/src/utils/pdfUtil.js +429 -429
  124. package/src/utils/resolveViewComponent.js +142 -16
  125. package/src/utils/vab.js +1283 -1279
  126. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  127. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  128. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  129. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  130. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  131. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  132. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  133. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  134. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  135. package/src/views/bd/project/common/form_script/list.vue +16 -0
  136. package/src/views/bd/project/common/form_template/list.vue +15 -0
  137. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  138. package/src/views/bd/project/core/branchContext.js +100 -0
  139. package/src/views/bd/project/core/branchPage.js +78 -0
  140. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  141. package/src/views/bd/project/core/branchScope.js +44 -0
  142. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  143. package/src/views/bd/project/core/branchSelect.vue +85 -0
  144. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  145. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  146. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  147. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  148. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  149. package/src/views/bd/setting/form_template/edit.vue +378 -356
  150. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  151. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  152. package/src/views/bd/setting/form_template/list.vue +304 -303
  153. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  154. package/src/views/bd/setting/form_template/mixins/list.js +748 -721
  155. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  156. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  157. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  158. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  159. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  160. package/src/views/demo/bizTab/bill/list.vue +288 -0
  161. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  162. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  163. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  164. package/src/views/demo/bizTab/simple/list.vue +217 -0
  165. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  166. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  167. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  168. package/src/views/demo/bizTab/wf/list.vue +242 -0
  169. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  170. package/src/views/support/form-dialog-demo/index.vue +537 -0
  171. package/src/views/user/file_view_ins/list.vue +970 -970
  172. package/src/views/user/form/vform/designer.vue +823 -821
  173. package/src/views/user/home/default.vue +1117 -1117
  174. package/src/views/user/home/default2.vue +1 -1
  175. package/src/views/user/home/index.vue +103 -101
  176. package/src/views/user/home/wjl/content.vue +1569 -0
  177. package/src/views/user/notify_message/dialog.vue +139 -137
  178. package/src/views/user/outLink/cc_form_view.vue +188 -0
  179. package/src/views/user/outLink/form_view.vue +202 -202
  180. package/src/views/user/outLink/index.vue +110 -110
  181. package/src/views/user/outLink/view.vue +3 -3
  182. package/src/views/user/role/edit.vue +632 -632
  183. package/src/views/user/role/list.vue +260 -260
  184. package/src/views/user/wf/iframe/index.vue +51 -51
  185. package/src/views/user/wf/iframe/index2.vue +64 -64
  186. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  187. package/src/views/user/wf/wf_manage/list2.vue +871 -875
  188. package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
  189. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  190. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  191. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  192. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  193. package/src/utils/wf.js +0 -766
@@ -1,147 +1,153 @@
1
- <!--
2
- /**
3
- * author: vformAdmin
4
- * email: vdpadmin@163.com
5
- * website: https://www.vform666.com
6
- * date: 2021.08.18
7
- * remark: 如果要分发VForm源码,需在本文件顶部保留此文件头信息!!
8
- */
9
- -->
10
-
11
- <template>
12
- <div>
13
- <el-form
14
- :label-position="labelPosition"
15
- :size="size"
16
- :class="[customClass]"
17
- class="render-form"
18
- :label-width="labelWidth"
19
- :validate-on-rule-change="false"
20
- :model="formDataModel"
21
- ref="renderForm"
22
- @submit.native.prevent
23
- >
24
- <template v-if="showFormContent">
25
- <template v-for="(widget, index) in widgetList">
26
- <template v-if="'container' === widget.category">
27
- <component
28
- :is="getContainerWidgetName(widget)"
29
- :widget="widget"
30
- :field="widget"
31
- :key="widget.id"
32
- :parent-list="widgetList"
33
- :index-of-parent-list="index"
34
- :parent-widget="null"
35
- >
36
- <!-- 递归传递插槽!!! -->
37
- <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
38
- <slot :name="slot" v-bind="scope" />
39
- </template>
40
- </component>
41
- </template>
42
- <template v-else>
43
- <component
44
- :is="getWidgetName(widget)"
45
- :field="widget"
46
- :form-model="formDataModel"
47
- :designer="null"
48
- :key="widget.id"
49
- :parent-list="widgetList"
50
- :index-of-parent-list="index"
51
- :parent-widget="null"
52
- >
53
- <!-- 递归传递插槽!!! -->
54
- <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
55
- <slot :name="slot" v-bind="scope" />
56
- </template>
57
- </component>
58
- </template>
59
- </template>
60
- </template>
61
- </el-form>
62
- <searchFormDialog
63
- v-if="showSearchDialog"
64
- :visiable.sync="showSearchDialog"
65
- ref="searchFormDialog"
66
- :option="searchDialogOption"
67
- ></searchFormDialog>
68
- <formDialog
69
- v-if="showFormDialog"
70
- :visiable.sync="showFormDialog"
71
- ref="formDialog"
72
- :option="formDialogOption"
73
- ></formDialog>
74
- <importDialog
75
- v-if="showImportDialog"
76
- :visiable.sync="showImportDialog"
77
- :param="importDialogOption"
78
- :parentTarget="_self"
79
- ></importDialog>
80
- <fileReferenceDialog
81
- v-if="showFileReferenceDialog"
82
- :visiable.sync="showFileReferenceDialog"
83
- :option="fileReferenceDialogOption"
84
- ></fileReferenceDialog>
85
- <formulaDialog
86
- v-if="formulaDialogVisible"
87
- :visiable.sync="formulaDialogVisible"
88
- :option="formulaDialogOption"
89
- ></formulaDialog>
90
- <baseFormulaDialog
91
- v-if="baseFormulaDialogVisible"
92
- :visiable.sync="baseFormulaDialogVisible"
93
- :option="baseFormulaDialogOption"
94
- ></baseFormulaDialog>
95
- <template v-if="showQrCanvas">
96
- <canvas ref="qrCanvas" v-show="false" :width="qrWidth" :height="qrHeight"></canvas>
97
- </template>
98
- <univerDialog
99
- v-if="showUniverDialog"
100
- :visiable.sync="showUniverDialog"
101
- :option="univerDialogOption"
102
- ></univerDialog>
103
- <compareDelList
104
- v-if="showCompareDelList"
105
- :visiable.sync="showCompareDelList"
106
- :option="compareDelListOption"
107
- ></compareDelList>
108
- </div>
109
- </template>
110
-
111
- <script>
112
- //import ElForm from 'element-ui/packages/form/src/form.vue' /* 用于源码调试Element UI */
113
- import "./container-item/index";
114
- import FieldComponents from "../../../components/xform/form-designer/form-widget/field-widget/index";
115
- import indexMixin from "../../../components/xform/form-render/indexMixin";
116
- import formDynamicFieldMixin from "../../../components/xform/form-render/formDynamicFieldMixin";
117
-
118
- export default {
119
- name: "VFormRender",
120
- components: {
121
- ...FieldComponents,
122
- searchFormDialog: () =>
123
- import(
124
- "../../../components/xform/form-designer/form-widget/dialog/searchFormDialog.vue"
125
- ),
126
- formDialog: () =>
127
- import("../../../components/xform/form-designer/form-widget/dialog/formDialog.vue"),
128
- importDialog: () =>
129
- import(
130
- "../../../components/xform/form-designer/form-widget/dialog/importDialog.vue"
131
- ),
132
- fileReferenceDialog: () =>
133
- import(
134
- "../../../components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue"
135
- ),
136
- compareDelList: () =>
137
- import("../../../components/xform/form-render/compareDelList.vue"),
138
- },
139
- mixins: [indexMixin, formDynamicFieldMixin],
140
- };
141
- </script>
142
-
143
- <style lang="scss" scoped>
144
- .el-form ::v-deep .el-row {
145
- // padding: 8px;
146
- }
147
- </style>
1
+ <!--
2
+ /**
3
+ * author: vformAdmin
4
+ * email: vdpadmin@163.com
5
+ * website: https://www.vform666.com
6
+ * date: 2021.08.18
7
+ * remark: 如果要分发VForm源码,需在本文件顶部保留此文件头信息!!
8
+ */
9
+ -->
10
+
11
+ <template>
12
+ <div>
13
+ <el-form
14
+ :label-position="labelPosition"
15
+ :size="size"
16
+ :class="[customClass, h5RootClass]"
17
+ class="render-form"
18
+ :label-width="labelWidth"
19
+ :validate-on-rule-change="false"
20
+ :model="formDataModel"
21
+ ref="renderForm"
22
+ @submit.native.prevent
23
+ >
24
+ <template v-if="showFormContent">
25
+ <template v-for="(widget, index) in widgetList">
26
+ <template v-if="'container' === widget.category">
27
+ <component
28
+ :is="getContainerWidgetName(widget)"
29
+ :widget="widget"
30
+ :field="widget"
31
+ :key="widget.id"
32
+ :parent-list="widgetList"
33
+ :index-of-parent-list="index"
34
+ :parent-widget="null"
35
+ >
36
+ <!-- 递归传递插槽!!! -->
37
+ <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
38
+ <slot :name="slot" v-bind="scope" />
39
+ </template>
40
+ </component>
41
+ </template>
42
+ <template v-else>
43
+ <component
44
+ :is="getWidgetName(widget)"
45
+ :field="widget"
46
+ :form-model="formDataModel"
47
+ :designer="null"
48
+ :key="widget.id"
49
+ :parent-list="widgetList"
50
+ :index-of-parent-list="index"
51
+ :parent-widget="null"
52
+ >
53
+ <!-- 递归传递插槽!!! -->
54
+ <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
55
+ <slot :name="slot" v-bind="scope" />
56
+ </template>
57
+ </component>
58
+ </template>
59
+ </template>
60
+ </template>
61
+ </el-form>
62
+ <searchFormDialog
63
+ v-if="showSearchDialog"
64
+ :visiable.sync="showSearchDialog"
65
+ ref="searchFormDialog"
66
+ :option="searchDialogOption"
67
+ ></searchFormDialog>
68
+ <formDialog
69
+ v-if="showFormDialog"
70
+ :visiable.sync="showFormDialog"
71
+ ref="formDialog"
72
+ :option="formDialogOption"
73
+ ></formDialog>
74
+ <importDialog
75
+ v-if="showImportDialog"
76
+ :visiable.sync="showImportDialog"
77
+ :param="importDialogOption"
78
+ :parentTarget="_self"
79
+ ></importDialog>
80
+ <fileReferenceDialog
81
+ v-if="showFileReferenceDialog"
82
+ :visiable.sync="showFileReferenceDialog"
83
+ :option="fileReferenceDialogOption"
84
+ ></fileReferenceDialog>
85
+ <formulaDialog
86
+ v-if="formulaDialogVisible"
87
+ :visiable.sync="formulaDialogVisible"
88
+ :option="formulaDialogOption"
89
+ ></formulaDialog>
90
+ <baseFormulaDialog
91
+ v-if="baseFormulaDialogVisible"
92
+ :visiable.sync="baseFormulaDialogVisible"
93
+ :option="baseFormulaDialogOption"
94
+ ></baseFormulaDialog>
95
+ <template v-if="showQrCanvas">
96
+ <canvas ref="qrCanvas" v-show="false" :width="qrWidth" :height="qrHeight"></canvas>
97
+ </template>
98
+ <univerDialog
99
+ v-if="showUniverDialog"
100
+ :visiable.sync="showUniverDialog"
101
+ :option="univerDialogOption"
102
+ ></univerDialog>
103
+ <compareDelList
104
+ v-if="showCompareDelList"
105
+ :visiable.sync="showCompareDelList"
106
+ :option="compareDelListOption"
107
+ ></compareDelList>
108
+ </div>
109
+ </template>
110
+
111
+ <script>
112
+ //import ElForm from 'element-ui/packages/form/src/form.vue' /* 用于源码调试Element UI */
113
+ import "./container-item/index";
114
+ import FieldComponents from "../../../components/xform/form-designer/form-widget/field-widget/index";
115
+ import indexMixin from "../../../components/xform/form-render/indexMixin";
116
+ import formDynamicFieldMixin from "../../../components/xform/form-render/formDynamicFieldMixin";
117
+
118
+ export default {
119
+ name: "VFormRender",
120
+ components: {
121
+ ...FieldComponents,
122
+ searchFormDialog: () =>
123
+ import(
124
+ "../../../components/xform/form-designer/form-widget/dialog/searchFormDialog.vue"
125
+ ),
126
+ formDialog: () =>
127
+ import("../../../components/xform/form-designer/form-widget/dialog/formDialog.vue"),
128
+ importDialog: () =>
129
+ import(
130
+ "../../../components/xform/form-designer/form-widget/dialog/importDialog.vue"
131
+ ),
132
+ fileReferenceDialog: () =>
133
+ import(
134
+ "../../../components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue"
135
+ ),
136
+ compareDelList: () =>
137
+ import("../../../components/xform/form-render/compareDelList.vue"),
138
+ },
139
+ mixins: [indexMixin, formDynamicFieldMixin],
140
+ };
141
+ </script>
142
+
143
+ <style lang="scss" scoped>
144
+ .el-form ::v-deep .el-row {
145
+ // padding: 8px;
146
+ }
147
+ </style>
148
+
149
+ <!-- H5 版式样式基线:必须非 scoped,要穿透到各 field-widget 内部的 el-form-item。
150
+ 全部规则收在 .xform-h5 下(由上面 el-form 的 h5RootClass 输出),PC 版式不生效。 -->
151
+ <style lang="scss">
152
+ @import "../styles/h5.scss";
153
+ </style>
@@ -69,6 +69,9 @@ import {
69
69
  resolveTreeSubmitConfig,
70
70
  } from "../utils/treeTableUtil";
71
71
 
72
+ /* 暂时:H5 运行时整表只读(设计器画布不受影响)。打开 H5 编辑时改 false 即可。 */
73
+ const H5_TEMP_READ_ONLY = true;
74
+
72
75
  let modules = {};
73
76
  const baseRefUtil = {
74
77
  emitter,
@@ -184,7 +187,7 @@ modules = {
184
187
  },
185
188
  previewState: this.previewState,
186
189
  getReadMode: function () {
187
- return e.readModeFlag;
190
+ return e.getReadMode();
188
191
  },
189
192
  getSubFormFieldFlag: function () {
190
193
  return !1;
@@ -338,6 +341,27 @@ modules = {
338
341
  : "";
339
342
  },
340
343
 
344
+ /**
345
+ * H5 版式根类:整套移动端样式都收在 .xform-h5 作用域下(styles/h5.scss)。
346
+ * 必须由 form-render 自己输出,不能依赖宿主壳——表单还会从 formDialog /
347
+ * formDrawer / outLink/form_view / 微前端子应用等路径渲染,
348
+ * views/user/form/vform/render.vue 的 .h5-layout 在那几条路径上拿不到。
349
+ */
350
+ h5RootClass() {
351
+ return !!this.formConfig && this.formConfig.layoutType === "H5"
352
+ ? "xform-h5"
353
+ : "";
354
+ },
355
+
356
+ /** 暂时:H5 版式强制只读 */
357
+ isH5TempReadOnly() {
358
+ return (
359
+ H5_TEMP_READ_ONLY &&
360
+ !!this.formConfig &&
361
+ this.formConfig.layoutType === "H5"
362
+ );
363
+ },
364
+
341
365
  formModel() {
342
366
  return this.formDataModel;
343
367
  },
@@ -350,6 +374,7 @@ modules = {
350
374
  this.currentFormData = this.formData;
351
375
 
352
376
  this.initGlobalConfig(); //初始化全局配置
377
+ this.applyH5TempReadOnly();
353
378
  this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);
354
379
 
355
380
  // this.handleOnCreated(),
@@ -2043,6 +2068,7 @@ modules = {
2043
2068
  this.$set(this.formJsonObj, "formConfig", i.formConfig),
2044
2069
  (this._provided.formConfig = i.formConfig),
2045
2070
  this.$set(this.formJsonObj, "widgetList", i.widgetList),
2071
+ this.applyH5TempReadOnly(),
2046
2072
  this.insertCustomStyleAndScriptNode(),
2047
2073
  this.$nextTick(function () {
2048
2074
  t.initFormObject(!1), t.handleOnMounted();
@@ -3586,10 +3612,16 @@ modules = {
3586
3612
  setReadMode: function () {
3587
3613
  let e =
3588
3614
  !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
3589
- this.readModeFlag = e;
3615
+ /* H5 暂时只读:不允许关掉 */
3616
+ this.readModeFlag = this.isH5TempReadOnly ? true : e;
3590
3617
  },
3591
3618
  getReadMode: function () {
3592
- return this.readModeFlag;
3619
+ return this.readModeFlag || this.isH5TempReadOnly;
3620
+ },
3621
+ applyH5TempReadOnly() {
3622
+ if (this.isH5TempReadOnly) {
3623
+ this.readModeFlag = true;
3624
+ }
3593
3625
  },
3594
3626
  getGlobalDsv: function () {
3595
3627
  return this.globalDsv;
@@ -62,6 +62,10 @@ export default {
62
62
  autocomplete: "Autocomplete"
63
63
  },
64
64
  hint: {
65
+ h5DetailContentArea: "Content: drop h5 card",
66
+ h5DetailBottomArea: "Bottom buttons: 3 inline, rest in More",
67
+ h5PaneButtonArea: "Buttons",
68
+ h5PaneFieldArea: "Fields: drop field / h5 table / h5 list",
65
69
  selectParentWidget: "Select parent of this widget",
66
70
  moveUpWidget: "Move up this widget",
67
71
  moveDownWidget: "Move down this widget",
@@ -193,6 +197,16 @@ export default {
193
197
  fixedQuery: "Fixed Query Condition",
194
198
  fixedQueryHelp:
195
199
  "Keeps its value when Refresh / Revert / Confirm runs, and is read-only in Query Condition Setting",
200
+ h5Span: "H5 Width",
201
+ h5SpanFull: "Full",
202
+ h5SpanHalf: "Half",
203
+ h5SpanHelp:
204
+ "H5 layout only. Half puts two fields side by side, matching the compact two-column mobile layout",
205
+ itemStyle: "Item Style",
206
+ itemStylePlain: "Plain",
207
+ itemStyleCard: "Card",
208
+ itemStyleHelp:
209
+ "Card style adds a dot title and a right arrow, tap to open item detail; Plain keeps the original look",
196
210
  textContent: "Text",
197
211
  htmlContent: "HTML",
198
212
  clearable: "Clearable",
@@ -97,6 +97,7 @@ export default {
97
97
  "detail-pane": "内容模块",
98
98
  "detail-h5": "H5详情",
99
99
  "list-h5": "H5列表",
100
+ "detail-temp":'模板模块',
100
101
  text: "文本",
101
102
  "tree-pane": "树/列表布局",
102
103
  "h5-card": "h5卡片",
@@ -132,6 +133,11 @@ export default {
132
133
  childrenKeyName: "子节点属性名称",
133
134
  },
134
135
  hint: {
136
+ /* h5卡片选项卡的两个投放区说明(设计器画布常驻,见 h5-card-pane-widget) */
137
+ h5DetailContentArea: "内容区:拖入 h5卡片",
138
+ h5DetailBottomArea: "底部按钮区:拖入按钮(平铺 3 个,超出收进「更多」)",
139
+ h5PaneButtonArea: "按钮区",
140
+ h5PaneFieldArea: "字段区:拖入字段 / h5表格 / H5列表",
135
141
  formulaSetting: "公式设置",
136
142
  formulaModel: "模式",
137
143
  formulaModelView: "查看",
@@ -347,6 +353,16 @@ export default {
347
353
  fixedQuery: "固定查询条件",
348
354
  fixedQueryHelp:
349
355
  "开启后该条件不被刷新、查询条件设置的还原/确定清空,且在查询条件设置里只读",
356
+ h5Span: "H5 占宽",
357
+ h5SpanFull: "整宽",
358
+ h5SpanHalf: "半宽",
359
+ h5SpanHelp:
360
+ "仅 H5 版式生效。半宽时两个字段并排一行,对应移动端的紧凑两列版式",
361
+ itemStyle: "明细行样式",
362
+ itemStylePlain: "朴素列表",
363
+ itemStyleCard: "卡片",
364
+ itemStyleHelp:
365
+ "卡片样式带圆点标题与右侧箭头,点击进入明细详情;朴素列表为原有表现",
350
366
  textContent: "静态文字",
351
367
  preWrap: "自动换行",
352
368
  htmlContent: "HTML",
@@ -498,6 +514,7 @@ export default {
498
514
  containerClass: "容器样式",
499
515
  styleTitClass: "样式选择",
500
516
  styleTableClass: "表格样式",
517
+ styleTempClass: "模板样式",
501
518
  iconClass: "图标样式",
502
519
  globalFunctions: "表单全局函数",
503
520
  addEventHandler: "编写代码",