diff --git a/src/views/bg/xispeak/components/BgXiSpeakFeedbackForm.vue b/src/views/bg/xispeak/components/BgXiSpeakFeedbackForm.vue index 6345692..b124bb8 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakFeedbackForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakFeedbackForm.vue @@ -8,7 +8,7 @@ - + @@ -177,6 +177,7 @@ import { defHttp } from '/@/utils/http/axios'; import { useMessage } from '/@/hooks/web/useMessage'; import { getValueType } from '/@/utils'; + import { useUserStore } from '/@/store/modules/user'; import { bgXiSpeakFeedbackSaveOrUpdate } from '../BgXiSpeak.api'; import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue'; import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue'; @@ -213,6 +214,7 @@ startTime: '', }); const { createMessage } = useMessage(); + const userStore = useUserStore(); const confirmLoading = ref(false); const validatorRules = reactive({ completionStatus: [{ required: true, message: '请选择完成状态' }], @@ -225,6 +227,27 @@ const labelCol = { xs: { span: 24 }, sm: { span: 7 } }; const wrapperCol = { xs: { span: 24 }, sm: { span: 17 } }; + function fillDeptFromLogin() { + const userInfo = (userStore.getUserInfo || {}) as Record; + let deptId = userInfo.departIds || userInfo.orgCode || ''; + let deptName = userInfo.departIds_dictText || userInfo.orgCodeTxt || ''; + // 如果 orgCodeTxt 仍为空(极少情况),从 loginInfo.departs 按 orgCode 补齐名称 + if (!deptName && deptId) { + const loginInfo = (userStore.getLoginInfo || {}) as Record; + const departs = Array.isArray(loginInfo.departs) ? loginInfo.departs : []; + console.log('【所务会-反馈】兜底查找, orgCode:', deptId, ', departs orgCodes:', departs.map((d: any) => d.orgCode), ', departs names:', departs.map((d: any) => d.departName)); + const matched = departs.find((d: any) => d.orgCode === deptId); + if (matched) { + deptId = matched.id || deptId; + deptName = matched.departName || ''; + console.log('【所务会-反馈】兜底匹配成功, matched:', matched); + } + } + formData.responDeptid = deptId; + formData.responDeptname = deptName; + console.log('【所务会-反馈】填充当前部门, deptId:', deptId, ', deptName:', deptName); + } + /** * 部门选择变化 */ @@ -268,6 +291,7 @@ } }); Object.assign(formData, tmpData); + fillDeptFromLogin(); }); } diff --git a/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue b/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue index ddb3858..5372792 100644 --- a/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue +++ b/src/views/dq/inspectTask/components/DqInspectTaskBPMFeedbackModal.vue @@ -13,7 +13,7 @@ - + @@ -135,9 +135,9 @@ resetForm(mainId, bpmProcessId); isEdit.value = false; if (defaultDeptId) { - void applyCurrentUserFeedbackInfo(defaultDeptId, defaultDeptName); + applyCurrentUserFeedbackInfo(defaultDeptId, defaultDeptName); } else { - void applyCurrentUserFeedbackInfo(); + applyCurrentUserFeedbackInfo(); } visible.value = true; } @@ -153,32 +153,28 @@ visible.value = true; } - function getCurrentLoginDepart() { + function fillCurrentDept() { const userInfo = (userStore.getUserInfo || {}) as Record; - const loginInfo = (userStore.getLoginInfo || {}) as Record; - const departs = Array.isArray(loginInfo.departs) ? loginInfo.departs : []; - if (userInfo.orgCode) { - return departs.find((item) => item.orgCode === userInfo.orgCode); + let deptId = userInfo.departIds || userInfo.orgCode || ''; + let deptName = userInfo.departIds_dictText || userInfo.orgCodeTxt || ''; + // 如果 orgCodeTxt 仍为空(极少情况),从 loginInfo.departs 按 orgCode 补齐名称 + if (!deptName && deptId) { + const loginInfo = (userStore.getLoginInfo || {}) as Record; + const departs = Array.isArray(loginInfo.departs) ? loginInfo.departs : []; + console.log('【巡视整改-反馈】兜底查找, orgCode:', deptId, ', departs orgCodes:', departs.map((d: any) => d.orgCode), ', departs names:', departs.map((d: any) => d.departName)); + const matched = departs.find((d: any) => d.orgCode === deptId); + if (matched) { + deptId = matched.id || deptId; + deptName = matched.departName || ''; + console.log('【巡视整改-反馈】兜底匹配成功, matched:', matched); + } } - return departs.length === 1 ? departs[0] : undefined; + formData.feedbackDeptId = deptId; + formData.feedbackDeptName = deptName; + console.log('【巡视整改-反馈】填充当前部门, deptId:', deptId, ', deptName:', deptName); } - async function getCurrentDepartInfo() { - const userInfo = (userStore.getUserInfo || {}) as Record; - const loginDepart = getCurrentLoginDepart(); - if (loginDepart) { - return { - id: loginDepart.id || '', - departName: loginDepart.departName || '', - }; - } - return { - id: userInfo.departIds || '', - departName: userInfo.departIds_dictText || userInfo.orgCodeTxt || '', - }; - } - - async function applyCurrentUserFeedbackInfo(defaultDeptId = '', defaultDeptName = '') { + function applyCurrentUserFeedbackInfo(defaultDeptId = '', defaultDeptName = '') { const userInfo = (userStore.getUserInfo || {}) as Record; formData.feedbackPersonId = userInfo.id || userInfo.userId || ''; formData.feedbackPersonName = userInfo.realname || ''; @@ -186,9 +182,7 @@ formData.feedbackDeptId = defaultDeptId; formData.feedbackDeptName = defaultDeptName || ''; } else { - const departInfo = await getCurrentDepartInfo(); - formData.feedbackDeptId = departInfo.id; - formData.feedbackDeptName = departInfo.departName; + fillCurrentDept(); } }