@shisyamo4131/air-guard-v2-schemas 2.4.2-dev.68 → 2.4.2-dev.69

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,867 +1,48 @@
1
- import {
2
- VALUES as ARRANGEMENT_NOTIFICATION_STATUS_VALUES,
3
- OPTIONS as ARRANGEMENT_NOTIFICATION_STATUS_OPTIONS,
4
- } from "../constants/arrangement-notification-status.js";
5
- import {
6
- VALUES as BILLING_UNIT_TYPE_VALUES,
7
- OPTIONS as BILLING_UNIT_TYPE_OPTIONS,
8
- } from "../constants/billing-unit-type.js";
9
- import {
10
- VALUES as BLOOD_TYPE_VALUES,
11
- OPTIONS as BLOOD_TYPE_OPTIONS,
12
- } from "../constants/blood-type.js";
13
- import {
14
- VALUES as CERTIFICATION_TYPE_VALUES,
15
- OPTIONS as CERTIFICATION_TYPE_OPTIONS,
16
- } from "../constants/certification-type.js";
17
- import {
18
- VALUES as CONTRACT_STATUS_VALUES,
19
- OPTIONS as CONTRACT_STATUS_OPTIONS,
20
- } from "../constants/contract-status.js";
21
- import {
22
- OPTIONS as DAY_TYPE_OPTIONS,
23
- VALUES as DAY_TYPE_VALUES,
24
- } from "../constants/day-type.js";
25
- import {
26
- VALUES as EMERGENCY_CONTACT_RELATION_VALUES,
27
- OPTIONS as EMERGENCY_CONTACT_RELATION_OPTIONS,
28
- } from "../constants/emergency-contact-relation.js";
29
- import {
30
- VALUES as EMPLOYMENT_STATUS_VALUES,
31
- OPTIONS as EMPLOYMENT_STATUS_OPTIONS,
32
- } from "../constants/employment-status.js";
33
- import {
34
- VALUES as GENDER_VALUES,
35
- OPTIONS as GENDER_OPTIONS,
36
- } from "../constants/gender.js";
37
- import {
38
- VALUES as INSURANCE_STATUS_VALUES,
39
- OPTIONS as INSURANCE_STATUS_OPTIONS,
40
- } from "../constants/insurance-status.js";
41
- import { OPTIONS as PREFECTURES_OPTIONS } from "../constants/prefectures.js";
42
- import {
43
- VALUES as PAYMENT_MONTH_VALUES,
44
- OPTIONS as PAYMENT_MONTH_OPTIONS,
45
- } from "../constants/payment-month.js";
46
- import {
47
- VALUES as SHIFT_TYPE_VALUES,
48
- OPTIONS as SHIFT_TYPE_OPTIONS,
49
- } from "../constants/shift-type.js";
50
- import {
51
- VALUES as SITE_STATUS_VALUES,
52
- OPTIONS as SITE_STATUS_OPTIONS,
53
- } from "../constants/site-status.js";
54
- import CutoffDate from "../utils/CutoffDate.js";
55
- import { VALIDATION_ERRORS } from "../errorDefinitions.js";
56
-
57
- export const DEFAULT_WORKING_MINUTES = 480;
58
- export const DEFAULT_BREAK_MINUTES = 60;
59
- export const MINUTES_PER_HOUR = 60;
60
- export const MINUTES_PER_QUARTER_HOUR = 15;
61
- export const MAX_SCHEDULED_WORKING_MINUTES = 480; // 8時間 * 60分
62
-
63
1
  /**
64
- * フィールド定義のデフォルト値
65
- * - `air-firebase` が提供する `FireModel (BaseClass)` において、クラスが保有するフィールドの定義および値の検証に使用されます。
66
- * - `component` プロパティは `air-vuetify` の入力コンポーネント生成の為の属性として使用されます。
67
- * 但し、required, label, hidden, length は入力コンポーネントの属性としても使用されます。
68
- * - `validator` の返り値は原則オブジェクトです。文字列を返すこともでき、その文字列がエラーメッセージとして扱われますが多言語対応のためには
69
- * オブジェクトを返すことを推奨します。
70
- * 返り値が true/false の場合は、従来通りのバリデーション結果として扱われます。
71
- * @key {String|Number|Boolean|Object|Array|Date} type - データの型
72
- * @key {any} default - 既定値
73
- * @key {String} label - フィールドのラベル
74
- * @key {Number} length - 入力可能な最大文字数(文字列型の場合)
75
- * @key {Boolean} required - 入力必須かどうか
76
- * @key {Boolean} hidden - フィールドをUI上で非表示にするかどうか
77
- * @key {Function} validator - フィールドの値を検証する関数。引数に値を取り、エラーメッセージを返すか、true/falseで検証結果を返す。
78
- * @key {Object} component - フィールドに対応するUIコンポーネントの定義
79
- * @key {String} component.name - 使用するコンポーネントの名前(AirVuetifyコンポーネントのみ指定可能)
80
- * @key {Object} component.attrs - コンポーネントに渡す属性の定義
2
+ * フィールド定義
3
+ * - 型ごとにファイル分割されたフィールド定義をインポートしてマージします。
81
4
  */
