xyvcard-itsmsys 0.0.12 → 0.0.14

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 (48) hide show
  1. package/dist/{edit-BSgQ7aTw.mjs → edit-BKRcHRhe.mjs} +1 -1
  2. package/dist/{edit-C-Ddf0UV.mjs → edit-BOYD0hK4.mjs} +103 -87
  3. package/dist/{edit-BSllWdRO.mjs → edit-CHMLN0tR.mjs} +1 -1
  4. package/dist/{edit-Cd4dWFsH.mjs → edit-DNMyksDd.mjs} +1 -1
  5. package/dist/{edit-q5TFAMBm.mjs → edit-W7Cqo-_d.mjs} +1 -1
  6. package/dist/{edit-CNw8JPUb.mjs → edit-b2ih9M1u.mjs} +89 -74
  7. package/dist/{edit-aqBMKpoJ.mjs → edit-mVmM-PRk.mjs} +97 -82
  8. package/dist/{edit.vue_vue_type_script_setup_true_lang-D1lAHFeM.mjs → edit.vue_vue_type_script_setup_true_lang-CAq_h6E3.mjs} +44 -37
  9. package/dist/{edit.vue_vue_type_script_setup_true_lang-BA39WCu3.mjs → edit.vue_vue_type_script_setup_true_lang-D31iEutB.mjs} +73 -73
  10. package/dist/{edit.vue_vue_type_script_setup_true_lang-BV_YHrlE.mjs → edit.vue_vue_type_script_setup_true_lang-DCq50Piw.mjs} +74 -74
  11. package/dist/{edit.vue_vue_type_script_setup_true_lang-BJcLgzvH.mjs → edit.vue_vue_type_script_setup_true_lang-hotcXxq3.mjs} +73 -73
  12. package/dist/import-upload-DBaTv04c.mjs +161 -0
  13. package/dist/import-upload-DZJ0GptW.mjs +161 -0
  14. package/dist/index-Cd5F5D4a.mjs +423 -0
  15. package/dist/{index-BaixQptZ.mjs → index-CvZlFuc4.mjs} +63 -61
  16. package/dist/{index-BY5Djw_C.mjs → index-Cy9iOhxs.mjs} +138 -127
  17. package/dist/index-Cz0VExll.mjs +196 -0
  18. package/dist/index-D8h0lcNy.mjs +504 -0
  19. package/dist/{index-LOMCvxtf.mjs → index-XoL9Os_9.mjs} +57 -55
  20. package/dist/{index-Cz9Xj4Mn.mjs → index-qfyel9S8.mjs} +1 -1
  21. package/dist/{index-DrBtW9Aj.mjs → index-uqlBd_1I.mjs} +163 -176
  22. package/dist/index.mjs +128 -124
  23. package/dist/{index.vue_vue_type_script_setup_true_lang-C67sXgs5.mjs → index.vue_vue_type_script_setup_true_lang-MCS-o6Sy.mjs} +2 -2
  24. package/dist/{info-C3knY6l_.mjs → info-C821AMSV.mjs} +21 -21
  25. package/dist/info-CU4nIMVM.mjs +186 -0
  26. package/dist/{info-BUDmirQy.mjs → info-CXCnXNu4.mjs} +80 -58
  27. package/dist/info-CYDV3va6.mjs +209 -0
  28. package/dist/info-DPIIgRG8.mjs +209 -0
  29. package/dist/{info-D0Pwnmsu.mjs → info-DcUASS45.mjs} +13 -13
  30. package/dist/style.css +1 -1
  31. package/dts/api/dict.d.ts +7 -1
  32. package/dts/api/index.d.ts +6 -4
  33. package/dts/api/itsm-sys-org/types.d.ts +1 -0
  34. package/dts/api/itsm-sys-user-ext/types.d.ts +18 -14
  35. package/dts/constant.d.ts +13 -5
  36. package/dts/lang/itsmsys/en.d.ts +2 -2
  37. package/dts/lang/itsmsys/zh-cn.d.ts +12 -8
  38. package/package.json +1 -1
  39. package/dist/import-upload-BIT504-g.mjs +0 -4
  40. package/dist/import-upload-pZG8yku3.mjs +0 -4
  41. package/dist/import-upload.vue_vue_type_script_setup_true_lang-pjSs3v9e.mjs +0 -162
  42. package/dist/import-upload.vue_vue_type_script_setup_true_lang-tjMLoB_W.mjs +0 -162
  43. package/dist/index-CoMhbtrg.mjs +0 -449
  44. package/dist/index-DPz8be3T.mjs +0 -351
  45. package/dist/index-Dno_3GpX.mjs +0 -145
  46. package/dist/info-BivxW-qV.mjs +0 -187
  47. package/dist/info-Bn-BseIm.mjs +0 -187
  48. package/dist/info-C-ga_8K9.mjs +0 -176
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-D1lAHFeM.mjs";
1
+ import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-DCq50Piw.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,27 +1,26 @@
1
- import { defineComponent as j, ref as g, reactive as h, resolveComponent as i, openBlock as f, createElementBlock as D, createVNode as e, withCtx as l, unref as a, createTextVNode as A, toDisplayString as F, createBlock as G, createCommentVNode as L } from "vue";
2
- import { ElMessage as q } from "element-plus";
3
- import { s as z } from "./index-B2xwBTw-.mjs";
4
- import { useI18n as E } from "vue-i18n";
5
- import { useRoute as O } from "vue-router";
6
- import { D as w, C as y } from "./index-Dno_3GpX.mjs";
1
+ import { defineComponent as A, ref as g, reactive as G, onMounted as F, resolveComponent as i, openBlock as f, createElementBlock as O, createVNode as e, withCtx as l, unref as a, createTextVNode as z, toDisplayString as E, createBlock as L, createCommentVNode as q } from "vue";
2
+ import { ElMessage as w } from "element-plus";
3
+ import { s as J } from "./index-B2xwBTw-.mjs";
4
+ import { useI18n as H } from "vue-i18n";
5
+ import { useRoute as Q, useRouter as W } from "vue-router";
6
+ import { routerUtil as $ } from "jmash-core";
7
+ import { C as y, D as R } from "./index-Cz0VExll.mjs";
7
8
  import { sysOrgApi as b } from "./index.mjs";
