From 6f016bf1b80635376dca0f4fbf21b7c08672ba20 Mon Sep 17 00:00:00 2001
From: meo <18801474720@163.com>
Date: Tue, 8 Oct 2019 11:59:23 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BA=A4=E4=BA=92=E3=80=91=E3=80=90?=
=?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=91C=E7=AB=AF=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E9=97=A8=E5=BA=97=E6=8C=89=E6=A5=BC=E5=B1=82=E5=8F=8A=E6=A5=BC?=
=?UTF-8?q?=E5=BA=A7=E7=AD=9B=E9=80=89-?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/config.js | 4 +-
index/searchbar.js | 8 +-
index/searchbar.wxss | 13 +-
pages/searchbar/searchbar.js | 545 +++++++++++++++++++++------------
pages/searchbar/searchbar.wxml | 15 +-
pages/searchbar/searchbar.wxss | 38 ++-
6 files changed, 401 insertions(+), 222 deletions(-)
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}}
-
@@ -33,12 +28,8 @@
- {{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