@shwfed/config 3.0.11 → 3.0.13

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 (98) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.d.vue.ts +18 -18
  3. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/config.vue.d.ts +18 -18
  4. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.d.vue.ts +18 -18
  5. package/dist/runtime/components/config/blocks/2026-06-17/com.shwfed.block.tree.single/runtime.vue.d.ts +18 -18
  6. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/config.d.vue.ts +86 -0
  7. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/config.vue +376 -0
  8. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/config.vue.d.ts +86 -0
  9. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/items-colgroup.d.vue.ts +3 -0
  10. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/items-colgroup.vue +20 -0
  11. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/items-colgroup.vue.d.ts +3 -0
  12. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/runtime.d.vue.ts +86 -0
  13. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/runtime.vue +146 -0
  14. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/runtime.vue.d.ts +86 -0
  15. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/schema.d.ts +84 -0
  16. package/dist/runtime/components/config/blocks/2026-07-17/com.shwfed.block.invoice.digital/schema.js +165 -0
  17. package/dist/runtime/components/config/index.d.vue.ts +2 -2
  18. package/dist/runtime/components/config/index.vue.d.ts +2 -2
  19. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.d.vue.ts +16 -16
  20. package/dist/runtime/components/form/fields/2026-04-24/com.shwfed.form.field.combobox.single/config.vue.d.ts +16 -16
  21. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.d.vue.ts +6 -6
  22. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.daterange/config.vue.d.ts +6 -6
  23. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.d.vue.ts +8 -8
  24. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.datetimerange/config.vue.d.ts +8 -8
  25. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.d.vue.ts +2 -2
  26. package/dist/runtime/components/form/fields/2026-04-27/com.shwfed.form.field.timerange/config.vue.d.ts +2 -2
  27. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.d.vue.ts +16 -16
  28. package/dist/runtime/components/form/fields/2026-05-13/com.shwfed.form.field.combobox.single.remote/config.vue.d.ts +16 -16
  29. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.d.vue.ts +26 -26
  30. package/dist/runtime/components/form/fields/2026-05-23/com.shwfed.form.field.tree.multi/config.vue.d.ts +26 -26
  31. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.d.vue.ts +6 -6
  32. package/dist/runtime/components/form/fields/2026-05-24/com.shwfed.form.field.monthrange/config.vue.d.ts +6 -6
  33. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.d.vue.ts +16 -16
  34. package/dist/runtime/components/form/fields/2026-05-25/com.shwfed.form.field.combobox.multi/config.vue.d.ts +16 -16
  35. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +26 -26
  36. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +26 -26
  37. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +26 -26
  38. package/dist/runtime/components/form/fields/2026-05-26/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +26 -26
  39. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.d.vue.ts +26 -26
  40. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.multi/config.vue.d.ts +26 -26
  41. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.d.vue.ts +26 -26
  42. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.combobox.single/config.vue.d.ts +26 -26
  43. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.d.vue.ts +26 -26
  44. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.multi/config.vue.d.ts +26 -26
  45. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.d.vue.ts +26 -26
  46. package/dist/runtime/components/form/fields/2026-05-28/com.shwfed.form.field.tree.single/config.vue.d.ts +26 -26
  47. package/dist/runtime/components/form/utils/validation.js +9 -7
  48. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  49. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  50. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  51. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  52. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  53. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  54. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  55. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  56. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +8 -8
  57. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +8 -8
  58. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +8 -8
  59. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +8 -8
  60. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/config.vue +57 -247
  61. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/prompt.md +2 -2
  62. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/runtime.vue +21 -124
  63. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/schema.d.ts +5 -27
  64. package/dist/runtime/components/table/columns/2026-07-16/com.shwfed.table.column.upload/schema.js +10 -37
  65. package/dist/runtime/components/ui/date-picker/DatePickerInput.d.vue.ts +1 -1
  66. package/dist/runtime/components/ui/date-picker/DatePickerInput.vue.d.ts +1 -1
  67. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.d.vue.ts +1 -1
  68. package/dist/runtime/components/ui/date-picker/DatePickerTimeInput.vue.d.ts +1 -1
  69. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.d.vue.ts +1 -1
  70. package/dist/runtime/components/ui/date-range-picker/DateRangePickerInput.vue.d.ts +1 -1
  71. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.d.vue.ts +2 -2
  72. package/dist/runtime/components/ui/date-range-picker/DateRangePickerTimeInput.vue.d.ts +2 -2
  73. package/dist/runtime/components/ui/invoice/InvoiceSheet.d.vue.ts +66 -0
  74. package/dist/runtime/components/ui/invoice/InvoiceSheet.vue +182 -0
  75. package/dist/runtime/components/ui/invoice/InvoiceSheet.vue.d.ts +66 -0
  76. package/dist/runtime/components/ui/invoice/index.d.ts +1 -0
  77. package/dist/runtime/components/ui/invoice/index.js +1 -0
  78. package/dist/runtime/components/ui/invoice-config/InvoiceConfigShell.d.vue.ts +36 -0
  79. package/dist/runtime/components/ui/invoice-config/InvoiceConfigShell.vue +41 -0
  80. package/dist/runtime/components/ui/invoice-config/InvoiceConfigShell.vue.d.ts +36 -0
  81. package/dist/runtime/components/ui/invoice-config/InvoiceExprField.d.vue.ts +14 -0
  82. package/dist/runtime/components/ui/invoice-config/InvoiceExprField.vue +39 -0
  83. package/dist/runtime/components/ui/invoice-config/InvoiceExprField.vue.d.ts +14 -0
  84. package/dist/runtime/components/ui/invoice-config/InvoiceJsonScope.d.vue.ts +13 -0
  85. package/dist/runtime/components/ui/invoice-config/InvoiceJsonScope.vue +19 -0
  86. package/dist/runtime/components/ui/invoice-config/InvoiceJsonScope.vue.d.ts +13 -0
  87. package/dist/runtime/components/ui/invoice-config/InvoiceRowScope.d.vue.ts +13 -0
  88. package/dist/runtime/components/ui/invoice-config/InvoiceRowScope.vue +22 -0
  89. package/dist/runtime/components/ui/invoice-config/InvoiceRowScope.vue.d.ts +13 -0
  90. package/dist/runtime/components/ui/invoice-config/index.d.ts +4 -0
  91. package/dist/runtime/components/ui/invoice-config/index.js +4 -0
  92. package/dist/runtime/share/invoice-eval.d.ts +13 -0
  93. package/dist/runtime/share/invoice-eval.js +88 -0
  94. package/dist/runtime/share/invoice.d.ts +68 -0
  95. package/dist/runtime/share/invoice.js +35 -0
  96. package/dist/runtime/share/rmb.d.ts +11 -0
  97. package/dist/runtime/share/rmb.js +58 -0
  98. package/package.json +1 -1
