@ditari/bsui 1.1.42 → 1.1.44

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.
@@ -1,276 +1,282 @@
1
1
  <script setup lang="ts">
2
2
  import { ref, onDeactivated, onBeforeUnmount } from "vue";
3
3
  import { useTable } from "./hooks";
4
-
4
+ import AddForm from "./components/AddForm.vue";
5
5
  const { data, loading, config, selectedRowKeys } = useTable();
6
6
 
7
- const formState = ref({
8
- name: "",
9
- to: "",
10
- from: ""
11
- });
12
-
13
- onBeforeUnmount(() => {
14
- console.log("onBeforeUnmount");
15
- });
16
-
17
- onDeactivated(() => {
18
- console.log("222");
19
- });
20
-
21
- const scheme = [
22
- {
23
- type: "a-col",
24
- props: {
25
- span: 6
26
- },
27
- body: {
28
- type: "a-form-item",
29
- props: {
30
- label: "姓名",
31
- name: "name"
32
- },
33
- body: {
34
- type: "a-input",
35
- props: {
36
- name: "name",
37
- placeholder: "请输入姓名"
38
- }
39
- }
40
- }
41
- },
42
- {
43
- type: "a-col",
44
- props: {
45
- span: 6
46
- },
47
- body: {
48
- type: "a-form-item",
49
- props: {
50
- label: "姓名",
51
- name: "name"
52
- },
53
- body: {
54
- type: "a-input",
55
- props: {
56
- name: "name",
57
- placeholder: "请输入姓名"
58
- }
59
- }
60
- }
61
- },
62
- {
63
- type: "a-col",
64
- props: {
65
- span: 6
66
- },
67
- body: {
68
- type: "a-form-item",
69
- props: {
70
- label: "姓名",
71
- name: "name"
72
- },
73
- body: {
74
- type: "a-input",
75
- props: {
76
- name: "name",
77
- placeholder: "请输入姓名"
78
- }
79
- }
80
- }
81
- },
82
- {
83
- type: "a-col",
84
- props: {
85
- span: 6
86
- },
87
- body: {
88
- type: "a-form-item",
89
- props: {
90
- label: "姓名",
91
- name: "name"
92
- },
93
- body: {
94
- type: "a-input",
95
- props: {
96
- name: "name",
97
- placeholder: "请输入姓名"
98
- }
99
- }
100
- }
101
- },
102
- {
103
- type: "a-col",
104
- props: {
105
- span: 6
106
- },
107
- body: {
108
- type: "a-form-item",
109
- props: {
110
- label: "姓名",
111
- name: "name"
112
- },
113
- body: {
114
- type: "a-input",
115
- props: {
116
- name: "name",
117
- placeholder: "请输入姓名"
118
- }
119
- }
120
- }
121
- },
122
- {
123
- type: "a-col",
124
- props: {
125
- span: 6
126
- },
127
- body: {
128
- type: "a-form-item",
129
- props: {
130
- label: "姓名",
131
- name: "name"
132
- },
133
- body: {
134
- type: "a-input",
135
- props: {
136
- name: "name",
137
- placeholder: "请输入姓名"
138
- }
139
- }
140
- }
141
- },
142
- {
143
- type: "a-col",
144
- props: {
145
- span: 6
146
- },
147
- body: {
148
- type: "a-form-item",
149
- props: {
150
- label: "姓名",
151
- name: "name"
152
- },
153
- body: {
154
- type: "a-input",
155
- props: {
156
- name: "name",
157
- placeholder: "请输入姓名"
158
- }
159
- }
160
- }
161
- },
162
- {
163
- type: "a-col",
164
- props: {
165
- span: 6
166
- },
167
- body: {
168
- type: "a-form-item",
169
- props: {
170
- label: "姓名",
171
- name: "name"
172
- },
173
- body: {
174
- type: "a-input",
175
- props: {
176
- name: "name",
177
- placeholder: "请输入姓名"
178
- }
179
- }
180
- }
181
- },
182
- {
183
- type: "a-col",
184
- props: {
185
- span: 6
186
- },
187
- body: {
188
- type: "a-form-item",
189
- props: {
190
- label: "姓名",
191
- name: "name"
192
- },
193
- body: {
194
- type: "a-input",
195
- props: {
196
- name: "name",
197
- placeholder: "请输入姓名"
198
- }
199
- }
200
- }
201
- },
202
- {
203
- type: "a-col",
204
- props: {
205
- span: 6
206
- },
207
- body: {
208
- type: "a-form-item",
209
- props: {
210
- label: "姓名",
211
- name: "name"
212
- },
213
- body: {
214
- type: "a-input",
215
- props: {
216
- name: "name",
217
- placeholder: "请输入姓名"
218
- }
219
- }
220
- }
221
- },
222
- {
223
- type: "a-col",
224
- props: {
225
- span: 6
226
- },
227
- body: {
228
- type: "a-form-item",
229
- props: {
230
- label: "姓名",
231
- name: "name"
232
- },
233
- body: {
234
- type: "a-input",
235
- props: {
236
- name: "name",
237
- placeholder: "请输入姓名"
238
- }
239
- }
240
- }
241
- },
242
- {
243
- type: "a-col",
244
- props: {
245
- span: 6
246
- },
247
- body: {
248
- type: "a-form-item",
249
- props: {
250
- label: "申报日期",
251
- name: "date"
252
- },
253
- body: {
254
- type: "d-range-picker",
255
- props: {
256
- value: formState,
257
- field: ["to", "from"]
258
- }
259
- }
260
- }
261
- }
262
- ];
263
-
264
- const onQuery = () => {
265
- console.log("22");
7
+ // const formState = ref({
8
+ // name: "",
9
+ // to: "",
10
+ // from: ""
11
+ // });
12
+ //
13
+ // onBeforeUnmount(() => {
14
+ // console.log("onBeforeUnmount");
15
+ // });
16
+ //
17
+ // onDeactivated(() => {
18
+ // console.log("222");
19
+ // });
20
+ //
21
+ // const scheme = [
22
+ // {
23
+ // type: "a-col",
24
+ // props: {
25
+ // span: 6
26
+ // },
27
+ // body: {
28
+ // type: "a-form-item",
29
+ // props: {
30
+ // label: "姓名",
31
+ // name: "name"
32
+ // },
33
+ // body: {
34
+ // type: "a-input",
35
+ // props: {
36
+ // name: "name",
37
+ // placeholder: "请输入姓名"
38
+ // }
39
+ // }
40
+ // }
41
+ // },
42
+ // {
43
+ // type: "a-col",
44
+ // props: {
45
+ // span: 6
46
+ // },
47
+ // body: {
48
+ // type: "a-form-item",
49
+ // props: {
50
+ // label: "姓名",
51
+ // name: "name"
52
+ // },
53
+ // body: {
54
+ // type: "a-input",
55
+ // props: {
56
+ // name: "name",
57
+ // placeholder: "请输入姓名"
58
+ // }
59
+ // }
60
+ // }
61
+ // },
62
+ // {
63
+ // type: "a-col",
64
+ // props: {
65
+ // span: 6
66
+ // },
67
+ // body: {
68
+ // type: "a-form-item",
69
+ // props: {
70
+ // label: "姓名",
71
+ // name: "name"
72
+ // },
73
+ // body: {
74
+ // type: "a-input",
75
+ // props: {
76
+ // name: "name",
77
+ // placeholder: "请输入姓名"
78
+ // }
79
+ // }
80
+ // }
81
+ // },
82
+ // {
83
+ // type: "a-col",
84
+ // props: {
85
+ // span: 6
86
+ // },
87
+ // body: {
88
+ // type: "a-form-item",
89
+ // props: {
90
+ // label: "姓名",
91
+ // name: "name"
92
+ // },
93
+ // body: {
94
+ // type: "a-input",
95
+ // props: {
96
+ // name: "name",
97
+ // placeholder: "请输入姓名"
98
+ // }
99
+ // }
100
+ // }
101
+ // },
102
+ // {
103
+ // type: "a-col",
104
+ // props: {
105
+ // span: 6
106
+ // },
107
+ // body: {
108
+ // type: "a-form-item",
109
+ // props: {
110
+ // label: "姓名",
111
+ // name: "name"
112
+ // },
113
+ // body: {
114
+ // type: "a-input",
115
+ // props: {
116
+ // name: "name",
117
+ // placeholder: "请输入姓名"
118
+ // }
119
+ // }
120
+ // }
121
+ // },
122
+ // {
123
+ // type: "a-col",
124
+ // props: {
125
+ // span: 6
126
+ // },
127
+ // body: {
128
+ // type: "a-form-item",
129
+ // props: {
130
+ // label: "姓名",
131
+ // name: "name"
132
+ // },
133
+ // body: {
134
+ // type: "a-input",
135
+ // props: {
136
+ // name: "name",
137
+ // placeholder: "请输入姓名"
138
+ // }
139
+ // }
140
+ // }
141
+ // },
142
+ // {
143
+ // type: "a-col",
144
+ // props: {
145
+ // span: 6
146
+ // },
147
+ // body: {
148
+ // type: "a-form-item",
149
+ // props: {
150
+ // label: "姓名",
151
+ // name: "name"
152
+ // },
153
+ // body: {
154
+ // type: "a-input",
155
+ // props: {
156
+ // name: "name",
157
+ // placeholder: "请输入姓名"
158
+ // }
159
+ // }
160
+ // }
161
+ // },
162
+ // {
163
+ // type: "a-col",
164
+ // props: {
165
+ // span: 6
166
+ // },
167
+ // body: {
168
+ // type: "a-form-item",
169
+ // props: {
170
+ // label: "姓名",
171
+ // name: "name"
172
+ // },
173
+ // body: {
174
+ // type: "a-input",
175
+ // props: {
176
+ // name: "name",
177
+ // placeholder: "请输入姓名"
178
+ // }
179
+ // }
180
+ // }
181
+ // },
182
+ // {
183
+ // type: "a-col",
184
+ // props: {
185
+ // span: 6
186
+ // },
187
+ // body: {
188
+ // type: "a-form-item",
189
+ // props: {
190
+ // label: "姓名",
191
+ // name: "name"
192
+ // },
193
+ // body: {
194
+ // type: "a-input",
195
+ // props: {
196
+ // name: "name",
197
+ // placeholder: "请输入姓名"
198
+ // }
199
+ // }
200
+ // }
201
+ // },
202
+ // {
203
+ // type: "a-col",
204
+ // props: {
205
+ // span: 6
206
+ // },
207
+ // body: {
208
+ // type: "a-form-item",
209
+ // props: {
210
+ // label: "姓名",
211
+ // name: "name"
212
+ // },
213
+ // body: {
214
+ // type: "a-input",
215
+ // props: {
216
+ // name: "name",
217
+ // placeholder: "请输入姓名"
218
+ // }
219
+ // }
220
+ // }
221
+ // },
222
+ // {
223
+ // type: "a-col",
224
+ // props: {
225
+ // span: 6
226
+ // },
227
+ // body: {
228
+ // type: "a-form-item",
229
+ // props: {
230
+ // label: "姓名",
231
+ // name: "name"
232
+ // },
233
+ // body: {
234
+ // type: "a-input",
235
+ // props: {
236
+ // name: "name",
237
+ // placeholder: "请输入姓名"
238
+ // }
239
+ // }
240
+ // }
241
+ // },
242
+ // {
243
+ // type: "a-col",
244
+ // props: {
245
+ // span: 6
246
+ // },
247
+ // body: {
248
+ // type: "a-form-item",
249
+ // props: {
250
+ // label: "申报日期",
251
+ // name: "date"
252
+ // },
253
+ // body: {
254
+ // type: "d-range-picker",
255
+ // props: {
256
+ // value: formState,
257
+ // field: ["to", "from"]
258
+ // }
259
+ // }
260
+ // }
261
+ // }
262
+ // ];
263
+ //
264
+ // const onQuery = () => {
265
+ // console.log("22");
266
+ // };
267
+ //
268
+ // const queryParams = ref({ from: "", to: "" });
269
+ //
270
+ // setTimeout(() => {
271
+ // queryParams.value.from = "2023-02-04";
272
+ // queryParams.value.to = "2023-05-06";
273
+ // }, 3000);
274
+ const addFormRef = ref();
275
+ const showLayoutRef = ref();
276
+ const onSubmit = async () => {
277
+ await addFormRef.value.validate();
278
+ showLayoutRef.value.closePage();
266
279
  };
267
-
268
- const queryParams = ref({ from: "", to: "" });
269
-
270
- setTimeout(() => {
271
- queryParams.value.from = "2023-02-04";
272
- queryParams.value.to = "2023-05-06";
273
- }, 3000);
274
280
  </script>
275
281
  <script lang="ts">
276
282
  export default {
@@ -278,24 +284,12 @@ export default {
278
284
  };
279
285
  </script>
280
286
  <template>
281
- <d-table
282
- v-model:keys="selectedRowKeys"
283
- row-key="id"
284
- :loading="loading"
285
- :expanded-row-keys="['1', '2']"
286
- :data="data"
287
- :config="config"
288
- :height="400"
289
- @change="
290
- () => {
291
- console.log('change');
292
- }
293
- "
294
- >
295
- <template #action>
296
- <a-button>ok</a-button>
287
+ <d-show-layout ref="showLayoutRef">
288
+ <add-form ref="addFormRef" />
289
+ <template #footer>
290
+ <a-button @click="onSubmit">提交</a-button>
297
291
  </template>
298
- </d-table>
292
+ </d-show-layout>
299
293
  </template>
300
294
  <style lang="scss">
301
295
  @mixin rowEdit {
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { ref, onDeactivated, onBeforeUnmount } from "vue";
2
+ import { ref, onDeactivated, onBeforeUnmount, onActivated } from "vue";
3
3
  import { useTable } from "./hooks";
4
4
 
5
5
  const { data, loading, config, selectedRowKeys } = useTable();
@@ -17,6 +17,9 @@ onBeforeUnmount(() => {
17
17
  onDeactivated(() => {
18
18
  console.log("222");
19
19
  });
20
+ onActivated(() => {
21
+ console.log("onActivated");
22
+ });
20
23
 
21
24
  const scheme = [
22
25
  {
@@ -271,6 +274,11 @@ setTimeout(() => {
271
274
  queryParams.value.from = "2023-02-04";
272
275
  queryParams.value.to = "2023-05-06";
273
276
  }, 200);
277
+
278
+ const customHeaderCell = (columns: any) => {
279
+ console.log(columns);
280
+ return "ddd";
281
+ };
274
282
  </script>
275
283
  <script lang="ts">
276
284
  export default {
@@ -278,13 +286,18 @@ export default {
278
286
  };
279
287
  </script>
280
288
  <template>
281
- <d-list-layout>
289
+ <d-list-layout @refresh="onQuery">
282
290
  <template #form>
283
291
  <d-query-form :value="formState" :scheme="scheme" @query="onQuery">
284
292
  </d-query-form>
285
293
  {{ queryParams }}
286
294
  <d-range-picker v-model:value="queryParams" :field="['from', 'to']" />
287
295
  </template>
296
+ <template #tools>
297
+ <router-link :to="{ name: 'Add' }">
298
+ <a-button>添加</a-button>
299
+ </router-link>
300
+ </template>
288
301
  <template #table="{ height }">
289
302
  <d-table
290
303
  v-model:keys="selectedRowKeys"
@@ -294,6 +307,7 @@ export default {
294
307
  :data="data"
295
308
  :config="config"
296
309
  :height="height"
310
+ :custom-header-cell="customHeaderCell"
297
311
  @change="
298
312
  () => {
299
313
  console.log('change');
@@ -0,0 +1,44 @@
1
+ <script setup lang="ts">
2
+ import { ref } from "vue";
3
+ const formState = ref({
4
+ code: ""
5
+ });
6
+ const rules = {
7
+ code: [
8
+ {
9
+ required: true
10
+ }
11
+ ]
12
+ };
13
+ const formRef = ref();
14
+ const validate = () => {
15
+ return new Promise<void>((resolve, reject) => {
16
+ formRef.value?.validate().then(() => {
17
+ resolve();
18
+ });
19
+ });
20
+ };
21
+
22
+ const onSearch = () => {};
23
+
24
+ defineExpose({
25
+ validate
26
+ });
27
+ </script>
28
+
29
+ <template>
30
+ <div>
31
+ <a-form ref="formRef" :model="formState" :rules="rules">
32
+ 32432
33
+ <a-form-item label="商品编码" name="code">
34
+ <a-input v-model:value="formState.code" allow-clear>
35
+ <template #suffix>
36
+ <search-outlined type="user" @click="onSearch" />
37
+ </template>
38
+ </a-input>
39
+ </a-form-item>
40
+ </a-form>
41
+ </div>
42
+ </template>
43
+
44
+ <style scoped></style>