tianheng-ui 0.0.56 → 0.0.57

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 (238) hide show
  1. package/lib/039af9192b9bb277966ceb4e4ce29c41.js +16 -0
  2. package/lib/{c755e7fc08446566ee8dd3a8aa8fe43f.js → 2d84c80112a372bc149cad3464e90fa3.js} +404 -502
  3. package/lib/5977b934a4c6b480790864ea01303173.js +10834 -0
  4. package/lib/7745f3e776488705a38e62f85adad54d.js +16 -0
  5. package/lib/de8dee841ffdaaede3a2254deef30376.js +15395 -0
  6. package/lib/e78eab250e7f8ccac3d918dfdb06ca10.js +8904 -0
  7. package/lib/index.js +4 -2
  8. package/lib/theme-chalk/fonts/PingFang.ttf +0 -0
  9. package/lib/theme-chalk/fonts/bpmn.eot +0 -0
  10. package/lib/theme-chalk/fonts/bpmn.svg +224 -0
  11. package/lib/theme-chalk/fonts/bpmn.ttf +0 -0
  12. package/lib/theme-chalk/fonts/bpmn.woff +0 -0
  13. package/lib/theme-chalk/fonts/bpmn.woff2 +0 -0
  14. package/lib/theme-chalk/fonts/fontawesome-webfont.eot +0 -0
  15. package/lib/theme-chalk/fonts/fontawesome-webfont.svg +2671 -0
  16. package/lib/theme-chalk/fonts/fontawesome-webfont.ttf +0 -0
  17. package/lib/theme-chalk/fonts/fontawesome-webfont.woff +0 -0
  18. package/lib/theme-chalk/fonts/fontawesome-webfont.woff2 +0 -0
  19. package/lib/{iconfont.eot → theme-chalk/fonts/iconfont.eot} +0 -0
  20. package/lib/{iconfont.svg → theme-chalk/fonts/iconfont.svg} +0 -0
  21. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  22. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  23. package/lib/theme-chalk/images/notData.png +0 -0
  24. package/lib/theme-chalk/index.scss +29 -0
  25. package/lib/theme-chalk/styles/button.scss +501 -0
  26. package/lib/theme-chalk/styles/card.scss +29 -0
  27. package/lib/theme-chalk/styles/cell.scss +54 -0
  28. package/lib/theme-chalk/styles/codeEditor.scss +9 -0
  29. package/lib/theme-chalk/styles/col.scss +151 -0
  30. package/lib/theme-chalk/styles/dialog.scss +59 -0
  31. package/lib/theme-chalk/styles/empty.scss +22 -0
  32. package/lib/theme-chalk/styles/feature.scss +42 -0
  33. package/lib/theme-chalk/styles/font.css +7 -0
  34. package/lib/theme-chalk/{icon.css → styles/icon.css} +3 -3
  35. package/lib/theme-chalk/styles/imagePreview.scss +113 -0
  36. package/lib/theme-chalk/styles/img.scss +35 -0
  37. package/lib/theme-chalk/styles/reset.scss +8 -0
  38. package/lib/theme-chalk/{root.css → styles/root.css} +2 -35
  39. package/lib/theme-chalk/styles/row.scss +23 -0
  40. package/lib/theme-chalk/styles/variable.scss +80 -0
  41. package/lib/tianheng-ui.js +71 -9
  42. package/package.json +24 -4
  43. package/packages/Button/index.js +8 -0
  44. package/packages/Button/index.vue +80 -0
  45. package/packages/Card/index.js +8 -0
  46. package/packages/Card/index.vue +37 -0
  47. package/packages/{cell → Cell}/index.js +0 -0
  48. package/packages/Cell/index.vue +68 -0
  49. package/packages/{codeEditor → CodeEditor}/index.js +0 -0
  50. package/packages/{codeEditor → CodeEditor}/index.vue +73 -108
  51. package/packages/Col/index.js +8 -0
  52. package/packages/Col/index.vue +41 -0
  53. package/packages/{dialog → Dialog}/index.js +0 -0
  54. package/packages/{dialog → Dialog}/index.vue +19 -10
  55. package/packages/Empty/images/notData.png +0 -0
  56. package/packages/{empty → Empty}/index.js +0 -0
  57. package/packages/Empty/index.vue +35 -0
  58. package/packages/FormMaking/Container.vue +1907 -0
  59. package/packages/{formMaking → FormMaking}/FormConfig.vue +22 -6
  60. package/packages/FormMaking/GenerateForm.vue +246 -0
  61. package/packages/{formMaking → FormMaking}/GenerateFormItem.vue +340 -172
  62. package/packages/FormMaking/GenerateFormItemH5.vue +828 -0
  63. package/packages/{formMaking → FormMaking}/Upload/index.vue +0 -0
  64. package/packages/FormMaking/WidgetConfig.vue +473 -0
  65. package/packages/{formMaking → FormMaking}/WidgetForm.vue +49 -31
  66. package/packages/FormMaking/WidgetFormItem.vue +157 -0
  67. package/packages/{formMaking/componentsConfig.js → FormMaking/custom/config.js} +379 -163
  68. package/packages/FormMaking/custom/configs/alliance.vue +0 -0
  69. package/packages/FormMaking/custom/configs/blank.vue +54 -0
  70. package/packages/FormMaking/custom/configs/button.vue +144 -0
  71. package/packages/FormMaking/custom/configs/cascader.vue +182 -0
  72. package/packages/FormMaking/custom/configs/cell.vue +81 -0
  73. package/packages/FormMaking/custom/configs/checkbox.vue +237 -0
  74. package/packages/FormMaking/custom/configs/color.vue +137 -0
  75. package/packages/FormMaking/custom/configs/date.vue +158 -0
  76. package/packages/FormMaking/custom/configs/divider.vue +61 -0
  77. package/packages/FormMaking/custom/configs/editor.vue +71 -0
  78. package/packages/FormMaking/custom/configs/filler.vue +52 -0
  79. package/packages/FormMaking/custom/configs/grid.vue +103 -0
  80. package/packages/FormMaking/custom/configs/image.vue +148 -0
  81. package/packages/FormMaking/custom/configs/input.vue +176 -0
  82. package/packages/FormMaking/custom/configs/number.vue +140 -0
  83. package/packages/FormMaking/custom/configs/radio.vue +215 -0
  84. package/packages/FormMaking/custom/configs/rate.vue +109 -0
  85. package/packages/FormMaking/custom/configs/select.vue +308 -0
  86. package/packages/FormMaking/custom/configs/slider.vue +142 -0
  87. package/packages/FormMaking/custom/configs/switch.vue +130 -0
  88. package/packages/FormMaking/custom/configs/table.vue +105 -0
  89. package/packages/FormMaking/custom/configs/table_h5.vue +102 -0
  90. package/packages/FormMaking/custom/configs/tabs.vue +175 -0
  91. package/packages/FormMaking/custom/configs/text.vue +71 -0
  92. package/packages/FormMaking/custom/configs/textarea.vue +167 -0
  93. package/packages/FormMaking/custom/configs/time.vue +153 -0
  94. package/packages/FormMaking/custom/configs/upload.vue +150 -0
  95. package/packages/FormMaking/custom/index.js +33 -0
  96. package/packages/FormMaking/custom/items/alliance.vue +132 -0
  97. package/packages/FormMaking/custom/items/blank.vue +16 -0
  98. package/packages/FormMaking/custom/items/button.vue +27 -0
  99. package/packages/FormMaking/custom/items/cascader.vue +29 -0
  100. package/packages/FormMaking/custom/items/cell.vue +18 -0
  101. package/packages/FormMaking/custom/items/checkbox.vue +46 -0
  102. package/packages/FormMaking/custom/items/color.vue +19 -0
  103. package/packages/FormMaking/custom/items/date.vue +29 -0
  104. package/packages/FormMaking/custom/items/divider.vue +14 -0
  105. package/packages/FormMaking/custom/items/editor.vue +22 -0
  106. package/packages/FormMaking/custom/items/filler.vue +17 -0
  107. package/packages/FormMaking/custom/items/grid.vue +129 -0
  108. package/packages/FormMaking/custom/items/image.vue +42 -0
  109. package/packages/FormMaking/custom/items/input.vue +36 -0
  110. package/packages/FormMaking/custom/items/login.vue +13 -0
  111. package/packages/FormMaking/custom/items/number.vue +24 -0
  112. package/packages/FormMaking/custom/items/radio.vue +44 -0
  113. package/packages/FormMaking/custom/items/rate.vue +20 -0
  114. package/packages/FormMaking/custom/items/select.vue +32 -0
  115. package/packages/FormMaking/custom/items/slider.vue +34 -0
  116. package/packages/FormMaking/custom/items/switch.vue +22 -0
  117. package/packages/FormMaking/custom/items/table.vue +106 -0
  118. package/packages/FormMaking/custom/items/table_h5.vue +126 -0
  119. package/packages/FormMaking/custom/items/tabs.vue +145 -0
  120. package/packages/FormMaking/custom/items/text.vue +18 -0
  121. package/packages/FormMaking/custom/items/textarea.vue +37 -0
  122. package/packages/FormMaking/custom/items/time.vue +32 -0
  123. package/packages/FormMaking/custom/items/upload.vue +83 -0
  124. package/packages/FormMaking/custom/mixins/index.js +61 -0
  125. package/packages/FormMaking/custom/register.js +18 -0
  126. package/packages/{formMaking → FormMaking}/iconfont/demo.css +0 -0
  127. package/packages/{formMaking → FormMaking}/iconfont/demo_index.html +0 -0
  128. package/packages/{formMaking → FormMaking}/iconfont/iconfont.css +0 -0
  129. package/packages/{formMaking → FormMaking}/iconfont/iconfont.eot +0 -0
  130. package/packages/{formMaking → FormMaking}/iconfont/iconfont.js +0 -0
  131. package/packages/{formMaking → FormMaking}/iconfont/iconfont.svg +0 -0
  132. package/{lib → packages/FormMaking/iconfont}/iconfont.ttf +0 -0
  133. package/{lib → packages/FormMaking/iconfont}/iconfont.woff +0 -0
  134. package/packages/{formMaking → FormMaking}/iconfont/iconfont.woff2 +0 -0
  135. package/packages/FormMaking/index.js +35 -0
  136. package/packages/{formMaking → FormMaking}/lang/en-US.js +1 -1
  137. package/packages/{formMaking → FormMaking}/lang/zh-CN.js +1 -1
  138. package/packages/{formMaking → FormMaking}/styles/cover.scss +1 -1
  139. package/packages/{formMaking → FormMaking}/styles/index.scss +445 -429
  140. package/packages/{formMaking → FormMaking/util}/generateCode.js +5 -5
  141. package/packages/{formMaking → FormMaking}/util/index.js +0 -0
  142. package/packages/{formMaking → FormMaking}/util/request.js +0 -0
  143. package/packages/{icons → Icons}/index.js +0 -0
  144. package/packages/{icons → Icons}/index.vue +26 -9
  145. package/packages/Image/index.js +8 -0
  146. package/packages/Image/index.vue +146 -0
  147. package/packages/ImagePreview/index.js +8 -0
  148. package/packages/ImagePreview/index.vue +386 -0
  149. package/packages/Row/index.js +8 -0
  150. package/packages/Row/index.vue +35 -0
  151. package/packages/{table → Table}/action.js +0 -0
  152. package/packages/{table → Table}/action.vue +1 -1
  153. package/packages/Table/column.vue +63 -0
  154. package/packages/{table → Table}/index.js +0 -0
  155. package/packages/{table → Table}/index.vue +25 -23
  156. package/packages/{table → Table}/search.js +0 -0
  157. package/packages/{table → Table}/search.vue +2 -2
  158. package/packages/{table → Table}/tools.js +0 -0
  159. package/packages/{table → Table}/tools.vue +0 -0
  160. package/packages/Workflow/Log.js +99 -0
  161. package/packages/Workflow/designer/ProcessDesigner.vue +628 -0
  162. package/packages/Workflow/designer/index.js +7 -0
  163. package/packages/Workflow/designer/plugins/content-pad/contentPadProvider.js +390 -0
  164. package/packages/Workflow/designer/plugins/content-pad/index.js +6 -0
  165. package/packages/Workflow/designer/plugins/defaultEmpty.js +24 -0
  166. package/packages/Workflow/designer/plugins/descriptor/activitiDescriptor.json +1071 -0
  167. package/packages/Workflow/designer/plugins/descriptor/camundaDescriptor.json +1087 -0
  168. package/packages/Workflow/designer/plugins/descriptor/flowableDescriptor.json +1215 -0
  169. package/packages/Workflow/designer/plugins/extension-moddle/activiti/activitiExtension.js +74 -0
  170. package/packages/Workflow/designer/plugins/extension-moddle/activiti/index.js +9 -0
  171. package/packages/Workflow/designer/plugins/extension-moddle/camunda/extension.js +148 -0
  172. package/packages/Workflow/designer/plugins/extension-moddle/camunda/index.js +6 -0
  173. package/packages/Workflow/designer/plugins/extension-moddle/flowable/flowableExtension.js +74 -0
  174. package/packages/Workflow/designer/plugins/extension-moddle/flowable/index.js +9 -0
  175. package/packages/Workflow/designer/plugins/palette/CustomPalette.js +156 -0
  176. package/packages/Workflow/designer/plugins/palette/index.js +6 -0
  177. package/packages/Workflow/designer/plugins/palette/paletteProvider.js +160 -0
  178. package/packages/Workflow/designer/plugins/translate/customTranslate.js +41 -0
  179. package/packages/Workflow/designer/plugins/translate/zh.js +238 -0
  180. package/packages/Workflow/highlight/index.js +5 -0
  181. package/packages/Workflow/index.js +26 -0
  182. package/packages/Workflow/index.vue +394 -0
  183. package/packages/Workflow/modules/auto-place/CustomAutoPlace.js +81 -0
  184. package/packages/Workflow/modules/auto-place/index.js +6 -0
  185. package/packages/Workflow/modules/custom-renderer/CustomRenderer.js +17 -0
  186. package/packages/Workflow/modules/custom-renderer/index.js +6 -0
  187. package/packages/Workflow/modules/rules/CustomRules.js +16 -0
  188. package/packages/Workflow/modules/rules/index.js +6 -0
  189. package/packages/Workflow/palette/ProcessPalette.vue +106 -0
  190. package/packages/Workflow/palette/index.js +7 -0
  191. package/packages/Workflow/penal/PropertiesPanel.vue +247 -0
  192. package/packages/Workflow/penal/base/ElementBaseInfo.vue +80 -0
  193. package/packages/Workflow/penal/flow-condition/FlowCondition.vue +142 -0
  194. package/packages/Workflow/penal/form/ElementForm.vue +367 -0
  195. package/packages/Workflow/penal/index.js +7 -0
  196. package/packages/Workflow/penal/listeners/ElementListeners.vue +299 -0
  197. package/packages/Workflow/penal/listeners/UserTaskListeners.vue +322 -0
  198. package/packages/Workflow/penal/listeners/template.js +178 -0
  199. package/packages/Workflow/penal/listeners/utilSelf.js +62 -0
  200. package/packages/Workflow/penal/multi-instance/ElementMultiInstance.vue +200 -0
  201. package/packages/Workflow/penal/other/ElementOtherConfig.vue +59 -0
  202. package/packages/Workflow/penal/properties/ElementProperties.vue +135 -0
  203. package/packages/Workflow/penal/signal-message/SignalAndMessage.vue +104 -0
  204. package/packages/Workflow/penal/task/ElementTask.vue +73 -0
  205. package/packages/Workflow/penal/task/task-components/ReceiveTask.vue +97 -0
  206. package/packages/Workflow/penal/task/task-components/ScriptTask.vue +85 -0
  207. package/packages/Workflow/penal/task/task-components/UserTask.vue +535 -0
  208. package/packages/Workflow/theme/element-variables.scss +70 -0
  209. package/packages/Workflow/theme/index.scss +2 -0
  210. package/packages/Workflow/theme/process-designer.scss +157 -0
  211. package/packages/Workflow/theme/process-panel.scss +107 -0
  212. package/packages/Workflow/translations.js +25 -0
  213. package/packages/Workflow/utils.js +71 -0
  214. package/packages/upload/ajax.js +85 -0
  215. package/packages/upload/index.js +8 -0
  216. package/packages/upload/index.vue +325 -0
  217. package/packages/upload/locale.js +9 -0
  218. package/packages/upload/upload-dragger.vue +70 -0
  219. package/packages/upload/upload-list.vue +101 -0
  220. package/packages/upload/upload.vue +211 -0
  221. package/lib/03250ed25fc1b305e9980cf7cf0dfb09.js +0 -1
  222. package/lib/theme-chalk/cell.css +0 -53
  223. package/lib/theme-chalk/dialog.css +0 -41
  224. package/lib/theme-chalk/empty.css +0 -27
  225. package/lib/theme-chalk/index.css +0 -6
  226. package/lib/theme-chalk/reset.css +0 -4
  227. package/lib/tianheng-ui.js.map +0 -1
  228. package/packages/cell/index.vue +0 -116
  229. package/packages/empty/index.vue +0 -33
  230. package/packages/formMaking/Container.vue +0 -591
  231. package/packages/formMaking/CusDialog.vue +0 -134
  232. package/packages/formMaking/GenerateForm.vue +0 -174
  233. package/packages/formMaking/WidgetConfig.vue +0 -1539
  234. package/packages/formMaking/WidgetFormItem.vue +0 -817
  235. package/packages/formMaking/iconfont/iconfont.ttf +0 -0
  236. package/packages/formMaking/iconfont/iconfont.woff +0 -0
  237. package/packages/formMaking/index.js +0 -77
  238. package/packages/table/column.vue +0 -111