@@ -0,0 +1,146 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useInvoiceEval } from "../../../../../share/invoice-eval";
4
+ import { InvoiceSheet } from "../../../../ui/invoice";
5
+ import ItemsColgroup from "./items-colgroup.vue";
6
+ import { INVOICE_KIND_LABELS } from "./schema";
7
+ defineOptions({ name: "ShwfedBlockInvoiceDigitalRuntime" });
8
+ const block = defineModel("block", { type: null, ...{ required: true } });
9
+ defineProps({
10
+ configure: { type: Function, required: false }
11
+ });
12
+ const { evaluate, text, money, plain, bool, capital } = useInvoiceEval(() => block.value.request);
13
+ const title = computed(
14
+ () => `\u7535\u5B50\u53D1\u7968\uFF08${INVOICE_KIND_LABELS[block.value.kind ?? "special"]}\uFF09`
15
+ );
16
+ const invoiceNumber = computed(() => text(block.value.invoiceNumber));
17
+ const issueDate = computed(() => text(block.value.issueDate));
18
+ const buyer = computed(() => ({
19
+ name: text(block.value.buyer.name),
20
+ taxId: text(block.value.buyer.taxId)
21
+ }));
22
+ const seller = computed(() => ({
23
+ name: text(block.value.seller.name),
24
+ taxId: text(block.value.seller.taxId)
25
+ }));
26
+ const items = computed(() => {
27
+ const result = evaluate(block.value.items);
28
+ return Array.isArray(result) ? result : [];
29
+ });
30
+ const rows = computed(
31
+ () => items.value.map((item, index) => {
32
+ const scope = { item, index };
33
+ const line = block.value.line;
34
+ return {
35
+ name: text(line.name, scope),
36
+ spec: text(line.spec, scope),
37
+ unit: text(line.unit, scope),
38
+ quantity: plain(line.quantity, scope),
39
+ unitPrice: plain(line.unitPrice, scope),
40
+ amount: money(line.amount, scope),
41
+ taxRate: text(line.taxRate, scope),
42
+ taxAmount: money(line.taxAmount, scope)
43
+ };
44
+ })
45
+ );
46
+ const totalAmount = computed(() => money(block.value.totalAmount));
47
+ const totalTax = computed(() => money(block.value.totalTax));
48
+ const grandTotal = computed(() => money(block.value.grandTotal));
49
+ const grandTotalCapital = computed(() => capital(block.value.grandTotal));
50
+ const remark = computed(() => text(block.value.remark));
51
+ const issuer = computed(() => text(block.value.issuer));
52
+ const redLetter = computed(() => bool(block.value.redLetter));
53
+ </script>
54
+
55
+ <template>
56
+ <InvoiceSheet
57
+ :title="title"
58
+ :invoice-number="invoiceNumber"
59
+ :issue-date="issueDate"
60
+ :buyer="buyer"
61
+ :seller="seller"
62
+ :grand-total="grandTotal"
63
+ :grand-total-capital="grandTotalCapital"
64
+ :issuer="issuer"
65
+ :red-letter="redLetter"
66
+ :column-count="8"
67
+ :row-count="rows.length"
68
+ :items-max-height="block.itemsMaxHeight"
69
+ >
70
+ <template #colgroup>
71
+ <ItemsColgroup />
72
+ </template>
73
+
74
+ <template #items-head>
75
+ <tr>
76
+ <th>项目名称</th>
77
+ <th>规格型号</th>
78
+ <th>单 位</th>
79
+ <th>数 量</th>
80
+ <th>单 价</th>
81
+ <th>金 额</th>
82
+ <th>税率/征收率</th>
83
+ <th>税 额</th>
84
+ </tr>
85
+ </template>
86
+
87
+ <template #items-body>
88
+ <tr
89
+ v-for="(row, index) in rows"
90
+ :key="index"
91
+ >
92
+ <td class="cell-text">
93
+ {{ row.name }}
94
+ </td>
95
+ <!-- 规格型号内容居中(项目名称是唯一左对齐的文本栏) -->
96
+ <td class="cell-text cell-center">
97
+ {{ row.spec }}
98
+ </td>
99
+ <td class="cell-center">
100
+ {{ row.unit }}
101
+ </td>
102
+ <td class="cell-num">
103
+ {{ row.quantity }}
104
+ </td>
105
+ <td class="cell-num">
106
+ {{ row.unitPrice }}
107
+ </td>
108
+ <td class="cell-num">
109
+ {{ row.amount }}
110
+ </td>
111
+ <td class="cell-center">
112
+ {{ row.taxRate }}
113
+ </td>
114
+ <td class="cell-num">
115
+ {{ row.taxAmount }}
116
+ </td>
117
+ </tr>
118
+ </template>
119
+
120
+ <template #items-foot>
121
+ <tr>
122
+ <!-- 「合计」只占项目名称列,好让它正对下方的「价税合计(大写)」;
123
+ 跨 5 列居中会把它推到票面中间 -->
124
+ <td class="total-label">
125
+ 合&emsp;&emsp;计
126
+ </td>
127
+ <td colspan="4" />
128
+ <td class="cell-num">
129
+ <template v-if="totalAmount">
130
+ ¥{{ totalAmount }}
131
+ </template>
132
+ </td>
133
+ <td />
134
+ <td class="cell-num">
135
+ <template v-if="totalTax">
136
+ ¥{{ totalTax }}
137
+ </template>
138
+ </td>
139
+ </tr>
140
+ </template>
141
+
142
+ <template #remark>
143
+ {{ remark }}
144
+ </template>
145
+ </InvoiceSheet>
146
+ </template>
@@ -0,0 +1,86 @@
1
+ import type { Environment } from '../../../../../vendor/cel-js/lib/index.js';
2
+ import { type Value } from './schema.js';
3
+ type __VLS_Props = {
4
+ configure?: (env: Environment) => void;
5
+ };
6
+ type __VLS_ModelProps = {
7
+ 'block': Value;
8
+ };
9
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ "update:block": (value: {
12
+ readonly type: "com.shwfed.block.invoice.digital";
13
+ readonly id: string;
14
+ readonly line: {
15
+ readonly name: string;
16
+ readonly spec?: string | undefined;
17
+ readonly unit?: string | undefined;
18
+ readonly quantity?: string | undefined;
19
+ readonly unitPrice?: string | undefined;
20
+ readonly amount: string;
21
+ readonly taxRate?: string | undefined;
22
+ readonly taxAmount?: string | undefined;
23
+ };
24
+ readonly displayName?: string | undefined;
25
+ readonly kind?: "normal" | "special" | undefined;
26
+ readonly compatibilityDate: "2026-07-17";
27
+ readonly items: string;
28
+ readonly request?: string | undefined;
29
+ readonly invoiceNumber: string;
30
+ readonly issueDate: string;
31
+ readonly buyer: {
32
+ readonly name: string;
33
+ readonly taxId: string;
34
+ };
35
+ readonly seller: {
36
+ readonly name: string;
37
+ readonly taxId: string;
38
+ };
39
+ readonly grandTotal: string;
40
+ readonly issuer?: string | undefined;
41
+ readonly redLetter?: string | undefined;
42
+ readonly itemsMaxHeight?: string | undefined;
43
+ readonly remark?: string | undefined;
44
+ readonly totalAmount: string;
45
+ readonly totalTax: string;
46
+ }) => any;
47
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
48
+ "onUpdate:block"?: ((value: {
49
+ readonly type: "com.shwfed.block.invoice.digital";
50
+ readonly id: string;
51
+ readonly line: {
52
+ readonly name: string;
53
+ readonly spec?: string | undefined;
54
+ readonly unit?: string | undefined;
55
+ readonly quantity?: string | undefined;
56
+ readonly unitPrice?: string | undefined;
57
+ readonly amount: string;
58
+ readonly taxRate?: string | undefined;
59
+ readonly taxAmount?: string | undefined;
60
+ };
61
+ readonly displayName?: string | undefined;
62
+ readonly kind?: "normal" | "special" | undefined;
63
+ readonly compatibilityDate: "2026-07-17";
64
+ readonly items: string;
65
+ readonly request?: string | undefined;
66
+ readonly invoiceNumber: string;
67
+ readonly issueDate: string;
68
+ readonly buyer: {
69
+ readonly name: string;
70
+ readonly taxId: string;
71
+ };
72
+ readonly seller: {
73
+ readonly name: string;
74
+ readonly taxId: string;
75
+ };
76
+ readonly grandTotal: string;
77
+ readonly issuer?: string | undefined;
78
+ readonly redLetter?: string | undefined;
79
+ readonly itemsMaxHeight?: string | undefined;
80
+ readonly remark?: string | undefined;
81
+ readonly totalAmount: string;
82
+ readonly totalTax: string;
83
+ }) => any) | undefined;
84
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
85
+ declare const _default: typeof __VLS_export;
86
+ export default _default;
@@ -0,0 +1,84 @@
1
+ import { Schema } from 'effect';
2
+ import { type Configure } from '../../../../../share/invoice.js';
3
+ export { getStructFieldDescription, getStructFieldTitle } from '../../../../table/utils/schema-meta.js';
4
+ export { JSON_VAR, partySchema } from '../../../../../share/invoice.js';
5
+ export type { PartyValue } from '../../../../../share/invoice.js';
6
+ type AnySchema = Schema.Schema<any, any, never>;
7
+ export declare const type: "com.shwfed.block.invoice.digital";
8
+ export declare const compatibilityDate: "2026-07-17";
9
+ export declare const metadata: {
10
+ readonly name: "数电票";
11
+ readonly icon: "fluent:receipt-20-regular";
12
+ readonly description: "按国家税务总局版式渲染一张数电票(增值税专用发票 / 普通发票),票面各栏由 CEL 表达式映射";
13
+ readonly w: {
14
+ readonly initial: 24;
15
+ readonly min: 12;
16
+ readonly max: number;
17
+ };
18
+ readonly h: {
19
+ readonly initial: 12;
20
+ readonly min: 8;
21
+ readonly max: number;
22
+ readonly grow: true;
23
+ };
24
+ };
25
+ /** 票种:决定票面标题(「电子发票(增值税专用发票)」/「…(普通发票)」)。 */
26
+ export declare const INVOICE_KINDS: readonly ["special", "normal"];
27
+ export declare const INVOICE_KIND_LABELS: Record<(typeof INVOICE_KINDS)[number], string>;
28
+ /**
29
+ * 明细行的列映射。每个表达式对一行求值,可访问 `item`(当前明细项)与 `index`
30
+ * (序号,从 0 开始)—— 与 `loop` 块同一套行作用域(`registerLoopVariablesIfAbsent`)。
31
+ *
32
+ * 只有「项目名称」与「金额」必填:真实发票上规格型号 / 单位 / 数量 / 单价 常为空
33
+ * (如服务费类目),留空即该单元格不渲染内容。
34
+ */
35
+ export declare function lineSchema(configure: Configure): Schema.Struct<{
36
+ name: Schema.Schema<string, string, never>;
37
+ spec: Schema.optional<Schema.Schema<string, string, never>>;
38
+ unit: Schema.optional<Schema.Schema<string, string, never>>;
39
+ quantity: Schema.optional<Schema.Schema<string, string, never>>;
40
+ unitPrice: Schema.optional<Schema.Schema<string, string, never>>;
41
+ amount: Schema.Schema<string, string, never>;
42
+ taxRate: Schema.optional<Schema.Schema<string, string, never>>;
43
+ taxAmount: Schema.optional<Schema.Schema<string, string, never>>;
44
+ }>;
45
+ export declare function schema(configure: Configure, _blockRef?: AnySchema): Schema.Struct<{
46
+ id: Schema.refine<string, typeof Schema.String>;
47
+ type: Schema.tag<"com.shwfed.block.invoice.digital">;
48
+ compatibilityDate: Schema.tag<"2026-07-17">;
49
+ displayName: Schema.optional<Schema.SchemaClass<string, string, never>>;
50
+ kind: Schema.optional<Schema.Literal<["special", "normal"]>>;
51
+ request: Schema.optional<Schema.Schema<string, string, never>>;
52
+ itemsMaxHeight: Schema.optional<Schema.SchemaClass<string, string, never>>;
53
+ invoiceNumber: Schema.Schema<string, string, never>;
54
+ issueDate: Schema.Schema<string, string, never>;
55
+ buyer: Schema.Struct<{
56
+ name: Schema.Schema<string, string, never>;
57
+ taxId: Schema.Schema<string, string, never>;
58
+ }>;
59
+ seller: Schema.Struct<{
60
+ name: Schema.Schema<string, string, never>;
61
+ taxId: Schema.Schema<string, string, never>;
62
+ }>;
63
+ items: Schema.Schema<string, string, never>;
64
+ line: Schema.Struct<{
65
+ name: Schema.Schema<string, string, never>;
66
+ spec: Schema.optional<Schema.Schema<string, string, never>>;
67
+ unit: Schema.optional<Schema.Schema<string, string, never>>;
68
+ quantity: Schema.optional<Schema.Schema<string, string, never>>;
69
+ unitPrice: Schema.optional<Schema.Schema<string, string, never>>;
70
+ amount: Schema.Schema<string, string, never>;
71
+ taxRate: Schema.optional<Schema.Schema<string, string, never>>;
72
+ taxAmount: Schema.optional<Schema.Schema<string, string, never>>;
73
+ }>;
74
+ totalAmount: Schema.Schema<string, string, never>;
75
+ totalTax: Schema.Schema<string, string, never>;
76
+ grandTotal: Schema.Schema<string, string, never>;
77
+ remark: Schema.optional<Schema.Schema<string, string, never>>;
78
+ issuer: Schema.optional<Schema.Schema<string, string, never>>;
79
+ redLetter: Schema.optional<Schema.Schema<string, string, never>>;
80
+ }>;
81
+ export declare function defaultBody(): Record<string, unknown>;
82
+ export type Value = Schema.Schema.Type<ReturnType<typeof schema>>;
83
+ export type LineValue = Value['line'];
84
+ export type InvoiceKind = (typeof INVOICE_KINDS)[number];
@@ -0,0 +1,165 @@
1
+ import { Schema } from "effect";
2
+ import { Expression, HttpRequestResult } from "../../../../../share/expression.js";
3
+ import {
4
+ boolResult,
5
+ listResult,
6
+ moneyResult,
7
+ partySchema,
8
+ registerJsonIfAbsent,
9
+ textResult
10
+ } from "../../../../../share/invoice.js";
11
+ import { registerLoopVariablesIfAbsent } from "../../../../../share/loop-item-var.js";
12
+ export { getStructFieldDescription, getStructFieldTitle } from "../../../../table/utils/schema-meta.js";
13
+ export { JSON_VAR, partySchema } from "../../../../../share/invoice.js";
14
+ export const type = "com.shwfed.block.invoice.digital";
15
+ export const compatibilityDate = "2026-07-17";
16
+ export const metadata = {
17
+ name: "\u6570\u7535\u7968",
18
+ icon: "fluent:receipt-20-regular",
19
+ description: "\u6309\u56FD\u5BB6\u7A0E\u52A1\u603B\u5C40\u7248\u5F0F\u6E32\u67D3\u4E00\u5F20\u6570\u7535\u7968\uFF08\u589E\u503C\u7A0E\u4E13\u7528\u53D1\u7968 / \u666E\u901A\u53D1\u7968\uFF09\uFF0C\u7968\u9762\u5404\u680F\u7531 CEL \u8868\u8FBE\u5F0F\u6620\u5C04",
20
+ w: { initial: 24, min: 12, max: Infinity },
21
+ // `grow: true`:票面高度由明细行数决定(内容驱动),需要脱离网格 `1fr` 等分、
22
+ // 顶部锚定向下生长,否则行数变化会让整张票在过大的轨道里重新定位。
23
+ // 与 `loop` / `tree.single` 同理,见 `config/utils/resolve.ts` 的 `BlockSizeRange.grow`。
24
+ h: { initial: 12, min: 8, max: Infinity, grow: true }
25
+ };
26
+ export const INVOICE_KINDS = ["special", "normal"];
27
+ export const INVOICE_KIND_LABELS = {
28
+ special: "\u589E\u503C\u7A0E\u4E13\u7528\u53D1\u7968",
29
+ normal: "\u589E\u503C\u7A0E\u666E\u901A\u53D1\u7968"
30
+ };
31
+ export function lineSchema(configure) {
32
+ const rowConfigure = (env) => {
33
+ configure(env);
34
+ registerLoopVariablesIfAbsent(env);
35
+ };
36
+ const CelText = Expression({ configure: rowConfigure, resultType: textResult });
37
+ const CelMoney = Expression({ configure: rowConfigure, resultType: moneyResult });
38
+ return Schema.Struct({
39
+ name: CelText.annotations({
40
+ title: "\u9879\u76EE\u540D\u79F0",
41
+ description: "\u8FD4\u56DE\u9879\u76EE\u540D\u79F0\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5982 `item.xmmc`\u3002\u7968\u9762\u60EF\u4F8B\u5E26\u7C7B\u76EE\u524D\u7F00\uFF0C\u5982 `*\u96C6\u6210\u7535\u8DEF*\u96C6\u6210\u7535\u8DEF`"
42
+ }),
43
+ spec: Schema.optional(CelText.annotations({
44
+ title: "\u89C4\u683C\u578B\u53F7",
45
+ description: "\u8FD4\u56DE\u89C4\u683C\u578B\u53F7\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF1B\u7559\u7A7A\u5219\u8BE5\u680F\u4E3A\u7A7A"
46
+ })),
47
+ unit: Schema.optional(CelText.annotations({
48
+ title: "\u5355\u4F4D",
49
+ description: "\u8FD4\u56DE\u8BA1\u91CF\u5355\u4F4D\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5982 `\u4E2A` / `\u4EF6`\uFF1B\u7559\u7A7A\u5219\u8BE5\u680F\u4E3A\u7A7A"
50
+ })),
51
+ quantity: Schema.optional(CelMoney.annotations({
52
+ title: "\u6570\u91CF",
53
+ description: "\u8FD4\u56DE\u6570\u91CF\u7684 CEL \u8868\u8FBE\u5F0F\u3002\u8FD4\u56DE `number` \u65F6\u539F\u6837\u5C55\u793A\uFF08\u4E0D\u8865\u5C0F\u6570\u4F4D\uFF09\uFF0C\u8FD4\u56DE `string` \u65F6\u539F\u6837\u6253\u5370\uFF1B\u7559\u7A7A\u5219\u8BE5\u680F\u4E3A\u7A7A"
54
+ })),
55
+ unitPrice: Schema.optional(CelMoney.annotations({
56
+ title: "\u5355\u4EF7",
57
+ description: "\u8FD4\u56DE\u5355\u4EF7\u7684 CEL \u8868\u8FBE\u5F0F\u3002\u8FD4\u56DE `number` \u65F6\u539F\u6837\u5C55\u793A\uFF08\u7968\u9762\u5355\u4EF7\u5E38\u5E26\u591A\u4F4D\u5C0F\u6570\uFF0C\u5982 `272.5663716814`\uFF0C\u6545\u4E0D\u505A\u56DB\u820D\u4E94\u5165\uFF09\uFF1B\u7559\u7A7A\u5219\u8BE5\u680F\u4E3A\u7A7A"
58
+ })),
59
+ amount: CelMoney.annotations({
60
+ title: "\u91D1\u989D",
61
+ description: "\u8FD4\u56DE\u4E0D\u542B\u7A0E\u91D1\u989D\u7684 CEL \u8868\u8FBE\u5F0F\u3002\u8FD4\u56DE `number` \u65F6\u683C\u5F0F\u5316\u4E3A\u4E24\u4F4D\u5C0F\u6570\u5E76\u52A0\u5343\u5206\u4F4D\uFF1B\u8FD4\u56DE `string` \u65F6\u539F\u6837\u6253\u5370"
62
+ }),
63
+ taxRate: Schema.optional(CelText.annotations({
64
+ title: "\u7A0E\u7387/\u5F81\u6536\u7387",
65
+ description: "\u8FD4\u56DE\u7A0E\u7387\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u539F\u6837\u6253\u5370\uFF0C\u5982 `13%`\u3002\u523B\u610F\u4E0D\u662F\u6570\u5B57 \u2014\u2014 \u8BE5\u680F\u5408\u6CD5\u53D6\u503C\u8FD8\u5305\u62EC `\u514D\u7A0E` / `\u4E0D\u5F81\u7A0E` / `***`"
66
+ })),
67
+ taxAmount: Schema.optional(CelMoney.annotations({
68
+ title: "\u7A0E\u989D",
69
+ description: "\u8FD4\u56DE\u7A0E\u989D\u7684 CEL \u8868\u8FBE\u5F0F\u3002\u8FD4\u56DE `number` \u65F6\u683C\u5F0F\u5316\u4E3A\u4E24\u4F4D\u5C0F\u6570\u5E76\u52A0\u5343\u5206\u4F4D\uFF1B\u7559\u7A7A\u5219\u8BE5\u680F\u4E3A\u7A7A"
70
+ }))
71
+ }).annotations({
72
+ title: "\u660E\u7EC6\u884C",
73
+ description: "\u660E\u7EC6\u5404\u680F\u7684\u53D6\u503C\u8868\u8FBE\u5F0F\uFF0C\u5BF9\u6BCF\u4E00\u884C\u6C42\u503C\uFF1B\u53EF\u8BBF\u95EE `item`\uFF08\u5F53\u524D\u660E\u7EC6\u9879\uFF09\u4E0E `index`\uFF08\u5E8F\u53F7\uFF0C\u4ECE 0 \u5F00\u59CB\uFF09"
74
+ });
75
+ }
76
+ export function schema(configure, _blockRef) {
77
+ const CelRequest = Expression({ configure, resultType: HttpRequestResult });
78
+ const bodyConfigure = (env) => {
79
+ configure(env);
80
+ registerJsonIfAbsent(env);
81
+ };
82
+ const CelText = Expression({ configure: bodyConfigure, resultType: textResult });
83
+ const CelMoney = Expression({ configure: bodyConfigure, resultType: moneyResult });
84
+ const CelItems = Expression({ configure: bodyConfigure, resultType: listResult });
85
+ const CelBool = Expression({ configure: bodyConfigure, resultType: boolResult });
86
+ return Schema.Struct({
87
+ id: Schema.UUID.annotations({ description: "\u5757\u552F\u4E00\u6807\u8BC6" }),
88
+ type: Schema.tag(type),
89
+ compatibilityDate: Schema.tag(compatibilityDate),
90
+ displayName: Schema.optional(Schema.String.annotations({
91
+ title: "\u5185\u90E8\u540D\u79F0",
92
+ description: "\u4EC5\u5728\u7F16\u8F91\u5668\u5185\u53EF\u89C1\u7684\u5757\u540D\uFF0C\u7528\u4E8E\u5728\u4FA7\u8FB9\u680F\u548C\u5E03\u5C40\u7F16\u8F91\u5668\u4E2D\u8BC6\u522B\u5757\uFF1B\u8FD0\u884C\u65F6\u4E0D\u5C55\u793A"
93
+ })),
94
+ kind: Schema.optional(Schema.Literal(...INVOICE_KINDS).annotations({
95
+ title: "\u7968\u79CD",
96
+ description: "\u51B3\u5B9A\u7968\u9762\u6807\u9898\uFF1A`special` \u4E3A\u300C\u7535\u5B50\u53D1\u7968\uFF08\u589E\u503C\u7A0E\u4E13\u7528\u53D1\u7968\uFF09\u300D\uFF0C`normal` \u4E3A\u300C\u7535\u5B50\u53D1\u7968\uFF08\u589E\u503C\u7A0E\u666E\u901A\u53D1\u7968\uFF09\u300D\uFF1B\u7559\u7A7A\u7B49\u540C `special`"
97
+ })),
98
+ request: Schema.optional(CelRequest.annotations({
99
+ title: "\u8BF7\u6C42",
100
+ description: "\u53EF\u9009\u7684 HTTP \u8BF7\u6C42\u8868\u8FBE\u5F0F\uFF08\u8FD4\u56DE `HttpRequest`\uFF09\uFF1B\u54CD\u5E94\u4F53\u4EE5 `json` \u63D0\u4F9B\u7ED9\u7968\u9762\u6240\u6709\u680F\u4F4D\uFF08\u542B\u660E\u7EC6\u5217\u8868\u4E0E\u9010\u884C\u680F\u4F4D\uFF09\u3002\u7559\u7A7A\u5219 `json` \u4E3A none\uFF0C\u5404\u680F\u4ECE\u5916\u5C42\u4E0A\u4E0B\u6587\u53D6\u503C"
101
+ })),
102
+ itemsMaxHeight: Schema.optional(Schema.String.annotations({
103
+ title: "\u660E\u7EC6\u533A\u9AD8\u5EA6",
104
+ description: "\u660E\u7EC6\u533A\u7684\u6700\u5927\u9AD8\u5EA6\uFF08CSS \u957F\u5EA6\uFF0C\u5982 `24rem` / `50vh`\uFF09\uFF1B\u8D85\u51FA\u540E\u660E\u7EC6\u5185\u5BB9\u6EDA\u52A8\uFF0C\u5217\u6807\u9898\u4E0E\u5408\u8BA1\u884C\u4FDD\u6301\u53EF\u89C1\u3002\u7559\u7A7A\u5219\u660E\u7EC6\u533A\u968F\u884C\u6570\u589E\u957F\uFF0C\u7968\u9762\u6574\u4F53\u53D8\u9AD8"
105
+ })),
106
+ invoiceNumber: CelText.annotations({
107
+ title: "\u53D1\u7968\u53F7\u7801",
108
+ description: "\u8FD4\u56DE\u53D1\u7968\u53F7\u7801\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5C55\u793A\u5728\u7968\u9762\u53F3\u4E0A\u89D2"
109
+ }),
110
+ issueDate: CelText.annotations({
111
+ title: "\u5F00\u7968\u65E5\u671F",
112
+ description: "\u8FD4\u56DE\u5F00\u7968\u65E5\u671F\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u539F\u6837\u6253\u5370\u3002\u7968\u9762\u60EF\u4F8B\u4E3A `2026\u5E7406\u670801\u65E5`\uFF0C\u683C\u5F0F\u5316\u8BF7\u5728\u8868\u8FBE\u5F0F\u5185\u5B8C\u6210"
113
+ }),
114
+ buyer: partySchema(bodyConfigure, "\u8D2D\u4E70\u65B9"),
115
+ seller: partySchema(bodyConfigure, "\u9500\u552E\u65B9"),
116
+ items: CelItems.annotations({
117
+ title: "\u660E\u7EC6\u5217\u8868",
118
+ description: "\u8FD4\u56DE\u660E\u7EC6\u884C\u5217\u8868\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u5982 `json.mxList`\uFF1B\u6BCF\u4E00\u9879\u6309\u300C\u660E\u7EC6\u884C\u300D\u7684\u5217\u6620\u5C04\u6E32\u67D3\u4E00\u884C\u3002\u8FD4\u56DE `none` / \u975E\u5217\u8868\u65F6\u4E0D\u6E32\u67D3\u4EFB\u4F55\u660E\u7EC6\u884C"
119
+ }),
120
+ line: lineSchema(bodyConfigure).annotations({
121
+ title: "\u660E\u7EC6\u884C",
122
+ description: "\u660E\u7EC6\u5404\u680F\u7684\u53D6\u503C\u8868\u8FBE\u5F0F\uFF0C\u5BF9\u300C\u660E\u7EC6\u5217\u8868\u300D\u7684\u6BCF\u4E00\u9879\u6C42\u503C"
123
+ }),
124
+ totalAmount: CelMoney.annotations({
125
+ title: "\u5408\u8BA1\u91D1\u989D",
126
+ description: "\u8FD4\u56DE\u5408\u8BA1\u680F\u4E0D\u542B\u7A0E\u91D1\u989D\u7684 CEL \u8868\u8FBE\u5F0F\u3002\u523B\u610F\u4E0D\u7531\u660E\u7EC6\u81EA\u52A8\u6C42\u548C \u2014\u2014 \u7968\u9762\u5408\u8BA1\u4EE5\u5F00\u7968\u6570\u636E\u4E3A\u51C6\uFF0C\u4E0D\u5E94\u7531\u524D\u7AEF\u91CD\u7B97"
127
+ }),
128
+ totalTax: CelMoney.annotations({
129
+ title: "\u5408\u8BA1\u7A0E\u989D",
130
+ description: "\u8FD4\u56DE\u5408\u8BA1\u680F\u7A0E\u989D\u7684 CEL \u8868\u8FBE\u5F0F"
131
+ }),
132
+ grandTotal: CelMoney.annotations({
133
+ title: "\u4EF7\u7A0E\u5408\u8BA1",
134
+ description: "\u8FD4\u56DE\u4EF7\u7A0E\u5408\u8BA1\uFF08\u5C0F\u5199\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\u3002\u5927\u5199\u680F\u7531\u8BE5\u503C\u672C\u5730\u63A8\u5BFC\uFF08\u5982 `\u9646\u4EDF\u67D2\u4F70\u96F6\u9646\u5706\u58F9\u89D2\u6574`\u3001\u8D1F\u6570\u4E3A `\uFF08\u8D1F\u6570\uFF09\u53C1\u4F70\u96F6\u634C\u5706\u6574`\uFF09\uFF0C\u65E0\u9700\u53E6\u884C\u914D\u7F6E"
135
+ }),
136
+ remark: Schema.optional(CelText.annotations({
137
+ title: "\u5907\u6CE8",
138
+ description: "\u8FD4\u56DE\u5907\u6CE8\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF0C\u6309\u6362\u884C\u539F\u6837\u6E32\u67D3\u3002\u5F00\u6237\u884C\u3001\u94F6\u884C\u8D26\u53F7\u3001\u7EA2\u5B57\u53D1\u7968\u4FE1\u606F\u786E\u8BA4\u5355\u7F16\u53F7\u7B49\u5747\u5C5E\u6B64\u680F"
139
+ })),
140
+ issuer: Schema.optional(CelText.annotations({
141
+ title: "\u5F00\u7968\u4EBA",
142
+ description: "\u8FD4\u56DE\u5F00\u7968\u4EBA\u59D3\u540D\uFF08`string`\uFF09\u7684 CEL \u8868\u8FBE\u5F0F\uFF1B\u7559\u7A7A\u5219\u4E0D\u5C55\u793A"
143
+ })),
144
+ redLetter: Schema.optional(CelBool.annotations({
145
+ title: "\u7EA2\u5B57\u53D1\u7968",
146
+ description: "\u8FD4\u56DE `bool` \u7684 CEL \u8868\u8FBE\u5F0F\uFF1B\u4E3A `true` \u65F6\u7968\u9762\u4E2D\u592E\u53E0\u52A0\u300C\u7EA2\u5B57\u53D1\u7968\u300D\u6C34\u5370\u3002\u7559\u7A7A\u5219\u4E0D\u5C55\u793A\u6C34\u5370"
147
+ }))
148
+ }).annotations({
149
+ title: "\u6570\u7535\u7968\u5757",
150
+ description: "\u6309\u56FD\u5BB6\u7A0E\u52A1\u603B\u5C40\u7248\u5F0F\u6E32\u67D3\u4E00\u5F20\u6570\u7535\u7968\uFF08\u589E\u503C\u7A0E\u4E13\u7528\u53D1\u7968 / \u666E\u901A\u53D1\u7968\uFF09\uFF0C\u7968\u9762\u5404\u680F\u7531 CEL \u8868\u8FBE\u5F0F\u6620\u5C04"
151
+ });
152
+ }
153
+ export function defaultBody() {
154
+ return {
155
+ invoiceNumber: "",
156
+ issueDate: "",
157
+ buyer: { name: "", taxId: "" },
158
+ seller: { name: "", taxId: "" },
159
+ items: "[]",
160
+ line: { name: "", amount: "" },
161
+ totalAmount: "",
162
+ totalTax: "",
163
+ grandTotal: ""
164
+ };
165
+ }
@@ -12,6 +12,7 @@ type __VLS_ModelProps = {
12
12
  };
