|
@@ -10,14 +10,20 @@
|
|
|
:max-collapse-tags="2"
|
|
:max-collapse-tags="2"
|
|
|
placeholder="请选择上报部门"
|
|
placeholder="请选择上报部门"
|
|
|
filterable
|
|
filterable
|
|
|
|
|
+ :filter-method="handleFilterMethod"
|
|
|
class="custom-select"
|
|
class="custom-select"
|
|
|
>
|
|
>
|
|
|
- <template #header>
|
|
|
|
|
|
|
+ <template #header v-if="isFilterData">
|
|
|
<el-checkbox v-model="checkAll" :indeterminate="indeterminate" @change="handleCheckAllChange">
|
|
<el-checkbox v-model="checkAll" :indeterminate="indeterminate" @change="handleCheckAllChange">
|
|
|
全部部门
|
|
全部部门
|
|
|
</el-checkbox>
|
|
</el-checkbox>
|
|
|
</template>
|
|
</template>
|
|
|
- <el-option v-for="item in firstLevelDepts" :key="item.id" :label="item.deptName" :value="item.id" />
|
|
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in disasterLevelDepts"
|
|
|
|
|
+ :key="item.itemCode"
|
|
|
|
|
+ :label="item.itemValue"
|
|
|
|
|
+ :value="Number(item.itemCode)"
|
|
|
|
|
+ />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</template>
|
|
</template>
|
|
|
<template #userGroupList>
|
|
<template #userGroupList>
|
|
@@ -48,7 +54,8 @@
|
|
|
} from '../config';
|
|
} from '../config';
|
|
|
|
|
|
|
|
const { realname } = useUserInfoHook();
|
|
const { realname } = useUserInfoHook();
|
|
|
- const { getFirstLevelDepts, firstLevelDepts } = useDeptInfoHook();
|
|
|
|
|
|
|
+ const { disasterLevelDepts, originalDisasterLevelDepts, getDisasterLevelDepts, isFilterData, handleFilterMethod } =
|
|
|
|
|
+ useDeptInfoHook();
|
|
|
const { groupOptions, getUserGroupList } = useGroupInfoHook();
|
|
const { groupOptions, getUserGroupList } = useGroupInfoHook();
|
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
|
const taskName = route.query.taskName as string;
|
|
const taskName = route.query.taskName as string;
|
|
@@ -74,7 +81,7 @@
|
|
|
const indeterminate = ref(false);
|
|
const indeterminate = ref(false);
|
|
|
const handleCheckAllChange = () => {
|
|
const handleCheckAllChange = () => {
|
|
|
if (checkAll.value) {
|
|
if (checkAll.value) {
|
|
|
- ruleFormData.deptIds = firstLevelDepts.value.filter((item) => item.id !== null).map((item) => item.id as number);
|
|
|
|
|
|
|
+ ruleFormData.deptIds = originalDisasterLevelDepts.value.map((item) => Number(item.itemCode));
|
|
|
} else {
|
|
} else {
|
|
|
ruleFormData.deptIds = [];
|
|
ruleFormData.deptIds = [];
|
|
|
}
|
|
}
|
|
@@ -86,7 +93,7 @@
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
ruleFormData.createdByName = realname;
|
|
ruleFormData.createdByName = realname;
|
|
|
ruleFormData.taskName = taskName;
|
|
ruleFormData.taskName = taskName;
|
|
|
- getFirstLevelDepts();
|
|
|
|
|
|
|
+ getDisasterLevelDepts();
|
|
|
getUserGroupList();
|
|
getUserGroupList();
|
|
|
cloneRuleFormData();
|
|
cloneRuleFormData();
|
|
|
beforeRouteLeave();
|
|
beforeRouteLeave();
|
|
@@ -94,8 +101,8 @@
|
|
|
watch(
|
|
watch(
|
|
|
() => ruleFormData.deptIds,
|
|
() => ruleFormData.deptIds,
|
|
|
(newVal) => {
|
|
(newVal) => {
|
|
|
- checkAll.value = newVal.length === firstLevelDepts.value.length;
|
|
|
|
|
- indeterminate.value = newVal.length > 0 && newVal.length < firstLevelDepts.value.length;
|
|
|
|
|
|
|
+ checkAll.value = newVal.length === originalDisasterLevelDepts.value.length;
|
|
|
|
|
+ indeterminate.value = newVal.length > 0 && newVal.length < originalDisasterLevelDepts.value.length;
|
|
|
},
|
|
},
|
|
|
);
|
|
);
|
|
|
</script>
|
|
</script>
|