vue-super-crud 1.7.1 → 1.7.4

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 (273) 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/src/config/common.js +2 -1
  6. package/src/config/crud.js +3 -3
  7. package/src/index.js +4 -0
  8. package/src/template/formatData.js +75 -87
  9. package/.browserslistrc +0 -3
  10. package/.versionrc.json +0 -36
  11. package/CHANGELOG.md +0 -232
  12. package/babel.config.js +0 -12
  13. package/build/alias.js +0 -10
  14. package/build/build.js +0 -52
  15. package/build/config.js +0 -70
  16. package/deploy.bat +0 -14
  17. package/docs/.vuepress/components/button/base.vue +0 -88
  18. package/docs/.vuepress/components/common/code-format.vue +0 -331
  19. package/docs/.vuepress/components/commonConfig/presetCodeTemplate/base.vue +0 -68
  20. package/docs/.vuepress/components/commonConfig/presetCodeTemplate/customParams.vue +0 -73
  21. package/docs/.vuepress/components/commonConfig/renderType/component.vue +0 -160
  22. package/docs/.vuepress/components/commonConfig/renderType/formatter.vue +0 -49
  23. package/docs/.vuepress/components/commonConfig/renderType/render.vue +0 -91
  24. package/docs/.vuepress/components/commonConfig/renderType/slot.vue +0 -63
  25. package/docs/.vuepress/components/crud/baseUse/baseUse.vue +0 -98
  26. package/docs/.vuepress/components/crud/baseUse/columnAction.vue +0 -72
  27. package/docs/.vuepress/components/crud/baseUse/columnWidth.vue +0 -107
  28. package/docs/.vuepress/components/crud/baseUse/handleRow.vue +0 -65
  29. package/docs/.vuepress/components/crud/baseUse/height.vue +0 -82
  30. package/docs/.vuepress/components/crud/baseUse/index.vue +0 -54
  31. package/docs/.vuepress/components/crud/baseUse/loading.vue +0 -70
  32. package/docs/.vuepress/components/crud/baseUse/pagination.vue +0 -108
  33. package/docs/.vuepress/components/crud/baseUse/selection.vue +0 -114
  34. package/docs/.vuepress/components/crud/baseUse/summaryMethod.vue +0 -118
  35. package/docs/.vuepress/components/crud/baseUse/title.vue +0 -54
  36. package/docs/.vuepress/components/crud/baseUse/toolbar.vue +0 -69
  37. package/docs/.vuepress/components/crud/buttons/common.vue +0 -115
  38. package/docs/.vuepress/components/crud/buttons/fast.vue +0 -82
  39. package/docs/.vuepress/components/crud/contextMenu/base.vue +0 -72
  40. package/docs/.vuepress/components/crud/copy.vue +0 -52
  41. package/docs/.vuepress/components/crud/crudEvents/api.vue +0 -157
  42. package/docs/.vuepress/components/crud/crudEvents/deleteTip.vue +0 -93
  43. package/docs/.vuepress/components/crud/crudEvents/events.vue +0 -188
  44. package/docs/.vuepress/components/crud/dataSort/base.vue +0 -142
  45. package/docs/.vuepress/components/crud/genDynamicColumns/base.vue +0 -53
  46. package/docs/.vuepress/components/crud/genDynamicColumns/dynamicAndFixed.vue +0 -111
  47. package/docs/.vuepress/components/crud/genDynamicColumns/treeDynamic.vue +0 -68
  48. package/docs/.vuepress/components/crud/handleBar/handleRow.vue +0 -65
  49. package/docs/.vuepress/components/crud/handleBar/toolbar.vue +0 -69
  50. package/docs/.vuepress/components/crud/renderType/1.vue +0 -57
  51. package/docs/.vuepress/components/crud/renderType/2.vue +0 -63
  52. package/docs/.vuepress/components/crud/renderType/3.vue +0 -105
  53. package/docs/.vuepress/components/crud/renderType/5.vue +0 -91
  54. package/docs/.vuepress/components/crud/search/1.vue +0 -90
  55. package/docs/.vuepress/components/crud/search/2.vue +0 -78
  56. package/docs/.vuepress/components/crud/search/3.vue +0 -107
  57. package/docs/.vuepress/components/crud/search/base.vue +0 -123
  58. package/docs/.vuepress/components/crud/search/localSearch.vue +0 -124
  59. package/docs/.vuepress/components/crud/search/special.vue +0 -148
  60. package/docs/.vuepress/components/crud/selection/events.vue +0 -47
  61. package/docs/.vuepress/components/crud/selection/pagination.vue +0 -94
  62. package/docs/.vuepress/components/crud/selection/singleSelection.vue +0 -64
  63. package/docs/.vuepress/components/crud/span/base.vue +0 -69
  64. package/docs/.vuepress/components/crud/span/special.vue +0 -75
  65. package/docs/.vuepress/components/crud/summary/base.vue +0 -99
  66. package/docs/.vuepress/components/crud/tableEdit/addDeleteBtn.vue +0 -174
  67. package/docs/.vuepress/components/crud/tableEdit/cellEdit.vue +0 -194
  68. package/docs/.vuepress/components/crud/tableEdit/controlEdit.vue +0 -219
  69. package/docs/.vuepress/components/crud/tableEdit/dialog.vue +0 -172
  70. package/docs/.vuepress/components/crud/tableEdit/free.vue +0 -88
  71. package/docs/.vuepress/components/crud/tableEdit/freeColumn.vue +0 -82
  72. package/docs/.vuepress/components/crud/tableEdit/methods.vue +0 -154
  73. package/docs/.vuepress/components/crud/tableEdit/rowAction.vue +0 -107
  74. package/docs/.vuepress/components/crud/tableEdit/rowBatch.vue +0 -116
  75. package/docs/.vuepress/components/crud/tableEdit/rowClick.vue +0 -98
  76. package/docs/.vuepress/components/crud/validate/base.vue +0 -122
  77. package/docs/.vuepress/components/crud/validate/custom.vue +0 -82
  78. package/docs/.vuepress/components/crud/validate/regulars.vue +0 -88
  79. package/docs/.vuepress/components/crud/validate/relation.vue +0 -91
  80. package/docs/.vuepress/components/crud/validate/tree.vue +0 -82
  81. package/docs/.vuepress/components/dialog/baseUse/base.vue +0 -92
  82. package/docs/.vuepress/components/dialog/baseUse/beforeConfirm.vue +0 -78
  83. package/docs/.vuepress/components/dialog/baseUse/control.vue +0 -79
  84. package/docs/.vuepress/components/dialog/baseUse/drawer.vue +0 -59
  85. package/docs/.vuepress/components/dialog/baseUse/footer.vue +0 -87
  86. package/docs/.vuepress/components/dialog/baseUse/insertSlot.vue +0 -79
  87. package/docs/.vuepress/components/dict/DictLinkage.vue +0 -91
  88. package/docs/.vuepress/components/dict/baseUse.vue +0 -72
  89. package/docs/.vuepress/components/dict/component.vue +0 -82
  90. package/docs/.vuepress/components/dict/localDict.vue +0 -68
  91. package/docs/.vuepress/components/form/baseUse/base.vue +0 -48
  92. package/docs/.vuepress/components/form/baseUse/dataFormat.vue +0 -92
  93. package/docs/.vuepress/components/form/baseUse/deep.vue +0 -57
  94. package/docs/.vuepress/components/form/baseUse/gridLayout.vue +0 -47
  95. package/docs/.vuepress/components/form/baseUse/group.vue +0 -66
  96. package/docs/.vuepress/components/form/baseUse/hidden.vue +0 -40
  97. package/docs/.vuepress/components/form/baseUse/inlineLayout.vue +0 -48
  98. package/docs/.vuepress/components/form/baseUse/label.vue +0 -51
  99. package/docs/.vuepress/components/form/baseUse/tooltip.vue +0 -40
  100. package/docs/.vuepress/components/form/baseUse/validate.vue +0 -52
  101. package/docs/.vuepress/components/form/detail/base.vue +0 -78
  102. package/docs/.vuepress/components/form/detail/border.vue +0 -90
  103. package/docs/.vuepress/components/form/detail/singleDetail.vue +0 -72
  104. package/docs/.vuepress/components/formatData/baseUse.vue +0 -131
  105. package/docs/.vuepress/components/mock/index.js +0 -347
  106. package/docs/.vuepress/components/mockData/custom.vue +0 -69
  107. package/docs/.vuepress/components/mockData/example.vue +0 -290
  108. package/docs/.vuepress/components/positionSlot/base.vue +0 -24
  109. package/docs/.vuepress/components/positionSlot/form.vue +0 -71
  110. package/docs/.vuepress/components/positionSlot/table.vue +0 -85
  111. package/docs/.vuepress/components/tabs/base.vue +0 -57
  112. package/docs/.vuepress/components/temp.js +0 -195
  113. package/docs/.vuepress/config.js +0 -146
  114. package/docs/.vuepress/enhanceApp.js +0 -142
  115. package/docs/.vuepress/public/favicon.ico +0 -0
  116. package/docs/.vuepress/public/super.png +0 -0
  117. package/docs/.vuepress/styles/index.styl +0 -25
  118. package/docs/.vuepress/styles/palette.styl +0 -6
  119. package/docs/README.md +0 -14
  120. package/docs/guide/button/base.md +0 -31
  121. package/docs/guide/commonConfig/jsx.md +0 -166
  122. package/docs/guide/commonConfig/presetCodeTemplate.md +0 -68
  123. package/docs/guide/commonConfig/renderType.md +0 -181
  124. package/docs/guide/crud/baseUse.md +0 -120
  125. package/docs/guide/crud/buttons.md +0 -18
  126. package/docs/guide/crud/config.md +0 -217
  127. package/docs/guide/crud/contextMenu.md +0 -18
  128. package/docs/guide/crud/dataSort.md +0 -66
  129. package/docs/guide/crud/genDynamicColumns.md +0 -145
  130. package/docs/guide/crud/handleBar.md +0 -26
  131. package/docs/guide/crud/renderType.md +0 -4
  132. package/docs/guide/crud/search.md +0 -150
  133. package/docs/guide/crud/selection.md +0 -73
  134. package/docs/guide/crud/span.md +0 -98
  135. package/docs/guide/crud/summary.md +0 -167
  136. package/docs/guide/crud/tableEdit.md +0 -377
  137. package/docs/guide/crud/validate.md +0 -158
  138. package/docs/guide/dialog/baseUse.md +0 -81
  139. package/docs/guide/dict/baseUse.md +0 -174
  140. package/docs/guide/dict/component.md +0 -88
  141. package/docs/guide/dict/config.md +0 -44
  142. package/docs/guide/form/baseUse.md +0 -142
  143. package/docs/guide/form/detail.md +0 -38
  144. package/docs/guide/formatData/baseUse.md +0 -98
  145. package/docs/guide/formatData/config.md +0 -142
  146. package/docs/guide/mockData/base.md +0 -26
  147. package/docs/guide/positionSlot/base.md +0 -41
  148. package/docs/guide/question/base.md +0 -44
  149. package/docs/guide/start/base.md +0 -30
  150. package/docs/guide/tabs/base.md +0 -63
  151. package/examples/App.vue +0 -52
  152. package/examples/Layout/components/AppMain.vue +0 -40
  153. package/examples/Layout/components/Item.vue +0 -29
  154. package/examples/Layout/components/Link.vue +0 -44
  155. package/examples/Layout/components/SidebarItem.vue +0 -93
  156. package/examples/Layout/index.vue +0 -69
  157. package/examples/assets/logo.png +0 -0
  158. package/examples/favicon.ico +0 -0
  159. package/examples/index.html +0 -18
  160. package/examples/main.js +0 -54
  161. package/examples/router/index.js +0 -140
  162. package/examples/store/index.js +0 -0
  163. package/examples/styles/index.scss +0 -63
  164. package/examples/styles/sidebar.scss +0 -226
  165. package/examples/styles/transition.scss +0 -48
  166. package/examples/styles/variables.scss +0 -25
  167. package/examples/views/crud/base.vue +0 -68
  168. package/examples/views/crud/handleRow.vue +0 -84
  169. package/examples/views/crud/search.vue +0 -116
  170. package/examples/views/dashboard/index.vue +0 -244
  171. package/examples/views/dashboard/index1.vue +0 -234
  172. package/examples/views/dashboard/test.vue +0 -9
  173. package/examples/views/formTest/index.vue +0 -168
  174. package/examples/views/nested/menu1/index.vue +0 -7
  175. package/examples/views/nested/menu1/menu1-1/index.vue +0 -7
  176. package/examples/views/nested/menu1/menu1-2/index.vue +0 -7
  177. package/examples/views/nested/menu1/menu1-2/menu1-2-1/index.vue +0 -5
  178. package/examples/views/nested/menu1/menu1-2/menu1-2-2/index.vue +0 -5
  179. package/examples/views/nested/menu1/menu1-3/index.vue +0 -5
  180. package/examples/views/nested/menu2/index.vue +0 -5
  181. package/gulpfile.js +0 -84
  182. package/packages/button/index.vue +0 -189
  183. package/packages/core/components/comp.vue +0 -223
  184. package/packages/core/components/position.vue +0 -135
  185. package/packages/core/components/render.vue +0 -460
  186. package/packages/core/configManager.js +0 -302
  187. package/packages/core/create.js +0 -8
  188. package/packages/core/defaultRender.js +0 -64
  189. package/packages/core/dict/global.js +0 -10
  190. package/packages/core/dict/index.js +0 -432
  191. package/packages/core/dict/mixin.js +0 -94
  192. package/packages/core/event.js +0 -60
  193. package/packages/core/index.js +0 -6
  194. package/packages/core/init.js +0 -122
  195. package/packages/core/mock/genConfig.js +0 -228
  196. package/packages/core/mock/genData.js +0 -422
  197. package/packages/core/mock/index.js +0 -4
  198. package/packages/core/rules.js +0 -111
  199. package/packages/crud/column.vue +0 -205
  200. package/packages/crud/columnAction.vue +0 -207
  201. package/packages/crud/columnCell.vue +0 -146
  202. package/packages/crud/defaultColumn.vue +0 -130
  203. package/packages/crud/drawerColumn.vue +0 -225
  204. package/packages/crud/form.vue +0 -69
  205. package/packages/crud/index.vue +0 -564
  206. package/packages/crud/menuBar.vue +0 -298
  207. package/packages/crud/mixins/cacheHandler.js +0 -36
  208. package/packages/crud/mixins/calcColumnWidth.js +0 -79
  209. package/packages/crud/mixins/calcHeight.js +0 -105
  210. package/packages/crud/mixins/columnHandler.js +0 -128
  211. package/packages/crud/mixins/contextMenu.js +0 -98
  212. package/packages/crud/mixins/dataProcessor.js +0 -202
  213. package/packages/crud/mixins/dialog.js +0 -109
  214. package/packages/crud/mixins/excelHandler.js +0 -150
  215. package/packages/crud/mixins/exposeMethods.js +0 -107
  216. package/packages/crud/mixins/generateDynamicColumns.js +0 -250
  217. package/packages/crud/mixins/props.js +0 -38
  218. package/packages/crud/mixins/searchHandler.js +0 -151
  219. package/packages/crud/mixins/select.js +0 -359
  220. package/packages/crud/mixins/spanMethod.js +0 -288
  221. package/packages/crud/mixins/summary.js +0 -177
  222. package/packages/crud/mixins/tableEdit.js +0 -547
  223. package/packages/crud/mixins/validate.js +0 -219
  224. package/packages/crud/pagination.vue +0 -110
  225. package/packages/crud/search.vue +0 -119
  226. package/packages/crud/searchHeader.vue +0 -231
  227. package/packages/crud/selectBanner.vue +0 -138
  228. package/packages/crud/utils/EditState.js +0 -319
  229. package/packages/crud/utils/excelExport.js +0 -112
  230. package/packages/crud/utils/excelImport.js +0 -112
  231. package/packages/crud/utils/index.js +0 -98
  232. package/packages/dialog/dialog.js +0 -233
  233. package/packages/dialog/dialog.vue +0 -15
  234. package/packages/dialog/index.js +0 -22
  235. package/packages/dict/cascadeFormat.vue +0 -179
  236. package/packages/dict/dateFormat.vue +0 -40
  237. package/packages/dict/form/cascade.vue +0 -61
  238. package/packages/dict/form/checkbox.vue +0 -90
  239. package/packages/dict/form/extendMethod.js +0 -22
  240. package/packages/dict/form/input-base.js +0 -31
  241. package/packages/dict/form/input.js +0 -20
  242. package/packages/dict/form/radio.vue +0 -69
  243. package/packages/dict/form/select.vue +0 -118
  244. package/packages/dict/form/switch.vue +0 -75
  245. package/packages/dict/valueFormat.vue +0 -188
  246. package/packages/directive/dialog/drag.js +0 -86
  247. package/packages/directive/dialog/dragSize.js +0 -42
  248. package/packages/directive/index.js +0 -9
  249. package/packages/directive/insertSlot.js +0 -10
  250. package/packages/form/contextMenu.js +0 -192
  251. package/packages/form/draftDrawer.vue +0 -391
  252. package/packages/form/formAction.vue +0 -97
  253. package/packages/form/formItem.vue +0 -259
  254. package/packages/form/index.vue +0 -451
  255. package/packages/form/props.js +0 -15
  256. package/packages/grid/cell.vue +0 -65
  257. package/packages/grid/index.vue +0 -130
  258. package/packages/group/index.vue +0 -96
  259. package/packages/tabs/index.vue +0 -290
  260. package/packages/tooltip/index.js +0 -9
  261. package/packages/tooltip/tooltip.vue +0 -32
  262. package/packages/tooltip/tooltipComponent.js +0 -38
  263. package/packages/verifyInput/index.vue +0 -131
  264. package/styles/button.scss +0 -3
  265. package/styles/crud.scss +0 -425
  266. package/styles/dialog.scss +0 -95
  267. package/styles/form.scss +0 -532
  268. package/styles/group.scss +0 -78
  269. package/styles/index.scss +0 -94
  270. package/styles/tabs.scss +0 -139
  271. package/styles/verifyInput.scss +0 -56
  272. package/vue-jsx-sync.js +0 -90
  273. package/vue.config.js +0 -54