13
13
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
14
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ "select-version": (version: string) => any;
15
16
  "update:config": (value: Readonly<{
16
17
  kind: "shwfed.component.page";
17
18
  title?: import("../../share/locale.js").LocaleValue;
@@ -25,8 +26,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
25
26
  }>[];
26
27
  }>;
27
28
  }> | null | undefined) => any;
28
- "select-version": (version: string) => any;
29
29
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ "onSelect-version"?: ((version: string) => any) | undefined;
30
31
  "onUpdate:config"?: ((value: Readonly<{
31
32
  kind: "shwfed.component.page";
32
33
  title?: import("../../share/locale.js").LocaleValue;
@@ -40,7 +41,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
40
41
  }>[];
41
42
  }>;
42
43
  }> | null | undefined) => any) | undefined;
43
- "onSelect-version"?: ((version: string) => any) | undefined;
44
44
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
45
45
  declare const _default: typeof __VLS_export;
46
46
  export default _default;
@@ -12,6 +12,7 @@ type __VLS_ModelProps = {
12
12
  };
13
13
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
14
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ "select-version": (version: string) => any;
15
16
  "update:config": (value: Readonly<{
16
17
  kind: "shwfed.component.page";
17
18
  title?: import("../../share/locale.js").LocaleValue;
@@ -25,8 +26,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
25
26
  }>[];
26
27
  }>;
