super-page-designer 2.1.25 → 2.1.28

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 (78) hide show
  1. package/dist/es/components/design/utils/assemblys-config.js +3 -0
  2. package/dist/es/components/design/utils/interfaces/page-design-types.d.ts +4 -0
  3. package/dist/es/components/design/utils/page-i18n-util.d.ts +6 -0
  4. package/dist/es/components/design/utils/page-i18n-util.js +29 -0
  5. package/dist/es/components/design/views/assemblys/button/button/button-attr-base.vue.js +24 -24
  6. package/dist/es/components/design/views/assemblys/button/dropdown/dropdown-attr-base.vue.js +15 -14
  7. package/dist/es/components/design/views/assemblys/button/export-pdf/exportpdf-attr-base.vue.js +18 -18
  8. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-base.vue.js +22 -22
  9. package/dist/es/components/design/views/assemblys/chart/column-line/series/column-line-series-attr-base.vue.js +28 -3
  10. package/dist/es/components/design/views/assemblys/chart/column-line/series/column-line-series-attr.vue.js +8 -1
  11. package/dist/es/components/design/views/assemblys/common/common-i18n-key-input.vue.js +84 -0
  12. package/dist/es/components/design/views/assemblys/common/common-i18n-key-input.vue2.js +4 -0
  13. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.js +1 -1
  14. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue2.js +10 -2
  15. package/dist/es/components/design/views/assemblys/container/card/card-attr-base.vue.js +12 -7
  16. package/dist/es/components/design/views/assemblys/container/card/card-attr.vue2.js +13 -5
  17. package/dist/es/components/design/views/assemblys/container/collapse/collapse-attr-base.vue.js +19 -8
  18. package/dist/es/components/design/views/assemblys/container/collapse/collapse-attr.vue2.js +14 -5
  19. package/dist/es/components/design/views/assemblys/container/tabs/tabs-attr-base.vue.js +15 -9
  20. package/dist/es/components/design/views/assemblys/container/tabs/tabs-attr.vue2.js +14 -5
  21. package/dist/es/components/design/views/assemblys/data/component/composite-header.vue.js +1 -1
  22. package/dist/es/components/design/views/assemblys/data/component/composite-header.vue2.js +3 -4
  23. package/dist/es/components/design/views/assemblys/data/component/data-origin-tree.vue2.js +1 -1
  24. package/dist/es/components/design/views/assemblys/data/component/table-children-column.vue.js +1 -1
  25. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-base.vue.js +1 -1
  26. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-base.vue2.js +3 -16
  27. package/dist/es/components/design/views/assemblys/form/checkbox/checkbox-attr-base.vue.js +9 -9
  28. package/dist/es/components/design/views/assemblys/form/common/row-ul-li.vue.js +23 -13
  29. package/dist/es/components/design/views/assemblys/form/common/suffixmodule.vue.js +32 -38
  30. package/dist/es/components/design/views/assemblys/form/custom/custom-attr-base.vue.js +19 -11
  31. package/dist/es/components/design/views/assemblys/form/date-picker/datepicker-attr-base.vue.js +113 -42
  32. package/dist/es/components/design/views/assemblys/form/date-picker/datepicker-design.vue2.js +16 -1
  33. package/dist/es/components/design/views/assemblys/form/dept-tree/depttree-attr-base.vue.js +13 -13
  34. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-base.vue.js +8 -8
  35. package/dist/es/components/design/views/assemblys/form/file-upload/fileupload-attr-base.vue.js +10 -11
  36. package/dist/es/components/design/views/assemblys/form/input-number/input-number-attr-base.vue.js +16 -18
  37. package/dist/es/components/design/views/assemblys/form/input-text/inputtext-attr-base.vue.js +14 -15
  38. package/dist/es/components/design/views/assemblys/form/label/label-attr-base.vue.js +6 -6
  39. package/dist/es/components/design/views/assemblys/form/link/link-attr-base.vue.js +10 -10
  40. package/dist/es/components/design/views/assemblys/form/radio/radio-attr-base.vue.js +9 -9
  41. package/dist/es/components/design/views/assemblys/form/rich-text/richtext-attr-base.vue.js +10 -11
  42. package/dist/es/components/design/views/assemblys/form/select/select-attr-base.vue.js +16 -17
  43. package/dist/es/components/design/views/assemblys/form/separatelabel/separatelabel-attr-base.vue.js +6 -6
  44. package/dist/es/components/design/views/assemblys/form/switch/switch-attr-base.vue.js +16 -16
  45. package/dist/es/components/design/views/assemblys/form/tag/tag-attr-base.vue.js +9 -9
  46. package/dist/es/components/design/views/assemblys/form/textarea/textarea-attr-base.vue.js +20 -21
  47. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.d.ts +2 -2
  48. package/dist/es/components/design/views/design/page-design.vue.js +13 -2
  49. package/dist/es/components/design/views/design/page-event/config.vue.js +1 -7
  50. package/dist/es/components/design/views/design/page-event/config.vue2.js +7 -1
  51. package/dist/es/components/design/views/design/page-event/page-event-container.vue.js +1 -1
  52. package/dist/es/components/design/views/design/page-event/page-event-content.vue.js +1 -1
  53. package/dist/es/components/design/views/design/view/attr-container.vue.d.ts +2 -0
  54. package/dist/es/components/design/views/design/view/attr-container.vue.js +4 -2
  55. package/dist/es/components/design/views/design/view/components/i18n-setting-enabled.vue.d.ts +18 -0
  56. package/dist/es/components/design/views/design/view/components/i18n-setting-enabled.vue.js +249 -0
  57. package/dist/es/components/design/views/design/view/components/i18n-setting-enabled.vue2.js +4 -0
  58. package/dist/es/components/design/views/design/view/components/i18n-setting-page.vue.d.ts +18 -0
  59. package/dist/es/components/design/views/design/view/components/i18n-setting-page.vue.js +7 -0
  60. package/dist/es/components/design/views/design/view/components/i18n-setting-page.vue2.js +488 -0
  61. package/dist/es/components/design/views/design/view/components/i18n-setting-page.vue3.js +1 -0
  62. package/dist/es/components/design/views/design/view/components/i18n-setting.vue.d.ts +23 -0
  63. package/dist/es/components/design/views/design/view/components/i18n-setting.vue.js +100 -0
  64. package/dist/es/components/design/views/design/view/components/i18n-setting.vue2.js +4 -0
  65. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue.d.ts +17 -9
  66. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue.js +10 -0
  67. package/dist/es/components/design/views/design/view/page-switch.vue.d.ts +2 -0
  68. package/dist/es/components/design/views/design/view/page-switch.vue.js +1 -1
  69. package/dist/es/components/design/views/design/view/page-switch.vue2.js +6 -4
  70. package/dist/es/components/design/views/design/view/view-design-display.vue.js +40 -14
  71. package/dist/es/components/design/views/design/view/view-design.vue.d.ts +2 -1
  72. package/dist/es/components/design/views/design/view/view-design.vue.js +4 -2
  73. package/dist/es/stores/page-store.d.ts +8 -2
  74. package/dist/es/stores/page-store.js +7 -1
  75. package/dist/es/style.css +97 -93
  76. package/package.json +5 -5
  77. package/dist/es/components/design/views/assemblys/common/common-title-setting.vue.js +0 -45
  78. package/dist/es/components/design/views/assemblys/common/common-title-setting.vue2.js +0 -4
