diff --git a/config/config.js b/config/config.js index ce1a625..4db2127 100755 --- a/config/config.js +++ b/config/config.js @@ -312,7 +312,9 @@ var config = { getCouponOrderByPassword:'/couponPassword/getCouponOrderByPassword', getbuildingfloorlist:'/wxMallBuilding/getbuildingfloorlist', //商场信息接口 - getMallInfo: "/mall/mallInfo" + getMallInfo: "/mall/mallInfo", + // 获取楼层楼座数据 + getbuildingfloorlist:"/wxMallBuilding/getbuildingfloorlist" }, weapp: { AppId: weappId diff --git a/index/searchbar.js b/index/searchbar.js index 62534fd..c936e83 100644 --- a/index/searchbar.js +++ b/index/searchbar.js @@ -58,13 +58,13 @@ Page({ }) }, onShow(){ + let that = this; if (typeof this.getTabBar === 'function' && - this.getTabBar()) { - this.getTabBar().setData({ + that.getTabBar()) { + that.getTabBar().setData({ selected: 1 }) - } - let that = this; + }; wx.getSystemInfo({ success: function (res) { that.setData({ diff --git a/index/searchbar.wxss b/index/searchbar.wxss index cd7f257..c9adb92 100644 --- a/index/searchbar.wxss +++ b/index/searchbar.wxss @@ -116,6 +116,12 @@ padding-right:5%; overflow: hidden; } +.merchants view:nth-child(1) image { + display: block; + width: 120rpx; + height: 120rpx; + border-radius: 16rpx; +} .position{ text-align: center; margin-top: 100rpx; @@ -124,12 +130,7 @@ .leftBox{ padding: 20rpx 0; } -.merchants view:nth-child(1) image { - display: block; - width: 120rpx; - height: 120rpx; - border-radius: 16rpx; -} + .shopVo{ margin-left: 20rpx; } diff --git a/pages/searchbar/searchbar.js b/pages/searchbar/searchbar.js index e913eab..ad61b6f 100644 --- a/pages/searchbar/searchbar.js +++ b/pages/searchbar/searchbar.js @@ -1,249 +1,404 @@ -const navigationBarHeight = (getApp().statusBarHeight + 44)*2; +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 }); -/******/ 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); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 19); -/******/ }) + /******/ + (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 + }); + /******/ + 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); + }; + /******/ + /******/ // __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__) { + /***/ + 19: + /***/ + (function(module, exports, __webpack_require__) { -"use strict"; + "use strict"; -Component({ - options: { - addGlobalClass: true - }, - properties: { - extClass: { + Component({ + options: { + addGlobalClass: true + }, + properties: { + extClass: { type: String, value: '' - }, - focus: { + }, + focus: { type: Boolean, value: false - }, - placeholder: { + }, + placeholder: { type: String, value: '请输入' - }, - value: { + }, + value: { type: String, value: '' - }, - search: { + }, + search: { type: Function, value: null - }, - throttle: { + }, + throttle: { type: Number, value: 500 - }, - cancelText: { + }, + cancelText: { type: String, value: '取消' - }, - cancel: { + }, + cancel: { type: Boolean, value: true - } - }, - data: { - result: [], - navigationBarHeight, - multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物']] - }, - lastSearch: Date.now(), - lifetimes: { - attached: function attached() { + } + }, + data: { + result: [], + navigationBarHeight, + multiArray: [ + [],[] + ], + 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 - }); + this.setData({ + searchState: true + }); } - } - }, - methods: { - getList: function () { - let that = this; - let data = { - pageNum: page, - pageSize: 8 - }; - Http.get({ - url: config.api.merchantList, - data: data - }).then(res => { - wx.hideLoading(); - 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.hideLoading(); - wx.showToast({ - title: err.errMsg, - icon: 'none', - duration: 2000, - mask: false - }); - }) - }, - bindMultiPickerChange(e){ - this.setData({ - value: this.data.multiArray[0][e.detail.value[0]] + this.data.multiArray[1][e.detail.value[1]] - }) }, - clearInput: function clearInput() { + 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); + }, + //获取楼层楼座 + 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, + floor: floor, + }; + 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: '' + value: '' }); this.triggerEvent('clear'); - }, - inputFocus: function inputFocus(e) { - this.triggerEvent('focus', e.detail); - }, - inputBlur: function inputBlur(e) { + }, + inputFocus: function inputFocus(e) { + this.triggerEvent('focus', e.detail); + }, + inputBlur: function inputBlur(e) { this.setData({ - focus: false + focus: false }); this.triggerEvent('blur', e.detail); - }, - showInput: function showInput() { + }, + showInput: function showInput() { this.setData({ - focus: true, - searchState: true + focus: true, + searchState: true }); - }, - hideInput: function hideInput() { + }, + hideInput: function hideInput() { this.setData({ - searchState: false + searchState: false }); - }, - inputChange: function inputChange(e) { + }, + inputChange: function inputChange(e) { var _this = this; this.setData({ - value: e.detail.value + value: e.detail.value }); this.triggerEvent('input', e.detail); if (Date.now() - this.lastSearch < this.data.throttle) { - return; + return; } if (typeof this.data.search !== 'function') { - return; + 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.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) { + }, + selectResult: function selectResult(e) { var index = e.currentTarget.dataset.index; var item = this.data.result[index]; - this.triggerEvent('selectresult', { index: index, item: item }); + this.triggerEvent('selectresult', { + index: index, + item: item + }); + } } - } -}); + }); -/***/ }) + /***/ + }) -/******/ }); \ No newline at end of file + /******/ +}); \ No newline at end of file diff --git a/pages/searchbar/searchbar.wxml b/pages/searchbar/searchbar.wxml index 41e5307..2149cda 100644 --- a/pages/searchbar/searchbar.wxml +++ b/pages/searchbar/searchbar.wxml @@ -4,7 +4,7 @@ - + 搜索搜索搜索搜索搜索搜索搜索搜索搜索搜索 @@ -20,11 +20,6 @@ {{cancelText}} - - {{item.merchantName}} - - - {{itemName.buildingName}}{{itemName.floorName}}--{{itemName.shopNumber}} - - + {{item.merchantName}} + {{item.businessName}} diff --git a/pages/searchbar/searchbar.wxss b/pages/searchbar/searchbar.wxss index 9612cff..86f59a6 100644 --- a/pages/searchbar/searchbar.wxss +++ b/pages/searchbar/searchbar.wxss @@ -20,8 +20,8 @@ .posi { position: relative; - width: 616rpx; - float: right; + width: 716rpx; + margin: 0 auto; } .posi>view:nth-child(2) { @@ -40,14 +40,44 @@ font-size: 30rpx; color: #a9a9a9; } - +.tel { + position: absolute; + right: 3%; + top: 0; + bottom: 0; + margin: auto; + width: 50rpx; + height: 50rpx; +} .posi_logo { position: relative; - width:576rpx!important; height:176rpx; background:rgba(255,255,255,1); box-shadow:0px 4rpx 8rpx 0px rgba(0,0,0,0.04); border-radius:16rpx; margin: 20rpx; overflow: hidden; +} +.merchants{ + width: 90%; + display: flex; + background: #fff; + padding-right:5%; + overflow: hidden; +} +.merchantName{ + display: block; + color: #3C3C3C; + font-size: 32rpx; + margin-left: 20rpx; + width: 90%; + overflow: hidden; + text-overflow:ellipsis; + white-space: nowrap; +} +.merchants view:nth-child(1) image { + display: block; + width: 120rpx; + height: 120rpx; + border-radius: 16rpx; } \ No newline at end of file