|
@@ -1,36 +1,41 @@
|
|
|
<template>
|
|
<template>
|
|
|
<view class="index">
|
|
<view class="index">
|
|
|
- <view class="head">
|
|
|
|
|
- <!-- 顶部状态栏占位 -->
|
|
|
|
|
- <view class="top"></view>
|
|
|
|
|
- <!-- 头部内容 -->
|
|
|
|
|
- <view class="header" @click="shopDetails">
|
|
|
|
|
- <view class="logo">
|
|
|
|
|
- <image :src="logo?logo:'/static/index/address.png'" mode=""></image>
|
|
|
|
|
- </view>
|
|
|
|
|
- {{ name }}
|
|
|
|
|
- <image src="/static/index/down.png" mode=""></image>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="data_box">
|
|
|
|
|
- <view class="title" @click="scanRecordaa">
|
|
|
|
|
- 今日概况
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="data">
|
|
|
|
|
- <view class="item">
|
|
|
|
|
- <span>{{ numberOrders }}</span>订单数
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="item">
|
|
|
|
|
- <span>{{ turnover }}</span>营业总额(元)
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="item" @click="goUser">
|
|
|
|
|
- <span>{{ newCustomer || 0 }}</span>新客
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
-
|
|
|
|
|
- </view>
|
|
|
|
|
<view class="head-back">
|
|
<view class="head-back">
|
|
|
- <image src="/static/index/top-back.png" mode="widthFix"></image>
|
|
|
|
|
|
|
+ <image src="/static/newIndex/index-bg.png" mode="widthFix"></image>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ <view class="head">
|
|
|
|
|
+ <!-- 顶部状态栏占位 -->
|
|
|
|
|
+ <view class="top"></view>
|
|
|
|
|
+ <!-- 头部内容 -->
|
|
|
|
|
+ <view class="header">
|
|
|
|
|
+ <view class="shop-info" @click="shopDetails">
|
|
|
|
|
+ <view class="logo">
|
|
|
|
|
+ <image :src="logo ? logo : '/static/index/address.png'" mode="aspectFill"></image>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="shop-meta">
|
|
|
|
|
+ <view class="shop-name">
|
|
|
|
|
+ <text class="name-text">{{ name }}</text>
|
|
|
|
|
+ <image class="down-icon" src="/static/index/down.png" mode=""></image>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="phone">手机号 {{ phone || '--' }}</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="logout-btn" @click.stop="loginOut">退出账号</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="data_box">
|
|
|
|
|
+ <view class="data">
|
|
|
|
|
+ <view class="item">
|
|
|
|
|
+ <span>{{ numberOrders || 0 }}</span>订单数
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="item">
|
|
|
|
|
+ <span>{{ turnover || 0 }}</span>营业总额(元)
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="item" @click="goUser">
|
|
|
|
|
+ <span>{{ newCustomer || 0 }}</span>新客
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
<view class="service">
|
|
<view class="service">
|
|
@@ -39,7 +44,7 @@
|
|
|
<view class="scan blue" @click="scanRecord">
|
|
<view class="scan blue" @click="scanRecord">
|
|
|
<view class="">
|
|
<view class="">
|
|
|
<span>核销记录</span><br />
|
|
<span>核销记录</span><br />
|
|
|
- 查看历史核销记录<u-icon name="arrow-right" ></u-icon>
|
|
|
|
|
|
|
+ 查看历史核销记录<u-icon name="arrow-right"></u-icon>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="back">
|
|
<view class="back">
|
|
|
<image src="/static/index/recores-back.png" mode=""></image>
|
|
<image src="/static/index/recores-back.png" mode=""></image>
|
|
@@ -49,7 +54,7 @@
|
|
|
<view class="scan green" @click="goOrder">
|
|
<view class="scan green" @click="goOrder">
|
|
|
<view class="">
|
|
<view class="">
|
|
|
<span>售卖订单</span><br />
|
|
<span>售卖订单</span><br />
|
|
|
- 查看历史订单记录<u-icon name="arrow-right" ></u-icon>
|
|
|
|
|
|
|
+ 查看历史售卖记录<u-icon name="arrow-right"></u-icon>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="back">
|
|
<view class="back">
|
|
|
<image src="/static/index/order-back.png" mode=""></image>
|
|
<image src="/static/index/order-back.png" mode=""></image>
|
|
@@ -70,36 +75,34 @@
|
|
|
<indexNav :showTopUp="showTopUp" :showGroupMeal="showGroupMeal" />
|
|
<indexNav :showTopUp="showTopUp" :showGroupMeal="showGroupMeal" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <!-- 完善信息弹窗,storeStatus == 3 (店铺已经审核通过 ) -->
|
|
|
|
|
- <checkPopup :status="storeStatus" :describe="describe" :referenceId="referenceId" @cutPopup="isPopup = false"
|
|
|
|
|
- v-if="isPopup" />
|
|
|
|
|
- <!-- <view class="message">
|
|
|
|
|
- <view class="title">
|
|
|
|
|
- 实时消息
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 消息通知 -->
|
|
|
|
|
+ <view class="message">
|
|
|
|
|
+ <view class="msg-head">
|
|
|
|
|
+ <text class="title">消息通知</text>
|
|
|
|
|
+ <view class="more" @click="goMessage">
|
|
|
|
|
+ 查看更多
|
|
|
|
|
+ <u-icon name="arrow-right" color="#999" size="24"></u-icon>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="msg">
|
|
|
|
|
- <view class="item" v-for="(item,index) in msg" :key="index">
|
|
|
|
|
|
|
+ <view class="msg" v-if="msg.length">
|
|
|
|
|
+ <view class="item" v-for="(item, index) in msg" :key="item.id || index" @click="toNotification(item)">
|
|
|
<view class="type">
|
|
<view class="type">
|
|
|
<view class="img">
|
|
<view class="img">
|
|
|
- <image src="/static/index/deal.png" mode="" v-if="item.msgType=='1'"></image>
|
|
|
|
|
- <image src="/static/index/verify.png" mode="" v-if="item.msgType=='2'"></image>
|
|
|
|
|
- <image src="/static/index/client.png" mode="" v-if="item.msgType=='3'"></image>
|
|
|
|
|
- <image src="/static/index/system.png" mode="" v-if="item.msgType=='4'"></image>
|
|
|
|
|
- <span v-if="item.msgType=='1'">交易信息</span>
|
|
|
|
|
- <span v-if="item.msgType=='2'">产品核销</span>
|
|
|
|
|
- <span v-if="item.msgType=='3'">客户评价</span>
|
|
|
|
|
- <span v-if="item.msgType=='4'">系统消息</span>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="time">
|
|
|
|
|
- {{item.msgDate}}
|
|
|
|
|
|
|
+ <image :src="msgIcon(item.category)" mode=""></image>
|
|
|
|
|
+ <span>{{ item.categoryName }}</span>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="details">
|
|
|
|
|
- {{item.msgContent}}
|
|
|
|
|
- </view>
|
|
|
|
|
|
|
+ <view class="details">{{ item.content }}</view>
|
|
|
|
|
+ <view class="time">{{ item.createTimeDisplay }}</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- </view> -->
|
|
|
|
|
|
|
+ <view class="msg-empty" v-else>暂无消息</view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 完善信息弹窗,storeStatus == 3 (店铺已经审核通过 ) -->
|
|
|
|
|
+ <checkPopup :status="storeStatus" :describe="describe" :referenceId="referenceId" @cutPopup="isPopup = false"
|
|
|
|
|
+ v-if="isPopup" />
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -107,6 +110,8 @@
|
|
|
import indexNav from "@/components/index_nav.vue";
|
|
import indexNav from "@/components/index_nav.vue";
|
|
|
import checkPopup from "@/components/check-popup.vue";
|
|
import checkPopup from "@/components/check-popup.vue";
|
|
|
import prepaidApi from "@/api/memberPrepaid.js";
|
|
import prepaidApi from "@/api/memberPrepaid.js";
|
|
|
|
|
+ import api from "@/api/api";
|
|
|
|
|
+ import { updateMsgTabBadge, setMsgTabBadge, isUnreadNotice } from "@/common/util/msgBadge.js";
|
|
|
export default {
|
|
export default {
|
|
|
components: {
|
|
components: {
|
|
|
indexNav,
|
|
indexNav,
|
|
@@ -118,17 +123,22 @@
|
|
|
newCustomer: "", //新客
|
|
newCustomer: "", //新客
|
|
|
turnover: "", //营业总额
|
|
turnover: "", //营业总额
|
|
|
name: "",
|
|
name: "",
|
|
|
- num: 222,
|
|
|
|
|
|
|
+ phone: "",
|
|
|
msg: [],
|
|
msg: [],
|
|
|
|
|
+ categoryIcons: {
|
|
|
|
|
+ "1": "/static/index/deal.png",
|
|
|
|
|
+ "2": "/static/index/verify.png",
|
|
|
|
|
+ "3": "/static/index/system.png",
|
|
|
|
|
+ },
|
|
|
merchantId: "",
|
|
merchantId: "",
|
|
|
storeStatus: 0, //商户店铺设置状态
|
|
storeStatus: 0, //商户店铺设置状态
|
|
|
userId: "", //用户id
|
|
userId: "", //用户id
|
|
|
describe: "", //描述
|
|
describe: "", //描述
|
|
|
isPopup: false, //弹窗是否出现
|
|
isPopup: false, //弹窗是否出现
|
|
|
referenceId: "", //邀请码
|
|
referenceId: "", //邀请码
|
|
|
- logo: '',
|
|
|
|
|
|
|
+ logo: "",
|
|
|
showTopUp: false, // 行业是否为美食
|
|
showTopUp: false, // 行业是否为美食
|
|
|
- showGroupMeal: false // 团餐报名是否审核通过
|
|
|
|
|
|
|
+ showGroupMeal: false, // 团餐报名是否审核通过
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
onLoad: function() {
|
|
onLoad: function() {
|
|
@@ -152,10 +162,24 @@
|
|
|
url: "/pages/scan/manual",
|
|
url: "/pages/scan/manual",
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- goOrder(){
|
|
|
|
|
|
|
+ goOrder() {
|
|
|
|
|
+ uni.switchTab({
|
|
|
|
|
+ url: "/pages/order/index",
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ goMessage() {
|
|
|
uni.switchTab({
|
|
uni.switchTab({
|
|
|
- url:'/pages/order/index'
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ url: "/pages/message/message",
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ msgIcon(category) {
|
|
|
|
|
+ return this.categoryIcons[category] || "/static/index/system.png";
|
|
|
|
|
+ },
|
|
|
|
|
+ toNotification(item) {
|
|
|
|
|
+ const str = this.$u.queryParams(item);
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: `/pages/message/details?${str}`,
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
//跳转至门店详情页
|
|
//跳转至门店详情页
|
|
|
shopDetails() {
|
|
shopDetails() {
|
|
@@ -168,10 +192,22 @@
|
|
|
url: "/pages/scan/record",
|
|
url: "/pages/scan/record",
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- scanRecordaa() {
|
|
|
|
|
- // uni.navigateTo({
|
|
|
|
|
- // url: '/pages/login/login'
|
|
|
|
|
- // })
|
|
|
|
|
|
|
+ loginOut() {
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ title: "提示",
|
|
|
|
|
+ content: "是否确认退出当前账号?",
|
|
|
|
|
+ success: (res) => {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ api.logout().then(() => {
|
|
|
|
|
+ setMsgTabBadge(0);
|
|
|
|
|
+ uni.clearStorageSync();
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: `/pages/login/login`,
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
gettodayData() {
|
|
gettodayData() {
|
|
|
this.$http
|
|
this.$http
|
|
@@ -186,15 +222,20 @@
|
|
|
},
|
|
},
|
|
|
getMessage() {
|
|
getMessage() {
|
|
|
this.$http
|
|
this.$http
|
|
|
- .get("/merchant/app/home/realMessage?merchantId=" + this.merchantId, {})
|
|
|
|
|
|
|
+ .get("/localUserNotice/localUserNotice/getListNew", {
|
|
|
|
|
+ params: {
|
|
|
|
|
+ userType: 1,
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
- if (res.data.code == 200) {
|
|
|
|
|
- this.msg = res.data.result.records;
|
|
|
|
|
- // this.income = res.data.result.income
|
|
|
|
|
- // this.newCustomer = res.data.result.newCustomer
|
|
|
|
|
- // this.numberOrders = res.data.result.numberOrders
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const list = res.data.result || [];
|
|
|
|
|
+ // 首页只展示未读,已读不展示
|
|
|
|
|
+ this.msg = list.filter(isUnreadNotice).slice(0, 5);
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {
|
|
|
|
|
+ this.msg = [];
|
|
|
});
|
|
});
|
|
|
|
|
+ updateMsgTabBadge();
|
|
|
},
|
|
},
|
|
|
// getNum 已合并到 gettodayData,新客由 /merchant/account/todayOverview 返回
|
|
// getNum 已合并到 gettodayData,新客由 /merchant/account/todayOverview 返回
|
|
|
getNum() {},
|
|
getNum() {},
|
|
@@ -208,7 +249,6 @@
|
|
|
if (res.data.result != 3) {
|
|
if (res.data.result != 3) {
|
|
|
this.storeStatus = res.data.result;
|
|
this.storeStatus = res.data.result;
|
|
|
this.describe = res.data.message;
|
|
this.describe = res.data.message;
|
|
|
- // this.referenceId = res.data.result.referenceId
|
|
|
|
|
res.data.result == 3 ?
|
|
res.data.result == 3 ?
|
|
|
(this.isPopup = false) :
|
|
(this.isPopup = false) :
|
|
|
(this.isPopup = true);
|
|
(this.isPopup = true);
|
|
@@ -226,7 +266,6 @@
|
|
|
prepaidApi
|
|
prepaidApi
|
|
|
.checkIndustryEligibility(this.merchantId)
|
|
.checkIndustryEligibility(this.merchantId)
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
- console.log('11111',res)
|
|
|
|
|
this.showTopUp = res.data.code === 200 && !!res.data.result;
|
|
this.showTopUp = res.data.code === 200 && !!res.data.result;
|
|
|
})
|
|
})
|
|
|
.catch(() => {
|
|
.catch(() => {
|
|
@@ -236,7 +275,7 @@
|
|
|
/** 查询团餐报名状态,审核通过才展示团餐设置/团餐订单 */
|
|
/** 查询团餐报名状态,审核通过才展示团餐设置/团餐订单 */
|
|
|
checkGroupMealApply() {
|
|
checkGroupMealApply() {
|
|
|
this.$http
|
|
this.$http
|
|
|
- .post('/groupmeal/gmMerchantApplicationRecord/isApply', {})
|
|
|
|
|
|
|
+ .post("/groupmeal/gmMerchantApplicationRecord/isApply", {})
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
this.showGroupMeal =
|
|
this.showGroupMeal =
|
|
|
res.data.code === 200 &&
|
|
res.data.code === 200 &&
|
|
@@ -249,7 +288,6 @@
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
|
- // let info =
|
|
|
|
|
let that = this;
|
|
let that = this;
|
|
|
},
|
|
},
|
|
|
onShow() {
|
|
onShow() {
|
|
@@ -257,11 +295,11 @@
|
|
|
uni.getStorage({
|
|
uni.getStorage({
|
|
|
key: "login_user_info",
|
|
key: "login_user_info",
|
|
|
success: function(res) {
|
|
success: function(res) {
|
|
|
- console.log(res);
|
|
|
|
|
that.name = res.data.merchantName;
|
|
that.name = res.data.merchantName;
|
|
|
that.merchantId = res.data.merchantId;
|
|
that.merchantId = res.data.merchantId;
|
|
|
that.userId = res.data.id;
|
|
that.userId = res.data.id;
|
|
|
that.logo = res.data.merchantHeadPhoto;
|
|
that.logo = res.data.merchantHeadPhoto;
|
|
|
|
|
+ that.phone = res.data.phone || "";
|
|
|
that.gettodayData();
|
|
that.gettodayData();
|
|
|
that.getMessage();
|
|
that.getMessage();
|
|
|
that.getNum();
|
|
that.getNum();
|
|
@@ -277,142 +315,171 @@
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
|
.index {
|
|
.index {
|
|
|
width: 100vw;
|
|
width: 100vw;
|
|
|
- height: 100vh;
|
|
|
|
|
- background: #F2F3F5;
|
|
|
|
|
|
|
+ min-height: 100vh;
|
|
|
|
|
+ background: #f2f3f5;
|
|
|
|
|
+ padding-bottom: 40rpx;
|
|
|
|
|
+ position: relative;
|
|
|
z-index: 1;
|
|
z-index: 1;
|
|
|
|
|
+
|
|
|
.head-back {
|
|
.head-back {
|
|
|
- position: fixed;
|
|
|
|
|
- top: 0;
|
|
|
|
|
- left: 0;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- // height: 100%;
|
|
|
|
|
- z-index: 1;
|
|
|
|
|
-
|
|
|
|
|
- image {
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- // object-fit: cover;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ z-index: 1;
|
|
|
|
|
+ pointer-events: none;
|
|
|
|
|
+
|
|
|
|
|
+ image {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
.head {
|
|
.head {
|
|
|
- width: 100%;
|
|
|
|
|
- height: auto;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: auto;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ overflow: hidden;
|
|
|
z-index: 2;
|
|
z-index: 2;
|
|
|
-
|
|
|
|
|
- .top {
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: var(--status-bar-height);
|
|
|
|
|
- background-color: transparent;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- .header {
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 56rpx;
|
|
|
|
|
- display: flex;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- padding: 0px 32rpx;
|
|
|
|
|
- font-size: 32rpx;
|
|
|
|
|
- font-weight: 600;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- z-index: 10;
|
|
|
|
|
- // margin-top: 44rpx;
|
|
|
|
|
-
|
|
|
|
|
- .logo {
|
|
|
|
|
- width: 56rpx;
|
|
|
|
|
- height: 56rpx;
|
|
|
|
|
- border-radius: 50%;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
- margin-right: 10rpx;
|
|
|
|
|
-
|
|
|
|
|
- image {
|
|
|
|
|
- width: 56rpx;
|
|
|
|
|
- height: 56rpx;
|
|
|
|
|
- margin: 0;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- image {
|
|
|
|
|
- width: 25rpx;
|
|
|
|
|
- height: 25rpx;
|
|
|
|
|
- margin-left: 10rpx;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .data_box {
|
|
|
|
|
- width: 686rpx;
|
|
|
|
|
- height: 180rpx;
|
|
|
|
|
- margin: 36rpx auto 16rpx;
|
|
|
|
|
- background: #ffffff;
|
|
|
|
|
- box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
|
|
|
|
|
- border-radius: 16rpx;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- z-index: 19;
|
|
|
|
|
-
|
|
|
|
|
- .title {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 53rpx;
|
|
|
|
|
- font-size: 26rpx;
|
|
|
|
|
- color: #86909C;
|
|
|
|
|
- padding: 18rpx;
|
|
|
|
|
-
|
|
|
|
|
- image {
|
|
|
|
|
- width: 40rpx;
|
|
|
|
|
- height: 40rpx;
|
|
|
|
|
- margin-left: 10rpx;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .data {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: space-around;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- padding: 20rpx 0px;
|
|
|
|
|
-
|
|
|
|
|
- .item {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- justify-content: space-around;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- font-size: 24rpx;
|
|
|
|
|
- line-height: 28rpx;
|
|
|
|
|
- color: #86909C;
|
|
|
|
|
-
|
|
|
|
|
- span {
|
|
|
|
|
- height: 62rpx;
|
|
|
|
|
- color: #333;
|
|
|
|
|
- font-size: 48rpx;
|
|
|
|
|
- font-weight: 600;
|
|
|
|
|
- line-height: 56rpx;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
+ .top {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: var(--status-bar-height);
|
|
|
|
|
+ background-color: transparent;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .header {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ padding: 16rpx 0rpx 0rpx 32rpx;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ z-index: 10;
|
|
|
|
|
+
|
|
|
|
|
+ .shop-info {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ min-width: 0;
|
|
|
|
|
+ margin-right: 20rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .logo {
|
|
|
|
|
+ width: 72rpx;
|
|
|
|
|
+ height: 72rpx;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ margin-right: 16rpx;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+
|
|
|
|
|
+ image {
|
|
|
|
|
+ width: 72rpx;
|
|
|
|
|
+ height: 72rpx;
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .shop-meta {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ min-width: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .shop-name {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #1d2129;
|
|
|
|
|
+ line-height: 44rpx;
|
|
|
|
|
+
|
|
|
|
|
+ .name-text {
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
|
+ white-space: nowrap;
|
|
|
|
|
+ max-width: 360rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .down-icon {
|
|
|
|
|
+ width: 24rpx;
|
|
|
|
|
+ height: 24rpx;
|
|
|
|
|
+ margin-left: 8rpx;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .phone {
|
|
|
|
|
+ margin-top: 4rpx;
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ color: #86909c;
|
|
|
|
|
+ line-height: 34rpx;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ .logout-btn {
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+ padding: 10rpx 24rpx;
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ color: #4e5969;
|
|
|
|
|
+ background: rgba(255, 255, 255, 0.72);
|
|
|
|
|
+ border-radius: 28rpx 0rpx 0rpx 28rpx;
|
|
|
|
|
+ line-height: 34rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .data_box {
|
|
|
|
|
+ width: 686rpx;
|
|
|
|
|
+ margin: 28rpx auto 16rpx;
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
|
|
|
|
|
+ border-radius: 16rpx;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ z-index: 19;
|
|
|
|
|
+
|
|
|
|
|
+ .data {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: space-around;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ padding: 36rpx 0;
|
|
|
|
|
+
|
|
|
|
|
+ .item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ justify-content: space-around;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ line-height: 28rpx;
|
|
|
|
|
+ color: #86909c;
|
|
|
|
|
+
|
|
|
|
|
+ span {
|
|
|
|
|
+ height: 62rpx;
|
|
|
|
|
+ color: #333;
|
|
|
|
|
+ font-size: 48rpx;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ line-height: 56rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
.service {
|
|
.service {
|
|
|
width: 686rpx;
|
|
width: 686rpx;
|
|
|
- // height: 468rpx;
|
|
|
|
|
box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
|
|
box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
|
|
|
border-radius: 16rpx;
|
|
border-radius: 16rpx;
|
|
|
margin: 0 auto;
|
|
margin: 0 auto;
|
|
|
-
|
|
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ z-index: 2;
|
|
|
|
|
+
|
|
|
.main {
|
|
.main {
|
|
|
height: auto;
|
|
height: auto;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
margin-bottom: 16rpx;
|
|
margin-bottom: 16rpx;
|
|
|
align-items: stretch;
|
|
align-items: stretch;
|
|
|
- background: #FFFFFF;
|
|
|
|
|
|
|
+ background: #ffffff;
|
|
|
padding: 20rpx;
|
|
padding: 20rpx;
|
|
|
border-radius: 20rpx;
|
|
border-radius: 20rpx;
|
|
|
|
|
+
|
|
|
.left {
|
|
.left {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
margin-right: 22rpx;
|
|
margin-right: 22rpx;
|
|
@@ -434,6 +501,7 @@
|
|
|
z-index: 2;
|
|
z-index: 2;
|
|
|
border-radius: 8rpx;
|
|
border-radius: 8rpx;
|
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
|
|
|
+
|
|
|
.back {
|
|
.back {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
@@ -459,27 +527,28 @@
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.scan.blue {
|
|
.scan.blue {
|
|
|
- color: #197FFD;
|
|
|
|
|
|
|
+ color: #197ffd;
|
|
|
margin-bottom: 22rpx;
|
|
margin-bottom: 22rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.scan.green {
|
|
.scan.green {
|
|
|
- color: #14C584;
|
|
|
|
|
- background: #E7FFF7;
|
|
|
|
|
|
|
+ color: #14c584;
|
|
|
|
|
+ background: #e7fff7;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.right {
|
|
.right {
|
|
|
width: 272rpx;
|
|
width: 272rpx;
|
|
|
height: 340rpx;
|
|
height: 340rpx;
|
|
|
- color: #624FE3;
|
|
|
|
|
|
|
+ color: #624fe3;
|
|
|
font-size: 20rpx;
|
|
font-size: 20rpx;
|
|
|
padding: 28rpx;
|
|
padding: 28rpx;
|
|
|
- background: #F6F4FF;
|
|
|
|
|
|
|
+ background: #f6f4ff;
|
|
|
position: relative;
|
|
position: relative;
|
|
|
z-index: 2;
|
|
z-index: 2;
|
|
|
border-radius: 8rpx;
|
|
border-radius: 8rpx;
|
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
|
|
|
+
|
|
|
.back {
|
|
.back {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
@@ -507,28 +576,43 @@
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- .other{
|
|
|
|
|
|
|
+
|
|
|
|
|
+ .other {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- // height: 304rpx;
|
|
|
|
|
- padding: 32rpx ;
|
|
|
|
|
- background: #FFFFFF;
|
|
|
|
|
|
|
+ padding: 32rpx;
|
|
|
|
|
+ background: #ffffff;
|
|
|
border-radius: 16rpx;
|
|
border-radius: 16rpx;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.message {
|
|
.message {
|
|
|
- width: 676rpx;
|
|
|
|
|
- padding: 20rpx 16rpx;
|
|
|
|
|
- margin: 20rpx auto 0px;
|
|
|
|
|
- background: linear-gradient(0, #ffffff 0%, #e2efff 100%);
|
|
|
|
|
|
|
+ width: 686rpx;
|
|
|
|
|
+ padding: 28rpx 24rpx 8rpx;
|
|
|
|
|
+ margin: 16rpx auto 0;
|
|
|
|
|
+ background: #ffffff;
|
|
|
border-radius: 16rpx;
|
|
border-radius: 16rpx;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ z-index: 2;
|
|
|
|
|
|
|
|
- .title {
|
|
|
|
|
|
|
+ .msg-head {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- height: 53rpx;
|
|
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
- margin-bottom: 20rpx;
|
|
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ margin-bottom: 8rpx;
|
|
|
|
|
+
|
|
|
|
|
+ .title {
|
|
|
|
|
+ font-size: 30rpx;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #1d2129;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .more {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ color: #86909c;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.msg {
|
|
.msg {
|
|
@@ -536,43 +620,55 @@
|
|
|
|
|
|
|
|
.item {
|
|
.item {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- border-bottom: 1px solid #dddddd;
|
|
|
|
|
- margin-bottom: 20rpx;
|
|
|
|
|
|
|
+ padding: 24rpx 0;
|
|
|
|
|
+ border-bottom: 1px solid #f2f3f5;
|
|
|
|
|
+
|
|
|
|
|
+ &:last-child {
|
|
|
|
|
+ border-bottom: none;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
.type {
|
|
.type {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
height: 38rpx;
|
|
height: 38rpx;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
|
|
margin-bottom: 8rpx;
|
|
margin-bottom: 8rpx;
|
|
|
|
|
|
|
|
.img {
|
|
.img {
|
|
|
- font-size: 26rpx;
|
|
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
font-weight: 600;
|
|
font-weight: 600;
|
|
|
|
|
+ color: #1d2129;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
|
|
|
image {
|
|
image {
|
|
|
- width: 30rpx;
|
|
|
|
|
- height: 30rpx;
|
|
|
|
|
- margin-right: 8rpx;
|
|
|
|
|
|
|
+ width: 36rpx;
|
|
|
|
|
+ height: 36rpx;
|
|
|
|
|
+ margin-right: 10rpx;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- .time {
|
|
|
|
|
- font-size: 22rpx;
|
|
|
|
|
- color: #999999;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.details {
|
|
.details {
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ color: #86909c;
|
|
|
|
|
+ line-height: 36rpx;
|
|
|
|
|
+ margin-bottom: 8rpx;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .time {
|
|
|
font-size: 22rpx;
|
|
font-size: 22rpx;
|
|
|
- color: #999999;
|
|
|
|
|
- margin-bottom: 16rpx;
|
|
|
|
|
|
|
+ color: #c9cdd4;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ .msg-empty {
|
|
|
|
|
+ padding: 40rpx 0 48rpx;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ font-size: 24rpx;
|
|
|
|
|
+ color: #c9cdd4;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-</style>
|
|
|
|
|
|
|
+</style>
|