@tmagic/form 1.7.0-beta.2 → 1.7.0-beta.3

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.
@@ -3157,8 +3157,8 @@
3157
3157
 
3158
3158
  const _hoisted_1$d = ["data-tmagic-id", "data-tmagic-form-item-prop"];
3159
3159
  const _hoisted_2$7 = ["innerHTML", "title"];
3160
- const _hoisted_3$6 = ["innerHTML"];
3161
- const _hoisted_4$3 = ["innerHTML"];
3160
+ const _hoisted_3$5 = ["innerHTML"];
3161
+ const _hoisted_4$4 = ["innerHTML"];
3162
3162
  const _hoisted_5$3 = ["innerHTML", "title"];
3163
3163
  const _hoisted_6$1 = ["innerHTML"];
3164
3164
  const _hoisted_7$1 = ["innerHTML"];
@@ -3425,7 +3425,7 @@
3425
3425
  content: vue.withCtx(() => [
3426
3426
  vue.createElementVNode("div", {
3427
3427
  innerHTML: tooltip.value.text
3428
- }, null, 8, _hoisted_3$6)
3428
+ }, null, 8, _hoisted_3$5)
3429
3429
  ]),
3430
3430
  default: vue.withCtx(() => [
3431
3431
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), vue.mergeProps(fieldsProps.value, {
@@ -3454,7 +3454,7 @@
3454
3454
  content: vue.withCtx(() => [
3455
3455
  vue.createElementVNode("div", {
3456
3456
  innerHTML: __props.config.tip
3457
- }, null, 8, _hoisted_4$3)
3457
+ }, null, 8, _hoisted_4$4)
3458
3458
  ]),
3459
3459
  default: vue.withCtx(() => [
3460
3460
  vue.createVNode(vue.unref(design.TMagicIcon), { style: { "line-height": "40px", "margin-left": "5px" } }, {
@@ -3651,8 +3651,8 @@
3651
3651
 
3652
3652
  const _hoisted_1$c = ["innerHTML"];
3653
3653
  const _hoisted_2$6 = ["innerHTML"];
3654
- const _hoisted_3$5 = { key: 1 };
3655
- const _hoisted_4$2 = ["innerHTML"];
3654
+ const _hoisted_3$4 = { key: 1 };
3655
+ const _hoisted_4$3 = ["innerHTML"];
3656
3656
  const _hoisted_5$2 = ["innerHTML"];
3657
3657
  const _hoisted_6 = {
3658
3658
  key: 2,
@@ -3752,10 +3752,10 @@
3752
3752
  ]),
3753
3753
  _: 1
3754
3754
  /* STABLE */
3755
- })) : (vue.openBlock(), vue.createElementBlock("legend", _hoisted_3$5, [
3755
+ })) : (vue.openBlock(), vue.createElementBlock("legend", _hoisted_3$4, [
3756
3756
  vue.createElementVNode("span", {
3757
3757
  innerHTML: __props.config.legend
3758
- }, null, 8, _hoisted_4$2),
3758
+ }, null, 8, _hoisted_4$3),
3759
3759
  __props.config.extra ? (vue.openBlock(), vue.createElementBlock("span", {
3760
3760
  key: 0,
3761
3761
  innerHTML: __props.config.extra,
@@ -3884,9 +3884,8 @@
3884
3884
  }
3885
3885
  });
3886
3886
 
3887
- const _hoisted_1$b = { class: "m-fields-group-list-item" };
3888
- const _hoisted_2$5 = { style: { "text-align": "right", "margin-top": "20px" } };
3889
- const _hoisted_3$4 = ["innerHTML"];
3887
+ const _hoisted_1$b = { style: { "text-align": "right", "margin-top": "20px" } };
3888
+ const _hoisted_2$5 = ["innerHTML"];
3890
3889
  const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
3891
3890
  ...{
3892
3891
  name: "MFormGroupListItem"
@@ -3965,211 +3964,220 @@
3965
3964
  emit("swap-item", props.index, moveSpecifyLocationIndex.value - 1);
3966
3965
  };
3967
3966
  return (_ctx, _cache) => {
3968
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
3969
- vue.createElementVNode("div", null, [
3970
- vue.createVNode(vue.unref(design.TMagicButton), {
3971
- link: "",
3972
- disabled: __props.disabled,
3973
- onClick: expandHandler
3974
- }, {
3975
- default: vue.withCtx(() => [
3976
- vue.createVNode(vue.unref(design.TMagicIcon), null, {
3977
- default: vue.withCtx(() => [
3978
- expand.value ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.CaretBottom), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.CaretRight), { key: 1 }))
3979
- ]),
3980
- _: 1
3981
- /* STABLE */
3982
- }),
3983
- vue.createTextVNode(
3984
- vue.toDisplayString(title.value),
3985
- 1
3986
- /* TEXT */
3987
- )
3988
- ]),
3989
- _: 1
3990
- /* STABLE */
3991
- }, 8, ["disabled"]),
3992
- vue.withDirectives(vue.createVNode(vue.unref(design.TMagicButton), {
3993
- type: "danger",
3994
- size: "small",
3995
- link: "",
3996
- icon: vue.unref(iconsVue.Delete),
3997
- disabled: __props.disabled,
3998
- onClick: removeHandler
3999
- }, null, 8, ["icon", "disabled"]), [
4000
- [vue.vShow, showDelete.value]
4001
- ]),
4002
- copyable.value ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
4003
- key: 0,
4004
- link: "",
4005
- size: "small",
4006
- type: "primary",
4007
- icon: vue.unref(iconsVue.DocumentCopy),
4008
- disabled: __props.disabled,
4009
- onClick: copyHandler
4010
- }, {
4011
- default: vue.withCtx(() => [..._cache[6] || (_cache[6] = [
4012
- vue.createTextVNode(
4013
- "复制",
4014
- -1
4015
- /* CACHED */
4016
- )
4017
- ])]),
4018
- _: 1
4019
- /* STABLE */
4020
- }, 8, ["icon", "disabled"])) : vue.createCommentVNode("v-if", true),
4021
- movable.value ? (vue.openBlock(), vue.createElementBlock(
4022
- vue.Fragment,
4023
- { key: 1 },
4024
- [
4025
- vue.withDirectives(vue.createVNode(vue.unref(design.TMagicButton), {
4026
- link: "",
4027
- size: "small",
4028
- disabled: __props.disabled,
4029
- icon: vue.unref(iconsVue.CaretTop),
4030
- onClick: _cache[0] || (_cache[0] = ($event) => changeOrder(-1))
4031
- }, {
4032
- default: vue.withCtx(() => [..._cache[7] || (_cache[7] = [
4033
- vue.createTextVNode(
4034
- "上移",
4035
- -1
4036
- /* CACHED */
4037
- )
4038
- ])]),
4039
- _: 1
4040
- /* STABLE */
4041
- }, 8, ["disabled", "icon"]), [
4042
- [vue.vShow, __props.index !== 0]
3967
+ return vue.openBlock(), vue.createBlock(vue.unref(design.TMagicCard), {
3968
+ class: "m-fields-group-list-item",
3969
+ "body-style": { display: expand.value ? "block" : "none" }
3970
+ }, {
3971
+ header: vue.withCtx(() => [
3972
+ vue.createElementVNode("div", null, [
3973
+ vue.createVNode(vue.unref(design.TMagicButton), {
3974
+ link: "",
3975
+ disabled: __props.disabled,
3976
+ onClick: expandHandler
3977
+ }, {
3978
+ default: vue.withCtx(() => [
3979
+ vue.createVNode(vue.unref(design.TMagicIcon), null, {
3980
+ default: vue.withCtx(() => [
3981
+ expand.value ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.CaretBottom), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.CaretRight), { key: 1 }))
3982
+ ]),
3983
+ _: 1
3984
+ /* STABLE */
3985
+ }),
3986
+ vue.createTextVNode(
3987
+ vue.toDisplayString(title.value),
3988
+ 1
3989
+ /* TEXT */
3990
+ )
4043
3991
  ]),
4044
- vue.withDirectives(vue.createVNode(vue.unref(design.TMagicButton), {
4045
- link: "",
4046
- size: "small",
4047
- disabled: __props.disabled,
4048
- icon: vue.unref(iconsVue.CaretBottom),
4049
- onClick: _cache[1] || (_cache[1] = ($event) => changeOrder(1))
4050
- }, {
4051
- default: vue.withCtx(() => [..._cache[8] || (_cache[8] = [
4052
- vue.createTextVNode(
4053
- "下移",
4054
- -1
4055
- /* CACHED */
4056
- )
4057
- ])]),
4058
- _: 1
4059
- /* STABLE */
4060
- }, 8, ["disabled", "icon"]), [
4061
- [vue.vShow, __props.index !== length.value - 1]
4062
- ])
4063
- ],
4064
- 64
4065
- /* STABLE_FRAGMENT */
4066
- )) : vue.createCommentVNode("v-if", true),
4067
- __props.config.moveSpecifyLocation ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicPopover), {
4068
- key: 2,
4069
- trigger: "click",
4070
- placement: "top",
4071
- width: "200",
4072
- visible: moveSpecifyLocationVisible.value
4073
- }, {
4074
- reference: vue.withCtx(() => [
4075
- vue.createVNode(vue.unref(design.TMagicButton), {
4076
- link: "",
4077
- size: "small",
4078
- type: "primary",
4079
- icon: vue.unref(iconsVue.Position),
4080
- disabled: __props.disabled,
4081
- onClick: _cache[2] || (_cache[2] = ($event) => moveSpecifyLocationVisible.value = true)
4082
- }, {
4083
- default: vue.withCtx(() => [..._cache[9] || (_cache[9] = [
4084
- vue.createTextVNode(
4085
- "移动至",
4086
- -1
4087
- /* CACHED */
4088
- )
4089
- ])]),
4090
- _: 1
4091
- /* STABLE */
4092
- }, 8, ["icon", "disabled"])
3992
+ _: 1
3993
+ /* STABLE */
3994
+ }, 8, ["disabled"]),
3995
+ vue.withDirectives(vue.createVNode(vue.unref(design.TMagicButton), {
3996
+ type: "danger",
3997
+ size: "small",
3998
+ link: "",
3999
+ icon: vue.unref(iconsVue.Delete),
4000
+ disabled: __props.disabled,
4001
+ onClick: removeHandler
4002
+ }, null, 8, ["icon", "disabled"]), [
4003
+ [vue.vShow, showDelete.value]
4093
4004
  ]),
4094
- default: vue.withCtx(() => [
4095
- vue.createElementVNode("div", null, [
4096
- vue.createElementVNode("div", null, [
4097
- _cache[10] || (_cache[10] = vue.createTextVNode(
4098
- " ",
4099
- -1
4100
- /* CACHED */
4101
- )),
4102
- vue.createVNode(vue.unref(design.TMagicInputNumber), {
4103
- style: { "margin": "0 5px" },
4104
- modelValue: moveSpecifyLocationIndex.value,
4105
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => moveSpecifyLocationIndex.value = $event),
4106
- size: "small",
4107
- min: 1,
4108
- disabled: __props.disabled
4109
- }, null, 8, ["modelValue", "disabled"]),
4110
- _cache[11] || (_cache[11] = vue.createTextVNode(
4111
- "行 ",
4112
- -1
4113
- /* CACHED */
4114
- ))
4005
+ copyable.value ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
4006
+ key: 0,
4007
+ link: "",
4008
+ size: "small",
4009
+ type: "primary",
4010
+ icon: vue.unref(iconsVue.DocumentCopy),
4011
+ disabled: __props.disabled,
4012
+ onClick: copyHandler
4013
+ }, {
4014
+ default: vue.withCtx(() => [..._cache[6] || (_cache[6] = [
4015
+ vue.createTextVNode(
4016
+ "复制",
4017
+ -1
4018
+ /* CACHED */
4019
+ )
4020
+ ])]),
4021
+ _: 1
4022
+ /* STABLE */
4023
+ }, 8, ["icon", "disabled"])) : vue.createCommentVNode("v-if", true),
4024
+ movable.value ? (vue.openBlock(), vue.createElementBlock(
4025
+ vue.Fragment,
4026
+ { key: 1 },
4027
+ [
4028
+ vue.withDirectives(vue.createVNode(vue.unref(design.TMagicButton), {
4029
+ link: "",
4030
+ size: "small",
4031
+ disabled: __props.disabled,
4032
+ icon: vue.unref(iconsVue.CaretTop),
4033
+ onClick: _cache[0] || (_cache[0] = ($event) => changeOrder(-1))
4034
+ }, {
4035
+ default: vue.withCtx(() => [..._cache[7] || (_cache[7] = [
4036
+ vue.createTextVNode(
4037
+ "上移",
4038
+ -1
4039
+ /* CACHED */
4040
+ )
4041
+ ])]),
4042
+ _: 1
4043
+ /* STABLE */
4044
+ }, 8, ["disabled", "icon"]), [
4045
+ [vue.vShow, __props.index !== 0]
4115
4046
  ]),
4116
- vue.createElementVNode("div", _hoisted_2$5, [
4117
- vue.createVNode(vue.unref(design.TMagicButton), {
4118
- size: "small",
4119
- text: "",
4120
- onClick: _cache[4] || (_cache[4] = ($event) => moveSpecifyLocationVisible.value = false)
4121
- }, {
4122
- default: vue.withCtx(() => [..._cache[12] || (_cache[12] = [
4123
- vue.createTextVNode(
4124
- "取消",
4125
- -1
4126
- /* CACHED */
4127
- )
4128
- ])]),
4129
- _: 1
4130
- /* STABLE */
4131
- }),
4132
- vue.createVNode(vue.unref(design.TMagicButton), {
4133
- size: "small",
4134
- type: "primary",
4135
- onClick: moveSpecifyLocationHandler
4136
- }, {
4137
- default: vue.withCtx(() => [..._cache[13] || (_cache[13] = [
4138
- vue.createTextVNode(
4139
- "确认",
4140
- -1
4141
- /* CACHED */
4142
- )
4143
- ])]),
4144
- _: 1
4145
- /* STABLE */
4146
- })
4047
+ vue.withDirectives(vue.createVNode(vue.unref(design.TMagicButton), {
4048
+ link: "",
4049
+ size: "small",
4050
+ disabled: __props.disabled,
4051
+ icon: vue.unref(iconsVue.CaretBottom),
4052
+ onClick: _cache[1] || (_cache[1] = ($event) => changeOrder(1))
4053
+ }, {
4054
+ default: vue.withCtx(() => [..._cache[8] || (_cache[8] = [
4055
+ vue.createTextVNode(
4056
+ "下移",
4057
+ -1
4058
+ /* CACHED */
4059
+ )
4060
+ ])]),
4061
+ _: 1
4062
+ /* STABLE */
4063
+ }, 8, ["disabled", "icon"]), [
4064
+ [vue.vShow, __props.index !== length.value - 1]
4147
4065
  ])
4148
- ])
4149
- ]),
4150
- _: 1
4151
- /* STABLE */
4152
- }, 8, ["visible"])) : vue.createCommentVNode("v-if", true),
4153
- itemExtra.value ? (vue.openBlock(), vue.createElementBlock("span", {
4154
- key: 3,
4155
- innerHTML: itemExtra.value,
4156
- class: "m-form-tip"
4157
- }, null, 8, _hoisted_3$4)) : vue.createCommentVNode("v-if", true)
4066
+ ],
4067
+ 64
4068
+ /* STABLE_FRAGMENT */
4069
+ )) : vue.createCommentVNode("v-if", true),
4070
+ __props.config.moveSpecifyLocation ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicPopover), {
4071
+ key: 2,
4072
+ trigger: "click",
4073
+ placement: "top",
4074
+ width: "200",
4075
+ visible: moveSpecifyLocationVisible.value
4076
+ }, {
4077
+ reference: vue.withCtx(() => [
4078
+ vue.createVNode(vue.unref(design.TMagicButton), {
4079
+ link: "",
4080
+ size: "small",
4081
+ type: "primary",
4082
+ icon: vue.unref(iconsVue.Position),
4083
+ disabled: __props.disabled,
4084
+ onClick: _cache[2] || (_cache[2] = ($event) => moveSpecifyLocationVisible.value = true)
4085
+ }, {
4086
+ default: vue.withCtx(() => [..._cache[9] || (_cache[9] = [
4087
+ vue.createTextVNode(
4088
+ "移动至",
4089
+ -1
4090
+ /* CACHED */
4091
+ )
4092
+ ])]),
4093
+ _: 1
4094
+ /* STABLE */
4095
+ }, 8, ["icon", "disabled"])
4096
+ ]),
4097
+ default: vue.withCtx(() => [
4098
+ vue.createElementVNode("div", null, [
4099
+ vue.createElementVNode("div", null, [
4100
+ _cache[10] || (_cache[10] = vue.createTextVNode(
4101
+ " 第",
4102
+ -1
4103
+ /* CACHED */
4104
+ )),
4105
+ vue.createVNode(vue.unref(design.TMagicInputNumber), {
4106
+ style: { "margin": "0 5px" },
4107
+ modelValue: moveSpecifyLocationIndex.value,
4108
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => moveSpecifyLocationIndex.value = $event),
4109
+ size: "small",
4110
+ min: 1,
4111
+ disabled: __props.disabled
4112
+ }, null, 8, ["modelValue", "disabled"]),
4113
+ _cache[11] || (_cache[11] = vue.createTextVNode(
4114
+ "行 ",
4115
+ -1
4116
+ /* CACHED */
4117
+ ))
4118
+ ]),
4119
+ vue.createElementVNode("div", _hoisted_1$b, [
4120
+ vue.createVNode(vue.unref(design.TMagicButton), {
4121
+ size: "small",
4122
+ text: "",
4123
+ onClick: _cache[4] || (_cache[4] = ($event) => moveSpecifyLocationVisible.value = false)
4124
+ }, {
4125
+ default: vue.withCtx(() => [..._cache[12] || (_cache[12] = [
4126
+ vue.createTextVNode(
4127
+ "取消",
4128
+ -1
4129
+ /* CACHED */
4130
+ )
4131
+ ])]),
4132
+ _: 1
4133
+ /* STABLE */
4134
+ }),
4135
+ vue.createVNode(vue.unref(design.TMagicButton), {
4136
+ size: "small",
4137
+ type: "primary",
4138
+ onClick: moveSpecifyLocationHandler
4139
+ }, {
4140
+ default: vue.withCtx(() => [..._cache[13] || (_cache[13] = [
4141
+ vue.createTextVNode(
4142
+ "确认",
4143
+ -1
4144
+ /* CACHED */
4145
+ )
4146
+ ])]),
4147
+ _: 1
4148
+ /* STABLE */
4149
+ })
4150
+ ])
4151
+ ])
4152
+ ]),
4153
+ _: 1
4154
+ /* STABLE */
4155
+ }, 8, ["visible"])) : vue.createCommentVNode("v-if", true),
4156
+ itemExtra.value ? (vue.openBlock(), vue.createElementBlock("span", {
4157
+ key: 3,
4158
+ innerHTML: itemExtra.value,
4159
+ class: "m-form-tip"
4160
+ }, null, 8, _hoisted_2$5)) : vue.createCommentVNode("v-if", true)
4161
+ ])
4158
4162
  ]),