@@ -1,16 +1,19 @@
1
1
  <template>
2
2
  <div class="form-config-container">
3
3
  <el-form label-position="top">
4
+ <el-form-item label="UI">
5
+ <el-radio-group v-model="data.ui">
6
+ <el-radio-button label="element">Element</el-radio-button>
7
+ <el-radio-button label="vant" disabled>Vant</el-radio-button>
8
+ </el-radio-group>
9
+ </el-form-item>
10
+
4
11
  <el-form-item label="表单标题">
5
12
  <el-input v-model="data.title"></el-input>
6
13
  </el-form-item>
7
14
 
8
- <el-form-item label="标签对齐方式">
9
- <el-radio-group v-model="data.labelPosition">
10
- <el-radio-button label="left">左对齐</el-radio-button>
11
- <el-radio-button label="right">右对齐</el-radio-button>
12
- <el-radio-button label="top">顶部对齐</el-radio-button>
13
- </el-radio-group>
15
+ <el-form-item label="表单宽度">
16
+ <el-input v-model="data.width"></el-input>
14
17
  </el-form-item>
15
18
 
16
19
  <el-form-item label="表单标签宽度">
@@ -22,6 +25,14 @@
22
25
  ></el-input-number>
23
26
  </el-form-item>
24
27
 
28
+ <el-form-item label="标签对齐方式">
29
+ <el-radio-group v-model="data.labelPosition">
30
+ <el-radio-button label="left">左对齐</el-radio-button>
31
+ <el-radio-button label="right">右对齐</el-radio-button>
32
+ <el-radio-button label="top">顶部对齐</el-radio-button>
33
+ </el-radio-group>
34
+ </el-form-item>
35
+
25
36
  <el-form-item label="组件尺寸">
