vue-super-crud 1.7.1 → 1.7.2

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 (269) hide show
  1. package/README.md +42 -10
  2. package/lib/index.css +1 -1
  3. package/lib/super-crud.min.js +2 -2
  4. package/package.json +21 -16
  5. package/.browserslistrc +0 -3
  6. package/.versionrc.json +0 -36
  7. package/CHANGELOG.md +0 -232
  8. package/babel.config.js +0 -12
  9. package/build/alias.js +0 -10
  10. package/build/build.js +0 -52
  11. package/build/config.js +0 -70
  12. package/deploy.bat +0 -14
  13. package/docs/.vuepress/components/button/base.vue +0 -88
  14. package/docs/.vuepress/components/common/code-format.vue +0 -331
  15. package/docs/.vuepress/components/commonConfig/presetCodeTemplate/base.vue +0 -68
  16. package/docs/.vuepress/components/commonConfig/presetCodeTemplate/customParams.vue +0 -73
  17. package/docs/.vuepress/components/commonConfig/renderType/component.vue +0 -160
  18. package/docs/.vuepress/components/commonConfig/renderType/formatter.vue +0 -49
  19. package/docs/.vuepress/components/commonConfig/renderType/render.vue +0 -91
  20. package/docs/.vuepress/components/commonConfig/renderType/slot.vue +0 -63
  21. package/docs/.vuepress/components/crud/baseUse/baseUse.vue +0 -98
  22. package/docs/.vuepress/components/crud/baseUse/columnAction.vue +0 -72
  23. package/docs/.vuepress/components/crud/baseUse/columnWidth.vue +0 -107
  24. package/docs/.vuepress/components/crud/baseUse/handleRow.vue +0 -65
  25. package/docs/.vuepress/components/crud/baseUse/height.vue +0 -82
  26. package/docs/.vuepress/components/crud/baseUse/index.vue +0 -54
  27. package/docs/.vuepress/components/crud/baseUse/loading.vue +0 -70
  28. package/docs/.vuepress/components/crud/baseUse/pagination.vue +0 -108
  29. package/docs/.vuepress/components/crud/baseUse/selection.vue +0 -114
  30. package/docs/.vuepress/components/crud/baseUse/summaryMethod.vue +0 -118
  31. package/docs/.vuepress/components/crud/baseUse/title.vue +0 -54
  32. package/docs/.vuepress/components/crud/baseUse/toolbar.vue +0 -69
  33. package/docs/.vuepress/components/crud/buttons/common.vue +0 -115
  34. package/docs/.vuepress/components/crud/buttons/fast.vue +0 -82
  35. package/docs/.vuepress/components/crud/contextMenu/base.vue +0 -72
  36. package/docs/.vuepress/components/crud/copy.vue +0 -52
  37. package/docs/.vuepress/components/crud/crudEvents/api.vue +0 -157
  38. package/docs/.vuepress/components/crud/crudEvents/deleteTip.vue +0 -93
  39. package/docs/.vuepress/components/crud/crudEvents/events.vue +0 -188
  40. package/docs/.vuepress/components/crud/dataSort/base.vue +0 -142
  41. package/docs/.vuepress/components/crud/genDynamicColumns/base.vue +0 -53
  42. package/docs/.vuepress/components/crud/genDynamicColumns/dynamicAndFixed.vue +0 -111
  43. package/docs/.vuepress/components/crud/genDynamicColumns/treeDynamic.vue +0 -68
  44. package/docs/.vuepress/components/crud/handleBar/handleRow.vue +0 -65
  45. package/docs/.vuepress/components/crud/handleBar/toolbar.vue +0 -69
  46. package/docs/.vuepress/components/crud/renderType/1.vue +0 -57
  47. package/docs/.vuepress/components/crud/renderType/2.vue +0 -63
  48. package/docs/.vuepress/components/crud/renderType/3.vue +0 -105
  49. package/docs/.vuepress/components/crud/renderType/5.vue +0 -91
  50. package/docs/.vuepress/components/crud/search/1.vue +0 -90
  51. package/docs/.vuepress/components/crud/search/2.vue +0 -78
  52. package/docs/.vuepress/components/crud/search/3.vue +0 -107
  53. package/docs/.vuepress/components/crud/search/base.vue +0 -123
  54. package/docs/.vuepress/components/crud/search/localSearch.vue +0 -124
  55. package/docs/.vuepress/components/crud/search/special.vue +0 -148
  56. package/docs/.vuepress/components/crud/selection/events.vue +0 -47
  57. package/docs/.vuepress/components/crud/selection/pagination.vue +0 -94
  58. package/docs/.vuepress/components/crud/selection/singleSelection.vue +0 -64
  59. package/docs/.vuepress/components/crud/span/base.vue +0 -69
  60. package/docs/.vuepress/components/crud/span/special.vue +0 -75
  61. package/docs/.vuepress/components/crud/summary/base.vue +0 -99
  62. package/docs/.vuepress/components/crud/tableEdit/addDeleteBtn.vue +0 -174
  63. package/docs/.vuepress/components/crud/tableEdit/cellEdit.vue +0 -194
  64. package/docs/.vuepress/components/crud/tableEdit/controlEdit.vue +0 -219
  65. package/docs/.vuepress/components/crud/tableEdit/dialog.vue +0 -172
  66. package/docs/.vuepress/components/crud/tableEdit/free.vue +0 -88
  67. package/docs/.vuepress/components/crud/tableEdit/freeColumn.vue +0 -82
  68. package/docs/.vuepress/components/crud/tableEdit/methods.vue +0 -154
  69. package/docs/.vuepress/components/crud/tableEdit/rowAction.vue +0 -107
  70. package/docs/.vuepress/components/crud/tableEdit/rowBatch.vue +0 -116
  71. package/docs/.vuepress/components/crud/tableEdit/rowClick.vue +0 -98
  72. package/docs/.vuepress/components/crud/validate/base.vue +0 -122
  73. package/docs/.vuepress/components/crud/validate/custom.vue +0 -82
  74. package/docs/.vuepress/components/crud/validate/regulars.vue +0 -88
  75. package/docs/.vuepress/components/crud/validate/relation.vue +0 -91
  76. package/docs/.vuepress/components/crud/validate/tree.vue +0 -82
  77. package/docs/.vuepress/components/dialog/baseUse/base.vue +0 -92
  78. package/docs/.vuepress/components/dialog/baseUse/beforeConfirm.vue +0 -78
  79. package/docs/.vuepress/components/dialog/baseUse/control.vue +0 -79
  80. package/docs/.vuepress/components/dialog/baseUse/drawer.vue +0 -59
  81. package/docs/.vuepress/components/dialog/baseUse/footer.vue +0 -87
  82. package/docs/.vuepress/components/dialog/baseUse/insertSlot.vue +0 -79
  83. package/docs/.vuepress/components/dict/DictLinkage.vue +0 -91
  84. package/docs/.vuepress/components/dict/baseUse.vue +0 -72
  85. package/docs/.vuepress/components/dict/component.vue +0 -82
  86. package/docs/.vuepress/components/dict/localDict.vue +0 -68
  87. package/docs/.vuepress/components/form/baseUse/base.vue +0 -48
  88. package/docs/.vuepress/components/form/baseUse/dataFormat.vue +0 -92
  89. package/docs/.vuepress/components/form/baseUse/deep.vue +0 -57
  90. package/docs/.vuepress/components/form/baseUse/gridLayout.vue +0 -47
  91. package/docs/.vuepress/components/form/baseUse/group.vue +0 -66
  92. package/docs/.vuepress/components/form/baseUse/hidden.vue +0 -40
  93. package/docs/.vuepress/components/form/baseUse/inlineLayout.vue +0 -48
  94. package/docs/.vuepress/components/form/baseUse/label.vue +0 -51
  95. package/docs/.vuepress/components/form/baseUse/tooltip.vue +0 -40
  96. package/docs/.vuepress/components/form/baseUse/validate.vue +0 -52
  97. package/docs/.vuepress/components/form/detail/base.vue +0 -78
  98. package/docs/.vuepress/components/form/detail/border.vue +0 -90
  99. package/docs/.vuepress/components/form/detail/singleDetail.vue +0 -72
  100. package/docs/.vuepress/components/formatData/baseUse.vue +0 -131
  101. package/docs/.vuepress/components/mock/index.js +0 -347
  102. package/docs/.vuepress/components/mockData/custom.vue +0 -69
  103. package/docs/.vuepress/components/mockData/example.vue +0 -290
  104. package/docs/.vuepress/components/positionSlot/base.vue +0 -24
  105. package/docs/.vuepress/components/positionSlot/form.vue +0 -71
  106. package/docs/.vuepress/components/positionSlot/table.vue +0 -85
  107. package/docs/.vuepress/components/tabs/base.vue +0 -57
  108. package/docs/.vuepress/components/temp.js +0 -195
  109. package/docs/.vuepress/config.js +0 -146
  110. package/docs/.vuepress/enhanceApp.js +0 -142
  111. package/docs/.vuepress/public/favicon.ico +0 -0
  112. package/docs/.vuepress/public/super.png +0 -0
  113. package/docs/.vuepress/styles/index.styl +0 -25
  114. package/docs/.vuepress/styles/palette.styl +0 -6
  115. package/docs/README.md +0 -14
  116. package/docs/guide/button/base.md +0 -31
  117. package/docs/guide/commonConfig/jsx.md +0 -166
  118. package/docs/guide/commonConfig/presetCodeTemplate.md +0 -68
  119. package/docs/guide/commonConfig/renderType.md +0 -181
  120. package/docs/guide/crud/baseUse.md +0 -120
  121. package/docs/guide/crud/buttons.md +0 -18
  122. package/docs/guide/crud/config.md +0 -217
  123. package/docs/guide/crud/contextMenu.md +0 -18
  124. package/docs/guide/crud/dataSort.md +0 -66
  125. package/docs/guide/crud/genDynamicColumns.md +0 -145
  126. package/docs/guide/crud/handleBar.md +0 -26
  127. package/docs/guide/crud/renderType.md +0 -4
  128. package/docs/guide/crud/search.md +0 -150
  129. package/docs/guide/crud/selection.md +0 -73
  130. package/docs/guide/crud/span.md +0 -98
  131. package/docs/guide/crud/summary.md +0 -167
  132. package/docs/guide/crud/tableEdit.md +0 -377
  133. package/docs/guide/crud/validate.md +0 -158
  134. package/docs/guide/dialog/baseUse.md +0 -81
  135. package/docs/guide/dict/baseUse.md +0 -174
  136. package/docs/guide/dict/component.md +0 -88
  137. package/docs/guide/dict/config.md +0 -44
  138. package/docs/guide/form/baseUse.md +0 -142
  139. package/docs/guide/form/detail.md +0 -38
  140. package/docs/guide/formatData/baseUse.md +0 -98
  141. package/docs/guide/formatData/config.md +0 -142
  142. package/docs/guide/mockData/base.md +0 -26
  143. package/docs/guide/positionSlot/base.md +0 -41
  144. package/docs/guide/question/base.md +0 -44
  145. package/docs/guide/start/base.md +0 -30
  146. package/docs/guide/tabs/base.md +0 -63
  147. package/examples/App.vue +0 -52
  148. package/examples/Layout/components/AppMain.vue +0 -40
  149. package/examples/Layout/components/Item.vue +0 -29
  150. package/examples/Layout/components/Link.vue +0 -44
  151. package/examples/Layout/components/SidebarItem.vue +0 -93
  152. package/examples/Layout/index.vue +0 -69
  153. package/examples/assets/logo.png +0 -0
  154. package/examples/favicon.ico +0 -0
  155. package/examples/index.html +0 -18
  156. package/examples/main.js +0 -54
  157. package/examples/router/index.js +0 -140
  158. package/examples/store/index.js +0 -0
  159. package/examples/styles/index.scss +0 -63
  160. package/examples/styles/sidebar.scss +0 -226
  161. package/examples/styles/transition.scss +0 -48
  162. package/examples/styles/variables.scss +0 -25
  163. package/examples/views/crud/base.vue +0 -68
  164. package/examples/views/crud/handleRow.vue +0 -84
  165. package/examples/views/crud/search.vue +0 -116
  166. package/examples/views/dashboard/index.vue +0 -244
  167. package/examples/views/dashboard/index1.vue +0 -234
  168. package/examples/views/dashboard/test.vue +0 -9
  169. package/examples/views/formTest/index.vue +0 -168
  170. package/examples/views/nested/menu1/index.vue +0 -7
  171. package/examples/views/nested/menu1/menu1-1/index.vue +0 -7
  172. package/examples/views/nested/menu1/menu1-2/index.vue +0 -7
  173. package/examples/views/nested/menu1/menu1-2/menu1-2-1/index.vue +0 -5
  174. package/examples/views/nested/menu1/menu1-2/menu1-2-2/index.vue +0 -5
  175. package/examples/views/nested/menu1/menu1-3/index.vue +0 -5
  176. package/examples/views/nested/menu2/index.vue +0 -5
  177. package/gulpfile.js +0 -84
  178. package/packages/button/index.vue +0 -189
  179. package/packages/core/components/comp.vue +0 -223
  180. package/packages/core/components/position.vue +0 -135
  181. package/packages/core/components/render.vue +0 -460
  182. package/packages/core/configManager.js +0 -302
  183. package/packages/core/create.js +0 -8
  184. package/packages/core/defaultRender.js +0 -64
  185. package/packages/core/dict/global.js +0 -10
  186. package/packages/core/dict/index.js +0 -432
  187. package/packages/core/dict/mixin.js +0 -94
  188. package/packages/core/event.js +0 -60
  189. package/packages/core/index.js +0 -6
  190. package/packages/core/init.js +0 -122
  191. package/packages/core/mock/genConfig.js +0 -228
  192. package/packages/core/mock/genData.js +0 -422
  193. package/packages/core/mock/index.js +0 -4
  194. package/packages/core/rules.js +0 -111
  195. package/packages/crud/column.vue +0 -205
  196. package/packages/crud/columnAction.vue +0 -207
  197. package/packages/crud/columnCell.vue +0 -146
  198. package/packages/crud/defaultColumn.vue +0 -130
  199. package/packages/crud/drawerColumn.vue +0 -225
  200. package/packages/crud/form.vue +0 -69
  201. package/packages/crud/index.vue +0 -564
  202. package/packages/crud/menuBar.vue +0 -298
  203. package/packages/crud/mixins/cacheHandler.js +0 -36
  204. package/packages/crud/mixins/calcColumnWidth.js +0 -79
  205. package/packages/crud/mixins/calcHeight.js +0 -105
  206. package/packages/crud/mixins/columnHandler.js +0 -128
  207. package/packages/crud/mixins/contextMenu.js +0 -98
  208. package/packages/crud/mixins/dataProcessor.js +0 -202
  209. package/packages/crud/mixins/dialog.js +0 -109
  210. package/packages/crud/mixins/excelHandler.js +0 -150
  211. package/packages/crud/mixins/exposeMethods.js +0 -107
  212. package/packages/crud/mixins/generateDynamicColumns.js +0 -250
  213. package/packages/crud/mixins/props.js +0 -38
  214. package/packages/crud/mixins/searchHandler.js +0 -151
  215. package/packages/crud/mixins/select.js +0 -359
  216. package/packages/crud/mixins/spanMethod.js +0 -288
  217. package/packages/crud/mixins/summary.js +0 -177
  218. package/packages/crud/mixins/tableEdit.js +0 -547
  219. package/packages/crud/mixins/validate.js +0 -219
  220. package/packages/crud/pagination.vue +0 -110
  221. package/packages/crud/search.vue +0 -119
  222. package/packages/crud/searchHeader.vue +0 -231
  223. package/packages/crud/selectBanner.vue +0 -138
  224. package/packages/crud/utils/EditState.js +0 -319
  225. package/packages/crud/utils/excelExport.js +0 -112
  226. package/packages/crud/utils/excelImport.js +0 -112
  227. package/packages/crud/utils/index.js +0 -98
  228. package/packages/dialog/dialog.js +0 -233
  229. package/packages/dialog/dialog.vue +0 -15
  230. package/packages/dialog/index.js +0 -22
  231. package/packages/dict/cascadeFormat.vue +0 -179
  232. package/packages/dict/dateFormat.vue +0 -40
  233. package/packages/dict/form/cascade.vue +0 -61
  234. package/packages/dict/form/checkbox.vue +0 -90
  235. package/packages/dict/form/extendMethod.js +0 -22
  236. package/packages/dict/form/input-base.js +0 -31
  237. package/packages/dict/form/input.js +0 -20
  238. package/packages/dict/form/radio.vue +0 -69
  239. package/packages/dict/form/select.vue +0 -118
  240. package/packages/dict/form/switch.vue +0 -75
  241. package/packages/dict/valueFormat.vue +0 -188
  242. package/packages/directive/dialog/drag.js +0 -86
  243. package/packages/directive/dialog/dragSize.js +0 -42
  244. package/packages/directive/index.js +0 -9
  245. package/packages/directive/insertSlot.js +0 -10
  246. package/packages/form/contextMenu.js +0 -192
  247. package/packages/form/draftDrawer.vue +0 -391
  248. package/packages/form/formAction.vue +0 -97
  249. package/packages/form/formItem.vue +0 -259
  250. package/packages/form/index.vue +0 -451
  251. package/packages/form/props.js +0 -15
  252. package/packages/grid/cell.vue +0 -65
  253. package/packages/grid/index.vue +0 -130
  254. package/packages/group/index.vue +0 -96
  255. package/packages/tabs/index.vue +0 -290
  256. package/packages/tooltip/index.js +0 -9
  257. package/packages/tooltip/tooltip.vue +0 -32
  258. package/packages/tooltip/tooltipComponent.js +0 -38
  259. package/packages/verifyInput/index.vue +0 -131
  260. package/styles/button.scss +0 -3
  261. package/styles/crud.scss +0 -425
  262. package/styles/dialog.scss +0 -95
  263. package/styles/form.scss +0 -532
  264. package/styles/group.scss +0 -78
  265. package/styles/index.scss +0 -94
  266. package/styles/tabs.scss +0 -139
  267. package/styles/verifyInput.scss +0 -56
  268. package/vue-jsx-sync.js +0 -90
  269. package/vue.config.js +0 -54
