liyu-pc-base 1.0.816 → 1.0.821
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.
- package/dist/{FieldRender-C6m69Zxf.js → FieldRender-CWf1lmO2.js} +1 -1
- package/dist/{FieldRender-C6m69Zxf.js.map → FieldRender-CWf1lmO2.js.map} +1 -1
- package/dist/{FieldRender2-CXAWdEfV.js → FieldRender2-DS1HanOb.js} +276 -263
- package/dist/FieldRender2-DS1HanOb.js.map +1 -0
- package/dist/{FormRender3-CavZRKm7.js → FormRender3-ByeYf048.js} +38 -33
- package/dist/FormRender3-ByeYf048.js.map +1 -0
- package/dist/{RemoteSelectPro-JEL25YVi.js → RemoteSelectPro-UGspfCN0.js} +1 -1
- package/dist/{RemoteSelectPro-JEL25YVi.js.map → RemoteSelectPro-UGspfCN0.js.map} +1 -1
- package/dist/{SearchRender-BhrXS1_v.js → SearchRender-A9FKXeDW.js} +1 -1
- package/dist/{SearchRender-BhrXS1_v.js.map → SearchRender-A9FKXeDW.js.map} +1 -1
- package/dist/{TinymceEditor-q2sEUESr.js → TinymceEditor-C_nD6tb-.js} +14 -8
- package/dist/TinymceEditor-C_nD6tb-.js.map +1 -0
- package/dist/components/index.js +7 -7
- package/dist/index.js +1 -1
- package/dist/liyu-pc-base.css +1 -1
- package/dist/{tableModal-B22wvuYk.js → tableModal-Bhqi_JEq.js} +1 -1
- package/dist/{tableModal-B22wvuYk.js.map → tableModal-Bhqi_JEq.js.map} +1 -1
- package/dist/{tablePro-Djf-Kq-X.js → tablePro-B4f5lZnM.js} +2 -2
- package/dist/{tablePro-Djf-Kq-X.js.map → tablePro-B4f5lZnM.js.map} +1 -1
- package/package.json +1 -1
- package/dist/FieldRender2-CXAWdEfV.js.map +0 -1
- package/dist/FormRender3-CavZRKm7.js.map +0 -1
- package/dist/TinymceEditor-q2sEUESr.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { r as e } from "./rolldown-runtime-DY7j01NX.js";
|
|
2
2
|
import { t } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
3
3
|
import { s as n } from "./function-aZC5WIb7.js";
|
|
4
|
-
import { d as r } from "./TinymceEditor-
|
|
5
|
-
import { t as i } from "./FieldRender2-
|
|
6
|
-
import { Fragment as a,
|
|
7
|
-
import { message as
|
|
4
|
+
import { d as r } from "./TinymceEditor-C_nD6tb-.js";
|
|
5
|
+
import { t as i } from "./FieldRender2-DS1HanOb.js";
|
|
6
|
+
import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createSlots as u, createTextVNode as d, createVNode as f, defineComponent as p, openBlock as m, provide as h, reactive as g, ref as _, renderList as v, resolveComponent as y, toDisplayString as b, watch as x, withCtx as S } from "vue";
|
|
7
|
+
import { message as C } from "ant-design-vue";
|
|
8
8
|
//#region src/components/FormRender/FieldCol.vue?vue&type=script&lang.ts
|
|
9
|
-
var
|
|
9
|
+
var w = p({
|
|
10
10
|
name: "FieldCol",
|
|
11
11
|
components: { FieldRender2: i },
|
|
12
12
|
props: {
|
|
@@ -57,7 +57,7 @@ var S = f({
|
|
|
57
57
|
emits: ["update_model", "update_name2"],
|
|
58
58
|
setup(e, { emit: t }) {
|
|
59
59
|
return {
|
|
60
|
-
is_show_field:
|
|
60
|
+
is_show_field: _(!0),
|
|
61
61
|
onUpdateModel: (e) => {
|
|
62
62
|
t("update_model", e);
|
|
63
63
|
},
|
|
@@ -69,15 +69,15 @@ var S = f({
|
|
|
69
69
|
});
|
|
70
70
|
//#endregion
|
|
71
71
|
//#region src/components/FormRender/FieldCol.vue
|
|
72
|
-
function
|
|
73
|
-
let
|
|
74
|
-
return
|
|
72
|
+
function T(e, t, n, r, i, a) {
|
|
73
|
+
let o = y("field-render-2"), c = y("a-col");
|
|
74
|
+
return m(), s(c, {
|
|
75
75
|
span: e.is_show_field ? e.field_item.span === void 0 ? 24 : e.field_item.span : 0,
|
|
76
76
|
offset: e.field_item.offset,
|
|
77
77
|
push: e.field_item.push,
|
|
78
78
|
pull: e.field_item.pull
|
|
79
79
|
}, {
|
|
80
|
-
default:
|
|
80
|
+
default: S(() => [(m(), s(o, {
|
|
81
81
|
value: e.model[e.field_item.name],
|
|
82
82
|
"onUpdate:value": t[0] ||= (t) => e.model[e.field_item.name] = t,
|
|
83
83
|
label: e.model[e.field_item.name + ".label"],
|
|
@@ -128,10 +128,10 @@ function C(e, t, n, r, i, a) {
|
|
|
128
128
|
}
|
|
129
129
|
//#endregion
|
|
130
130
|
//#region src/components/FormRender/FormRender3.vue?vue&type=script&lang.ts
|
|
131
|
-
var
|
|
131
|
+
var E = p({
|
|
132
132
|
name: "FormRender3",
|
|
133
133
|
components: {
|
|
134
|
-
FieldCol: /* @__PURE__ */ t(
|
|
134
|
+
FieldCol: /* @__PURE__ */ t(w, [["render", T], ["__scopeId", "data-v-bd6bf9b4"]]),
|
|
135
135
|
debugCode: r
|
|
136
136
|
},
|
|
137
137
|
props: {
|
|
@@ -180,14 +180,18 @@ var w = f({
|
|
|
180
180
|
workerHostFunctions: {
|
|
181
181
|
type: Object,
|
|
182
182
|
default: () => {}
|
|
183
|
+
},
|
|
184
|
+
lockStructure: {
|
|
185
|
+
type: Boolean,
|
|
186
|
+
default: !1
|
|
183
187
|
}
|
|
184
188
|
},
|
|
185
189
|
emits: ["update_model"],
|
|
186
190
|
setup(e, { emit: t }) {
|
|
187
|
-
if (e.form.watch) for (let t in e.form.watch)
|
|
191
|
+
if (h("FORM_LOCK_STRUCTURE", o(() => e.lockStructure)), e.form.watch) for (let t in e.form.watch) x(() => e.model[t], () => {
|
|
188
192
|
e.form.watch[t](e.model, e.form);
|
|
189
193
|
});
|
|
190
|
-
let r = e.globalInnerModel ||
|
|
194
|
+
let r = e.globalInnerModel || g({});
|
|
191
195
|
return {
|
|
192
196
|
validate: () => e.form.validate(),
|
|
193
197
|
onUpdateModel: (e) => {
|
|
@@ -208,7 +212,7 @@ var w = f({
|
|
|
208
212
|
keyPath: [...e.baseKeyPath, t.group_name]
|
|
209
213
|
}, e.workerHostFunctions || {});
|
|
210
214
|
} catch (e) {
|
|
211
|
-
|
|
215
|
+
C.error(e.message);
|
|
212
216
|
return;
|
|
213
217
|
}
|
|
214
218
|
r && Object.assign(e.model, r);
|
|
@@ -224,13 +228,13 @@ var w = f({
|
|
|
224
228
|
}
|
|
225
229
|
};
|
|
226
230
|
}
|
|
227
|
-
}),
|
|
231
|
+
}), D = /* @__PURE__ */ e({ default: () => A }), O = {
|
|
228
232
|
key: 0,
|
|
229
233
|
class: "group-custom-btn-list"
|
|
230
234
|
};
|
|
231
|
-
function
|
|
232
|
-
let
|
|
233
|
-
return
|
|
235
|
+
function k(e, t, n, r, i, o) {
|
|
236
|
+
let p = y("a-button"), h = y("debug-code"), g = y("field-col"), _ = y("a-col"), x = y("a-row"), C = y("a-card"), w = y("a-form");
|
|
237
|
+
return m(), s(w, {
|
|
234
238
|
autocomplete: "off",
|
|
235
239
|
model: e.model,
|
|
236
240
|
rules: e.form.rules,
|
|
@@ -239,40 +243,41 @@ function D(e, t, n, r, i, f) {
|
|
|
239
243
|
class: "cards",
|
|
240
244
|
validateTrigger: !1
|
|
241
245
|
}, {
|
|
242
|
-
default:
|
|
246
|
+
default: S(() => [(m(!0), l(a, null, v(e.form.dynamicFieldList, (t, n) => (m(), s(C, {
|
|
243
247
|
key: n,
|
|
244
248
|
"body-style": { padding: "10px 10px 0" },
|
|
245
249
|
style: { "margin-bottom": "5px" }
|
|
246
|
-
},
|
|
247
|
-
extra:
|
|
250
|
+
}, u({
|
|
251
|
+
extra: S(() => [t.custom_btn_list && t.custom_btn_list.length > 0 ? (m(), l("div", O, [(m(!0), l(a, null, v(t.custom_btn_list, (t) => (m(), s(h, {
|
|
248
252
|
action_code_id: t.action_code_id,
|
|
249
253
|
code: t.code,
|
|
250
254
|
"onUpdate:code": (e) => t.code = e
|
|
251
255
|
}, {
|
|
252
|
-
default:
|
|
256
|
+
default: S(() => [!e.lockStructure || t.show_on_modify ? (m(), s(p, {
|
|
257
|
+
key: 0,
|
|
253
258
|
size: "small",
|
|
254
259
|
type: t.type,
|
|
255
260
|
danger: t.danger,
|
|
256
261
|
onClick: (n) => e.handleCustomBtnClick(t)
|
|
257
262
|
}, {
|
|
258
|
-
default:
|
|
263
|
+
default: S(() => [d(b(t.label), 1)]),
|
|
259
264
|
_: 2
|
|
260
265
|
}, 1032, [
|
|
261
266
|
"type",
|
|
262
267
|
"danger",
|
|
263
268
|
"onClick"
|
|
264
|
-
])]),
|
|
269
|
+
])) : c("", !0)]),
|
|
265
270
|
_: 2
|
|
266
271
|
}, 1032, [
|
|
267
272
|
"action_code_id",
|
|
268
273
|
"code",
|
|
269
274
|
"onUpdate:code"
|
|
270
|
-
]))), 256))])) :
|
|
271
|
-
default:
|
|
275
|
+
]))), 256))])) : c("", !0)]),
|
|
276
|
+
default: S(() => [f(x, {
|
|
272
277
|
gutter: 5,
|
|
273
278
|
type: "flex"
|
|
274
279
|
}, {
|
|
275
|
-
default:
|
|
280
|
+
default: S(() => [e.getColFieldList(t?.children).length > 0 ? (m(!0), l(a, { key: 0 }, v(e.getColFieldList(t?.children), (n) => (m(), s(_, {
|
|
276
281
|
key: n[0],
|
|
277
282
|
xl: 24 / e.getColFieldList(t?.children).length,
|
|
278
283
|
lg: 24,
|
|
@@ -280,7 +285,7 @@ function D(e, t, n, r, i, f) {
|
|
|
280
285
|
sm: 24,
|
|
281
286
|
xs: 24
|
|
282
287
|
}, {
|
|
283
|
-
default:
|
|
288
|
+
default: S(() => [(m(!0), l(a, null, v(t?.children.slice(n[0], n[1]), (t, n) => (m(), s(g, {
|
|
284
289
|
key: n,
|
|
285
290
|
model: e.model,
|
|
286
291
|
"out-model": e.outModel,
|
|
@@ -313,7 +318,7 @@ function D(e, t, n, r, i, f) {
|
|
|
313
318
|
"onUpdate_name2"
|
|
314
319
|
]))), 128))]),
|
|
315
320
|
_: 2
|
|
316
|
-
}, 1032, ["xl"]))), 128)) : (
|
|
321
|
+
}, 1032, ["xl"]))), 128)) : (m(!0), l(a, { key: 1 }, v(t?.children, (t, n) => (m(), s(g, {
|
|
317
322
|
key: n,
|
|
318
323
|
model: e.model,
|
|
319
324
|
"out-model": e.outModel,
|
|
@@ -350,7 +355,7 @@ function D(e, t, n, r, i, f) {
|
|
|
350
355
|
_: 2
|
|
351
356
|
}, [t.group_name && (e.form.dynamicFieldList.length > 1 || e.alwaysShowGroup) ? {
|
|
352
357
|
name: "title",
|
|
353
|
-
fn:
|
|
358
|
+
fn: S(() => [d(b(t.group_name), 1)]),
|
|
354
359
|
key: "0"
|
|
355
360
|
} : void 0]), 1024))), 128))]),
|
|
356
361
|
_: 1
|
|
@@ -360,6 +365,6 @@ function D(e, t, n, r, i, f) {
|
|
|
360
365
|
"layout"
|
|
361
366
|
]);
|
|
362
367
|
}
|
|
363
|
-
var
|
|
368
|
+
var A = /*#__PURE__*/ t(E, [["render", k], ["__scopeId", "data-v-fbfe34e4"]]);
|
|
364
369
|
//#endregion
|
|
365
|
-
export {
|
|
370
|
+
export { D as n, A as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormRender3-ByeYf048.js","names":[],"sources":["../src/components/FormRender/FieldCol.vue","../src/components/FormRender/FieldCol.vue","../src/components/FormRender/FormRender3.vue","../src/components/FormRender/FormRender3.vue"],"sourcesContent":["<template>\n <a-col\n :span=\"is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\"\n :offset=\"field_item.offset\"\n :push=\"field_item.push\"\n :pull=\"field_item.pull\"\n >\n <field-render-2\n v-model:value=\"model[field_item.name]\"\n v-model:label=\"model[field_item.name + '.label']\"\n v-model:is_show_field=\"is_show_field\"\n :field=\"field_item\"\n :formModel=\"model\"\n :outModel=\"outModel\"\n :key=\"field_item.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field_item.datasource ? field_item.datasource : field_item.name]\"\n :alwaysShowGroup=\"alwaysShowGroup\"\n :context=\"context\"\n :inner-model=\"innerModel\"\n :global-inner-model=\"globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FieldCol',\n components: {\n FieldRender2,\n },\n props: {\n model: {\n type: Object,\n required: true,\n },\n outModel: {\n type: Object,\n default: () => {},\n },\n options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n field_item: {\n type: Object,\n default: () => {},\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_name2'],\n setup(props, { emit }) {\n const is_show_field = ref(true);\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_name2', params);\n };\n return { is_show_field, onUpdateModel, onUpdateName2 };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.cards {\n ::v-deep(.ant-card-head) {\n padding: 0 8px;\n min-height: 44px;\n background-color: rgba(0, 0, 0, 0.02);\n }\n}\n</style>\n","<template>\n <a-col\n :span=\"is_show_field ? (field_item.span !== undefined ? field_item.span : 24) : 0\"\n :offset=\"field_item.offset\"\n :push=\"field_item.push\"\n :pull=\"field_item.pull\"\n >\n <field-render-2\n v-model:value=\"model[field_item.name]\"\n v-model:label=\"model[field_item.name + '.label']\"\n v-model:is_show_field=\"is_show_field\"\n :field=\"field_item\"\n :formModel=\"model\"\n :outModel=\"outModel\"\n :key=\"field_item.name\"\n :validateInfos=\"validateInfos\"\n :options=\"options[field_item.datasource ? field_item.datasource : field_item.name]\"\n :alwaysShowGroup=\"alwaysShowGroup\"\n :context=\"context\"\n :inner-model=\"innerModel\"\n :global-inner-model=\"globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n />\n </a-col>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport FieldRender2 from 'liyu-pc-base/components/FormRender/FieldRender2.vue';\n\nexport default defineComponent({\n name: 'FieldCol',\n components: {\n FieldRender2,\n },\n props: {\n model: {\n type: Object,\n required: true,\n },\n outModel: {\n type: Object,\n default: () => {},\n },\n options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n field_item: {\n type: Object,\n default: () => {},\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n },\n emits: ['update_model', 'update_name2'],\n setup(props, { emit }) {\n const is_show_field = ref(true);\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_name2', params);\n };\n return { is_show_field, onUpdateModel, onUpdateName2 };\n },\n});\n</script>\n<style lang=\"less\" scoped>\n.cards {\n ::v-deep(.ant-card-head) {\n padding: 0 8px;\n min-height: 44px;\n background-color: rgba(0, 0, 0, 0.02);\n }\n}\n</style>\n","<template>\n <a-form\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n scrollToFirstError\n class=\"cards\"\n :validateTrigger=\"false\"\n >\n <template\n v-for=\"(row, index) in form.dynamicFieldList\"\n :key=\"index\"\n >\n <a-card\n :body-style=\"{ padding: '10px 10px 0' }\"\n style=\"margin-bottom: 5px\"\n >\n <template\n v-if=\"row.group_name && (form.dynamicFieldList.length > 1 || alwaysShowGroup)\"\n #title\n >\n {{ row.group_name }}\n </template>\n <template #extra>\n <div\n class=\"group-custom-btn-list\"\n v-if=\"row.custom_btn_list && row.custom_btn_list.length > 0\"\n >\n <template v-for=\"btn in row.custom_btn_list\">\n <debug-code\n :action_code_id=\"btn.action_code_id\"\n v-model:code=\"btn.code\"\n >\n <a-button\n v-if=\"!lockStructure || btn.show_on_modify\"\n size=\"small\"\n :type=\"btn.type\"\n :danger=\"btn.danger\"\n @click=\"handleCustomBtnClick(btn)\"\n >\n {{ btn.label }}\n </a-button>\n </debug-code>\n </template>\n </div>\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <template v-if=\"getColFieldList(row?.children).length > 0\">\n <a-col\n v-for=\"col in getColFieldList(row?.children)\"\n :key=\"col[0]\"\n :xl=\"24 / getColFieldList(row?.children).length\"\n :lg=\"24\"\n :md=\"24\"\n :sm=\"24\"\n :xs=\"24\"\n >\n <field-col\n v-for=\"(field_item, i) in row?.children.slice(col[0], col[1])\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-col>\n </template>\n <field-col\n v-else\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-row>\n </a-card>\n </template>\n </a-form>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, reactive, PropType, provide, computed } from 'vue';\nimport FieldCol from './FieldCol.vue';\nimport { executeScriptInWorker } from 'liyu-pc-base/utils/function';\nimport { message } from 'ant-design-vue';\nimport debugCode from 'liyu-pc-base/components/FormRender/debugCode.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldCol,\n debugCode,\n },\n props: {\n model: {\n type: Object,\n required: true,\n },\n outModel: {\n type: Object,\n default: () => {},\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n type: Object,\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n // 修改模式传入 true:深层 FormTemplate/FormItem 隐藏系统按钮与行删除(provide 给子组件)\n lockStructure: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update_model'],\n setup(props, { emit }) {\n // 向深层子组件(FieldCol → FormTemplate/FormItem 等)提供 lockStructure,避免逐层透传\n provide('FORM_LOCK_STRUCTURE', computed(() => props.lockStructure));\n // 解决传入非响应式数据时,动态增加is_show_field无用正常相应问题\n if (props.form.watch) {\n for (let k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n const _globalInnerModel = props.globalInnerModel || reactive({});\n const _innerModel = props.innerModel || _globalInnerModel;\n\n // 支持 form.settings.col 分列(与 FormRender fields 模式一致):\n // settings.col 数组每项表示该列容纳的字段个数,如 [11, 11, 12] 表示三列,分别放 11/11/12 个字段\n // 返回每列的 [start, end) 区间;未配置 col 或 children 为空时返回 [](保持单列原逻辑)\n const getColFieldList = (children: any[]): Array<[number, number]> => {\n const col = props.form?.settings?.col;\n if (!col || col.length === 0 || !children || children.length === 0) {\n return [];\n }\n const list: Array<[number, number]> = [];\n let a = 0;\n col.forEach((item: number, i: number) => {\n a = a + item;\n if (i === 0) {\n list.push([0, a]);\n } else {\n list.push([a - item, a]);\n }\n });\n return list;\n };\n\n const validate = () => {\n return (props.form as any).validate();\n };\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_model', params);\n };\n const handleCustomBtnClick = async btn => {\n if (btn.code) {\n let res;\n try {\n res = await executeScriptInWorker(\n btn.code,\n {\n context: props.context,\n formModel: props.model,\n keyPath: [...props.baseKeyPath, btn.group_name],\n },\n props.workerHostFunctions || {},\n );\n } catch (e) {\n message.error(e.message);\n return;\n }\n if (res) {\n Object.assign(props.model, res);\n }\n }\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n _globalInnerModel,\n _innerModel,\n handleCustomBtnClick,\n getColFieldList,\n };\n },\n});\n</script>\n\n<style lang=\"less\" scoped>\n.cards {\n ::v-deep(.ant-card-head) {\n padding: 0 8px;\n min-height: 44px;\n background-color: rgba(0, 0, 0, 0.02);\n }\n}\n.group-custom-btn-list {\n display: inline-flex;\n gap: 5px;\n flex-wrap: wrap;\n margin-right: 2px;\n}\n</style>\n","<template>\n <a-form\n autocomplete=\"off\"\n :model=\"model\"\n :rules=\"form.rules\"\n :layout=\"form.settings.layout\"\n scrollToFirstError\n class=\"cards\"\n :validateTrigger=\"false\"\n >\n <template\n v-for=\"(row, index) in form.dynamicFieldList\"\n :key=\"index\"\n >\n <a-card\n :body-style=\"{ padding: '10px 10px 0' }\"\n style=\"margin-bottom: 5px\"\n >\n <template\n v-if=\"row.group_name && (form.dynamicFieldList.length > 1 || alwaysShowGroup)\"\n #title\n >\n {{ row.group_name }}\n </template>\n <template #extra>\n <div\n class=\"group-custom-btn-list\"\n v-if=\"row.custom_btn_list && row.custom_btn_list.length > 0\"\n >\n <template v-for=\"btn in row.custom_btn_list\">\n <debug-code\n :action_code_id=\"btn.action_code_id\"\n v-model:code=\"btn.code\"\n >\n <a-button\n v-if=\"!lockStructure || btn.show_on_modify\"\n size=\"small\"\n :type=\"btn.type\"\n :danger=\"btn.danger\"\n @click=\"handleCustomBtnClick(btn)\"\n >\n {{ btn.label }}\n </a-button>\n </debug-code>\n </template>\n </div>\n </template>\n <a-row\n :gutter=\"5\"\n type=\"flex\"\n >\n <template v-if=\"getColFieldList(row?.children).length > 0\">\n <a-col\n v-for=\"col in getColFieldList(row?.children)\"\n :key=\"col[0]\"\n :xl=\"24 / getColFieldList(row?.children).length\"\n :lg=\"24\"\n :md=\"24\"\n :sm=\"24\"\n :xs=\"24\"\n >\n <field-col\n v-for=\"(field_item, i) in row?.children.slice(col[0], col[1])\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-col>\n </template>\n <field-col\n v-else\n v-for=\"(field_item, i) in row?.children\"\n :key=\"i\"\n :model=\"model\"\n :out-model=\"outModel\"\n :options=\"options\"\n :validate-infos=\"validateInfos\"\n :always-show-group=\"alwaysShowGroup\"\n :field_item=\"field_item\"\n :context=\"context\"\n :inner-model=\"_innerModel\"\n :global-inner-model=\"_globalInnerModel\"\n :nestValidate=\"nestValidate\"\n :base-key-path=\"baseKeyPath\"\n :worker-host-functions=\"workerHostFunctions\"\n @update_model=\"onUpdateModel\"\n @update_name2=\"onUpdateName2\"\n ></field-col>\n </a-row>\n </a-card>\n </template>\n </a-form>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, reactive, PropType, provide, computed } from 'vue';\nimport FieldCol from './FieldCol.vue';\nimport { executeScriptInWorker } from 'liyu-pc-base/utils/function';\nimport { message } from 'ant-design-vue';\nimport debugCode from 'liyu-pc-base/components/FormRender/debugCode.vue';\n\nexport default defineComponent({\n name: 'FormRender3',\n components: {\n FieldCol,\n debugCode,\n },\n props: {\n model: {\n type: Object,\n required: true,\n },\n outModel: {\n type: Object,\n default: () => {},\n },\n form: {\n type: Object,\n required: true,\n },\n options: {\n type: Object,\n required: true,\n default: () => {},\n },\n validateInfos: {\n type: Object,\n default: () => {},\n },\n alwaysShowGroup: {\n type: Boolean,\n default: false,\n },\n context: {\n type: Object,\n default: null,\n },\n innerModel: {\n type: Object,\n default: null,\n },\n globalInnerModel: {\n default: null,\n },\n nestValidate: {\n type: Object as PropType<Record<string, any> | null>,\n default: null,\n },\n baseKeyPath: {\n type: Array,\n default: () => [],\n },\n workerHostFunctions: {\n type: Object,\n default: () => {},\n },\n // 修改模式传入 true:深层 FormTemplate/FormItem 隐藏系统按钮与行删除(provide 给子组件)\n lockStructure: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update_model'],\n setup(props, { emit }) {\n // 向深层子组件(FieldCol → FormTemplate/FormItem 等)提供 lockStructure,避免逐层透传\n provide('FORM_LOCK_STRUCTURE', computed(() => props.lockStructure));\n // 解决传入非响应式数据时,动态增加is_show_field无用正常相应问题\n if (props.form.watch) {\n for (let k in props.form.watch) {\n watch(\n () => props.model[k],\n () => {\n props.form.watch[k](props.model, props.form);\n },\n );\n }\n }\n const _globalInnerModel = props.globalInnerModel || reactive({});\n const _innerModel = props.innerModel || _globalInnerModel;\n\n // 支持 form.settings.col 分列(与 FormRender fields 模式一致):\n // settings.col 数组每项表示该列容纳的字段个数,如 [11, 11, 12] 表示三列,分别放 11/11/12 个字段\n // 返回每列的 [start, end) 区间;未配置 col 或 children 为空时返回 [](保持单列原逻辑)\n const getColFieldList = (children: any[]): Array<[number, number]> => {\n const col = props.form?.settings?.col;\n if (!col || col.length === 0 || !children || children.length === 0) {\n return [];\n }\n const list: Array<[number, number]> = [];\n let a = 0;\n col.forEach((item: number, i: number) => {\n a = a + item;\n if (i === 0) {\n list.push([0, a]);\n } else {\n list.push([a - item, a]);\n }\n });\n return list;\n };\n\n const validate = () => {\n return (props.form as any).validate();\n };\n const onUpdateModel = params => {\n emit('update_model', params);\n };\n const onUpdateName2 = params => {\n emit('update_model', params);\n };\n const handleCustomBtnClick = async btn => {\n if (btn.code) {\n let res;\n try {\n res = await executeScriptInWorker(\n btn.code,\n {\n context: props.context,\n formModel: props.model,\n keyPath: [...props.baseKeyPath, btn.group_name],\n },\n props.workerHostFunctions || {},\n );\n } catch (e) {\n message.error(e.message);\n return;\n }\n if (res) {\n Object.assign(props.model, res);\n }\n }\n };\n return {\n validate,\n onUpdateModel,\n onUpdateName2,\n _globalInnerModel,\n _innerModel,\n handleCustomBtnClick,\n getColFieldList,\n };\n },\n});\n</script>\n\n<style lang=\"less\" scoped>\n.cards {\n ::v-deep(.ant-card-head) {\n padding: 0 8px;\n min-height: 44px;\n background-color: rgba(0, 0, 0, 0.02);\n }\n}\n.group-custom-btn-list {\n display: inline-flex;\n gap: 5px;\n flex-wrap: wrap;\n margin-right: 2px;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -673,7 +673,7 @@ var Q = /*#__PURE__*/ a(G, [["render", Z]]), oe = /* @__PURE__ */ e(v(), 1), se
|
|
|
673
673
|
}, { deep: !0 });
|
|
674
674
|
let le = (e) => {
|
|
675
675
|
m.value = e, $();
|
|
676
|
-
}, ue = E(() => import("./tableModal-
|
|
676
|
+
}, ue = E(() => import("./tableModal-Bhqi_JEq.js")), de = () => {
|
|
677
677
|
let e = [];
|
|
678
678
|
m.value = "";
|
|
679
679
|
let t = "checkbox";
|