27
28
  }> | null | undefined) => any;
28
- "select-version": (version: string) => any;
29
29
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ "onSelect-version"?: ((version: string) => any) | undefined;
30
31
  "onUpdate:config"?: ((value: Readonly<{
31
32
  kind: "shwfed.component.page";
32
33
  title?: import("../../share/locale.js").LocaleValue;
@@ -40,7 +41,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
40
41
  }>[];
41
42
  }>;
42
43
  }> | null | undefined) => any) | undefined;
43
- "onSelect-version"?: ((version: string) => any) | undefined;
44
44
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
45
45
  declare const _default: typeof __VLS_export;
46
46
  export default _default;
@@ -40,14 +40,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
40
  readonly mode: "formula" | "prefill";
41
41
  readonly expression: string;
42
42
  } | undefined;
43
- readonly optionValue: string;
44
- readonly optionLabel: readonly [{
45
- readonly locale: "zh";
46
- readonly message: string;
47
- }, ...{
48
- readonly locale: "en" | "ja" | "ko";
49
- readonly message: string;
50
- }[]];
51
43
  readonly validations?: readonly {
52
44
  readonly message: readonly [{
53
45
  readonly locale: "zh";
@@ -59,6 +51,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
59
51
  readonly warning?: boolean | undefined;
60
52
  readonly when: string;
61
53
  }[] | undefined;
54
+ readonly optionValue: string;
55
+ readonly optionLabel: readonly [{
56
+ readonly locale: "zh";
57
+ readonly message: string;
58
+ }, ...{
59
+ readonly locale: "en" | "ja" | "ko";
60
+ readonly message: string;
61
+ }[]];
62
62
  }) => any;