4159
- expand.value ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
4160
- key: 0,
4161
- config: rowConfig.value,
4162
- model: __props.model,
4163
- lastValues: __props.lastValues,
4164
- "is-compare": __props.isCompare,
4165
- labelWidth: __props.labelWidth,
4166
- prop: `${__props.prop}${__props.prop ? "." : ""}${String(__props.index)}`,
4167
- size: __props.size,
4168
- disabled: __props.disabled,
4169
- onChange: changeHandler,
4170
- onAddDiffCount: _cache[5] || (_cache[5] = ($event) => onAddDiffCount())
4171
- }, null, 8, ["config", "model", "lastValues", "is-compare", "labelWidth", "prop", "size", "disabled"])) : vue.createCommentVNode("v-if", true)
4172
- ]);
4163
+ default: vue.withCtx(() => [
4164
+ expand.value ? (vue.openBlock(), vue.createBlock(_sfc_main$A, {
4165
+ key: 0,
4166
+ config: rowConfig.value,
4167
+ model: __props.model,
4168
+ lastValues: __props.lastValues,
4169
+ "is-compare": __props.isCompare,
4170
+ labelWidth: __props.labelWidth,
4171
+ prop: `${__props.prop}${__props.prop ? "." : ""}${String(__props.index)}`,
4172
+ size: __props.size,
4173
+ disabled: __props.disabled,
4174
+ onChange: changeHandler,
4175
+ onAddDiffCount: _cache[5] || (_cache[5] = ($event) => onAddDiffCount())
4176
+ }, null, 8, ["config", "model", "lastValues", "is-compare", "labelWidth", "prop", "size", "disabled"])) : vue.createCommentVNode("v-if", true)
4177
+ ]),
4178
+ _: 1
4179
+ /* STABLE */
4180
+ }, 8, ["body-style"]);
4173
4181
  };
