cloud-web-corejs 1.0.281 → 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 (192) 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 +122 -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/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
  44. 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
  45. 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
  46. 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
  47. package/src/components/xform/form-designer/designer.js +51 -52
  48. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  49. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
  50. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  51. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  52. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
  53. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
  54. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  55. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  56. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
  57. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  58. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  59. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  60. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  61. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  62. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  63. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  64. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  65. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  66. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  67. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  68. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  69. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  70. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  71. package/src/components/xform/form-designer/indexMixin.js +35 -1
  72. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  73. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  76. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  77. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  80. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  81. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  82. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  88. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  89. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  90. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  92. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  93. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  94. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
  95. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  96. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
  97. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  98. package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
  99. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
  100. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  101. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  102. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  103. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  104. package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
  105. package/src/components/xform/form-render/index.vue +153 -147
  106. package/src/components/xform/form-render/indexMixin.js +35 -3
  107. package/src/components/xform/lang/en-US.js +14 -0
  108. package/src/components/xform/lang/zh-CN.js +17 -0
  109. package/src/components/xform/mixins/defaultHandle.js +707 -707
  110. package/src/components/xform/styles/h5.scss +2238 -0
  111. package/src/components/xform/utils/textMaskUtil.js +182 -179
  112. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  113. package/src/components/xform/utils/util.js +56 -11
  114. package/src/directive/append-to-body/index.js +48 -0
  115. package/src/index.js +13 -4
  116. package/src/layout/components/Sidebar/default.vue +1655 -1655
  117. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  118. package/src/router/index.js +48 -27
  119. package/src/router/modules/customer.js +71 -14
  120. package/src/store/modules/permission.js +17 -18
  121. package/src/utils/assetUrl.js +19 -0
  122. package/src/utils/pdfUtil.js +429 -429
  123. package/src/utils/resolveViewComponent.js +142 -16
  124. package/src/utils/vab.js +1283 -1279
  125. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  126. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  127. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  128. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  129. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  130. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  131. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  132. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  133. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  134. package/src/views/bd/project/common/form_script/list.vue +16 -0
  135. package/src/views/bd/project/common/form_template/list.vue +15 -0
  136. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  137. package/src/views/bd/project/core/branchContext.js +100 -0
  138. package/src/views/bd/project/core/branchPage.js +78 -0
  139. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  140. package/src/views/bd/project/core/branchScope.js +44 -0
  141. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  142. package/src/views/bd/project/core/branchSelect.vue +85 -0
  143. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  144. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  145. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  146. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  147. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  148. package/src/views/bd/setting/form_template/edit.vue +378 -356
  149. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  150. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  151. package/src/views/bd/setting/form_template/list.vue +304 -303
  152. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  153. package/src/views/bd/setting/form_template/mixins/list.js +748 -721
  154. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  155. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  156. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  157. package/src/views/demo/bizTab/bill/billConfig.js +41 -0
  158. package/src/views/demo/bizTab/bill/detail.vue +436 -0
  159. package/src/views/demo/bizTab/bill/list.vue +288 -0
  160. package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
  161. package/src/views/demo/bizTab/simple/billApi.js +123 -0
  162. package/src/views/demo/bizTab/simple/detail.vue +407 -0
  163. package/src/views/demo/bizTab/simple/list.vue +217 -0
  164. package/src/views/demo/bizTab/standalone/index.vue +121 -0
  165. package/src/views/demo/bizTab/wf/billConfig.js +44 -0
  166. package/src/views/demo/bizTab/wf/detail.vue +661 -0
  167. package/src/views/demo/bizTab/wf/list.vue +242 -0
  168. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  169. package/src/views/support/form-dialog-demo/index.vue +537 -0
  170. package/src/views/user/file_view_ins/list.vue +970 -970
  171. package/src/views/user/form/vform/designer.vue +823 -821
  172. package/src/views/user/home/default.vue +1117 -1117
  173. package/src/views/user/home/default2.vue +1 -1
  174. package/src/views/user/home/index.vue +103 -101
  175. package/src/views/user/home/wjl/content.vue +1569 -0
  176. package/src/views/user/notify_message/dialog.vue +139 -137
  177. package/src/views/user/outLink/cc_form_view.vue +188 -0
  178. package/src/views/user/outLink/form_view.vue +202 -202
  179. package/src/views/user/outLink/index.vue +110 -110
  180. package/src/views/user/outLink/view.vue +3 -3
  181. package/src/views/user/role/edit.vue +632 -632
  182. package/src/views/user/role/list.vue +260 -260
  183. package/src/views/user/wf/iframe/index.vue +51 -51
  184. package/src/views/user/wf/iframe/index2.vue +64 -64
  185. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  186. package/src/views/user/wf/wf_manage/list2.vue +871 -875
  187. package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
  188. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  189. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  190. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  191. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  192. 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: "编写代码",