Browse Source

关联选项设置显示隐藏效果

Signed-off-by: liwenxuan <1298531568@qq.com>
lwx_v4
liwenxuan 12 months ago
parent
commit
83ef023520
  1. 30
      src/components/formTable/formItemGroup.vue
  2. 931
      src/components/formTable/index.vue

30
src/components/formTable/formItemGroup.vue

@ -94,11 +94,38 @@ const clickBtn = (control: any) => {
injectBtnEvent && injectBtnEvent(control)
}
}
//
const linksIf = (obj: FormList) => {
const { type } = formProps.value;
const { config: { disabledAdd, disabledEdit, disabledDetail } = {} } = obj;
if (type === 1) {
if (disabledAdd) {
// ||
return false; //
}
} else if (type === 2) {
//
if (disabledEdit) {
return false;
}
} else if (type === 4 || type === 3) {
//
if (disabledDetail) {
return false;
}
}
// namevIf
const vIf: string | string[] = formProps.value.hideField;
if (vIf?.length > 0 && obj.name) {
return vIf.indexOf(obj.name) === -1; // false
}
return true;
};
</script>
<template>
<div v-for="(element,index) in dataList" :key="index" :style="getFormItemDivStyle(element)">
<div v-if="linksIf(element)">
<template v-if="element.type === 'tabs'">
<!--选项卡-->
<el-tabs
@ -233,6 +260,7 @@ const clickBtn = (control: any) => {
</template>
<FormItem v-else :data="element" />
</div>
</div>
</template>
<style lang='scss' scoped>

931
src/components/formTable/index.vue

File diff suppressed because it is too large
Loading…
Cancel
Save