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,87 +0,0 @@
1
- <template>
2
- <div>
3
- <el-button size="small" type="primary" @click="openDialog"
4
- >自定义底部按钮</el-button
5
- >
6
- <el-button size="small" type="primary" @click="openDialog1"
7
- >隐藏底部按钮</el-button
8
- >
9
- </div>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- data() {
15
- return {
16
- form: {},
17
- };
18
- },
19
- computed: {
20
- renderColumns() {
21
- return [
22
- {
23
- prop: "name",
24
- label: "姓名",
25
- },
26
- {
27
- prop: "age",
28
- label: "年龄",
29
- },
30
- {
31
- prop: "sex",
32
- label: "性别",
33
- comp: {
34
- name: "el-checkbox-group",
35
- options: [
36
- {
37
- label: "男",
38
- value: "男",
39
- },
40
- {
41
- label: "女",
42
- value: "女",
43
- },
44
- ],
45
- },
46
- },
47
- ];
48
- },
49
- },
50
- methods: {
51
- openDialog() {
52
- this.$scDialog({
53
- title: "弹窗",
54
- width: "500px",
55
- footer: {
56
- align: "left",
57
- confirm: {
58
- label: "确认111",
59
- type: "primary",
60
- },
61
- cancel: false,
62
- handles: [
63
- {
64
- label: "自定义",
65
- type: "primary",
66
- onClick: (vm) => {
67
- vm.hide();
68
- },
69
- },
70
- ],
71
- },
72
- }).show();
73
- },
74
- openDialog1() {
75
- this.$scDialog({
76
- title: "弹窗",
77
- width: "500px",
78
- footer: {
79
- hidden: true,
80
- },
81
- }).show();
82
- },
83
- },
84
- };
85
- </script>
86
-
87
- <style lang="scss" scoped></style>
@@ -1,79 +0,0 @@
1
- <template>
2
- <div>
3
- <el-button size="small" type="primary" @click="openDialog">弹窗</el-button>
4
- <div v-insertSlot="dialogVm">
5
- <div v-show="form.radio">v-show</div>
6
- <div v-if="form.radio">v-if</div>
7
- <div v-for="item in form.sex" :key="item">{{ item }}</div>
8
- <sc-form v-model="form" :renderColumns="renderColumns"></sc-form>
9
- </div>
10
- </div>
11
- </template>
12
-
13
- <script>
14
- export default {
15
- data() {
16
- return {
17
- form: {
18
- sex: [],
19
- },
20
- dialogVm: null,
21
- };
22
- },
23
- computed: {
24
- renderColumns() {
25
- return [
26
- {
27
- prop: "radio",
28
- label: "切换动态更新",
29
- comp: {
30
- name: "el-radio-group",
31
- options: [
32
- {
33
- label: "隐藏",
34
- value: "",
35
- },
36
- {
37
- label: "展示",
38
- value: "1",
39
- },
40
- ],
41
- },
42
- },
43
- {
44
- prop: "age",
45
- label: "年龄",
46
- hidden: this.form.radio,
47
- },
48
- {
49
- prop: "sex",
50
- label: "v-for",
51
- comp: {
52
- name: "el-checkbox-group",
53
- options: [
54
- {
55
- label: "1111",
56
- value: "1111",
57
- },
58
- {
59
- label: "2222",
60
- value: "2222",
61
- },
62
- ],
63
- },
64
- },
65
- ];
66
- },
67
- },
68
- methods: {
69
- openDialog() {
70
- this.dialogVm = this.$scDialog({
71
- title: "v-insertSlot弹窗",
72
- width: "500px",
73
- }).show();
74
- },
75
- },
76
- };
77
- </script>
78
-
79
- <style lang="scss" scoped></style>
@@ -1,91 +0,0 @@
1
- <template>
2
- <el-form v-if="isMounted" :model="form" label-width="80px">
3
- <!-- 省份选择 -->
4
- <el-form-item label="省份">
5
- <el-select v-model="form.province" placeholder="请选择省份" clearable>
6
- <el-option
7
- v-for="item in $scDict.provinces"
8
- :key="item.value"
9
- :label="item.label"
10
- :value="item.value"
11
- />
12
- </el-select>
13
- </el-form-item>
14
-
15
- <!-- 城市选择 -->
16
- <el-form-item label="城市">
17
- <el-select
18
- v-model="form.city"
19
- placeholder="请选择城市"
20
- :disabled="!form.province"
21
- clearable
22
- >
23
- <el-option
24
- v-for="item in $scDict.cities"
25
- :key="item.value"
26
- :label="item.label"
27
- :value="item.value"
28
- />
29
- </el-select>
30
- </el-form-item>
31
-
32
- <!-- 显示选中结果 -->
33
- <el-form-item label="当前选择">
34
- <div class="selected-info">
35
- {{ selectedAddress }}
36
- </div>
37
- </el-form-item>
38
- </el-form>
39
- </template>
40
-
41
- <script>
42
- import { mockApi } from "../mock";
43
- export default {
44
- data() {
45
- return {
46
- form: {
47
- province: "",
48
- city: "",
49
- },
50
- isMounted: false,
51
- };
52
- },
53
- computed: {
54
- selectedAddress() {
55
- if (!this.isMounted) return;
56
- if (!this.form.province) return "未选择";
57
- const province = this.$scDict.provinces.findLabel(this.form.province);
58
- const city = this.$scDict.cities.findLabel(this.form.city);
59
- return city ? `${province} - ${city}` : province;
60
- },
61
- },
62
- mounted() {
63
- this.isMounted = true;
64
- // 注册省份字典
65
- this.$scDict.register("provinces", {
66
- request: mockApi.getProvinces,
67
- immediate: true,
68
- });
69
-
70
- // 注册城市字典,使用函数形式的params监听省份变化
71
- this.$scDict.register("cities", {
72
- request: mockApi.getCities,
73
- // 监听省份变化,返回请求参数
74
- params: () => this.form.province,
75
- });
76
- },
77
- watch: {
78
- // 当省份改变时,清空城市选择
79
- "form.province"() {
80
- this.form.city = "";
81
- },
82
- },
83
- };
84
- </script>
85
-
86
- <style scoped>
87
- .selected-info {
88
- color: #409eff;
89
- font-weight: bold;
90
- }
91
- </style>
@@ -1,72 +0,0 @@
1
- <template>
2
- <div v-if="isMounted">
3
- <sc-form v-model="form" :options="options">
4
- <template #defaultDict>
5
- <el-select v-model="form.defaultDict">
6
- <el-option
7
- v-for="item in $scDict.gender"
8
- :key="item.value"
9
- :label="item.label"
10
- :value="item.value"
11
- />
12
- </el-select>
13
- </template>
14
- <template #normalDict>
15
- <el-select v-model="form.normalDict">
16
- <el-option
17
- v-for="item in $scDict.countries"
18
- :key="item.value"
19
- :label="item.label"
20
- :value="item.value"
21
- />
22
- </el-select>
23
- </template>
24
- </sc-form>
25
-
26
- <!-- 展示标签文本 -->
27
- <p>
28
- 使用增强方法 findLabel 获取标签:{{
29
- $scDict.countries.findLabel(form.normalDict)
30
- }}
31
- </p>
32
- <p>
33
- 使用增强方法 getOption 获取完整对象:{{
34
- $scDict.countries.getOption(form.normalDict)
35
- }}
36
- </p>
37
- </div>
38
- </template>
39
-
40
- <script>
41
- import { mockApi } from "../mock";
42
- export default {
43
- data() {
44
- return {
45
- form: {},
46
- tableData: [],
47
- isMounted: false,
48
- options: {
49
- renderColumns: [
50
- {
51
- label: "默认字典",
52
- prop: "defaultDict",
53
- },
54
- {
55
- label: "普通注册字典",
56
- prop: "normalDict",
57
- },
58
- ],
59
- },
60
- };
61
- },
62
- mounted() {
63
- this.isMounted = true;
64
- this.$scDict.register("countries", {
65
- request: mockApi.getProvinces,
66
- });
67
- this.$scDict.countries.wait().then((res) => {
68
- console.log("字典加载完成", res);
69
- });
70
- },
71
- };
72
- </script>
@@ -1,82 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-form v-model="form" :options="options"> </sc-form>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- data() {
10
- return {
11
- form: {
12
- sexValue: [],
13
- },
14
- options: {
15
- labelWidth: "150px",
16
- renderColumns: [
17
- {
18
- prop: "cascade",
19
- label: "级联数据格式化组件",
20
- dict: "cascade",
21
- comp: {
22
- name: "sc-cascade-format",
23
- },
24
- },
25
- {
26
- prop: "cascade",
27
- label: "级联组件",
28
- dict: "cascade",
29
- comp: {
30
- name: "el-cascader",
31
- },
32
- },
33
- {
34
- prop: "sexValue",
35
- label: " 值格式化标签组件",
36
- dict: "gender",
37
- comp: {
38
- name: "sc-value-format",
39
- color: "auto",
40
- },
41
- },
42
- {
43
- prop: "sexValue",
44
- label: "选择器",
45
- dict: "gender",
46
- comp: {
47
- name: "el-select",
48
- multiple: true,
49
- },
50
- },
51
- {
52
- prop: "sexValue",
53
- label: "开关组件",
54
- dict: "gender",
55
- comp: {
56
- name: "el-switch",
57
- },
58
- },
59
- {
60
- prop: "sexValue",
61
- label: "单选框组件",
62
- dict: "gender",
63
- comp: {
64
- name: "el-radio-group",
65
- },
66
- },
67
- {
68
- prop: "sexValue",
69
- label: "复选框组件",
70
- dict: "gender",
71
- comp: {
72
- name: "el-checkbox-group",
73
- },
74
- },
75
- ],
76
- },
77
- };
78
- },
79
- created() {},
80
- methods: {},
81
- };
82
- </script>
@@ -1,68 +0,0 @@
1
- <template>
2
- <sc-crud v-if="isMounted" :data.sync="data" :options="options"> </sc-crud>
3
- </template>
4
-
5
- <script>
6
- import { mockApi } from "../mock";
7
- export default {
8
- name: "AddressSelect",
9
- data() {
10
- return {
11
- isMounted: false,
12
- data: [
13
- {
14
- province: "",
15
- city: "",
16
- },
17
- {
18
- province: "",
19
- city: "",
20
- },
21
- ],
22
- };
23
- },
24
- mounted() {
25
- this.isMounted = true;
26
- this.$scDict.register("provinces", {
27
- request: mockApi.getProvinces,
28
- immediate: true,
29
- });
30
- },
31
- computed: {
32
- options() {
33
- if (!this.isMounted) return {};
34
- return {
35
- renderColumns: [
36
- {
37
- label: "省份",
38
- prop: "pro",
39
- comp: {
40
- name: "el-select",
41
- options: this.$scDict.provinces,
42
- on: {
43
- change: (val, { row }) => {
44
- row.city = "";
45
- },
46
- },
47
- },
48
- },
49
- {
50
- label: "城市",
51
- prop: "city",
52
- dict: {
53
- local: true,
54
- request: mockApi.getCities,
55
- // 监听省份变化,返回请求参数
56
- params: ({ row }) => row.pro,
57
- immediate: false,
58
- },
59
- comp: {
60
- name: "el-select",
61
- },
62
- },
63
- ],
64
- };
65
- },
66
- },
67
- };
68
- </script>
@@ -1,48 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-form
4
- :options="options"
5
- :loading.sync="loading"
6
- v-model="data"
7
- @submit="submit"
8
- >
9
- </sc-form>
10
- </div>
11
- </template>
12
-
13
- <script>
14
- export default {
15
- data() {
16
- return {
17
- loading: false,
18
- options: {
19
- action: {
20
- submit: {},
21
- reset: {},
22
- },
23
- columns: 2,
24
- columnGap: "10px",
25
- renderColumns: [
26
- {
27
- label: "姓名",
28
- prop: "name",
29
- required: true,
30
- },
31
- {
32
- label: "性别",
33
- prop: "gender",
34
- },
35
- ],
36
- },
37
- data: {},
38
- };
39
- },
40
- methods: {
41
- submit(cb, form) {
42
- setTimeout(() => {
43
- cb();
44
- }, 500);
45
- },
46
- },
47
- };
48
- </script>
@@ -1,92 +0,0 @@
1
- <template>
2
- <div>
3
- <div style="margin: 0 0 20px 40px;">
4
- <div>输入值:str2array-{{ data.strToArr }}</div>
5
- </div>
6
- <sc-form
7
- ref="form"
8
- :options="options"
9
- :loading.sync="loading"
10
- v-model="data"
11
- @submit="submit"
12
- >
13
- </sc-form>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- data() {
20
- return {
21
- loading: false,
22
- dictData: [
23
- {
24
- value: "1",
25
- label: "张三",
26
- },
27
- {
28
- value: "2",
29
- label: "李四",
30
- },
31
- ],
32
-
33
- data: {
34
- strToArr: "1,2",
35
- },
36
- };
37
- },
38
- computed: {
39
- options() {
40
- return {
41
- action: {
42
- submit: {},
43
- reset: {},
44
- },
45
- columns: 2,
46
- columnGap: "10px",
47
- renderColumns: [
48
- {
49
- label: "字符转数组",
50
- prop: "strToArr",
51
- comp: {
52
- name: "sc-checkbox",
53
- options: this.dictData,
54
- },
55
- formatData: {
56
- formatValue: true,
57
- input: (value, { row }) => {
58
- if (!value) {
59
- return [];
60
- }
61
- return typeof value === "string" ? value.split(",") : value;
62
- },
63
- output: (value, { row }) => {
64
- if (!value) {
65
- return "";
66
- }
67
- return value.join(",");
68
- },
69
- },
70
- },
71
- {
72
- label: "字符转数组-快捷方式",
73
- prop: "strToArr",
74
- comp: {
75
- name: "sc-checkbox",
76
- options: this.dictData,
77
- },
78
- formatData: "strToArr",
79
- },
80
- ],
81
- };
82
- },
83
- },
84
- methods: {
85
- submit(cb, form) {
86
- setTimeout(() => {
87
- cb();
88
- }, 500);
89
- },
90
- },
91
- };
92
- </script>
@@ -1,57 +0,0 @@
1
- <template>
2
- <div>
3
- <el-button
4
- type="primary"
5
- size="small"
6
- @click="data.deep.deep.name = '改变deep值'"
7
- >改变deep值</el-button
8
- >
9
- <el-button type="primary" size="small" @click="data.name = '改变name值'"
10
- >改变name值</el-button
11
- >
12
- {{ data }}
13
- <sc-form :options="options" v-model="data"> </sc-form>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- data() {
20
- return {
21
- dictData: [
22
- {
23
- value: "1",
24
- label: "张三",
25
- },
26
- {
27
- value: "2",
28
- label: "李四",
29
- },
30
- ],
31
-
32
- data: {
33
- deep: {
34
- deep: {
35
- name: "deep",
36
- },
37
- },
38
- },
39
- };
40
- },
41
- computed: {
42
- options() {
43
- return {
44
- columns: 2,
45
- columnGap: "10px",
46
- renderColumns: [
47
- {
48
- label: "姓名",
49
- prop: "name",
50
- deepProp: "deep.deep.name",
51
- },
52
- ],
53
- };
54
- },
55
- },
56
- };
57
- </script>