Compare commits
No commits in common. "3a7aeb5b0aa62e78ee8ee6728c3a07aa39897496" and "9025e98a2953fe7fbaadfef7daaa48d8ad96232c" have entirely different histories.
3a7aeb5b0a
...
9025e98a29
5
App.vue
5
App.vue
@ -29,9 +29,4 @@
|
||||
height: 20rpx;
|
||||
background: #F9F9F9;
|
||||
}
|
||||
|
||||
page{
|
||||
font-size: 28rpx;
|
||||
padding-bottom: 120rpx;
|
||||
}
|
||||
</style>
|
||||
@ -1,5 +0,0 @@
|
||||
export const apiArr = {
|
||||
city: '/citys/s/list', // 获取省份列表
|
||||
area: '/citys/c/list', // 获取城市列表
|
||||
business: '/citys/x/list', // 获取区县列表
|
||||
}
|
||||
@ -16,15 +16,10 @@ export const apiArr = {
|
||||
|
||||
get_host_info: 'https://zhsq.hshuishang.com/Miniapi/Index/get_host_info',
|
||||
|
||||
get_community_area_list:"https://zhsq.hshuishang.com/Miniapi/Community/get_community_area_list",
|
||||
|
||||
|
||||
carList: '/wechat/community/car/list', // 获取社区列表
|
||||
addCar: '/wechat/community/car/add', // 添加车辆
|
||||
getCarList: '/wechat/community/car/list', //获取车辆列表
|
||||
deleteItem: "/wechat/community/car/del",//删除车牌
|
||||
|
||||
getBanner:"/wechat/home-page/banner-list",//获取banner图
|
||||
getButton:"/wechat/home-page/button-list",//获取button
|
||||
|
||||
|
||||
};
|
||||
@ -1,11 +0,0 @@
|
||||
export const apiArr = {
|
||||
getCateList: '/wechat/appoints/get-cate-list', // 获取同城服务分类列表
|
||||
serverInfo: '/wechat/appoints/get-one', // 获取同城服务详情
|
||||
getAllList: '/wechat/appoints/get-all-list', // 跟据不同的id 查分类
|
||||
getHotCate: '/wechat/appoints/get-hot-cate', //获取热门上门服务
|
||||
submitServer: '/wechat/appoint-orders/now', // 预约服务
|
||||
createServerOrder: '/wechat/appoint-orders/create', // 创建上门服务订单
|
||||
getCurrentShopMsg: '/wechat/water/device/shop-info', // 获取商家支付信息
|
||||
getShopList: '/wechat/get-shop-list', // 获取商家列表
|
||||
getGoodsDesc: "/wechat/shop/shop_info", //商家详情
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
export const apiArr = {
|
||||
AllDoorToDoor: '/wechat/appoints/get-cate-list', //获取服务列表
|
||||
ServerInfo: '/wechat/appoints/get-one', //获取服务列表
|
||||
getServerById: '/wechat/appoints/get-all-list', //跟据不同的id 查分类
|
||||
submitServer: '/wechat/appoint-orders/now', //预约服务
|
||||
createServerOrder: '/wechat/appoint-orders/create', //创建上门服务订单
|
||||
getCurrentShopMsg: '/wechat/water/device/shop-info', //获取店铺支付信息
|
||||
getBanner: '/wechat/banner-list ', //banner图
|
||||
getGoodsList: '/wechat/appoints/get-shop-list', //获取商家列表
|
||||
getGoodsDesc:"/wechat/shop/shop_info", //商家详情
|
||||
}
|
||||
20
api/user.js
20
api/user.js
@ -1,20 +0,0 @@
|
||||
export const apiArr = {
|
||||
getAllList:' /wechat/appoints/get-all-list', // 上门服务商品列表
|
||||
revoke: '/wechat/appoint-orders/revoke', // 取消订单
|
||||
getOne: '/wechat/appoint-orders/get-one', // 订单详情
|
||||
create: '/wechat/appoint-orders/create', // 订单提交
|
||||
getOrdersAllList: '/wechat/appoint-orders/get-all-list', // 查询这个登录人的所有订单
|
||||
signCycle: '/wechat/sign/sign-cycle', // 签到周期详情
|
||||
signList: '/wechat/sign/sign-list', // 获取签到记录列表
|
||||
sign: '/wechat/sign/sign', // 积分签到
|
||||
signIntegral: '/wechat/sign/integral', // 查询账户积分
|
||||
signInfo: '/wechat/sign/info', // 获取签到详情
|
||||
addr: '/wechat/mpusers/addr', // 获取地址信息
|
||||
setAddr: '/wechat/mpusers/set-addr',// 修改地址接口
|
||||
avatar: '/wechat/mpusers/avatar', // 上传头像
|
||||
modifyPass: '/wechat/mpusers/modify-pass', // 修改登录密码
|
||||
payPass: '/wechat/mpusers/pay-pass', // 设置支付密码
|
||||
couponList: '/wechat/discuss/list', // 获取优惠券列表
|
||||
getUserCommunity:"/wechat/community/owner/mylist",//获取用户社区信息
|
||||
createQrcode: '/wechat/water/device/qr-code', //获取小程序码
|
||||
};
|
||||
@ -27,8 +27,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -62,8 +62,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, picUrl, NavgateTo } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -82,6 +82,7 @@
|
||||
typeName:"",//业主 家属 租户 访客
|
||||
room_id:"",
|
||||
|
||||
show:false,
|
||||
columns:[
|
||||
[
|
||||
{text:"业主",type:1},
|
||||
@ -100,10 +101,10 @@
|
||||
const { type } = e.currentTarget.dataset;
|
||||
|
||||
if(type == '1'){
|
||||
NavgateTo(`/packages/community/chooseMsg/index?type=${type}&id=${this.communityId}`, {isLogin: false});
|
||||
NavgateTo(`/community/chooseMsg/index?type=${type}&id=${this.communityId}`, {isLogin: false});
|
||||
}else{
|
||||
if(this.FacId){
|
||||
NavgateTo(`/packages/community/chooseMsg/index?type=${type}&id=${this.communityId}&FacId=${this.FacId}`, {isLogin: false});
|
||||
NavgateTo(`/community/chooseMsg/index?type=${type}&id=${this.communityId}&FacId=${this.FacId}`, {isLogin: false});
|
||||
|
||||
}else{
|
||||
uni.showToast({
|
||||
@ -23,8 +23,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -57,8 +57,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, picUrl, NavgateTo } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
|
||||
export default {
|
||||
data () {
|
||||
@ -68,7 +68,7 @@
|
||||
navList: [
|
||||
{
|
||||
pic: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/community/_assets/Group_345.png',
|
||||
url: '/packages/community/applyOwer/index',
|
||||
url: '/community/applyOwer/index',
|
||||
desc: '申请业主'
|
||||
},
|
||||
{
|
||||
@ -165,8 +165,8 @@
|
||||
}
|
||||
console.log('newInfo', newInfo);
|
||||
let navList = this.navList
|
||||
navList[0].url = `/packages/community/applyOwer/index?id=${Number(id)}&title=${res.name}`;
|
||||
navList[1].url = `/packages/community/mycar/index?id=${Number(id)}&title=${res.name}`;
|
||||
navList[0].url = `/community/applyOwer/index?id=${Number(id)}&title=${res.name}`;
|
||||
navList[1].url = `/community/mycar/index?id=${Number(id)}&title=${res.name}`;
|
||||
this.info = newInfo;
|
||||
this.navList = navList;
|
||||
|
||||
@ -195,7 +195,7 @@
|
||||
|
||||
// 通知栏点击跳转
|
||||
headerTipsClick() {
|
||||
NavgateTo(`/packages/community/notice/index?id=${this.id}&title=${this.pageTitle}`, { isLogin: false })
|
||||
NavgateTo(`/community/notice/index?id=${this.id}&title=${this.pageTitle}`, { isLogin: false })
|
||||
},
|
||||
|
||||
// 宫格item点击
|
||||
@ -209,11 +209,11 @@
|
||||
},
|
||||
|
||||
repair(){
|
||||
NavgateTo(`/packages/community/oneRepair/index`, {isLogin: false })
|
||||
NavgateTo(`/community/oneRepair/index`, {isLogin: false })
|
||||
},
|
||||
|
||||
ReparirList(){
|
||||
NavgateTo(`/packages/community/repairList/index?id=${this.id}&title=${this.info.name}`, {isLogin: false })
|
||||
NavgateTo(`/community/repairList/index?id=${this.id}&title=${this.info.name}`, {isLogin: false })
|
||||
},
|
||||
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -24,8 +24,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, picUrl, uniqueByField } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, uniqueByField } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -63,6 +63,9 @@
|
||||
if(options?.types == 2){
|
||||
this.init(options?.type || '');
|
||||
}else{
|
||||
// this.init(options?.type || '');
|
||||
// return
|
||||
// // 临时调init , 后续接口好了改回去
|
||||
this.getUserCommunity()
|
||||
}
|
||||
},
|
||||
@ -31,8 +31,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, NavgateTo } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -108,7 +108,7 @@
|
||||
},
|
||||
|
||||
addCar(){
|
||||
NavgateTo(`/packages/community/addCar/index?title=${this.title}&id=${this.id}`, {isLogin: false})
|
||||
NavgateTo(`/community/addCar/index?title=${this.title}&id=${this.id}`, {isLogin: false})
|
||||
},
|
||||
|
||||
|
||||
@ -25,8 +25,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, NavgateTo } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
@ -65,7 +65,7 @@
|
||||
headerNoticeClick(event) {
|
||||
console.log('12313', event);
|
||||
const { item } = event.currentTarget.dataset;
|
||||
NavgateTo(`/packages/community/desc/desc?id=${item.news_id}&title=${item.title}`, {isLogin: false})
|
||||
NavgateTo(`/community/desc/desc?id=${item.news_id}&title=${item.title}`, {isLogin: false})
|
||||
},
|
||||
|
||||
},
|
||||
@ -122,10 +122,10 @@
|
||||
NavgateTo,
|
||||
upload,
|
||||
isPhone,
|
||||
} from '../../../utils';
|
||||
} from '../../utils';
|
||||
import {
|
||||
apiArr
|
||||
} from '../../../api/community';
|
||||
} from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -176,18 +176,18 @@
|
||||
},
|
||||
methods: {
|
||||
chooseCom(){
|
||||
NavgateTo(`/packages/community/index/index?joinType=3`, { isLogin: false })
|
||||
NavgateTo(`/community/index/index?joinType=3`, { isLogin: false })
|
||||
},
|
||||
|
||||
chooseFac(e){
|
||||
console.log('eeee', e);
|
||||
const { type } = e.currentTarget.dataset;
|
||||
if(type == '1'){
|
||||
NavgateTo(`/packages/community/chooseMsg/index?type=${type}&id=${this.CommunityInfo.id}`, { isLogin: false });
|
||||
NavgateTo(`/community/chooseMsg/index?type=${type}&id=${this.CommunityInfo.id}`, { isLogin: false });
|
||||
}else{
|
||||
console.log(this.FacId);
|
||||
if(this.FacId){
|
||||
NavgateTo(`/packages/community/chooseMsg/index?type=${type}&id=${this.CommunityInfo.id}&FacId=${this.FacId}`, { isLogin: false });
|
||||
NavgateTo(`/community/chooseMsg/index?type=${type}&id=${this.CommunityInfo.id}&FacId=${this.FacId}`, { isLogin: false });
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: '请先选择楼宇号',
|
||||
@ -34,10 +34,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, picUrl } from '../../../utils';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import {
|
||||
apiArr
|
||||
} from '../../../api/community';
|
||||
} from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -45,8 +45,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, NavgateTo } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
import { request, picUrl, NavgateTo } from '../../utils';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -82,11 +82,11 @@
|
||||
},
|
||||
|
||||
headerRepairClick(e){
|
||||
NavgateTo(`/packages/community/oneRepair/index`, { isLogin: false })
|
||||
NavgateTo(`/community/oneRepair/index`, { isLogin: false })
|
||||
},
|
||||
headerRepairDetailClick(e){
|
||||
const { id } = e.currentTarget.dataset
|
||||
NavgateTo(`/packages/community/repairDetail/index?id=${id}&title=${this.title}`, { isLogin: false })
|
||||
NavgateTo(`/community/repairDetail/index?id=${id}&title=${this.title}`, { isLogin: false })
|
||||
},
|
||||
|
||||
changeTab(e){
|
||||
@ -1,11 +0,0 @@
|
||||
.popup_title {
|
||||
display: flex;
|
||||
margin: 20rpx 30rpx 0;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.popup_label {
|
||||
color: #999;
|
||||
}
|
||||
.color_blue {
|
||||
color: #576b95;
|
||||
}
|
||||
@ -1,158 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-popup
|
||||
:show="show"
|
||||
closeOnClickOverlay
|
||||
round="20rpx"
|
||||
@close="onClose"
|
||||
>
|
||||
<view>
|
||||
<view class="popup_title">
|
||||
<view class="popup_label" @click="onClose">取消</view>
|
||||
<view class="popup_label color_blue" @click="onOk">确认</view>
|
||||
</view>
|
||||
<!-- indicator-style="height: 50px;" style="width: 100%; height: 500rpx;" -->
|
||||
<picker-view indicator-style="height: 50px;" style="width: 100%; height: 400rpx;" :value="value" @change="bindChange">
|
||||
<picker-view-column>
|
||||
<view v-for="(item, index) in provList" :key="index" style="line-height: 50px; text-align: center;">{{item.name}}</view>
|
||||
</picker-view-column>
|
||||
<picker-view-column>
|
||||
<view v-for="(item, index) in defaultCity" :key="index" style="line-height: 50px; text-align: center;">{{item.name}}</view>
|
||||
</picker-view-column>
|
||||
<picker-view-column>
|
||||
<view v-for="(item, index) in defaultDist" :key="index" style="line-height: 50px; text-align: center;">{{item.business_name}}</view>
|
||||
</picker-view-column>
|
||||
</picker-view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
apiArr
|
||||
} from '../../api/area';
|
||||
import { request } from '../../utils';
|
||||
export default {
|
||||
props: {
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
required: true,
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
provList: [], // 省
|
||||
cityList: [], //市
|
||||
distList: [], // 区
|
||||
|
||||
defaultCity: [], // 默认展示的市区数据
|
||||
defaultDist: [], // 默认展示的县/区数据
|
||||
|
||||
confirmProv: {}, // 默认选中省
|
||||
confirmCity: {}, // 默认选中市
|
||||
confirmDist: {}, // 默认选中区/县
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 获取省份信息
|
||||
async getProvList () {
|
||||
const res = await request(apiArr.city, 'POST', {}, { silent: false });
|
||||
return res;
|
||||
},
|
||||
|
||||
// 获取市区信息
|
||||
async getCityList () {
|
||||
const res = await request(apiArr.area, 'POST', {}, { silent: false });
|
||||
return res;
|
||||
},
|
||||
|
||||
// 获取 县/区 信息
|
||||
async getDistList () {
|
||||
const res = await request(apiArr.business, 'POST', {}, { silent: false });
|
||||
return res;
|
||||
},
|
||||
|
||||
async init() {
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
mask: true
|
||||
});
|
||||
try {
|
||||
const [provRes, cityRes, distRes] = await Promise.all([
|
||||
this.getProvList(),
|
||||
this.getCityList(),
|
||||
this.getDistList(),
|
||||
])
|
||||
|
||||
uni.hideLoading();
|
||||
// 默认展示第一条数据 的市区 和 城区
|
||||
let defaultCity = cityRes.rows.filter((item) => {
|
||||
return item.city_id === provRes.rows[0].city_id
|
||||
});
|
||||
let defaultDist = distRes.rows.filter((item) => {
|
||||
return item.area_id === cityRes.rows[0].area_id
|
||||
});
|
||||
|
||||
this.provList = provRes?.rows; // 全部省信息
|
||||
this.cityList = cityRes?.rows; // 全部市信息
|
||||
this.distList = distRes?.rows; // 全部区信息
|
||||
|
||||
this.defaultCity = defaultCity; // 默认展示 市区
|
||||
this.defaultDist = defaultDist; // 默认展示 县/区
|
||||
|
||||
this.confirmProv = provRes.rows[0];
|
||||
this.confirmCity = defaultCity[0];
|
||||
this.confirmDist = defaultDist[0];
|
||||
} catch (error) {
|
||||
uni.hideLoading();
|
||||
console.log('获取省市区信息异常', error);
|
||||
}
|
||||
},
|
||||
|
||||
// 切换省市区时联动改变参数值
|
||||
bindChange (e) {
|
||||
console.log('[1231331], e', e);
|
||||
const {value } = e.detail;
|
||||
const {provList, cityList, distList} = this;
|
||||
|
||||
// 每次切换时,根据当前点击的省过滤出所属市区,并且变化县/区
|
||||
let newCrty = cityList.filter((item) => item.city_id === provList[value[0]].city_id);
|
||||
let newDist = distList.filter((item) => item.area_id === newCrty[value[1]].area_id);
|
||||
|
||||
this.defaultCity = newCrty;
|
||||
this.defaultDist = newDist;
|
||||
|
||||
// 更改默认选中数据
|
||||
this.confirmProv = provList[value[0]];
|
||||
this.confirmCity = newCrty[value[1]];
|
||||
this.confirmDist = newDist[value[2]];
|
||||
},
|
||||
|
||||
// 关闭弹窗
|
||||
onClose() {
|
||||
this.$emit('close');
|
||||
},
|
||||
|
||||
// 点击确定传递当前选中省市区信息给父方法
|
||||
onOk() {
|
||||
const { confirmProv, confirmCity, confirmDist } = this;
|
||||
this.$emit('selectArea', {confirmProv, confirmCity, confirmDist});
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.init();
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url('./areaPopup.css');
|
||||
</style>
|
||||
@ -1,89 +0,0 @@
|
||||
|
||||
.foot-fixed {
|
||||
position: fixed;
|
||||
bottom: -1px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 999;
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
border-top: 1px solid #E8E8E8;
|
||||
box-shadow: 0 0 3px rgba(0,0,0,0.1);
|
||||
}
|
||||
.foot-fixed .foot-item {
|
||||
padding: 0;
|
||||
}
|
||||
.foot-fixed .foot-item {
|
||||
position: relative;
|
||||
}
|
||||
.foot-fixed .foot-item {
|
||||
width: 20%;
|
||||
float: left;
|
||||
text-align: center;
|
||||
color: #777;
|
||||
padding: 5px 0 10px;
|
||||
}
|
||||
a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
}
|
||||
a {
|
||||
background: transparent;
|
||||
}
|
||||
.foot-fixed .foot-item .foot-icon {
|
||||
width: 24px;
|
||||
height: 26px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.foot-fixed .foot-item .foot-label {
|
||||
margin: 5px 0;
|
||||
}
|
||||
.foot-fixed .foot-item .foot-label {
|
||||
height: 15px;
|
||||
line-height: 15px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.foot-fixed .foot-item span {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* 自定义导航栏 */
|
||||
.nav-box {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
/* position: relative; */
|
||||
/* position: fixed; */
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar .nav-bar-left,
|
||||
.nav-box .nav-bar .nav-bar-right {
|
||||
padding: 0 20rpx;
|
||||
min-width: 36rpx;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar .nav-bar-left van-icon {
|
||||
vertical-align: sub;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar .nav-bar-title {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
letter-spacing: 2rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar-title {
|
||||
color: red;
|
||||
}
|
||||
@ -1,97 +1,20 @@
|
||||
<template>
|
||||
<view class="foot-fixed">
|
||||
<view v-for="(item, index) in navList" :key='index'>
|
||||
<view id="navIndex" :style="{width:foot_width}" @click="jump" :data-idx="index" :data-url="item.url"
|
||||
class="foot-item">
|
||||
<image class="foot-icon" :src="item.photo" mode=""></image>
|
||||
<text class="foot-label" id="navIndexLabel">{{item.nav_name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view>123
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "nav",
|
||||
name:"tes",
|
||||
data() {
|
||||
return {
|
||||
navList: [],
|
||||
foot_width: '20%',
|
||||
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
getFootnav() {
|
||||
let _that = this;
|
||||
uni.request({
|
||||
url: 'https://zhsq.hshuishang.com/Miniapi/Index/footer_nav_list',
|
||||
method: 'post',
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: {},
|
||||
dataType: 'json',
|
||||
success: (result) => {
|
||||
result.data[0].url = "/pages/index/index"
|
||||
result.data[1].url = "/pages/device/device"
|
||||
result.data[2].nav_name = "手机通行"
|
||||
result.data[2].url = "/pages/phoneGo/phoneGo"
|
||||
|
||||
result.data[3].url = `packages/community/index/index`
|
||||
result.data[4].url = "/pages/user/index"
|
||||
|
||||
result.data.splice(1, 2);
|
||||
let footWidth = (100 / result.data.length).toFixed(2) + '%';
|
||||
this.navList = result.data;
|
||||
this.foot_width = footWidth;
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//暂未开通
|
||||
NotOpen() {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '此功能暂未开通!',
|
||||
showCancel: false,
|
||||
complete: (res) => {
|
||||
if (res.cancel) {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
jump(e) {
|
||||
const ctoken = uni.getStorageSync('ctoken');
|
||||
const authen = ['/pages/index/index', '/pages/user/index'];
|
||||
// 除首页及个人中心页不需要鉴定ctoken, 其他tab页均需存在登录态才可访问
|
||||
if (authen.includes(e.currentTarget.dataset.url)) {
|
||||
uni.redirectTo({
|
||||
url: e.currentTarget.dataset.url,
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!ctoken) {
|
||||
uni.redirectTo({
|
||||
url: '/pages/login/login',
|
||||
})
|
||||
return;
|
||||
}
|
||||
uni.redirectTo({
|
||||
url: e.currentTarget.dataset.url,
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.getFootnav();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./nav.css");
|
||||
|
||||
</style>
|
||||
@ -16,8 +16,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { apiArr } from '../../api/community';
|
||||
import { onLoad } from 'uview-ui/libs/mixin/mixin';
|
||||
import { apiArr } from '../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
@ -102,7 +102,7 @@
|
||||
this.chooseClick(e);
|
||||
return;
|
||||
}
|
||||
NavgateTo(`/packages/community/communityDetail/index?title=${item.name}&id=${item.community_id}`, { isLogin: false })
|
||||
NavgateTo(`/community/communityDetail/index?title=${item.name}&id=${item.community_id}`, { isLogin: false })
|
||||
},
|
||||
|
||||
//选择小区
|
||||
|
||||
@ -1,272 +0,0 @@
|
||||
/**
|
||||
* 本模块封装了Android、iOS的应用权限判断、打开应用权限设置界面、以及位置系统服务是否开启
|
||||
*/
|
||||
|
||||
var isIos
|
||||
// #ifdef APP-PLUS
|
||||
isIos = (plus.os.name == "iOS")
|
||||
// #endif
|
||||
|
||||
// 判断推送权限是否开启
|
||||
function judgeIosPermissionPush() {
|
||||
var result = false;
|
||||
var UIApplication = plus.ios.import("UIApplication");
|
||||
var app = UIApplication.sharedApplication();
|
||||
var enabledTypes = 0;
|
||||
if (app.currentUserNotificationSettings) {
|
||||
var settings = app.currentUserNotificationSettings();
|
||||
enabledTypes = settings.plusGetAttribute("types");
|
||||
console.log("enabledTypes1:" + enabledTypes);
|
||||
if (enabledTypes == 0) {
|
||||
console.log("推送权限没有开启");
|
||||
} else {
|
||||
result = true;
|
||||
console.log("已经开启推送功能!")
|
||||
}
|
||||
plus.ios.deleteObject(settings);
|
||||
} else {
|
||||
enabledTypes = app.enabledRemoteNotificationTypes();
|
||||
if (enabledTypes == 0) {
|
||||
console.log("推送权限没有开启!");
|
||||
} else {
|
||||
result = true;
|
||||
console.log("已经开启推送功能!")
|
||||
}
|
||||
console.log("enabledTypes2:" + enabledTypes);
|
||||
}
|
||||
plus.ios.deleteObject(app);
|
||||
plus.ios.deleteObject(UIApplication);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断定位权限是否开启
|
||||
function judgeIosPermissionLocation() {
|
||||
var result = false;
|
||||
var cllocationManger = plus.ios.import("CLLocationManager");
|
||||
var status = cllocationManger.authorizationStatus();
|
||||
result = (status != 2)
|
||||
console.log("定位权限开启:" + result);
|
||||
// 以下代码判断了手机设备的定位是否关闭,推荐另行使用方法 checkSystemEnableLocation
|
||||
/* var enable = cllocationManger.locationServicesEnabled();
|
||||
var status = cllocationManger.authorizationStatus();
|
||||
console.log("enable:" + enable);
|
||||
console.log("status:" + status);
|
||||
if (enable && status != 2) {
|
||||
result = true;
|
||||
console.log("手机定位服务已开启且已授予定位权限");
|
||||
} else {
|
||||
console.log("手机系统的定位没有打开或未给予定位权限");
|
||||
} */
|
||||
plus.ios.deleteObject(cllocationManger);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断麦克风权限是否开启
|
||||
function judgeIosPermissionRecord() {
|
||||
var result = false;
|
||||
var avaudiosession = plus.ios.import("AVAudioSession");
|
||||
var avaudio = avaudiosession.sharedInstance();
|
||||
var permissionStatus = avaudio.recordPermission();
|
||||
console.log("permissionStatus:" + permissionStatus);
|
||||
if (permissionStatus == 1684369017 || permissionStatus == 1970168948) {
|
||||
console.log("麦克风权限没有开启");
|
||||
} else {
|
||||
result = true;
|
||||
console.log("麦克风权限已经开启");
|
||||
}
|
||||
plus.ios.deleteObject(avaudiosession);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断相机权限是否开启
|
||||
function judgeIosPermissionCamera() {
|
||||
var result = false;
|
||||
var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
|
||||
var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
|
||||
console.log("authStatus:" + authStatus);
|
||||
if (authStatus == 3) {
|
||||
result = true;
|
||||
console.log("相机权限已经开启");
|
||||
} else {
|
||||
console.log("相机权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(AVCaptureDevice);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断相册权限是否开启
|
||||
function judgeIosPermissionPhotoLibrary() {
|
||||
var result = false;
|
||||
var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");
|
||||
var authStatus = PHPhotoLibrary.authorizationStatus();
|
||||
console.log("authStatus:" + authStatus);
|
||||
if (authStatus == 3) {
|
||||
result = true;
|
||||
console.log("相册权限已经开启");
|
||||
} else {
|
||||
console.log("相册权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(PHPhotoLibrary);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断通讯录权限是否开启
|
||||
function judgeIosPermissionContact() {
|
||||
var result = false;
|
||||
var CNContactStore = plus.ios.import("CNContactStore");
|
||||
var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);
|
||||
if (cnAuthStatus == 3) {
|
||||
result = true;
|
||||
console.log("通讯录权限已经开启");
|
||||
} else {
|
||||
console.log("通讯录权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(CNContactStore);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断日历权限是否开启
|
||||
function judgeIosPermissionCalendar() {
|
||||
var result = false;
|
||||
var EKEventStore = plus.ios.import("EKEventStore");
|
||||
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);
|
||||
if (ekAuthStatus == 3) {
|
||||
result = true;
|
||||
console.log("日历权限已经开启");
|
||||
} else {
|
||||
console.log("日历权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(EKEventStore);
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断备忘录权限是否开启
|
||||
function judgeIosPermissionMemo() {
|
||||
var result = false;
|
||||
var EKEventStore = plus.ios.import("EKEventStore");
|
||||
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);
|
||||
if (ekAuthStatus == 3) {
|
||||
result = true;
|
||||
console.log("备忘录权限已经开启");
|
||||
} else {
|
||||
console.log("备忘录权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(EKEventStore);
|
||||
return result;
|
||||
}
|
||||
|
||||
// Android权限查询
|
||||
function requestAndroidPermission(permissionID) {
|
||||
return new Promise((resolve, reject) => {
|
||||
plus.android.requestPermissions(
|
||||
[permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装
|
||||
function(resultObj) {
|
||||
var result = 0;
|
||||
for (var i = 0; i < resultObj.granted.length; i++) {
|
||||
var grantedPermission = resultObj.granted[i];
|
||||
console.log('已获取的权限:' + grantedPermission);
|
||||
result = 1
|
||||
}
|
||||
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
|
||||
var deniedPresentPermission = resultObj.deniedPresent[i];
|
||||
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
|
||||
result = 0
|
||||
}
|
||||
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
|
||||
var deniedAlwaysPermission = resultObj.deniedAlways[i];
|
||||
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
|
||||
result = -1
|
||||
}
|
||||
resolve(result);
|
||||
// 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限
|
||||
// if (result != 1) {
|
||||
// gotoAppPermissionSetting()
|
||||
// }
|
||||
},
|
||||
function(error) {
|
||||
console.log('申请权限错误:' + error.code + " = " + error.message);
|
||||
resolve({
|
||||
code: error.code,
|
||||
message: error.message
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// 使用一个方法,根据参数判断权限
|
||||
function judgeIosPermission(permissionID) {
|
||||
if (permissionID == "location") {
|
||||
return judgeIosPermissionLocation()
|
||||
} else if (permissionID == "camera") {
|
||||
return judgeIosPermissionCamera()
|
||||
} else if (permissionID == "photoLibrary") {
|
||||
return judgeIosPermissionPhotoLibrary()
|
||||
} else if (permissionID == "record") {
|
||||
return judgeIosPermissionRecord()
|
||||
} else if (permissionID == "push") {
|
||||
return judgeIosPermissionPush()
|
||||
} else if (permissionID == "contact") {
|
||||
return judgeIosPermissionContact()
|
||||
} else if (permissionID == "calendar") {
|
||||
return judgeIosPermissionCalendar()
|
||||
} else if (permissionID == "memo") {
|
||||
return judgeIosPermissionMemo()
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 跳转到**应用**的权限页面
|
||||
function gotoAppPermissionSetting() {
|
||||
if (isIos) {
|
||||
var UIApplication = plus.ios.import("UIApplication");
|
||||
var application2 = UIApplication.sharedApplication();
|
||||
var NSURL2 = plus.ios.import("NSURL");
|
||||
// var setting2 = NSURL2.URLWithString("prefs:root=LOCATION_SERVICES");
|
||||
var setting2 = NSURL2.URLWithString("app-settings:");
|
||||
application2.openURL(setting2);
|
||||
|
||||
plus.ios.deleteObject(setting2);
|
||||
plus.ios.deleteObject(NSURL2);
|
||||
plus.ios.deleteObject(application2);
|
||||
} else {
|
||||
// console.log(plus.device.vendor);
|
||||
var Intent = plus.android.importClass("android.content.Intent");
|
||||
var Settings = plus.android.importClass("android.provider.Settings");
|
||||
var Uri = plus.android.importClass("android.net.Uri");
|
||||
var mainActivity = plus.android.runtimeMainActivity();
|
||||
var intent = new Intent();
|
||||
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||||
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
|
||||
intent.setData(uri);
|
||||
mainActivity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
|
||||
// 检查系统的设备服务是否开启
|
||||
// var checkSystemEnableLocation = async function () {
|
||||
function checkSystemEnableLocation() {
|
||||
if (isIos) {
|
||||
var result = false;
|
||||
var cllocationManger = plus.ios.import("CLLocationManager");
|
||||
var result = cllocationManger.locationServicesEnabled();
|
||||
console.log("系统定位开启:" + result);
|
||||
plus.ios.deleteObject(cllocationManger);
|
||||
return result;
|
||||
} else {
|
||||
var context = plus.android.importClass("android.content.Context");
|
||||
var locationManager = plus.android.importClass("android.location.LocationManager");
|
||||
var main = plus.android.runtimeMainActivity();
|
||||
var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
|
||||
var result = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER);
|
||||
console.log("系统定位开启:" + result);
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
judgeIosPermission: judgeIosPermission,
|
||||
requestAndroidPermission: requestAndroidPermission,
|
||||
checkSystemEnableLocation: checkSystemEnableLocation,
|
||||
gotoAppPermissionSetting: gotoAppPermissionSetting
|
||||
}
|
||||
@ -57,7 +57,7 @@
|
||||
},
|
||||
"oauth" : {
|
||||
"weixin" : {
|
||||
"appid" : "wxb4018c78fa143450",
|
||||
"appid" : "wx48c8154de6cc8b36",
|
||||
"UniversalLinks" : ""
|
||||
}
|
||||
}
|
||||
@ -68,10 +68,9 @@
|
||||
"quickapp" : {},
|
||||
/* 小程序特有相关 */
|
||||
"mp-weixin" : {
|
||||
"appid" : "wxb4018c78fa143450",
|
||||
"appid" : "",
|
||||
"setting" : {
|
||||
"urlCheck" : false,
|
||||
"es6" : true
|
||||
"urlCheck" : false
|
||||
},
|
||||
"usingComponents" : true,
|
||||
"requiredPrivateInfos" : [ "getLocation" ],
|
||||
|
||||
@ -1,74 +0,0 @@
|
||||
.search {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: #F9F9F9;
|
||||
padding: 30rpx 0;
|
||||
}
|
||||
|
||||
.sear_icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.searchIpt {
|
||||
width: 710rpx;
|
||||
height: 54rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 24rpx;
|
||||
}
|
||||
|
||||
.searchIpt input {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.OwnerItem {
|
||||
padding: 30rpx 20rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.Name {
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #000000;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.rows {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
|
||||
.rows_tit {
|
||||
min-width: 4em;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.rows_con {
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.time {
|
||||
color: #999999;
|
||||
|
||||
}
|
||||
|
||||
.state1 {
|
||||
color: #D5AC66;
|
||||
}
|
||||
|
||||
.state2 {
|
||||
color: #07c160;
|
||||
}
|
||||
|
||||
.state3 {
|
||||
color: red;
|
||||
}
|
||||
@ -1,118 +0,0 @@
|
||||
<template>
|
||||
<view class="box">
|
||||
<view class="search">
|
||||
<view class="searchIpt">
|
||||
<input type="text" placeholder="社区名称/业主姓名/业主手机" placeholder-style="color: #999999;font-size: 24rpx;"
|
||||
:value="search" @input="search" />
|
||||
<image class="sear_icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/dervice/deriveSearch.png"
|
||||
mode="" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="OwnerItem" v-for="(item, index ) in list" :key="index">
|
||||
<view class="Name">{{item.name}}</view>
|
||||
<view class="rows">
|
||||
<view class="rows_tit">申请手机</view>
|
||||
<view class="rows_con">{{item.mobile}}</view>
|
||||
</view>
|
||||
<view class="rows">
|
||||
<view class="rows_tit">入住小区</view>
|
||||
<view class="rows_con">{{item.community.name}}</view>
|
||||
</view>
|
||||
<view class="rows">
|
||||
<view class="rows_tit">申请类型</view>
|
||||
<view class="rows_con" v-if="item.type == 1">业主</view>
|
||||
<view class="rows_con" v-if="item.type == 2">家属</view>
|
||||
<view class="rows_con" v-if="item.type == 3">租客</view>
|
||||
<view class="rows_con" v-if="item.type == 4">访客</view>
|
||||
</view>
|
||||
|
||||
<view class="rows">
|
||||
<view class="rows_tit">楼宇号</view>
|
||||
<view class="rows_con">{{item.facility.name}}</view>
|
||||
</view>
|
||||
<view class="rows">
|
||||
<view class="rows_tit">房屋号</view>
|
||||
<view class="rows_con">{{item.room.name}}</view>
|
||||
</view>
|
||||
<view class="rows">
|
||||
<view class="rows_tit">创建时间</view>
|
||||
<view class="rows_con time">2025-03-24 15:20</view>
|
||||
</view>
|
||||
<view class="rows">
|
||||
<view class="rows_tit">申请状态</view>
|
||||
<view class="rows_con state1" v-if="item.audit === 1">待审核</view>
|
||||
<view class="rows_con state2" v-if="item.audit === 2">已通过</view>
|
||||
<view class="rows_con state3" v-if="item.audit === 3">未通过</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/community';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
search: "",
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
list: [],
|
||||
flag: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
search(e) {
|
||||
console.log('1231313', e);
|
||||
this.search = e.detail.value;
|
||||
this.list = [];
|
||||
this.page_num = 1;
|
||||
this.flag = false;
|
||||
this.init();
|
||||
|
||||
},
|
||||
|
||||
async init() {
|
||||
const { page_num, page_size, list, search } = this;
|
||||
let param = {
|
||||
page_num,
|
||||
page_size,
|
||||
};
|
||||
if (search !== '') {
|
||||
param = {
|
||||
page_num,
|
||||
page_size,
|
||||
name: search,
|
||||
};
|
||||
}
|
||||
const res = await request(apiArr.ownerList, 'POST', param);
|
||||
let flag = false
|
||||
if (res.rows.length == page_size) {
|
||||
flag = true
|
||||
} else {
|
||||
flag = false
|
||||
}
|
||||
this.list = list.concat(res.rows || []);
|
||||
this.page_num = page_num + 1;
|
||||
this.flag = flag;
|
||||
},
|
||||
},
|
||||
onLoad() {
|
||||
uni.setNavigationBarTitle({
|
||||
title: '我的申请',
|
||||
});
|
||||
this.init();
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
if(this.flag){
|
||||
this.init()
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,336 +0,0 @@
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.swiper {
|
||||
width: 710rpx;
|
||||
height: 300rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.swiper .swiper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.swiper image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.tabList {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.tabItem {
|
||||
display: flex;
|
||||
width: 20%;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
margin-bottom: 46rpx;
|
||||
}
|
||||
|
||||
.tabImg {
|
||||
height: 54rpx;
|
||||
}
|
||||
|
||||
.tabName {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
margin-left: 20rpx;
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
.serviceTag {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
padding: 0 20rpx;
|
||||
box-sizing: border-box;
|
||||
margin-top: 30rpx;
|
||||
padding-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.serviceTagItem {
|
||||
width: 345rpx;
|
||||
height: 150rpx;
|
||||
background: linear-gradient(148deg, #FFF4EA 0%, #FFE1C5 100%);
|
||||
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||
box-sizing: border-box;
|
||||
padding-left: 28rpx;
|
||||
padding-top: 37rpx;
|
||||
position: relative;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.item2 {
|
||||
background: linear-gradient(167deg, #FFF3F3 0%, #FFD5D5 100%);
|
||||
}
|
||||
|
||||
.item3 {
|
||||
background: linear-gradient(145deg, #FFFDF5 0%, #FFF7D0 100%);
|
||||
}
|
||||
|
||||
.item4 {
|
||||
background: linear-gradient(143deg, #F8F8F8 0%, #EAEAEA 100%);
|
||||
}
|
||||
|
||||
.serviceTagItem_name {
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
|
||||
.serviceTagItem_img1 {
|
||||
width: 158rpx;
|
||||
height: 131rpx;
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
right: 4rpx;
|
||||
}
|
||||
|
||||
.serviceTagItem_img2 {
|
||||
width: 154rpx;
|
||||
height: 130.6rpx;
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
right: 0rpx;
|
||||
}
|
||||
|
||||
.serviceTagItem_img3 {
|
||||
height: 140rpx;
|
||||
width: 178rpx;
|
||||
position: absolute;
|
||||
bottom: 0rpx;
|
||||
right: 0rpx;
|
||||
}
|
||||
|
||||
.serviceTagItem_img4 {
|
||||
width: 204rpx;
|
||||
height: 68rpx;
|
||||
position: absolute;
|
||||
bottom: 10rpx;
|
||||
right: 0rpx;
|
||||
}
|
||||
|
||||
.tabs {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 20rpx;
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
.tabs .tab {
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #555555;
|
||||
margin-right: 70rpx;
|
||||
}
|
||||
|
||||
.tabs .active {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.tabs .active::after {
|
||||
content: '';
|
||||
width: 127rpx;
|
||||
height: 10rpx;
|
||||
background: #FF512A;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -10rpx;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.tabs .active::before {
|
||||
width: 127rpx;
|
||||
height: 10rpx;
|
||||
filter: blur(6.599999904632568rpx);
|
||||
background: #FF5D73;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -10rpx;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.list {
|
||||
margin-top: 36rpx;
|
||||
}
|
||||
|
||||
.item_tit {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 20rpx;
|
||||
margin-bottom: 32rpx;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.item_tit_left {
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.item_tit_right {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #D5AC66;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.item_tit_right image {
|
||||
width: 12rpx;
|
||||
height: 22rpx;
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
|
||||
.scrollView {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.item_goodsItem {
|
||||
display: inline-block;
|
||||
width: 223rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_tit {
|
||||
width: 100%;
|
||||
height: 161rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_name {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
margin-top: 20rpx;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_msg {
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
margin-top: 6rpx;
|
||||
margin-left: 13rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_msg view {
|
||||
font-weight: 500;
|
||||
font-size: 36rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_msg text {
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
}
|
||||
|
||||
.item_goodsList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
.list_item {
|
||||
padding-bottom: 32rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.no_border {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.merchantList {
|
||||
margin: 0 20rpx;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.merchantItem {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 30rpx 0;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.merchantItem_right {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #FFFFFF;
|
||||
width: 150rpx;
|
||||
height: 50rpx;
|
||||
background: #D5AC66;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.merchantItem_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.merchantItem_left_img {
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.merchantItem_left_msg_tit {
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.merchantItem_left_msg_add {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
|
||||
.merchantItem_left_msg_msg {
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
background: #FFF0ED;
|
||||
padding: 2rpx;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
.merchantItem_left_msg_tag {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 18rpx;
|
||||
}
|
||||
@ -1,337 +0,0 @@
|
||||
<template>
|
||||
<view class="headlth">
|
||||
<view class="swiper">
|
||||
<swiper>
|
||||
<swiper-item>
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_img.png" mode="" />
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
|
||||
<view class="tabList">
|
||||
<view class="tabItem" v-for="(item, index ) in cateList" :key="index" @click="jump(item.cate_id)">
|
||||
<view class="tabImg">
|
||||
<image :src="item.photo" mode="heightFix" />
|
||||
</view>
|
||||
<view class="tabName">
|
||||
{{item.cate_name}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="gray"></view>
|
||||
|
||||
<view class="tit">
|
||||
热门服务
|
||||
</view>
|
||||
|
||||
<view class="serviceTag">
|
||||
<view class="serviceTagItem" @click="jump">
|
||||
<view class="serviceTagItem_name">家政保洁</view>
|
||||
<view class="serviceTagItem_img1">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot1.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="serviceTagItem item2" @click="jump">
|
||||
<view class="serviceTagItem_name">专业保姆</view>
|
||||
<view class="serviceTagItem_img2">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot2.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="serviceTagItem item3" @click="jump">
|
||||
<view class="serviceTagItem_name">家电维修</view>
|
||||
<view class="serviceTagItem_img3">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot3.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="serviceTagItem item4" @click="jump">
|
||||
<view class="serviceTagItem_name">搬家拉货</view>
|
||||
<view class="serviceTagItem_img4">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/hot4.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="gray"></view>
|
||||
|
||||
<view class="tabs">
|
||||
<view :class="['tab', tabIndex == '0' ? 'active' : '']" @click="changeTab" data-tab="0">服务列表</view>
|
||||
<view :class="['tab', tabIndex == '1' ? 'active' : '']" @click="changeTab" data-tab="1">商户列表</view>
|
||||
</view>
|
||||
|
||||
<view class="list" v-if="tabIndex == 0">
|
||||
<view :class="['list_item', index === serverList.length - 1 && 'no_border']" v-for="(item, index) in serverList" :key="index">
|
||||
<view class="item_tit">
|
||||
<view class="item_tit_left">{{item.cate_name}}</view>
|
||||
<view class="item_tit_right" @click="jump(item.cate_id)">
|
||||
更多
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="item_goodsList">
|
||||
<scroll-view scroll-x="true" class="scrollView">
|
||||
<view class="item_goodsItem" v-for="(items, index) in item.appoints" :key="index" @click.stop="headerItemClick" :data-id="items.appoint_id">
|
||||
<view class="item_goodsItem_tit">
|
||||
<image :src="items.photo" mode="aspectFill" />
|
||||
</view>
|
||||
<view class="item_goodsItem_name">{{items.title}}</view>
|
||||
<view class="item_goodsItem_msg">
|
||||
¥
|
||||
<view>{{items.price}}</view>
|
||||
<text>/{{items.unit}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="merchantList" v-if="tabIndex == 1">
|
||||
<view class="merchantItem" v-for="(item, index) in goodsList" :key="index" @click="headerShopClick(item.shop_id)">
|
||||
<view class="merchantItem_left">
|
||||
<view class="merchantItem_left_img">
|
||||
<image :src="item.photo" mode="widthFix" />
|
||||
</view>
|
||||
<view class="merchantItem_left_msg">
|
||||
<view class="merchantItem_left_msg_tit">{{item.shop_name}}</view>
|
||||
<view class="merchantItem_left_msg_add">{{item.addr}}</view>
|
||||
<view class="merchantItem_left_msg_msg">中国领先的高科技医疗设备研...</view>
|
||||
<view class="merchantItem_left_msg_tag">{{item.tags}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="merchantItem_right" @click.stop="call(item.tel)">
|
||||
电话询价
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<nav-footer />
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { NavgateTo, picUrl, request } from '../../../utils/index';
|
||||
import { apiArr } from '../../../api/communityService';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabList:[{
|
||||
name:"服务中心",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon1.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
{
|
||||
name:"家政保洁",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon2.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
{
|
||||
name:"衣物洗护",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon3.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
|
||||
},
|
||||
{
|
||||
name:"家电维修",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon4.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
|
||||
},
|
||||
{
|
||||
name:"跑腿服务",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon5.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
{
|
||||
name:"养车用车",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon6.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
{
|
||||
name:"保姆月嫂",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon7.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
{
|
||||
name:"家电清洗",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon8.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
|
||||
},
|
||||
{
|
||||
name:"搬家拉货",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon9.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
{
|
||||
name:"家装维修",
|
||||
img:'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/door_icon10.png',
|
||||
url:"../ServiceMore/ServiceMore",
|
||||
},
|
||||
],
|
||||
tabIndex:"0",
|
||||
page_num:1,
|
||||
page_size:10,
|
||||
flag:false,
|
||||
flag2:false,
|
||||
serverList:[],//服务列表
|
||||
cateList:[],
|
||||
flag:false,
|
||||
HotCate:'',
|
||||
|
||||
goodsList:[],//商家列表
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getCateList() {
|
||||
const res = await request(apiArr.getCateList, 'POST', {
|
||||
page_num: this.page_num,
|
||||
page_size: this.page_size,
|
||||
area: uni.getStorageSync('city')
|
||||
})
|
||||
let flag = false
|
||||
console.log(res, 'res');
|
||||
if (res.rows && res.rows.length == this.page_size) {
|
||||
flag = true
|
||||
} else {
|
||||
flag = false
|
||||
}
|
||||
res.rows && res.rows.forEach(item => {
|
||||
item.photo = item.photo ? picUrl + item.photo : '';
|
||||
item.appoints.forEach(items => {
|
||||
items.photo = picUrl + items.photo
|
||||
})
|
||||
})
|
||||
console.log(res, 'reresss');
|
||||
this.serverList = this.serverList.concat(res.rows || []);
|
||||
this.cateList = res.rows || [];
|
||||
this.flag = flag;
|
||||
this.page_num = this.page_num + 1;
|
||||
},
|
||||
|
||||
// 热门服务模块, 目前改接口并未使用,热门模块写死展示
|
||||
async getHotCate(){
|
||||
const res = await request(apiArr.getHotCate, 'POST', {});
|
||||
console.log('getHotCategetHotCate', res);
|
||||
this.HotCate = res;
|
||||
},
|
||||
|
||||
// 获取同城服务列表
|
||||
async getAllList(){
|
||||
const res = await request(apiArr.getAllList, 'POST', {
|
||||
cate_id: 0,
|
||||
page_num: 1,
|
||||
page_size: 50,
|
||||
area: uni.getStorageSync('city')
|
||||
})
|
||||
|
||||
let flag = false
|
||||
if(res.rows && res.rows.length == this.page_size){
|
||||
flag = true
|
||||
}else{
|
||||
flag = false
|
||||
}
|
||||
if(res.rows){
|
||||
res.rows.forEach(item=>{
|
||||
item.photo = picUrl + item.photo
|
||||
})
|
||||
}
|
||||
this.tabList = res.rows;
|
||||
this.flag = flag;
|
||||
this.page_num = this.page_num + 1;
|
||||
},
|
||||
|
||||
// 获取商家列表
|
||||
async getShopList(){
|
||||
const res = await request(apiArr.getShopList, 'POST', {
|
||||
page_num: this.page_num,
|
||||
page_size: this.page_size
|
||||
});
|
||||
if(res?.list){
|
||||
let flag2 = false
|
||||
if(res.list.length == this.page_size){
|
||||
flag2 = true
|
||||
}else{
|
||||
flag2 = false
|
||||
}
|
||||
res.list.forEach(item=>{
|
||||
item.photo = picUrl + item.photo
|
||||
});
|
||||
this.goodsList = this.goodsList.concat(res.list || []);
|
||||
this.flag2 = flag2;
|
||||
this.page_num = this.page_num + 1;
|
||||
}
|
||||
},
|
||||
|
||||
jump(id){
|
||||
NavgateTo(`/packages/communityService/serviceMore/index?id=${id}`, { isLogin: false });
|
||||
},
|
||||
|
||||
|
||||
// tab 切换
|
||||
changeTab(e){
|
||||
const { tab } = e.currentTarget.dataset;
|
||||
this.tabIndex = tab;
|
||||
this.page_num = 1;
|
||||
this.flag = false;
|
||||
this.flag2 = false;
|
||||
this.serverList = [];
|
||||
this.goodsList = [];
|
||||
|
||||
if(tab == 0){
|
||||
this.getCateList()
|
||||
}else{
|
||||
this.getShopList()
|
||||
}
|
||||
},
|
||||
|
||||
headerItemClick(e) {
|
||||
const { id } = e.currentTarget.dataset;
|
||||
NavgateTo(`/packages/communityService/reservation/index?id=${id}`, {isLogin: false });
|
||||
},
|
||||
|
||||
headerShopClick(id){
|
||||
NavgateTo(`/packages/communityService/shopDetail/index?id=${id}`, { isLogin: false });
|
||||
},
|
||||
|
||||
|
||||
call(e){
|
||||
console.log('11111', e);
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: e,
|
||||
fail(err) {
|
||||
console.log('取消拨打', err)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
this.getCateList(); // 获取同城服务分类列表
|
||||
this.getAllList(); // 获取同城服务列表
|
||||
this.getHotCate(); // 热门服务模块
|
||||
this.getShopList(); // 获取商家列表
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.tabIndex == 0){
|
||||
if(this.flag){
|
||||
this.getCateList()
|
||||
}
|
||||
}else{
|
||||
if(this.flag2){
|
||||
this.getShopList()
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,110 +0,0 @@
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.box {
|
||||
padding-bottom: 160rpx;
|
||||
}
|
||||
|
||||
.reservation_img {
|
||||
width: 750rpx;
|
||||
height: 502rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.reservation_img image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.Tit {
|
||||
font-weight: 400;
|
||||
font-size: 40rpx;
|
||||
color: #000000;
|
||||
margin-left: 20rpx;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.money {
|
||||
display: flex;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FF512A;
|
||||
align-items: center;
|
||||
margin-top: 20rpx;
|
||||
margin-left: 20rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.money view {
|
||||
font-size: 60rpx;
|
||||
margin-top: -19rpx;
|
||||
}
|
||||
|
||||
.money text {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 40rpx;
|
||||
padding-top: 30rpx;
|
||||
padding-bottom: 16rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.row_tit {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.row_con {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.none {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.gray {
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
|
||||
.Tit2 {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
margin-left: 20rpx;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.server {
|
||||
margin: 0 40rpx;
|
||||
margin-top: 30rpx;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.btn {
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
width: 650rpx;
|
||||
height: 80rpx;
|
||||
background: #FF512A;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: fixed;
|
||||
left: 50rpx;
|
||||
right: 50rpx;
|
||||
bottom: 50rpx;
|
||||
}
|
||||
@ -1,115 +0,0 @@
|
||||
<template>
|
||||
<view class="box">
|
||||
<view class="reservation_img">
|
||||
<image :src="info.photo" mode="" />
|
||||
</view>
|
||||
|
||||
<view class="Tit">{{info.title}}</view>
|
||||
<view class="money">
|
||||
¥
|
||||
<view>{{info.price}}</view>
|
||||
<text>/ {{info.unit}}</text>
|
||||
</view>
|
||||
|
||||
<view class="row">
|
||||
<view class="row_tit">服务类别</view>
|
||||
<view class="row_con">{{info.type_name}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="row_tit">营业时间</view>
|
||||
<view class="row_con">{{info.biz_time}}</view>
|
||||
</view>
|
||||
<view class="row none">
|
||||
<view class="row_tit">联系人</view>
|
||||
<view class="row_con">{{info.user_name}}</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
<view class="gray"></view>
|
||||
|
||||
<view class="Tit2">商家信息</view>
|
||||
<view class="row">
|
||||
<view class="row_tit">提供商家</view>
|
||||
<view class="row_con">{{info.shop_name}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="row_tit">联系电话</view>
|
||||
<view class="row_con" @click="call">{{info.user_mobile}}</view>
|
||||
</view>
|
||||
<view class="row none">
|
||||
<view class="row_tit">商家地址</view>
|
||||
<view class="row_con">{{info.shop_addr}}</view>
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
<view class="Tit2">服务详情</view>
|
||||
<view class="server">
|
||||
{{info.intro}}
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="reservation">
|
||||
立即预约
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
apiArr
|
||||
} from '../../../api/communityService';
|
||||
import {
|
||||
NavgateTo,
|
||||
picUrl,
|
||||
request
|
||||
} from '../../../utils';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
id: "",
|
||||
info: "",
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
async init(id) {
|
||||
const res = await request(apiArr.serverInfo, 'POST', {
|
||||
appoint_id: Number(id)
|
||||
});
|
||||
const newRes = {
|
||||
...res,
|
||||
photo: picUrl + res.photo,
|
||||
}
|
||||
|
||||
uni.setNavigationBarTitle({
|
||||
title: res.title,
|
||||
})
|
||||
this.info = newRes;
|
||||
},
|
||||
|
||||
// 拨打电话
|
||||
call() {
|
||||
let that = this
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: this.info.user_mobile,
|
||||
fail(err) {
|
||||
console.log('取消拨打', err)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
reservation() {
|
||||
NavgateTo(`/packages/communityService/reservationApply/index?id=${this.id}`, {isLogin: false });
|
||||
},
|
||||
},
|
||||
onLoad(options) {
|
||||
this.id = options.id;
|
||||
this.init(options.id);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,172 +0,0 @@
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #222222;
|
||||
margin-left: 20rpx;
|
||||
margin-top: 30rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 50rpx;
|
||||
height: 90rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.row_tit {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.row_tit image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.row_con {
|
||||
text-align: right;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.row_con image {
|
||||
height: 26rpx;
|
||||
width: 14rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.none {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.row_tit2 {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.row_tit2 image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.row_tit2 input {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.doorToDoor {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 54rpx;
|
||||
margin-right: 54rpx;
|
||||
justify-content: space-between;
|
||||
padding: 30rpx 0;
|
||||
}
|
||||
|
||||
.doorToDoor_tit {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.doorToDoor_con {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.selectItem {
|
||||
display: flex;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
margin-left: 40rpx;
|
||||
}
|
||||
|
||||
.cir {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
border-radius: 50%;
|
||||
border: 1rpx solid #555555;
|
||||
margin-right: 16rpx;
|
||||
}
|
||||
|
||||
.active {
|
||||
background-color: #ff512a;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.agree {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 54rpx;
|
||||
padding: 30rpx 0;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #FF512A;
|
||||
}
|
||||
|
||||
.btn {
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
width: 650rpx;
|
||||
height: 80rpx;
|
||||
background: #FF512A;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.popBox {
|
||||
height: 60vh;
|
||||
width: 80vw;
|
||||
padding: 30rpx;
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 100rpx;
|
||||
}
|
||||
|
||||
.tit2 {
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #222222;
|
||||
text-align: center;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.know {
|
||||
width: 400rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 20rpx;
|
||||
background-color: #FF512A;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #fff;
|
||||
font-size: 32rpx;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 20rpx;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
@ -1,392 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="box">
|
||||
<view class="tit">请填写预约信息</view>
|
||||
<view class="row none" v-if="isreal == 1">
|
||||
<view class="row_tit">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon1.png" mode="" />
|
||||
请选择上门时间
|
||||
</view>
|
||||
|
||||
<view class="row_con" @click="changeShow">
|
||||
{{time}}
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row none" v-if="isreal == 2">
|
||||
<view class="row_tit">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon2.png" mode="" />
|
||||
请选择服务时间
|
||||
</view>
|
||||
<view class="row_con" @click="changeShow2">
|
||||
{{serTime}}
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
<view class="row">
|
||||
<view class="row_tit">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon3.png" mode="" />
|
||||
联系人姓名
|
||||
</view>
|
||||
|
||||
<view class="row_con">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="请填写联系人姓名"
|
||||
placeholder-style="font-size: 26rpx;color: #999999;"
|
||||
:value="name"
|
||||
data-name='name'
|
||||
@input="headerInputClick"
|
||||
/>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="row_tit">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon4.png" mode="" />
|
||||
联系人电话
|
||||
</view>
|
||||
|
||||
<view class="row_con">
|
||||
<input
|
||||
type="number"
|
||||
maxlength="11"
|
||||
placeholder="请填写联系人电话"
|
||||
placeholder-style="font-size: 26rpx;color: #999999;"
|
||||
:value="phone"
|
||||
data-name='phone'
|
||||
@input="headerInputClick"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="row_tit">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon5.png" mode="" />
|
||||
请选择服务地址
|
||||
</view>
|
||||
<view class="row_con" @click="changeArea">
|
||||
|
||||
{{citys}}
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png" mode="" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="row none">
|
||||
<view class="row_tit">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon5.png" mode="" />
|
||||
详细地址
|
||||
</view>
|
||||
|
||||
<view class="row_con">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="请填写详细地址"
|
||||
placeholder-style="font-size: 26rpx;color: #999999;"
|
||||
:value="add"
|
||||
data-name='add'
|
||||
@input="headerInputClick"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
<view class="doorToDoor">
|
||||
<view class="doorToDoor_tit">是否上门服务</view>
|
||||
<view class="selectItem" @click="changeCir(1)">
|
||||
<view :class="['cir', isreal == 1 ? 'active' : '']"></view>
|
||||
是
|
||||
</view>
|
||||
<view class="selectItem" @click="changeCir(2)">
|
||||
<view :class="['cir', isreal == 2 ? 'active' : '']"></view>
|
||||
否
|
||||
</view>
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
<view class="row none">
|
||||
<view class="row_tit2">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/reser_icon6.png" mode="" />
|
||||
<input
|
||||
type="text"
|
||||
placeholder="给商家捎句话"
|
||||
placeholder-style="font-size: 26rpx;color: #999999;"
|
||||
:value="msg"
|
||||
data-name='msg'
|
||||
@input="headerInputClick"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
|
||||
<view class="agree">
|
||||
<view :class="['cir', agree ? 'active' : '']" @click="changeAgree"></view>
|
||||
|
||||
<view @click="changeShow3">
|
||||
我已阅读并同意服务合同中的内容
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="btn" @click="submit">提交申请 </view>
|
||||
</view>
|
||||
|
||||
<u-datetime-picker
|
||||
:show="show"
|
||||
mode="datetime"
|
||||
:closeOnClickOverlay="true"
|
||||
:minDate="minDate"
|
||||
:formatter="formatter"
|
||||
@confirm="onInput"
|
||||
@cancel="onClose"
|
||||
@close="onClose"
|
||||
/>
|
||||
|
||||
|
||||
<areaPopup :show="show2" @selectArea='headerAreaClick' @close='onClose' />
|
||||
|
||||
|
||||
|
||||
<u-popup :show="show3" mode="center" @close="onClose" round="20rpx" closeOnClickOverlay>
|
||||
<view class="pop_body">
|
||||
<view class="popBox">
|
||||
<view class="tit2">服务声明</view>
|
||||
乙方指定的家政服务人员须遵守以下行为准则:
|
||||
1)遵守国家各项法律、法规和社会公德;执行《公民道德建设实施纲要》,自尊自强,爱岗敬业;遵守企业各项规章制度,维护经营者和甲方的合法权益。
|
||||
2)遵守职业道德,尊重甲方生活习俗,主动适应甲方,视甲方如亲人,不虐待所照看的老、幼、病、残人员;不泄露甲方隐私;不参与甲方家庭及邻里的矛盾纠纷,不传闲话,以免激化矛盾;不向甲方借钱或索要财物;在离开甲方家庭时,要主动打开自己的包裹让其检查,以示尊重。
|
||||
3)遵守合同条款,不无故违约,不无故要求换户或不辞而别。如与甲方发生矛盾,出现甲方侵犯家政服务人员合法权益,或变更服务地址、服务工种等,无论何种原因家政服务人员均应先行告知经营者,不要擅自处理。
|
||||
4)努力学习服务技能,完成经营者和甲方安排的工作任务。对不会使用的器具,未经经营者指导和甲方允许不要使用。未经甲方同意不使用其通讯工具和电脑等设备。
|
||||
5)保证自身和甲方的安全。不要与异性成、青年人同居一室;不带亲朋好友在甲方家中停留或食宿;不擅自外出或夜不归宿,如有特殊情况不能按时返回,要征得甲方同意;要注意防火、防盗。
|
||||
第九条 服务人员仪态仪表 乙方指定的家政服务人员须遵守以下仪态仪表要求: (1)讲究个人卫生,着装整洁大方,不能过于随意,不穿紧身衣裤或过于暴露的服装。 (2)佩戴饰物要适当,不浓妆艳抹,不留长指甲和涂指甲油。
|
||||
3)言谈举止大方得体,与甲方交流时要正视对方,不要左顾右盼,不能双臂交叉或双手插在兜里。
|
||||
</view>
|
||||
<view class="know" @click="onClose">我已知晓</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
apiArr
|
||||
} from '../../../api/communityService';
|
||||
import {
|
||||
request,
|
||||
isPhone
|
||||
} from '../../../utils';
|
||||
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
time: "", //上门时间
|
||||
serTime: "", //服务时间
|
||||
name: "", //姓名
|
||||
phone: "", //电话
|
||||
citys: "", //服务地址
|
||||
add: "", //详细地址
|
||||
isreal: 1, //是否上门
|
||||
|
||||
msg: "", //信息
|
||||
id: "",
|
||||
agree: false, //是否阅读同意
|
||||
type: "1", //1上门时间 2服务时间
|
||||
info: "",
|
||||
|
||||
GoodsMsg: "", //商户信息
|
||||
orderMsg: "",
|
||||
|
||||
show: false,
|
||||
show2: false,
|
||||
show3: false,
|
||||
minDate: new Date().getTime(),
|
||||
formatter(type, value) {
|
||||
if (type === 'year') {
|
||||
return `${value}年`;
|
||||
}
|
||||
if (type === 'month') {
|
||||
return `${value}月`;
|
||||
}
|
||||
if (type === 'day') {
|
||||
return `${value}日`;
|
||||
}
|
||||
return value;
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async init(id) {
|
||||
const res = await request(apiArr.serverInfo, 'POST', {
|
||||
appoint_id: Number(id)
|
||||
});
|
||||
this.info = res;
|
||||
uni.setNavigationBarTitle({
|
||||
title: res.title
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
changeShow() {
|
||||
this.show = !this.show;
|
||||
this.type = 1;
|
||||
},
|
||||
|
||||
//
|
||||
changeShow2() {
|
||||
this.show = !this.show;
|
||||
this.type = 2;
|
||||
},
|
||||
|
||||
// 关闭弹窗选择器
|
||||
onClose(){
|
||||
this.show = false;
|
||||
this.show2 = false;
|
||||
this.show3 = false;
|
||||
},
|
||||
|
||||
// 时间选择器点击确定
|
||||
onInput(event){
|
||||
const date = new Date(event.value); // 获取选中的 Date 对象
|
||||
const year = date.getFullYear(); // 获取年份
|
||||
const month = date.getMonth() + 1; // 获取月份(注意月份从 0 开始,需要 +1)
|
||||
const day = date.getDate(); // 获取日期
|
||||
const hours =date.getHours()
|
||||
const minutes = date.getMinutes();
|
||||
const time = `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
console.log('time', time, 'type', this.type);
|
||||
this.show = false;
|
||||
if(this.type == 1){
|
||||
this.time = time;
|
||||
}else{
|
||||
this.serTime = time;
|
||||
}
|
||||
},
|
||||
|
||||
// input 输入框输入值、
|
||||
headerInputClick(e) {
|
||||
console.log('eeee', e)
|
||||
const { name } = e.currentTarget.dataset;
|
||||
const { value } = e.detail;
|
||||
this[name] = value;
|
||||
},
|
||||
|
||||
// 地址选择弹窗
|
||||
changeArea(){
|
||||
this.show2 = true;
|
||||
},
|
||||
|
||||
headerAreaClick(data) {
|
||||
console.log('接受参数值', data);
|
||||
this.citys = `${data.confirmProv.name}${data.confirmCity.area_name}${data.confirmDist.business_name}`;
|
||||
this.show2 = false;
|
||||
},
|
||||
|
||||
changeCir(e){
|
||||
this.isreal = e
|
||||
},
|
||||
|
||||
// 打开服务合同弹窗
|
||||
changeShow3(){
|
||||
this.show3 = true
|
||||
},
|
||||
|
||||
// 同意服务合同
|
||||
changeAgree(){
|
||||
this.agree = !this.agree;
|
||||
},
|
||||
|
||||
|
||||
async submit() {
|
||||
console.log('他啥都', this);
|
||||
if(this.isreal == '1'){
|
||||
if(!this.time){
|
||||
uni.showToast({
|
||||
title: '请选择上门时间',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
}else{
|
||||
if(!this.serTime){
|
||||
uni.showToast({
|
||||
title: '请选择服务时间',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
if(!this.name){
|
||||
uni.showToast({
|
||||
title: '请填写联系人姓名',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if(!this.phone){
|
||||
uni.showToast({
|
||||
title: '请填写联系人电话',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if(!isPhone(this.phone)){
|
||||
uni.showToast({
|
||||
title: '请填写正确电话',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if(!this.citys){
|
||||
uni.showToast({
|
||||
title: '请选择服务地址',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if(!this.add){
|
||||
uni.showToast({
|
||||
title: '请填写详细地址',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
if(!this.agree){
|
||||
uni.showToast({
|
||||
title: '请阅读合同内容',
|
||||
icon:"none"
|
||||
})
|
||||
return
|
||||
}
|
||||
let svctime
|
||||
if(this.isreal == '1'){
|
||||
svctime = this.time
|
||||
}else{
|
||||
svctime = this.serTime
|
||||
}
|
||||
uni.showLoading({
|
||||
title: '申请中...',
|
||||
mask:true
|
||||
})
|
||||
const res = await request(apiArr.createServerOrder, 'POST', {
|
||||
addr: this.citys + this.add,
|
||||
appoint_id: this.info.appoint_id,
|
||||
capon_id: 0,
|
||||
cate_id: this.info.cate_id,
|
||||
name: this.name,
|
||||
order_type: this.type,
|
||||
shop_id: this.info.shop_id,
|
||||
svctime,
|
||||
tel: this.phone
|
||||
}, { silent: false });
|
||||
console.log('12332322', res);
|
||||
this.orderMsg = res;
|
||||
// that.getGoodsMsg()
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.id = options.id;
|
||||
this.init(options.id);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,154 +0,0 @@
|
||||
.tabList {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.tabItem {
|
||||
display: flex;
|
||||
width: 20%;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
margin-bottom: 46rpx;
|
||||
}
|
||||
|
||||
.tabImg {
|
||||
height: 54rpx;
|
||||
}
|
||||
|
||||
.tabName {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
margin-left: 20rpx;
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
.serverMore {
|
||||
background-color: #fff;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.serverList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 52rpx;
|
||||
margin-top: 30rpx;
|
||||
padding-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.serverItem {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
.serverItem_img {
|
||||
height: 54rpx;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
|
||||
.List {
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 30rpx 0;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.item_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item_left_msg_money {
|
||||
display: flex;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.item_right {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #FFFFFF;
|
||||
width: 150rpx;
|
||||
height: 50rpx;
|
||||
background: #D5AC66;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
.item_left_img {
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 30rpx;
|
||||
overflow: hidden;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.item_left_msg_tit {
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item_left_msg_time {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
|
||||
.item_left_msg_money {
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.item_left_msg_money view {
|
||||
font-size: 36rpx;
|
||||
}
|
||||
|
||||
.phone {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
background: #FFF2DA;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.phone image {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
@ -1,89 +0,0 @@
|
||||
<template>
|
||||
<view class="serverMore">
|
||||
<view class="tabList">
|
||||
<view class="tabItem" v-for="(item, index) in serverList" :key="index" @click="getList2(item.cate_id)">
|
||||
<view class="tabImg">
|
||||
<image :src="item.photo" mode="" />
|
||||
</view>
|
||||
<view class="tabName">{{item.cate_name}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
<view class="List">
|
||||
<view class="item" v-for="(item, index) in tabList" :key="index">
|
||||
<view class="item_left">
|
||||
<view class="item_left_img">
|
||||
<image :src="item.photo" mode="widthFix" />
|
||||
</view>
|
||||
<view class="item_left_msg">
|
||||
<view class="item_left_msg_tit">
|
||||
{{item.title}}
|
||||
<view class="phone" @click="call">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/doorToDoor/phone.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="item_left_msg_time">服务时间:{{item.biz_time}}</view>
|
||||
<view class="item_left_msg_money">
|
||||
¥ <view>{{item.price}}</view>/{{item.unit}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item_right" @click="reservation(item.appoint_id)">
|
||||
预约
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { apiArr } from '../../../api/communityService';
|
||||
import { picUrl, request } from '../../../utils';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
flag: false,
|
||||
cateid: "",
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
serverList: [],
|
||||
tabList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getCateList(id) {
|
||||
const res = await request(apiArr.getAllList, 'POST', {
|
||||
cate_id: Number(id),
|
||||
page_num: 1,
|
||||
page_size: 50
|
||||
})
|
||||
let flag = false
|
||||
if (res.rows && res.rows.length == this.page_size) {
|
||||
flag = true
|
||||
} else {
|
||||
flag = false
|
||||
}
|
||||
res.rows && res.rows.forEach(item => {
|
||||
item.photo = picUrl + item.photo
|
||||
item.cate.photo = picUrl + item.cate.photo
|
||||
})
|
||||
console.log(res, 'ssss');
|
||||
this.tabList = this.tabList.concat(res.rows || []);
|
||||
this.flag = flag;
|
||||
this.page_num = this.page_num + 1;
|
||||
},
|
||||
},
|
||||
onLoad(options) {
|
||||
|
||||
this.cateid = options.id;
|
||||
// that.getDoorToDoorList()
|
||||
this.getCateList(options.id)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,185 +0,0 @@
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.banner {
|
||||
width: 710rpx;
|
||||
height: 300rpx;
|
||||
border-radius: 30rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.banner_pic {
|
||||
width: 710rpx;
|
||||
height: 300rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font-weight: bold;
|
||||
font-size: 40rpx;
|
||||
color: #000000;
|
||||
margin-top: 40rpx;
|
||||
margin-left: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
padding-bottom: 30rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.msg_left_1 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.msg_left_2 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.msg_left_1 image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.msg_left_2 image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.msg_left_1 view {
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
border: 1rpx solid #D5AC66;
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #D5AC66;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 20rpx;
|
||||
padding: 2rpx 10rpx;
|
||||
}
|
||||
|
||||
.msg {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 20rpx;
|
||||
margin-right: 48rpx;
|
||||
margin-top: 28rpx;
|
||||
}
|
||||
|
||||
.msg_right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.msg_right image {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.msg_right2 {
|
||||
margin-left: 40rpx;
|
||||
}
|
||||
|
||||
.tag {
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
background: #FFD8D0;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
border: 1rpx solid #FF512A;
|
||||
display: inline-block;
|
||||
padding: 2rpx 10rpx;
|
||||
margin-left: 18rpx;
|
||||
}
|
||||
|
||||
.imgList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
margin: 30rpx 20rpx;
|
||||
}
|
||||
|
||||
.imgList image {
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||
margin-right: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.subtit {
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
margin-top: 30rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.subCon {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #222222;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
margin-bottom: 30rpx;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.subCon view {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.payList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
margin-top: 60rpx;
|
||||
}
|
||||
|
||||
.payBtn {
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
width: 650rpx;
|
||||
height: 80rpx;
|
||||
background: #FF512A;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.payBtn2 {
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FF512A;
|
||||
width: 650rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
border: 1rpx solid #FF512A;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
@ -1,99 +0,0 @@
|
||||
<template>
|
||||
<view class="box">
|
||||
<view class="banner">
|
||||
<image class="banner_pic" :src="info.photo" mode="" />
|
||||
</view>
|
||||
|
||||
<view class="tit">{{info.shop_name}}</view>
|
||||
<view class="msg">
|
||||
<view class="msg_left">
|
||||
<view class="msg_left_1">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_time.png" mode="" />
|
||||
{{info.opening_time}}-{{info.closing_time}}
|
||||
<view>{{info.is_open === 1 ? '营业' :'停业'}}</view>
|
||||
</view>
|
||||
<view class="msg_left_2">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_add.png" mode="" />
|
||||
{{info.addr}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="msg_right">
|
||||
<view class="msg_right1" @click="call">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_phone.png" mode="" />
|
||||
电话
|
||||
</view>
|
||||
<view class="msg_right2" @click="handleOptionClick">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/kitchen/kitchen_add.png" mode="" />
|
||||
导航
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="imgList">
|
||||
<image v-for="(item, index) in info.picList" :key="index" :data-pic="item" @click="headerPicClick" :src="item" mode="aspectFill" />
|
||||
</view>
|
||||
<view class="gray"></view>
|
||||
|
||||
<view class="gray"></view>
|
||||
|
||||
<view class="subtit">公告</view>
|
||||
<view class="subCon">{{info.presentation}}</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { picUrl, request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/communityService';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
id: "",
|
||||
info: ""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async init(id) {
|
||||
const res = await request(apiArr.getGoodsDesc, 'POST', {
|
||||
shop_id: Number(id)
|
||||
})
|
||||
const newRes = {
|
||||
...res,
|
||||
photo: picUrl + res.photo
|
||||
};
|
||||
uni.setNavigationBarTitle({
|
||||
title: res.shop_name
|
||||
});
|
||||
this.info = newRes;
|
||||
|
||||
},
|
||||
|
||||
// 拨打电话
|
||||
call() {
|
||||
let that = this
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: this.info.tel,
|
||||
fail(err) {
|
||||
console.log('取消拨打', err)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 导航
|
||||
handleOptionClick() {
|
||||
uni.openLocation({
|
||||
latitude: Number(this.info.lat),
|
||||
longitude: Number(this.info.lng),
|
||||
name: this.info.shop_name,
|
||||
})
|
||||
},
|
||||
},
|
||||
onLoad(options) {
|
||||
this.id = options.id;
|
||||
this.init(options.id);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,73 +0,0 @@
|
||||
.header {
|
||||
margin-left: 20rpx;
|
||||
color: #222222;
|
||||
font-size: 28rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
.item{
|
||||
display:flex;
|
||||
border-bottom:1px solid #e6e6e6;
|
||||
height: 90rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-left: 52rpx;
|
||||
margin-right: 48rpx;
|
||||
}
|
||||
|
||||
.item-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.item-title {
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
}
|
||||
.item-icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.item-right {
|
||||
/* flex: 1; */
|
||||
text-align: right;
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
color: #222222;
|
||||
}
|
||||
.right-icon {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
.item-right-icon {
|
||||
width: 13rpx;
|
||||
height: 26rpx;
|
||||
}
|
||||
|
||||
/* TODO: 为什么不生效? */
|
||||
.not-border{
|
||||
border-bottom: none;
|
||||
}
|
||||
.item:last-child{
|
||||
border-bottom:none
|
||||
}
|
||||
.line {
|
||||
background: #F9F9F9;
|
||||
height: 20rpx;
|
||||
}
|
||||
.desc {
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
color: #FF512A;
|
||||
}
|
||||
.quit_login {
|
||||
margin: 10rpx 50rpx 0;
|
||||
background: #FF512A;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
height: 80rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
@ -1,134 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="item" data-url="/packages/user/uploadAvatar/index" data-title="上传头像" @click="handleSelectClick">
|
||||
<view class="item-left">
|
||||
<image class="item-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_422.png" />
|
||||
<view class="item-title">上传头像</view>
|
||||
</view>
|
||||
<van-icon name="arrow" color="#D5AC66" />
|
||||
</view>
|
||||
|
||||
<view class="item">
|
||||
<view class="item-left">
|
||||
<image class="item-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Classroom.png" />
|
||||
<view class="item-title">当前账户</view>
|
||||
</view>
|
||||
<view class="item-right">{{userInfo.user_name}}</view>
|
||||
</view>
|
||||
|
||||
<view class="item" data-url="/packages/user/resetPwd/index" data-title="修改登录密码" data-type="login"
|
||||
@click="handleSelectClick">
|
||||
<view class="item-left">
|
||||
<image class="item-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_423.png" />
|
||||
<view class="item-title">修改登录密码</view>
|
||||
</view>
|
||||
<van-icon name="arrow" color="#D5AC66" />
|
||||
</view>
|
||||
|
||||
<view class="item not-border" data-url="/packages/user/resetPwd/index" data-title="修改支付密码" data-type="pay"
|
||||
@click="handleSelectClick">
|
||||
<view class="item-left">
|
||||
<image class="item-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_424.png" />
|
||||
<view class="item-title">修改支付密码</view>
|
||||
</view>
|
||||
<van-icon name="arrow" color="#D5AC66" />
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 灰色分割线 -->
|
||||
<view class="line"></view>
|
||||
<view class="item not-border">
|
||||
<view class="item-left">
|
||||
<image class="item-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_425.png" />
|
||||
<view class="item-title">绑定手机</view>
|
||||
</view>
|
||||
<view class="item-right desc">{{phoneNum}}</view>
|
||||
</view>
|
||||
<button class="quit_login" @click="handleQuitLoginClick">退出登录</button>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { NavgateTo, request } from '../../../utils/index';
|
||||
import { apiArr } from '../../../api/login';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
userInfoList: [{
|
||||
pic: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_422.png',
|
||||
desc: '上传头像',
|
||||
url: "/packages/user/uploadAvatar/index",
|
||||
isShowPic: true,
|
||||
},
|
||||
{
|
||||
pic: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Classroom.png',
|
||||
desc: '当前账户',
|
||||
url: "",
|
||||
text: "微信用户"
|
||||
},
|
||||
{
|
||||
pic: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_423.png',
|
||||
desc: '修改登录密码',
|
||||
type: 'login',
|
||||
url: "/packages/user/resetPwd/index",
|
||||
isShowPic: true,
|
||||
},
|
||||
{
|
||||
pic: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_424.png',
|
||||
desc: '修改支付密码',
|
||||
type: 'pay',
|
||||
url: "/packages/user/resetPwd/index",
|
||||
isShowPic: true,
|
||||
isLast: true,
|
||||
},
|
||||
],
|
||||
userInfo: {},
|
||||
phoneNum: uni.getStorageSync('phone'),
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async init() {
|
||||
const res = await request(apiArr.loginInfo, 'POST', {});
|
||||
this.userInfo = res;
|
||||
},
|
||||
|
||||
// 跳转指定页面url
|
||||
handleSelectClick(event) {
|
||||
const { url, title, type } = event.currentTarget.dataset
|
||||
if (!url) return;
|
||||
NavgateTo(`${url}?title=${title}&type=${type}`, { isLogin: false })
|
||||
},
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
handleQuitLoginClick() {
|
||||
console.log('退出登录');
|
||||
uni.removeStorageSync('ctoken');
|
||||
uni.removeStorageSync('userId');
|
||||
uni.removeStorageSync('phone');
|
||||
uni.removeStorageSync('device_id');
|
||||
uni.removeStorageSync('dealerId');
|
||||
uni.removeStorageSync('is_deal');
|
||||
uni.removeStorageSync('is_dev');
|
||||
uni.removeStorageSync('is_shop');
|
||||
uni.removeStorageSync('openId');
|
||||
uni.removeStorageSync('shopArea');
|
||||
uni.removeStorageSync('shopId');
|
||||
uni.reLaunch({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,111 +0,0 @@
|
||||
.container {
|
||||
height: 100vh;
|
||||
background: linear-gradient(to bottom, #FFE7E1, #FFFFFF);
|
||||
/* background-attachment: fixed; */
|
||||
background-size: cover;
|
||||
padding-top: 20rpx;
|
||||
padding-bottom: 20%;
|
||||
}
|
||||
|
||||
/* 头部 */
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 25rpx;
|
||||
margin-top: 83rpx;
|
||||
margin-bottom: 52rpx;
|
||||
}
|
||||
|
||||
/* 头像 */
|
||||
.left {
|
||||
display: flex;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
background-color: #FF7354;
|
||||
margin-right: 30rpx;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* 头像图片 */
|
||||
.avatar {
|
||||
width: 60%;
|
||||
height: 55%;
|
||||
margin-bottom: 20rpx;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.user_name {
|
||||
font-size: 36rpx;
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
margin-bottom: 14rpx;
|
||||
}
|
||||
|
||||
.share_poster {
|
||||
display: inline-block;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
padding: 5rpx 14rpx 7rpx 15rpx;
|
||||
background-color: #FF9077;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
}
|
||||
|
||||
.main {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
background: #FFFFFF;
|
||||
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||
margin: 0 15rpx 41rpx 25rpx;
|
||||
padding: 43rpx 44rpx 47rpx 34rpx;
|
||||
}
|
||||
.item {
|
||||
flex: 1 0 calc(33.333% - 10px);
|
||||
background-color: #FFFFFF;
|
||||
text-align: center;
|
||||
margin-bottom: 50rpx;
|
||||
}
|
||||
.has-margin-bottom {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.text {
|
||||
font-size: 40rpx;
|
||||
font-weight: 400;
|
||||
color: #222222;
|
||||
margin-bottom: 14rpx;
|
||||
}
|
||||
.desc {
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
margin-left: 22rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
.order {
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
.nav_icon {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.grid-text {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.uicon-volume {
|
||||
font-size: 28rpx !important;
|
||||
}
|
||||
.u-grid-item {
|
||||
margin-bottom: 43rpx;
|
||||
}
|
||||
@ -1,132 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="header">
|
||||
<view class="left">
|
||||
<image class="avatar" :src="userInfo.img"></image>
|
||||
</view>
|
||||
<view class="right">
|
||||
<view class="user_name" @click="handleUserInfoClick">
|
||||
{{ userInfo.user_name ? userInfo.user_name : '微信用户' }}
|
||||
(ID:{{userInfo.user_id}})
|
||||
</view>
|
||||
<view class="share_poster" @click="handleShareClick">推广海报</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 推广下级 -->
|
||||
<view class="main">
|
||||
<view class="item">
|
||||
<view class="text">{{0}}</view>
|
||||
<view class="desc">累计推广下级</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="text">{{0}}</view>
|
||||
<view class="desc">累计邀请业主</view>
|
||||
</view>
|
||||
<view class="item">
|
||||
<view class="text">{{0}}</view>
|
||||
<view class="desc">累计推广订单</view>
|
||||
</view>
|
||||
<view class="item has-margin-bottom">
|
||||
<view class="text">{{0}}</view>
|
||||
<view class="desc">今日推广下级</view>
|
||||
</view>
|
||||
<view class="item has-margin-bottom">
|
||||
<view class="text">{{0}}</view>
|
||||
<view class="desc">今日邀请业主</view>
|
||||
</view>
|
||||
<view class="item has-margin-bottom">
|
||||
<view class="text">{{0}}</view>
|
||||
<view class="desc">今日推广订单</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="navigation">功能管理</view>
|
||||
<view class="order">
|
||||
<!-- 功能列表 -->
|
||||
<u-grid col="4" :border="false" >
|
||||
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in functional_List" :key="index">
|
||||
<image class="nav_icon" :src="item.image" mode=""></image>
|
||||
<text class="grid-text">{{item.name}}</text>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</view>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { NavgateTo, picUrl, request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/login';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
functional_List: [{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_25.png",
|
||||
"name": "推广海报",
|
||||
"url": "/packages/user/share/index",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_26.png",
|
||||
"name": "我的下级",
|
||||
"url": "",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_35.png",
|
||||
"name": "下级订单",
|
||||
"url": "",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_30.png",
|
||||
"name": "联系平台",
|
||||
"url": "",
|
||||
"type": "h5"
|
||||
},
|
||||
],
|
||||
userInfo: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async init() {
|
||||
const res = await request(apiArr.loginInfo, 'POST', {});
|
||||
const newRes = {
|
||||
...res,
|
||||
img: picUrl + res.img || 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_309.png',
|
||||
}
|
||||
this.userInfo = newRes;
|
||||
},
|
||||
|
||||
handleUserInfoClick() {
|
||||
NavgateTo('/packages/user/index/index', { isLogin: false })
|
||||
},
|
||||
handleShareClick() {
|
||||
NavgateTo('/packages/user/share/index', { isLogin: false })
|
||||
},
|
||||
|
||||
headerOrderClick(event) {
|
||||
console.log('11111', event)
|
||||
const { url } = event;
|
||||
if (!url) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '此功能暂未开通!',
|
||||
showCancel: false,
|
||||
})
|
||||
} else {
|
||||
NavgateTo(url, { isLogin: false })
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,86 +0,0 @@
|
||||
.points-overview {
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
padding: 40rpx 20rpx 30rpx;
|
||||
height: 185rpx;
|
||||
}
|
||||
|
||||
.points-overview__content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.points-overview__label {
|
||||
font-size: 26rpx;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.points-overview__num {
|
||||
margin-top: 10rpx;
|
||||
margin-left: 12rpx;
|
||||
font-weight: bold;
|
||||
font-size: 64rpx;
|
||||
line-height: 75rpx;
|
||||
color: #FF512A;
|
||||
}
|
||||
|
||||
.points-overview__action {
|
||||
flex-shrink: 1;
|
||||
padding: 5rpx 22rpx;
|
||||
width: max-content;
|
||||
height: max-content;
|
||||
border-radius: 40rpx;
|
||||
background-color: rgba(255, 81, 42, 0.1);
|
||||
white-space: nowrap;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.points-overview__desc {
|
||||
margin-right: 10rpx;
|
||||
font-size: 26rpx;
|
||||
line-height: 30rpx;
|
||||
color: #FF512A;
|
||||
white-space: nowrap;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.block-divider {
|
||||
width: 100%;
|
||||
height: 20rpx;
|
||||
background-color: #F9F9F9;
|
||||
}
|
||||
|
||||
.record-list {
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
.record-list-item {
|
||||
padding: 30rpx 0;
|
||||
font-size: 26rpx;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.record-list-item__content {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.record-list-item__label {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.record-list-item__num {
|
||||
flex-shrink: 1;
|
||||
}
|
||||
|
||||
.record-list-item__datetime {
|
||||
margin-top: 10rpx;
|
||||
font-size: 22rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.record-list-item + .record-list-item {
|
||||
border-top: 1px solid #E6E6E6;
|
||||
}
|
||||
@ -1,84 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="points-overview">
|
||||
<view class="points-overview__content">
|
||||
<view class="points-overview__label">账户积分</view>
|
||||
<view class="points-overview__num">{{ pointsNum }}</view>
|
||||
</view>
|
||||
<navigator class="points-overview__action" url="/packages/user/pointsRule/index">
|
||||
<text class="points-overview__desc">积分规则</text>
|
||||
<image
|
||||
style="width: 12rpx; height: 22rpx;"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/more.primary.12x22.png"
|
||||
>
|
||||
</image>
|
||||
</navigator >
|
||||
</view>
|
||||
|
||||
<view class="block-divider"></view>
|
||||
|
||||
<view class="record-list">
|
||||
<view
|
||||
v-for="(item, index ) in records"
|
||||
:key="index"
|
||||
class="record-list-item"
|
||||
>
|
||||
<view class="record-list-item__content">
|
||||
<view class="record-list-item__label">{{ item.source }}</view>
|
||||
<view class="record-list-item__num">+{{ item.integral }}</view>
|
||||
</view>
|
||||
<view class="record-list-item__datetime">{{ item.create_time }}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request } from '../../../utils';
|
||||
import { apiArr } from '../../../api/user';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
count: 0,
|
||||
records: [],
|
||||
pointsNum: 0,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async init () {
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
})
|
||||
const res = await request(apiArr.signIntegral,"POST", {});
|
||||
this.pointsNum = res.integral;
|
||||
await this.getSignCycle();
|
||||
},
|
||||
|
||||
async getSignCycle () {
|
||||
const res = await request(apiArr.signCycle, 'POST', {});
|
||||
const { start_time, end_time, day_num } = res;
|
||||
this.getSignList(start_time, end_time, day_num)
|
||||
},
|
||||
|
||||
async getSignList(startTime, endTime, dayNum) {
|
||||
const res = await request(apiArr.signList, 'POST', {
|
||||
page_num: 1,
|
||||
page_size: dayNum,
|
||||
sign_date: [startTime, endTime]
|
||||
});
|
||||
uni.hideLoading();
|
||||
this.records = res.rows;
|
||||
},
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,23 +0,0 @@
|
||||
.desc-doc {
|
||||
padding: 30rpx 28rpx;
|
||||
}
|
||||
|
||||
.desc-title {
|
||||
font-weight: bold;
|
||||
font-size: 36rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.section {
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.section-content {
|
||||
margin-top: 20rpx;
|
||||
font-size: 24rpx;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.section-content--grey {
|
||||
color: #999;
|
||||
}
|
||||
@ -1,44 +0,0 @@
|
||||
<template>
|
||||
<view class="desc-doc">
|
||||
<view class="desc-title">积分兑换规则</view>
|
||||
<view class="section">
|
||||
<view class="section-title">一. 积分获取:</view>
|
||||
<view class="section-content">1、完成购物。在平台进行消费支付可,即可获得官方商城积分,10元可换取1积分;订单支付成功后到账;</view>
|
||||
<view class="section-content">2、平台签到赠送积分。</view>
|
||||
</view>
|
||||
<view class="section">
|
||||
<view class="section-title">二. 兑换规则</view>
|
||||
<view class="section-content">积分可在官方商城兑换商品:</view>
|
||||
<view class="section-content section-content--grey">· 折扣券——官方商城定期推出积分兑换折扣卷活动,兑换折扣卷后需在有效期内使用,有效期及使用规则请见折扣卷详情;
|
||||
</view>
|
||||
<view class="section-content section-content--grey">· 其他——有效期及使用规则请见商品详情;</view>
|
||||
<view class="section-content">
|
||||
兑换后会扣减“兑换积分”,兑换的礼券及兑换积分不能退回;同类礼券每笔订单限使用一张,仅限本ID使用,不能折算为现金、也不能再次兑换为积分;已兑换的礼券可在“我的账户 我的积分”的明细中查询。兑换礼券均有有效期,请及时使用。
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,128 +0,0 @@
|
||||
.container {
|
||||
width: 750rpx;
|
||||
height: 902rpx;
|
||||
background: linear-gradient(0deg, rgba(255,182,92,0) 0%, #ED7554 80%);
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
}
|
||||
.header {
|
||||
margin-top: 57rpx;
|
||||
margin-left: 34rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.left_detail {
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
background: rgba(255,255,255,0.2);
|
||||
overflow: auto;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding-right: 24rpx;
|
||||
}
|
||||
.gold_icon {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
margin: 8rpx 20rpx 8rpx 17rpx;
|
||||
}
|
||||
.points {
|
||||
font-weight: 400;
|
||||
font-size: 40rpx;
|
||||
color: #FFFFFF;
|
||||
margin-right: 25rpx;
|
||||
}
|
||||
.tomorrow_sign {
|
||||
margin-top: 20rpx;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.right_desc {
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
font-size: 80rpx;
|
||||
background: linear-gradient(90.00002264849354deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 100%);
|
||||
}
|
||||
.rigth_icon {
|
||||
width: 408rpx;
|
||||
height: 94rpx;
|
||||
}
|
||||
|
||||
|
||||
.main {
|
||||
/* width: 100%; */
|
||||
background: url('https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Rectangle_112.png');
|
||||
border-radius: 30px 30px 30px 30px;
|
||||
border: 1px solid #FFFFFF;
|
||||
padding: 25rpx 20rpx 0;
|
||||
margin-top: 22rpx;
|
||||
position: relative;
|
||||
}
|
||||
.center_icon {
|
||||
width: 382rpx;
|
||||
height: 283rpx;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: -173rpx;
|
||||
}
|
||||
.center_header {
|
||||
width: 710rpx;
|
||||
display: inline-flex;
|
||||
background: #FCF7DD;
|
||||
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||||
}
|
||||
.signed {
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
margin: 36rpx 0 36rpx 46rpx;
|
||||
}
|
||||
.center_time {
|
||||
font-weight: 400;
|
||||
color: #D5AC66;
|
||||
margin: 36rpx 28rpx 36rpx 163rpx;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.points_detail {
|
||||
margin-top: 40rpx;
|
||||
width: 750rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.day_detail {
|
||||
width: 90rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.item {
|
||||
background: #FFECE7;
|
||||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||||
width: 90rpx;
|
||||
height: 110rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.red_border {
|
||||
border: 1rpx solid #FF512A;
|
||||
|
||||
}
|
||||
.points_time {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
text-align: center;
|
||||
margin: 11rpx 0 11rpx;
|
||||
}
|
||||
.points_icon {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.day_time {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
margin-top: 10rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.color_red {
|
||||
color: #FF512A;
|
||||
}
|
||||
@ -1,300 +0,0 @@
|
||||
<template>
|
||||
<view class="container" :style="{paddingTop: top + 'px'}">
|
||||
<u-navbar title="签到积分" leftIconColor="#FFFFFF" titleStyle="color: #FFFFFF" bgColor="transparent" leftIconSize="20px"
|
||||
:autoBack="true" />
|
||||
|
||||
<view class="header">
|
||||
<view class="header_left">
|
||||
<view class="left_detail" @click="headerPointsClick">
|
||||
<image class="gold_icon"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/401463152_31.png" mode="" />
|
||||
<text class="points">{{pointsNum}}</text>
|
||||
<u-icon color="#FFFFFF" name="arrow-right" />
|
||||
</view>
|
||||
<view class="tomorrow_sign">明日签到+1</view>
|
||||
</view>
|
||||
<view class="header_right">
|
||||
<image class="rigth_icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/QIANDAO.png"
|
||||
mode="" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="main">
|
||||
<image class="center_icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_311.png"
|
||||
mode="" />
|
||||
<view class="center_header">
|
||||
<view class="signed">本期已签到<text>{{checkedData}}</text>天</view>
|
||||
<view class="center_time">{{starteTime}}~{{endTime}}</view>
|
||||
</view>
|
||||
<view class="points_detail">
|
||||
<view class="day_detail" v-for="(item, index) in pointsList" :key="index" @click="headerSignClick">
|
||||
<view :class="['item', item.today && 'red_border']">
|
||||
<view v-if="item.isSign" :class="['points_time', !item.isSign && 'color_red']">{{item.time}}</view>
|
||||
<view v-if="!item.isSign" :class="['points_time', !item.isSign && 'color_red']">+{{item.points}}</view>
|
||||
<image class="points_icon" v-if="item.isSign"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_518.png" mode="" />
|
||||
<image class="points_icon" wx:else
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/401463152_31.png" mode="" />
|
||||
</view>
|
||||
<view class="day_time">{{index +1}}天</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<footer />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
request,
|
||||
menuButtonInfo,
|
||||
NavgateTo
|
||||
} from '../../../utils';
|
||||
import {
|
||||
apiArr
|
||||
} from '../../../api/user';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
top: 0,
|
||||
starteTime: '',
|
||||
endTime: '',
|
||||
points: [{
|
||||
time: '01.29',
|
||||
state: true,
|
||||
},
|
||||
{
|
||||
time: '+2',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+3',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+4',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+5',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+6',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+7',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+1',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+2',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+3',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+4',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+5',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+6',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+7',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+1',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+2',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+3',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+4',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+5',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+6',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+7',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+1',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+2',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+3',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+4',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+5',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+6',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+7',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+1',
|
||||
state: false,
|
||||
},
|
||||
{
|
||||
time: '+2',
|
||||
state: false,
|
||||
},
|
||||
],
|
||||
pointsList: [],
|
||||
checkedData: 0,
|
||||
pointsNum: 0,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getIntegral() {
|
||||
const res = await request(apiArr.signIntegral, 'POST', {});
|
||||
this.pointsNum = res.integral
|
||||
},
|
||||
|
||||
async init() {
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
mask: true,
|
||||
})
|
||||
this.getIntegral();
|
||||
const res = await request(apiArr.signCycle, 'POST', {});
|
||||
const {
|
||||
start_time,
|
||||
end_time,
|
||||
day_num
|
||||
} = res;
|
||||
const starteTime = start_time.substring(0, 10);
|
||||
const endTime = end_time.substring(0, 10);
|
||||
|
||||
|
||||
this.starteTime = starteTime;
|
||||
this.endTime = endTime;
|
||||
await this.getGridList(starteTime, day_num);
|
||||
await this.getSignList(starteTime, endTime, day_num);
|
||||
|
||||
uni.hideLoading();
|
||||
},
|
||||
|
||||
getGridList(startTime, dayNum) {
|
||||
// 获取当前日期
|
||||
const today = new Date();
|
||||
|
||||
const year = today.getFullYear();
|
||||
const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以需要+1
|
||||
const day = String(today.getDate()).padStart(2, '0');
|
||||
const todayString = `${year}-${month}-${day}`;
|
||||
|
||||
|
||||
// 将日期字符串转换为 Date 对象
|
||||
const startDate = new Date(startTime);
|
||||
|
||||
const dayList = Array.from({
|
||||
length: dayNum
|
||||
}, (_, index) => {
|
||||
// 创建一个新的 Date 对象,表示当前的天数
|
||||
const currentDate = new Date(startDate);
|
||||
currentDate.setDate(startDate.getDate() + index);
|
||||
|
||||
const currentDateString = currentDate.toISOString().split('T')[0]; // 格式化为 YYYY-MM-DD
|
||||
|
||||
|
||||
// 检查当前日期是否是今天
|
||||
const isToday = currentDateString === todayString;
|
||||
|
||||
// 格式化当前日期为 MM.DD
|
||||
const formattedDate = (`0${currentDate.getMonth() + 1}`).slice(-2) + '.' + (`0${currentDate.getDate()}`)
|
||||
.slice(-2);
|
||||
return {
|
||||
time: formattedDate,
|
||||
date: currentDateString,
|
||||
points: 1,
|
||||
today: isToday,
|
||||
}
|
||||
});
|
||||
this.pointsList = dayList;
|
||||
},
|
||||
|
||||
async getSignList(startTime, endTime, dayNum) {
|
||||
const res = await request(apiArr.signList, 'POST', {
|
||||
page_num: 1,
|
||||
page_size: dayNum,
|
||||
sign_date: [startTime, endTime]
|
||||
});
|
||||
const newRes = res.rows.map((item) => {
|
||||
return {
|
||||
...item,
|
||||
day: item.day.substring(0, 10),
|
||||
}
|
||||
});
|
||||
const updatedList = this.pointsList.map(item => {
|
||||
// 使用 some 检查 已签到列表 中是否有匹配的日期
|
||||
const isSign = newRes.some(dayObj => dayObj.day === item.date);
|
||||
|
||||
// 返回一个新的对象,包含原始字段和已签到的 isSign 字段
|
||||
return {
|
||||
...item,
|
||||
isSign: isSign
|
||||
};
|
||||
});
|
||||
|
||||
this.checkedData = res.total;
|
||||
this.pointsList = updatedList;
|
||||
},
|
||||
|
||||
|
||||
headerPointsClick() {
|
||||
NavgateTo('/packages/user/points/index', { isLogin: false })
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
const meun = menuButtonInfo();
|
||||
this.top = meun.height + meun.top;
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,19 +0,0 @@
|
||||
// 修改密码页面参数类型
|
||||
export const pageOptionType = {
|
||||
pay: {
|
||||
title: '已绑定手机号',
|
||||
defultDesc: '请输入绑定手机号',
|
||||
subTitle: '支付密码',
|
||||
defultSubDesc: '请输入支付密码',
|
||||
type: 'pay',
|
||||
btnText: '设置',
|
||||
},
|
||||
login: {
|
||||
title: '新设密码',
|
||||
defultDesc: '请输入新密码',
|
||||
subTitle: '确认密码',
|
||||
defultSubDesc: '请再次输入密码',
|
||||
type: 'login',
|
||||
btnText: '修改',
|
||||
}
|
||||
};
|
||||
@ -1,38 +0,0 @@
|
||||
.item{
|
||||
display:flex;
|
||||
border-bottom:1px solid #e6e6e6;
|
||||
height: 90rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin: 36rpx 50rpx 30rpx;
|
||||
}
|
||||
.item-title {
|
||||
font-weight: 400;
|
||||
color: #999999;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.input-desc {
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
text-align: right;
|
||||
}
|
||||
.tips {
|
||||
font-size: 24rpx;
|
||||
color: #222222;
|
||||
font-weight: 400;
|
||||
margin: 0 14rpx 40rpx 50rpx;
|
||||
}
|
||||
.desc {
|
||||
color: #FF512A;
|
||||
}
|
||||
.submit_reset {
|
||||
margin: 0 50rpx;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
background: #FF512A;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 36rpx;
|
||||
font-weight: 400;
|
||||
}
|
||||
@ -1,151 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="item">
|
||||
<view class="item-title">{{content.title}}</view>
|
||||
<!-- 修改支付密码输入框 -->
|
||||
<input v-if="content.type === 'pay'" class="input-desc" :value="cellPhone" type="number" maxlength="11" data-name='phone' @input="handerChangeClick" :placeholder='content.defultDesc' />
|
||||
|
||||
<!-- 修改登录密码输入框 -->
|
||||
<input v-if="content.type === 'login'" class="input-desc" password :value="cellPhone" data-name='phone' @input="handerChangeClick" :placeholder='content.defultDesc' />
|
||||
</view>
|
||||
|
||||
<view class="item">
|
||||
<view class="item-title">{{content.subTitle}}</view>
|
||||
<input class="input-desc" :value="passWord" data-name='pwd' password @input="handerChangeClick" :placeholder="content.defultSubDesc" />
|
||||
</view>
|
||||
<view class="tips">
|
||||
<text class="desc">提示:</text>
|
||||
如果您是微信登录的账户,请直接填写新密码,然后点击确认修改即可设置登录密码
|
||||
</view>
|
||||
|
||||
<!-- 修改支付密码禁用规则: 手机号不存在 或者 手机号不足11位 或者 密码不存在 则禁止点击 -->
|
||||
<button
|
||||
v-if="content.type === 'pay'"
|
||||
class="submit_reset"
|
||||
:disabled='!cellPhone || cellPhone.length !== 11 || !passWord'
|
||||
@click="handleSubmit"
|
||||
>
|
||||
确认{{content.btnText}}
|
||||
</button>
|
||||
<!-- 修改登录密码禁用规则:新密码不存在 或者 确认密码不存在 则禁止点击 -->
|
||||
<button
|
||||
v-if="content.type === 'login'"
|
||||
class="submit_reset"
|
||||
:disabled='!cellPhone || !passWord'
|
||||
@click="handleSubmit"
|
||||
>
|
||||
确认{{content.btnText}}
|
||||
</button>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request } from '../../../utils/index';
|
||||
import { pageOptionType } from './constant';
|
||||
import { apiArr } from '../../../api/user';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
cellPhone: null,
|
||||
passWord: null,
|
||||
type: '',
|
||||
content:{},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 修改输入框值
|
||||
handerChangeClick(event) {
|
||||
const {value} = event.detail;
|
||||
const {name} = event.currentTarget.dataset;
|
||||
if (name === 'phone') {
|
||||
this.cellPhone = value;
|
||||
};
|
||||
if (name === 'pwd') {
|
||||
this.passWord = value;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// 提交修改
|
||||
async handleSubmit() {
|
||||
/**
|
||||
* 参数场景说明:
|
||||
* 修改登录密码页面时,cellPhone 是新设密码,passWord 是确认密码
|
||||
* 修改支付密码页面时,cellPhone 是已绑定手机号,passWord 是支付密码
|
||||
*/
|
||||
const {cellPhone, passWord, type} = this;
|
||||
|
||||
if (type === 'login') {
|
||||
if (cellPhone !== passWord) {
|
||||
uni.showToast({
|
||||
title: '新密码与确认密码不一致',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
return
|
||||
}
|
||||
const res = await request(apiArr.modifyPass, "POST", {
|
||||
new_password: cellPhone,
|
||||
conform_password: passWord,
|
||||
});
|
||||
|
||||
uni.showToast({
|
||||
title: '修改登录密码成功',
|
||||
icon: 'success',
|
||||
success () {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}, 2000)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
if (type === 'pay') {
|
||||
const res = await request(apiArr.payPass, "POST", {
|
||||
mobile: cellPhone,
|
||||
pay_password: passWord,
|
||||
});
|
||||
|
||||
uni.showToast({
|
||||
title: '设置支付密码成功',
|
||||
icon: 'success',
|
||||
success () {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}, 2000)
|
||||
}
|
||||
})
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
onLoad(options) {
|
||||
// 基于父页面传递参数设置页面名称
|
||||
uni.setNavigationBarTitle({
|
||||
title: options.title
|
||||
});
|
||||
|
||||
// 根据父页面传递type参数映射页面渲染参数
|
||||
this.content = pageOptionType[options.type];
|
||||
this.type = options.type;
|
||||
},
|
||||
onShow() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,52 +0,0 @@
|
||||
.container {
|
||||
width: 754rpx;
|
||||
height: 1334rpx;
|
||||
overflow-x: hidden;
|
||||
/* position: relative; */
|
||||
background: url('https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/Group_756.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.icon {
|
||||
width: 752rpx;
|
||||
height: 1334rpx;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.main {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 886rpx;
|
||||
z-index: 10;
|
||||
}
|
||||
.qrcode {
|
||||
width: 255rpx;
|
||||
height: 255rpx;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.qrcode_pic {
|
||||
width: 255rpx;
|
||||
height: 255rpx;
|
||||
background: #D9D9D9;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.desc {
|
||||
margin-top: 32rpx;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
.share_btn {
|
||||
margin-top: 39rpx;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.save {
|
||||
display: inline-flex;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FF512A;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
border: 1rpx solid #FF512A;
|
||||
padding: 10rpx 70rpx;
|
||||
}
|
||||
@ -1,156 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="main">
|
||||
<view class="qrcode">
|
||||
<image class="qrcode_pic" :src="imagePath" mode="widthFix" />
|
||||
</view>
|
||||
<view class="desc">扫码体验小程序</view>
|
||||
<view class="share_btn">
|
||||
<view class="save" @click="headerQrcodeClick">保存二维码</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
picUrl,
|
||||
request
|
||||
} from '../../../utils';
|
||||
import {
|
||||
apiArr
|
||||
} from '../../../api/user';
|
||||
import permision from "../../../js_sdk/wa-permission/permission.js"
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
imagePath: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test_qrcode.jpg',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async init() {
|
||||
const res = await request(apiArr.createQrcode, 'POST', {
|
||||
page: '/page/index/index',
|
||||
scene: `device=${wx.getStorageSync('device_id')}`
|
||||
});
|
||||
let img = picUrl + res.data;
|
||||
console.log('img', img)
|
||||
this.imagePath = img;
|
||||
},
|
||||
|
||||
headerQrcodeClick() {
|
||||
console.log('2');
|
||||
const that = this;
|
||||
uni.downloadFile({
|
||||
url: that.imagePath, // 网络图片地址
|
||||
success: async (res) => {
|
||||
console.log('11312312313', res);
|
||||
if (res.statusCode === 200) {
|
||||
const tempFilePath = res.tempFilePath; // 获取临时文件路径
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
console.log('获取当前设备信息', systemInfo); //TODO: 代验证 ios 安卓是否可保存
|
||||
if (systemInfo.uniPlatform === 'mp-weixin') {
|
||||
// 2. 检查用户授权
|
||||
uni.getSetting({
|
||||
success(settingRes) {
|
||||
console.log('查询授权状态')
|
||||
if (!settingRes.authSetting['scope.writePhotosAlbum']) {
|
||||
// 未授权,请求授权
|
||||
uni.authorize({
|
||||
scope: 'scope.writePhotosAlbum',
|
||||
success() {
|
||||
// 授权成功,保存图片
|
||||
that.saveImageToAlbum(tempFilePath);
|
||||
},
|
||||
fail(err) {
|
||||
console.log('131111', err)
|
||||
// 授权失败,提示用户手动打开授权
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '需要授权保存图片到相册,请手动打开授权设置',
|
||||
success(modalRes) {
|
||||
if (modalRes.confirm) {
|
||||
uni.openSetting(); // 打开授权设置页面
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// 已授权,保存图片
|
||||
that.saveImageToAlbum(tempFilePath);
|
||||
}
|
||||
},
|
||||
fail(err) {
|
||||
console.log('检查用户授权错误', err);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (systemInfo.osName === 'ios') {
|
||||
const result = await permision.judgeIosPermission("photoLibrary");
|
||||
if (result == 1) {
|
||||
// strStatus = "已获得授权"
|
||||
that.saveImageToAlbum(tempFilePath);
|
||||
} else if (result == 0) {
|
||||
// strStatus = "未获得授权"
|
||||
permision.gotoAppPermissionSetting()
|
||||
} else {
|
||||
// strStatus = "被永久拒绝权限";
|
||||
permision.gotoAppPermissionSetting()
|
||||
}
|
||||
}
|
||||
if (systemInfo.osName === 'android') {
|
||||
const res = await permision.requestAndroidPermission('android.permission.WRITE_EXTERNAL_STORAGE');
|
||||
if (result == 1) {
|
||||
// strStatus = "已获得授权"
|
||||
that.saveImageToAlbum(tempFilePath);
|
||||
} else if (result == 0) {
|
||||
// strStatus = "未获得授权"
|
||||
permision.gotoAppPermissionSetting()
|
||||
} else {
|
||||
// strStatus = "被永久拒绝权限"
|
||||
permision.gotoAppPermissionSetting()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
fail() {
|
||||
uni.showToast({
|
||||
title: '图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
saveImageToAlbum(tempFilePath) {
|
||||
uni.saveImageToPhotosAlbum({
|
||||
filePath: tempFilePath,
|
||||
success() {
|
||||
uni.showToast({
|
||||
title: '保存成功',
|
||||
icon: 'success'
|
||||
});
|
||||
},
|
||||
fail() {
|
||||
uni.showToast({
|
||||
title: '保存失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
// this.init();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,49 +0,0 @@
|
||||
.upload {
|
||||
margin: 164rpx auto 58rpx;
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
background: #F9F9F9;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
border: 1rpx solid #999999;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.upload_img {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
}
|
||||
|
||||
.no_border {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.add {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 46rpx;
|
||||
height: 4rpx;
|
||||
background: #999999;
|
||||
}
|
||||
|
||||
.column {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 4rpx;
|
||||
height: 46rpx;
|
||||
background: #999999;
|
||||
}
|
||||
|
||||
.tips {
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.desc {
|
||||
color: #FF512A;
|
||||
}
|
||||
@ -1,87 +0,0 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view :class="['upload', picUrl && 'no_border' ]" @click="headerUploadClick">
|
||||
|
||||
<view v-if="!picUrl">
|
||||
<view class="add"></view>
|
||||
<view class="column"></view>
|
||||
</view>
|
||||
|
||||
<image v-if="picUrl" class="upload_img" :src="picUrl" mode="" />
|
||||
</view>
|
||||
<view class="tips">
|
||||
<text class="desc">提示:</text>
|
||||
建议大小300*300像素的图片
|
||||
</view>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, upload, picUrl as imageUrl } from '../../../utils/index';
|
||||
import { apiArr } from '../../../api/user';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
picUrl: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
headerUploadClick() {
|
||||
let _this = this;
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
uni.chooseMedia({
|
||||
count: 1,
|
||||
success(res) {
|
||||
console.log('123131', res);
|
||||
const tempFilePaths = res.tempFiles;
|
||||
|
||||
// 调用公共上传图片方法
|
||||
upload(tempFilePaths[0].tempFilePath,(res)=>{
|
||||
let datas = JSON.parse(res)
|
||||
console.log(datas.data);
|
||||
let url = imageUrl + datas.data.path
|
||||
_this.picUrl = url;
|
||||
|
||||
// 调用业务接口提交图片
|
||||
request(apiArr.avatar, "POST", {
|
||||
avatar: datas.data.path
|
||||
}, { silent: false, nested: true }).then((res) => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '上传头像成功',
|
||||
icon: 'success',
|
||||
mask: true,
|
||||
success() {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}, 1500)
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
fail(err) {
|
||||
console.log('拉起上传图片失败', err);
|
||||
uni.hideLoading();
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
142
pages.json
142
pages.json
@ -3,9 +3,9 @@
|
||||
{
|
||||
"path": "pages/index/index",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"navigationBarTitleText": "uni-app",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
"tes": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -14,28 +14,6 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/shopcity/shopcity",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/webview/webview",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/user/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
@ -94,7 +72,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"root": "packages/community",
|
||||
"root": "community",
|
||||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
@ -164,11 +142,6 @@
|
||||
"style": {
|
||||
"navigationBarBackgroundColor": "#F9F9F9"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "ownerList/index",
|
||||
"style": {
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -187,115 +160,6 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"root": "packages/user",
|
||||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "账户信息",
|
||||
"navigationBarBackgroundColor": "#F9F9F9",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "uploadAvatar/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "上传头像",
|
||||
"navigationBarBackgroundColor": "#F9F9F9",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "resetPwd/index",
|
||||
"style": {
|
||||
"navigationBarBackgroundColor": "#F9F9F9",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "points/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "积分",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pointsSign/index",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pointsRule/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "积分规则",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "marketing/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "营销推广",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "share/index",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"root": "packages/communityService",
|
||||
"pages": [
|
||||
{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "社区服务",
|
||||
"usingComponents": {
|
||||
"nav-footer": "/components/nav/nav"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "shopDetail/index",
|
||||
"style": {}
|
||||
},
|
||||
{
|
||||
"path": "serviceMore/index",
|
||||
"style": {}
|
||||
},
|
||||
{
|
||||
"path": "reservation/index",
|
||||
"style": {}
|
||||
},
|
||||
{
|
||||
"path": "reservationApply/index",
|
||||
"style": {
|
||||
"usingComponents": {
|
||||
"areaPopup": "/components/areaPopup/areaPopup"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
|
||||
@ -1,570 +0,0 @@
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 200rpx;
|
||||
width: 200rpx;
|
||||
margin-top: 200rpx;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 50rpx;
|
||||
}
|
||||
|
||||
.text-area {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
color: #8f8f94;
|
||||
}
|
||||
|
||||
|
||||
.nav-box {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
/* position: fixed; */
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar .nav-bar-left,
|
||||
.nav-box .nav-bar .nav-bar-right {
|
||||
padding: 0 20rpx;
|
||||
min-width: 36rpx;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar .nav-bar-left van-icon {
|
||||
vertical-align: sub;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar .nav-bar-title {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.nav-box .nav-bar-title {
|
||||
margin-left: -20rpx;
|
||||
}
|
||||
|
||||
.indexBg {
|
||||
width: 750rpx;
|
||||
height: 775rpx;
|
||||
position: absolute;
|
||||
top: -20rpx;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.searchBox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0 20rpx;
|
||||
margin-top: 35rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.searchBox_add {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.searchBox_add image {
|
||||
width: 33rpx;
|
||||
height: 33rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.iptbox {
|
||||
width: 480rpx;
|
||||
height: 60rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
padding: 0 15rpx;
|
||||
justify-content: space-between;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.iptbox image {
|
||||
width: 33rpx;
|
||||
height: 33rpx;
|
||||
}
|
||||
|
||||
.map {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 20rpx;
|
||||
color: #222222;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.map image {
|
||||
width: 31rpx;
|
||||
height: 31rpx;
|
||||
margin-bottom: 6rpx;
|
||||
}
|
||||
|
||||
.searchBox_msg {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.swiper {
|
||||
width: 710rpx;
|
||||
height: 300rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 30rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cirList {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 22rpx;
|
||||
transform: translateX(-50%);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.cir {
|
||||
width: 6rpx;
|
||||
height: 6rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #fff;
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
|
||||
.active {
|
||||
width: 12rpx;
|
||||
height: 6rpx;
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
|
||||
.tabList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
padding: 0 50rpx;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.tabItem {
|
||||
width: 33.33%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
margin-bottom: 46rpx;
|
||||
height: 100rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.tabImg {
|
||||
width: 54rpx;
|
||||
max-height: 54rpx;
|
||||
height: 54rpx;
|
||||
}
|
||||
|
||||
.tabImg image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.Tit {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
margin-left: 20rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.serverList {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
margin-left: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.serverItem {
|
||||
border-radius: 30rpx;
|
||||
width: 345rpx;
|
||||
height: 188rpx;
|
||||
box-sizing: border-box;
|
||||
padding-top: 30rpx;
|
||||
padding-left: 40rpx;
|
||||
font-weight: bold;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
position: relative;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.serverItem1 {
|
||||
background: linear-gradient(139deg, #FEF4F4 0%, #FEDCD2 100%);
|
||||
}
|
||||
|
||||
.serverItem2 {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.serverItem3 {
|
||||
background: linear-gradient(139deg, #FEFBF4 0%, #FEEFD2 100%);
|
||||
}
|
||||
|
||||
.serverItem4 {
|
||||
background: #EFF3FF;
|
||||
}
|
||||
|
||||
.serverItem1 image {
|
||||
position: absolute;
|
||||
right: 13rpx;
|
||||
top: 25rpx;
|
||||
width: 172rpx;
|
||||
height: 172rpx;
|
||||
}
|
||||
|
||||
.serverItem2 image {
|
||||
position: absolute;
|
||||
right: 12rpx;
|
||||
top: 57rpx;
|
||||
width: 190rpx;
|
||||
height: 127rpx;
|
||||
}
|
||||
|
||||
.serverItem3 image {
|
||||
width: 138rpx;
|
||||
height: 123rpx;
|
||||
position: absolute;
|
||||
right: 30rpx;
|
||||
top: 50rpx;
|
||||
}
|
||||
|
||||
.serverItem4 image {
|
||||
width: 143rpx;
|
||||
height: 143rpx;
|
||||
position: absolute;
|
||||
top: 37rpx;
|
||||
right: 16rpx;
|
||||
}
|
||||
|
||||
.List_tabList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0 20rpx;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.List_tabItem {
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #555555;
|
||||
margin-right: 60rpx;
|
||||
}
|
||||
|
||||
.List_active {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.List_active::after {
|
||||
width: 63rpx;
|
||||
height: 10rpx;
|
||||
background: #FF512A;
|
||||
border-radius: 0rpx;
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -10rpx;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.List_active::before {
|
||||
content: '';
|
||||
width: 63rpx;
|
||||
height: 10rpx;
|
||||
background: #FF512A;
|
||||
border-radius: 0rpx;
|
||||
filter: blur(6.599999904632568rpx);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -10rpx;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.List {
|
||||
margin: 0 20rpx;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.List_Item {
|
||||
padding-top: 10rpx;
|
||||
padding-bottom: 30rpx;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.List .List_Item:last-of-type .Item_msg {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.Item_img {
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
border-radius: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.Item_msg {
|
||||
flex: 1;
|
||||
padding-bottom: 55rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.Item_top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.Item_top_name {
|
||||
font-weight: 400;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.Item_top_apart {
|
||||
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #a8682bcc;
|
||||
}
|
||||
|
||||
.Item_sceond {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #555555;
|
||||
margin-top: 15rpx;
|
||||
}
|
||||
|
||||
.Item_third {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 18rpx;
|
||||
}
|
||||
|
||||
.Item_third image {
|
||||
width: 24rpx;
|
||||
height: 26rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.Item_fourth {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.Item_fourth_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.Item_fourth_right {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #FFFFFF;
|
||||
width: 150rpx;
|
||||
height: 50rpx;
|
||||
background: #D5AC66;
|
||||
border-radius: 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.Item_fourth_left1 {
|
||||
width: 110rpx;
|
||||
height: 40rpx;
|
||||
background: rgba(255, 81, 42, 0.1);
|
||||
border-radius: 100rpx;
|
||||
margin-right: 4rpx;
|
||||
}
|
||||
|
||||
.Item_fourth_left1 {
|
||||
width: 110rpx;
|
||||
height: 40rpx;
|
||||
background: rgba(255, 81, 42, 0.1);
|
||||
border-radius: 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #555555;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.Item_fourth_left2 {
|
||||
width: 110rpx;
|
||||
height: 40rpx;
|
||||
background: #FFF2DA;
|
||||
border-radius: 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
background: #FFF2DA;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.Item_fourth_left1 image {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-right: 4rpx;
|
||||
}
|
||||
|
||||
.Item_fourth_left2 image {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-right: 4rpx;
|
||||
}
|
||||
|
||||
.list {
|
||||
margin-top: 36rpx;
|
||||
}
|
||||
|
||||
.item_tit {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0 20rpx;
|
||||
margin-bottom: 32rpx;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.item_tit_left {
|
||||
font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.item_tit_right {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #D5AC66;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item_tit_right image {
|
||||
width: 12rpx;
|
||||
height: 22rpx;
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 0 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_tit {
|
||||
width: 180rpx;
|
||||
height: 180rpx;
|
||||
margin-right: 30rpx;
|
||||
margin-left: 19rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_name {
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #222222;
|
||||
margin-top: 20rpx;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_msg {
|
||||
font-weight: 400;
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
margin-top: 6rpx;
|
||||
margin-left: 13rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_msg view {
|
||||
font-weight: 500;
|
||||
font-size: 36rpx;
|
||||
}
|
||||
|
||||
.item_goodsItem_msg text {
|
||||
font-size: 22rpx;
|
||||
color: #FF512A;
|
||||
}
|
||||
|
||||
.item_goodsList {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
.list_item {
|
||||
padding-bottom: 32rpx;
|
||||
border-bottom: 1rpx solid #E6E6E6;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
background: rgba(255, 81, 42, 0.1);
|
||||
border-radius: 100rpx;
|
||||
padding: 7rpx 22rpx 7rpx 0;
|
||||
}
|
||||
|
||||
.mobile {
|
||||
background: #FFF2DA;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
@ -1,484 +1,94 @@
|
||||
<template>
|
||||
<view class="box" :style="{paddingTop: top + 'px'}">
|
||||
|
||||
<!-- 背景图 -->
|
||||
<view class="indexBg">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Index_bg.png" mode="widthFix" />
|
||||
<view class="content">
|
||||
<image class="logo" src="/static/logo.png"></image>
|
||||
<view class="text-area">
|
||||
|
||||
<tes></tes>
|
||||
|
||||
<button @click="meth1">厨房</button>
|
||||
<button @click="meth2">预约</button>
|
||||
<button @click="meth4">社区</button>
|
||||
<button @click="meth3">登录</button>
|
||||
</view>
|
||||
|
||||
<!-- 搜索框部分 -->
|
||||
<view class="searchBox">
|
||||
<view class="searchBox_add" @tap="map">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Index_add.png" mode="widthFix" />
|
||||
<view v-if="!currentCity.city">
|
||||
{{city ? city.city : '选择城市'}}
|
||||
</view>
|
||||
<view v-if="currentCity.city">
|
||||
{{currentCity.city}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="searchBox_msg">
|
||||
<view class="iptbox">
|
||||
<input type="text" v-model="iptMsg" @input="iptChange" />
|
||||
<image @tap="searchCurrent"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/dervice/deriveSearch.png"
|
||||
mode="widthFix" />
|
||||
</view>
|
||||
<view class="map" @tap="opMap">
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Index_map.png" mode="widthFix" />
|
||||
地图
|
||||
</view>
|
||||
</view>
|
||||
<view class="text-area">
|
||||
<button @click="meth5">商家核销</button>
|
||||
<button @click="meth6">核销列表</button>
|
||||
</view>
|
||||
|
||||
<!-- 轮播图 -->
|
||||
<view class="swiper">
|
||||
<swiper @animationfinish="swipers">
|
||||
<swiper-item v-for="(item, index) in bannerList" :key="index" @click="details(item)">
|
||||
<image :src="item.pic_src" mode="widthFix" />
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
|
||||
<view class="cirList">
|
||||
<view :class="['cir', currentIdx == index ? 'active' : '']" v-for="(item, index) in bannerList" :key="index">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 标签列表 -->
|
||||
<view class="tabList">
|
||||
<view class="tabItem" v-for="(item, index) in tabList" :key="index" @tap="desc" :data-url="item.link_url">
|
||||
<view class="tabImg">
|
||||
<image :src="item.icon_src" mode="aspectFill" />
|
||||
</view>
|
||||
<view class="tabname">{{item.title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
<!-- 精选服务 -->
|
||||
<view class="Tit">精选服务</view>
|
||||
<view class="serverList">
|
||||
<view class="serverItem serverItem1" @tap="cf">
|
||||
<view class="serverTit">榴园厨房</view>
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/server_img1.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="serverItem serverItem2" @tap="wybx">
|
||||
<view class="serverTit">物业报修</view>
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/server_img2.png" mode="widthFix" />
|
||||
</view>
|
||||
<view class="serverItem serverItem3" @tap="shopEnter">
|
||||
<view class="serverTit">商家入驻</view>
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/indexSubcontract/_assets/Merchantsettlement.png"
|
||||
mode="widthFix" />
|
||||
</view>
|
||||
<view class="serverItem serverItem4" @tap="water_filter">
|
||||
<view class="serverTit">人人爱净水</view>
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/server_img4.png" mode="widthFix" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 列表选项卡 -->
|
||||
<view class="List_tabList">
|
||||
<view :class="['List_tabItem', current == 0 ? 'List_active' : '']" @tap="changeCurrent" data-idx="0">小区</view>
|
||||
<view :class="['List_tabItem', current == 1 ? 'List_active' : '']" @tap="changeCurrent" data-idx="1">服务</view>
|
||||
<view :class="['List_tabItem', current == 2 ? 'List_active' : '']" @tap="changeCurrent" data-idx="2">店铺</view>
|
||||
<view :class="['List_tabItem', current == 3 ? 'List_active' : '']" @tap="changeCurrent" data-idx="3">团购</view>
|
||||
<view :class="['List_tabItem', current == 4 ? 'List_active' : '']" @tap="changeCurrent" data-idx="4">预定</view>
|
||||
</view>
|
||||
|
||||
<!-- 列表内容 -->
|
||||
<view class="List" v-if="current == 0">
|
||||
<tabularCard v-for="(item, index) in CommunityList" :key="index" :item="item"
|
||||
:isLast="index === CommunityList.length -1" />
|
||||
</view>
|
||||
|
||||
<view class="list" v-if="current == 1">
|
||||
<view class="item_goodsItem" v-if="serverList.length > 0" v-for="(items, index) in serverList" :key="index"
|
||||
@tap="ServerDesc" :data-appid="items.appoint_id">
|
||||
<view class="item_goodsItem_tit">
|
||||
<image :src="picUrl + item.photo" mode="aspectFill" />
|
||||
</view>
|
||||
<view style="flex: 1;">
|
||||
<view class="item_goodsItem_name">{{items.title}}</view>
|
||||
<view class="item_goodsItem_msg">
|
||||
¥
|
||||
<view>{{items.price}}</view>
|
||||
<text>/{{items.unit}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<van-empty v-if="serverList.length == 0" description="暂无内容" />
|
||||
</view>
|
||||
|
||||
<view class="empty" v-if="current != 0 && current != 1">
|
||||
<van-empty description="暂无内容" />
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import {
|
||||
NavgateTo
|
||||
} from '../../utils/index';
|
||||
|
||||
import {
|
||||
util,
|
||||
picUrl,
|
||||
request,
|
||||
menuButtonInfo
|
||||
} from '../../utils/index.js';
|
||||
import {
|
||||
apiArr
|
||||
} from '../../api/community.js';
|
||||
import {
|
||||
apiArr as apiArr2
|
||||
} from '../../api/doorToDoor.js'
|
||||
|
||||
import nav from '../../components/nav/nav'; //1.导入组件
|
||||
|
||||
|
||||
import { NavgateTo } from '../../utils/index';
|
||||
|
||||
|
||||
export default {
|
||||
components: {
|
||||
nav
|
||||
}, //2.注册组件
|
||||
data() {
|
||||
return {
|
||||
s: uni.getSystemInfoSync().statusBarHeight, // 状态栏高度
|
||||
n: (uni.getMenuButtonBoundingClientRect().top - uni.getSystemInfoSync().statusBarHeight) * 2 + uni
|
||||
.getMenuButtonBoundingClientRect().height, // 导航栏高度
|
||||
t: uni.getMenuButtonBoundingClientRect().top, // 胶囊局顶部距离
|
||||
h: uni.getMenuButtonBoundingClientRect().height, // 胶囊高度
|
||||
picUrl: picUrl,
|
||||
city: "",
|
||||
qqmap_key: '',
|
||||
tabList: [
|
||||
// ... 保持原有tabList数据不变 ...
|
||||
],
|
||||
current: 0,
|
||||
flag: false,
|
||||
page_num: 1,
|
||||
page_size: 10,
|
||||
serverList: [], // 服务列表
|
||||
CommunityList: [], // 小区列表
|
||||
iptMsg: "",
|
||||
bannerList: [],
|
||||
currentIdx: 0,
|
||||
currentCity: "",
|
||||
city: "",
|
||||
top: 0,
|
||||
userlocat: "",
|
||||
|
||||
bannerList: [],
|
||||
buttonList: [],
|
||||
|
||||
tabList: [{
|
||||
img: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img1.png",
|
||||
name: "社区列表",
|
||||
url: "/packages/community/communityList/index?title=社区列表&types=2"
|
||||
},
|
||||
{
|
||||
img: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img2.png",
|
||||
name: "社区服务",
|
||||
url: "/packages/doorToDoor/pages/doorToDoor/doorToDoor"
|
||||
},
|
||||
{
|
||||
img: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img3.png",
|
||||
name: "周边商家",
|
||||
url: "/packages/roundMechant/pages/roundMechant/roundMechant"
|
||||
},
|
||||
// {
|
||||
// img:"https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img4.png",
|
||||
// name:"社区团购",
|
||||
// // url:"/packages/GropBuy/pages/GropBuy"
|
||||
// },
|
||||
// {
|
||||
// img:"https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img5.png",
|
||||
// name:"餐饮美食",
|
||||
// url:"/packages/food/pages/food/food"
|
||||
// },
|
||||
{
|
||||
img: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img6.png",
|
||||
name: "智慧康养",
|
||||
url: "/packages/health/pages/health/health"
|
||||
},
|
||||
{
|
||||
img: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img11.png",
|
||||
name: "我的预约",
|
||||
url: "/packages/myReservation/pages/myReservation/myReservation"
|
||||
},
|
||||
{
|
||||
img: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img8.png",
|
||||
name: "便民服务",
|
||||
url: "/packages/ConvenServer/ConvenServer/pages/ConvenServer/ConvenServer"
|
||||
},
|
||||
// {
|
||||
// img:"https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img9.png",
|
||||
// name:"积分兑换",
|
||||
// // url:"/packages/indexSubcontract/pointExchange/index"
|
||||
// },
|
||||
// {
|
||||
// img:"https://wechat-img-file.oss-cn-beijing.aliyuncs.com/tabItem_img10.png",
|
||||
// name:"官方商城",
|
||||
// url:"/packages/official/index/index"
|
||||
// },
|
||||
],
|
||||
title: 'Hello',
|
||||
currentCity: "",
|
||||
title: 'Hello'
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
|
||||
onShow() {
|
||||
|
||||
if (uni.getStorageSync('city')) {
|
||||
this.currentCity = {
|
||||
city: uni.getStorageSync('city')
|
||||
};
|
||||
} else {
|
||||
uni.setStorageSync('city', uni.getStorageSync('Usercity'))
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
swipers(e) {
|
||||
this.currentIdx = e.detail.current
|
||||
},
|
||||
getBanner() {
|
||||
request(apiArr2.getBanner, "POST", {}).then(res => {
|
||||
this.bannerList = res.list
|
||||
})
|
||||
},
|
||||
iptChange(e) {
|
||||
this.iptMsg = e.detail.value
|
||||
},
|
||||
searchCurrent() {
|
||||
this.flag = false
|
||||
this.page_num = 1
|
||||
this.serverList = []
|
||||
this.current = 1
|
||||
this.getServerList()
|
||||
},
|
||||
opMap() {
|
||||
uni.chooseLocation({
|
||||
success(res) {
|
||||
console.log(res)
|
||||
}
|
||||
})
|
||||
},
|
||||
map() {
|
||||
// if (uni.getStorageSync('userId')) {
|
||||
uni.redirectTo({
|
||||
url: '/pages/shopcity/shopcity'
|
||||
});
|
||||
// } else {
|
||||
// uni.navigateTo({
|
||||
// url: '/pages/login/login'
|
||||
// })
|
||||
// }
|
||||
},
|
||||
getCommunityList() {
|
||||
let that = this;
|
||||
request(apiArr.list, "POST", {
|
||||
page_num: that.page_num,
|
||||
page_size: that.page_size
|
||||
}).then(res => {
|
||||
let flag = false;
|
||||
if (res.rows && res.rows.length == that.page_size) {
|
||||
flag = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
res.rows.forEach(item=>{
|
||||
item.pic = this.picUrl + item.pic
|
||||
})
|
||||
that.CommunityList = that.CommunityList.concat(res.rows || []);
|
||||
that.flag = flag;
|
||||
that.page_num = that.page_num + 1;
|
||||
console.log(that.CommunityList);
|
||||
});
|
||||
},
|
||||
getHostInfo() {
|
||||
const that = this;
|
||||
uni.request({
|
||||
url: apiArr.get_host_info,
|
||||
method: 'POST',
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
dataType: 'json',
|
||||
success: (result) => {
|
||||
let wxapp = result.data.all.wxapp;
|
||||
if (wxapp) {
|
||||
this.qqmap_key = wxapp.qqmap_key;
|
||||
this.getUserLocation();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
changeCurrent(e) {
|
||||
const idx = e.currentTarget.dataset.idx;
|
||||
this.current = idx;
|
||||
this.flag = false;
|
||||
this.page_num = 1;
|
||||
this.serverList = [];
|
||||
this.CommunityList = [];
|
||||
this.iptMsg = '';
|
||||
|
||||
if (idx == 0) {
|
||||
this.getCommunityList();
|
||||
} else if (idx == 1) {
|
||||
this.getServerList();
|
||||
}
|
||||
},
|
||||
|
||||
getUserLocation() {
|
||||
let that = this
|
||||
const {
|
||||
qqmap_key
|
||||
} = this;
|
||||
let userlocat = uni.getStorageSync('userlocat');
|
||||
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
success: (res) => {
|
||||
const latitude = res.latitude;
|
||||
const longitude = res.longitude;
|
||||
uni.request({
|
||||
url: `https://apis.map.qq.com/ws/geocoder/v1/?location=${res.latitude},${res.longitude}&key=${qqmap_key}&get_poi=0`,
|
||||
success: function(res) {
|
||||
var city = res.data.result.address_component.city;
|
||||
userlocat = {
|
||||
userlat: latitude,
|
||||
userlng: longitude,
|
||||
city: city,
|
||||
};
|
||||
that.city = userlocat;
|
||||
uni.setStorageSync('userlocat', userlocat);
|
||||
uni.setStorageSync('Usercity', city);
|
||||
},
|
||||
fail(err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getBannerList() {
|
||||
let that = this
|
||||
request(apiArr.getBanner, "POST", {
|
||||
agent_user_id: uni.getStorageSync('userId') || 67
|
||||
}).then(res => {
|
||||
|
||||
if (res.rows.length) {
|
||||
res.rows.forEach(item => {
|
||||
item.pic_src = this.picUrl + item.pic_src
|
||||
})
|
||||
this.bannerList = res.rows
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
details(e) {
|
||||
if (e.link_url) {
|
||||
// #ifdef APP-PLUS
|
||||
uni.navigateTo({
|
||||
url: '/pages/webview/webview?url=' + encodeURIComponent(e.link_url)
|
||||
});
|
||||
// #endif
|
||||
|
||||
// #ifdef H5
|
||||
window.open(e.link_url, '_blank');
|
||||
// #endif
|
||||
|
||||
// #ifdef MP-WEIXIN || MP-ALIPAY || MP-BAIDU
|
||||
// 小程序中可能需要用户手动复制链接或使用web-view
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '即将打开外部链接,请复制后在浏览器中打开: ' + e.link_url,
|
||||
confirmText: '复制链接',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
uni.setClipboardData({
|
||||
data: e.link_url,
|
||||
success() {
|
||||
uni.showToast({
|
||||
title: '复制成功',
|
||||
icon: 'success'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
// #endif
|
||||
}
|
||||
},
|
||||
|
||||
getButtonList() {
|
||||
let that = this
|
||||
request(apiArr.getButton, "POST", {
|
||||
agent_user_id: uni.getStorageSync('userId') || 67
|
||||
}).then(res => {
|
||||
if (res.rows.length) {
|
||||
res.rows.forEach(item => {
|
||||
item.icon_src = this.picUrl + item.icon_src
|
||||
})
|
||||
|
||||
this.tabList = res.rows
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
desc(e) {
|
||||
meth1(){
|
||||
console.log(1);
|
||||
uni.navigateTo({
|
||||
url: e
|
||||
url: '/kitchen/index/index',
|
||||
success: res => {},
|
||||
fail: () => {},
|
||||
complete: () => {}
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
onLoad(options) {
|
||||
this.getCommunityList()
|
||||
this.getHostInfo()
|
||||
const meun = menuButtonInfo();
|
||||
this.top = meun.height + meun.top;
|
||||
|
||||
this.getButtonList()
|
||||
this.getBannerList()
|
||||
},
|
||||
onShow() {
|
||||
if (uni.getStorageSync('city')) {
|
||||
let obj = {
|
||||
city: uni.getStorageSync('city')
|
||||
}
|
||||
this.currentCity = obj
|
||||
} else {
|
||||
uni.setStorageSync('city', uni.getStorageSync('Usercity'))
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.current == 0) {
|
||||
if (this.flag) {
|
||||
this.getCommunityList()
|
||||
}
|
||||
} else if (this.current == 1) {
|
||||
if (this.flag) {
|
||||
this.getServerList()
|
||||
}
|
||||
}
|
||||
meth2(){
|
||||
console.log(2);
|
||||
uni.navigateTo({
|
||||
url: '/reservation/index/index',
|
||||
success: res => {},
|
||||
fail: () => {},
|
||||
complete: () => {}
|
||||
});
|
||||
},
|
||||
meth3() {
|
||||
NavgateTo('/pages/login/login', { isLogin: false})
|
||||
},
|
||||
meth4() {
|
||||
NavgateTo('/community/index/index', { isLogin: false})
|
||||
},
|
||||
meth5() {
|
||||
NavgateTo('/shopWrite/index/index', { isLogin: false})
|
||||
},
|
||||
meth6() {
|
||||
NavgateTo('/shopWrite/list/index', { isLogin: false})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 200rpx;
|
||||
width: 200rpx;
|
||||
margin-top: 200rpx;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-bottom: 50rpx;
|
||||
}
|
||||
|
||||
.text-area {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 36rpx;
|
||||
color: #8f8f94;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,436 +0,0 @@
|
||||
<template>
|
||||
<view class="wrapper">
|
||||
<view class="itemwrap">
|
||||
<text class="title">当前选择城市</text>
|
||||
<view class="listwrap">
|
||||
<view class="itemlist" @tap="goShopList" :data-id="shopArea[address].area_id" :data-name="address">
|
||||
<view class="itemTitle">{{address}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="itemwrap">
|
||||
<text class="title">当前定位城市</text>
|
||||
<view class="listwrap">
|
||||
<view class="itemlist" @tap="goShopList" :data-id="shopArea[address].area_id" :data-name="Usercity">
|
||||
<view class="itemTitle">{{Usercity}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="itemwrap">
|
||||
<text class="title">已开通城市</text>
|
||||
<view class="listwrap">
|
||||
<view class="itemlist" @tap="goShopList" data-id="0" data-name="全部">
|
||||
<view class="itemTitle">全部</view>
|
||||
</view>
|
||||
<view class="itemlist" v-for="(item, index) in shopArea" :key="index" @tap="goShopList" :data-id="item.area_id" :data-name="item.area_name">
|
||||
<view class="itemTitle">{{item.area_name}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import {apiArr} from '../../api/community.js';
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
shopArea: [],
|
||||
address: '定位中',
|
||||
lat: '',
|
||||
lng: '',
|
||||
qqmap_key: '',
|
||||
Usercity: '',
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.getHostInfo();
|
||||
this.getAddress();
|
||||
this.getShopAreaList();
|
||||
this.Usercity = uni.getStorageSync('Usercity');
|
||||
},
|
||||
methods: {
|
||||
getHostInfo() {
|
||||
uni.request({
|
||||
url: apiArr.get_host_info,
|
||||
method: 'POST',
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
success: (result) => {
|
||||
let wxapp = result.data.all.wxapp;
|
||||
if (wxapp.qqmap_key) {
|
||||
this.qqmap_key = wxapp.qqmap_key;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
getAddress() {
|
||||
let userlocat = uni.getStorageSync('userlocat');
|
||||
let nowtime = Date.parse(new Date()) / 1000;
|
||||
|
||||
if (!userlocat || userlocat.overtime < nowtime || !userlocat.city) {
|
||||
uni.showLoading({
|
||||
title: '定位中...'
|
||||
});
|
||||
uni.getLocation({
|
||||
success: (res) => {
|
||||
let overtime = Date.parse(new Date()) / 1000 + 7200;
|
||||
this.lat = res.latitude;
|
||||
this.lng = res.longitude;
|
||||
|
||||
if (this.qqmap_key) {
|
||||
uni.request({
|
||||
url: `https://apis.map.qq.com/ws/geocoder/v1/?location=${res.latitude},${res.longitude}&key=${this.qqmap_key}&get_poi=0`,
|
||||
success: (res) => {
|
||||
let city = res.data.result.address_component.city;
|
||||
uni.setStorageSync('city', city);
|
||||
if (city) {
|
||||
this.address = city;
|
||||
let area = this.shopArea;
|
||||
if (typeof area[city] !== 'undefined') {
|
||||
// setData(this, 'area_id', area[city]['area_id']);
|
||||
}
|
||||
}
|
||||
userlocat = {
|
||||
userlat: this.lat,
|
||||
userlng: this.lng,
|
||||
overtime: overtime,
|
||||
city: city
|
||||
};
|
||||
uni.setStorageSync('userlocat', userlocat);
|
||||
uni.hideLoading();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
uni.request({
|
||||
url: apiArr.get_maps_geocoder,
|
||||
success: (res) => {
|
||||
let city = res.data.city;
|
||||
if (city) {
|
||||
this.address = city;
|
||||
let area = this.shopArea;
|
||||
if (typeof area[city] !== 'undefined') {
|
||||
// setData(this, 'area_id', area[city]['area_id']);
|
||||
}
|
||||
}
|
||||
userlocat = {
|
||||
userlat: this.lat,
|
||||
userlng: this.lng,
|
||||
overtime: overtime,
|
||||
city: city
|
||||
};
|
||||
uni.setStorageSync('userlocat', userlocat);
|
||||
uni.hideLoading();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
uni.request({
|
||||
url: apiArr.setcookie_location,
|
||||
method: 'POST',
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: userlocat,
|
||||
success: (result) => {
|
||||
console.log(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
let address = uni.getStorageSync('city') || userlocat.city;
|
||||
this.address = address;
|
||||
}
|
||||
},
|
||||
getShopAreaList() {
|
||||
|
||||
console.log(apiArr.get_community_area_list);
|
||||
uni.showLoading({
|
||||
title: '加载中...'
|
||||
});
|
||||
uni.request({
|
||||
url: apiArr.get_community_area_list,
|
||||
method: 'GET',
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
success: (result) => {
|
||||
console.log(result);
|
||||
|
||||
let {
|
||||
data: {
|
||||
list
|
||||
}
|
||||
} = result;
|
||||
if (list) {
|
||||
this.shopArea = list
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
fail(err) {
|
||||
console.log(err);
|
||||
},
|
||||
complete: () => uni.hideLoading()
|
||||
});
|
||||
},
|
||||
goShopList(event) {
|
||||
let area_id = event.currentTarget.dataset.id;
|
||||
let name = event.currentTarget.dataset.name;
|
||||
if (name == '定位中') {
|
||||
this.getAddress();
|
||||
return;
|
||||
}
|
||||
|
||||
const pages = getCurrentPages();
|
||||
const prevPage = pages[pages.length - 2];
|
||||
area_id = area_id || '';
|
||||
|
||||
const userlocat = uni.getStorageSync('userlocat');
|
||||
userlocat.city = name;
|
||||
uni.setStorageSync('userlocat', userlocat);
|
||||
uni.setStorageSync('city', name);
|
||||
|
||||
prevPage.setData({
|
||||
area_id: area_id,
|
||||
address: name
|
||||
});
|
||||
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
success: (res) => {
|
||||
console.log('返回成功', res);
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('返回失败', err);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.top_nav {
|
||||
margin-left: 16px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-top: 24px;
|
||||
}
|
||||
|
||||
.nav-name {
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
width: 16.66%;
|
||||
text-align: center;
|
||||
line-height: 28px;
|
||||
flex-direction: column;
|
||||
display: inline-flex;
|
||||
height: 60px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* .nav-hover {
|
||||
font-weight: 600;
|
||||
border-bottom: 3px solid #D3BA77;
|
||||
} */
|
||||
|
||||
.nav-hover::after {
|
||||
content: " ";
|
||||
width: 30%;
|
||||
height: 4px;
|
||||
background: #D3BA77;
|
||||
position: absolute;
|
||||
bottom: 1px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.nav-date {
|
||||
width: 16.66%;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
flex-direction: column;
|
||||
display: inline-flex;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.nav-date image {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin-top: 20px;
|
||||
border-radius: 10px 10px 0 0;
|
||||
}
|
||||
|
||||
.itemwrap {
|
||||
margin-top: 0;
|
||||
border-radius: 10px 10px 0 0;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.itemwrap .title {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.itemwrap,
|
||||
.listwrap {
|
||||
height: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.listwrap {
|
||||
margin: 10px auto;
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
.itemlist {
|
||||
margin: 5px 1.5%;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
width: 30.33%;
|
||||
float: left;
|
||||
text-align: center;
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
.itemTitle {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.intro {
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.intro-left {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.room-img {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.room-intro {
|
||||
margin-left: 8px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.room-name {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.room-price {
|
||||
font-size: 14px;
|
||||
margin-top: 5px;
|
||||
color: #D3BA77;
|
||||
}
|
||||
|
||||
.room-nume {
|
||||
font-size: 12px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.in-free {
|
||||
float: right;
|
||||
border: 1px solid #6F9473;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.in-use {
|
||||
float: right;
|
||||
border: 1px solid #DB8259;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.use {
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
|
||||
.use text {
|
||||
line-height: 35px;
|
||||
font-size: 16px;
|
||||
color: #FFFFFF;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.in {
|
||||
width: 52px;
|
||||
height: 17px;
|
||||
}
|
||||
|
||||
.in text {
|
||||
line-height: 17px;
|
||||
font-size: 10px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.notes {
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
.color-card {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.card-list {
|
||||
border-radius: 2px;
|
||||
margin: 4px 0 0 24px;
|
||||
}
|
||||
|
||||
.color-card text {
|
||||
margin-left: 6px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.endtime {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.endtime text {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.timeline {
|
||||
display: flex;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 4.3%
|
||||
}
|
||||
|
||||
.line-card {
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.line text {
|
||||
font-size: 10px;
|
||||
margin-top: 4px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
@ -1,150 +0,0 @@
|
||||
.conatiner {
|
||||
height: 100%;
|
||||
background: linear-gradient(to bottom, #FFE7E1, #FFFFFF);
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
padding-top: 20rpx;
|
||||
padding-bottom: 20%;
|
||||
}
|
||||
|
||||
/* 头部 */
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 25rpx;
|
||||
/* margin-top: 83rpx; */
|
||||
margin-bottom: 30rpx;
|
||||
pointer-events: none;
|
||||
}
|
||||
/* 头像 */
|
||||
.avatar-container {
|
||||
display: flex;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
background-color: #FF7354;
|
||||
margin-right: 30rpx;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
pointer-events: auto;
|
||||
}
|
||||
/* 头像图片 */
|
||||
.avatar {
|
||||
/* width: 100%;
|
||||
height: 100%; */
|
||||
width: 73rpx;
|
||||
height: 69rpx;
|
||||
/* margin-bottom: 20rpx; */
|
||||
pointer-events: auto;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
}
|
||||
/* 登录/注册 */
|
||||
.login-btn {
|
||||
font-size: 36rpx;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.section {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
margin-left: 20rpx;
|
||||
margin-right: 20rpx;
|
||||
margin-bottom: 21rpx;
|
||||
}
|
||||
.order {
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
.nav_icon {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.grid-text {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
width: 48%;
|
||||
height: 150rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 30rpx;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
/* padding-left: 28rpx; */
|
||||
}
|
||||
|
||||
.item1 {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
width: 100%;
|
||||
height: 220rpx;
|
||||
background-color: #FFFFFF;
|
||||
align-items: center;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.item-owner {
|
||||
margin:0 116rpx 0 116rpx;
|
||||
}
|
||||
|
||||
.item-icon {
|
||||
width: 150rpx;
|
||||
height: 98rpx;
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
|
||||
.item-icon1 {
|
||||
width: 150rpx;
|
||||
height: 120rpx;
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
|
||||
.icon-img {
|
||||
display: flex;
|
||||
width: 72rpx;
|
||||
height: 72rpx;
|
||||
flex-direction: column;
|
||||
margin-bottom: 28rpx;
|
||||
margin-left: 17%;
|
||||
}
|
||||
|
||||
.item-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-left: 28rpx;
|
||||
}
|
||||
|
||||
.title-item {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.item-title {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5rpx;
|
||||
}
|
||||
|
||||
.item-subtitle {
|
||||
font-size: 20rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
margin-top: 29rpx;
|
||||
margin-left: 22rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
.uicon-volume {
|
||||
font-size: 28rpx !important;
|
||||
}
|
||||
.u-grid-item {
|
||||
margin-bottom: 43rpx;
|
||||
}
|
||||
@ -1,333 +0,0 @@
|
||||
<template>
|
||||
<view class="conatiner" :style="{paddingTop: top + 'px'}">
|
||||
<view class="header" @click="toLogin">
|
||||
<view class="avatar-container">
|
||||
<image class="avatar"
|
||||
:src="userInfo.userPic || 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_309.png'"
|
||||
mode="" />
|
||||
</view>
|
||||
<view class="login-btn">{{userInfo.user_name ? userInfo.user_name : '登录/注册'}}</view>
|
||||
</view>
|
||||
|
||||
<view class="section">
|
||||
<view class="item" @click="handlePointsClick">
|
||||
<view class="item-content">
|
||||
<text class="item-title">积分</text>
|
||||
<text class="item-subtitle">我的剩余积分</text>
|
||||
</view>
|
||||
<image class="item-icon" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/5bf7d7dca1ff7_1.png">
|
||||
</image>
|
||||
</view>
|
||||
<view class="item" @click="handleSignClick">
|
||||
<view class="item-content">
|
||||
<text class="item-title">每日签到</text>
|
||||
<text class="item-subtitle">签到获取积分</text>
|
||||
</view>
|
||||
<image class="item-icon1" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_311.png" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 我的社区、申请业主、我的设备 -->
|
||||
<view class="section">
|
||||
<view class="item1">
|
||||
<view class="item_device" @click="handleCommunityClick">
|
||||
<image class="icon-community icon-img"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_16.png"></image>
|
||||
<text class="community-title title-item">我的社区</text>
|
||||
</view>
|
||||
<view class="item_device" @click="handleApplyOwnerClick">
|
||||
<image class="icon-owner icon-img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Frame.png" />
|
||||
<text class="owner-title title-item">申请业主</text>
|
||||
</view>
|
||||
<view class="item_device" @click="handleFacilityClick">
|
||||
<image class="icon-device icon-img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Frame_1.png"/>
|
||||
<text class="device-title title-item">我的设备</text>
|
||||
</view>
|
||||
<view class="item_device" @click="handleMeApplyClick">
|
||||
<image class="icon-device icon-img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_905.png"/>
|
||||
<text class="device-title title-item">我的申请</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 我的订单 -->
|
||||
<view class="navigation">我的订单</view>
|
||||
<view class="order">
|
||||
<u-grid col="4" :border="false" >
|
||||
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in order_List" :key="index">
|
||||
<image class="nav_icon" :src="item.image" mode=""></image>
|
||||
<text class="grid-text">{{item.name}}</text>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</view>
|
||||
|
||||
<!-- 功能服务 -->
|
||||
<view class="navigation">功能服务</view>
|
||||
<view class="order">
|
||||
<u-grid col="4" :border="false" >
|
||||
<u-grid-item @click="headerGridItemClick(item)" v-for="(item, index) in functional_List" :key="index">
|
||||
<image class="nav_icon" :src="item.image" mode=""></image>
|
||||
<text class="grid-text">{{item.name}}</text>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</view>
|
||||
|
||||
|
||||
<view v-if="!isShop">
|
||||
<view class="navigation">商家服务</view>
|
||||
<view class="order">
|
||||
<u-grid col="4" :border="false" >
|
||||
<u-grid-item @click="headerGridItemClick(item)" v-for="(item, index) in shopServer" :key="index">
|
||||
<image class="nav_icon" :src="item.image" mode=""></image>
|
||||
<text class="grid-text">{{item.name}}</text>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<nav-footer />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { apiArr } from '../../api/login';
|
||||
import { menuButtonInfo, NavgateTo, picUrl, request } from '../../utils/index';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
top: 0,
|
||||
order_List: [{
|
||||
image: "https://zhsq.hshuishang.com/Public/img/common/order12.png",
|
||||
name: "物业账单",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
{
|
||||
image: "https://zhsq.hshuishang.com/Public/img/common/order04.png",
|
||||
name: "社区服务",
|
||||
type: "h5",
|
||||
url: "/packages/communityService/index/index",
|
||||
},
|
||||
{
|
||||
image: "https://zhsq.hshuishang.com/Public/img/common/order11.png",
|
||||
name: "商家优惠",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
{
|
||||
image: "https://zhsq.hshuishang.com/Public/img/common/order08.png",
|
||||
name: "积分商城",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
{
|
||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/orderIcon_1.png",
|
||||
name: "社区健康",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
{
|
||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/orderIcon_2.png",
|
||||
name: "生活缴费",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
{
|
||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/orderIcon_3.png",
|
||||
name: "社区商城",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
{
|
||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/User/_assets/orderIcon_4.png",
|
||||
name: "周边商超",
|
||||
type: "h5",
|
||||
url: "",
|
||||
},
|
||||
|
||||
],
|
||||
functional_List: [{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_25.png",
|
||||
"name": "生活缴费",
|
||||
"url": "",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_26.png",
|
||||
"name": "优惠卡券",
|
||||
// "url": "/packages/user/coupon/index",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_35.png",
|
||||
"name": "我的卡券",
|
||||
"url": "",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_30.png",
|
||||
"name": "营销推广",
|
||||
"url": "/packages/user/marketing/index",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_27.png",
|
||||
"name": "个人设置",
|
||||
"url": "/packages/user/index/index",
|
||||
"type": "h5"
|
||||
},
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_29.png",
|
||||
"name": "平台客服",
|
||||
"url": "/packages/WaterPurifier/pages/Addfriend/Addfriend",
|
||||
"type": "h5"
|
||||
},
|
||||
|
||||
{
|
||||
"image": "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/repairList.png",
|
||||
"name": "报修列表",
|
||||
"url": "/packages/OneRepair/pages/OwnerRepairList/OwnerRepairList",
|
||||
"type": "h5"
|
||||
},
|
||||
|
||||
],
|
||||
shopServer: [{
|
||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_774.png",
|
||||
name: "订单核销",
|
||||
type: "",
|
||||
url: "/shopWrite/index/index",
|
||||
},
|
||||
{
|
||||
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/Group_774.png",
|
||||
name: "核销列表",
|
||||
type: "",
|
||||
url: "/shopWrite/list/index",
|
||||
},
|
||||
],
|
||||
userInfo: {},
|
||||
isShop: false,
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 头像点击
|
||||
toLogin() {
|
||||
NavgateTo('/packages/user/index/index', { isLogin: false });
|
||||
},
|
||||
|
||||
// 积分跳转
|
||||
handlePointsClick() {
|
||||
NavgateTo('/packages/user/points/index', { isLogin: false });
|
||||
},
|
||||
|
||||
// 每日签到跳转
|
||||
handleSignClick() {
|
||||
NavgateTo('/packages/user/pointsSign/index', { isLogin: false });
|
||||
},
|
||||
|
||||
// 我的社区跳转
|
||||
handleCommunityClick(){
|
||||
NavgateTo('/packages/community/index/index', { isLogin: false})
|
||||
},
|
||||
|
||||
// 申请业主跳转
|
||||
handleApplyOwnerClick(){
|
||||
NavgateTo(`/packages/community/index/index?types=2`, { isLogin: false})
|
||||
},
|
||||
|
||||
// 我的设备跳转
|
||||
handleFacilityClick() {
|
||||
this.NotOpen();
|
||||
},
|
||||
|
||||
// 我的申请跳转
|
||||
handleMeApplyClick() {
|
||||
NavgateTo(`/packages/community/ownerList/index`, { isLogin: false})
|
||||
},
|
||||
|
||||
// 我的订单跳转
|
||||
headerOrderClick(event) {
|
||||
console.log('123133131', event);
|
||||
if(!event.url) {
|
||||
this.NotOpen();
|
||||
return
|
||||
} else {
|
||||
if (!uni.getStorageSync('city')) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '请先选择您的城市',
|
||||
confirmText:"去选择",
|
||||
complete: (res) => {
|
||||
if (res.cancel) {}
|
||||
if (res.confirm) {
|
||||
NavgateTo( '/pages/index/shopcity', {isLogin: false})
|
||||
}
|
||||
}
|
||||
})
|
||||
return
|
||||
}
|
||||
console.log('选择城市');
|
||||
NavgateTo( `${event.url}`, {isLogin: false})
|
||||
}
|
||||
},
|
||||
|
||||
// 功能服务跳转
|
||||
headerGridItemClick(event) {
|
||||
if (!event.url) {
|
||||
this.NotOpen();
|
||||
return
|
||||
}
|
||||
// 如果点击为平台客服则允许跳转
|
||||
if (event.url === '/packages/WaterPurifier/pages/Addfriend/Addfriend') {
|
||||
NavgateTo( event.url, { isLogin: false})
|
||||
return;
|
||||
}
|
||||
if (event.url) {
|
||||
NavgateTo( event.url, { isLogin: false})
|
||||
}
|
||||
},
|
||||
|
||||
// 暂未开通服务弹窗
|
||||
NotOpen() {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '此功能暂未开通!',
|
||||
showCancel: false,
|
||||
complete: (res) => {
|
||||
if (res.cancel) {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
return
|
||||
},
|
||||
|
||||
|
||||
async getUserInfo() {
|
||||
const isCtoken = uni.getStorageSync('ctoken');
|
||||
if (!isCtoken) return;
|
||||
const res = await request(apiArr.loginInfo, 'POST', {});
|
||||
const newUserInfo = {
|
||||
...res,
|
||||
userPic: res.img ? `${picUrl}${res.img}` : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_309.png'
|
||||
};
|
||||
this.userInfo = newUserInfo;
|
||||
},
|
||||
|
||||
},
|
||||
onLoad() {
|
||||
const meun = menuButtonInfo();
|
||||
this.top = meun.height + meun.top;
|
||||
},
|
||||
|
||||
onShow() {
|
||||
console.log('111');
|
||||
this.getUserInfo();
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
@ -1,25 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view :src="url"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
url:""
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
},
|
||||
onLoad(options) {
|
||||
this.url = decodeURIComponent(options.url || '')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
@ -1,28 +0,0 @@
|
||||
{
|
||||
"appid": "wx03cc6c9d66213d37",
|
||||
"compileType": "miniprogram",
|
||||
"libVersion": "3.8.3",
|
||||
"packOptions": {
|
||||
"ignore": [],
|
||||
"include": []
|
||||
},
|
||||
"setting": {
|
||||
"coverView": true,
|
||||
"es6": true,
|
||||
"postcss": true,
|
||||
"minified": true,
|
||||
"enhance": true,
|
||||
"showShadowRootInWxmlPanel": true,
|
||||
"packNpmRelationList": [],
|
||||
"babelSetting": {
|
||||
"ignore": [],
|
||||
"disablePlugins": [],
|
||||
"outputPath": ""
|
||||
}
|
||||
},
|
||||
"condition": {},
|
||||
"editorSetting": {
|
||||
"tabIndent": "insertSpaces",
|
||||
"tabSize": 2
|
||||
}
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
{
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||
"projectname": "uniapp-ZHSQ",
|
||||
"setting": {
|
||||
"compileHotReLoad": true
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"kitchen/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './kitchen/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/kitchen.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/kitchen.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,gBAAI,CAAC,C","file":"kitchen/kitchen.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './kitchen/kitchen.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/kitchen/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/kitchen/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"kitchen/kitchen/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './kitchen/kitchen/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/kitchen/index/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/kitchen/kitchen/index/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"kitchen/kitchen/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './kitchen/kitchen/index/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"reservation/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './reservation/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
File diff suppressed because one or more lines are too long
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/index/index/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/index/index/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js",null,"webpack:///D:/projection/Hbuilder/uniapp-ZHSQ/reservation/index/index/index.vue?fdd0","webpack:///D:/projection/Hbuilder/uniapp-ZHSQ/reservation/index/index/index.vue?816f","webpack:///D:/projection/Hbuilder/uniapp-ZHSQ/reservation/index/index/index.vue?b627","uni-app:///kitchen/kitchen/index/index.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","data","methods"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAkH;AAClH;AACyD;AACL;;;AAGpD;AAC8K;AAC9K,gBAAgB,6KAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,gFAAM;AACR,EAAE,yFAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,oFAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAypB,CAAgB,+mBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;eCO7qB;EACAC;IACA,QAEA;EACA;EACAC,UAEA;AACA;AAAA,2B","file":"reservation/index/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './reservation/index/index/index.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./index.vue?vue&type=template&id=bf8d3a12&\"\nvar renderjs\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"reservation/index/index/index.vue\"\nexport default component.exports","export * from \"-!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=bf8d3a12&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../下载目录/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"","<template>\n\t<view>\n\t\t\n\t</view>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\t\n\t\t}\n\t}\n</script>\n\n<style>\n\n</style>\n"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/page1/page1.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/page1/page1.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,aAAI,CAAC,C","file":"reservation/page1/page1.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './reservation/page1/page1.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/reservation.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/reservation.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,oBAAI,CAAC,C","file":"reservation/reservation.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './reservation/reservation.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/reservation/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/reservation/reservation/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"reservation/reservation/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './reservation/reservation/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/kitchen/index/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/kitchen/index/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"subPackages/kitchen/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './subPackages/kitchen/index/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/reservation/index/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/reservation/index/index.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,cAAI,CAAC,C","file":"subPackages/reservation/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './subPackages/reservation/index/index.vue'\ncreatePage(Page)"],"sourceRoot":""}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/subpackageA/kitchen/index/index.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/subpackageA/kitchen/index/index.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
5
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-gap/u-gap.js.map
vendored
Normal file
5
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-gap/u-gap.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uview-ui/components/u-line/u-line.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user