| | |
| | | .arrow_right{ |
| | | width: 16rpx; |
| | | } |
| | | .empty_wrap{ |
| | | width: 100%; |
| | | height: 100%; |
| | | padding-top: 300rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | .default_empty{ |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | | |
| | | /* */ |
| | | .flex { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | scrolltoupper() { |
| | | this.setData({ pageNum: 1,datalist: [],total: 0}) |
| | | this.getList() |
| | | }, |
| | | scrolltolower() { |
| | | console.log('触底事件'); |
| | | const { total, dataList, pageNum } = this.data |
| | |
| | | } |
| | | } |
| | | } |
| | | .empty_wrap{ |
| | | width: 100%; |
| | | display: flex; |
| | | padding-top: 200rpx; |
| | | justify-content: center; |
| | | } |
| | | .default_empty{ |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | |
| | | <view class="item {{ sortType == 'time' ? 'active' : '' }}" data-status="time" bindtap="statusChange">最新</view> |
| | | </view> |
| | | <!-- goods_list --> |
| | | <scroll-view bindscrolltoupper="scrolltoupper" bindscrolltolower="scrolltolower" scroll-y enable-passive enable-flex class="goods_list"> |
| | | <scroll-view bindscrolltolower="scrolltolower" scroll-y enable-passive enable-flex class="goods_list"> |
| | | <view wx:for="{{ dataList }}" data-id="{{ item.id }}" class="item" bindtap="handleDetail"> |
| | | <view class="img_wrap"> |
| | | <image src="{{ item.coverImage }}" class="img"></image> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | |
| | | .main_content .goods_list .item .info .primary { |
| | | color: var(--themeColor); |
| | | } |
| | | .empty_wrap { |
| | | width: 100%; |
| | | display: flex; |
| | | padding-top: 200rpx; |
| | | justify-content: center; |
| | | } |
| | | .default_empty { |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | |
| | | attached() { |
| | | this.getCatelist() |
| | | var app = getApp() |
| | | console.log('globalData', app.globalData); |
| | | if(app.globalData.catalogCode){ |
| | | this.setData({ catalogCode: app.globalData.catalogCode }) |
| | | setTimeout(() => { |
| | |
| | | } |
| | | } |
| | | } |
| | | .empty_wrap{ |
| | | width: 100%; |
| | | display: flex; |
| | | padding-top: 200rpx; |
| | | justify-content: center; |
| | | } |
| | | .default_empty{ |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | |
| | | <view class="separate"></view> |
| | | <view class="item {{ sortType == 'time' ? 'active' : '' }}" data-status="time" bindtap="statusChange">最新</view> |
| | | </view> |
| | | <scroll-view bindscrolltoupper="scrolltoupper" bindscrolltolower="scrolltolower" scroll-y enable-passive enable-flex class="goods_list"> |
| | | <scroll-view bindscrolltolower="scrolltolower" scroll-y enable-passive enable-flex class="goods_list"> |
| | | <view wx:for="{{ datalist }}" data-id="{{item.id}}" class="item" bindtap="handleDetail"> |
| | | <view class="img_wrap"> |
| | | <image src="{{ item.coverImage }}" class="img" mode="aspectFit"></image> |
| | |
| | | <text>{{ item.viewCount || 0 }}</text> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ datalist.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | |
| | | .main_content .main_right .goods_list .item .info .primary { |
| | | color: var(--themeColor); |
| | | } |
| | | .empty_wrap { |
| | | width: 100%; |
| | | display: flex; |
| | | padding-top: 200rpx; |
| | | justify-content: center; |
| | | } |
| | | .default_empty { |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | .empty_wrap{ |
| | | width: 100%; |
| | | display: flex; |
| | | padding-top: 200rpx; |
| | | justify-content: center; |
| | | } |
| | | .default_empty{ |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | |
| | | <view class="item {{ sortType == 'time' ? 'active' : '' }}" data-status="time" bindtap="statusChange">最新</view> |
| | | </view> |
| | | <!-- goods_list --> |
| | | <scroll-view bindscrolltoupper="scrolltoupper" bindscrolltolower="scrolltolower" scroll-y enable-passive enable-flex class="goods_list"> |
| | | <scroll-view bindscrolltolower="scrolltolower" scroll-y enable-passive enable-flex class="goods_list"> |
| | | <view wx:for="{{ dataList }}" data-item="{{item}}" class="item" bindtap="handleDetail"> |
| | | <view class="img_wrap"> |
| | | <image src="{{ item.coverImage }}" class="img"></image> |
| | |
| | | <text>{{ item.viewCount }}</text> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | |
| | | .main_content .goods_list .item .info .primary { |
| | | color: var(--themeColor); |
| | | } |
| | | .empty_wrap { |
| | | width: 100%; |
| | | display: flex; |
| | | padding-top: 200rpx; |
| | | justify-content: center; |
| | | } |
| | | .default_empty { |
| | | width: 300rpx; |
| | | height: 300rpx; |
| | | } |
| | |
| | | // pages/calculator/index.js |
| | | // import { imageUrl } from '../../utils/config' |
| | | // import { calculatorOption, calculatorSave, decodePhone, bindPhone } from '../../api/index' |
| | | import { getBjParamConfig, saveRenovationCalculator, getDictData, getWxMiniPhone, binDingPhone } from '../../api/index' |
| | | import { |
| | | getBjParamConfig, |
| | | saveRenovationCalculator, |
| | | getDictData, |
| | | getWxMiniPhone, |
| | | binDingPhone |
| | | } from '../../api/index' |
| | | // import Ls from '../../utils/storage' |
| | | // let ls = new Ls |
| | | Page({ |
| | |
| | | this.getCalculatorOption() |
| | | const userInfo = wx.getStorageSync('member') |
| | | if (userInfo.phone) { |
| | | that.setData({ userPhone: userInfo.phone }) |
| | | that.setData({ |
| | | userPhone: userInfo.phone |
| | | }) |
| | | } |
| | | }, |
| | | navigateBack () { |
| | |
| | | |
| | | // picker 选择 |
| | | onChange (e) { |
| | | this.setData({ pickerIndex: e.detail.index }) |
| | | this.setData({ |
| | | pickerIndex: e.detail.index |
| | | }) |
| | | }, |
| | | |
| | | // input 输入 |
| | | inputTyping (e) { |
| | | this.setData({ [e.currentTarget.dataset.index]: e.detail.value }) |
| | | this.setData({ |
| | | [e.currentTarget.dataset.index]: e.detail.value |
| | | }) |
| | | }, |
| | | |
| | | // 选择房屋类型、户型信息 |
| | | toSelectType (e) { |
| | | let index = e.currentTarget.dataset.index |
| | | let { activePicker } = this.data |
| | | let { |
| | | activePicker |
| | | } = this.data |
| | | if ( activePicker === index) { |
| | | this.setData({ showPopup: true }) |
| | | this.setData({ |
| | | showPopup: true |
| | | }) |
| | | } else { |
| | | this.setData({ |
| | | pickerIndex: 0, |
| | |
| | | |
| | | // 取消选择 |
| | | cancelPicker () { |
| | | this.setData({ showPopup: false }) |
| | | this.setData({ |
| | | showPopup: false |
| | | }) |
| | | }, |
| | | |
| | | // 确认选择 |
| | | confirmPicker () { |
| | | let { activePicker, pickerIndex } = this.data |
| | | this.setData({ [activePicker]: pickerIndex, showPopup: false }) |
| | | let { |
| | | activePicker, |
| | | pickerIndex |
| | | } = this.data |
| | | this.setData({ |
| | | [activePicker]: pickerIndex, |
| | | showPopup: false |
| | | }) |
| | | }, |
| | | |
| | | // 获取用户手机号 |
| | | getPhoneNumber (e) { |
| | | const data = { ...e.detail } |
| | | const data = { |
| | | ...e.detail |
| | | } |
| | | console.log('e', e); |
| | | if (data.encryptedData && data.iv) { |
| | | getWxMiniPhone({ |
| | | encryptedData: data.encryptedData, |
| | | iv: data.iv, |
| | |
| | | binDingPhone({ |
| | | phone: res.data |
| | | }).then((res) => { |
| | | this.setData({ userPhone: res.data }) |
| | | this.setData({ |
| | | userPhone: res.data.phone |
| | | }) |
| | | console.log('userPhone', this.data.userPhone); |
| | | if(res.code == 200){ |
| | | this.setData() |
| | | wx.setStorageSync('member', res.data) |
| | |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | // 立即计算 |
| | | submit () { |
| | | // console.log('立即计算') |
| | | let { userPhone } = this.data |
| | | let { |
| | | userPhone |
| | | } = this.data |
| | | const res = wx.getStorageSync('member') |
| | | |
| | | if (userPhone) { |
| | | let { type, info, area, money, typeArray, infoArray, calculatorOptions } = this.data |
| | | let { |
| | | type, |
| | | info, |
| | | area, |
| | | money, |
| | | typeArray, |
| | | infoArray, |
| | | calculatorOptions |
| | | } = this.data |
| | | let submitData = {} |
| | | submitData.name = res.name |
| | | submitData.phone = res.phone |
| | |
| | | // submitData = ['房屋类型:' + typeArray[type], '户型信息:' + infoArray[info], '房屋面积:' + area + '㎡', '装修预算:' + money + '万元'].join('-') |
| | | let activeList = type == '0' ? [...calculatorOptions.exquisiteList] : [...calculatorOptions.roughList] |
| | | activeList.forEach(item => { |
| | | item.money = (money * item.rate / 100).toFixed(1) |
| | | item.money = (money * item.rate / 100).toFixed(2) |
| | | if(item.children && item.children.length > 0){ |
| | | item.children.forEach(child => { |
| | | child.money = (money * child.rate / 100).toFixed(2) |
| | |
| | | console.log(res.msg) |
| | | } |
| | | }) |
| | | this.setData({ activeList, showResultMoney: true, containerContentStyle: 'auto' }) |
| | | this.setData({ |
| | | activeList, |
| | | showResultMoney: true, |
| | | containerContentStyle: 'auto' |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | // 提交计算结果 |
| | | submitCalculatorResult (data) { |
| | | saveRenovationCalculator({ info: data }).then(res => { |
| | | saveRenovationCalculator({ |
| | | info: data |
| | | }).then(res => { |
| | | // console.log(res) |
| | | if (res.success) { |
| | | wx.showToast({ |
| | |
| | | // 获取计算器配置 |
| | | getCalculatorOption () { |
| | | getBjParamConfig().then(res => { |
| | | this.setData({ calculatorOptions: res.data }) |
| | | this.setData({ |
| | | calculatorOptions: res.data |
| | | }) |
| | | }) |
| | | getDictData({ |
| | | code: 'WEIXIN_DEFAULT_IMGS', |
| | | label: 'JISUAN_BG' |
| | | }).then(res => { |
| | | this.setData({ background: res.data.code }) |
| | | this.setData({ |
| | | background: res.data.code |
| | | }) |
| | | }) |
| | | }, |
| | | onReady: function () { |
| | |
| | | <view class="value" wx:if="{{ type !== '' }}">{{ typeArray[type] }}</view> |
| | | <view class="placeholder" wx:else>请选择</view> |
| | | </view> |
| | | <van-icon class="icon" name="arrow-down" /> |
| | | <van-icon color="#B08771" class="icon" name="arrow-down" /> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | <view class="value" wx:if="{{ info !== '' }}">{{ infoArray[info] }}</view> |
| | | <view class="placeholder" wx:else>请选择</view> |
| | | </view> |
| | | <van-icon class="icon" name="arrow-down" /> |
| | | <van-icon color="#B08771" class="icon" name="arrow-down" /> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="form-item"> |
| | | <view class="label">房屋面积:</view> |
| | | <view class="input-box"> |
| | | <input class="input" placeholder-class="placeholder" placeholder="0" |
| | | <input class="input" type="number" placeholder-class="placeholder" placeholder="0" |
| | | data-index="area" bindinput="inputTyping" value="{{ area }}"/> |
| | | <view class="icon">㎡</view> |
| | | </view> |
| | |
| | | <view class="form-item"> |
| | | <view class="label">装修预算:</view> |
| | | <view class="input-box"> |
| | | <input class="input" placeholder-class="placeholder" placeholder="0" |
| | | <input class="input" type="number" placeholder-class="placeholder" placeholder="0" |
| | | data-index="money" bindinput="inputTyping" value="{{ money }}"/> |
| | | <view class="icon">万元</view> |
| | | </view> |
| | |
| | | height: 88rpx;
|
| | | line-height: 88rpx;
|
| | | margin-bottom: 40rpx;
|
| | | color: #222222;
|
| | | }
|
| | |
|
| | | .calculator .input-box {
|
| | |
| | | .results .item .td {
|
| | | line-height: 74rpx;
|
| | | height: 74rpx;
|
| | | font-weight: 400;
|
| | | font-size: 24rpx;
|
| | | }
|
| | |
|
| | | .results .item .th {
|
| | |
| | | url: '/pages/webView/index', |
| | | success: function(res) { |
| | | // 通过eventChannel向被打开页面传送数据 |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', { link: item.openContent, title: item.title }) |
| | | res.eventChannel.emit('acceptDataFromOpenerPage', { link: item.content, title: item.title }) |
| | | } |
| | | }) |
| | | }else{ |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | .container { |
| | | background-color: #f7f7f7; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | min-height: 100vh; |
| | | |
| | | .banner_swiper { |
| | |
| | | .container { |
| | | background-color: #f7f7f7; |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | min-height: 100vh; |
| | | } |
| | | .container .banner_swiper { |
| | |
| | | width: 100%; |
| | | padding: 0rpx 40rpx 120rpx; |
| | | text-align: center; |
| | | background-color: #fff; |
| | | .h1{ |
| | | margin-bottom: 16rpx; |
| | | font-weight: 600; |
| | |
| | | width: 100%; |
| | | padding: 0rpx 40rpx 120rpx; |
| | | text-align: center; |
| | | background-color: #fff; |
| | | } |
| | | .liucheng .h1 { |
| | | margin-bottom: 16rpx; |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | title: '注销成功', |
| | | }) |
| | | setTimeout(() => { |
| | | eventBus.emit("reloadHome") |
| | | }, 1000) |
| | | setTimeout(() => { |
| | | wx.switchTab({ |
| | | url: '/pages/index/index', |
| | | }) |
| | | }, 500) |
| | | setTimeout(() => { |
| | | eventBus.emit("reloadHome") |
| | | }, 1000) |
| | | } else { |
| | | console.log('登录失败!') |
| | | } |
| | |
| | | bottomLift: app.bottomLift |
| | | }) |
| | | const res = wx.getMenuButtonBoundingClientRect() |
| | | this.setData({clientHeight: res.height}) |
| | | this.setData({clientTop: res.top}) |
| | | this.setData({ |
| | | clientHeight: res.height |
| | | }) |
| | | this.setData({ |
| | | clientTop: res.top |
| | | }) |
| | | |
| | | }, |
| | | navback() { |
| | | wx.navigateBack() |
| | | }, |
| | | makePhone(e) { |
| | | const { linkPhone } = this.data.info |
| | | wx.makePhoneCall({ phoneNumber: linkPhone }) |
| | | const { |
| | | linkPhone |
| | | } = this.data.info |
| | | wx.makePhoneCall({ |
| | | phoneNumber: linkPhone |
| | | }) |
| | | }, |
| | | callPhone(e) { |
| | | const phone = e.currentTarget.dataset.phone |
| | | wx.makePhoneCall({ phoneNumber: phone }) |
| | | wx.makePhoneCall({ |
| | | phoneNumber: phone |
| | | }) |
| | | }, |
| | | handleDetail(e) { |
| | | const id = e.currentTarget.dataset.id |
| | |
| | | }) |
| | | }, |
| | | handleNavigation() { |
| | | wx.getLocation({ |
| | | type: 'gcj02', //返回可以用于wx.openLocation的经纬度 |
| | | success (res) { |
| | | const latitude = res.latitude |
| | | const longitude = res.longitude |
| | | const info = this.data.info |
| | | const latitude = info.latitude |
| | | const longitude = info.longitude |
| | | wx.openLocation({ |
| | | latitude, |
| | | longitude, |
| | | name: info.name, |
| | | scale: 18 |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | getDetail(id) { |
| | | getShopDetail({shopId: id}).then(res => { |
| | | this.setData({ info: res.data }) |
| | | getShopDetail({ |
| | | shopId: id |
| | | }).then(res => { |
| | | this.setData({ |
| | | info: res.data |
| | | }) |
| | | }) |
| | | }, |
| | | onReady() { |
| | |
| | | position: relative; |
| | | bottom: 80rpx; |
| | | padding: 0 40rpx 40rpx; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | background-color: #fff; |
| | | padding-top: 80rpx; |
| | | .title { |
| | |
| | | margin-bottom: 38rpx; |
| | | } |
| | | .list { |
| | | height: calc( 100% - 600rpx ); |
| | | .item { |
| | | width: 670rpx; |
| | | height: 148rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | | .container{ |
| | | overflow: hidden; |
| | | height: 100%; |
| | | } |
| | | .app{ |
| | | overflow: hidden; |
| | | height: 100vh; |
| | | } |
| | | .footer{ |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | <view> |
| | | <view class="app"> |
| | | <!-- <view class="bg_wrap"></view> --> |
| | | <image class="bg_wrap" src="../../static/images/mendian_bg.png" mode="widthFix"></image> |
| | | <view class="navback" style="padding-top: {{ clientTop }}px;height: {{clientHeight + clientTop}}px;"> |
| | |
| | | <view class="header"> |
| | | <view class="name">{{ info.name }}</view> |
| | | <!-- <view class="desc">全屋定制、整体厨房、木门墙板、卫阳定制</view> --> |
| | | <view class="addr">{{ info.distanceStr }}|{{ info.address || '--' }}</view> |
| | | <view class="addr">{{ info.distanceStr || '--' }}|{{ info.address || '--' }}</view> |
| | | </view> |
| | | <view class="main_content"> |
| | | <view class="title">门店导购</view> |
| | | <view class="list"> |
| | | <scroll-view scroll-y class="list"> |
| | | <view class="item" wx:for="{{ info.usersList }}"> |
| | | <image data-id="{{ item.iamId }}" bindtap="handleDetail" src="{{ item.imgurlFull ? item.imgurlFull : '../../static/images/default_avatar.png' }}" class="avatar"></image> |
| | | <view data-id="{{ item.iamId }}" bindtap="handleDetail" class="content"> |
| | |
| | | </view> |
| | | <view data-phone="{{ item.phone }}" bindtap="callPhone" class="btn">联系TA</view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | | <!-- footer --> |
| | |
| | | position: relative; |
| | | bottom: 80rpx; |
| | | padding: 0 40rpx 40rpx; |
| | | height: 100%; |
| | | overflow: hidden; |
| | | background-color: #fff; |
| | | padding-top: 80rpx; |
| | | } |
| | |
| | | font-weight: 600; |
| | | font-size: 36rpx; |
| | | margin-bottom: 38rpx; |
| | | } |
| | | .main_content .list { |
| | | height: calc(100% - 600rpx); |
| | | } |
| | | .main_content .list .item { |
| | | width: 670rpx; |
| | |
| | | color: var(--themeColor); |
| | | border: 1rpx solid var(--themeColor); |
| | | } |
| | | .container { |
| | | overflow: hidden; |
| | | height: 100%; |
| | | } |
| | | .app { |
| | | overflow: hidden; |
| | | height: 100vh; |
| | | } |
| | | .footer { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | } |
| | | }) |
| | | }, |
| | | makePhone() { |
| | | const phoneNumber = this.data.info.phone |
| | | wx.makePhoneCall({ phoneNumber }) |
| | | }, |
| | | openModal() { |
| | | if(this.data.info.qrcodeImgFull){ |
| | | this.setData({ isShow: true }) |
| | |
| | | </view> |
| | | </view> |
| | | <!-- footer --> |
| | | <view bindtap="openModal" class="footer" style="bottom: {{bottomLift}}px;"> |
| | | <view bindtap="makePhone" class="footer" style="bottom: {{bottomLift}}px;"> |
| | | <view class="btn"> |
| | | <image src="../../static/icon/call.png" mode="widthFix"></image> |
| | | <view>联系TA</view> |
| | |
| | | width: 520rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 26rpx; |
| | | color: #888888; |
| | | .text{ |
| | | white-space: nowrap; |
| | | overflow: hidden;//文本超出隐藏 |
| | | text-overflow: ellipsis; |
| | | font-size: 26rpx; |
| | | color: #888888; |
| | | } |
| | | image{ |
| | | width: 13rpx; |
| | | margin-left: 8rpx; |
| | |
| | | } |
| | | } |
| | | .btn{ |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | text-align: center; |
| | | line-height: 62rpx; |
| | | height: 66rpx; |
| | | font-weight: 500; |
| | | font-size: 26rpx; |
| | |
| | | <view class="left"> |
| | | <view class="title" data-id="{{ item.id }}" bindtap="handleDetail">{{ item.name }}</view> |
| | | <view class="address" data-id="{{ item.id }}" bindtap="handleDetail"> |
| | | <text wx:if="{{ item.distanceStr }}">{{ item.distanceStr }} | {{ item.address || '' }}</text> |
| | | <text class="text" wx:if="{{ item.distanceStr }}">{{ item.distanceStr }} | {{ item.address || '' }}</text> |
| | | <text wx:else>--</text> |
| | | <image src="../../static/icon/arrow_right.png" mode="widthFix"></image> |
| | | </view> |
| | | </view> |
| | | <view class="right"> |
| | | <image data-phone="{{ item.phone }}" bindtap="makePhone" class="phone" src="../../static/icon/phone.png" mode="widthFix"></image> |
| | | <view wx:if="{{ item.linkPhone }}" class="right"> |
| | | <image data-phone="{{ item.linkPhone }}" bindtap="makePhone" class="phone" src="../../static/icon/phone.png" mode="widthFix"></image> |
| | | <view>电话</view> |
| | | </view> |
| | | </view> |
| | |
| | | <image class="avatar" src="{{ user.imgurlFull ? user.imgurlFull : '../../static/images/default_avatar.png' }}" ></image> |
| | | <view class="text"> |
| | | <view class="name">{{ user.name }}</view> |
| | | <view class="ex" wx:if="{{user.jobDate}}">{{ user.jobDate || 5 }}年经验</view> |
| | | <view class="ex">{{ user.jobDate || 5 }}年经验</view> |
| | | </view> |
| | | </view> |
| | | <view class="btn">联系TA</view> |
| | |
| | | width: 520rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 26rpx; |
| | | color: #888888; |
| | | } |
| | | .main_content .shops .shop .header .left .address .text { |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | font-size: 26rpx; |
| | | color: #888888; |
| | | } |
| | | .main_content .shops .shop .header .left .address image { |
| | | width: 13rpx; |
| | |
| | | margin-top: 4rpx; |
| | | } |
| | | .main_content .shops .shop .user_list .item .btn { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | text-align: center; |
| | | line-height: 62rpx; |
| | | height: 66rpx; |
| | | font-weight: 500; |
| | | font-size: 26rpx; |
| | |
| | | color: #666666; |
| | | .icon{ |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 8rpx; |
| | | } |
| | | .num{ |
| | |
| | | <view class="list"> |
| | | <view data-id="{{ item.id }}" wx:for="{{ dataList }}" class="item" bindtap="handleDetail"> |
| | | <view class="img_wrap"> |
| | | <image src="{{ item.thumbnailUrl }}" class="img"></image> |
| | | <image src="{{ item.thumbnailUrl }}" mode="aspectFill" class="img"></image> |
| | | <image wx:if="{{ false }}" class="new" src="../../static/icon/chanpin_ic_new@2x.png" mode="widthFix"></image> |
| | | </view> |
| | | <view class="name">{{ item.displayName }}</view> |
| | | <view class="info"> |
| | | <image wx:if="{{ false }}" class="icon" src="../../static/icon/detail_nav_collect.png" mode="widthFix"></image> |
| | | <image wx:else class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> |
| | | <image class="icon" src="../../static/icon/detail_nav_collected.png" mode="widthFix"></image> |
| | | <text class="num {{true ? 'primary' : ''}}">{{ item.collectCount }}</text> |
| | | <image class="icon" src="../../static/icon/zixun_ic_liulan.png" mode="widthFix"></image> |
| | | <text>{{ item.viewCount }}</text> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | } |
| | | .list .item .info .icon { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 8rpx; |
| | | } |
| | | .list .item .info .num { |
| | |
| | | color: #666666; |
| | | .icon{ |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 8rpx; |
| | | } |
| | | .num{ |
| | |
| | | <text>1000</text> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | } |
| | | .list .item .info .icon { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 8rpx; |
| | | } |
| | | .list .item .info .num { |
| | |
| | | } |
| | | .icon{ |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | } |
| | | } |
| | | .val{ |
| | |
| | | } |
| | | .list .line .icon { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | } |
| | | .list .val { |
| | | flex: 1; |
| | |
| | | type: activeTabs |
| | | },page,capacity |
| | | }).then(res => { |
| | | if(res.data && res.data.records){ |
| | | const temp = res.data.records.map(item => { |
| | | if(item.budget > 10000){ |
| | | item.budget = (item.budget / 10000).toFixed(2) + '万' |
| | | } |
| | | return item |
| | | }) |
| | | this.setData({ |
| | | dataList: res.data.records, |
| | | dataList: [ ...this.data.dataList, ...temp ], |
| | | total: res.data.total, |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | tabsChange(e) { |
| | |
| | | </view> |
| | | <view class="line"> |
| | | <view class="label">装修预算</view> |
| | | <view class="val">{{ item.budget }}万元</view> |
| | | <view class="val">{{ item.budget }}元</view> |
| | | </view> |
| | | </block> |
| | | <view class="time"> |
| | | <view>提交时间:{{ item.crmDate }}</view> |
| | | </view> |
| | | </view> |
| | | <view wx:if="{{ dataList.length == 0 }}" class="empty_wrap"> |
| | | <image class="default_empty" src="../../static/images/default_empty.png"></image> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | console.log('参数', data) |
| | | if (data.title) wx.setNavigationBarTitle({ title: data.title }) |
| | | that.setData({ link: data.link, id: data.id }) |
| | | // saveBannerLookNum({ id: data.id }) |
| | | }) |
| | | }, |
| | | |
| | |
| | | <!--pages/webView/index.wxml--> |
| | | <web-view src="{{ link }}"> |
| | | </web-view> |
| | | |
| | | <!-- <view>{{ link }}</view> --> |
| | | |
| | |
| | | export const baseUrl = 'http://192.168.0.135:10027' |
| | | // export const baseUrl = 'https://dmtest.ahapp.net/web_interface' // 本地 |
| | | // export const baseUrl = 'http://192.168.0.135:10027' |
| | | export const baseUrl = 'https://dmtest.ahapp.net/web_interface' // 本地 |
| | | // export const baseUrl = 'http://zbtest.ahapp.net/zbom_interface/jx/wechat/' //测试服务器 |
| | | |
| | | // export const imageUrl = 'https://osswebcdn.zbom.com/jiaxuan/images/' |