plain-design 1.0.0-beta.34 → 1.0.0-beta.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. package/package.json +3 -2
  2. package/src/pages/data/address.json +0 -39317
  3. package/src/pages/data/data-1.json +0 -754
  4. package/src/pages/data/data-2.json +0 -3006
  5. package/src/pages/data/data-200.json +0 -5206
  6. package/src/pages/data/data-2000.json +0 -51954
  7. package/src/pages/data/data-50.json +0 -2075
  8. package/src/pages/data/data.json +0 -30002
  9. package/src/pages/data/demo.json +0 -1702
  10. package/src/pages/data/mock.database.js +0 -43
  11. package/src/pages/data/mock.js +0 -141
  12. package/src/pages/data/tree.data.json +0 -87
  13. package/src/pages/env/config/local.js +0 -3
  14. package/src/pages/env/config/prod.js +0 -3
  15. package/src/pages/env/config/undefined.js +0 -1
  16. package/src/pages/env/env.d.ts +0 -4
  17. package/src/pages/env/index.ts +0 -1
  18. package/src/pages/history/createHistory.ts +0 -94
  19. package/src/pages/history/history.utils.ts +0 -64
  20. package/src/pages/index/App.tsx +0 -17
  21. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  22. package/src/pages/index/Demo/DemoRow.scss +0 -131
  23. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  24. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  25. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  26. package/src/pages/index/Demo/index.ts +0 -8
  27. package/src/pages/index/app.scss +0 -197
  28. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -56
  29. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  30. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  31. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  32. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  33. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  34. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  35. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  36. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  37. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  38. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  39. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  40. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  41. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  42. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  43. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  44. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  45. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  46. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  47. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  48. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  49. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  50. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  51. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  52. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  53. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  54. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  55. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  56. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  57. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  58. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  59. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  60. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  61. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  62. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  63. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  64. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -230
  65. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  66. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  67. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  68. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  69. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  70. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  71. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  72. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  73. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  74. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -464
  75. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  76. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  77. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  78. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  79. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  80. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  81. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  82. package/src/pages/index/components/normal/DemoLayout.tsx +0 -144
  83. package/src/pages/index/components/normal/DemoList.scss +0 -15
  84. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  85. package/src/pages/index/components/normal/DemoLoading.tsx +0 -86
  86. package/src/pages/index/components/normal/DemoNumber.tsx +0 -269
  87. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  88. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  89. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  90. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  91. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  92. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  93. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  94. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  95. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  96. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  97. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  98. package/src/pages/index/components/normal/DemoSortList.tsx +0 -70
  99. package/src/pages/index/components/normal/DemoStackCard.tsx +0 -356
  100. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  101. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  102. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  103. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  104. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  105. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  106. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  107. package/src/pages/index/components/normal/DemoTree.tsx +0 -1183
  108. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  109. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -464
  110. package/src/pages/index/components/service/DemoDialogService.tsx +0 -249
  111. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  112. package/src/pages/index/components/service/DemoImagePreviewer.tsx +0 -185
  113. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  114. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  115. package/src/pages/index/components/service/DemoPopupService.tsx +0 -325
  116. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  117. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  118. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  119. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  120. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  121. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  122. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  123. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -203
  124. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  125. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  126. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  127. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  128. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  129. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  130. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  131. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  132. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  133. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  134. package/src/pages/index/home/AppContent.tsx +0 -69
  135. package/src/pages/index/home/AppHead.tsx +0 -18
  136. package/src/pages/index/home/AppHome.tsx +0 -31
  137. package/src/pages/index/home/AppMenu.tsx +0 -38
  138. package/src/pages/index/home/menus.tsx +0 -220
  139. package/src/pages/index/home/plain-design.png +0 -0
  140. package/src/pages/index/main.tsx +0 -23
  141. package/src/pages/index/nav/$nav.ts +0 -41
  142. package/src/pages/index/pages.d.ts +0 -6
  143. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  144. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  145. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  146. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  147. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  148. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  149. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  150. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  151. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  152. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  153. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  154. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  155. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  156. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  157. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  158. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  159. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  160. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  161. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  162. package/src/pages/module/address.ts +0 -27
  163. package/src/pages/module/http.ts +0 -24
  164. package/src/pages/module/index.ts +0 -19
  165. package/src/pages/module/object.ts +0 -5
  166. package/src/pages/module/ov.tsx +0 -13
  167. package/src/pages/module/upload.ts +0 -9
  168. package/src/pages/module/useTableOption.ts +0 -28