82
- const defaultDefinition = {
83
- type: String,
84
- default: null,
85
- label: undefined,
86
- length: undefined,
87
- required: undefined,
88
- hidden: undefined,
89
- validator: undefined,
90
- component: {
91
- name: undefined,
92
- attrs: {},
93
- },
94
- };
95
5
 
96
- /** 汎用パーツ */
97
- const generalDefinitions = {
98
- array: {
99
- ...defaultDefinition,
100
- type: Array,
101
- default: () => [],
102
- component: { name: "air-select", attrs: { multiple: true } },
103
- },
104
- check: {
105
- ...defaultDefinition,
106
- type: Boolean,
107
- default: false,
108
- component: { name: "air-checkbox", attrs: {} },
109
- },
110
- code: {
111
- ...defaultDefinition,
112
- length: 10,
113
- component: { name: "air-text-field", attrs: { inputType: "alphanumeric" } },
114
- },
115
- // 日付(00時固定としたDateオブジェクトとして使用する)
116
- dateAt: {
117
- ...defaultDefinition,
118
- type: Object,
119
- label: "日付",
120
- default: () => {
121
- const date = new Date();
122
- date.setHours(0, 0, 0, 0);
123
- return date;
124
- },
125
- component: {
126
- name: "air-date-input",
127
- },
128
- },
129
- // 日時(時刻までを含んだDateオブジェクト)
130
- dateTimeAt: {
131
- ...defaultDefinition,
132
- type: Object,
133
- label: "日時",
134
- default: null,
135
- component: { name: "air-date-time-picker-input", attrs: {} },
136
- },
137
- multipleLine: {
138
- ...defaultDefinition,
139
- length: 200,
140
- component: {
141
- name: "air-textarea",
142
- attrs: { counter: true, maxlength: 200 },
143
- },
144
- },
145
- number: {
146
- ...defaultDefinition,
147
- type: Number,
148
- component: {
149
- name: "air-number-input",
150
- attrs: {
151
- controlVariant: "split",
152
- },
153
- },
154
- },
155
- object: {
156
- ...defaultDefinition,
157
- type: Object,
158
- component: { name: "air-select" }, // `AirTextField` that is used as default ui component could not handle object type.
159
- },
160
- oneLine: {
161
- ...defaultDefinition,
162
- component: { name: "air-text-field", attrs: {} },
163
- },
164
- radio: {
165
- ...defaultDefinition,
166
- component: { name: "air-radio-group", attrs: {} },
167
- },
168
- select: {
169
- ...defaultDefinition,
170
- component: { name: "air-select", attrs: {} },
171
- },
172
- // 時刻文字列
173
- time: {
174
- ...defaultDefinition,
175
- label: "時刻",
176
- component: {
177
- name: "air-time-picker-input",
178
- },
179
- },
180
- };
6
+ // 定数のインポート
7
+ export {
8
+ DEFAULT_WORKING_MINUTES,
9
+ DEFAULT_BREAK_MINUTES,
10
+ MINUTES_PER_HOUR,
11
+ MINUTES_PER_QUARTER_HOUR,
12
+ MAX_SCHEDULED_WORKING_MINUTES,
13
+ } from "./fieldDefinitions/constants.js";
14
+
15
+ // defaultDefinition のインポート
16
+ import { defaultDefinition } from "./fieldDefinitions/defaultDefinition.js";
17
+
18
+ // 型ごとのフィールド定義をインポート
19
+ import { arrayFields } from "./fieldDefinitions/array.js";
20
+ import { checkFields } from "./fieldDefinitions/check.js";
21
+ import { codeFields } from "./fieldDefinitions/code.js";
22
+ import { dateAtFields } from "./fieldDefinitions/dateAt.js";
23
+ import { dateTimeAtFields } from "./fieldDefinitions/dateTimeAt.js";
24
+ import { multipleLineFields } from "./fieldDefinitions/multipleLine.js";
25
+ import { numberFields } from "./fieldDefinitions/number.js";
26
+ import { objectFields } from "./fieldDefinitions/object.js";
27
+ import { oneLineFields } from "./fieldDefinitions/oneLine.js";
28
+ import { radioFields } from "./fieldDefinitions/radio.js";
29
+ import { selectFields } from "./fieldDefinitions/select.js";
30
+ import { timeFields } from "./fieldDefinitions/time.js";
181
31
 
