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