diff --git a/src/components/DetailComponent/CompanyPicker.vue b/src/components/DetailComponent/CompanyPicker.vue index 61cedf2..2b97236 100644 --- a/src/components/DetailComponent/CompanyPicker.vue +++ b/src/components/DetailComponent/CompanyPicker.vue @@ -135,24 +135,14 @@ const checkBoxChange = (val) => { isExpand.value = '展开' } } -const matterTree = (list, flag) => { - list.forEach(item => { - if (!flag) { - tree.value.setChecked(item, false) - } - if (item.children !== undefined) { - matterTree(item.children, false) - } - }) -} const getList = () => { getSubCompOpt().then(res => { dataList.value = [ { - label: "全选", + label: "所有公司", value: -1, - children: res.data - } + }, + ...res.data ] }); }; @@ -167,24 +157,34 @@ const filterNode = (value, data) => { const show = () => { //用于弹开部门选择 visible.value = true; - if(selectList.value.length==0){ - selectList.value=[] - defaultChecked.value =[] - }else { - selectList.value = _value.value - defaultChecked.value = _value.value.map(item => item.value) - } + console.log('_value.value', _value.value, selectList.value) + // if(selectList.value.length==0){ + // selectList.value=[] + // defaultChecked.value =[] + // }else { + selectList.value = _value.value + defaultChecked.value = _value.value.map(item => item.value) + // } getList() }; + +const updateTreeCheck = (item, flag) => { + // list.forEach(item => { + tree.value.setChecked(item, flag) + if (item.children !== undefined) { + updateTreeCheck(item.children, flag) + } + // }) +} const handleChange = (data, checked) => { if (data.value == -1) { if(checked){ - checkStrictly.value = false - const index = checkList.value.indexOf('2') - if (index != -1) { - checkList.value.splice(index, 1) + for (const item of dataList.value) { + if (item.value !== -1) { + console.log('item',item) + updateTreeCheck(item, false) + } } - matterTree(dataList.value[0].children, false) tree.value.setChecked(data,true); } } diff --git a/src/views/project-demand/requirement/add.vue b/src/views/project-demand/requirement/add.vue index 93c11e1..74fbbc6 100644 --- a/src/views/project-demand/requirement/add.vue +++ b/src/views/project-demand/requirement/add.vue @@ -38,10 +38,12 @@ {{ selectedCompanyList.length === 0 ? '请选择所属公司' : '更改' }} -
{{ selectedCompanyList }}
+
{{ getName(selectedCompanyList) }}
{{ getName(selectedCompanyList) }}
{{ showExpendText }} + @click="handleExpend"> + {{ showExpendText }} +
@@ -54,7 +56,7 @@ - + 重新提交 返回 - + @@ -222,24 +225,16 @@ const showExpendClass = (showMoreCompany) => { if (!showMoreCompany) { if (selectedCompanyList.value.length === 0) { showExpendText.value = '' - return '' - } else if (selectedCompanyList.value.length>14) { + return '' + } else if (selectedCompanyList.value.length > 14) { showExpendText.value = '展开' - return 'company-style' + return 'company-style' } } else { showExpendText.value = '收缩' - return '' + return '' } } -const getCompanyOptionItem = (val) => { - if (val !== undefined) { - val.forEach(item => { - matterTree(companyNameArray.value, companyOption.value, item) - }) - } - return companyNameArray.value.join(','); -} const getName = (list) => { return list.map(item => item.label).join(',') } @@ -405,6 +400,25 @@ const handleResubmit = () => { } }) } + +const getCompanyOptionItem = (val) => { + let newObj = {} + let newArray = [] + if (val !== undefined) { + val.forEach(item => { + matterTree(companyNameArray.value, companyOption.value, item) + companyNameArray.value.forEach(companyItem => { + newObj = { + label: companyItem, + value: item + } + newArray.push(newObj) + }) + }) + } + + return newArray; +} const getDetailInfo = async () => { getFormInfo(route.query.id).then(res => { if (res.code === 1000) { diff --git a/src/views/project-demand/summary/add.vue b/src/views/project-demand/summary/add.vue index 1170283..8d88b2b 100644 --- a/src/views/project-demand/summary/add.vue +++ b/src/views/project-demand/summary/add.vue @@ -1,14 +1,14 @@