micro_mall_xcx/pages/goods/search/index.js

137 lines
3.0 KiB
JavaScript

import { getHistorySearchList } from '~/services/home/getHistorySearchList';
import { getHotSearchList } from '~/services/home/getHotSearchList';
import { addHistorySearch } from '~/services/home/addHistorySearch';
import { deleteHistorySearch } from '~/services/home/deleteHistorySearch';
Page({
data: {
historyWords: [],
popularWords: [],
searchValue: '',
dialog: {
showCancelButton: true,
message: '',
},
dialogShow: false,
},
deleteType: 0,
deleteIndex: '',
onShow() {
this.queryHistory();
this.queryPopular();
},
async queryHistory() {
try {
getHistorySearchList().then((res) => {
if (res.code == 200) {
this.setData({
historyWords: res.data,
});
} else {
console.log(res.msg);
}
});
} catch (error) {
console.log(error);
}
},
async queryPopular() {
try {
getHotSearchList().then((res) => {
if (res.code == 200) {
this.setData({
popularWords: res.data,
});
} else {
console.log(res.msg);
}
});
} catch (error) {
console.log(error);
}
},
confirm() {
const { historyWords } = this.data;
const { deleteType, deleteIndex } = this;
// console.log('deleteType', deleteType, 'deleteIndex', deleteIndex);
// console.log(historyWords);
if (deleteType === 0) {
const deleteWord = historyWords[deleteIndex];
historyWords.splice(deleteIndex, 1);
this.setData({
historyWords,
dialogShow: false,
});
deleteHistorySearch(deleteWord.historySearchId);
} else {
this.setData({
historyWords: [],
dialogShow: false,
});
}
},
close() {
this.setData({
dialogShow: false,
});
},
handleClearHistory() {
const { dialog } = this.data;
this.deleteType = 1;
this.setData({
dialog: {
...dialog,
message: '确认删除所有历史记录',
},
dialogShow: true,
});
},
deleteCurr(e) {
const { index } = e.currentTarget.dataset;
const { dialog } = this.data;
this.deleteIndex = index;
this.setData({
dialog: {
...dialog,
message: '确认删除当前历史记录',
deleteType: 0,
},
dialogShow: true,
});
},
handleHistoryTap(e) {
const { historyWords } = this.data;
const { dataset } = e.currentTarget;
const _searchValue = historyWords[dataset.index || 0] || '';
if (_searchValue) {
wx.navigateTo({
url: `/pages/goods/result/index?searchValue=${_searchValue}`,
});
}
},
// TODO:提交搜索
handleSubmit(e) {
const { value } = e.detail.value;
if (value?.length === 0) return;
const data = {
HistorySearchContent: e.detail.value,
};
addHistorySearch(data).then((res) => {
this.queryHistory();
});
wx.navigateTo({
url: `/pages/goods/result/index?searchValue=${value}`,
});
},
});