26
37
  <el-radio-group v-model="data.size">
27
38
  <el-radio-button label="medium">medium</el-radio-button>
@@ -29,6 +40,11 @@
29
40
  <el-radio-button label="mini">mini</el-radio-button>
30
41
  </el-radio-group>
31
42
  </el-form-item>
43
+
44
+ <el-form-item label="操作属性">
45
+ <el-checkbox v-model="data.disabled">禁用 </el-checkbox>
46
+ <el-checkbox v-model="data.hideLabel">隐藏标签 </el-checkbox>
47
+ </el-form-item>
32
48
  </el-form>
33
49
  </div>
34
50
  </template>
@@ -0,0 +1,246 @@
1
+ <template>
2
+ <div>
3
+ <el-form
4
+ class="generateForm"
5
+ :class="{ 'form-hideLabel': data.config.hideLabel }"
6
+ :style="{ width: formWidth }"
7
+ :label-suffix="data.config.labelSuffix"
8
+ :size="data.config.size"
9
+ :model="models"
10
+ :label-position="data.config.labelPosition"
11
+ :label-width="data.config.labelWidth + 'px'"
12
+ ref="generateForm"
13
+ >
14
+ <genetate-form-item
15
+ v-for="item in data.list"
16
+ :key="item.key"
17
+ :models.sync="models"
18
+ :widget="item"
19
+ :slotKeys="slotKeys"
20
+ :remote="remote"
21
+ :config="data.config"
22
+ :prop="item.type === 'grid' ? '' : item.model"
23
+ :componentsData="componentsData"
24
+ @input-change="onInputChange"
25
+ >
26
+ <template v-for="name in slotKeys" :slot="name">
27
+ <slot :name="name" />
28
+ </template>
29
+ </genetate-form-item>
30
+ </el-form>
31
+ <!-- <van-form
32
+ v-else
33
+ class="generateForm"
34
+ :class="{ 'form-hideLabel': data.config.hideLabel }"
35
+ :style="{ width: formWidth }"
36
+ style="margin: 0 auto;"
37
+ :label-align="data.config.labelPosition"
38
+ :label-width="data.config.labelWidth + 'px'"
39
+ ref="generateForm"
40
+ >
41
+ <genetate-form-item-h5
42
+ v-for="item in data.list"
43
+ :key="item.key"
44
+ :models.sync="models"
45
+ :widget="item"
46
+ :slotKeys="slotKeys"
47
+ :remote="remote"
48
+ :config="data.config"
49
+ :prop="item.type === 'grid' ? '' : item.model"
50
+ :componentsData="componentsData"
51
+ @input-change="onInputChange"
52
+ >
53
+ <template v-for="name in slotKeys" :slot="name">
54
+ <slot :name="name" />
55
+ </template>
56
+ </genetate-form-item-h5>
57
+ </van-form> -->
58
+ </div>
59
+ </template>
60
+
61
+ <script>
62
+ import GenetateFormItem from "./GenerateFormItem";
63
+ import GenetateFormItemH5 from "./GenerateFormItemH5";
64
+ import Vue from "vue";
65
+ import { Form } from "vant";
66
+ Vue.use(Form);
67
+
68
+ export default {
69
+ name: "th-generate-form",
70
+ components: { GenetateFormItem, GenetateFormItemH5 },
71
+ props: ["data", "remote", "value", "insite", "slotKeys", "client"],
72
+ data() {
73
+ return {
74
+ models: {},
75
+ componentsData: []
76
+ };
77
+ },
78
+ computed: {
79
+ formWidth() {
80
+ if (this.data.config.width) return this.data.config.width;
81
+ if (this.client === "mobile") return "375px";
82
+
83
+ return "";
84
+ }
85
+ },
86
+ created() {
87
+ this.generateModle(this.data.list);
88
+ },
89
+ mounted() {},
90
+ methods: {
91
+ generateModle(genList, modelObj) {
92
+ genList.map(item => {
93
+ if (item.type === "grid") {
94
+ item.columns.forEach(item => {
95
+ this.generateModle(item.list, modelObj);
96
+ });
97
+ } else if (item.type === "tabs") {
98
+ if (modelObj) {
99
+ this.$set(modelObj, item.model, {});
100
+ item.tabs.forEach(item2 => {
101
+ this.$set(modelObj[item.model], item2.value, {});
102
+ this.generateModle(item2.list, modelObj[item.model][item2.value]);
103
+ });
104
+ } else {
105
+ this.$set(this.models, item.model, {});
106
+ item.tabs.forEach(item2 => {
107
+ this.$set(this.models[item.model], item2.value, {});
108
+ this.generateModle(
109
+ item2.list,
110
+ this.models[item.model][item2.value]
111
+ );
112
+ });
113
+ }
114
+ } else if (item.type === "table" || item.type === "table_h5") {
115
+ if (modelObj) {
116
+ this.$set(
117
+ modelObj,
118
+ item.model,
119
+ JSON.parse(item.options.defaultValue || "[]")
120
+ );
121
+ this.generateModle(item.list, modelObj[item.model]);
122
+ } else {
123
+ this.$set(
124
+ this.models,
125
+ item.model,
126
+ JSON.parse(item.options.defaultValue || "[]")
127
+ );
128
+ this.generateModle(item.list, this.models[item.model]);
129
+ }
130
+ } else if (modelObj) {
131
+ if (!modelObj[item.model]) {
132
+ this.$set(modelObj, item.model, item.options.defaultValue);
133
+ }
134
+
135
+ this.generateRules(item);
136
+ } else {
137
+ if (this.value && Object.keys(this.value).indexOf(item.model) >= 0) {
138
+ this.$set(this.models, item.model, this.value[item.model]);
139
+ } else {
140
+ if (item.type === "blank") {
141
+ this.$set(
142
+ this.models,
143
+ item.model,
144
+ item.options.defaultType === "String"
145
+ ? ""
146
+ : item.options.defaultType === "Object"
147
+ ? {}
148
+ : []
149
+ );
150
+ } else {
151
+ this.$set(
152
+ this.models,
153
+ item.model,
154
+ JSON.parse(JSON.stringify(item.options.defaultValue))
155
+ );
156
+ }
157
+ }
158
+
159
+ this.generateRules(item);
160
+ }
161
+ });
162
+ },
163
+ generateRules(item) {
164
+ item.rules.forEach(rule => {
165
+ if (rule.pattern) {
166
+ rule.pattern = new RegExp(rule.pattern);
167
+ }
168
+ });
169
+ },
170
+ getData() {
171
+ return new Promise((resolve, reject) => {
172
+ this.$refs.generateForm.validate(valid => {
173
+ if (valid) {
174
+ resolve(this.models);
175
+ } else {
176
+ reject(new Error("表单数据校验失败").message);
177
+ }
178
+ });
179
+ });
180
+ },
181
+ reset() {
182
+ this.$refs.generateForm.resetFields();
183
+ },
184
+ onInputChange(value, field) {
185
+ this.$emit("on-change", field, value, this.models);
186
+ },
187
+ refresh() {}
188
+ },
189
+ watch: {
190
+ data: {
191
+ deep: true,
192
+ handler(val) {
193
+ // this.generateModle(val.list);
194
+ }
195
+ },
196
+ value: {
197
+ deep: true,
198
+ handler(val) {
199
+ this.models = { ...this.models, ...val };
200
+ }
201
+ }
202
+ }
203
+ };
204
+ </script>
205
+
206
+ <style lang="less" scoped>
207
+ .generateForm {
208
+ margin: 0 auto;
209
+ /deep/ .widget-form-list-table > .el-form-item__content {
210
+ .el-form-item__label {
211
+ display: none;
212
+ }
213
+ .el-form-item__content {
214
+ margin-left: 0 !important;
215
+ }
216
+ }
217
+
218
+ .form-hideLabel {
219
+ .el-form-item__label {
220
+ display: none;
221
+ }
222
+ .el-form-item__content {
223
+ margin-left: 0 !important;
224
+ }
225
+ }
226
+
227
+ .widget-form-list-filler {
228
+ margin-bottom: 0 !important;
229
+ }
230
+ .widget-form-list-image {
231
+ margin-bottom: 0 !important;
232
+ }
233
+
234
+ .tableH5 {
235
+ // 操作按钮布局
236
+ .tableH5-item > div {
237
+ display: flex;
238
+
239
+ .actions {
240
+ align-items: center;
241
+ justify-content: right;
242
+ }
243
+ }
244
+ }
245
+ }
246
+ </style>