From daac1812bf2b89d869d15c46c7c6d0814f7e6d72 Mon Sep 17 00:00:00 2001 From: odjbin <1042039504@qq.com> Date: Fri, 28 Jun 2024 16:25:21 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix=20:=20=E4=BC=98=E5=8C=96=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E8=AE=B0=E5=BD=95=E3=80=81=E7=94=A8=E6=88=B7=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E5=88=87=E6=8D=A2=E7=82=B9=E5=87=BB=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=81=E6=89=80=E5=B1=9E=E5=85=AC=E5=8F=B8=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DetailComponent/CompanyPicker.vue | 36 +++++++++--------- src/layout/navbar/index.vue | 4 +- src/views/project-demand/requirement/add.vue | 8 ++-- .../project-demand/requirement/detail.vue | 6 ++- .../project-management/filing/attachment.vue | 3 -- .../implementation/account.vue | 4 +- src/views/workflow/common/OperationRender.vue | 38 ++++++++++++------- 7 files changed, 58 insertions(+), 41 deletions(-) diff --git a/src/components/DetailComponent/CompanyPicker.vue b/src/components/DetailComponent/CompanyPicker.vue index b739cd8..61cedf2 100644 --- a/src/components/DetailComponent/CompanyPicker.vue +++ b/src/components/DetailComponent/CompanyPicker.vue @@ -89,7 +89,6 @@ const props = defineProps({ type: Boolean } }); -const isChooseAll = ref(true); let selectItem = reactive({ type: -1, value: "0" @@ -138,22 +137,14 @@ const checkBoxChange = (val) => { } const matterTree = (list, flag) => { list.forEach(item => { - if (!flag&&item.value!==-1) { + if (!flag) { tree.value.setChecked(item, false) } if (item.children !== undefined) { - matterTree(item.children) + matterTree(item.children, false) } }) } -// const cancelAll = () => { -// isChooseAll.value = true -// tree.value.setCheckedNodes([]) -// } -// const chooseAll = () => { -// isChooseAll.value = false -// matterTree(dataList.value) -// } const getList = () => { getSubCompOpt().then(res => { dataList.value = [ @@ -176,15 +167,26 @@ const filterNode = (value, data) => { const show = () => { //用于弹开部门选择 visible.value = true; - selectList.value = _value.value - defaultChecked.value = _value.value.map(item => item.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 handleChange = (data, checked) => { - if (data.value == -1&&checked) { - // tree.value.setCheckedNodes(['-1']) - matterTree(dataList.value, false) - // return; + if (data.value == -1) { + if(checked){ + checkStrictly.value = false + const index = checkList.value.indexOf('2') + if (index != -1) { + checkList.value.splice(index, 1) + } + matterTree(dataList.value[0].children, false) + tree.value.setChecked(data,true); + } } // 左侧有选择框 + 多选 if (props.multiple) { diff --git a/src/layout/navbar/index.vue b/src/layout/navbar/index.vue index 642f14a..0a5618e 100644 --- a/src/layout/navbar/index.vue +++ b/src/layout/navbar/index.vue @@ -5,9 +5,9 @@