@@ -1,51 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- fill: true,
10
- // showRowsMode: 'auto',
11
- });
12
-
13
-
14
- const onClick = () => {
15
- console.log('click');
16
- };
17
-
18
- const selectOptions = [
19
- { label: '消费者', status: 'consumer' },
20
- { label: '潜在客户', status: 'potential' },
21
- { label: '门店', status: 'store' },
22
- ];
23
-
24
- const filterConfig = {
25
- // formItemAttrs: { column: 2 }
26
- };
27
-
28
- return () => (
29
- <AutoTable option={option}>
30
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
31
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
32
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
33
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日"/>
34
- <PlcNumber title="计数" field="count" required/>
35
- <PlcInput
36
- title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
37
- v-slots={{
38
- normal: ({ row }) => (
39
- <span>[{row.normalText}]</span>
40
- )
41
- }}
42
- />
43
- <PlcNumber title="数字" field="numberVal"/>
44
- <PlcSelect title="下拉选择" field="selectVal">
45
- {selectOptions.map((item) => (
46
- <SelectOption label={item.label} val={item.status} key={item.status}/>
47
- ))}
48
- </PlcSelect>
49
- </AutoTable>
50
- );
51
- });
@@ -1,71 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcGroup, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- fill: true,
10
- // showRows: 1,
11
- // loadOnStart: false,
12
- // filterFormColumn: 2,
13
- /*permit: {
14
- show: {
15
- // insert: false,
16
- // update: false,
17
- // delete: false,
18
- // other: false,
19
- codes: {
20
- 'outer-update': false,
21
- }
22
- },
23
- disabled: {
24
- insert: true,
25
- },
26
- },*/
27
- });
28
-
29
- const onClick = () => {
30
- console.log('click');
31
- };
32
-
33
- const selectOptions = [
34
- { label: '消费者', status: 'consumer' },
35
- { label: '潜在客户', status: 'potential' },
36
- { label: '门店', status: 'store' },
37
- ];
38
-
39
- const filterConfig = {
40
- // formItemAttrs: { column: 2 }
41
- };
42
-
43
- return () => (
44
- <AutoTable option={option}>
45
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
46
- <PlcInput
47
- title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
48
- v-slots={{
49
- normal: ({ row }) => (
50
- <span>[{row.normalText}]</span>
51
- )
52
- }}
53
- />
54
- <PlcGroup title="时间">
55
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
56
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
57
- </PlcGroup>
58
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日" overflowTooltip/>
59
- <PlcGroup title="数值">
60
- <PlcNumber title="计数" field="count" required/>
61
- <PlcNumber title="数字" field="numberVal"/>
62
- </PlcGroup>
63
- <PlcSelect title="下拉选择" field="selectVal">
64
- {selectOptions.map((item) => (
65
- <SelectOption label={item.label} val={item.status} key={item.status}/>
66
- ))}
67
- </PlcSelect>
68
- <PlcInput title="邮箱(校验测试)" field="email" validateType="email"/>
69
- </AutoTable>
70
- );
71
- });
@@ -1,181 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$configuration, _Object, AutoTable, Button, Plc, PlcAddress, PlcDate, PlcInput, PlcNumber, PlcObject, PlcOv} from "../../../../packages";
4
- import {PlainObject} from "plain-utils/utils/event";
5
- import {useTableOption} from "../../../module/useTableOption";
6
- import {deepcopy} from "plain-utils/object/deepcopy";
7
-
8
- export const demo1 = designPage(() => {
9
-
10
- const object = $configuration.use('object')!;
11
-
12
- const option = useTableOption({
13
- url: '/demo',
14
- /*permit: {
15
- show: {
16
- insert: true,
17
- update: true,
18
- }
19
- },*/
20
- render: () => <>
21
- <Plc title="编号id" field="id" width={350} hideInForm/>
22
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false}/>
23
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false}/>
24
- <PlcDate title="日期" field="dateVal"/>
25
- <PlcNumber title="计数count" field="count" required/>
26
- <PlcInput title="文本normalText" field="normalText" required fixed="left"/>
27
- </>
28
- });
29
-
30
- const state = reactive({
31
- single: undefined as undefined | PlainObject,
32
- multiple: undefined as undefined | PlainObject[],
33
- });
34
-
35
- const single = async () => {
36
- const selected = await object({ option, selected: state.single, map: { objText: 'normalText', objId: 'id' } });
37
- console.log(deepcopy(selected));
38
- state.single = selected;
39
- };
40
-
41
- const multiple = async () => {
42
- const selected = await object({ option, selected: state.multiple, multiple: true });
43
- console.log(deepcopy(selected));
44
- state.multiple = selected;
45
- };
46
-
47
- return () => (
48
- <DemoRow title="对象选择服务">
49
- <Button onClick={single}>
50
- <span>单选</span>
51
- {!!state.single && <span>{state.single.objText}</span>}
52
- </Button>
53
- <Button onClick={multiple}>
54
- <span>多选</span>
55
- {!!state.multiple && state.multiple.map(i => i.normalText).join(',')}
56
- </Button>
57
- </DemoRow>
58
- );
59
- });
60
-
61
- export const demo2 = designPage(() => {
62
-
63
- const state = reactive({
64
- formData: {} as any,
65
- });
66
-
67
- const option = useTableOption({
68
- url: '/demo',
69
- render: () => <>
70
- <Plc title="编号id" field="id" width={350} hideInForm/>
71
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false}/>
72
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false}/>
73
- <PlcDate title="日期" field="dateVal"/>
74
- <PlcNumber title="计数count" field="count" required/>
75
- <PlcInput title="文本normalText" field="normalText" required fixed="left"/>
76
- </>
77
- });
78
-
79
- return () => (
80
- <DemoRow title="对象选择框">
81
- <_Object
82
- v-model={state.formData.parentName}
83
- width="200"
84
- option={option}
85
- row={state.formData}
86
- labelField="normalText"
87
- map={{ parentId: 'id', parentName: 'normalText' }}
88
- />
89
- <_Object
90
- v-model={state.formData.parentName}
91
- width="200"
92
- option={option}
93
- row={state.formData}
94
- labelField="normalText"
95
- map={{ parentId: 'id', parentName: 'normalText' }}
96
- />
97
- <div>
98
- {JSON.stringify(state.formData)}
99
- </div>
100
- </DemoRow>
101
- );
102
- });
103
-
104
-
105
- export const demo3 = designPage(() => {
106
-
107
- const state = reactive({
108
- formData: {
109
- list: undefined as undefined | PlainObject[]
110
- },
111
- });
112
-
113
- const option = useTableOption({
114
- url: '/demo',
115
- render: () => <>
116
- <Plc title="编号id" field="id" width={350} hideInForm/>
117
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false}/>
118
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false}/>
119
- <PlcDate title="日期" field="dateVal"/>
120
- <PlcNumber title="计数count" field="count" required/>
121
- <PlcInput title="文本normalText" field="normalText" required fixed="left"/>
122
- </>
123
- });
124
-
125
- return () => (
126
- <DemoRow title="对象选择框:多选">
127
- <_Object
128
- v-model={state.formData.list}
129
- width="200"
130
- option={option}
131
- labelField="normalText"
132
- multiple
133
- />
134
- <_Object
135
- v-model={state.formData.list}
136
- width="200"
137
- option={option}
138
- labelField="normalText"
139
- multiple
140
- />
141
- <div>
142
- {state.formData.list?.map(item => (
143
- <p key={item.id}><h3>{item.normalText} {'=>'} </h3>{JSON.stringify(item)}</p>
144
- ))}
145
- </div>
146
- </DemoRow>
147
- );
148
- });
149
-
150
-
151
- export const demo4 = designPage(() => {
152
-
153
- const option = useTableOption({
154
- url: '/demo',
155
- });
156
-
157
- const parentOption = useTableOption({
158
- url: '/demo',
159
- render: () => <>
160
- <Plc title="编号id" field="id"/>
161
- <PlcInput title="文本normalText" field="normalText" fixed="left"/>
162
- </>
163
- });
164
-
165
- return () => (
166
- <DemoRow title="基本用法">
167
- <AutoTable option={option}>
168
- <Plc title="编号" field="id" hideInForm/>
169
- <PlcObject title="父对象" field="parentName" width={150} option={parentOption} map={{ parentId: 'id', parentName: 'normalText' }} labelField="normalText"/>
170
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
171
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
172
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日" overflowTooltip/>
173
- <PlcOv title="选项值" field="ovVal" ov="promotion"/>
174
- <PlcAddress provinceField="provinceVal" cityField="cityVal" districtField="districtVal"/>
175
- <PlcNumber title="计数" field="count" required/>
176
- <PlcInput title="文本" field="normalText" required width={150} fixed="left"/>
177
- <PlcNumber title="数字" field="numberVal"/>
178
- </AutoTable>
179
- </DemoRow>
180
- );
181
- });
@@ -1,80 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$configuration, AutoTable, Ov, PlcDate, PlcInput} from "../../../../packages";
4
- import {useTableOption} from "../../../module/useTableOption";
5
-
6
- export const demo_1 = designPage(() => {
7
-
8
- const ov = $configuration.use('ov')!;
9
-
10
- return () => (
11
- <DemoRow title="格式化">
12
- <ul>
13
- <li>{ov.getNameByTypeAndCodeComputed('promotion', 'limit_time_discount')}</li>
14
- <li>{ov.getNameByTypeAndCodeComputed('promotion', 'luck_draw')}</li>
15
- <li>{ov.getNameByTypeAndCodeComputed('promotion', 'full_discount')}</li>
16
- <li>{ov.getNameByTypeAndCodeComputed('acct_type', 'ov_supplier')}</li>
17
- <li>{ov.getNameByTypeAndCodeComputed('acct_type', 'ov_trade')}</li>
18
- </ul>
19
- </DemoRow>
20
- );
21
- });
22
-
23
- export const demo_2 = designPage(() => {
24
-
25
- const state = reactive({
26
- val: undefined,
27
- });
28
-
29
- return () => <>
30
- <DemoRow title="数据绑定">
31
- <Ov v-model={state.val} ov="promotion" width="200"/>
32
- <Ov v-model={state.val} ov="promotion" width="200"/>
33
- </DemoRow>
34
- </>;
35
- });
36
-
37
- export const demo2 = designPage(() => {
38
- const state = reactive({
39
- formData: {} as any
40
- });
41
-
42
- return () => (
43
- <DemoRow title="多选">
44
- <Ov width="200" ov="prod_type" multiple v-model={state.formData.ovVal}/>
45
- {JSON.stringify(state.formData.ovVal)}
46
- </DemoRow>
47
- );
48
- });
49
-
50
- export const demo3 = designPage(() => {
51
-
52
- const state = reactive({
53
- val: 'full_discount',
54
- });
55
-
56
- return () => <>
57
- <DemoRow title="有初始值">
58
- <Ov v-model={state.val} ov="promotion" width="200"/>
59
- </DemoRow>
60
- </>;
61
- });
62
-
63
- export const demo4 = designPage(() => {
64
-
65
- const option = useTableOption({
66
- url: '/ov',
67
- });
68
-
69
- return () => <>
70
- <div style={{ height: '100%', boxSizing: 'border-box', backgroundColor: 'white' }}>
71
- <AutoTable option={option}>
72
- <PlcInput title="显示值" field="name"/>
73
- <PlcInput title="代码" field="code"/>
74
- <PlcInput title="类型" field="type"/>
75
- <PlcDate title="创建时间" field="createdAt" hideInForm width={180} editable={false} datetime/>
76
- <PlcInput title="说明" field="comment"/>
77
- </AutoTable>
78
- </div>
79
- </>;
80
- });
@@ -1,98 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {$configuration, $file, AutoTable, Button, Dropdown, DropdownOption, Icon, PlcImage, PlcInput, PlcOv, PlcTextarea} from "../../../../packages";
4
- import {iOvMeta} from "../../../../packages/components/$ov/ov.utils";
5
-
6
- export const demo1 = designPage(() => {
7
-
8
- const ov = $configuration.use('ov')!;
9
-
10
- const state = reactive({
11
- imgTypes: null as null | iOvMeta[]
12
- });
13
-
14
- ov.getOvByTypes('prod_img_type').then(val => state.imgTypes = val);
15
-
16
- const prodOption = useTableOption({
17
- // url: '/prod',
18
- url: 'http://1.116.13.72:7001/prod',
19
- showRows: 5,
20
- bodyRowHeight: 80,
21
- });
22
-
23
- const imgOption = useTableOption({
24
- url: '/upload',
25
- showRows: 5,
26
- bodyRowHeight: 80,
27
- parentOption: prodOption,
28
- parentMap: { headId: 'id' },
29
- permit: {
30
- show: {
31
- update: false,
32
- codes: {
33
- 'inner-copy': false,
34
- 'outer-insert': false,
35
- },
36
- }
37
- },
38
- buttons: [
39
- {
40
- label: '新建',
41
- code: 'upload',
42
- type: 'insert',
43
- seq: 0,
44
- position: 'outer',
45
- disabled: () => !prodOption.state.getTable()?.current.getNode()?.data,
46
- render: () => (
47
- <Dropdown
48
- key="upload"
49
- v-slots={{
50
- default: () => (
51
- <Button loading={state.imgTypes == null} label="新建">
52
- <span>新建</span>
53
- <Icon icon="pi-down"/>
54
- </Button>
55
- ),
56
- popper: () => <>
57
- {(state.imgTypes || []).map((i, index) => (
58
- <DropdownOption key={index} label={i.name} onClick={() => newImageRecord(i.code)}/>
59
- ))}
60
- </>
61
- }}
62
- />
63
- )
64
- }
65
- ],
66
- });
67
-
68
- const newImageRecord = async (type: string) => {
69
- const imageFiles = await $file.chooseImage(true);
70
- const data = (await prodOption.methods.utils.getCurrentNode()).data;
71
- await new Promise<void>((resolve, reject) => {
72
- $file.upload({
73
- action: 'http://1.116.13.72:7001/saveFiles',
74
- file: imageFiles,
75
- filename: 'file',
76
- data: { headId: data.id, attr1: type },
77
- onSuccess: () => resolve(),
78
- onError: () => reject(),
79
- });
80
- });
81
- await imgOption.methods.pageMethods.reload();
82
- };
83
-
84
- return () => (
85
- <div>
86
- <AutoTable option={prodOption}>
87
- <PlcImage title="产品图片" field="imgPath" imgKeyField="imgId"/>
88
- <PlcInput title="产品名称" field="name" defaultSearch/>
89
- <PlcOv title="产品类型" field="type" ov="prod_type"/>
90
- </AutoTable>
91
- <AutoTable option={imgOption}>
92
- <PlcImage title="图片" field="path"/>
93
- <PlcTextarea title="地址" field="path"/>
94
- <PlcOv title="图片类型" field="attr1" ov="prod_img_type" defaultSearch/>
95
- </AutoTable>
96
- </div>
97
- );
98
- });
@@ -1,58 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- fill: true,
10
- });
11
-
12
- option.hooks.onFormatRow.use(row => {
13
- row.formatField = `_${row.id}`;
14
- });
15
-
16
- const onClick = () => {
17
- console.log('click');
18
- };
19
-
20
- const selectOptions = [
21
- { label: '消费者', status: 'consumer' },
22
- { label: '潜在客户', status: 'potential' },
23
- { label: '门店', status: 'store' },
24
- ];
25
-
26
- const filterConfig = {
27
- // formItemAttrs: { column: 2 }
28
- };
29
-
30
- return () => (
31
- <AutoTable option={option}>
32
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
33
- <Plc title="扩展字段" field="formatField" overflowTooltip hideInForm filterConfig={filterConfig}/>
34
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
35
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
36
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日" overflowTooltip/>
37
- <PlcNumber title="计数" field="count" required/>
38
- <PlcInput title="文本"
39
- field="normalText"
40
- required
41
- width={150}
42
- fixed="left"
43
- filterConfig={filterConfig}
44
- v-slots={{
45
- normal: ({ row }) => (
46
- <span>[{row.normalText}]</span>
47
- )
48
- }}
49
- />
50
- <PlcNumber title="数字" field="numberVal"/>
51
- <PlcSelect title="下拉选择" field="selectVal">
52
- {selectOptions.map((item) => (
53
- <SelectOption label={item.label} val={item.status} key={item.status}/>
54
- ))}
55
- </PlcSelect>
56
- </AutoTable>
57
- );
58
- });
@@ -1,50 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- fill: true,
10
- });
11
-
12
-
13
- const onClick = () => {
14
- console.log('click');
15
- };
16
-
17
- const selectOptions = [
18
- { label: '消费者', status: 'consumer' },
19
- { label: '潜在客户', status: 'potential' },
20
- { label: '门店', status: 'store' },
21
- ];
22
-
23
- const filterConfig = {
24
- // formItemAttrs: { column: 2 }
25
- };
26
-
27
- return () => (
28
- <AutoTable option={option}>
29
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
30
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
31
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
32
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日"/>
33
- <PlcNumber title="计数" field="count" required/>
34
- <PlcInput
35
- title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
36
- v-slots={{
37
- normal: ({ row }) => (
38
- <span>[{row.normalText}]</span>
39
- )
40
- }}
41
- />
42
- <PlcNumber title="数字" field="numberVal"/>
43
- <PlcSelect title="下拉选择" field="selectVal">
44
- {selectOptions.map((item) => (
45
- <SelectOption label={item.label} val={item.status} key={item.status}/>
46
- ))}
47
- </PlcSelect>
48
- </AutoTable>
49
- );
50
- });
@@ -1,49 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {useTableOption} from "../../../module/useTableOption";
3
- import {AutoTable, Plc, PlcDate, PlcInput, PlcNumber, PlcSelect, SelectOption} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const option = useTableOption({
8
- url: '/demo',
9
- });
10
-
11
-
12
- const onClick = () => {
13
- console.log('click');
14
- };
15
-
16
- const selectOptions = [
17
- { label: '消费者', status: 'consumer' },
18
- { label: '潜在客户', status: 'potential' },
19
- { label: '门店', status: 'store' },
20
- ];
21
-
22
- const filterConfig = {
23
- // formItemAttrs: { column: 2 }
24
- };
25
-
26
- return () => (
27
- <AutoTable option={option}>
28
- <Plc title="编号" field="id" link onClick={onClick} hideInForm filterConfig={filterConfig}/>
29
- <PlcDate title="创建时间" field="createdAt" hideInForm width={200} editable={false} datetime/>
30
- <PlcDate title="更新时间" field="updatedAt" hideInForm width={200} editable={false} datetime/>
31
- <PlcDate title="日期" field="dateVal" displayFormat="YYYY年MM月DD日"/>
32
- <PlcNumber title="计数" field="count" required/>
33
- <PlcInput
34
- title="文本" field="normalText" required width={150} fixed="left" filterConfig={filterConfig}
35
- v-slots={{
36
- normal: ({ row }) => (
37
- <span>[{row.normalText}]</span>
38
- )
39
- }}
40
- />
41
- <PlcNumber title="数字" field="numberVal"/>
42
- <PlcSelect title="下拉选择" field="selectVal">
43
- {selectOptions.map((item) => (
44
- <SelectOption label={item.label} val={item.status} key={item.status}/>
45
- ))}
46
- </PlcSelect>
47
- </AutoTable>
48
- );
49
- });