4174
4182
  }
4175
4183
  });
@@ -4180,6 +4188,8 @@
4180
4188
  key: 1,
4181
4189
  class: "el-table__empty-block"
4182
4190
  };
4191
+ const _hoisted_4$2 = { class: "m-fields-group-list-footer" };
4192
+ const _hoisted_5$1 = { style: { "display": "flex", "justify-content": "flex-end", "flex": "1" } };
4183
4193
  const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
4184
4194
  ...{
4185
4195
  name: "MFormGroupList"
@@ -4279,7 +4289,7 @@
4279
4289
  !__props.model[__props.name] || !__props.model[__props.name].length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [..._cache[1] || (_cache[1] = [
4280
4290
  vue.createElementVNode(
4281
4291
  "span",
4282
- { class: "el-table__empty-text" },
4292
+ { class: "el-table__empty-text t-table__empty" },
4283
4293
  "暂无数据",
4284
4294
  -1
4285
4295
  /* CACHED */
@@ -4310,39 +4320,43 @@
4310
4320
  128
4311
4321
  /* KEYED_FRAGMENT */
4312
4322
  )),
4313
- addable.value ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
4314
- key: 3,
4315
- type: "primary",
4316
- size: __props.config.enableToggleMode ? "small" : "default",
4317
- disabled: __props.disabled,
4318
- onClick: addHandler
4319
- }, {
4320
- default: vue.withCtx(() => [..._cache[2] || (_cache[2] = [
4321
- vue.createTextVNode(
4322
- "新增",
4323
- -1
4324
- /* CACHED */
4325
- )
4326
- ])]),
4327
- _: 1
4328
- /* STABLE */
4329
- }, 8, ["size", "disabled"])) : vue.createCommentVNode("v-if", true),
4330
- __props.config.enableToggleMode ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
4331
- key: 4,
4332
- icon: vue.unref(iconsVue.Grid),
4333
- size: "small",
4334
- onClick: toggleMode
4335
- }, {
4336
- default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
4337
- vue.createTextVNode(
4338
- "切换为表格",
4339
- -1
4340
- /* CACHED */
4341
- )
4342
- ])]),
4343
- _: 1
4344
- /* STABLE */
4345
- }, 8, ["icon"])) : vue.createCommentVNode("v-if", true)
4323
+ vue.createElementVNode("div", _hoisted_4$2, [
4324
+ __props.config.enableToggleMode ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
4325
+ key: 0,
4326
+ icon: vue.unref(iconsVue.Grid),
4327
+ size: "small",
4328
+ onClick: toggleMode
4329
+ }, {
4330
+ default: vue.withCtx(() => [..._cache[2] || (_cache[2] = [
4331
+ vue.createTextVNode(
4332
+ "切换为表格",
4333
+ -1
4334
+ /* CACHED */
4335
+ )
4336
+ ])]),
4337
+ _: 1
4338
+ /* STABLE */
4339
+ }, 8, ["icon"])) : vue.createCommentVNode("v-if", true),
4340
+ vue.createElementVNode("div", _hoisted_5$1, [
4341
+ addable.value ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
4342
+ key: 0,
4343
+ type: "primary",
4344
+ size: __props.config.enableToggleMode ? "small" : "default",
4345
+ disabled: __props.disabled,
4346
+ onClick: addHandler
4347
+ }, {
4348
+ default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
4349
+ vue.createTextVNode(
4350
+ "新增",
4351
+ -1
4352
+ /* CACHED */
4353
+ )
4354
+ ])]),
4355
+ _: 1
4356
+ /* STABLE */
4357
+ }, 8, ["size", "disabled"])) : vue.createCommentVNode("v-if", true)
4358
+ ])
4359
+ ])
4346
4360
  ]);
