feat(expense-management): 添加项目名称搜索的本地存储功能
- 在成本明细、支出明细和共享明细页面中,为大师项目名称和子项目名称的搜索框添加本地存储功能 - 当用户输入搜索值时,从本地存储中获取已保存的项目名称选项 - 当用户清空搜索框时,将当前加载的项目名称选项保存到本地存储 - 优化了项目名称搜索的用户体验,减少了重复请求服务器的次数
This commit is contained in:
@@ -37,6 +37,8 @@ const searchConfig = ref([
|
||||
remote: true,
|
||||
remoteMethod:async (val)=>{
|
||||
console.log('val',val)
|
||||
searchConfig.value.find(item => item.prop == 'masterProjectName').props.options= JSON.parse(localStorage.getItem("masterProjectNameOption"))
|
||||
|
||||
if(val){
|
||||
await getMasterProjectName( val)
|
||||
|
||||
@@ -55,6 +57,8 @@ const searchConfig = ref([
|
||||
options: [],
|
||||
remote: true,
|
||||
remoteMethod:async (val)=>{
|
||||
searchConfig.value.find(item => item.prop == 'subProjectName').props.options= JSON.parse(localStorage.getItem("subprojectNameOption"))
|
||||
|
||||
if(val){
|
||||
await getSubprojectName(val)
|
||||
}
|
||||
@@ -235,6 +239,9 @@ const getMasterProjectName =async (val) => {
|
||||
}
|
||||
optionsMap.set(optionObj.value, optionObj);
|
||||
})
|
||||
if(!val){
|
||||
localStorage.setItem('masterProjectNameOption', JSON.stringify(Array.from(optionsMap.values())))
|
||||
}
|
||||
// 将 Map 转换为数组
|
||||
searchConfig.value.find(item => item.prop == 'masterProjectName').props.options = Array.from(optionsMap.values())
|
||||
}
|
||||
@@ -251,6 +258,9 @@ const getSubprojectName =async (val) => {
|
||||
}
|
||||
optionsMap.set(optionObj.value, optionObj);
|
||||
})
|
||||
if(!val){
|
||||
localStorage.setItem('subprojectNameOption', JSON.stringify(Array.from(optionsMap.values())))
|
||||
}
|
||||
// 将 Map 转换为数组
|
||||
searchConfig.value.find(item => item.prop == 'subProjectName').props.options = Array.from(optionsMap.values())
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@ const searchConfig = ref(
|
||||
remote: true,
|
||||
remoteMethod:async (val)=>{
|
||||
console.log('val',val)
|
||||
searchConfig.value.find(item => item.prop == 'masterProjectName').props.options= JSON.parse(localStorage.getItem("masterProjectNameOption"))
|
||||
|
||||
if(val){
|
||||
await getMasterProjectName( val)
|
||||
}
|
||||
@@ -50,6 +52,7 @@ const searchConfig = ref(
|
||||
options: [],
|
||||
remote: true,
|
||||
remoteMethod:async (val)=>{
|
||||
searchConfig.value.find(item => item.prop == 'subProjectName').props.options= JSON.parse(localStorage.getItem("subprojectNameOption"))
|
||||
if(val){
|
||||
await getSubprojectName(val)
|
||||
}
|
||||
@@ -229,6 +232,9 @@ const getMasterProjectName =async (val) => {
|
||||
}
|
||||
optionsMap.set(optionObj.value, optionObj);
|
||||
})
|
||||
if(!val){
|
||||
localStorage.setItem('masterProjectNameOption', JSON.stringify(Array.from(optionsMap.values())))
|
||||
}
|
||||
// 将 Map 转换为数组
|
||||
searchConfig.value.find(item => item.prop == 'masterProjectName').props.options = Array.from(optionsMap.values())
|
||||
}
|
||||
@@ -245,6 +251,9 @@ const getSubprojectName =async (val) => {
|
||||
}
|
||||
optionsMap.set(optionObj.value, optionObj);
|
||||
})
|
||||
if(!val){
|
||||
localStorage.setItem('subprojectNameOption', JSON.stringify(Array.from(optionsMap.values())))
|
||||
}
|
||||
// 将 Map 转换为数组
|
||||
searchConfig.value.find(item => item.prop == 'subProjectName').props.options = Array.from(optionsMap.values())
|
||||
}
|
||||
|
||||
@@ -37,6 +37,8 @@ const searchConfig = ref([
|
||||
remote: true,
|
||||
remoteMethod:async (val)=>{
|
||||
console.log('val',val)
|
||||
searchConfig.value.find(item => item.prop == 'masterProjectName').props.options= JSON.parse(localStorage.getItem("masterProjectNameOption"))
|
||||
|
||||
if(val){
|
||||
|
||||
await getMasterProjectName( val)
|
||||
@@ -55,6 +57,8 @@ const searchConfig = ref([
|
||||
options: [],
|
||||
remote: true,
|
||||
remoteMethod:async (val)=>{
|
||||
searchConfig.value.find(item => item.prop == 'subProjectName').props.options= JSON.parse(localStorage.getItem("subprojectNameOption"))
|
||||
|
||||
if(val){
|
||||
await getSubprojectName(val)
|
||||
|
||||
@@ -190,6 +194,9 @@ const getMasterProjectName =async (val) => {
|
||||
}
|
||||
optionsMap.set(optionObj.value, optionObj);
|
||||
})
|
||||
if(!val){
|
||||
localStorage.setItem('masterProjectNameOption', JSON.stringify(Array.from(optionsMap.values())))
|
||||
}
|
||||
// 将 Map 转换为数组
|
||||
searchConfig.value.find(item => item.prop == 'masterProjectName').props.options = Array.from(optionsMap.values())
|
||||
}
|
||||
@@ -206,6 +213,9 @@ const getSubprojectName =async (val) => {
|
||||
}
|
||||
optionsMap.set(optionObj.value, optionObj);
|
||||
})
|
||||
if(!val){
|
||||
localStorage.setItem('subprojectNameOption', JSON.stringify(Array.from(optionsMap.values())))
|
||||
}
|
||||
// 将 Map 转换为数组
|
||||
searchConfig.value.find(item => item.prop == 'subProjectName').props.options = Array.from(optionsMap.values())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user