|
@@ -113,6 +113,7 @@
|
|
|
clearable
|
|
clearable
|
|
|
:disabled="isViewMode"
|
|
:disabled="isViewMode"
|
|
|
style="width: 450px"
|
|
style="width: 450px"
|
|
|
|
|
+ @change="onReviewDeptChange"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
@@ -379,7 +380,7 @@ import { ru } from 'element-plus/es/locale';
|
|
|
|
|
|
|
|
const router = useRouter();
|
|
const router = useRouter();
|
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
|
-
|
|
|
|
|
|
|
+ const searchDeptName = ref('');
|
|
|
const operate = computed(() => (route.query.operate as string) || 'hidden-trouble-account-create');
|
|
const operate = computed(() => (route.query.operate as string) || 'hidden-trouble-account-create');
|
|
|
const currentId = computed(() => Number(route.query.id));
|
|
const currentId = computed(() => Number(route.query.id));
|
|
|
|
|
|
|
@@ -512,7 +513,9 @@ const attachmentsFileList = ref([]) as any
|
|
|
try {
|
|
try {
|
|
|
const [deptRes, userRes] = await Promise.all([
|
|
const [deptRes, userRes] = await Promise.all([
|
|
|
getAllDepartments(),
|
|
getAllDepartments(),
|
|
|
- queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {} }),
|
|
|
|
|
|
|
+ queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {
|
|
|
|
|
+ deptName: searchDeptName.value || undefined,
|
|
|
|
|
+ } }),
|
|
|
]);
|
|
]);
|
|
|
const fullTree = (deptRes as DeptTree[]) ?? [];
|
|
const fullTree = (deptRes as DeptTree[]) ?? [];
|
|
|
deptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
|
|
deptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
|
|
@@ -829,29 +832,41 @@ const attachmentsFileList = ref([]) as any
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- const issueDeptTree = ref<DeptTree[]>([]);
|
|
|
|
|
- const issueUserList = ref<Array<{ id: number; realname?: string; username?: string }>>([]);
|
|
|
|
|
-
|
|
|
|
|
- const onIssueDialogOpen = async () => {
|
|
|
|
|
- try {
|
|
|
|
|
- const [deptRes, userRes] = await Promise.all([
|
|
|
|
|
- getAllDepartments(),
|
|
|
|
|
- queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {} }),
|
|
|
|
|
- ]);
|
|
|
|
|
- const fullTree = (deptRes as DeptTree[]) ?? [];
|
|
|
|
|
- issueDeptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
|
|
|
|
|
- issueUserList.value = (userRes as any)?.records ?? [];
|
|
|
|
|
- } catch (e) {
|
|
|
|
|
- console.error('获取部门/用户列表失败:', e);
|
|
|
|
|
- ElMessage.error(e?.message || e?.data || '加载部门或负责人列表失败');
|
|
|
|
|
- issueDeptTree.value = [];
|
|
|
|
|
- issueUserList.value = [];
|
|
|
|
|
|
|
+ // const issueDeptTree = ref<DeptTree[]>([]);
|
|
|
|
|
+ // const issueUserList = ref<Array<{ id: number; realname?: string; username?: string }>>([]);
|
|
|
|
|
+
|
|
|
|
|
+ // const onIssueDialogOpen = async () => {
|
|
|
|
|
+ // try {
|
|
|
|
|
+ // const [deptRes, userRes] = await Promise.all([
|
|
|
|
|
+ // getAllDepartments(),
|
|
|
|
|
+ // queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {
|
|
|
|
|
+ // deptName: searchDeptName.value || undefined,
|
|
|
|
|
+ // } }),
|
|
|
|
|
+ // ]);
|
|
|
|
|
+ // const fullTree = (deptRes as DeptTree[]) ?? [];
|
|
|
|
|
+ // issueDeptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
|
|
|
|
|
+ // issueUserList.value = (userRes as any)?.records ?? [];
|
|
|
|
|
+ // } catch (e) {
|
|
|
|
|
+ // console.error('获取部门/用户列表失败:', e);
|
|
|
|
|
+ // ElMessage.error(e?.message || e?.data || '加载部门或负责人列表失败');
|
|
|
|
|
+ // issueDeptTree.value = [];
|
|
|
|
|
+ // issueUserList.value = [];
|
|
|
|
|
+ // }
|
|
|
|
|
+ // };
|
|
|
|
|
+
|
|
|
|
|
+ const onReviewDeptChange = (val: number[]) => {
|
|
|
|
|
+ const selectedNodes = reviewDeptCascaderRef.value?.getCheckedNodes();
|
|
|
|
|
+ if (selectedNodes && selectedNodes.length > 0) {
|
|
|
|
|
+ const selectedNode = selectedNodes[0];
|
|
|
|
|
+ const selectedLabel = selectedNode.label;
|
|
|
|
|
+ searchDeptName.value = selectedLabel;
|
|
|
|
|
+ ruleFormData.reviewPersonId = undefined;
|
|
|
|
|
+ loadDeptAndUserOptions();
|
|
|
}
|
|
}
|
|
|
- };
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
|
cloneRuleFormData();
|
|
cloneRuleFormData();
|
|
|
- onIssueDialogOpen();
|
|
|
|
|
await loadDeptAndUserOptions();
|
|
await loadDeptAndUserOptions();
|
|
|
if (isEditMode.value || isViewMode.value) {
|
|
if (isEditMode.value || isViewMode.value) {
|
|
|
await getDetail();
|
|
await getDetail();
|