@@ -1,131 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-form v-model="form" :options="options" />
4
-
5
- <!-- 格式化前后的值对比 -->
6
- <div>
7
- <h3>格式化数据展示:</h3>
8
-
9
- <div style="margin-bottom: 20px;">
10
- <div>省市区对象转数组:</div>
11
- <div>
12
- <div>原始值三个字段:{{ JSON.stringify(form.address) }}</div>
13
- <div>格式化后:{{ form.$address }}</div>
14
- </div>
15
- </div>
16
-
17
- <div style="margin-bottom: 20px;">
18
- <div>字符串转数组:</div>
19
- <div>
20
- <div>原始值:{{ form.tags }}</div>
21
- <div>格式化后:{{ form.$tags }}</div>
22
- </div>
23
- </div>
24
-
25
- <div style="margin-bottom: 20px;">
26
- <div>数字格式化:</div>
27
- <div>
28
- <div>原始值:{{ form.price }}</div>
29
- <div>格式化后:{{ form.$price }}</div>
30
- </div>
31
- </div>
32
-
33
- <div>
34
- <div>自定义:</div>
35
- <div>
36
- <div>原始值:{{ form.custom }}</div>
37
- <div>格式化后:{{ form.$custom }}</div>
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
- </template>
43
-
44
- <script>
45
- import { cityTreeData } from "../mock";
46
- import { pick } from "lodash-es";
47
- export default {
48
- data() {
49
- return {
50
- pick,
51
- form: {
52
- address: {
53
- province: "浙江",
54
- city: "杭州",
55
- district: "西湖区",
56
- },
57
- tags: "前端,Vue,React",
58
- price: 1234.56,
59
- custom: "123",
60
- },
61
- options: {
62
- labelWidth: "160px",
63
- renderColumns: [
64
- {
65
- label: "省市区对象转数组",
66
- prop: "address",
67
- required: true,
68
- validateProp: "address.province",
69
- formatData: {
70
- type: "multiPropToArr",
71
- isObject: true,
72
- multiProp: ["province", "city", "district"],
73
- formatValue: true, // 开启格式化值存储
74
- },
75
- comp: {
76
- name: "el-cascader",
77
- options: cityTreeData, // 省市区选项数据
78
- },
79
- },
80
- {
81
- label: "字符串转数组",
82
- prop: "tags",
83
- formatData: {
84
- type: "strToArr",
85
- formatValue: true,
86
- },
87
- comp: {
88
- name: "el-select",
89
- multiple: true,
90
- options: [
91
- { label: "前端", value: "前端" },
92
- { label: "Vue", value: "Vue" },
93
- { label: "React", value: "React" },
94
- ],
95
- },
96
- },
97
- {
98
- label: "数字格式化",
99
- prop: "price",
100
- formatData: {
101
- type: "numberFormat",
102
- precision: 2,
103
- prefix: "¥",
104
- formatValue: true,
105
- },
106
- comp: {
107
- name: "el-input",
108
- },
109
- },
110
- {
111
- label: "自定义格式化",
112
- prop: "custom",
113
- formatData: {
114
- input: (value) => {
115
- return value + "--custom";
116
- },
117
- output: (value) => {
118
- return value.replace("--custom", "");
119
- },
120
- formatValue: true,
121
- },
122
- comp: {
123
- name: "el-input",
124
- },
125
- },
126
- ],
127
- },
128
- };
129
- },
130
- };
131
- </script>
@@ -1,347 +0,0 @@
1
- import dayjs from "dayjs";
2
-
3
- // provinceData.js - 省份数据
4
- export const provinceData = [
5
- { value: "11", label: "北京市" },
6
- { value: "12", label: "天津市" },
7
- { value: "13", label: "河北省" },
8
- { value: "31", label: "上海市" },
9
- { value: "32", label: "江苏省" },
10
- { value: "33", label: "浙江省" },
11
- ];
12
-
13
- // cityData.js - 城市数据(按省份代码分组)
14
- export const cityData = {
15
- "11": [
16
- // 北京市
17
- { value: "1101", label: "北京市" },
18
- ],
19
- "12": [
20
- // 天津市
21
- { value: "1201", label: "天津市" },
22
- ],
23
- "13": [
24
- // 河北省
25
- { value: "1301", label: "石家庄市" },
26
- { value: "1302", label: "唐山市" },
27
- { value: "1303", label: "秦皇岛市" },
28
- { value: "1304", label: "邯郸市" },
29
- { value: "1305", label: "邢台市" },
30
- { value: "1306", label: "保定市" },
31
- { value: "1307", label: "张家口市" },
32
- { value: "1308", label: "承德市" },
33
- { value: "1309", label: "沧州市" },
34
- { value: "1310", label: "廊坊市" },
35
- { value: "1311", label: "衡水市" },
36
- ],
37
- "31": [
38
- // 上海市
39
- { value: "3101", label: "上海市" },
40
- ],
41
- "32": [
42
- // 江苏省
43
- { value: "3201", label: "南京市" },
44
- { value: "3202", label: "无锡市" },
45
- { value: "3203", label: "徐州市" },
46
- { value: "3204", label: "常州市" },
47
- { value: "3205", label: "苏州市" },
48
- { value: "3206", label: "南通市" },
49
- { value: "3207", label: "连云港市" },
50
- { value: "3208", label: "淮安市" },
51
- { value: "3209", label: "盐城市" },
52
- { value: "3210", label: "扬州市" },
53
- { value: "3211", label: "镇江市" },
54
- { value: "3212", label: "泰州市" },
55
- { value: "3213", label: "宿迁市" },
56
- ],
57
- "33": [
58
- // 浙江省
59
- { value: "3301", label: "杭州市" },
60
- { value: "3302", label: "宁波市" },
61
- { value: "3303", label: "温州市" },
62
- { value: "3304", label: "嘉兴市" },
63
- { value: "3305", label: "湖州市" },
64
- { value: "3306", label: "绍兴市" },
65
- { value: "3307", label: "金华市" },
66
- { value: "3308", label: "衢州市" },
67
- { value: "3309", label: "舟山市" },
68
- { value: "3310", label: "台州市" },
69
- { value: "3311", label: "丽水市" },
70
- ],
71
- "44": [
72
- // 广东省
73
- { value: "4401", label: "广州市" },
74
- { value: "4402", label: "韶关市" },
75
- { value: "4403", label: "深圳市" },
76
- { value: "4404", label: "珠海市" },
77
- { value: "4405", label: "汕头市" },
78
- { value: "4406", label: "佛山市" },
79
- { value: "4407", label: "江门市" },
80
- { value: "4408", label: "湛江市" },
81
- { value: "4409", label: "茂名市" },
82
- { value: "4412", label: "肇庆市" },
83
- { value: "4413", label: "惠州市" },
84
- { value: "4414", label: "梅州市" },
85
- { value: "4415", label: "汕尾市" },
86
- { value: "4416", label: "河源市" },
87
- { value: "4417", label: "阳江市" },
88
- { value: "4418", label: "清远市" },
89
- { value: "4419", label: "东莞市" },
90
- { value: "4420", label: "中山市" },
91
- { value: "4451", label: "潮州市" },
92
- { value: "4452", label: "揭阳市" },
93
- { value: "4453", label: "云浮市" },
94
- ],
95
- "50": [
96
- // 重庆市
97
- { value: "5001", label: "重庆市" },
98
- ],
99
- "51": [
100
- // 四川省
101
- { value: "5101", label: "成都市" },
102
- { value: "5103", label: "自贡市" },
103
- { value: "5104", label: "攀枝花市" },
104
- { value: "5105", label: "泸州市" },
105
- { value: "5106", label: "德阳市" },
106
- { value: "5107", label: "绵阳市" },
107
- { value: "5108", label: "广元市" },
108
- { value: "5109", label: "遂宁市" },
109
- { value: "5110", label: "内江市" },
110
- { value: "5111", label: "乐山市" },
111
- { value: "5113", label: "南充市" },
112
- { value: "5114", label: "眉山市" },
113
- { value: "5115", label: "宜宾市" },
114
- { value: "5116", label: "广安市" },
115
- { value: "5117", label: "达州市" },
116
- { value: "5118", label: "雅安市" },
117
- { value: "5119", label: "巴中市" },
118
- { value: "5120", label: "资阳市" },
119
- ],
120
- };
121
-
122
- export const cityTreeData = [
123
- {
124
- value: "浙江",
125
- label: "浙江",
126
- children: [
127
- {
128
- value: "杭州",
129
- label: "杭州",
130
- children: [
131
- {
132
- value: "西湖区",
133
- label: "西湖区",
134
- },
135
- {
136
- value: "滨江区",
137
- label: "滨江区",
138
- },
139
- ],
140
- },
141
- {
142
- value: "宁波",
143
- label: "宁波",
144
- children: [
145
- {
146
- value: "海曙区",
147
- label: "海曙区",
148
- },
149
- {
150
- value: "江北区",
151
- label: "江北区",
152
- },
153
- ],
154
- },
155
- ],
156
- },
157
- {
158
- value: "江苏",
159
- label: "江苏",
160
- children: [
161
- {
162
- value: "南京",
163
- label: "南京",
164
- children: [
165
- {
166
- value: "玄武区",
167
- label: "玄武区",
168
- },
169
- {
170
- value: "秦淮区",
171
- label: "秦淮区",
172
- },
173
- ],
174
- },
175
- {
176
- value: "苏州",
177
- label: "苏州",
178
- },
179
- ],
180
- },
181
- ];
182
-
183
- // 模拟API请求函数
184
- export const mockApi = {
185
- // 获取所有省份
186
- getProvinces() {
187
- return new Promise((resolve) => {
188
- setTimeout(() => {
189
- console.log("getProvinces---", provinceData);
190
- resolve({
191
- code: 200,
192
- data: provinceData,
193
- message: "success",
194
- });
195
- }, 100);
196
- });
197
- },
198
-
199
- // 根据省份代码获取城市
200
- getCities(provinceCode) {
201
- return new Promise((resolve, reject) => {
202
- setTimeout(() => {
203
- const cities = cityData[provinceCode];
204
- console.log("cities---", cities, "code---", provinceCode);
205
-
206
- if (cities) {
207
- resolve({
208
- code: 200,
209
- data: cities,
210
- message: "success",
211
- });
212
- } else {
213
- resolve({
214
- code: 200,
215
- data: [],
216
- message: "no data",
217
- });
218
- }
219
- }, 100);
220
- });
221
- },
222
-
223
- getList: (() => {
224
- let cachedData = null;
225
- const total = 33;
226
-
227
- const generateAllData = () => {
228
- const mockData = [];
229
- const cities = ["北京", "上海", "广州"];
230
-
231
- for (let i = 0; i < total; i++) {
232
- const age = Math.floor(Math.random() * 20) + 20;
233
- mockData.push({
234
- id: i + 1, // 使用固定的自增ID
235
- name: `用户${i + 1}`,
236
- gender: i % 2 === 0 ? "男" : "女", // 使用固定规则
237
- age: age,
238
- is30: age > 30 ? "是" : "否",
239
- city: cities[i % cities.length], // 循环使用城市
240
- date: dayjs()
241
- .subtract(i, "day") // 按顺序递减日期
242
- .format("YYYY-MM-DD"),
243
- status: i % 2, // 使用固定规则
244
- });
245
- }
246
- return mockData;
247
- };
248
-
249
- return ({ pageNum, pageSize }) => {
250
- return new Promise((resolve) => {
251
- if (!cachedData) {
252
- cachedData = generateAllData();
253
- }
254
-
255
- const start = (pageNum - 1) * pageSize;
256
- const end = Math.min(start + pageSize, total);
257
-
258
- setTimeout(() => {
259
- resolve({
260
- data: cachedData.slice(start, end),
261
- total,
262
- });
263
- }, 300);
264
- });
265
- };
266
- })(),
267
- // 生成更多测试数据
268
-
269
- // 模拟API请求函数
270
- getDynamicData({ pageNum = 1, pageSize = 10 }) {
271
- const generateMockData = (count) => {
272
- const result = [];
273
- for (let i = 0; i < count; i++) {
274
- result.push({
275
- materialCode: `M${String(i + 1).padStart(3, "0")}`,
276
- materialName: `产品${i + 1}`,
277
- materialSpec: `规格${i + 1}`,
278
- quantityGradeName: String.fromCharCode(65 + (i % 26)), // A-Z循环
279
- firstChildren: [
280
- {
281
- id: "S001",
282
- name: "供应商1",
283
- price: 100 + i * 10,
284
- secondChildren: [
285
- {
286
- sort: 1,
287
- productUnitPrice: 100 + i * 10,
288
- priceFollow: i % 2 === 0 ? "Y" : "N",
289
- priceDifference: i % 2 === 0 ? -10 : 10,
290
- pricePercentageChange: i % 2 === 0 ? 0.1 : -0.1,
291
- },
292
- {
293
- sort: 2,
294
- productUnitPrice: 90 + i * 10,
295
- priceFollow: i % 2 === 0 ? "N" : "Y",
296
- priceDifference: i % 2 === 0 ? 5 : -5,
297
- pricePercentageChange: 0.05,
298
- },
299
- ],
300
- },
301
- {
302
- id: "S002",
303
- name: "供应商2",
304
- price: 90 + i * 10,
305
- secondChildren: [
306
- {
307
- sort: 1,
308
- productUnitPrice: 95 + i * 10,
309
- priceFollow: "Y",
310
- priceDifference: -5,
311
- pricePercentageChange: 0.05,
312
- },
313
- {
314
- sort: 2,
315
- productUnitPrice: 92 + i * 10,
316
- priceFollow: "Y",
317
- priceDifference: -3,
318
- pricePercentageChange: 0.03,
319
- },
320
- ],
321
- },
322
- {
323
- id: "S003",
324
- name: "供应商3",
325
- price: 80 + i * 10,
326
- },
327
- ],
328
- });
329
- }
330
- return result;
331
- };
332
-
333
- // 扩展数据集
334
- const allData = generateMockData(50);
335
- return new Promise((resolve) => {
336
- setTimeout(() => {
337
- const start = (pageNum - 1) * pageSize;
338
- const end = start + pageSize;
339
-
340
- resolve({
341
- total: allData.length,
342
- data: allData.slice(start, end),
343
- });
344
- }, 300);
345
- });
346
- },
347
- };
@@ -1,69 +0,0 @@
1
- <template>
2
- <div>
3
- <div>
4
- {{ JSON.stringify(form) }}
5
- </div>
6
- <sc-form v-model="form" :options="options"> </sc-form>
7
- </div>
8
- </template>
9
-
10
- <script>
11
- export default {
12
- data() {
13
- return {
14
- form: {},
15
- };
16
- },
17
- computed: {
18
- options() {
19
- return {
20
- renderColumns: [
21
- {
22
- prop: "input",
23
- label: "整数生成",
24
- comp: {
25
- name: "el-input",
26
- },
27
- mock: ({ Random, Mock, Preset }, scope) => {
28
- return Random.integer(1, 100);
29
- },
30
- },
31
- {
32
- prop: "image",
33
- label: "图片生成",
34
- comp: {
35
- name: "el-image",
36
- bind: ({ row }) => {
37
- return {
38
- src: row.image,
39
- };
40
- },
41
- },
42
- mock: ({ Random, Mock, Preset }, scope) => {
43
- return Preset.imageUrl();
44
- },
45
- },
46
- {
47
- prop: "array",
48
- label: "数组生成",
49
- formatter: (row) => {
50
- return (row.array || [])
51
- .map((item) => {
52
- return item?.name;
53
- })
54
- .join(",");
55
- },
56
- mock: ({ Random, Mock, Preset }, scope) => {
57
- return Preset.array(() => {
58
- return {
59
- name: Random.cword(5, 10),
60
- };
61
- }, 10);
62
- },
63
- },
64
- ],
65
- };
66
- },
67
- },
68
- };
69
- </script>