diff --git a/src/views/DataAnalyse/particulars/components/ColumnConfig.vue b/src/views/DataAnalyse/particulars/components/ColumnConfig.vue index 28ee7f65..5d8eac42 100644 --- a/src/views/DataAnalyse/particulars/components/ColumnConfig.vue +++ b/src/views/DataAnalyse/particulars/components/ColumnConfig.vue @@ -24,7 +24,9 @@ class="custom-checkbox-group my-checkbox-group" > - + + + @@ -69,19 +71,26 @@ export default defineComponent({ } function handleChange(e) { - if (e.target.checked) { - checkedList.value.forEach((item) => { - if (item.value === e.target.value) { - item.selected = item.children.map((item) => item.value); + const targetValue = e.target.value; + checkedList.value.forEach((item) => { + if (item.value === targetValue) { + if (e.target.checked) { + // 选中时全选所有未被禁用的子项 + const enabledChildren = item.children + .filter(child => !child.disabled) + .map(child => child.value); + item.selected = [...new Set([...item.selected, ...enabledChildren])]; + } else { + // 取消选中时只保留被禁用的子项 + const disabledChildren = item.children + .filter(child => child.disabled) + .map(child => child.value); + item.selected = item.selected.filter(val => + disabledChildren.includes(val) + ); } - }); - } else { - checkedList.value.forEach((item) => { - if (item.value === e.target.value) { - item.selected = []; - } - }); - } + } + }); } function handleOk() { const selectList = checkedList.value.map((item) => item.selected); diff --git a/src/views/ProjectManage/fragment/TableList.vue b/src/views/ProjectManage/fragment/TableList.vue index 505e730f..4f31e5b7 100644 --- a/src/views/ProjectManage/fragment/TableList.vue +++ b/src/views/ProjectManage/fragment/TableList.vue @@ -484,7 +484,14 @@ export default defineComponent({ getSurveyHeadInfo().then(res => { console.log(res); answer_columns.value = res.data.survey_columns; - + let disabledList = ['project_name','scene_name','status_txt','updated_at'] + answer_columns.value[0].children.forEach(item=>{ + if (disabledList.includes(item.value)){ + item.disabled = true; + } + }) + console.log('answer_columns.value'); + console.log(answer_columns.value); // 获取原始 columns 数据 let originalColumns = res.data.columns; // 处理 columns 数据结构