Merge remote-tracking branch 'origin/master'
# Conflicts: # api/business/notice.js # pages/components/my-notice-tg.vue
This commit is contained in:
commit
f3f9830d1e
@ -9,6 +9,13 @@ export function bloggerDetail(userId) {
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
//查询通告主详情
|
||||
export function announcerDetail(userId) {
|
||||
return request({
|
||||
url: '/member/member/announcerDetail/' + userId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export function queryDetail(params) {
|
||||
return request({
|
||||
url: '/member/member/queryDetail',
|
||||
@ -24,6 +31,14 @@ export function blackList(params) {
|
||||
params: params
|
||||
})
|
||||
}
|
||||
//删除黑名单
|
||||
export function removeBlackList(params) {
|
||||
return request({
|
||||
url: '/member/blacklist/removeById',
|
||||
method: 'delete',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
//保存博主
|
||||
export function uniSaveMember(data) {
|
||||
return request({
|
||||
|
@ -142,4 +142,12 @@ export function getSignNum(params) {
|
||||
method: '',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
}
|
||||
// 查询当前登录用户通告
|
||||
export function queryListByUserId(params) {
|
||||
return request({
|
||||
url: '/busi/notice/myPublishNoticeList',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
141
components/biner-input-tags/biner-input-tags.vue
Normal file
141
components/biner-input-tags/biner-input-tags.vue
Normal file
@ -0,0 +1,141 @@
|
||||
<template>
|
||||
<view class="box-border">
|
||||
<view class="u-tag clearfixed">
|
||||
<block v-for="(item,index) in selectlist" :key='index'>
|
||||
<view class="tag-label" @click="del(index)">
|
||||
{{item.title}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view>
|
||||
<input class="input-tag" v-model="inputzy" type="text" :placeholder="placeholder" @confirm="confirm">
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
inputzy: ""
|
||||
}
|
||||
},
|
||||
props: {
|
||||
selectlist: {
|
||||
type: Array,
|
||||
default: function() {
|
||||
return []
|
||||
}
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
inputzy(news, olds) {
|
||||
var key = news.trim();
|
||||
var title = key;
|
||||
if (news[0] == ' ' || news[0] == ',' || news[0] == ',') {
|
||||
var title = news.split(news[0])[1];
|
||||
this.inputzy = title;
|
||||
return;
|
||||
}
|
||||
if (news.length != '1' && news[news.length - 1] == ' ' || news[news.length - 1] == ',' || news[news
|
||||
.length - 1] ==
|
||||
',') {
|
||||
title = key.split(news[news.length - 1])[0];
|
||||
title = title.trim();
|
||||
var obj = this.selectlist.find(item => item.title == title);
|
||||
if (obj) {
|
||||
this.inputzy = '';
|
||||
return;
|
||||
}
|
||||
this.selectlist.push({
|
||||
title
|
||||
});
|
||||
this.inputzy = '';
|
||||
this.change();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
confirm(e) {
|
||||
this.changeVal(e.mp.detail.value);
|
||||
},
|
||||
changeVal(news) {
|
||||
var key = news.trim();
|
||||
if (key == '') {
|
||||
this.inputzy = '';
|
||||
return;
|
||||
}
|
||||
var title = key;
|
||||
var obj = this.selectlist.find(item => item.title == title);
|
||||
if (obj) {
|
||||
this.inputzy = '';
|
||||
return;
|
||||
}
|
||||
this.selectlist.push({
|
||||
title
|
||||
});
|
||||
this.inputzy = '';
|
||||
this.change();
|
||||
},
|
||||
del(index) {
|
||||
this.selectlist.splice(index, 1);
|
||||
this.change();
|
||||
},
|
||||
change() {
|
||||
this.$emit('change', this.selectlist);
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.clearfixed::after {
|
||||
content: '';
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.box-border {
|
||||
padding: 20upx 32upx;
|
||||
border-radius: 8upx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/*
|
||||
* u-tag
|
||||
*/
|
||||
.u-tag {
|
||||
.tag-label {
|
||||
border: 1rpx solid #CCCCCC;
|
||||
position: relative;
|
||||
float: left;
|
||||
font-size: 28upx;
|
||||
padding-top: 6rpx;
|
||||
padding-bottom: 6rpx;
|
||||
padding-left: 18rpx;
|
||||
padding-right: 50upx;
|
||||
border-radius: 15rpx;
|
||||
background: white;
|
||||
color: #363636;
|
||||
margin-right: 20upx;
|
||||
margin-bottom: 30upx;
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
content: '×';
|
||||
margin-top: -2upx;
|
||||
right: 20upx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.input-tag {
|
||||
line-height: 50upx;
|
||||
font-size: 28upx;
|
||||
}
|
||||
</style>
|
12
pages.json
12
pages.json
@ -185,6 +185,11 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
}, {
|
||||
"path": "set/evaluate",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "auth/auth-choose",
|
||||
@ -227,6 +232,13 @@
|
||||
"notice-item": "view"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path" : "points/points",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : ""
|
||||
}
|
||||
}
|
||||
]
|
||||
}],
|
||||
|
@ -16,6 +16,7 @@
|
||||
<view class="opt-item" v-if="item.approvalStatus=='2'" @click="updateStatus(1,item.id)">重启</view>
|
||||
<view class="opt-item" @click="goDetail(item.id)">查看详情</view>
|
||||
<view class="opt-item" @click="publish(item)">发类似</view>
|
||||
<view class="opt-item" @click="evaluate(item)">评价(demo)</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -45,6 +46,9 @@
|
||||
publish(item) {
|
||||
this.$tab.navigateTo('/pages/notice/public-notice?sameId=' + item.id)
|
||||
},
|
||||
evaluate(){
|
||||
this.$tab.navigateTo('/pages/mine/set/evaluate')
|
||||
},
|
||||
updateStatus(status, id) {
|
||||
let data = {
|
||||
publishTakeDown: status,
|
||||
@ -134,7 +138,7 @@
|
||||
|
||||
.opt-button-box {
|
||||
width: 100%;
|
||||
font-size: 30rpx;
|
||||
font-size: 26rpx;
|
||||
padding-top: 10rpx;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
@ -153,6 +153,10 @@
|
||||
*/
|
||||
goDetail(id) {
|
||||
this.$tab.navigateTo('/pages/notice/detail?viewMy=true&id=' + id)
|
||||
},
|
||||
goEvaluate() {
|
||||
this.$tab.navigateTo('/pages/mine/set/evaluate')
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -221,4 +225,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -133,7 +133,7 @@
|
||||
} else {
|
||||
this.byList = this.byList.concat(res.data.records)
|
||||
}
|
||||
this.total = res.data.data.total
|
||||
this.total = res.data.total
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -5,16 +5,16 @@
|
||||
<view class="choose-detail">
|
||||
<view class="people-info-box">
|
||||
<view class="image-box">
|
||||
<image src="@/static/images/profile.jpg" mode="aspectFit"></image>
|
||||
<image :src="imageUrl+member.avatar" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="people-name-box">
|
||||
<view class="name-box">
|
||||
<view class="name-dom">资深PR</view>
|
||||
<view class="fans-dom">61关注</view>
|
||||
<view class="name-dom">{{ member.nickName }}</view>
|
||||
<view class="fans-dom">{{ member.tfansNum }}关注</view>
|
||||
</view>
|
||||
<view class="renzheng-dom">
|
||||
<image src="@/static/mine/auth/renzhen.png" mode="aspectFit"></image>
|
||||
认证代运营公司
|
||||
认证{{ member.identityName }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="opt-box">
|
||||
@ -22,10 +22,10 @@
|
||||
<view class="guanzhu">关注</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bozhu-type-box">
|
||||
<view class="item-dom">好物</view>
|
||||
<view class="item-dom">颜值</view>
|
||||
</view>
|
||||
<!-- <view class="bozhu-type-box">-->
|
||||
<!-- <view class="item-dom">好物</view>-->
|
||||
<!-- <view class="item-dom">颜值</view>-->
|
||||
<!-- </view>-->
|
||||
<view class="pingjia-box">
|
||||
<view class="pingjia-content">
|
||||
<view class="top-title">
|
||||
@ -33,22 +33,18 @@
|
||||
合作博主评价:
|
||||
</view>
|
||||
<view class="item-box">
|
||||
<view class="item-dom">定人快(<text>1</text>)</view>
|
||||
<view class="item-dom">审稿快(<text>2</text>)</view>
|
||||
<view class="item-dom">审稿快(<text>2</text>)</view>
|
||||
<view class="item-dom">审稿快(<text>2</text>)</view>
|
||||
<view class="item-dom">审稿快(<text>2</text>)</view>
|
||||
<view v-for="item in member.evaluates" class="item-dom">{{item.evaluate}}(<text>{{ item.num }}</text>)</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="dl-title">
|
||||
<image src="@/static/mine/auth/dian.png" mode="aspectFit"></image>
|
||||
<text>进行中的通告(<text>14</text>)</text>
|
||||
<text>进行中的通告(<text>{{total}}</text>)</text>
|
||||
</view>
|
||||
<view class="data-list-box">
|
||||
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower="onReachBottomCus" refresher-enabled
|
||||
@refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered">
|
||||
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
|
||||
<notice-item v-if="dataList.length>0" :dataList="dataList" ></notice-item>
|
||||
<view style="text-align: center" v-if="dataList.length==0">
|
||||
<image class="" src="@/static/images/nothing.png"></image>
|
||||
</view>
|
||||
@ -59,11 +55,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
toast
|
||||
} from '@/utils/common.js'
|
||||
import {toast} from '@/utils/common.js'
|
||||
import {queryListByUserId} from '@/api/business/notice.js'
|
||||
import {announcerDetail} from '@/api/business/member.js'
|
||||
import noticeItem from '@/pages/components/notice-item.vue'
|
||||
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||
import config from '@/config'
|
||||
export default {
|
||||
components: {
|
||||
navigationBarVue,
|
||||
@ -71,17 +68,55 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
imageUrl: config.baseUrl,
|
||||
member:{},
|
||||
dataList: ['', ''],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
pageSize: 10,
|
||||
userId:null,
|
||||
status:'进行中',
|
||||
},
|
||||
userId:null,
|
||||
total: 0,
|
||||
//下来刷新状态
|
||||
isTriggered: false
|
||||
}
|
||||
},
|
||||
|
||||
onLoad(option){
|
||||
this.userId = option.userId
|
||||
this.queryParams.userId = option.userId
|
||||
this.initMember()
|
||||
this.initNotice()
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
/**出初始化通告主详情*/
|
||||
initMember(){
|
||||
announcerDetail(this.userId).then(res=>{
|
||||
if (res.code ==200){
|
||||
this.member = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**初始化通告列表*/
|
||||
initNotice(){
|
||||
queryListByUserId(this.queryParams).then(res=>{
|
||||
this.isTriggered = false
|
||||
if (res.code == 200){
|
||||
if (this.queryParams.pageNum == 1) {
|
||||
this.dataList = res.data.records
|
||||
} else {
|
||||
this.dataList = this.dataList.concat(res.data.records)
|
||||
}
|
||||
this.total = res.data.total
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 上滑加载数据
|
||||
*/
|
||||
@ -93,6 +128,7 @@
|
||||
}
|
||||
//页码+1,调用获取数据的方法获取第二页数据
|
||||
this.queryParams.pageNum++
|
||||
this.initNotice()
|
||||
},
|
||||
/**
|
||||
* 下拉刷新数据
|
||||
@ -101,6 +137,7 @@
|
||||
this.isTriggered = true
|
||||
this.queryParams.pageNum = 1
|
||||
this.total = 0
|
||||
this.initNotice()
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -59,7 +59,7 @@
|
||||
</view>
|
||||
<!-- 积分 -->
|
||||
<view class="points-box" v-if="'02'==localUserType">
|
||||
<view class="item-box">
|
||||
<view class="item-box" @click="goPoints()">
|
||||
<view class="item-text-box">
|
||||
<view>积分<text class="red-text">{{userInfo.pointsBalance||'0'}}</text></view>
|
||||
<view class="dl-little">赚积分<uni-icons type="right" size="10">{{item.unicode}}</uni-icons></view>
|
||||
@ -78,13 +78,13 @@
|
||||
<view class="public-notice-box" v-if="'01'==localUserType">
|
||||
<view class="left-box">
|
||||
<view style="margin-bottom: 20rpx;">发布通告额度剩余{{userInfo.coupon}}条</view>
|
||||
<!-- <progress style="width: 90%;" border-radius="5" percent="40" activeColor="#FC1F3E"-->
|
||||
<!-- backgroundColor="#DEDEDE" stroke-width="8" />-->
|
||||
<!-- <progress style="width: 90%;" border-radius="5" percent="40" activeColor="#FC1F3E"-->
|
||||
<!-- backgroundColor="#DEDEDE" stroke-width="8" />-->
|
||||
</view>
|
||||
<!-- <view class="right-box">-->
|
||||
<!-- 获取更多-->
|
||||
<!-- <uni-icons type="right" color="#623109" size="12"></uni-icons>-->
|
||||
<!-- </view>-->
|
||||
<!-- <view class="right-box">-->
|
||||
<!-- 获取更多-->
|
||||
<!-- <uni-icons type="right" color="#623109" size="12"></uni-icons>-->
|
||||
<!-- </view>-->
|
||||
</view>
|
||||
</view>
|
||||
<!-- 个人信息和其他信息 -->
|
||||
@ -170,7 +170,9 @@
|
||||
import tabBarVue from '@/components/tabbar/tabBar.vue'
|
||||
import storage from '@/utils/storage'
|
||||
import constant from '@/utils/constant';
|
||||
import {changeUserType} from '@/utils/common.js'
|
||||
import {
|
||||
changeUserType
|
||||
} from '@/utils/common.js'
|
||||
import config from '@/config'
|
||||
import {
|
||||
getJSONData,
|
||||
@ -201,8 +203,8 @@
|
||||
//是否已开通会员
|
||||
ifHasCard: false,
|
||||
userInfo: {
|
||||
coupon:0
|
||||
},
|
||||
coupon: 0
|
||||
},
|
||||
imageUrl: config.baseUrl,
|
||||
//公众号二维码
|
||||
wechat_img: constant.wechat_img,
|
||||
@ -267,7 +269,7 @@
|
||||
* 跳转建议列表
|
||||
*/
|
||||
goSuggest() {
|
||||
this.$tab.navigateTo('/pages/mine/set/suggest?userType='+this.localUserType)
|
||||
this.$tab.navigateTo('/pages/mine/set/suggest?userType=' + this.localUserType)
|
||||
},
|
||||
/**
|
||||
* 跳转地址列表
|
||||
@ -279,7 +281,8 @@
|
||||
this.$tab.navigateTo('/pages/mine/auth/auth-choose')
|
||||
},
|
||||
goCoupon() {
|
||||
this.$tab.navigateTo('/pages/mine/coupon/coupon-list?userId='+this.userInfo.userId + '&coupon='+this.userInfo.coupon)
|
||||
this.$tab.navigateTo('/pages/mine/coupon/coupon-list?userId=' + this.userInfo.userId + '&coupon=' + this
|
||||
.userInfo.coupon)
|
||||
},
|
||||
goHistory() {
|
||||
this.$tab.navigateTo('/pages/mine/history/history')
|
||||
@ -287,6 +290,12 @@
|
||||
goMemberCard() {
|
||||
this.$tab.navigateTo('/pages/mine/member/member-card?userType=' + this.localUserType)
|
||||
},
|
||||
/**
|
||||
* 去积分列表
|
||||
*/
|
||||
goPoints() {
|
||||
this.$tab.navigateTo('/pages/mine/points/points')
|
||||
},
|
||||
/**
|
||||
* 跳转编辑页
|
||||
*/
|
||||
@ -506,6 +515,8 @@
|
||||
}
|
||||
|
||||
.dl-right {
|
||||
padding-right: 20rpx;
|
||||
|
||||
.dl-go-view {
|
||||
font-size: 28rpx;
|
||||
display: flex;
|
||||
|
424
pages/mine/points/points.vue
Normal file
424
pages/mine/points/points.vue
Normal file
@ -0,0 +1,424 @@
|
||||
<template>
|
||||
<view class="suggest-content">
|
||||
<navigation-bar-vue title="积分明细" style="width: 100%;" background-color="#ffffff"
|
||||
title-color="#000000"></navigation-bar-vue>
|
||||
<view class="card-detail">
|
||||
<view class="top-box">
|
||||
<view class="left-dom">
|
||||
<view class="left-dom-top">
|
||||
<image src="@/static/mine/points.png" mode="aspectFit">
|
||||
</image>可用积分
|
||||
</view>
|
||||
<view class="left-dom-bottom">{{formatNumberWithCommas(56320)}}</view>
|
||||
</view>
|
||||
<view class="right-dom" @click="outData()">提现</view>
|
||||
</view>
|
||||
<view v-if="!ifMember" class="huiyuan-box">
|
||||
<view class="dl-member-box" @click="goMemberCard()">
|
||||
<view class="dl-left">
|
||||
<image class="dl-icon" src="@/static/index/zuanshi.png" mode="aspectFit"></image>
|
||||
<text>开通会员 解锁更多权益</text>
|
||||
</view>
|
||||
<view class="dl-right">
|
||||
<view class="dl-go-view">立即开通</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="data-list-box">
|
||||
<view class="content-box">
|
||||
<view class="dl-opt-box">
|
||||
<view class="dl-menu-box" v-for="(item,index) in menus">
|
||||
<view @click="itemClick(index,item)" class="dl-menu"
|
||||
:class="index==menuIndex?'dl-menu click':'dl-menu'">{{item}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view :class="['data-list',!ifMember?'no-member':'member']">
|
||||
<scroll-view style="height: 100%;" scroll-y="true" @scrolltolower="onReachBottomCus"
|
||||
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered">
|
||||
<view class="item-dom" v-for="(item,index) in dataList">
|
||||
<view class="center-box">
|
||||
<view class="dl-notice-title">
|
||||
<view class="dl-text">{{item.title}}</view>
|
||||
</view>
|
||||
<view class="dl-bottom-text">{{item.createTime}}</view>
|
||||
</view>
|
||||
<view :class="['right-box','1'==item.type?'red-text':'']">
|
||||
{{'1'==item.type?'+':'-'}}{{item.points}}
|
||||
</view>
|
||||
</view>
|
||||
<view style="text-align: center" v-if="dataList.length==0">
|
||||
<image class="" src="@/static/images/nothing.png"></image>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 输入框示例 -->
|
||||
<uni-popup ref="inputDialog" type="dialog">
|
||||
<uni-popup-dialog ref="inputClose" mode="input" title="积分提现" placeholder="请输入提现金额"
|
||||
@confirm="dialogInputConfirm"></uni-popup-dialog>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||
import {
|
||||
formatNumberWithCommas
|
||||
} from '@/utils/common.js'
|
||||
export default {
|
||||
components: {
|
||||
navigationBarVue,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//是否是会员
|
||||
ifMember: true,
|
||||
menus: ['积分收支明细'],
|
||||
menuIndex: 0,
|
||||
//积分明细
|
||||
dataList: [{
|
||||
fromCode: "",
|
||||
fromCodeText: "签到送积分",
|
||||
title: "用户签到,增加10积分",
|
||||
type: "1",
|
||||
points: 20,
|
||||
createTime: "2024-02-03 12:20:20"
|
||||
}, {
|
||||
fromCode: "",
|
||||
fromCodeText: "签到送积分",
|
||||
title: "用户签到,增加10积分",
|
||||
type: "1",
|
||||
points: 20,
|
||||
createTime: "2024-02-03 12:20:20"
|
||||
}],
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
total: 0,
|
||||
//下来刷新状态
|
||||
isTriggered: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 格式化数字
|
||||
* @param {Object} number
|
||||
*/
|
||||
formatNumberWithCommas(number) {
|
||||
return formatNumberWithCommas(number)
|
||||
},
|
||||
/**
|
||||
* 提现
|
||||
*/
|
||||
outData() {
|
||||
this.$refs.inputDialog.open()
|
||||
},
|
||||
dialogInputConfirm(val) {
|
||||
console.log(val)
|
||||
// 关闭窗口后,恢复默认内容
|
||||
this.$refs.inputDialog.close()
|
||||
},
|
||||
/**
|
||||
* 菜单点击
|
||||
* @param {Object} index
|
||||
* @param {Object} item
|
||||
*/
|
||||
itemClick(index, item) {
|
||||
this.menuIndex = index
|
||||
this.onRefresherrefresh()
|
||||
},
|
||||
/**
|
||||
* 上滑加载数据
|
||||
*/
|
||||
onReachBottomCus() {
|
||||
//判断 如果页码*页容量大于等于总条数,提示该页数据加载完毕
|
||||
if (this.queryParams.pageNum * this.queryParams.pageSize >= this.total) {
|
||||
toast("没有更多数据了")
|
||||
return
|
||||
}
|
||||
//页码+1,调用获取数据的方法获取第二页数据
|
||||
this.queryParams.pageNum++
|
||||
},
|
||||
/**
|
||||
* 下拉刷新数据
|
||||
*/
|
||||
onRefresherrefresh() {
|
||||
this.isTriggered = true
|
||||
this.queryParams.pageNum = 1
|
||||
this.total = 0
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.suggest-content {
|
||||
padding-top: calc(90rpx + var(--status-bar-height));
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
color: #363636;
|
||||
font-size: 32rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
.card-detail {
|
||||
border-top: 1rpx solid #F2F2F2;
|
||||
background-color: #F2F2F2;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
.top-box {
|
||||
padding: 20rpx 40rpx 0 40rpx;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.left-dom {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
|
||||
.left-dom-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 26rpx;
|
||||
justify-content: center;
|
||||
|
||||
image {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.left-dom-bottom {
|
||||
padding: 20rpx 0;
|
||||
font-size: 37rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.right-dom {
|
||||
text-align: center;
|
||||
width: 200rpx;
|
||||
padding: 10rpx 40rpx;
|
||||
background-color: #FC1F3E;
|
||||
color: white;
|
||||
border-radius: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.huiyuan-box {
|
||||
width: 100%;
|
||||
padding: 0 30rpx;
|
||||
|
||||
.dl-member-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10rpx;
|
||||
border-radius: 35rpx;
|
||||
justify-content: center;
|
||||
height: 100rpx;
|
||||
width: 100%;
|
||||
background: url('/static/index/member-bg.png');
|
||||
background-size: 100% 100%;
|
||||
background-position: center;
|
||||
/* 图片居中显示 */
|
||||
background-repeat: no-repeat;
|
||||
/* 不重复背景图片 */
|
||||
|
||||
.dl-left {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
padding-left: 30rpx;
|
||||
align-items: center;
|
||||
font-size: 30rpx;
|
||||
color: #623109;
|
||||
justify-content: left;
|
||||
|
||||
.dl-icon {
|
||||
width: 60rpx;
|
||||
height: 56rpx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.dl-right {
|
||||
padding-right: 20rpx;
|
||||
|
||||
.dl-go-view {
|
||||
font-size: 28rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #F5D8A5;
|
||||
color: #623109;
|
||||
padding: 10rpx 25rpx;
|
||||
float: right;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.data-list-box {
|
||||
width: 100%;
|
||||
padding: 20rpx 20rpx 0 20rpx;
|
||||
|
||||
.content-box {
|
||||
width: 100%;
|
||||
background-color: white;
|
||||
border-radius: 30rpx;
|
||||
|
||||
.dl-opt-box {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
border-radius: 30rpx 30rpx 0 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-bottom: 1rpx solid #F4F4F4;
|
||||
|
||||
.dl-menu-box {
|
||||
color: #929292;
|
||||
display: flex;
|
||||
flex: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
padding-top: 20rpx;
|
||||
|
||||
.dl-menu {
|
||||
font-size: 30rpx;
|
||||
margin: 0 20rpx;
|
||||
padding-bottom: 15rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.click {
|
||||
color: #FF434E;
|
||||
font-weight: bold;
|
||||
border-bottom: 2px solid #FF434E;
|
||||
}
|
||||
}
|
||||
|
||||
.seting {
|
||||
font-size: 30rpx;
|
||||
width: 180rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.no-member {
|
||||
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 450rpx);
|
||||
}
|
||||
|
||||
.member {
|
||||
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 340rpx);
|
||||
}
|
||||
|
||||
.data-list {
|
||||
width: 100%;
|
||||
padding: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
|
||||
.item-dom {
|
||||
padding: 15rpx 0;
|
||||
border-bottom: 1rpx solid #F8F8F8;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.left-img {
|
||||
width: 100rpx;
|
||||
|
||||
image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.center-box {
|
||||
flex: 1;
|
||||
padding-left: 10rpx;
|
||||
min-width: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
|
||||
.dl-notice-title {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
padding-bottom: 10rpx;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.dl-image {
|
||||
flex: none;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
|
||||
.dl-text {
|
||||
margin-left: 10rpx;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.dl-bottom-text {
|
||||
font-size: 25rpx;
|
||||
color: #929292;
|
||||
}
|
||||
}
|
||||
|
||||
.right-box {
|
||||
width: 120rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.red-text {
|
||||
color: #FC1F3E;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -39,7 +39,7 @@
|
||||
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||
import {toast} from '@/utils/common.js'
|
||||
import config from '@/config';
|
||||
import {blackList} from '@/api/business/member.js';
|
||||
import {blackList,removeBlackList} from '@/api/business/member.js';
|
||||
export default {
|
||||
components: {
|
||||
navigationBarVue
|
||||
@ -80,7 +80,7 @@
|
||||
} else {
|
||||
this.dataList = this.dataList.concat(res.data.records)
|
||||
}
|
||||
this.total = res.data.data.total
|
||||
this.total = res.data.total
|
||||
}
|
||||
})
|
||||
},
|
||||
@ -107,7 +107,13 @@
|
||||
this.total = 0
|
||||
this.initData()
|
||||
},
|
||||
remove(id) {}
|
||||
remove(id) {
|
||||
removeBlackList({id:id}).then(res=>{
|
||||
if (res.code ==200){
|
||||
this.initData()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
216
pages/mine/set/evaluate.vue
Normal file
216
pages/mine/set/evaluate.vue
Normal file
@ -0,0 +1,216 @@
|
||||
<template>
|
||||
<view class="suggest-content">
|
||||
<navigation-bar-vue title="评价" style="width: 100%;" background-color="#ffffff"
|
||||
title-color="#000000"></navigation-bar-vue>
|
||||
<view class="card-detail">
|
||||
<view class="item-field">
|
||||
<view class="item-lable is-required">
|
||||
你觉得参与本次通告体验如何?<text>(1-10分)</text>
|
||||
</view>
|
||||
<view class="item-value">
|
||||
<uni-rate :max="10" :value="dataObj.rate" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-field">
|
||||
<view class="item-lable is-required">
|
||||
分享你的参与感受,帮助更多小伙伴~
|
||||
</view>
|
||||
<view class="item-value">
|
||||
<biner-input-tags @change="change" :selectlist='selectlist' :disabled='disabled'
|
||||
:placeholder='placeholder'></biner-input-tags>
|
||||
<view class="item-dom-box">
|
||||
<view class="item-dom" v-for="(item,index) in tips" @click="chooseObj(item)">{{item}}</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="line-row-bottom">
|
||||
<uni-data-checkbox @change="chooseBoxFun($event,'isRead')" multiple :localdata="readBookList" />
|
||||
<text class="text-red">你的头像和昵称将在评价中隐藏</text>
|
||||
</view>
|
||||
<view class="item-field" style="align-items: center;">
|
||||
<view class="submit-box" @click="submitForm">提交</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import navigationBarVue from '@/components/navigation/navigationBar.vue';
|
||||
// 引入biner-input-tags
|
||||
import binerInputTags from '@/components/biner-input-tags/biner-input-tags'
|
||||
export default {
|
||||
components: {
|
||||
navigationBarVue,
|
||||
binerInputTags
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
disabled: false, //不禁用
|
||||
// 默认的数组 不填默认的是空数组
|
||||
selectlist: [{
|
||||
title: '专业'
|
||||
}],
|
||||
// 默认提示
|
||||
placeholder: '请输入评价',
|
||||
dataObj: {
|
||||
rate: 0,
|
||||
},
|
||||
tips: ["定人快", "审稿快", "提现快"],
|
||||
readBookList: [{
|
||||
text: '匿名评价',
|
||||
value: true
|
||||
}],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 监听变化的数据
|
||||
change(arr) {
|
||||
this.selectlist = arr
|
||||
},
|
||||
/**提交*/
|
||||
submitForm() {},
|
||||
/**
|
||||
* 去我的建议列表
|
||||
*/
|
||||
goMySuggest() {
|
||||
this.$tab.navigateTo('/pages/mine/set/my-suggest')
|
||||
},
|
||||
chooseObj(item) {
|
||||
this.selectlist.push({
|
||||
title: item
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.suggest-content {
|
||||
padding-top: calc(90rpx + var(--status-bar-height));
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
color: #363636;
|
||||
font-size: 32rpx;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
.card-detail {
|
||||
border-top: 1rpx solid #F2F2F2;
|
||||
width: 100%;
|
||||
padding: 20rpx 30rpx;
|
||||
background-color: white;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
|
||||
.line-row-bottom {
|
||||
width: 100%;
|
||||
margin-top: 20rpx;
|
||||
font-size: 30rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.text-red {
|
||||
font-size: 24rpx;
|
||||
color: #929292;
|
||||
}
|
||||
}
|
||||
|
||||
.item-field {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: self-start;
|
||||
justify-content: center;
|
||||
|
||||
.item-lable {
|
||||
padding: 15rpx 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
text {
|
||||
color: #929292;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.item-value {
|
||||
width: 100%;
|
||||
|
||||
input {
|
||||
padding-left: 20rpx;
|
||||
line-height: 1;
|
||||
height: 70rpx;
|
||||
border: 1rpx solid #dcdfe6;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
.choose-add {
|
||||
color: #686868;
|
||||
padding: 10rpx 0 10rpx 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
border: 1rpx solid #dcdfe6;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
height: 150rpx;
|
||||
color: #686868;
|
||||
padding: 10rpx 0 10rpx 20rpx;
|
||||
border: 1rpx solid #dcdfe6;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
.item-dom-box {
|
||||
width: 100%;
|
||||
|
||||
.item-dom {
|
||||
font-size: 28rpx;
|
||||
border: 1rpx solid #CCCCCC;
|
||||
border-radius: 15rpx;
|
||||
float: left;
|
||||
padding: 6rpx 18rpx;
|
||||
margin: 0 0 20rpx 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.submit-box {
|
||||
padding: 15rpx 0;
|
||||
background-color: #FC1F3E;
|
||||
color: white;
|
||||
width: 70%;
|
||||
border-radius: 10rpx;
|
||||
margin-top: 15rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.my-suggest-dom {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 22rpx;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.checklist-box {
|
||||
margin-right: 10rpx !important;
|
||||
}
|
||||
</style>
|
@ -85,7 +85,7 @@
|
||||
return item;
|
||||
});
|
||||
}
|
||||
this.total = res.data.data.total
|
||||
this.total = res.data.total
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="suggest-content">
|
||||
<navigation-bar-vue title="意见反馈" style="width: 100%;" background-color="#ffffff"
|
||||
<navigation-bar-vue title="评价" style="width: 100%;" background-color="#ffffff"
|
||||
title-color="#000000"></navigation-bar-vue>
|
||||
<view class="card-detail">
|
||||
<view class="item-field">
|
||||
|
@ -401,7 +401,7 @@
|
||||
.noticeId)
|
||||
},
|
||||
goMemberIndex() {
|
||||
this.$tab.navigateTo('/pages/mine/member/member-index')
|
||||
this.$tab.navigateTo('/pages/mine/member/member-index?userId='+this.userDetail.userId)
|
||||
},
|
||||
/**
|
||||
* 去报名列表
|
||||
|
BIN
static/mine/points.png
Normal file
BIN
static/mine/points.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
@ -4,6 +4,7 @@
|
||||
<view class="file-picker__box-content" :style="borderStyle">
|
||||
<image class="file-image" :src="item.url" mode="aspectFill" @click.stop="prviewImage(item,index)">
|
||||
</image>
|
||||
<text>{{item.url}}</text>
|
||||
<view v-if="delIcon && !readonly" class="icon-del-box" @click.stop="delFile(index)">
|
||||
<view class="icon-del"></view>
|
||||
<view class="icon-del rotate"></view>
|
||||
|
@ -213,3 +213,11 @@ export function getTextByIdentityType(key) {
|
||||
return "电商"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化数字
|
||||
* @param {Object} number
|
||||
*/
|
||||
export function formatNumberWithCommas(number) {
|
||||
return new Intl.NumberFormat().format(number);
|
||||
}
|
Loading…
Reference in New Issue
Block a user