新增平台公告,新增平台人数统计,新增退货状态与商家联系电话
This commit is contained in:
@@ -34,3 +34,4 @@ export {
|
||||
glz,
|
||||
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",
|
||||
"navigationBarTextStyle": "white"
|
||||
}
|
||||
},{
|
||||
}, {
|
||||
"path": "pages/account/wbtBind",
|
||||
"name": "WbtBind",
|
||||
"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": {
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
<view class="capacity">
|
||||
<view class="capacity-title">共力分总产率/小时<text>{{baseHour}}GLF/h</text></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-title">
|
||||
<view class="title">我的角色</view>
|
||||
@@ -11,12 +17,11 @@
|
||||
</view>
|
||||
<view class="capacity-block">
|
||||
<view class="capacity-block-title">
|
||||
<view class="title">成员产率({{group.effect}}/{{group.count}})<text< /text>
|
||||
</view>
|
||||
<view class="title">成员产率({{group.effect}}/{{group.count}})</view>
|
||||
<view class="capacity-block-glf">{{group.capacity}}GLF/h</view>
|
||||
<!-- <view class="more" @click="onInvitation">邀请更多好友</view> -->
|
||||
</view>
|
||||
<view class="capacity-block-table pt30">
|
||||
<view class="capacity-block-table">
|
||||
<view class="header">
|
||||
<view class="flex-item">家族成员产率</view>
|
||||
</view>
|
||||
@@ -104,7 +109,11 @@
|
||||
build: {},
|
||||
together: {},
|
||||
other: {},
|
||||
can_repeat_sign: false
|
||||
can_repeat_sign: false,
|
||||
userData: {
|
||||
login : '-',
|
||||
online : '-'
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -174,6 +183,7 @@
|
||||
methods: {
|
||||
glz(){
|
||||
glz().then(res => {
|
||||
this.userData = res.userData
|
||||
this.nickname = res.nickname
|
||||
this.identityText = res.identity_text
|
||||
this.baseHour = res.base_hour
|
||||
@@ -340,23 +350,21 @@
|
||||
font-size: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
&-text {
|
||||
font-size: 28rpx;
|
||||
color: gray;
|
||||
line-height: 40rpx;
|
||||
padding-top: 30rpx;
|
||||
padding-top: 10rpx;
|
||||
text{
|
||||
color: $main-color;
|
||||
font-weight: bold;
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
&-table {
|
||||
border: solid 1px $border-color;
|
||||
margin-bottom: 20rpx;
|
||||
padding-top: 30rpx;
|
||||
|
||||
&:last-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
margin-top: 20rpx;
|
||||
.header {
|
||||
background: $border-color;
|
||||
line-height: 50rpx;
|
||||
@@ -364,7 +372,6 @@
|
||||
font-size: 26rpx;
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
border-top: solid 1rpx $border-color;
|
||||
|
||||
@@ -52,6 +52,25 @@
|
||||
</view>
|
||||
<!-- 功能入口 -->
|
||||
<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="house-content">
|
||||
<view class="house-title">DT商城</view>
|
||||
@@ -151,6 +170,7 @@
|
||||
isSign: false,
|
||||
isAccount: false,
|
||||
isOver : false,
|
||||
notices : []
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
@@ -172,6 +192,7 @@
|
||||
// 共力人生
|
||||
getLife() {
|
||||
life().then(res => {
|
||||
this.notices = res.notices
|
||||
this.glz = res.account.glz
|
||||
this.base_hour = res.account.base_hour
|
||||
this.base_seconds = res.account.base_seconds
|
||||
@@ -408,7 +429,39 @@
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
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 {
|
||||
background: white;
|
||||
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"> 本次售后服务将由<span>DT生态平台</span>为您提供服务 </view>
|
||||
</view>
|
||||
|
||||
<view class="plane">
|
||||
<view class="plane-state">
|
||||
<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>
|
||||
</view>
|
||||
|
||||
<view class="goods-item">
|
||||
<image :src="goodsInfo.cover" mode="aspectFill" class="good-img" />
|
||||
<view class="item--content">
|
||||
@@ -25,8 +23,6 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view class="total">
|
||||
<view class="total-item grey">
|
||||
申请金额<text>{{refundInfo.refund_total || '0.00'}} DT</text>
|
||||
@@ -90,8 +86,18 @@
|
||||
<view class="label">申请时间</view>
|
||||
<view class="content">{{refundInfo.created_at}}</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>
|
||||
</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">
|
||||
.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 {
|
||||
width: 70%;
|
||||
background-color: $main-color;
|
||||
@@ -188,7 +218,8 @@
|
||||
.afterSales {
|
||||
background-color: #f9f9f9;
|
||||
min-height: 100vh;
|
||||
|
||||
padding-bottom: calc(env(safe-area-inset-bottom) + 130rpx);
|
||||
padding-bottom: calc(env(safe-area-inset-bottom) + 130rpx);
|
||||
.plane {
|
||||
width: 100%;
|
||||
|
||||
@@ -202,10 +233,11 @@
|
||||
padding: 60rpx $padding 40rpx $padding;
|
||||
|
||||
.title {
|
||||
font-size: 40rpx;
|
||||
width: 100%;
|
||||
font-size: 26rpx;
|
||||
color: #FFFFFF;
|
||||
font-weight: bold;
|
||||
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