8
- import { _ as J } from "./index.vue_vue_type_script_setup_true_lang-C67sXgs5.mjs";
9
- const H = { class: "app-container" }, le = /* @__PURE__ */ j({
9
+ import { _ as X } from "./index.vue_vue_type_script_setup_true_lang-MCS-o6Sy.mjs";
10
+ const Y = { class: "app-container" }, de = /* @__PURE__ */ A({
10
11
  __name: "edit",
11
- setup(Q) {
12
- const { t: m } = E(), p = O();
13
- w.parentIdBizDict.useValues();
14
- const _ = g(), c = g("first");
15
- let o = h({
12
+ setup(Z) {
13
+ const { t: m } = H(), c = Q(), _ = W(), v = g(), p = g("first");
14
+ let o = G({
16
15
  requestId: Math.random() * 10 + "",
17
16
  updateMask: "orgName,address,contactPerson,contactPersonPosi,contactPersonTel,contactPersonMobile,parentId,geoLongitude,geoLatitude",
18
17
  orgType: y.orgType.hall
19
18
  });
20
- const v = g("");
21
- function $(t) {
22
- c.value = t.props.name, o.requestId = Math.random() * 10 + "", o.orgId = p.query.entityKey;
19
+ const P = g("");
20
+ function I(t) {
21
+ p.value = t.props.name;
23
22
  }
24
- const I = h({
23
+ const T = G({
25
24
  orgName: [
26
25
  {
27
26
  required: !0,
@@ -36,6 +35,20 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
36
35
  trigger: "blur"
37
36
  }
38
37
  ],
38
+ geoLongitude: [
39
+ {
40
+ required: !0,
41
+ message: m("sysGov.geoLongitudeRequired"),
42
+ trigger: "change"
43
+ }
44
+ ],
45
+ geoLatitude: [
46
+ {
47
+ required: !0,
48
+ message: m("sysGov.geoLatitudeRequired"),
49
+ trigger: "change"
50
+ }
51
+ ],
39
52
  contactPersonMobile: [
40
53
  {
41
54
  pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
@@ -52,70 +65,73 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
52
65
  ]
53
66
  });
54
67
  function k() {
55
- v.value = o.address;
68
+ P.value = o.address;
56
69
  }
57
- function R(t) {
70
+ function C(t) {
58
71
  o.geoLatitude = t[0], o.geoLongitude = t[1];
59
72
  }
60
- function C(t) {
73
+ function M(t) {
61
74
  o.address = t;
62
75
  }
63
- p.query.entityKey && b.findById({ orgId: p.query.entityKey }).then(({ data: t }) => {
76
+ c.query.entityKey && b.findById({ orgId: c.query.entityKey }).then(({ data: t }) => {
64
77
  Object.assign(o, t), o.parentId === "00000000-0000-0000-0000-000000000000" && (o.parentId = "");
65
78
  });
66
- const T = async () => {
79
+ const N = async () => {
67
80
  var t;
68
- await ((t = _.value) == null ? void 0 : t.validate((n) => {
69
- var u, d;
70
- n && (o.geoLongitude = (u = o.geoLongitude) == null ? void 0 : u.toString(), o.geoLatitude = (d = o.geoLatitude) == null ? void 0 : d.toString(), o.orgId ? b.update(o).then((r) => {
71
- r.status === 200 && (q({
81
+ await ((t = v.value) == null ? void 0 : t.validate((s) => {
82
+ var u, r;
83
+ s && (o.geoLongitude = (u = o.geoLongitude) == null ? void 0 : u.toString(), o.geoLatitude = (r = o.geoLatitude) == null ? void 0 : r.toString(), o.orgId ? b.update(o).then((d) => {
84
+ d.status === 200 && (w({
72
85
  message: m("common.submitSuccess"),
73
86
  type: "success"
74
- }), c.value = "second");
75
- }) : b.create(o).then((r) => {
76
- r.status === 200 && (q({
87
+ }), $.closeTagView(c.fullPath, _, !1));
88
+ }) : b.create(o).then((d) => {
89
+ d.status === 200 && (w({
77
90
  message: m("common.submitSuccess"),
78
91
  type: "success"
79
- }), p.query.entityKey = r.data.orgId, c.value = "second");
92
+ }), $.closeTagView(c.fullPath, _, !1));
80
93
  }));
81
94
  }));
82
95
  };
83
- return (t, n) => {
84
- const u = i("el-input"), d = i("el-form-item"), r = i("el-col"), M = i("el-tree-select"), P = i("el-button"), N = i("jmash-amap"), U = i("el-row"), S = i("el-form"), V = i("el-tab-pane"), B = i("el-tabs"), K = i("el-card");
85
- return f(), D("div", H, [
96
+ return F(() => {
97
+ const t = c.query.entityKey;
98
+ R.parentIdBizDict.useValues(t);
99
+ }), (t, s) => {
100
+ const u = i("el-input"), r = i("el-form-item"), d = i("el-col"), U = i("el-tree-select"), V = i("el-button"), S = i("jmash-amap"), B = i("el-row"), j = i("el-form"), h = i("el-tab-pane"), D = i("el-tabs"), K = i("el-card");
101
+ return f(), O("div", Y, [
86
102
  e(K, { shadow: "never" }, {
87
103
  default: l(() => [
88
- e(B, {
89
- modelValue: c.value,
90
- "onUpdate:modelValue": n[9] || (n[9] = (s) => c.value = s),
91
- onTabClick: $
104
+ e(D, {
105
+ modelValue: p.value,
106
+ "onUpdate:modelValue": s[9] || (s[9] = (n) => p.value = n),
107
+ onTabClick: I
92
108
  }, {
93
109
  default: l(() => [
94
- e(V, {
110
+ e(h, {
95
111
  label: "厅局信息",
96
112
  name: "first"
97
113
  }, {
98
114
  default: l(() => [
99
- e(S, {
115
+ e(j, {
100
116
  ref_key: "sysGovFormRef",
101
- ref: _,
117
+ ref: v,
102
118
  model: a(o),
103
119
  "label-width": "120px",
104
- rules: I
120
+ rules: T
105
121
  }, {
106
122
  default: l(() => [
107
- e(U, null, {
123
+ e(B, null, {
108
124
  default: l(() => [
109
- e(r, { span: 12 }, {
125
+ e(d, { span: 12 }, {
110
126
  default: l(() => [
111
- e(d, {
127
+ e(r, {
112
128
  label: t.$t("sysGov.orgName"),
113
129
  prop: "orgName"
114
130
  }, {
115
131
  default: l(() => [
116
132
  e(u, {
117
133
  modelValue: a(o).orgName,
118
- "onUpdate:modelValue": n[0] || (n[0] = (s) => a(o).orgName = s),
134
+ "onUpdate:modelValue": s[0] || (s[0] = (n) => a(o).orgName = n),
119
135
  placeholder: t.$t("sysGov.orgNameRequired"),
120
136
  maxlength: "50",
121
137
  "show-word-limit": "",
@@ -127,17 +143,17 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
127
143
  ]),
128
144
  _: 1
129
145
  }),
130
- e(r, { span: 12 }, {
146
+ e(d, { span: 12 }, {
131
147
  default: l(() => [
132
- e(d, {
148
+ e(r, {
133
149
  label: t.$t("sysGov.parentId"),
134
150
  prop: "parentId"
135
151
  }, {
136
152
  default: l(() => [
137
- e(M, {
153
+ e(U, {
138
154
  modelValue: a(o).parentId,
139
- "onUpdate:modelValue": n[1] || (n[1] = (s) => a(o).parentId = s),
140
- data: a(w).parentIdBizDict.values,
155
+ "onUpdate:modelValue": s[1] || (s[1] = (n) => a(o).parentId = n),
156
+ data: a(R).parentIdBizDict.values,
141
157
  filterable: "",
142
158
  clearable: "",
143
159
  "check-strictly": "",
@@ -152,16 +168,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
152
168
  ]),
153
169
  _: 1
154
170
  }),
155
- e(r, { span: 12 }, {
171
+ e(d, { span: 12 }, {
156
172
  default: l(() => [
157
- e(d, {
173
+ e(r, {
158
174
  label: t.$t("sysGov.contactPerson"),
159
175
  prop: "contactPerson"
160
176
  }, {
161
177
  default: l(() => [
162
178
  e(u, {
163
179
  modelValue: a(o).contactPerson,
164
- "onUpdate:modelValue": n[2] || (n[2] = (s) => a(o).contactPerson = s),
180
+ "onUpdate:modelValue": s[2] || (s[2] = (n) => a(o).contactPerson = n),
165
181
  placeholder: t.$t("sysGov.contactPersonRequired"),
166
182
  maxlength: "20",
167
183
  "show-word-limit": "",
@@ -173,16 +189,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
173
189
  ]),
174
190
  _: 1
175
191
  }),
176
- e(r, { span: 12 }, {
192
+ e(d, { span: 12 }, {
177
193
  default: l(() => [
178
- e(d, {
194
+ e(r, {
179
195
  label: t.$t("sysGov.contactPersonPosi"),
180
196
  prop: "contactPersonPosi"
181
197
  }, {
182
198
  default: l(() => [
183
199
  e(u, {
184
200
  modelValue: a(o).contactPersonPosi,
185
- "onUpdate:modelValue": n[3] || (n[3] = (s) => a(o).contactPersonPosi = s),
201
+ "onUpdate:modelValue": s[3] || (s[3] = (n) => a(o).contactPersonPosi = n),
186
202
  placeholder: t.$t("sysGov.contactPersonPosiRequired"),
187
203
  maxlength: "30",
188
204
  "show-word-limit": "",
@@ -194,16 +210,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
194
210
  ]),
195
211
  _: 1
196
212
  }),
197
- e(r, { span: 12 }, {
213
+ e(d, { span: 12 }, {
198
214
  default: l(() => [
199
- e(d, {
215
+ e(r, {
200
216
  label: t.$t("sysGov.contactPersonTel"),
201
217
  prop: "contactPersonTel"
202
218
  }, {
203
219
  default: l(() => [
204
220
  e(u, {
205
221
  modelValue: a(o).contactPersonTel,
206
- "onUpdate:modelValue": n[4] || (n[4] = (s) => a(o).contactPersonTel = s),
222
+ "onUpdate:modelValue": s[4] || (s[4] = (n) => a(o).contactPersonTel = n),
207
223
  placeholder: t.$t("sysGov.contactPersonTelRequired"),
208
224
  maxlength: "12",
209
225
  "show-word-limit": "",
@@ -215,16 +231,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
215
231
  ]),
216
232
  _: 1
217
233
  }),
218
- e(r, { span: 12 }, {
234
+ e(d, { span: 12 }, {
219
235
  default: l(() => [
220
- e(d, {
236
+ e(r, {
221
237
  label: t.$t("sysGov.contactPersonMobile"),
222
238
  prop: "contactPersonMobile"
223
239
  }, {
224
240
  default: l(() => [
225
241
  e(u, {
226
242
  modelValue: a(o).contactPersonMobile,
227
- "onUpdate:modelValue": n[5] || (n[5] = (s) => a(o).contactPersonMobile = s),
243
+ "onUpdate:modelValue": s[5] || (s[5] = (n) => a(o).contactPersonMobile = n),
228
244
  placeholder: t.$t("sysGov.contactPersonMobileRequired"),
229
245
  maxlength: "11",
230
246
  "show-word-limit": "",
@@ -236,24 +252,24 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
236
252
  ]),
237
253
  _: 1
238
254
  }),
239
- e(r, { span: 24 }, {
255
+ e(d, { span: 24 }, {
240
256
  default: l(() => [
241
- e(d, {
257
+ e(r, {
242
258
  label: t.$t("sysGov.address"),
243
259
  prop: "address"
244
260
  }, {
245
261
  default: l(() => [
246
262
  e(u, {
247
263
  modelValue: a(o).address,
248
- "onUpdate:modelValue": n[6] || (n[6] = (s) => a(o).address = s),
264
+ "onUpdate:modelValue": s[6] || (s[6] = (n) => a(o).address = n),
249
265
  placeholder: t.$t("sysGov.addressRequired"),
250
266
  maxlength: "120",
251
267
  "show-word-limit": "",
252
268
  clearable: ""
253
269
  }, {
254
270
  append: l(() => [
255
- e(P, {
256
- icon: a(z),
271
+ e(V, {
272
+ icon: a(J),
257
273
  onClick: k
258
274
  }, null, 8, ["icon"])
259
275
  ]),
@@ -265,18 +281,18 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
265
281
  ]),
266
282
  _: 1
267
283
  }),
268
- e(r, { span: 24 }, {
284
+ e(d, { span: 24 }, {
269
285
  default: l(() => [
270
- e(d, null, {
286
+ e(r, null, {
271
287
  default: l(() => [
272
- e(N, {
288
+ e(S, {
273
289
  "security-js-code": a(y).amapConfig.securityJsCode,
274
290
  "api-key": a(y).amapConfig.apiKey,
275
- address: v.value,
291
+ address: P.value,
276
292
  lat: a(o).geoLatitude,
277
293
  lng: a(o).geoLongitude,
278
- onGetLatLng: R,
279
- onGetAddress: C
294
+ onGetLatLng: C,
295
+ onGetAddress: M
280
296
  }, null, 8, ["security-js-code", "api-key", "address", "lat", "lng"])
281
297
  ]),
282
298
  _: 1
@@ -284,16 +300,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
284
300
  ]),
285
301
  _: 1
286
302
  }),
287
- e(r, { span: 12 }, {
303
+ e(d, { span: 12 }, {
288
304
  default: l(() => [
289
- e(d, {
305
+ e(r, {
290
306
  label: t.$t("sysGov.geoLongitude"),
291
307
  prop: "geoLongitude"
292
308
  }, {
293
309
  default: l(() => [
294
310
  e(u, {
295
311
  modelValue: a(o).geoLongitude,
296
- "onUpdate:modelValue": n[7] || (n[7] = (s) => a(o).geoLongitude = s),
312
+ "onUpdate:modelValue": s[7] || (s[7] = (n) => a(o).geoLongitude = n),
297
313
  clearable: "",
298
314
  disabled: !0
299
315
  }, null, 8, ["modelValue"])
@@ -303,16 +319,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
303
319
  ]),
304
320
  _: 1
305
321
  }),
306
- e(r, { span: 12 }, {
322
+ e(d, { span: 12 }, {
307
323
  default: l(() => [
308
- e(d, {
324
+ e(r, {
309
325
  label: t.$t("sysGov.geoLatitude"),
310
326
  prop: "geoLatitude"
311
327
  }, {
312
328
  default: l(() => [
313
329
  e(u, {
314
330
  modelValue: a(o).geoLatitude,
315
- "onUpdate:modelValue": n[8] || (n[8] = (s) => a(o).geoLatitude = s),
331
+ "onUpdate:modelValue": s[8] || (s[8] = (n) => a(o).geoLatitude = n),
316
332
  clearable: "",
317
333
  disabled: !0
318
334
  }, null, 8, ["modelValue"])
@@ -325,14 +341,14 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
325
341
  ]),
326
342
  _: 1
327
343
  }),
328
- e(d, null, {
344
+ e(r, null, {
329
345
  default: l(() => [
330
- e(P, {
346
+ e(V, {
331
347
  type: "primary",
332
- onClick: T
348
+ onClick: N
333
349
  }, {
334
350
  default: l(() => [
335
- A(F(t.$t("common.save")), 1)
351
+ z(E(t.$t("common.save")), 1)
336
352
  ]),
337
353
  _: 1
338
354
  })
@@ -345,16 +361,16 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
345
361
  ]),
346
362
  _: 1
347
363
  }),
348
- a(p).query.entityKey ? (f(), G(V, {
364
+ a(c).query.entityKey ? (f(), L(h, {
349
365
  key: 0,
350
366
  label: "发票信息",
351
367
  name: "second"
352
368
  }, {
353
369
  default: l(() => [
354
- c.value === "second" ? (f(), G(J, { key: 0 })) : L("", !0)
370
+ p.value === "second" ? (f(), L(X, { key: 0 })) : q("", !0)
355
371
  ]),
356
372
  _: 1
357
- })) : L("", !0)
373
+ })) : q("", !0)
358
374
  ]),
359
375
  _: 1
360
376
  }, 8, ["modelValue"])
@@ -366,5 +382,5 @@ const H = { class: "app-container" }, le = /* @__PURE__ */ j({
366
382
  }
367
383
  });
368
384
  export {
369
- le as default
385
+ de as default
370
386
  };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-BJcLgzvH.mjs";
1
+ import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-D31iEutB.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-BV_YHrlE.mjs";
1
+ import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-CAq_h6E3.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-BA39WCu3.mjs";
1
+ import { _ as f } from "./edit.vue_vue_type_script_setup_true_lang-hotcXxq3.mjs";
2
2
  export {
3
3
  f as default
4
4
  };