新增平台公告,新增平台人数统计,新增退货状态与商家联系电话
This commit is contained in:
@@ -34,3 +34,4 @@ export {
|
|||||||
glz,
|
glz,
|
||||||
sign
|
sign
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
27
apis/interfaces/notice.js
Normal file
27
apis/interfaces/notice.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/**
|
||||||
|
* Web唐明明
|
||||||
|
* 匆匆数载恍如梦,岁月迢迢华发增。
|
||||||
|
* 碌碌无为枉半生,一朝惊醒万事空。
|
||||||
|
* moduleName: 通知公告
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { request } from '../index'
|
||||||
|
|
||||||
|
// 列表
|
||||||
|
const list = () =>{
|
||||||
|
return request({
|
||||||
|
url: "cms/articles/notice"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情
|
||||||
|
const info = (id) =>{
|
||||||
|
return request({
|
||||||
|
url: "cms/articles/" + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
list,
|
||||||
|
info
|
||||||
|
}
|
||||||
18
pages.json
18
pages.json
@@ -248,7 +248,7 @@
|
|||||||
"navigationBarBackgroundColor": "#34CE98",
|
"navigationBarBackgroundColor": "#34CE98",
|
||||||
"navigationBarTextStyle": "white"
|
"navigationBarTextStyle": "white"
|
||||||
}
|
}
|
||||||
},{
|
}, {
|
||||||
"path": "pages/account/wbtBind",
|
"path": "pages/account/wbtBind",
|
||||||
"name": "WbtBind",
|
"name": "WbtBind",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -506,6 +506,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}, {
|
||||||
|
"path": "pages/life/notice",
|
||||||
|
"name": "Notice",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "系统公告",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/life/noticeDetails",
|
||||||
|
"name": "noticeDetails",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "公告详情",
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarBackgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
|
|||||||
@@ -2,6 +2,12 @@
|
|||||||
<view class="capacity">
|
<view class="capacity">
|
||||||
<view class="capacity-title">共力分总产率/小时<text>{{baseHour}}GLF/h</text></view>
|
<view class="capacity-title">共力分总产率/小时<text>{{baseHour}}GLF/h</text></view>
|
||||||
<view class="capacity-sbutitle">总产率=角色产率+团队产率+共建产率+共力值产率</view>
|
<view class="capacity-sbutitle">总产率=角色产率+团队产率+共建产率+共力值产率</view>
|
||||||
|
<view class="capacity-block">
|
||||||
|
<view class="capacity-block-title">
|
||||||
|
<view class="title">平台数据</view>
|
||||||
|
</view>
|
||||||
|
<view class="capacity-block-text">平台注册人数<text>{{userData.login}}</text>活跃人数<text>{{userData.online}}</text></view>
|
||||||
|
</view>
|
||||||
<view class="capacity-block">
|
<view class="capacity-block">
|
||||||
<view class="capacity-block-title">
|
<view class="capacity-block-title">
|
||||||
<view class="title">我的角色</view>
|
<view class="title">我的角色</view>
|
||||||
@@ -11,12 +17,11 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="capacity-block">
|
<view class="capacity-block">
|
||||||
<view class="capacity-block-title">
|
<view class="capacity-block-title">
|
||||||
<view class="title">成员产率({{group.effect}}/{{group.count}})<text< /text>
|
<view class="title">成员产率({{group.effect}}/{{group.count}})</view>
|
||||||
</view>
|
|
||||||
<view class="capacity-block-glf">{{group.capacity}}GLF/h</view>
|
<view class="capacity-block-glf">{{group.capacity}}GLF/h</view>
|
||||||
<!-- <view class="more" @click="onInvitation">邀请更多好友</view> -->
|
<!-- <view class="more" @click="onInvitation">邀请更多好友</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="capacity-block-table pt30">
|
<view class="capacity-block-table">
|
||||||
<view class="header">
|
<view class="header">
|
||||||
<view class="flex-item">家族成员产率</view>
|
<view class="flex-item">家族成员产率</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -104,7 +109,11 @@
|
|||||||
build: {},
|
build: {},
|
||||||
together: {},
|
together: {},
|
||||||
other: {},
|
other: {},
|
||||||
can_repeat_sign: false
|
can_repeat_sign: false,
|
||||||
|
userData: {
|
||||||
|
login : '-',
|
||||||
|
online : '-'
|
||||||
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -174,6 +183,7 @@
|
|||||||
methods: {
|
methods: {
|
||||||
glz(){
|
glz(){
|
||||||
glz().then(res => {
|
glz().then(res => {
|
||||||
|
this.userData = res.userData
|
||||||
this.nickname = res.nickname
|
this.nickname = res.nickname
|
||||||
this.identityText = res.identity_text
|
this.identityText = res.identity_text
|
||||||
this.baseHour = res.base_hour
|
this.baseHour = res.base_hour
|
||||||
@@ -340,23 +350,21 @@
|
|||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-text {
|
&-text {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: gray;
|
color: gray;
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
padding-top: 30rpx;
|
padding-top: 10rpx;
|
||||||
|
text{
|
||||||
|
color: $main-color;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0 10rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-table {
|
&-table {
|
||||||
border: solid 1px $border-color;
|
border: solid 1px $border-color;
|
||||||
margin-bottom: 20rpx;
|
margin-top: 20rpx;
|
||||||
padding-top: 30rpx;
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
background: $border-color;
|
background: $border-color;
|
||||||
line-height: 50rpx;
|
line-height: 50rpx;
|
||||||
@@ -364,7 +372,6 @@
|
|||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex {
|
.flex {
|
||||||
display: flex;
|
display: flex;
|
||||||
border-top: solid 1rpx $border-color;
|
border-top: solid 1rpx $border-color;
|
||||||
|
|||||||
@@ -52,6 +52,25 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 功能入口 -->
|
<!-- 功能入口 -->
|
||||||
<view class="life-flex">
|
<view class="life-flex">
|
||||||
|
<!-- 公告 -->
|
||||||
|
<view class="life-notice" v-if="notices.length > 0">
|
||||||
|
<view class="life-notice-bar">
|
||||||
|
<uni-icons class="life-notice-icon" size="18" type="notification-filled" color="#34CE98"></uni-icons>
|
||||||
|
<swiper
|
||||||
|
class="life-notice-swiper"
|
||||||
|
:autoplay="true"
|
||||||
|
circular
|
||||||
|
vertical
|
||||||
|
>
|
||||||
|
<swiper-item v-for="(item, index) in notices" :key="index">
|
||||||
|
<view class="life-notice-item">
|
||||||
|
<navigator :url="'./noticeDetails?id=' + item.article_id" hover-class="none">{{item.title}}</navigator>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
<navigator class="life-notice-more" hover-class="none" url="./notice">更多</navigator>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="life-flex-item house" @click="onNav({name: 'Store'}, 'tab')">
|
<view class="life-flex-item house" @click="onNav({name: 'Store'}, 'tab')">
|
||||||
<view class="house-content">
|
<view class="house-content">
|
||||||
<view class="house-title">DT商城</view>
|
<view class="house-title">DT商城</view>
|
||||||
@@ -151,6 +170,7 @@
|
|||||||
isSign: false,
|
isSign: false,
|
||||||
isAccount: false,
|
isAccount: false,
|
||||||
isOver : false,
|
isOver : false,
|
||||||
|
notices : []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -172,6 +192,7 @@
|
|||||||
// 共力人生
|
// 共力人生
|
||||||
getLife() {
|
getLife() {
|
||||||
life().then(res => {
|
life().then(res => {
|
||||||
|
this.notices = res.notices
|
||||||
this.glz = res.account.glz
|
this.glz = res.account.glz
|
||||||
this.base_hour = res.account.base_hour
|
this.base_hour = res.account.base_hour
|
||||||
this.base_seconds = res.account.base_seconds
|
this.base_seconds = res.account.base_seconds
|
||||||
@@ -408,7 +429,39 @@
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
.life-notice{
|
||||||
|
width: calc(100% - 20rpx);
|
||||||
|
margin: 10rpx;
|
||||||
|
&-bar{
|
||||||
|
position: relative;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 0 150rpx 0 80rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
}
|
||||||
|
&-icon{
|
||||||
|
position: absolute;
|
||||||
|
left: 30rpx;
|
||||||
|
top: 26rpx;
|
||||||
|
}
|
||||||
|
&-more{
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 0;
|
||||||
|
line-height: 90rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: $main-color;
|
||||||
|
}
|
||||||
|
&-swiper{
|
||||||
|
height: 90rpx;
|
||||||
|
}
|
||||||
|
&-item{
|
||||||
|
line-height: 90rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333;
|
||||||
|
@extend .nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
.life-flex-item {
|
.life-flex-item {
|
||||||
background: white;
|
background: white;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
|
|||||||
85
pages/life/notice.vue
Normal file
85
pages/life/notice.vue
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<template>
|
||||||
|
<view class="conten">
|
||||||
|
<block v-if="list.length > 0">
|
||||||
|
<navigator class="list-item" v-for="(item, index) in list" :key="index" :url="'./noticeDetails?id=' + item.article_id">
|
||||||
|
<view class="item-title">{{item.title}}</view>
|
||||||
|
<view class="item-time"><text>{{item.categories[0].title}}</text>{{item.created_at}}</view>
|
||||||
|
<uni-icons class="item-icon" type="forward" color="#ddd" size="20"></uni-icons>
|
||||||
|
</navigator>
|
||||||
|
</block>
|
||||||
|
<block v-else>
|
||||||
|
<view class="list-empty">
|
||||||
|
<u-empty
|
||||||
|
mode="data"
|
||||||
|
icon="http://cdn.uviewui.com/uview/empty/data.png"
|
||||||
|
text="暂无公告信息"
|
||||||
|
>
|
||||||
|
</u-empty>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { list } from '@/apis/interfaces/notice.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: [],
|
||||||
|
page: {}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
list().then(res => {
|
||||||
|
this.list = res.data
|
||||||
|
this.page = res.page
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.list-empty{
|
||||||
|
height: 80vh;
|
||||||
|
@extend .vertical;
|
||||||
|
}
|
||||||
|
.conten{
|
||||||
|
min-height: 100vh;
|
||||||
|
background: #F3F6FB;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.list-item{
|
||||||
|
position: relative;
|
||||||
|
margin: 0 30rpx 30rpx 30rpx;
|
||||||
|
background: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 30rpx 60rpx 30rpx 30rpx;
|
||||||
|
.item-icon{
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -10px;
|
||||||
|
}
|
||||||
|
.item-title{
|
||||||
|
padding-bottom: 10rpx;
|
||||||
|
font-size: 34rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
@extend .nowrap;
|
||||||
|
}
|
||||||
|
.item-time{
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: gray;
|
||||||
|
text{
|
||||||
|
color: $main-color;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
60
pages/life/noticeDetails.vue
Normal file
60
pages/life/noticeDetails.vue
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="title">{{title}}</view>
|
||||||
|
<view class="time"><text>{{categorie}}</text>{{time}}</view>
|
||||||
|
<view class="text">
|
||||||
|
<rich-text :nodes="content"></rich-text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { info } from '@/apis/interfaces/notice.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title : '',
|
||||||
|
content : '',
|
||||||
|
time : '',
|
||||||
|
categorie : ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onLoad(e){
|
||||||
|
info(e.id).then(res => {
|
||||||
|
this.title = res.title
|
||||||
|
this.time = res.created_at
|
||||||
|
this.content = res.content.replace(/\<img/gi, '<img style="max-width:100%; height:auto; display:block;"');
|
||||||
|
this.categorie = res.categories[0].title
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.content{
|
||||||
|
background: white;
|
||||||
|
min-height: 100vh;
|
||||||
|
padding: 30rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.title{
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
}
|
||||||
|
.time{
|
||||||
|
color: gray;
|
||||||
|
font-size: 28rpx;
|
||||||
|
padding-bottom: 70rpx;
|
||||||
|
text{
|
||||||
|
color: $main-color;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
<view class="service-content">
|
<view class="service-content">
|
||||||
<view class="service"> 本次售后服务将由<span>DT生态平台</span>为您提供服务 </view>
|
<view class="service"> 本次售后服务将由<span>DT生态平台</span>为您提供服务 </view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="plane">
|
<view class="plane">
|
||||||
<view class="plane-state">
|
<view class="plane-state">
|
||||||
<uni-steps class="steps" active-color='#fff' :active="process.index" deactive-color='#fff'
|
<uni-steps class="steps" active-color='#fff' :active="process.index" deactive-color='#fff'
|
||||||
@@ -11,7 +10,6 @@
|
|||||||
<view class="title" v-if="refundInfo.state"> {{refundInfo.state.remark}}</view>
|
<view class="title" v-if="refundInfo.state"> {{refundInfo.state.remark}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="goods-item">
|
<view class="goods-item">
|
||||||
<image :src="goodsInfo.cover" mode="aspectFill" class="good-img" />
|
<image :src="goodsInfo.cover" mode="aspectFill" class="good-img" />
|
||||||
<view class="item--content">
|
<view class="item--content">
|
||||||
@@ -25,8 +23,6 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
<view class="total">
|
<view class="total">
|
||||||
<view class="total-item grey">
|
<view class="total-item grey">
|
||||||
申请金额<text>{{refundInfo.refund_total || '0.00'}} DT</text>
|
申请金额<text>{{refundInfo.refund_total || '0.00'}} DT</text>
|
||||||
@@ -90,8 +86,18 @@
|
|||||||
<view class="label">申请时间</view>
|
<view class="label">申请时间</view>
|
||||||
<view class="content">{{refundInfo.created_at}}</view>
|
<view class="content">{{refundInfo.created_at}}</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="label">店铺名称</view>
|
||||||
|
<view class="content" v-if="refundInfo.shop">{{refundInfo.shop.name || '-'}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<view class="label">联系电话</view>
|
||||||
|
<view class="content" v-if="refundInfo.shop">{{refundInfo.shop.mobile || '-'}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="call-phone">
|
||||||
|
<view class="call-phone-btn" @click="onCallPhone">联系商家</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -163,6 +169,15 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
onCallPhone(){
|
||||||
|
uni.makePhoneCall({
|
||||||
|
phoneNumber: this.refundInfo.shop.mobile,
|
||||||
|
complete(err) {
|
||||||
|
console.log(err)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -171,6 +186,21 @@
|
|||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.history {}
|
.history {}
|
||||||
|
|
||||||
|
.call-phone{
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
@extend .ios-bottom;
|
||||||
|
background: white;
|
||||||
|
&-btn{
|
||||||
|
text-align: center;
|
||||||
|
line-height: 100rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: $main-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.applyBtn {
|
.applyBtn {
|
||||||
width: 70%;
|
width: 70%;
|
||||||
background-color: $main-color;
|
background-color: $main-color;
|
||||||
@@ -188,7 +218,8 @@
|
|||||||
.afterSales {
|
.afterSales {
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
padding-bottom: calc(env(safe-area-inset-bottom) + 130rpx);
|
||||||
|
padding-bottom: calc(env(safe-area-inset-bottom) + 130rpx);
|
||||||
.plane {
|
.plane {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
@@ -202,10 +233,11 @@
|
|||||||
padding: 60rpx $padding 40rpx $padding;
|
padding: 60rpx $padding 40rpx $padding;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 40rpx;
|
width: 100%;
|
||||||
|
font-size: 26rpx;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
font-weight: bold;
|
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
unpackage/dist/build/app-plus/app-service.js
vendored
4
unpackage/dist/build/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/build/app-plus/app-view.js
vendored
2
unpackage/dist/build/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
12721
unpackage/dist/dev/app-plus/app-service.js
vendored
12721
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
6840
unpackage/dist/dev/app-plus/app-view.js
vendored
6840
unpackage/dist/dev/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user