| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- Component({
- options: {
- addGlobalClass: true
- },
- lifetimes: {
- attached() {
- if (wx.getStorageSync('SearchHistory')) this.setData({
- history: wx.getStorageSync('SearchHistory')
- })
- getApp().globalData.Language.getLanguagePackage(this)
- }
- },
- properties: {
- active: {
- type: [Number, String],
- value: 0
- },
- tabs: {
- type: Array,
- value: [{
- title: "中止"
- }]
- },
- onChangeTab: {
- type: Function
- },
- onSearch: {
- type: Function
- },
- threshold: {
- type: [String, Number],
- value: 4
- }
- },
- data: {
- },
- methods: {
- onChange({
- detail
- }) {
- this.triggerEvent("onChangeTab", detail)
- },
- /* 开启关闭搜索 */
- clickSearch() {
- this.setData({
- startUsing: !this.data.startUsing
- });
- setTimeout(this.setListHeight, 400)
- },
- /* 搜索 */
- confirmSearch(e) {
- if (this.data.condition == e.detail.value) return;
- this.setData({
- condition: e.detail.value
- })
- this.triggerEvent("onSearch", e.detail.value)
- },
- /* 开始搜索 */
- startSearch({
- detail
- }) {
- if (this.data.condition == detail) return;
- this.setData({
- condition: detail
- })
- this.triggerEvent("onSearch", detail)
- if (this.data.record || detail == '') {
- let list = this.data.history;
- if (list.findIndex(v => v == detail) == -1) {
- list.push(detail)
- this.setData({
- history: list
- });
- wx.setStorageSync("SearchHistory", list)
- }
- }
- },
- /* 取消搜索 */
- endSearch() {
- this.setData({
- condition: ""
- })
- this.triggerEvent("onSearch", "")
- },
- /* 删除搜索历史 */
- deleteHistory(e) {
- let that = this;
- wx.showModal({
- cancelText: getApp().globalData.Language.getMapText('取消'),
- confirmText: getApp().globalData.Language.getMapText('确定'),
- title: getApp().globalData.Language.getMapText('提示'),
- content: getApp().globalData.Language.getMapText('是否删除所有搜索历史'),
- complete: ({
- confirm
- }) => {
- if (confirm) {
- wx.setStorageSync("SearchHistory", [])
- that.setData({
- history: []
- });
- this.setListHeight();
- }
- }
- })
- },
- /* 快速搜索 */
- clickTag(e) {
- const {
- name
- } = e.currentTarget.dataset;
- this.setData({
- condition: name
- });
- this.triggerEvent("onSearch", name)
- },
- /* 单独删除 */
- delteTag(e) {
- const {
- name
- } = e.currentTarget.dataset;
- this.setData({
- history: this.data.history.filter(v => v != name)
- });
- wx.setStorageSync('SearchHistory', this.data.history);
- this.setListHeight();
- },
- /* 设置列表高度 */
- setListHeight() {
- let pages = getCurrentPages()[getCurrentPages().length - 1].selectComponent("#ListBox");
- if (pages) pages.automaticSetHei();
- },
- /* 搜索框焦点 */
- onFocus() {
- this.setData({
- showHistory: true
- });
- setTimeout(this.setListHeight, 50);
- },
- /* 搜索框失焦 */
- onBlur() {
- this.setData({
- showHistory: false
- })
- setTimeout(this.setListHeight, 50);
- },
- clickFiltration() {
- let page = getCurrentPages()[getCurrentPages().length - 1].selectComponent("#Filtrate");
- if (page) {
- page.setData({
- show: true
- })
- } else {
- this.triggerEvent("onClick", item)
- }
- }
- }
- })
|