教师选择调整

This commit is contained in:
hebo 2025-08-22 20:24:34 +08:00
parent 5a84fb483b
commit b7038ea1c8
2 changed files with 133 additions and 36 deletions

View File

@ -13,7 +13,7 @@ export const bjFindByNjId = async (params: any) => {
// 所有教师 // 所有教师
export const jsFindAll = async () => { export const jsFindAll = async () => {
return await get("/api/js/findAll"); return await get("/api/js/findAllBasicInfo");
}; };
// 所有职务 // 所有职务

View File

@ -248,11 +248,15 @@ const onSelectTypeChange = async (e: any) => {
return; return;
} }
if (selectType.value === 1 || selectType.value === 3 || selectType.value === 5) { //
if (selectType.value === 3 || selectType.value === 5) {
//
await loadNjData(); await loadNjData();
} else if (selectType.value === 2) { } else if (selectType.value === 2) {
//
await loadKmData(); await loadKmData();
} else if (selectType.value === 4) { } else if (selectType.value === 4) {
//
await loadZwData(); await loadZwData();
} }
}; };
@ -696,46 +700,60 @@ const loadKmData = async () => {
// //
const loadZwData = async () => { const loadZwData = async () => {
try { try {
console.log('=== 开始从localStorage加载职务数据 ==='); console.log('=== 开始加载职务数据 ===');
// localStorage // localStorage
const storageData = uni.getStorageSync('app-common'); const storageData = uni.getStorageSync('app-common');
console.log('localStorage原始数据:', storageData); let zwData = null;
if (!storageData) { if (storageData) {
console.warn('localStorage中没有找到app-common数据');
uni.showToast({ title: '未找到app-common数据', icon: 'none' });
return;
}
// storageData
let parsedData; let parsedData;
if (typeof storageData === 'string') { if (typeof storageData === 'string') {
try { try {
parsedData = JSON.parse(storageData); parsedData = JSON.parse(storageData);
console.log('解析后的数据:', parsedData);
} catch (parseError) { } catch (parseError) {
console.error('解析localStorage数据失败:', parseError); console.error('解析localStorage数据失败:', parseError);
uni.showToast({ title: '数据格式错误', icon: 'none' });
return;
} }
} else { } else {
parsedData = storageData; parsedData = storageData;
} }
console.log('parsedData的data属性:', parsedData?.data); //
console.log('parsedData.data.zw:', parsedData?.data?.zw); if (parsedData?.data?.zw) {
zwData = parsedData.data.zw;
// parsedData.data.zw console.log('从localStorage找到职务数据缓存');
if (!parsedData.data || !parsedData.data.zw) { }
console.warn('localStorage中没有找到职务数据');
console.warn('可用的属性:', Object.keys(parsedData || {}));
uni.showToast({ title: '未找到职务数据', icon: 'none' });
return;
} }
const zwData = parsedData.data.zw; // getZwListByLx
console.log('职务数据结构:', zwData); if (!zwData) {
console.log('localStorage中没有职务数据开始调用getZwListByLx获取并缓存');
try {
// getZwListByLx
const { useCommonStore } = await import('@/store/modules/common');
const commonStore = useCommonStore();
//
const dzZwResult = await commonStore.getZwListByLx({ zwlx: '党政职务' });
const qtZwResult = await commonStore.getZwListByLx({ zwlx: '其他职务' });
console.log('党政职务API返回结果:', dzZwResult);
console.log('其他职务API返回结果:', qtZwResult);
//
zwData = {
'党政职务': { result: dzZwResult.result || [] },
'其他职务': { result: qtZwResult.result || [] }
};
console.log('getZwListByLx获取的职务数据已按类型分组:', zwData);
} catch (apiError) {
console.error('调用getZwListByLx失败:', apiError);
uni.showToast({ title: '获取职务数据失败', icon: 'none' });
return;
}
}
// //
let filteredData = []; let filteredData = [];
@ -775,8 +793,9 @@ const loadZwData = async () => {
value: item.id || item.value value: item.id || item.value
})); }));
console.log('=== 从localStorage加载职务数据完成 ==='); console.log('=== 职务数据加载完成 ===');
console.log('处理后的职务数据:', datas.value); console.log('处理后的职务数据:', datas.value);
} catch (error) { } catch (error) {
console.error('加载职务数据失败:', error); console.error('加载职务数据失败:', error);
uni.showToast({ title: '加载职务数据失败', icon: 'none' }); uni.showToast({ title: '加载职务数据失败', icon: 'none' });
@ -924,9 +943,87 @@ const handleConfirm = () => {
}; };
// //
onMounted(() => { onMounted(async () => {
// //
await ensureTeacherDataCached();
}); });
//
const ensureTeacherDataCached = async () => {
try {
console.log('=== 开始确保教师数据已缓存 ===');
// localStorage
const storageData = uni.getStorageSync('app-common');
let hasTeacherData = false;
let hasZwData = false;
if (storageData) {
let parsedData;
if (typeof storageData === 'string') {
try {
parsedData = JSON.parse(storageData);
} catch (parseError) {
console.error('解析localStorage数据失败:', parseError);
}
} else {
parsedData = storageData;
}
//
if (parsedData?.data?.allJs?.result && parsedData.data.allJs.result.length > 0) {
hasTeacherData = true;
console.log('localStorage中已有教师数据数量:', parsedData.data.allJs.result.length);
}
//
if (parsedData?.data?.zw) {
hasZwData = true;
console.log('localStorage中已有职务数据');
}
}
// API
if (!hasTeacherData) {
console.log('localStorage中没有教师数据开始获取并缓存');
// getAllJs
const { useCommonStore } = await import('@/store/modules/common');
const commonStore = useCommonStore();
try {
const result = await commonStore.getAllJs();
console.log('成功获取教师数据并写入缓存:', result);
} catch (error) {
console.error('获取教师数据失败:', error);
}
}
// getZwListByLx
if (!hasZwData) {
console.log('localStorage中没有职务数据开始获取并缓存');
try {
// getZwListByLx
const { useCommonStore } = await import('@/store/modules/common');
const commonStore = useCommonStore();
//
await commonStore.getZwListByLx({ zwlx: '党政职务' });
await commonStore.getZwListByLx({ zwlx: '其他职务' });
console.log('成功获取职务数据并写入缓存');
} catch (error) {
console.error('获取职务数据失败:', error);
}
}
console.log('=== 确保教师数据已缓存完成 ===');
} catch (error) {
console.error('确保教师数据缓存过程中出错:', error);
}
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>