From eae9976feb59ef4f15ff22f7ea43fa7f7eaded7d Mon Sep 17 00:00:00 2001 From: meo <18801474720@163.com> Date: Wed, 23 Oct 2019 19:17:13 +0800 Subject: [PATCH] =?UTF-8?q?[=E9=97=A8=E5=BA=97][=E5=A2=9E=E5=8A=A0]:[?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=97=A8=E5=BA=97=E5=88=97=E8=A1=A8=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E5=8A=A0=E8=BD=BD=E5=88=86=E9=A1=B5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/searchbar/searchbar.js | 583 ++++++++++----------------------- pages/searchbar/searchbar.wxml | 2 +- 2 files changed, 183 insertions(+), 402 deletions(-) diff --git a/pages/searchbar/searchbar.js b/pages/searchbar/searchbar.js index 943ea4e..b00d1e5 100644 --- a/pages/searchbar/searchbar.js +++ b/pages/searchbar/searchbar.js @@ -2,412 +2,193 @@ const navigationBarHeight = (getApp().statusBarHeight + 44) * 2; const config = require("../../config/config"); const Http = require("../../utils/HttpBasics"); const imgurl = require("../../utils/imgurl"); -module.exports = - /******/ - (function(modules) { // webpackBootstrap - /******/ // The module cache - /******/ - var installedModules = {}; - /******/ - /******/ // The require function - /******/ - function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ - if (installedModules[moduleId]) { - /******/ - return installedModules[moduleId].exports; - /******/ - } - /******/ // Create a new module (and put it into the cache) - /******/ - var module = installedModules[moduleId] = { - /******/ - i: moduleId, - /******/ - l: false, - /******/ - exports: {} - /******/ - }; - /******/ - /******/ // Execute the module function - /******/ - modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - /******/ - /******/ // Flag the module as loaded - /******/ - module.l = true; - /******/ - /******/ // Return the exports of the module - /******/ - return module.exports; - /******/ - } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ - __webpack_require__.m = modules; - /******/ - /******/ // expose the module cache - /******/ - __webpack_require__.c = installedModules; - /******/ - /******/ // define getter function for harmony exports - /******/ - __webpack_require__.d = function(exports, name, getter) { - /******/ - if (!__webpack_require__.o(exports, name)) { - /******/ - Object.defineProperty(exports, name, { - enumerable: true, - get: getter - }); - /******/ - } - /******/ - }; - /******/ - /******/ // define __esModule on exports - /******/ - __webpack_require__.r = function(exports) { - /******/ - if (typeof Symbol !== 'undefined' && Symbol.toStringTag) { - /******/ - Object.defineProperty(exports, Symbol.toStringTag, { - value: 'Module' - }); - /******/ - } - /******/ - Object.defineProperty(exports, '__esModule', { - value: true - }); - /******/ - }; - /******/ - /******/ // create a fake namespace object - /******/ // mode & 1: value is a module id, require it - /******/ // mode & 2: merge all properties of value into the ns - /******/ // mode & 4: return value when already ns object - /******/ // mode & 8|1: behave like require - /******/ - __webpack_require__.t = function(value, mode) { - /******/ - if (mode & 1) value = __webpack_require__(value); - /******/ - if (mode & 8) return value; - /******/ - if ((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; - /******/ - var ns = Object.create(null); - /******/ - __webpack_require__.r(ns); - /******/ - Object.defineProperty(ns, 'default', { - enumerable: true, - value: value +Page({ + data: { + result: [], + page: 1, + navigationBarHeight, + multiArray: [ + [], [] + ], + searchText: "请输入", + multiIndex: 0, + buildingFloor: [], + building: null, + floor: null, + teljpgUrl: imgurl.teljpg.url + }, + lastSearch: Date.now(), + onShow: function attached() { + this.getbuildingfloorlist(); + if (this.data.focus) { + this.setData({ + searchState: true }); - /******/ - if (mode & 2 && typeof value != 'string') - for (var key in value) __webpack_require__.d(ns, key, function(key) { - return value[key]; - }.bind(null, key)); - /******/ - return ns; - /******/ - }; - /******/ - /******/ // getDefaultExport function for compatibility with non-harmony modules - /******/ - __webpack_require__.n = function(module) { - /******/ - var getter = module && module.__esModule ? - /******/ - function getDefault() { - return module['default']; - } : - /******/ - function getModuleExports() { - return module; - }; - /******/ - __webpack_require__.d(getter, 'a', getter); - /******/ - return getter; - /******/ - }; - /******/ - /******/ // Object.prototype.hasOwnProperty.call - /******/ - __webpack_require__.o = function(object, property) { - return Object.prototype.hasOwnProperty.call(object, property); + } + }, + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + let that = this; + that.data.page++; + that.setData({ + page: that.data.page + }); + // 如果是最后一页 + //就不发送请求 + if (!that.data.isLastPage || that.data.isFirstPage && that.data.isLastPage) { + this.getList(this.data.building.id, this.data.floor.id, that.data.page) + } + }, + phone: function (e) { + let that = this; + if (e.currentTarget.dataset.merchantlinkphone) { + wx.makePhoneCall({ + phoneNumber: e.currentTarget.dataset.merchantlinkphone + }) + } + }, + gotoDetail(e) { + wx.navigateTo({ + url: `/pages/index/searchbar/detail/index?id=${e.currentTarget.dataset.id}` + }) + }, + bindMultiPickerColumnChange: function (e) { + var data = { + multiArray: this.data.multiArray, + multiIndex: this.data.multiIndex }; - /******/ - /******/ // __webpack_public_path__ - /******/ - __webpack_require__.p = ""; - /******/ - /******/ - /******/ // Load entry module and return exports - /******/ - return __webpack_require__(__webpack_require__.s = 19); - /******/ - }) -/************************************************************************/ -/******/ -({ - - /***/ - 19: - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - Component({ - options: { - addGlobalClass: true - }, - properties: { - extClass: { - type: String, - value: '' - }, - focus: { - type: Boolean, - value: false - }, - placeholder: { - type: String, - value: '请输入' - }, - value: { - type: String, - value: '' - }, - search: { - type: Function, - value: null - }, - throttle: { - type: Number, - value: 500 - }, - cancelText: { - type: String, - value: '取消' - }, - cancel: { - type: Boolean, - value: true - } - }, - data: { - result: [], - navigationBarHeight, - multiArray: [ - [],[] - ], - searchText:"请输入", - multiIndex:0, - buildingFloor: [], - building: null, - floor:null, - teljpgUrl: imgurl.teljpg.url - }, - lastSearch: Date.now(), - lifetimes: { - attached: function attached() { - this.getbuildingfloorlist(); - if (this.data.focus) { - this.setData({ - searchState: true - }); - } - } - }, - methods: { - phone: function (e) { - let that = this; - if (e.currentTarget.dataset.merchantlinkphone) { - wx.makePhoneCall({ - phoneNumber: e.currentTarget.dataset.merchantlinkphone - }) - } - }, - gotoDetail(e) { - wx.navigateTo({ - url: `/pages/index/searchbar/detail/index?id=${e.currentTarget.dataset.id}` - }) - }, - bindMultiPickerColumnChange: function (e) { - var data = { - multiArray: this.data.multiArray, - multiIndex: this.data.multiIndex - }; - console.log(e) - data.multiIndex[e.detail.column] = e.detail.value; - switch (e.detail.column) { - case 0: - data.multiArray[1] = this.data.buildingFloor[e.detail.value].floors; - break; - } - this.setData({ - multiArray: this.data.multiArray, - multiIndex: this.data.multiIndex - }) - }, - bindMultiPickerChange: function (e) { - // 楼座 building - // 楼层 floor - this.setData({ - multiIndex: e.detail.value, - building: this.data.multiArray[0][e.detail.value[0]], - floor: this.data.multiArray[1][e.detail.value[1]], - }) - this.getList(this.data.building.id, this.data.floor.id,1); + console.log(e) + data.multiIndex[e.detail.column] = e.detail.value; + switch (e.detail.column) { + case 0: + data.multiArray[1] = this.data.buildingFloor[e.detail.value].floors; + break; + } + this.setData({ + multiArray: this.data.multiArray, + multiIndex: this.data.multiIndex + }) + }, + bindMultiPickerChange: function (e) { + // 楼座 building + // 楼层 floor + this.setData({ + multiIndex: e.detail.value, + building: this.data.multiArray[0][e.detail.value[0]], + floor: this.data.multiArray[1][e.detail.value[1]], + }) + this.getList(this.data.building.id, this.data.floor.id, 1); - this.setData({ - searchText: this.data.building.name + this.data.floor.floorName - }) - }, - //获取楼层楼座 - getbuildingfloorlist() { - Http.get({ - url: config.api.getbuildingfloorlist, - data: { - } - }).then(res => { - if(res.data.length>0){ - res.data.map(file=>{ - if (file.floors.length>0){ - file.floors.map(ever=>{ - ever.name = ever.floorName - }) - } - }) - } - this.setData({ - buildingFloor:res.data - }) - this.setData({ - multiArray: [[...this.data.buildingFloor], [...this.data.buildingFloor[0].floors]] - }) - - }) - .catch(err => { - wx.showToast({ - title: err.errMsg, - icon: 'none', - duration: 2000, - mask: false - }); - }) - }, - getList: function (building, floor,page) { - let that = this; - let data = { - pageNum: 1, - pageSize: 10, - building: building ? building:null, - floor: floor ? floor:null, - }; - Http.get({ - url: config.api.merchantList, - data: data - }).then(res => { - if (page == 1) { - that.setData({ - merchantVoList: [], - }) - } - var tmpArr = that.data.merchantVoList; - tmpArr.push.apply(tmpArr, res.data.list); - that.setData({ - merchantVoList: tmpArr - }) - }) - .catch(err => { - wx.showToast({ - title: err.errMsg, - icon: 'none', - duration: 2000, - mask: false - }); - }) - }, - clearInput: function clearInput() { - this.setData({ - value: '' - }); - this.triggerEvent('clear'); - }, - inputFocus: function inputFocus(e) { - this.triggerEvent('focus', e.detail); - }, - inputBlur: function inputBlur(e) { - this.setData({ - focus: false - }); - this.triggerEvent('blur', e.detail); - }, - showInput: function showInput() { - this.setData({ - focus: true, - searchState: true - }); - }, - hideInput: function hideInput() { - this.setData({ - searchState: false - }); - this.setData({ - searchText:"请输入", - merchantVoList:[] + this.setData({ + searchText: this.data.building.name + this.data.floor.floorName + }) + }, + //获取楼层楼座 + getbuildingfloorlist() { + Http.get({ + url: config.api.getbuildingfloorlist, + data: { + } + }).then(res => { + if (res.data.length > 0) { + res.data.map(file => { + if (file.floors.length > 0) { + file.floors.map(ever => { + ever.name = ever.floorName }) - }, - inputChange: function inputChange(e) { - var _this = this; - - this.setData({ - value: e.detail.value - }); - this.triggerEvent('input', e.detail); - if (Date.now() - this.lastSearch < this.data.throttle) { - return; - } - if (typeof this.data.search !== 'function') { - return; - } - this.lastSearch = Date.now(); - this.timerId = setTimeout(function() { - _this.data.search(e.detail.value).then(function(json) { - _this.setData({ - result: json - }); - }).catch(function(err) { - console.log('search error', err); - }); - }, this.data.throttle); - }, - selectResult: function selectResult(e) { - var index = e.currentTarget.dataset.index; - - var item = this.data.result[index]; - this.triggerEvent('selectresult', { - index: index, - item: item - }); } - } - }); + }) + } + this.setData({ + buildingFloor: res.data + }) + this.setData({ + multiArray: [[...this.data.buildingFloor], [...this.data.buildingFloor[0].floors]] + }) - /***/ }) + .catch(err => { + wx.showToast({ + title: err.errMsg, + icon: 'none', + duration: 2000, + mask: false + }); + }) + }, + getList: function (building, floor, page) { + let that = this; + let data = { + pageNum: page, + pageSize: 10, + building: building ? building : null, + floor: floor ? floor : null, + }; + Http.get({ + url: config.api.merchantList, + data: data + }).then(res => { + if (page == 1) { + that.setData({ + merchantVoList: [], + }) + } + var tmpArr = that.data.merchantVoList; + tmpArr.push.apply(tmpArr, res.data.list); + that.setData({ + merchantVoList: tmpArr, + isFirstPage: res.data.isFirstPage, + isLastPage: res.data.isLastPage + }) + }) + .catch(err => { + wx.showToast({ + title: err.errMsg, + icon: 'none', + duration: 2000, + mask: false + }); + }) + }, + clearInput: function clearInput() { + this.setData({ + value: '' + }); + this.triggerEvent('clear'); + }, + inputFocus: function inputFocus(e) { + this.triggerEvent('focus', e.detail); + }, + inputBlur: function inputBlur(e) { + this.setData({ + focus: false + }); + this.triggerEvent('blur', e.detail); + }, + showInput: function showInput() { + this.setData({ + focus: true, + searchState: true + }); + }, + hideInput: function hideInput() { + this.setData({ + searchState: false + }); + this.setData({ + searchText: "请输入", + merchantVoList: [] + }) + }, + selectResult: function selectResult(e) { + var index = e.currentTarget.dataset.index; - /******/ -}); \ No newline at end of file + var item = this.data.result[index]; + this.triggerEvent('selectresult', { + index: index, + item: item + }); + } +}) \ No newline at end of file diff --git a/pages/searchbar/searchbar.wxml b/pages/searchbar/searchbar.wxml index f4dc107..78f9b5b 100644 --- a/pages/searchbar/searchbar.wxml +++ b/pages/searchbar/searchbar.wxml @@ -3,7 +3,7 @@ - + 搜索搜索搜索搜索搜索搜索搜索搜索搜索搜索