@@ -0,0 +1,488 @@
1
+ import { defineComponent, ref, reactive, computed, onMounted, resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, createElementVNode, withDirectives, createBlock, unref, withCtx, createTextVNode, createVNode, renderList, toDisplayString, createCommentVNode } from "vue";
2
+ import { Plus, Reading, Refresh } from "@element-plus/icons-vue";
3
+ import { ElMessageBox, ElMessage } from "element-plus";
4
+ import http from "agilebuilder-ui/src/utils/request";
5
+ const _hoisted_1 = {
6
+ style: { "padding": "0 0 10px 0" },
7
+ class: "amb-design-attr-item-inline"
8
+ };
9
+ const _hoisted_2 = { key: 1 };
10
+ const _hoisted_3 = { key: 1 };
11
+ const _hoisted_4 = { class: "dialog-footer" };
12
+ const _sfc_main = /* @__PURE__ */ defineComponent({
13
+ __name: "i18n-setting-page",
14
+ props: {
15
+ pageDesign: {
16
+ type: Object,
17
+ default: ""
18
+ }
19
+ },
20
+ emits: ["close"],
21
+ setup(__props, { expose: __expose, emit: __emit }) {
22
+ const props = __props;
23
+ ref(false);
24
+ const loading = ref(false);
25
+ const tableHeight = ref(window.innerHeight * 0.5);
26
+ const tableData = ref([]);
27
+ const languages = ref([]);
28
+ const editingIndex = ref(-1);
29
+ const search = ref("");
30
+ const multipleSelection = ref([]);
31
+ const innerVisible = ref(false);
32
+ const addForm = ref({
33
+ CODE: "",
34
+ REMARK: ""
35
+ });
36
+ const rules = reactive({
37
+ CODE: [{ required: true, message: "请输入国际化编码", trigger: "blur" }]
38
+ });
39
+ const translateCodes = () => {
40
+ ElMessageBox.confirm("确定要翻译吗?", "提示", {
41
+ confirmButtonText: "确定",
42
+ cancelButtonText: "取消",
43
+ type: "warning"
44
+ }).then(() => {
45
+ loading.value = true;
46
+ let needTanslateCodes = [];
47
+ if (multipleSelection.value && multipleSelection.value.length > 0) {
48
+ multipleSelection.value.forEach((item) => {
49
+ needTanslateCodes.push(item.CODE);
50
+ });
51
+ } else {
52
+ needTanslateCodes = [...props.pageDesign.i18nKeys];
53
+ }
54
+ http.post(
55
+ window["$vueApp"].config.globalProperties.baseAPI + `/bs/language-package/translate/by-codes/${props.pageDesign.systemCode}`,
56
+ needTanslateCodes
57
+ ).then(() => {
58
+ loading.value = false;
59
+ fetchData();
60
+ }).catch((err) => {
61
+ console.log("翻译失败", err);
62
+ loading.value = false;
63
+ });
64
+ });
65
+ };
66
+ const refreshCache = () => {
67
+ ElMessageBox.confirm("确定要更新缓存吗?", "提示", {
68
+ confirmButtonText: "确定",
69
+ cancelButtonText: "取消",
70
+ type: "warning"
71
+ }).then(() => {
72
+ loading.value = true;
73
+ http.post(
74
+ window["$vueApp"].config.globalProperties.baseAPI + `/bs/language-package/refresh-cache/by-codes/${props.pageDesign.systemCode}`,
75
+ props.pageDesign.i18nKeys
76
+ ).then(() => {
77
+ loading.value = false;
78
+ ElMessage.success("更新成功");
79
+ }).catch(() => {
80
+ loading.value = false;
81
+ ElMessage.error("更新失败");
82
+ });
83
+ });
84
+ };
85
+ const filterTableData = computed(
86
+ () => tableData.value.filter((data) => !search.value || data.CODE.toLowerCase().includes(search.value.toLowerCase()))
87
+ );
88
+ const fetchData = () => {
89
+ http.post(
90
+ window["$vueApp"].config.globalProperties.baseAPI + `/bs/language-value/by-language-codes/${props.pageDesign.systemCode}`,
91
+ props.pageDesign.i18nKeys
92
+ ).then((res) => {
93
+ showData(res);
94
+ }).catch((err) => {
95
+ ElMessage.error("加载失败");
96
+ });
97
+ };
98
+ const showData = (res) => {
99
+ tableData.value = [];
100
+ languages.value = res.languages;
101
+ if (languages.value && languages.value.length > 0) {
102
+ languages.value.forEach((item) => {
103
+ rules[item.value] = [{ required: true, message: `请输入${item.name}`, trigger: "blur" }];
104
+ });
105
+ if (res.data && res.data.length > 0) {
106
+ const dataDict = {};
107
+ res.data.forEach((item) => {
108
+ dataDict[item.CODE] = item;
109
+ });
110
+ props.pageDesign.i18nKeys.forEach((item) => {
111
+ if (dataDict[item]) {
112
+ tableData.value.push(dataDict[item]);
113
+ } else {
114
+ tableData.value.push({
115
+ CODE: item
116
+ });
117
+ }
118
+ });
119
+ } else {
120
+ props.pageDesign.i18nKeys.forEach((item) => {
121
+ tableData.value.push({
122
+ CODE: item
123
+ });
124
+ });
125
+ }
126
+ }
127
+ };
128
+ fetchData();
129
+ const handleEdit = (index, row) => {
130
+ if (editingIndex.value !== -1) {
131
+ ElMessage.warning("请先保存或取消当前编辑行");
132
+ return;
133
+ }
134
+ editingIndex.value = index;
135
+ console.log(index, row);
136
+ };
137
+ const handleDelete = (index, row) => {
138
+ props.pageDesign.i18nKeys = props.pageDesign.i18nKeys.filter((item) => item !== row.CODE);
139
+ tableData.value = tableData.value.filter((item) => item.CODE !== row.CODE);
140
+ ElMessage.success("删除成功");
141
+ };
142
+ const saveEdit = (index, row) => {
143
+ sendSaveRequest(row).then(() => {
144
+ ElMessage.success("保存成功");
145
+ editingIndex.value = -1;
146
+ }).catch(() => {
147
+ ElMessage.error("保存失败");
148
+ });
149
+ };
150
+ const sendSaveRequest = (saveData) => {
151
+ const languageValue = {};
152
+ for (let index = 0; index < languages.value.length; index++) {
153
+ const language = languages.value[index];
154
+ if (!saveData[language.value]) {
155
+ ElMessage.warning(`${language.name}不能为空`);
156
+ return;
157
+ }
158
+ languageValue[language.value] = saveData[language.value];
159
+ }
160
+ const params = {
161
+ code: saveData.CODE,
162
+ remark: saveData.REMARK,
163
+ systemCode: props.pageDesign.systemCode,
164
+ languageValue
165
+ };
166
+ return http.post(window["$vueApp"].config.globalProperties.baseAPI + `/bs/language-value/desiger-save`, params);
167
+ };
168
+ const cancelEdit = (index, row) => {
169
+ editingIndex.value = -1;
170
+ };
171
+ const handleSelectionChange = (val) => {
172
+ multipleSelection.value = val;
173
+ };
174
+ const add = () => {
175
+ innerVisible.value = true;
176
+ };
177
+ const addSave = () => {
178
+ sendSaveRequest(addForm.value).then(() => {
179
+ ElMessage.success("保存成功");
180
+ innerVisible.value = false;
181
+ if (addForm.value.CODE) {
182
+ props.pageDesign.i18nKeys.push(addForm.value.CODE);
183
+ }
184
+ addForm.value = {};
185
+ fetchData();
186
+ }).catch(() => {
187
+ ElMessage.error("保存失败");
188
+ });
189
+ };
190
+ const cancelAdd = () => {
191
+ innerVisible.value = false;
192
+ };
193
+ onMounted(() => {
194
+ });
195
+ __expose({});
196
+ return (_ctx, _cache) => {
197
+ const _component_el_button = resolveComponent("el-button");
198
+ const _component_el_input = resolveComponent("el-input");
199
+ const _component_el_table_column = resolveComponent("el-table-column");
200
+ const _component_el_table = resolveComponent("el-table");
201
+ const _component_el_form_item = resolveComponent("el-form-item");
202
+ const _component_el_form = resolveComponent("el-form");
203
+ const _component_el_dialog = resolveComponent("el-dialog");
204
+ const _directive_loading = resolveDirective("loading");
205
+ return openBlock(), createElementBlock(Fragment, null, [
206
+ createElementVNode("div", _hoisted_1, [
207
+ withDirectives((openBlock(), createBlock(_component_el_button, {
208
+ align: "left",
209
+ type: "primary",
210
+ class: "button--default",
211
+ icon: unref(Plus),
212
+ onClick: add
213
+ }, {
214
+ default: withCtx(() => [
215
+ createTextVNode(" 新增 ")
216
+ ]),
217
+ _: 1
218
+ }, 8, ["icon"])), [
219
+ [_directive_loading, loading.value]
220
+ ]),
221
+ withDirectives((openBlock(), createBlock(_component_el_button, {
222
+ align: "left",
223
+ type: "primary",
224
+ class: "button--default",
225
+ icon: unref(Reading),
226
+ onClick: translateCodes
227
+ }, {
228
+ default: withCtx(() => [
229
+ createTextVNode(" 自动翻译 ")
230
+ ]),
231
+ _: 1
232
+ }, 8, ["icon"])), [
233
+ [_directive_loading, loading.value]
234
+ ]),
235
+ withDirectives((openBlock(), createBlock(_component_el_button, {
236
+ align: "left",
237
+ class: "button--default",
238
+ icon: unref(Refresh),
239
+ onClick: refreshCache
240
+ }, {
241
+ default: withCtx(() => [
242
+ createTextVNode(" 更新缓存 ")
243
+ ]),
244
+ _: 1
245
+ }, 8, ["icon"])), [
246
+ [_directive_loading, loading.value]
247
+ ]),
248
+ withDirectives((openBlock(), createBlock(_component_el_button, {
249
+ align: "left",
250
+ class: "button--default",
251
+ icon: unref(Refresh),
252
+ onClick: fetchData
253
+ }, {
254
+ default: withCtx(() => [
255
+ createTextVNode(" 刷新 ")
256
+ ]),
257
+ _: 1
258
+ }, 8, ["icon"])), [
259
+ [_directive_loading, loading.value]
260
+ ]),
261
+ createVNode(_component_el_input, {
262
+ style: { "width": "200px", "margin-left": "20px" },
263
+ modelValue: search.value,
264
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
265
+ clearable: "",
266
+ placeholder: "筛选"
267
+ }, null, 8, ["modelValue"])
268
+ ]),
269
+ withDirectives((openBlock(), createBlock(_component_el_table, {
270
+ data: filterTableData.value,
271
+ border: "",
272
+ stripe: "",
273
+ onSelectionChange: handleSelectionChange,
274
+ style: { "width": "100%" },
275
+ height: tableHeight.value,
276
+ size: "small"
277
+ }, {
278
+ default: withCtx(() => [
279
+ createVNode(_component_el_table_column, {
280
+ type: "selection",
281
+ width: "55",
282
+ align: "center"
283
+ }),
284
+ createVNode(_component_el_table_column, {
285
+ type: "index",
286
+ width: "50",
287
+ align: "center",
288
+ label: "序号"
289
+ }),
290
+ createVNode(_component_el_table_column, {
291
+ prop: "CODE",
292
+ label: "国际化编码",
293
+ width: "180",
294
+ align: "center"
295
+ }),
296
+ (openBlock(true), createElementBlock(Fragment, null, renderList(languages.value, (language) => {
297
+ return openBlock(), createBlock(_component_el_table_column, {
298
+ prop: language.value,
299
+ label: language.name,
300
+ align: "center"
301
+ }, {
302
+ default: withCtx((scope) => [
303
+ editingIndex.value === scope.$index ? (openBlock(), createBlock(_component_el_input, {
304
+ key: 0,
305
+ modelValue: scope.row[language.value],
306
+ "onUpdate:modelValue": ($event) => scope.row[language.value] = $event,
307
+ size: "small",
308
+ style: { "text-align": "center" },
309
+ class: "centered-input"
310
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(scope.row[language.value]), 1))
311
+ ]),
312
+ _: 2
313
+ }, 1032, ["prop", "label"]);
314
+ }), 256)),
315
+ createVNode(_component_el_table_column, {
316
+ prop: "REMARK",
317
+ label: "备注",
318
+ width: "180",
319
+ align: "center"
320
+ }, {
321
+ default: withCtx((scope) => [
322
+ editingIndex.value === scope.$index ? (openBlock(), createBlock(_component_el_input, {
323
+ key: 0,
324
+ modelValue: scope.row.REMARK,
325
+ "onUpdate:modelValue": ($event) => scope.row.REMARK = $event,
326
+ size: "small",
327
+ class: "centered-input"
328
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(scope.row.REMARK), 1))
329
+ ]),
330
+ _: 1
331
+ }),
332
+ createVNode(_component_el_table_column, {
333
+ prop: "TRANSLATED",
334
+ label: "已翻译",
335
+ width: "180",
336
+ align: "center"
337
+ }, {
338
+ default: withCtx((scope) => [
339
+ createTextVNode(toDisplayString(scope.row.TRANSLATED === true ? "是" : "否"), 1)
340
+ ]),
341
+ _: 1
342
+ }),
343
+ createVNode(_component_el_table_column, {
344
+ align: "center",
345
+ label: "操作"
346
+ }, {
347
+ default: withCtx((scope) => [
348
+ editingIndex.value === -1 || editingIndex.value !== scope.$index ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
349
+ createVNode(_component_el_button, {
350
+ size: "small",
351
+ onClick: ($event) => handleEdit(scope.$index, scope.row)
352
+ }, {
353
+ default: withCtx(() => [
354
+ createTextVNode(" 修改 ")
355
+ ]),
356
+ _: 2
357
+ }, 1032, ["onClick"]),
358
+ createVNode(_component_el_button, {
359
+ size: "small",
360
+ type: "danger",
361
+ onClick: ($event) => handleDelete(scope.$index, scope.row)
362
+ }, {
363
+ default: withCtx(() => [
364
+ createTextVNode(" 删除 ")
365
+ ]),
366
+ _: 2
367
+ }, 1032, ["onClick"])
368
+ ], 64)) : createCommentVNode("", true),
369
+ editingIndex.value === scope.$index ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
370
+ createVNode(_component_el_button, {
371
+ size: "small",
372
+ type: "primary",
373
+ onClick: ($event) => saveEdit(scope.$index, scope.row)
374
+ }, {
375
+ default: withCtx(() => [
376
+ createTextVNode(" 保存 ")
377
+ ]),
378
+ _: 2
379
+ }, 1032, ["onClick"]),
380
+ createVNode(_component_el_button, {
381
+ size: "small",
382
+ onClick: ($event) => cancelEdit(scope.$index, scope.row)
383
+ }, {
384
+ default: withCtx(() => [
385
+ createTextVNode(" 取消编辑 ")
386
+ ]),
387
+ _: 2
388
+ }, 1032, ["onClick"])
389
+ ], 64)) : createCommentVNode("", true)
390
+ ]),
391
+ _: 1
392
+ })
393
+ ]),
394
+ _: 1
395
+ }, 8, ["data", "height"])), [
396
+ [_directive_loading, loading.value]
397
+ ]),
398
+ createElementVNode("span", null, "总条数:" + toDisplayString(filterTableData.value.length), 1),
399
+ innerVisible.value ? (openBlock(), createBlock(_component_el_dialog, {
400
+ key: 0,
401
+ modelValue: innerVisible.value,
402
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => innerVisible.value = $event),
403
+ width: "500",
404
+ title: "新增",
405
+ "append-to-body": ""
406
+ }, {
407
+ footer: withCtx(() => [
408
+ createElementVNode("div", _hoisted_4, [
409
+ createVNode(_component_el_button, { onClick: cancelAdd }, {
410
+ default: withCtx(() => [
411
+ createTextVNode("取消")
412
+ ]),
413
+ _: 1
414
+ }),
415
+ createVNode(_component_el_button, {
416
+ type: "primary",
417
+ onClick: addSave
418
+ }, {
419
+ default: withCtx(() => [
420
+ createTextVNode(" 保存 ")
421
+ ]),
422
+ _: 1
423
+ })
424
+ ])
425
+ ]),
426
+ default: withCtx(() => [
427
+ createVNode(_component_el_form, {
428
+ ref: "addFormRef",
429
+ style: { "max-width": "600px" },
430
+ model: addForm.value,
431
+ rules,
432
+ "label-width": "auto",
433
+ class: "demo-addForm",
434
+ size: "small",
435
+ "status-icon": ""
436
+ }, {
437
+ default: withCtx(() => [
438
+ createVNode(_component_el_form_item, {
439
+ label: "编码",
440
+ prop: "CODE"
441
+ }, {
442
+ default: withCtx(() => [
443
+ createVNode(_component_el_input, {
444
+ modelValue: addForm.value.CODE,
445
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => addForm.value.CODE = $event)
446
+ }, null, 8, ["modelValue"])
447
+ ]),
448
+ _: 1
449
+ }),
450
+ (openBlock(true), createElementBlock(Fragment, null, renderList(languages.value, (language) => {
451
+ return openBlock(), createBlock(_component_el_form_item, {
452
+ prop: language.value,
453
+ label: language.name
454
+ }, {
455
+ default: withCtx(() => [
456
+ createVNode(_component_el_input, {
457
+ modelValue: addForm.value[language.value],
458
+ "onUpdate:modelValue": ($event) => addForm.value[language.value] = $event
459
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
460
+ ]),
461
+ _: 2
462
+ }, 1032, ["prop", "label"]);
463
+ }), 256)),
464
+ createVNode(_component_el_form_item, {
465
+ label: "备注",
466
+ prop: "REMARK"
467
+ }, {
468
+ default: withCtx(() => [
469
+ createVNode(_component_el_input, {
470
+ modelValue: addForm.value.REMARK,
471
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => addForm.value.REMARK = $event)
472
+ }, null, 8, ["modelValue"])
473
+ ]),
474
+ _: 1
475
+ })
476
+ ]),
477
+ _: 1
478
+ }, 8, ["model", "rules"])
479
+ ]),
480
+ _: 1
481
+ }, 8, ["modelValue"])) : createCommentVNode("", true)
482
+ ], 64);
483
+ };
484
+ }
485
+ });
486
+ export {
487
+ _sfc_main as default
488
+ };
@@ -0,0 +1,23 @@
1
+ import { PageDesign } from '../../../../utils/interfaces/page-design-types';
2
+
3
+ declare function show(): void;
4
+ declare const _default: import('vue').DefineComponent<{
5
+ pageDesign: {
6
+ type: () => PageDesign;
7
+ default: string;
8
+ };
9
+ }, {
10
+ show: typeof show;
11
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ close: (...args: any[]) => void;
13
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
14
+ pageDesign: {
15
+ type: () => PageDesign;
16
+ default: string;
17
+ };
18
+ }>> & {
19
+ onClose?: (...args: any[]) => any;
20
+ }, {
21
+ pageDesign: PageDesign;
22
+ }, {}>;
23
+ export default _default;
@@ -0,0 +1,100 @@
1
+ import { defineComponent, ref, onMounted, resolveComponent, openBlock, createBlock, withCtx, createVNode, nextTick } from "vue";
2
+ import _sfc_main$1 from "./i18n-setting-enabled.vue.js";
3
+ import i18nSettingPage from "./i18n-setting-page.vue.js";
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "i18n-setting",
6
+ props: {
7
+ pageDesign: {
8
+ type: Object,
9
+ default: ""
10
+ }
11
+ },
12
+ emits: ["close"],
13
+ setup(__props, { expose: __expose, emit: __emit }) {
14
+ const emits = __emit;
15
+ const dialogVisible = ref(false);
16
+ const activeName = ref("page");
17
+ const handleClick = (tab, event) => {
18
+ console.log(tab, event);
19
+ };
20
+ const dialogRef = ref();
21
+ const dialogContentRef = ref();
22
+ function show() {
23
+ dialogVisible.value = true;
24
+ }
25
+ function opened() {
26
+ nextTick(() => {
27
+ if (dialogRef.value.dialogContentRef) {
28
+ dialogContentRef.value = dialogRef.value.dialogContentRef;
29
+ }
30
+ });
31
+ }
32
+ function close() {
33
+ dialogVisible.value = false;
34
+ emits("close");
35
+ }
36
+ onMounted(() => {
37
+ });
38
+ __expose({
39
+ show
40
+ });
41
+ return (_ctx, _cache) => {
42
+ const _component_el_tab_pane = resolveComponent("el-tab-pane");
43
+ const _component_el_tabs = resolveComponent("el-tabs");
44
+ const _component_el_dialog = resolveComponent("el-dialog");
45
+ return openBlock(), createBlock(_component_el_dialog, {
46
+ modelValue: dialogVisible.value,
47
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
48
+ "close-on-press-escape": "",
49
+ ref_key: "dialogRef",
50
+ ref: dialogRef,
51
+ "destroy-on-close": "",
52
+ style: { height: "75vh" },
53
+ width: "70%",
54
+ title: "国际化配置",
55
+ onOpened: opened,
56
+ onClose: close
57
+ }, {
58
+ default: withCtx(() => [
59
+ createVNode(_component_el_tabs, {
60
+ modelValue: activeName.value,
61
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeName.value = $event),
62
+ class: "demo-tabs",
63
+ onTabClick: handleClick
64
+ }, {
65
+ default: withCtx(() => [
66
+ createVNode(_component_el_tab_pane, {
67
+ label: "当前页面",
68
+ name: "page",
69
+ style: { "height": "60vh" }
70
+ }, {
71
+ default: withCtx(() => [
72
+ createVNode(i18nSettingPage, { "page-design": __props.pageDesign }, null, 8, ["page-design"])
73
+ ]),
74
+ _: 1
75
+ }),
76
+ createVNode(_component_el_tab_pane, {
77
+ label: "所有可用",
78
+ name: "enabled",
79
+ style: { "height": "60vh" }
80
+ }, {
81
+ default: withCtx(() => [
82
+ createVNode(_sfc_main$1, {
83
+ "system-code": __props.pageDesign.systemCode,
84
+ dialogContentRef: dialogContentRef.value
85
+ }, null, 8, ["system-code", "dialogContentRef"])
86
+ ]),
87
+ _: 1
88
+ })
89
+ ]),
90
+ _: 1
91
+ }, 8, ["modelValue"])
92
+ ]),
93
+ _: 1
94
+ }, 8, ["modelValue"]);
95
+ };
96
+ }
97
+ });
98
+ export {
99
+ _sfc_main as default
100
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./i18n-setting.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -1,18 +1,26 @@
1
+ import { PageDesign } from '../../../../utils/interfaces/page-design-types';
2
+
3
+ interface MyProps {
4
+ pageDesign: PageDesign;
5
+ }
1
6
  /**
2
7
  * 打开对象框
3
8
  */
4
9
  declare function openDialog(): void;
5
- declare const _default: import('vue').DefineComponent<Readonly<import('vue').ComponentPropsOptions<{
6
- [x: string]: unknown;
7
- }>>, {
10
+ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<MyProps>, {
8
11
  openDialog: typeof openDialog;
9
12
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
13
  close: (...args: any[]) => void;
11
- }, string, import('vue').PublicProps, Readonly<readonly string[] | import('vue').ExtractPropTypes<Readonly<import('vue').ComponentObjectPropsOptions<{
12
- [x: string]: unknown;
13
- }>>>> & {
14
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<MyProps>>> & {
14
15
  onClose?: (...args: any[]) => any;
15
- }, {
16
- readonly [x: number]: string;
17
- } | {}, {}>;
16
+ }, {}, {}>;
18
17
  export default _default;
18
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
19
+ type __VLS_TypePropsToRuntimeProps<T> = {
20
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
21
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
22
+ } : {
23
+ type: import('vue').PropType<T[K]>;
24
+ required: true;
25
+ };
26
+ };