diff --git a/packages/form/src/Form.vue b/packages/form/src/Form.vue index 72bf61f1..a2fbc3e2 100644 --- a/packages/form/src/Form.vue +++ b/packages/form/src/Form.vue @@ -4,7 +4,6 @@ ref="tMagicForm" :model="values" :label-width="labelWidth" - :disabled="disabled" :style="`height: ${height}`" :inline="inline" :label-position="labelPosition" @@ -12,6 +11,7 @@
- {{ + {{ expand ? '收起配置' : '展开更多配置' }}
@@ -118,6 +120,7 @@ const props = withDefaults( model: FormValue; config: ChildConfig; prop?: string; + disabled?: boolean; labelWidth?: string; expandMore?: boolean; stepActive?: string | number; @@ -159,7 +162,9 @@ const tagName = computed(() => { return 'm-fields-text'; }); -const disabled = computed(() => filterFunction(mForm, props.config.disabled, props)); +const disabled = computed(() => + typeof props.disabled === 'undefined' ? filterFunction(mForm, props.config.disabled, props) : props.disabled, +); const tooltip = computed(() => filterFunction(mForm, props.config.tooltip, props)); diff --git a/packages/form/src/containers/Fieldset.vue b/packages/form/src/containers/Fieldset.vue index 9cdd9a2c..b62b2ef3 100644 --- a/packages/form/src/containers/Fieldset.vue +++ b/packages/form/src/containers/Fieldset.vue @@ -27,6 +27,7 @@ :rules="name ? rules[name] : []" :config="item" :prop="prop" + :disabled="disabled" :labelWidth="lWidth" :size="size" @change="change" @@ -46,6 +47,7 @@ :prop="prop" :labelWidth="lWidth" :size="size" + :disabled="disabled" @change="change" > @@ -69,6 +71,7 @@ const props = withDefaults( model: Record; config: FieldsetConfig; rules?: any; + disabled?: boolean; }>(), { rules: {}, diff --git a/packages/form/src/containers/GroupList.vue b/packages/form/src/containers/GroupList.vue index 74a4b141..f5d94837 100644 --- a/packages/form/src/containers/GroupList.vue +++ b/packages/form/src/containers/GroupList.vue @@ -15,13 +15,14 @@ :index="index" :label-width="labelWidth" :size="size" + :disabled="disabled" :group-model="model[name]" @remove-item="removeHandler" @swap-item="swapHandler" @change="changeHandler" > - 添加组 + 添加组 切换为表格 @@ -45,6 +46,7 @@ const props = defineProps<{ labelWidth?: string; prop?: string; size?: string; + disabled?: boolean; }>(); const emit = defineEmits(['change']); diff --git a/packages/form/src/containers/GroupListItem.vue b/packages/form/src/containers/GroupListItem.vue index 1effbeae..9a2f3815 100644 --- a/packages/form/src/containers/GroupListItem.vue +++ b/packages/form/src/containers/GroupListItem.vue @@ -5,21 +5,22 @@ > - {{ title }} + {{ title }} @@ -34,6 +35,7 @@ :labelWidth="labelWidth" :prop="`${prop}${prop ? '.' : ''}${String(index)}`" :size="size" + :disabled="disabled" @change="changeHandler" > @@ -58,6 +60,7 @@ const props = defineProps<{ prop?: string; size?: string; index: number; + disabled?: boolean; }>(); const emit = defineEmits(['swap-item', 'remove-item', 'change']); diff --git a/packages/form/src/containers/Panel.vue b/packages/form/src/containers/Panel.vue index 350efc2b..9782e247 100644 --- a/packages/form/src/containers/Panel.vue +++ b/packages/form/src/containers/Panel.vue @@ -25,6 +25,7 @@ :model="name ? model[name] : model" :prop="prop" :size="size" + :disabled="disabled" :label-width="config.labelWidth || labelWidth" @change="changeHandler" > @@ -41,6 +42,7 @@ :model="name ? model[name] : model" :prop="prop" :size="size" + :disabled="disabled" :label-width="config.labelWidth || labelWidth" @change="changeHandler" > @@ -67,6 +69,7 @@ const props = defineProps<{ labelWidth?: string; prop?: string; size?: string; + disabled?: boolean; }>(); const emit = defineEmits(['change']); diff --git a/packages/form/src/containers/Row.vue b/packages/form/src/containers/Row.vue index e1fd80f3..0473449b 100644 --- a/packages/form/src/containers/Row.vue +++ b/packages/form/src/containers/Row.vue @@ -10,6 +10,7 @@ :model="name ? model[name] : model" :prop="prop" :size="size" + :disabled="disabled" @change="changeHandler" /> @@ -32,6 +33,7 @@ const props = defineProps<{ prop?: string; size?: string; expandMore?: boolean; + disabled?: boolean; }>(); const emit = defineEmits(['change']); diff --git a/packages/form/src/containers/Step.vue b/packages/form/src/containers/Step.vue index 7232292d..40f6e16e 100644 --- a/packages/form/src/containers/Step.vue +++ b/packages/form/src/containers/Step.vue @@ -20,6 +20,7 @@ :model="step.name ? model[step.name] : model" :prop="`${step.name}`" :size="size" + :disabled="disabled" :label-width="config.labelWidth || labelWidth" @change="changeHandler" > @@ -44,6 +45,7 @@ const props = withDefaults( stepActive?: number; labelWidth?: string; size?: string; + disabled?: boolean; }>(), { stepActive: 1, diff --git a/packages/form/src/containers/Table.vue b/packages/form/src/containers/Table.vue index 1aaa3e95..edf87a44 100644 --- a/packages/form/src/containers/Table.vue +++ b/packages/form/src/containers/Table.vue @@ -50,6 +50,7 @@ size="small" type="primary" :icon="ArrowUp" + :disabled="disabled" text @click="upHandler(scope.$index + 1 + pagecontext * pagesize - 1)" @dblclick="topHandler(scope.$index + 1 + pagecontext * pagesize - 1)" @@ -65,6 +66,7 @@ size="small" type="primary" :icon="ArrowDown" + :disabled="disabled" text @click="downHandler(scope.$index + 1 + pagecontext * pagesize - 1)" @dblclick="bottomHandler(scope.$index + 1 + pagecontext * pagesize - 1)" @@ -100,6 +102,7 @@ - 添加   + 添加 +   - 导入EXCEL 导入EXCEL   - 清空 + 清空
@@ -191,6 +200,7 @@ const props = withDefaults( prop?: string; labelWidth?: string; sort?: boolean; + disabled?: boolean; sortKey?: string; text?: string; size?: string; @@ -414,6 +424,7 @@ const itemExtra = (fuc: any, index: number) => { }; const removeHandler = (index: number) => { + if (props.disabled) return; props.model[modelName.value].splice(index, 1); emit('change', props.model[modelName.value]); }; diff --git a/packages/form/src/containers/Tabs.vue b/packages/form/src/containers/Tabs.vue index 3ced9f36..0119fffa 100644 --- a/packages/form/src/containers/Tabs.vue +++ b/packages/form/src/containers/Tabs.vue @@ -22,6 +22,7 @@ v-for="item in tabItems(tab)" :key="item[mForm?.keyProp || '__key']" :config="item" + :disabled="disabled" :model=" config.dynamic ? (name ? model[name] : model)[tabIndex] @@ -90,6 +91,7 @@ const props = defineProps<{ labelWidth?: string; prop?: string; expandMore?: boolean; + disabled?: boolean; }>(); const emit = defineEmits(['change']);