63
63
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
64
64
  "onUpdate:modelValue"?: ((value: {
@@ -98,14 +98,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
98
98
  readonly mode: "formula" | "prefill";
99
99
  readonly expression: string;
100
100
  } | undefined;
101
- readonly optionValue: string;
102
- readonly optionLabel: readonly [{
103
- readonly locale: "zh";
104
- readonly message: string;
105
- }, ...{
106
- readonly locale: "en" | "ja" | "ko";
107
- readonly message: string;
108
- }[]];
109
101
  readonly validations?: readonly {
110
102
  readonly message: readonly [{
111
103
  readonly locale: "zh";
@@ -117,6 +109,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
109
  readonly warning?: boolean | undefined;
118
110
  readonly when: string;
119
111
  }[] | undefined;
112
+ readonly optionValue: string;
113
+ readonly optionLabel: readonly [{
114
+ readonly locale: "zh";
115
+ readonly message: string;
116
+ }, ...{
117
+ readonly locale: "en" | "ja" | "ko";
118
+ readonly message: string;
119
+ }[]];
120
120
  }) => any) | undefined;
121
121
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
122
122
  declare const _default: typeof __VLS_export;
@@ -40,14 +40,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
40
40
  readonly mode: "formula" | "prefill";
41
41
  readonly expression: string;
42
42
  } | undefined;