4347
4361
  };
4348
4362
  }
@@ -4355,7 +4369,7 @@
4355
4369
  style: { "display": "flex" }
4356
4370
  };
4357
4371
  const _hoisted_4$1 = { style: { "flex": "1" } };
4358
- const _hoisted_5$1 = ["src"];
4372
+ const _hoisted_5 = ["src"];
4359
4373
  const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
4360
4374
  ...{
4361
4375
  name: "MFormPanel"
@@ -4442,7 +4456,7 @@
4442
4456
  vue.createElementVNode("img", {
4443
4457
  class: "m-form-schematic",
4444
4458
  src: __props.config.schematic
4445
- }, null, 8, _hoisted_5$1)
4459
+ }, null, 8, _hoisted_5)
4446
4460
  ])) : (vue.openBlock(true), vue.createElementBlock(
4447
4461
  vue.Fragment,
4448
4462
  { key: 1 },
@@ -5967,7 +5981,6 @@
5967
5981
  default: vue.withCtx(() => [
5968
5982
  vue.renderSlot(_ctx.$slots, "footer", {}, () => [
5969
5983
  vue.createVNode(vue.unref(design.TMagicButton), {
5970
- type: "default",
5971
5984
  onClick: cancel,
5972
5985
  size: "small"
5973
5986
  }, {
@@ -6120,7 +6133,8 @@
6120
6133
  if (typeof props.config.form === "function") {
6121
6134
  return props.config.form(mForm, {
6122
6135
  model: props.model || {},
6123
- values: props.values || {}
6136
+ values: mForm ? vue.readonly(mForm.initValues) : null,
6137
+ formValue: props.values || {}
6124
6138
  });
6125
6139
  }
6126
6140
  return props.config.form;
@@ -6977,10 +6991,25 @@
6977
6991
  const buttonClickHandler = () => {
6978
6992
  if (!appendConfig.value) return;
6979
6993
  if (typeof appendConfig.value.handler === "function") {
6994
+ const newChangeRecords = [];
6995
+ const setModel = (key, value) => {
6996
+ newChangeRecords.push({ propPath: props.prop.replace(`${props.name}`, key), value });
6997
+ };
6998
+ const setFormValue = (key, value) => {
6999
+ newChangeRecords.push({ propPath: key, value });
7000
+ };
6980
7001
  appendConfig.value.handler(mForm, {
6981
7002
  model: props.model,
6982
- values: mForm?.values
7003
+ values: mForm ? vue.readonly(mForm.initValues) : null,
7004
+ formValue: props.values || {},
7005
+ setModel,
7006
+ setFormValue
6983
7007
  });
7008
+ if (newChangeRecords.length > 0) {
7009
+ emit("change", props.model[props.name], {
7010
+ changeRecords: newChangeRecords
7011
+ });
7012
+ }
6984
7013
  }
6985
7014
  };
6986
7015
  const keyUpHandler = ($event) => {
@@ -7402,6 +7431,7 @@
7402
7431
  if (typeof props.config.defaultAdd === "function") {
7403
7432
  inputs = await props.config.defaultAdd(mForm, {
7404
7433
  model: props.model[modelName],
7434
+ prop: props.prop,
7405
7435
  formValue: mForm?.values
7406
7436
  });
7407
7437
  } else if (props.config.defaultAdd) {
@@ -7432,16 +7462,10 @@
7432
7462
 
7433
7463
  const useFullscreen = () => {
7434
7464
  const isFullscreen = vue.ref(false);
7435
- const mTableEl = vue.useTemplateRef("mTable");
7436
- const { nextZIndex } = design.useZIndex();
7437
7465
  const toggleFullscreen = () => {
7438
- if (!mTableEl.value) return;
7439
7466
  if (isFullscreen.value) {
7440
- mTableEl.value.classList.remove("fixed");
7441
7467
  isFullscreen.value = false;
7442
7468
  } else {
7443
- mTableEl.value.classList.add("fixed");
7444
- mTableEl.value.style.zIndex = `${nextZIndex()}`;
7445
7469
  isFullscreen.value = true;
7446
7470
  }
7447
7471
  };
@@ -7927,11 +7951,10 @@
7927
7951
  };
7928
7952
  };
7929
7953
 
7930
- const _hoisted_1$1 = { class: "m-fields-table-wrap" };
7931
- const _hoisted_2 = ["innerHTML"];
7932
- const _hoisted_3 = { style: { "display": "flex", "justify-content": "space-between", "margin": "10px 0" } };
7933
- const _hoisted_4 = { style: { "display": "flex" } };
7934
- const _hoisted_5 = {
7954
+ const _hoisted_1$1 = ["innerHTML"];
7955
+ const _hoisted_2 = { style: { "display": "flex", "justify-content": "space-between", "margin": "10px 0" } };
7956
+ const _hoisted_3 = { style: { "display": "flex" } };
7957
+ const _hoisted_4 = {
7935
7958
  key: 1,
7936
7959
  class: "bottom",
7937
7960
  style: { "text-align": "right" }
@@ -7967,6 +7990,7 @@
7967
7990
  props,
7968
7991
  modelName
7969
7992
  );
7993
+ const { nextZIndex } = design.useZIndex();
7970
7994
  const { addable, newHandler } = useAdd(props, emit);
7971
7995
  const { columns } = useTableColumns(props, emit, currentPage, pageSize, modelName);
7972
7996
  useSortable(props, emit, tMagicTableRef, modelName);
@@ -8004,170 +8028,176 @@
8004
8028
  toggleRowSelection
8005
8029
  });
8006
8030
  return (_ctx, _cache) => {
8007
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
8008
- (vue.openBlock(), vue.createBlock(vue.Teleport, {
8009
- to: "body",
8010
- disabled: !vue.unref(isFullscreen)
8011
- }, [
8012
- vue.createElementVNode(
8013
- "div",
8014
- {
8015
- ref: "mTable",
8016
- class: vue.normalizeClass(["m-fields-table", { "m-fields-table-item-extra": __props.config.itemExtra }])
8017
- },
8018
- [
8019
- __props.config.extra ? (vue.openBlock(), vue.createElementBlock("span", {
8020
- key: 0,
8021
- style: { "color": "rgba(0, 0, 0, 0.45)" },
8022
- innerHTML: __props.config.extra
8023
- }, null, 8, _hoisted_2)) : vue.createCommentVNode("v-if", true),
8024
- vue.createVNode(vue.unref(design.TMagicTooltip), {
8025
- content: "拖拽可排序",
8026
- placement: "left-start",
8027
- disabled: __props.config.dropSort !== true
8028
- }, {
8029
- default: vue.withCtx(() => [
8030
- __props.model[modelName.value] ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicTable), {
8031
- ref: "tMagicTable",
8032
- style: { "width": "100%" },
8033
- "show-header": "",
8034
- "row-key": __props.config.rowKey || "id",
8035
- columns: vue.unref(columns),
8036
- data: data.value,
8037
- border: __props.config.border,
8038
- "max-height": __props.config.maxHeight,
8039
- "default-expand-all": true,
8040
- key: updateKey.value,
8041
- onSelect: vue.unref(selectHandle),
8042
- onSortChange: sortChangeHandler
8043
- }, null, 8, ["row-key", "columns", "data", "border", "max-height", "onSelect"])) : vue.createCommentVNode("v-if", true)
8044
- ]),
8045
- _: 1
8046
- /* STABLE */
8047
- }, 8, ["disabled"]),
8048
- vue.renderSlot(_ctx.$slots, "default"),
8049
- vue.createElementVNode("div", _hoisted_3, [
8050
- vue.createElementVNode("div", _hoisted_4, [
8051
- __props.enableToggleMode && __props.config.enableToggleMode !== false && !vue.unref(isFullscreen) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8031
+ return vue.openBlock(), vue.createBlock(vue.Teleport, {
8032
+ to: "body",
8033
+ disabled: !vue.unref(isFullscreen)
8034
+ }, [
8035
+ vue.createElementVNode(
8036
+ "div",
8037
+ vue.mergeProps(_ctx.$attrs, {
8038
+ class: ["m-fields-table-wrap", { fixed: vue.unref(isFullscreen) }],
8039
+ style: vue.unref(isFullscreen) ? `z-index: ${vue.unref(nextZIndex)()}` : ""
8040
+ }),
8041
+ [
8042
+ vue.createElementVNode(
8043
+ "div",
8044
+ {
8045
+ class: vue.normalizeClass(["m-fields-table", { "m-fields-table-item-extra": __props.config.itemExtra }])
8046
+ },
8047
+ [
8048
+ __props.config.extra ? (vue.openBlock(), vue.createElementBlock("span", {
8049
+ key: 0,
8050
+ style: { "color": "rgba(0, 0, 0, 0.45)" },
8051
+ innerHTML: __props.config.extra
8052
+ }, null, 8, _hoisted_1$1)) : vue.createCommentVNode("v-if", true),
8053
+ vue.createVNode(vue.unref(design.TMagicTooltip), {
8054
+ content: "拖拽可排序",
8055
+ placement: "left-start",
8056
+ disabled: __props.config.dropSort !== true
8057
+ }, {
8058
+ default: vue.withCtx(() => [
8059
+ __props.model[modelName.value] ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicTable), {
8060
+ ref: "tMagicTable",
8061
+ style: { "width": "100%" },
8062
+ "show-header": "",
8063
+ "row-key": __props.config.rowKey || "id",
8064
+ columns: vue.unref(columns),
8065
+ data: data.value,
8066
+ border: __props.config.border,
8067
+ "max-height": __props.config.maxHeight,
8068
+ "default-expand-all": true,
8069
+ key: updateKey.value,
8070
+ onSelect: vue.unref(selectHandle),
8071
+ onSortChange: sortChangeHandler
8072
+ }, null, 8, ["row-key", "columns", "data", "border", "max-height", "onSelect"])) : vue.createCommentVNode("v-if", true)
8073
+ ]),
8074
+ _: 1
8075
+ /* STABLE */
8076
+ }, 8, ["disabled"]),
8077
+ vue.renderSlot(_ctx.$slots, "default"),
8078
+ vue.createElementVNode("div", _hoisted_2, [
8079
+ vue.createElementVNode("div", _hoisted_3, [
8080
+ __props.enableToggleMode && __props.config.enableToggleMode !== false && !vue.unref(isFullscreen) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8081
+ key: 0,
8082
+ icon: vue.unref(iconsVue.Grid),
8083
+ size: "small",
8084
+ onClick: toggleMode
8085
+ }, {
8086
+ default: vue.withCtx(() => [..._cache[1] || (_cache[1] = [
8087
+ vue.createTextVNode(
8088
+ "展开配置",
8089
+ -1
8090
+ /* CACHED */
8091
+ )
8092
+ ])]),
8093
+ _: 1
8094
+ /* STABLE */
8095
+ }, 8, ["icon"])) : vue.createCommentVNode("v-if", true),
8096
+ __props.config.enableFullscreen !== false ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8097
+ key: 1,
8098
+ icon: vue.unref(iconsVue.FullScreen),
8099
+ size: "small",
8100
+ onClick: vue.unref(toggleFullscreen)
8101
+ }, {
8102
+ default: vue.withCtx(() => [
8103
+ vue.createTextVNode(
8104
+ vue.toDisplayString(vue.unref(isFullscreen) ? "退出全屏" : "全屏编辑"),
8105
+ 1
8106
+ /* TEXT */
8107
+ )
8108
+ ]),
8109
+ _: 1
8110
+ /* STABLE */
8111
+ }, 8, ["icon", "onClick"])) : vue.createCommentVNode("v-if", true),
8112
+ vue.unref(importable) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicUpload), {
8113
+ key: 2,
8114
+ style: { "display": "inline-block" },
8115
+ ref: "excelBtn",
8116
+ action: "/noop",
8117
+ disabled: __props.disabled,
8118
+ "on-change": vue.unref(excelHandler),
8119
+ "auto-upload": false
8120
+ }, {
8121
+ default: vue.withCtx(() => [
8122
+ vue.createVNode(vue.unref(design.TMagicButton), {
8123
+ size: "small",
8124
+ type: "success",
8125
+ disabled: __props.disabled,
8126
+ plain: ""
8127
+ }, {
8128
+ default: vue.withCtx(() => [..._cache[2] || (_cache[2] = [
8129
+ vue.createTextVNode(
8130
+ "导入EXCEL",
8131
+ -1
8132
+ /* CACHED */
8133
+ )
8134
+ ])]),
8135
+ _: 1
8136
+ /* STABLE */
8137
+ }, 8, ["disabled"])
8138
+ ]),
8139
+ _: 1
8140
+ /* STABLE */
8141
+ }, 8, ["disabled", "on-change"])) : vue.createCommentVNode("v-if", true),
8142
+ vue.unref(importable) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8143
+ key: 3,
8144
+ size: "small",
8145
+ type: "warning",
8146
+ disabled: __props.disabled,
8147
+ plain: "",
8148
+ onClick: vue.unref(clearHandler)
8149
+ }, {
8150
+ default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
8151
+ vue.createTextVNode(
8152
+ "清空",
8153
+ -1
8154
+ /* CACHED */
8155
+ )
8156
+ ])]),
8157
+ _: 1
8158
+ /* STABLE */
8159
+ }, 8, ["disabled", "onClick"])) : vue.createCommentVNode("v-if", true)
8160
+ ]),
8161
+ vue.unref(addable) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8052
8162
  key: 0,
8053
- icon: vue.unref(iconsVue.Grid),
8054
8163
  size: "small",
8055
- type: "defalut",
8056
- onClick: toggleMode
8057
- }, {
8058
- default: vue.withCtx(() => [..._cache[1] || (_cache[1] = [
8059
- vue.createTextVNode(
8060
- "展开配置",
8061
- -1
8062
- /* CACHED */
8063
- )
8064
- ])]),
8065
- _: 1
8066
- /* STABLE */
8067
- }, 8, ["icon"])) : vue.createCommentVNode("v-if", true),
8068
- __props.config.enableFullscreen !== false ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8069
- key: 1,
8070
- icon: vue.unref(iconsVue.FullScreen),
8071
- size: "small",
8072
- type: "defalut",
8073
- onClick: vue.unref(toggleFullscreen)
8074
- }, {
8075
- default: vue.withCtx(() => [
8076
- vue.createTextVNode(
8077
- vue.toDisplayString(vue.unref(isFullscreen) ? "退出全屏" : "全屏编辑"),
8078
- 1
8079
- /* TEXT */
8080
- )
8081
- ]),
8082
- _: 1
8083
- /* STABLE */
8084
- }, 8, ["icon", "onClick"])) : vue.createCommentVNode("v-if", true),
8085
- vue.unref(importable) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicUpload), {
8086
- key: 2,
8087
- style: { "display": "inline-block" },
8088
- ref: "excelBtn",
8089
- action: "/noop",
8090
- disabled: __props.disabled,
8091
- "on-change": vue.unref(excelHandler),
8092
- "auto-upload": false
8093
- }, {
8094
- default: vue.withCtx(() => [
8095
- vue.createVNode(vue.unref(design.TMagicButton), {
8096
- size: "small",
8097
- type: "success",
8098
- disabled: __props.disabled,
8099
- plain: ""
8100
- }, {
8101
- default: vue.withCtx(() => [..._cache[2] || (_cache[2] = [
8102
- vue.createTextVNode(
8103
- "导入EXCEL",
8104
- -1
8105
- /* CACHED */
8106
- )
8107
- ])]),
8108
- _: 1
8109
- /* STABLE */
8110
- }, 8, ["disabled"])
8111
- ]),
8112
- _: 1
8113
- /* STABLE */
8114
- }, 8, ["disabled", "on-change"])) : vue.createCommentVNode("v-if", true),
8115
- vue.unref(importable) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8116
- key: 3,
8117
- size: "small",
8118
- type: "warning",
8164
+ type: "primary",
8119
8165
  disabled: __props.disabled,