@@ -1,188 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud
4
- :search.sync="searchForm"
5
- :options="options"
6
- :data="data"
7
- @view="view"
8
- @add="add"
9
- @edit="edit"
10
- @save="save"
11
- @delete="handleDelete"
12
- @cancel="cancel"
13
- @change="change"
14
- @getDetail="getDetail"
15
- >
16
- </sc-crud>
17
- </div>
18
- </template>
19
-
20
- <script>
21
- export default {
22
- data() {
23
- return {
24
- searchForm: {},
25
- options: {
26
- action: {
27
- view: true,
28
- edit: true,
29
- delete: true,
30
- },
31
- handleRow: {
32
- add: true,
33
- },
34
- renderColumns: [
35
- { prop: "name", label: "昵称", search: true, form: true },
36
- {
37
- prop: "username",
38
- label: "姓名",
39
- search: {
40
- comp: {
41
- name: "el-date-picker",
42
- },
43
- },
44
- form: true,
45
- },
46
- {
47
- prop: "gender",
48
- label: "性别",
49
- form: true,
50
- },
51
- ],
52
- },
53
- data: [
54
- {
55
- createTime: "2018-06-02 12:28:47",
56
- createUser: 94,
57
- id: 56,
58
- idNumber: "8",
59
- name: "识间华中张认",
60
- password: "sed laboris",
61
- phone: "18157668675",
62
- gender: "男",
63
- age: 20,
64
- status: 35,
65
- updateTime: "2018-09-08 16:33:19",
66
- updateUser: 58,
67
- username: "石洋",
68
- },
69
- ],
70
- };
71
- },
72
- methods: {
73
- getDetail(done, scope, unLoading) {
74
- this.detailApi().then((res) => {
75
- done(res.data);
76
- this.$message.success("获取详情");
77
- });
78
- },
79
- // 点击新增触发 add(行编辑与单元格编辑只有在保存后才会改变数据)
80
- add(done, scope, unLoading) {
81
- this.$message.success("新增自定义参数");
82
- // 传入自定义新增参数
83
- done({
84
- name: "测试",
85
- username: "自定义新增参数",
86
- gender: "男",
87
- });
88
- },
89
- // 点击编辑触发 edit
90
- edit(done, scope, unLoading) {
91
- done({
92
- // 自定义进入编辑时的参数
93
- ...scope.row,
94
- username: "自定义进入编辑时的参数",
95
- });
96
- },
97
- // 点击保存触发 save(自由编辑没有save事件)
98
- save(done, scope, unLoading) {
99
- console.log(scope.mode);
100
- if (scope.mode === "add") {
101
- this.addApi(scope.row).then((res) => {
102
- done({
103
- // 自定义保存参数
104
- ...scope.row,
105
- gender: "自定义保存参数",
106
- });
107
- });
108
- } else {
109
- this.editApi(scope.row)
110
- .then((res) => {})
111
- .catch(() => {
112
- unLoading(); // 失败时,手动停止loading
113
- this.$message.error("保存失败");
114
- });
115
- }
116
- },
117
- // 点击查看触发 view
118
- view(done, scope, unLoading) {
119
- done();
120
- },
121
- // 点击删除触发 delete
122
- handleDelete(done, scope, unLoading) {
123
- this.deleteApi(scope.row).then((res) => {
124
- done();
125
- });
126
- },
127
- // 点击取消触发 cancel
128
- cancel(done) {
129
- done();
130
- this.$message.success("取消编辑");
131
- },
132
- // 数据变化触发
133
- change(done, scope) {
134
- done();
135
- setTimeout(() => {
136
- this.$message.success("change,事件模式:" + scope.mode);
137
- }, 500);
138
- },
139
- // 模拟请求api,在真实请求中除了 detailApi 不需要传参给本地,刷新列表即可
140
- addApi(params) {
141
- return new Promise((resolve, reject) => {
142
- setTimeout(() => {
143
- resolve();
144
- }, 500);
145
- });
146
- },
147
- editApi(params) {
148
- return new Promise((resolve, reject) => {
149
- setTimeout(() => {
150
- reject();
151
- }, 500);
152
- });
153
- },
154
- deleteApi() {
155
- return new Promise((resolve, reject) => {
156
- setTimeout(() => {
157
- resolve();
158
- }, 500);
159
- });
160
- },
161
- detailApi(scope) {
162
- return new Promise((resolve, reject) => {
163
- setTimeout(() => {
164
- resolve({
165
- code: 200,
166
- msg: "success",
167
- data: {
168
- createTime: "2018-06-02 12:28:47",
169
- createUser: 94,
170
- id: 56,
171
- idNumber: "8",
172
- name: "识间华中张认1",
173
- password: "sed laboris",
174
- phone: "18157668675",
175
- gender: "男",
176
- age: 20,
177
- status: 35,
178
- updateTime: "2018-09-08 16:33:19",
179
- updateUser: 58,
180
- username: "石洋1",
181
- },
182
- });
183
- }, 500);
184
- });
185
- },
186
- },
187
- };
188
- </script>
@@ -1,142 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud title="原始数据" :options="rawOptions" :data="rawData" />
4
-
5
- <sc-crud title="排序后数据" :options="options" :data="tableData" />
6
- </div>
7
- </template>
8
-
9
- <script>
10
- export default {
11
- data() {
12
- const columns = [
13
- {
14
- prop: "province",
15
- label: "省份",
16
- render: (h, { row }) => {
17
- // 使用不同颜色区分不同省份
18
- const colors = {
19
- 浙江: "#409EFF", // 蓝色
20
- 江苏: "#67C23A", // 绿色
21
- };
22
- return (
23
- <span
24
- style={{
25
- color: colors[row.province] || "#909399",
26
- fontWeight: "bold",
27
- }}
28
- >
29
- {row.province}
30
- </span>
31
- );
32
- },
33
- },
34
- {
35
- prop: "city",
36
- label: "城市",
37
- },
38
- { prop: "amount", label: "交易金额" },
39
- { prop: "company", label: "公司名称" },
40
- ];
41
- return {
42
- rawOptions: {
43
- renderColumns: columns,
44
- },
45
- options: {
46
- // 按省份、城市、交易金额的顺序进行多层级排序
47
- sortProps: ["province", "city", "amount"],
48
- sortMethod: (field, a, b) => {
49
- if (field === "amount") {
50
- return b[field] - a[field];
51
- }
52
- },
53
- renderColumns: columns,
54
- },
55
- tableData: [],
56
- rawData: [
57
- {
58
- province: "浙江",
59
- city: "宁波",
60
- company: "宁波中百",
61
- amount: 3000,
62
- },
63
- {
64
- province: "江苏",
65
- city: "南京",
66
- company: "南京银行",
67
- amount: 9000,
68
- },
69
- {
70
- province: "江苏",
71
- city: "南京",
72
- company: "南京银行",
73
- amount: 4000,
74
- },
75
- {
76
- province: "江苏",
77
- city: "南京",
78
- company: "南京银行",
79
- amount: 3000,
80
- },
81
- {
82
- province: "浙江",
83
- city: "杭州",
84
- company: "网易",
85
- amount: 8000,
86
- },
87
- {
88
- province: "江苏",
89
- city: "苏州",
90
- company: "苏州工业园",
91
- amount: 4000,
92
- },
93
- {
94
- province: "浙江",
95
- city: "杭州",
96
- company: "大华",
97
- amount: 6000,
98
- },
99
- {
100
- province: "浙江",
101
- city: "宁波",
102
- company: "杉杉股份",
103
- amount: 5000,
104
- },
105
- {
106
- province: "浙江",
107
- city: "宁波",
108
- company: "宁波中百",
109
- amount: 1000,
110
- },
111
- {
112
- province: "江苏",
113
- city: "南京",
114
- company: "南瑞集团",
115
- amount: 7000,
116
- },
117
- {
118
- province: "浙江",
119
- city: "杭州",
120
- company: "阿里巴巴",
121
- amount: 10000,
122
- },
123
- {
124
- province: "浙江",
125
- city: "宁波",
126
- company: "宁波中百",
127
- amount: 2000,
128
- },
129
- {
130
- province: "浙江",
131
- city: "宁波",
132
- company: "宁波中百",
133
- amount: 3000,
134
- },
135
- ],
136
- };
137
- },
138
- mounted() {
139
- this.tableData = [...this.rawData];
140
- },
141
- };
142
- </script>
@@ -1,53 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud
4
- :loading.sync="loading"
5
- :search.sync="search"
6
- :options="options"
7
- :data="data"
8
- :total="total"
9
- @getList="getList"
10
- >
11
- </sc-crud>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import { mockApi } from "../../mock";
17
- export default {
18
- data() {
19
- return {
20
- loading: false,
21
- search: {
22
- pageNum: 1,
23
- pageSize: 10,
24
- },
25
- options: {
26
- init: true,
27
- dynamicConfig: [
28
- {
29
- path: "firstChildren",
30
- prop: "id",
31
- label: "name",
32
- },
33
- ],
34
- renderColumns: [
35
- { prop: "materialCode", label: "编码" },
36
- { prop: "materialName", label: "名称" },
37
- ],
38
- },
39
- data: [],
40
- total: 0,
41
- };
42
- },
43
- methods: {
44
- async getList() {
45
- this.loading = true;
46
- const { data, total } = await mockApi.getDynamicData(this.search);
47
- this.data = data;
48
- this.total = total;
49
- this.loading = false;
50
- },
51
- },
52
- };
53
- </script>
@@ -1,111 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud
4
- :loading.sync="loading"
5
- :search.sync="search"
6
- :options="options"
7
- :data="data"
8
- :total="total"
9
- @getList="getList"
10
- >
11
- </sc-crud>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import { mockApi } from "../../mock";
17
- export default {
18
- data() {
19
- return {
20
- loading: false,
21
- search: {
22
- pageNum: 1,
23
- pageSize: 10,
24
- },
25
- options: {
26
- init: true,
27
- dynamicConfig: [
28
- {
29
- path: "firstChildren",
30
- prop: "id",
31
- label: "name",
32
- columnConfig: (path, source) => {
33
- return {
34
- render: () => <div>空</div>,
35
- };
36
- },
37
- },
38
- {
39
- path: "secondChildren",
40
- prop: "sort",
41
- label: (item) => `第${item.sort}轮报价`,
42
- columnConfig: (path, source) => {
43
- return {
44
- children: [
45
- {
46
- label: "入选",
47
- prop: `${path}.choose`,
48
- comp: {
49
- name: "el-checkbox",
50
- trueLabel: "Y",
51
- falseLabel: "N",
52
- },
53
- },
54
- {
55
- label: "单价",
56
- prop: `${path}.productUnitPrice`,
57
- render: (h, { row }) => {
58
- return (
59
- <el-input
60
- v-model={source[row.$index].productUnitPrice}
61
- />
62
- );
63
- },
64
- },
65
- {
66
- label: "跟价",
67
- prop: `${path}.priceFollow`,
68
- render: (h, { row }) => {
69
- if (!source[row.$index].priceFollow) return;
70
- const isFollow = source[row.$index].priceFollow === "Y";
71
- return (
72
- <span
73
- style={{ color: isFollow ? "#67C23A" : "#F56C6C" }}
74
- >
75
- {isFollow ? "是" : "否"}
76
- </span>
77
- );
78
- },
79
- },
80
- {
81
- label: "降幅比例",
82
- prop: `${path}.pricePercentageChange`,
83
- formatter: (row) =>
84
- source[row.$index].pricePercentageChange &&
85
- source[row.$index].pricePercentageChange * 100 + "%",
86
- },
87
- ],
88
- };
89
- },
90
- },
91
- ],
92
- renderColumns: [
93
- { prop: "materialCode", label: "编码" },
94
- { prop: "materialName", label: "名称" },
95
- ],
96
- },
97
- data: [],
98
- total: 0,
99
- };
100
- },
101
- methods: {
102
- async getList() {
103
- this.loading = true;
104
- const { data, total } = await mockApi.getDynamicData(this.search);
105
- this.data = data;
106
- this.total = total;
107
- this.loading = false;
108
- },
109
- },
110
- };
111
- </script>
@@ -1,68 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud
4
- :loading.sync="loading"
5
- :search.sync="search"
6
- :options="options"
7
- :data="data"
8
- :total="total"
9
- @getList="getList"
10
- >
11
- </sc-crud>
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import { mockApi } from "../../mock";
17
- export default {
18
- data() {
19
- return {
20
- loading: false,
21
- search: {
22
- pageNum: 1,
23
- pageSize: 10,
24
- },
25
- options: {
26
- init: true,
27
- dynamicConfig: [
28
- {
29
- path: "firstChildren",
30
- prop: "id",
31
- label: "name",
32
- columnConfig: (path, source) => {
33
- return {
34
- render: () => <div>空</div>,
35
- };
36
- },
37
- },
38
- {
39
- path: "secondChildren",
40
- prop: "sort",
41
- label: (item) => `第${item.sort}轮报价`,
42
- columnConfig: (path, source) => {
43
- return {
44
- prop: `${path}.productUnitPrice`,
45
- };
46
- },
47
- },
48
- ],
49
- renderColumns: [
50
- { prop: "materialCode", label: "编码" },
51
- { prop: "materialName", label: "名称" },
52
- ],
53
- },
54
- data: [],
55
- total: 0,
56
- };
57
- },
58
- methods: {
59
- async getList() {
60
- this.loading = true;
61
- const { data, total } = await mockApi.getDynamicData(this.search);
62
- this.data = data;
63
- this.total = total;
64
- this.loading = false;
65
- },
66
- },
67
- };
68
- </script>
@@ -1,65 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud :search.sync="searchForm" :options="options" :data="data">
4
- <template #handleRow-left="{size}">
5
- <el-button :size="size">handleRow插槽</el-button>
6
- </template>
7
- </sc-crud>
8
- </div>
9
- </template>
10
-
11
- <script>
12
- export default {
13
- data() {
14
- return {
15
- searchForm: {},
16
- options: {
17
- rowEdit: true,
18
- handleRow: {
19
- add: {
20
- label: "自定义弹窗新增",
21
- }, // 自定义弹窗新增按钮
22
- batchDelete: {
23
- label: "自定义批量删除",
24
- }, // 自定义批量删除按钮
25
- rowAdd: {
26
- label: "定义行新增",
27
- }, // 自定义行新增按钮
28
- },
29
- renderColumns: [
30
- { prop: "name", label: "昵称", search: true },
31
- {
32
- prop: "username",
33
- label: "姓名",
34
- search: {
35
- name: "el-date-picker",
36
- },
37
- },
38
- {
39
- prop: "gender",
40
- label: "性别",
41
- },
42
- ],
43
- },
44
- data: [
45
- {
46
- createTime: "2018-06-02 12:28:47",
47
- createUser: 94,
48
- id: 56,
49
- idNumber: "8",
50
- name: "识间华中张认",
51
- password: "sed laboris",
52
- phone: "18157668675",
53
- gender: "男",
54
- age: 20,
55
- status: 35,
56
- updateTime: "2018-09-08 16:33:19",
57
- updateUser: 58,
58
- username: "石洋",
59
- },
60
- ],
61
- };
62
- },
63
- methods: {},
64
- };
65
- </script>
@@ -1,69 +0,0 @@
1
- <template>
2
- <div>
3
- <sc-crud :search.sync="searchForm" :options="options" :data="data">
4
- <template #toolbar-left="config">
5
- <!-- ctx为crud组件实例 -->
6
- <el-button :size="config.size">toolbar插槽</el-button>
7
- </template>
8
- </sc-crud>
9
- </div>
10
- </template>
11
-
12
- <script>
13
- export default {
14
- data() {
15
- return {
16
- searchForm: {},
17
- options: {
18
- // 不需要自定义内置按钮时可以简写为数组 toolbar: [{label: "自定义按钮"...}]
19
- toolbar: {
20
- search: {
21
- label: "自定义搜索显隐", // 自定义 hover 提示词
22
- },
23
- reset: {
24
- label: "自定义重置", // 自定义 hover 提示词
25
- },
26
- zoom: {
27
- label: "自定义最大化", // 自定义 hover 提示词
28
- },
29
- column: {
30
- label: "自定义列设置", // 自定义 hover 提示词
31
- },
32
- },
33
- renderColumns: [
34
- { prop: "name", label: "昵称", search: true },
35
- {
36
- prop: "username",
37
- label: "姓名",
38
- search: {
39
- name: "el-date-picker",
40
- },
41
- },
42
- {
43
- prop: "gender",
44
- label: "性别",
45
- },
46
- ],
47
- },
48
- data: [
49
- {
50
- createTime: "2018-06-02 12:28:47",
51
- createUser: 94,
52
- id: 56,
53
- idNumber: "8",
54
- name: "识间华中张认",
55
- password: "sed laboris",
56
- phone: "18157668675",
57
- gender: "男",
58
- age: 20,
59
- status: 35,
60
- updateTime: "2018-09-08 16:33:19",
61
- updateUser: 58,
62
- username: "石洋",
63
- },
64
- ],
65
- };
66
- },
67
- methods: {},
68
- };
69
- </script>