43
- readonly optionValue: string;
44
- readonly optionLabel: readonly [{
45
- readonly locale: "zh";
46
- readonly message: string;
47
- }, ...{
48
- readonly locale: "en" | "ja" | "ko";
49
- readonly message: string;
50
- }[]];
51
43
  readonly validations?: readonly {
52
44
  readonly message: readonly [{
53
45
  readonly locale: "zh";
@@ -59,6 +51,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
59
51
  readonly warning?: boolean | undefined;
60
52
  readonly when: string;
61
53
  }[] | undefined;
54
+ readonly optionValue: string;
55
+ readonly optionLabel: readonly [{
56
+ readonly locale: "zh";
57
+ readonly message: string;
58
+ }, ...{
59
+ readonly locale: "en" | "ja" | "ko";
60
+ readonly message: string;
61
+ }[]];
62
62
  }) => any;
63
63
  }, string, import("vue").PublicProps, Readonly<__VLS_ModelProps> & Readonly<{
64
64
  "onUpdate:modelValue"?: ((value: {
@@ -98,14 +98,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
98
98
  readonly mode: "formula" | "prefill";
99
99
  readonly expression: string;
100
100
  } | undefined;
101
- readonly optionValue: string;
102
- readonly optionLabel: readonly [{
103
- readonly locale: "zh";
104
- readonly message: string;
105
- }, ...{
106
- readonly locale: "en" | "ja" | "ko";
107
- readonly message: string;
108
- }[]];
109
101
  readonly validations?: readonly {
110
102
  readonly message: readonly [{
111
103
  readonly locale: "zh";
@@ -117,6 +109,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
117
109
  readonly warning?: boolean | undefined;
118
110
  readonly when: string;
119
111
  }[] | undefined;
112
+ readonly optionValue: string;
113
+ readonly optionLabel: readonly [{
114
+ readonly locale: "zh";
115
+ readonly message: string;
116
+ }, ...{
117
+ readonly locale: "en" | "ja" | "ko";
118
+ readonly message: string;
119
+ }[]];
120
120
  }) => any) | undefined;
121
121
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
122
122
  declare const _default: typeof __VLS_export;