8120
8166
  plain: "",
8121
- onClick: vue.unref(clearHandler)
8167
+ onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(newHandler)())
8122
8168
  }, {
8123
- default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
8169
+ default: vue.withCtx(() => [..._cache[4] || (_cache[4] = [
8124
8170
  vue.createTextVNode(
8125
- "清空",
8171
+ "新增一行",
8126
8172
  -1
8127
8173
  /* CACHED */
8128
8174
  )
8129
8175
  ])]),
8130
8176
  _: 1
8131
8177
  /* STABLE */
8132
- }, 8, ["disabled", "onClick"])) : vue.createCommentVNode("v-if", true)
8178
+ }, 8, ["disabled"])) : vue.createCommentVNode("v-if", true)
8133
8179
  ]),
8134
- vue.unref(addable) ? (vue.openBlock(), vue.createBlock(vue.unref(design.TMagicButton), {
8135
- key: 0,
8136
- size: "small",
8137
- type: "primary",
8138
- disabled: __props.disabled,
8139
- plain: "",
8140
- onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(newHandler)())
8141
- }, {
8142
- default: vue.withCtx(() => [..._cache[4] || (_cache[4] = [
8143
- vue.createTextVNode(
8144
- "新增一行",
8145
- -1
8146
- /* CACHED */
8147
- )
8148
- ])]),
8149
- _: 1
8150
- /* STABLE */
8151
- }, 8, ["disabled"])) : vue.createCommentVNode("v-if", true)
8152
- ]),
8153
- __props.config.pagination ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5, [
8154
- vue.createVNode(vue.unref(design.TMagicPagination), {
8155
- layout: "total, sizes, prev, pager, next, jumper",
8156
- "hide-on-single-page": __props.model[modelName.value].length < vue.unref(pageSize),
8157
- "current-page": vue.unref(currentPage) + 1,
8158
- "page-sizes": [vue.unref(pageSize), 60, 120, 300],
8159
- "page-size": vue.unref(pageSize),
8160
- total: __props.model[modelName.value].length,
8161
- onSizeChange: vue.unref(handleSizeChange),
8162
- onCurrentChange: vue.unref(handleCurrentChange)
8163
- }, null, 8, ["hide-on-single-page", "current-page", "page-sizes", "page-size", "total", "onSizeChange", "onCurrentChange"])
8164
- ])) : vue.createCommentVNode("v-if", true)
8165
- ],
8166
- 2
8167
- /* CLASS */
8168
- )
8169
- ], 8, ["disabled"]))
8170
- ]);
8180
+ __props.config.pagination ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
8181
+ vue.createVNode(vue.unref(design.TMagicPagination), {
8182
+ layout: "total, sizes, prev, pager, next, jumper",
8183
+ "hide-on-single-page": __props.model[modelName.value].length < vue.unref(pageSize),
8184
+ "current-page": vue.unref(currentPage) + 1,
8185
+ "page-sizes": [vue.unref(pageSize), 60, 120, 300],
8186
+ "page-size": vue.unref(pageSize),
8187
+ total: __props.model[modelName.value].length,
8188
+ onSizeChange: vue.unref(handleSizeChange),
8189
+ onCurrentChange: vue.unref(handleCurrentChange)
8190
+ }, null, 8, ["hide-on-single-page", "current-page", "page-sizes", "page-size", "total", "onSizeChange", "onCurrentChange"])
8191
+ ])) : vue.createCommentVNode("v-if", true)
8192
+ ],
8193
+ 2
8194
+ /* CLASS */
8195
+ )
8196
+ ],
8197
+ 16
8198
+ /* FULL_PROPS */
8199
+ )
8200
+ ], 8, ["disabled"]);
8171
8201
  };
8172
8202
  }
8173
8203
  });
@@ -8288,10 +8318,7 @@
8288
8318
  vue.createVNode(vue.unref(design.TMagicCol), { span: 12 }, {
8289
8319
  default: vue.withCtx(() => [
8290
8320
  vue.renderSlot(_ctx.$slots, "footer", {}, () => [
8291
- vue.createVNode(vue.unref(design.TMagicButton), {
8292
- type: "default",
8293
- onClick: handleClose
8294
- }, {
8321
+ vue.createVNode(vue.unref(design.TMagicButton), { onClick: handleClose }, {
8295
8322
  default: vue.withCtx(() => [..._cache[1] || (_cache[1] = [
8296
8323
  vue.createTextVNode(
8297
8324
  "关闭",