182
32
  /** カスタムパーツ(汎用パーツ含む) */
183
33
  export const fieldDefinitions = {
184
- /*****************************************************************************
185
- * ARRAY
186
- *****************************************************************************/
187
- array: generalDefinitions.array,
188
-
189
- /*****************************************************************************
190
- * CHECK
191
- *****************************************************************************/
192
- check: generalDefinitions.check,
193
- hasPeriodOfStayLimit: {
194
- ...generalDefinitions.check,
195
- label: "在留期間制限",
196
- },
197
- hasWorkRestrictions: {
198
- ...generalDefinitions.check,
199
- label: "就労制限",
200
- },
201
- isForeigner: {
202
- ...generalDefinitions.check,
203
- label: "外国籍",
204
- },
205
-
206
- /*****************************************************************************
207
- * CODE
208
- *****************************************************************************/
209
- code: generalDefinitions.code,
210
-
211
- /*****************************************************************************
212
- * DATE AT
213
- *****************************************************************************/
214
- dateAt: generalDefinitions.dateAt,
215
- dateOfBirth: {
216
- ...generalDefinitions.dateAt,
217
- label: "生年月日",
218
- default: null, // 2025-12-26 Set default to null
219
- component: {
220
- ...generalDefinitions.dateAt.component,
221
- attrs: {
222
- viewMode: "year", // 2025-12-26 Added
223
- },
224
- },
225
- },
226
- dateOfHire: {
227
- ...generalDefinitions.dateAt,
228
- label: "入社日",
229
- },
230
- // 2025-12-26 Added
231
- dateOfSecurityGuardRegistration: {
232
- ...generalDefinitions.dateAt,
233
- label: "警備員登録日",
234
- default: null,
235
- },
236
- dateOfTermination: {
237
- ...generalDefinitions.dateAt,
238
- label: "退職日",
239
- default: null, // 2025-12-26 Set default to null
240
- },
241
- enrollmentDateAt: {
242
- ...generalDefinitions.dateAt,
243
- label: "資格取得日",
244
- default: null,
245
- },
246
- // 2025-12-26 Added
247
- expirationDateAt: {
248
- ...generalDefinitions.dateAt,
249
- label: "有効期限",
250
- default: null,
251
- },
252
- issueDateAt: {
253
- ...generalDefinitions.dateAt,
254
- label: "取得日",
255
- },
256
- lossDateAt: {
257
- ...generalDefinitions.dateAt,
258
- label: "資格喪失日",
259
- default: null,
260
- },
261
- periodOfStay: {
262
- ...generalDefinitions.dateAt,
263
- label: "在留期間満了日",
264
- },
265
- /** dateTimeAt */
266
- dateTimeAt: generalDefinitions.dateTimeAt,
267
- /** multiple-line */
268
- multipleLine: generalDefinitions.multipleLine,
269
- remarks: {
270
- ...generalDefinitions.multipleLine,
271
- label: "備考",
272
- },
273
-
274
- /*****************************************************************************
275
- * NUMBER
276
- *****************************************************************************/
277
- number: generalDefinitions.number,
278
- breakMinutes: {
279
- ...generalDefinitions.number,
280
- label: "休憩時間(分)",
281
- default: DEFAULT_BREAK_MINUTES,
282
- validator: (v) => {
283
- if (v < 0) {
284
- return VALIDATION_ERRORS.MIN_VALUE_ERROR(0);
285
- }
286
- return true;
287
- },
288
- component: {
289
- ...generalDefinitions.number.component,
290
- attrs: {
291
- ...generalDefinitions.number.component.attrs,
292
- min: 0,
293
- },
294
- },
295
- },
296
- overtimeWorkMinutes: {
297
- ...generalDefinitions.number,
298
- label: "残業時間(分)",
299
- default: 0,
300
- validator: (v) => {
301
- if (v < 0) {
302
- return VALIDATION_ERRORS.MIN_VALUE_ERROR(0);
303
- }
304
- return true;
305
- },
306
- component: {
307
- ...generalDefinitions.number.component,
308
- attrs: {
309
- ...generalDefinitions.number.component.attrs,
310
- min: 0,
311
- },
312
- },
313
- },
314
- regulationWorkMinutes: {
315
- ...generalDefinitions.number,
316
- label: "規定実働時間(分)",
317
- default: DEFAULT_WORKING_MINUTES,
318
- validator: (v) => {
319
- if (v < 0) {
320
- return VALIDATION_ERRORS.MIN_VALUE_ERROR(0);
321
- }
322
- return true;
323
- },
324
- component: {
325
- ...generalDefinitions.number.component,
326
- attrs: {
327
- ...generalDefinitions.number.component.attrs,
328
- min: 0,
329
- persistentHint: true,
330
- hint: "この時間を超えると残業扱いになります。",
331
- },
332
- },
333
- },
334
- price: {
335
- ...generalDefinitions.number,
336
- },
337
-
338
- /*****************************************************************************
339
- * ONE LINE
340
- *****************************************************************************/
341
- oneLine: generalDefinitions.oneLine,
342
- abbreviation: {
343
- ...generalDefinitions.oneLine,
344
- label: "略称",
345
- length: 20,
346
- },
347
- address: {
348
- ...generalDefinitions.oneLine,
349
- label: "町域名・番地",
350
- length: 30,
351
- },
352
- branchName: {
353
- ...generalDefinitions.oneLine,
354
- label: "支店名など",
355
- length: 20,
356
- },
357
- building: {
358
- ...generalDefinitions.oneLine,
359
- label: "建物名・階数",
360
- length: 30,
361
- },
362
- city: {
363
- ...generalDefinitions.oneLine,
364
- label: "市区町村",
365
- length: 20,
366
- },
367
- companyName: {
368
- ...generalDefinitions.oneLine,
369
- label: "会社名",
370
- length: 20,
371
- },
372
- companyNameKana: {
373
- ...generalDefinitions.oneLine,
374
- label: "会社名(カナ)",
375
- length: 40,
376
- component: {
377
- name: generalDefinitions.oneLine.component.name,
378
- attrs: {
379
- inputType: "katakana",
380
- },
381
- },
382
- },
383
- customerId: {
384
- ...generalDefinitions.oneLine,
385
- label: "取引先",
386
- // アプリ側で `useFetchXxxx` コンポーザブルを使用するため
387
- // 使用するクラス側で api 関連の設定は不要。
388
- component: {
389
- name: "air-autocomplete-api",
390
- attrs: {
391
- itemValue: "docId",
392
- itemTitle: "name",
393
- noFilter: true,
394
- },
395
- },
396
- },
397
-
398
- /**
399
- * 取引先名
400
- * - 2文字以上最大20文字
401
- */
402
- customerName: {
403
- ...generalDefinitions.oneLine,
404
- label: "取引先名",
405
- length: 20,
406
- component: {
407
- name: generalDefinitions.oneLine.component.name,
408
- attrs: { minLength: 2 },
409
- },
410
- },
411
-
412
- displayName: {
413
- ...generalDefinitions.oneLine,
414
- label: "表示名",
415
- length: 6,
416
- },
417
- domicile: {
418
- ...generalDefinitions.oneLine,
419
- label: "本籍地",
420
- length: 50,
421
- },
422
- email: {
423
- ...generalDefinitions.oneLine,
424
- label: "email",
425
- length: 50,
426
- component: {
427
- name: generalDefinitions.oneLine.component.name,
428
- attrs: {
429
- inputType: "email",
430
- inputmode: "email",
431
- },
432
- },
433
- },
434
- emergencyContactAddress: {
435
- ...generalDefinitions.oneLine,
436
- label: "緊急連絡先住所",
437
- length: 50,
438
- },
439
- emergencyContactName: {
440
- ...generalDefinitions.oneLine,
441
- label: "緊急連絡先氏名",
442
- length: 20,
443
- },
444
- emergencyContactRelationDetail: {
445
- ...generalDefinitions.oneLine,
446
- label: "緊急連絡先続柄詳細",
447
- length: 20,
448
- },
449
- emergencyContactPhone: {
450
- ...generalDefinitions.oneLine,
451
- label: "緊急連絡先電話番号",
452
- length: 13,
453
- component: {
454
- name: generalDefinitions.oneLine.component.name,
455
- attrs: {
456
- counter: true,
457
- inputType: "tel",
458
- inputmode: "tel",
459
- },
460
- },
461
- },
462
- fax: {
463
- ...generalDefinitions.oneLine,
464
- label: "FAX番号",
465
- length: 13,
466
- component: {
467
- name: generalDefinitions.oneLine.component.name,
468
- attrs: {
469
- counter: true,
470
- inputType: "tel",
471
- inputmode: "tel",
472
- },
473
- },
474
- },
475
- firstName: {
476
- ...generalDefinitions.oneLine,
477
- label: "名",
478
- length: 20,
479
- },
480
- firstNameKana: {
481
- ...generalDefinitions.oneLine,
482
- label: "メイ",
483
- length: 40,
484
- component: {
485
- name: generalDefinitions.oneLine.component.name,
486
- attrs: {
487
- inputType: "katakana",
488
- },
489
- },
490
- },
491
- foreignName: {
492
- ...generalDefinitions.oneLine,
493
- label: "本名",
494
- length: 50,
495
- component: {
496
- name: generalDefinitions.oneLine.component.name,
497
- attrs: {
498
- hint: "パスポート等の表記をご入力ください。",
499
- persistentHint: true,
500
- },
501
- },
502
- },
503
- insuranceNumber: {
504
- ...generalDefinitions.oneLine,
505
- label: "被保険者番号(整理記号)",
506
- length: 20,
507
- },
508
- // 2025-12-26 Added
509
- issuedBy: {
510
- ...generalDefinitions.oneLine,
511
- label: "発行元",
512
- length: 20,
513
- },
514
- lastName: {
515
- ...generalDefinitions.oneLine,
516
- label: "姓",
517
- length: 20,
518
- },
519
- lastNameKana: {
520
- ...generalDefinitions.oneLine,
521
- label: "セイ",
522
- length: 40,
523
- component: {
524
- name: generalDefinitions.oneLine.component.name,
525
- attrs: {
526
- inputType: "katakana",
527
- },
528
- },
529
- },
530
- lossReason: {
531
- ...generalDefinitions.oneLine,
532
- label: "喪失理由",
533
- length: 40,
534
- },
535
- mobile: {
536
- ...generalDefinitions.oneLine,
537
- label: "携帯電話",
538
- length: 13,
539
- component: {
540
- name: generalDefinitions.oneLine.component.name,
541
- attrs: {
542
- counter: true,
543
- inputType: "tel",
544
- inputmode: "tel",
545
- },
546
- },
547
- },
548
- name: {
549
- ...generalDefinitions.oneLine,
550
- label: "名前",
551
- length: 20,
552
- },
553
- nameKana: {
554
- ...generalDefinitions.oneLine,
555
- label: "名前(カナ)",
556
- length: 40,
557
- component: {
558
- name: generalDefinitions.oneLine.component.name,
559
- attrs: {
560
- inputType: "katakana",
561
- },
562
- },
563
- },
564
- nationality: {
565
- ...generalDefinitions.oneLine,
566
- label: "国籍",
567
- length: 50,
568
- },
569
- residenceStatus: {
570
- ...generalDefinitions.oneLine,
571
- label: "在留資格",
572
- length: 10,
573
- },
574
- reasonOfTermination: {
575
- ...generalDefinitions.oneLine,
576
- label: "退職理由",
577
- length: 20,
578
- },
579
- // 2025-12-26 Added
580
- serialNumber: {
581
- ...generalDefinitions.oneLine,
582
- label: "証明書番号",
583
- length: 20,
584
- },
585
- siteId: {
586
- ...generalDefinitions.oneLine,
587
- label: "現場",
588
- component: {
589
- name: "air-autocomplete-api",
590
- attrs: {
591
- itemValue: "docId",
592
- itemTitle: "name",
593
- noFilter: true,
594
- },
595
- },
596
- },
597
- tel: {
598
- ...generalDefinitions.oneLine,
599
- label: "電話番号",
600
- length: 13,
601
- component: {
602
- name: generalDefinitions.oneLine.component.name,
603
- attrs: {
604
- counter: true,
605
- inputType: "tel",
606
- inputmode: "tel",
607
- },
608
- },
609
- },
610
- title: {
611
- ...generalDefinitions.oneLine,
612
- label: "肩書",
613
- length: 20,
614
- },
615
- workDescription: {
616
- ...generalDefinitions.oneLine,
617
- label: "作業内容",
618
- length: 20,
619
- },
620
- zipcode: {
621
- ...generalDefinitions.oneLine,
622
- default: null,
623
- label: "郵便番号",
624
- component: {
625
- name: "air-postal-code",
626
- attrs: {
627
- counter: true,
628
- inputType: "zipcode",
629
- "onUpdate:address": ({ item, updateProperties }) => {
630
- return (result) => {
631
- updateProperties({
632
- prefCode: result.prefcode,
633
- prefecture: result.address1,
634
- city: result.address2,
635
- address: result.address3,
636
- });
637
- };
638
- },
639
- },
640
- },
641
- },
642
-
643
- /*****************************************************************************
644
- * OBJECT
645
- *****************************************************************************/
646
- object: generalDefinitions.object,
647
-
648
- customer: {
649
- ...generalDefinitions.object,
650
- label: "取引先",
651
- component: {
652
- name: "air-autocomplete-api",
653
- attrs: {
654
- cacheItems: true,
655
- clearable: true,
656
- itemTitle: "name",
657
- itemValue: "docId",
658
- returnObject: true,
659
- },
660
- },
661
- },
662
- employmentInsurance: {
663
- ...generalDefinitions.object,
664
- label: "雇用保険",
665
- },
666
- location: {
667
- ...generalDefinitions.object,
668
- hidden: true,
669
- },
670
-
671
- /*****************************************************************************
672
- * RADIO
673
- *****************************************************************************/
674
- radio: generalDefinitions.radio,
675
-
676
- /*****************************************************************************
677
- * SELECT
678
- *****************************************************************************/
679
- select: generalDefinitions.select,
680
- arrangementNotificationStatus: {
681
- ...generalDefinitions.select,
682
- default: ARRANGEMENT_NOTIFICATION_STATUS_VALUES.ARRANGED.value,
683
- label: "状態",
684
- component: {
685
- name: generalDefinitions.select.component.name,
686
- attrs: {
687
- items: ARRANGEMENT_NOTIFICATION_STATUS_OPTIONS,
688
- },
689
- },
690
- },
691
- /** 請求単位 */
692
- billingUnitType: {
693
- ...generalDefinitions.select,
694
- default: BILLING_UNIT_TYPE_VALUES.PER_DAY.value,
695
- label: "請求単位",
696
- component: {
697
- name: generalDefinitions.select.component.name,
698
- attrs: {
699
- items: BILLING_UNIT_TYPE_OPTIONS,
700
- },
701
- },
702
- },
703
- bloodType: {
704
- ...generalDefinitions.select,
705
- label: "血液型",
706
- default: BLOOD_TYPE_VALUES.A.value,
707
- component: {
708
- name: generalDefinitions.select.component.name,
709
- attrs: {
710
- items: BLOOD_TYPE_OPTIONS,
711
- },
712
- },
713
- },
714
- certificationType: {
715
- ...generalDefinitions.select,
716
- label: "資格種別",
717
- default: null,
718
- component: {
719
- name: generalDefinitions.select.component.name,
720
- attrs: {
721
- items: CERTIFICATION_TYPE_OPTIONS,
722
- },
723
- },
724
- },
725
- // contractStatus -> Used in Customer.js and Outsourcer.js
726
- contractStatus: {
727
- ...generalDefinitions.select,
728
- default: CONTRACT_STATUS_VALUES.ACTIVE.value,
729
- label: "契約状態",
730
- component: {
731
- name: generalDefinitions.select.component.name,
732
- attrs: {
733
- items: CONTRACT_STATUS_OPTIONS,
734
- },
735
- },
736
- },
737
- cutoffDate: {
738
- ...generalDefinitions.select,
739
- default: CutoffDate.VALUES[0].value,
740
- label: "締日",
741
- component: {
742
- name: generalDefinitions.select.component.name,
743
- attrs: {
744
- items: CutoffDate.OPTIONS,
745
- },
746
- },
747
- },
748
- dayType: {
749
- ...generalDefinitions.select,
750
- default: DAY_TYPE_VALUES.WEEKDAY.value,
751
- label: "曜日区分",
752
- component: {
753
- name: generalDefinitions.select.component.name,
754
- attrs: {
755
- items: DAY_TYPE_OPTIONS,
756
- },
757
- },
758
- },
759
- emergencyContactRelation: {
760
- ...generalDefinitions.select,
761
- default: EMERGENCY_CONTACT_RELATION_VALUES.PARENT.value,
762
- label: "緊急連絡先続柄",
763
- component: {
764
- name: generalDefinitions.select.component.name,
765
- attrs: {
766
- items: EMERGENCY_CONTACT_RELATION_OPTIONS,
767
- },
768
- },
769
- },
770
- employmentStatus: {
771
- ...generalDefinitions.select,
772
- default: EMPLOYMENT_STATUS_VALUES.ACTIVE.value,
773
- label: "雇用状態",
774
- component: {
775
- name: generalDefinitions.select.component.name,
776
- attrs: {
777
- items: EMPLOYMENT_STATUS_OPTIONS,
778
- },
779
- },
780
- },
781
- gender: {
782
- ...generalDefinitions.select,
783
- default: GENDER_VALUES.MALE.value,
784
- label: "性別",
785
- component: {
786
- name: generalDefinitions.select.component.name,
787
- attrs: {
788
- items: GENDER_OPTIONS,
789
- },
790
- },
791
- },
792
- insuranceStatus: {
793
- ...generalDefinitions.select,
794
- default: INSURANCE_STATUS_VALUES.NOT_ENROLLED.value,
795
- label: "保険状態",
796
- component: {
797
- name: generalDefinitions.select.component.name,
798
- attrs: {
799
- items: INSURANCE_STATUS_OPTIONS,
800
- },
801
- },
802
- },
803
- paymentDate: {
804
- ...generalDefinitions.select,
805
- default: CutoffDate.VALUES[0].value,
806
- label: "入金サイト(日)",
807
- component: {
808
- name: generalDefinitions.select.component.name,
809
- attrs: {
810
- items: CutoffDate.OPTIONS,
811
- },
812
- },
813
- },
814
- paymentMonth: {
815
- ...generalDefinitions.select,
816
- default: PAYMENT_MONTH_VALUES[1].value,
817
- label: "入金サイト(月数)",
818
- component: {
819
- name: generalDefinitions.select.component.name,
820
- attrs: {
821
- items: PAYMENT_MONTH_OPTIONS,
822
- },
823
- },
824
- },
825
- prefCode: {
826
- ...generalDefinitions.select,
827
- label: "都道府県",
828
- length: 2,
829
- component: {
830
- name: generalDefinitions.select.component.name,
831
- attrs: {
832
- items: PREFECTURES_OPTIONS,
833
- },
834
- },
835
- },
836
- shiftType: {
837
- ...generalDefinitions.select,
838
- default: SHIFT_TYPE_VALUES.DAY.value,
839
- label: "勤務区分",
840
- component: {
841
- name: generalDefinitions.select.component.name,
842
- attrs: {
843
- items: SHIFT_TYPE_OPTIONS,
844
- },
845
- },
846
- },
847
- siteStatus: {
848
- ...generalDefinitions.select,
849
- default: SITE_STATUS_VALUES.ACTIVE.value,
850
- label: "状態",
851
- component: {
852
- name: generalDefinitions.select.component.name,
853
- attrs: {
854
- items: SITE_STATUS_OPTIONS,
855
- },
856
- },
857
- },
858
-
859
- /** time */
860
- time: {
861
- ...generalDefinitions.time,
862
- },
863
-
864
- /** else */
34
+ ...arrayFields,
35
+ ...checkFields,
36
+ ...codeFields,
37
+ ...dateAtFields,
38
+ ...dateTimeAtFields,
39
+ ...multipleLineFields,
40
+ ...numberFields,
41
+ ...objectFields,
42
+ ...oneLineFields,
43
+ ...radioFields,
44
+ ...selectFields,
45
+ ...timeFields,
865
46
  };
866
47
 
867
48
  /**