This commit is contained in:
jiangnan 2023-08-03 13:02:20 +08:00
commit ef22c199f6
9 changed files with 732 additions and 454 deletions

View File

@ -612,6 +612,14 @@
"enablePullDownRefresh": false
}
},
//
{
"path": "xxgl/index",
"style": {
"navigationBarTitleText": "下乡管理",
"enablePullDownRefresh": false
}
},
// 线
{
"path": "xskz/index",
@ -620,12 +628,15 @@
"enablePullDownRefresh": false
}
},
// 线
// 线-
{
"path": "xskz/details",
"style": {
"navigationBarTitleText": "线上看展-详情",
"enablePullDownRefresh": false
"enablePullDownRefresh": false,
"usingComponents": {
"player-component": "plugin://player/video"
}
}
}
]

View File

@ -4,7 +4,7 @@
<u-loading-page :loading="load"></u-loading-page>
</view>
<view v-if="load == false">
<view class="top" :style="{ 'height': titleHeight + 'px' }">
<view class="top" :style="{ height: titleHeight + 'px' }">
<image class="bg" src="../../static/MyBg.png" mode=""></image>
<view class="avator_box" @click="GoPersonalCenter">
<view class="tou">
@ -33,25 +33,19 @@
<view class="nums">
{{ care }}
</view>
<view class="itms_name">
关注
</view>
<view class="itms_name"> 关注 </view>
</view>
<view class="fans_itm" @click="toCol()">
<view class="nums">
{{ colNum }}
</view>
<view class="itms_name">
收藏
</view>
<view class="itms_name"> 收藏 </view>
</view>
<view class="fans_itm" @click="toFans()">
<view class="nums">
{{ fans }}
</view>
<view class="itms_name">
粉丝
</view>
<view class="itms_name"> 粉丝 </view>
</view>
</view>
<view class="jifen_box">
@ -73,47 +67,35 @@
<image src="../../static/DunIcon.png" mode=""></image>
</view>
<view class="ji_word_box">
<view class="ji_word_title">
我的交易
</view>
<view class="ji_con">
作品交易订单
</view>
<view class="ji_word_title"> 我的交易 </view>
<view class="ji_con"> 作品交易订单 </view>
</view>
</view>
</view>
<view class="content_bott">
<view class="content_bott_itm" @click="toWork()">
<view class="content_bott_wods">
我的作品
</view>
<view class="content_bott_wods"> 我的作品 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" @click="tohdM()">
<view class="content_bott_wods">
活动管理
</view>
<view class="content_bott_wods"> 活动管理 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" @click="toOrderControl()">
<view class="content_bott_wods">
点单管理
</view>
<view class="content_bott_wods"> 点单管理 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" >
<view class="content_bott_itm" @click="toCountryside()">
<!-- @click="" -->
<view class="content_bott_wods">
下乡管理
</view>
<view class="content_bott_wods"> 下乡管理 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
@ -127,19 +109,14 @@
</view>
</view> -->
<view class="content_bott_itm" @click="myNews()">
<view class="content_bott_wods">
消息
</view>
<view class="content_bott_wods"> 消息 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
</view>
<view class="content_bott_itm" @click="toSz()">
<view class="content_bott_wods">
设置
</view>
<view class="content_bott_wods"> 设置 </view>
<view class="content_bott_arrow">
<image src="../../static/rightArrow.png" mode=""></image>
</view>
@ -147,215 +124,238 @@
</view>
</view>
<u-gap height="50" bgColor="#F4F5F7"></u-gap>
<tabbar tabbarId='5'></tabbar>
<tabbar tabbarId="5"></tabbar>
</view>
</view>
</template>
<script>
export default {
data () {
data() {
return {
load: true,
image: '',
userName: '',
userId: '',
point: '',
colNum: '',
fans: '',
care: '',
yhsf: '',
image: "",
userName: "",
userId: "",
point: "",
colNum: "",
fans: "",
care: "",
yhsf: "",
isUnread: false,
statusHeight: 0,
titleHeight: 90,
};
},
onReady () {
onReady() {
const systemMsg = uni.getSystemInfoSync();
this.statusHeight = systemMsg.statusBarHeight
this.statusHeight = systemMsg.statusBarHeight;
// #ifdef MP-WEIXIN
const menuButtonInfo = uni.getMenuButtonBoundingClientRect() //
this.titleHeight = 90 + menuButtonInfo.height + (menuButtonInfo.top - systemMsg.statusBarHeight) * 2
const menuButtonInfo = uni.getMenuButtonBoundingClientRect(); //
this.titleHeight =
90 +
menuButtonInfo.height +
(menuButtonInfo.top - systemMsg.statusBarHeight) * 2;
// #endif
},
onShow () {
this.getUserInfo()
onShow() {
this.getUserInfo();
},
methods: {
//
getUserInfo () {
let _this = this
this.http.request('/user/userInfo', {}, "GET").then(res => {
if (res.code == 200) {
// let img = JSON.parse(res.data.images)
this.image = res.data.images
this.userName = res.data.userName
this.userId = res.data.id
this.yhsf = res.data.yhsf
this.point = res.data.point
this.getCol()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
getUserInfo() {
let _this = this;
this.http
.request("/user/userInfo", {}, "GET")
.then((res) => {
if (res.code == 200) {
// let img = JSON.parse(res.data.images)
this.image = res.data.images;
this.userName = res.data.userName;
this.userId = res.data.id;
this.yhsf = res.data.yhsf;
this.point = res.data.point;
this.getCol();
}
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
})
},
//
getCol () {
this.http.request('/worksCollection', {}, "GET").then(res => {
if (res.code == 200) {
if (res.data.length == 0) {
this.colNum = 0
} else {
this.colNum = res.data.total
getCol() {
this.http
.request("/worksCollection", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length == 0) {
this.colNum = 0;
} else {
this.colNum = res.data.total;
}
this.getCare();
}
this.getCare()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
})
},
//
getCare () {
this.http.request('/userFollow/myFollow', {}, "GET").then(res => {
if (res.code == 200) {
if (res.data.length == 0) {
this.care = 0
} else {
this.care = res.data.total
getCare() {
this.http
.request("/userFollow/myFollow", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length == 0) {
this.care = 0;
} else {
this.care = res.data.total;
}
this.getFans();
}
this.getFans()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
})
},
//
getFans () {
this.http.request('/userFollow/myFans', {}, "GET").then(res => {
if (res.code == 200) {
if (res.data.length == 0) {
this.fans = 0
} else {
this.fans = res.data.total
getFans() {
this.http
.request("/userFollow/myFans", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length == 0) {
this.fans = 0;
} else {
this.fans = res.data.total;
}
this.load = false;
}
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
})
},
//
getTalkList () {
let _this = this
this.http.request('/chat/lists', {}, "GET").then(res => {
if (res.code == 200) {
if (res.data.length > 0) {
res.data.forEach(function (item) {
if (item.unread > 0)
_this.isUnread = true
})
getTalkList() {
let _this = this;
this.http
.request("/chat/lists", {}, "GET")
.then((res) => {
if (res.code == 200) {
if (res.data.length > 0) {
res.data.forEach(function (item) {
if (item.unread > 0) _this.isUnread = true;
});
}
}
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
})
.catch((e) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
})
},
//
gopointsPg () {
gopointsPg() {
uni.navigateTo({
url: "/pagesB/MyPoints/MyPoints"
})
url: "/pagesB/MyPoints/MyPoints",
});
},
//
goOrderDetails () {
goOrderDetails() {
uni.navigateTo({
url: "/pagesB/MyOrder/MyOrder"
})
url: "/pagesB/MyOrder/MyOrder",
});
},
//
GoPersonalCenter () {
GoPersonalCenter() {
uni.navigateTo({
url: "/pagesB/PersonalCenter/PersonalCenter"
})
url: "/pagesB/PersonalCenter/PersonalCenter",
});
},
//
toCol () {
toCol() {
uni.navigateTo({
url: "/pagesA/my/myCollection"
})
url: "/pagesA/my/myCollection",
});
},
//
toFollow () {
toFollow() {
uni.navigateTo({
url: "/pagesA/my/myFollow?tab=0"
})
url: "/pagesA/my/myFollow?tab=0",
});
},
//
toFans () {
toFans() {
uni.navigateTo({
url: "/pagesA/my/myFollow?tab=1"
})
url: "/pagesA/my/myFollow?tab=1",
});
},
//
toWork () {
toWork() {
uni.navigateTo({
url: "/pagesA/my/myWoekList",
})
});
},
//
toOrderControl () {
toOrderControl() {
uni.navigateTo({
//
url: "OrderActControl",
})
});
},
//
toCountryside() {
uni.navigateTo({
//
url: "/pagesD/xxgl/index",
});
},
//
toAddress () {
toAddress() {
uni.navigateTo({
url: "/pagesA/ReceivingAddress/ReceivingAddress",
})
});
},
//
toSz () {
toSz() {
uni.navigateTo({
url: "/pagesA/my/logOut"
})
url: "/pagesA/my/logOut",
});
},
//
tohdM () {
tohdM() {
uni.navigateTo({
url: "/pagesA/activeManage/activeManage",
})
});
},
//
myNews () {
myNews() {
uni.navigateTo({
url: "/pagesA/msg/msg"
})
}
}
}
url: "/pagesA/msg/msg",
});
},
},
};
</script>
<style>
page {
background-color: #F4F5F7;
background-color: #f4f5f7;
}
</style>
@ -395,7 +395,7 @@ image {
margin-left: 24rpx;
.user_name_de {
color: #251B1D;
color: #251b1d;
font-size: 40rpx;
font-weight: 600;
@ -420,10 +420,9 @@ image {
.words {
margin-top: 16rpx;
color: #AFADB0;
color: #afadb0;
font-size: 24rpx;
}
}
.arrow {
@ -431,10 +430,8 @@ image {
height: 48rpx;
}
}
}
.content_area {
padding: 0 32rpx;
margin-bottom: 120rpx;
@ -447,18 +444,18 @@ image {
height: 160rpx;
border: 1px solid transparent;
border-radius: 8px;
background-color: #FFFFFF;
background-color: #ffffff;
.fans_itm {
.nums {
color: #251B1D;
color: #251b1d;
font-weight: bold;
font-family: DIN-Bold, DIN;
font-size: 16px;
}
.itms_name {
color: #AFADB0;
color: #afadb0;
font-size: 24rpx;
margin-top: 16rpx;
}
@ -477,7 +474,7 @@ image {
display: flex;
width: 332rpx;
height: 136rpx;
background-color: #FFFFFF;
background-color: #ffffff;
border-radius: 8px;
.ji_ico {
@ -492,12 +489,12 @@ image {
.ji_word_title {
font-size: 28rpx;
color: #251B1D;
color: #251b1d;
font-weight: 600;
}
.ji_con {
color: #AFADB0;
color: #afadb0;
font-size: 24rpx;
font-weight: 400;
margin-top: 8rpx;
@ -508,7 +505,7 @@ image {
.content_bott {
padding: 32rpx;
background-color: #FFFFFF;
background-color: #ffffff;
border-radius: 8px;
.content_bott_itm {
@ -519,7 +516,7 @@ image {
.content_bott_wods {
font-size: 28rpx;
color: #251B1D;
color: #251b1d;
font-weight: 600;
}

View File

@ -8,12 +8,12 @@
<u-tabs :list="list1" @click="click" lineColor="#99241B"></u-tabs>
</view>
<view class="art_race_itm" v-for="(v,i) in dataList" :key="i" @click="goRaceDetail(v.id)">
<image style="width: 100%; height: 296rpx;" src="../../static/orderE.png" mode=""></image>
<image style="width: 100%; height: 296rpx;" :src="v.file" mode=""></image>
<view class="art_race_bot">
<text class="art_title">{{v.title}}</text>
<text class="art_title">{{v.name}}</text>
<view class="art_race_con u-line-2">{{v.content}}</view>
<view class="art_race_con">
截止时间{{v.time}}
截止时间{{v.endTime}}
</view>
</view>
</view>
@ -25,86 +25,87 @@
export default {
data() {
return {
load: false,
load: true,
list1: [{
name: '关注',
},
{
name: '推荐',
},
{
name: '电影'
},
{
name: '科技'
},
{
name: '音乐'
},
{
name: '美食'
},
{
name: '文化'
},
{
name: '财经'
},
{
name: '手工'
}
],
dataList: [{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
},
{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
},
{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
},
{
id: '111',
title: '艺起战疫',
content: '寒冬虽冷,美术工作者们以画传心,心是热的;疫情虽紧,艺术家们以笔墨为歌,信心是充足的。在市委宣传部和市递正能量,吹响新时代的',
time: '2023-09-30 20:00'
}
],
name: '全部',
value: '',
}],
dataList: [],
pages: 1,
size: 20,
type: ''
};
},
onLoad() {
this.getType()
},
//
onPullDownRefresh() {
this.pages = 1
this.dataList = []
this.getData()
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
//
onReachBottom() {
this.pages++
this.load = true
this.getData();
},
methods: {
goRaceDetail(id) {
console.log(id);
uni.navigateTo({
url: "/pagesB/ArtRace/ArtRaceDetail?id=" + String(id),
})
},
click(item) {
console.log('item', item);
this.type = item.value
this.pages = 1
this.getData()
},
getType() {
let that = this
this.http.request('/competition/types', {}, "GET").then(res => {
if (res.code == 200) {
res.data.forEach(item => {
that.list1.push({
name: item.label,
value: item.value
})
})
this.getData()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
getData() {
let that = this
let par = {
pages: this.pages,
page: this.pages,
size: this.size,
type: this.type
}
this.http.request('/match/list', {}, "GET").then(res => {
this.http.request('/competition/list', par, "GET").then(res => {
if (res.code == 200) {
if (res.data.records.length > 0) {
res.data.records.forEach(function(item) {
if (item.file) {
let fileArr = item.file.split(',')
item.file = fileArr[0]
}
that.dataList.push(item)
})
} else {
this.pages--
}
this.load = false
}
}).catch(e => {

View File

@ -16,14 +16,7 @@
</u-swiper>
</view>
<view class="main">
<view class="mainTitle">{{data.title}}</view>
<view class="textList">
<view class="type">
<img class='textImg' src="../../static/detailIcon/icon10.png" alt="">
<view class="text1">比赛简介</view>
</view>
<view class="text2">{{data.demand}}</view>
</view>
<view class="mainTitle">{{data.name}}</view>
<view class="textList">
<view class="type">
<img class='textImg' src="../../static/detailIcon/icon10.png" alt="">
@ -53,30 +46,30 @@
<image class="icon" src="../../static/detailIcon/icon6.png" mode="scaleToFill"></image>
<text> 可接单人数:</text>
</view>
<view class="content"><text style=" color: #99241B;"> {{data.jdrs}}</text>/{{data.quantity}}
<view class="content"><text style=" color: #99241B;"> {{data.enrollment}}</text>/{{data.maxNum}}
</view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon7.png" mode="scaleToFill"></image>
<text>截止时间:</text>
<text>报名截止时间:</text>
</view>
<view class="content"> {{data.deadline}}</view>
<view class="content"> {{data.startTime}}</view>
</view>
<view class="item_li">
<view class="standard">
<image class="icon" src="../../static/detailIcon/icon4.png" mode="scaleToFill"></image>
<text>活动时间:</text>
<text>活动结束时间:</text>
</view>
<view class="content"> {{data.activityTime}} </view>
<view class="content"> {{data.endTime}} </view>
</view>
</view>
</view>
<!-- 红色按钮 -->
<view>
<view class="" v-if="data.hallState == 1">
<view class="orderBtn" v-if="data.isBaoming">
<view class="btnQ" @click="throwWork">取消报名</view>
<view class="" v-if="data.status == 0">
<view class="orderBtn" v-if="data.isApplication">
<view class="btnQ">您已报名</view>
</view>
<view class="orderBtn" v-else>
<view class="btn" @click="throwWork">报名</view>
@ -96,7 +89,7 @@
<text>参赛作品展示</text>
</view>
<view class="worksPart">
<view class="workItems" v-for="(v,i) in workList" :key="i">
<view class="workItems" v-if="workList.length > 0" v-for="(v,i) in workList" :key="i">
<view class="workImg">
<image :src="v.img" style="width: 100%; height: 100%;"></image>
</view>
@ -104,6 +97,10 @@
{{v.name}}
</view>
</view>
<view v-else>
<u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" >
</u-empty>
</view>
</view>
</view>
</view>
@ -115,47 +112,14 @@
export default {
data() {
return {
load: false,
id: '',
load: true,
statusHeight: 0,
titleHeight: 50,
currentNum: 0,
list: [
'../../static/blackArrow.png'
],
data: {
title: '标题',
demand: '简介',
content: 'FDA施工队发生噶v通过热巴v我提个阿萨出发',
deadline: '2023-02-02',
activityTime: '2023-02-02',
jdrs: '10',
quantity: '10',
typeName: '类型',
hallState: '1',
isBaoming: false
},
workList: [
{
name: '111',
img: '../../static/detailIcon/icon0.png'
},
{
name: '222',
img: '../../static/detailIcon/icon0.png'
},
{
name: '333',
img: '../../static/detailIcon/icon0.png'
},
{
name: '444',
img: '../../static/detailIcon/icon0.png'
},
{
name: '555',
img: '../../static/detailIcon/icon0.png'
}
]
list: [],
data: {},
workList: []
};
},
methods: {
@ -164,7 +128,30 @@
},
throwWork() {
uni.navigateTo({
url: "/pagesB/ArtRace/ThrowWork"
url: "/pagesB/ArtRace/ThrowWork?id=" + this.id
})
},
getDate() {
let par = {
id: this.id,
}
this.http.request('/competition/details', par, "GET").then(res => {
if (res.code == 200) {
if(res.data.file){
this.list = res.data.file.split(',')
}
// if(res.data.list || res.data.list.lenght > 0){
// }
this.data = res.data
this.workList = res.data.list
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
},
@ -184,9 +171,12 @@
// #endif
},
onLoad(opt) {
console.log(opt.id);
}
this.id = opt.id
},
onShow() {
this.load = true
this.getDate()
},
}
</script>

View File

@ -1,54 +1,56 @@
<template>
<view>
<u--form :model="model2" :rules="rules" ref="form2">
<u-form-item prop="userInfo.name" ref="item2" class="data_itm"></u-form-item>
</u--form>
<u--input style="padding: 32rpx;" placeholder="请输入作品名称" border="none" clearable></u--input>
<u--textarea style="padding: 32rpx; height: 200rpx;" v-model="value" placeholder="请输入作品说明" border="none"></u--textarea>
<view class="gap">
作品内容可上传图片/视频/音频等
<view class="">
<view class="form_line">
<view class="form_left">
名称
</view>
<view class="form_right">
<u--input placeholder="请输入名称" v-model="name" clearable border="none" inputAlign="right"
style="color: #251B1D;">
</u--input>
</view>
</view>
<u-upload class="upload" accept="media" width="172rpx" height="172rpx" :fileList="fileList3"
@afterRead="afterRead" @delete="deletePic" name="3" multiple :maxCount="2">
<view class="form_box">
<view class="form_left">
具体内容
</view>
</view>
<view class="text_box">
<u--textarea v-model="text2" placeholder="请输入具体内容" maxlength="-1"></u--textarea>
</view>
<view class="gap">
附件上传
</view>
<view class="gap" style="line-height: 30rpx;font-size: 28rpx;">
可上传图片(png/jpg/jpeg/bmp/gif/tif/tiff)
</view>
<u-upload class="upload" width="172rpx" height="172rpx" :fileList="fileList3"
@afterRead="afterRead" @delete="deletePic" name="3" multiple>
<image style="width: 172rpx;height: 172rpx;" src="../../static/improveData/jia.png"></image>
</u-upload>
<view class="operation">
<button type="default" class="next" @click="throwMyWork">投稿</button>
</view>
<view class="zhanwei">
<view class="operation" @click="next">
发布
</view>
</view>
</template>
<script>
import http from '../../request/interface.js'
export default {
data() {
return {
value: '',
id: '',
name: '',
text2: '',
fileList3: [],
model2:{
workName:'',
workDesc:''
},
rules:{
}
};
ok: true,
}
},
onLoad(op){
this.id = op.id
},
methods: {
throwMyWork() {
uni.showToast({
title:"投稿作品"
})
/* uni.navigateTo({
url: "/pagesB/PublishWorks/PublishWorksNext"
}) */
},
//
deletePic(event) {
this[`fileList${event.name}`].splice(event.index, 1)
@ -80,7 +82,7 @@
let token = uni.getStorageSync('token');
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: 'http://192.168.2.21:7001/upload', //
url: http.config.baseUrl + '/file/upload',
filePath: url,
name: 'file',
formData: {
@ -90,34 +92,126 @@
"X-Token": token
},
success: (res) => {
setTimeout(() => {
resolve(res.data.data)
}, 1000)
if (JSON.parse(res.data).code == 200) {
setTimeout(() => {
resolve(JSON.parse(res.data).data.path)
}, 1000)
} else {
uni.showToast({
title: JSON.parse(res.data).message,
icon: "none",
});
this.fileList3.pop()
}
}
});
})
},
next() {
this.ok = true
if(this.name == ''){
uni.showToast({
title: '请输入名称',
icon: "none",
});
this.ok = false
return
}
if(this.text2 == ''){
uni.showToast({
title: '请输入具体内容',
icon: "none",
});
this.ok = false
return
}
if(this.fileList3.length == 0){
uni.showToast({
title: '请上传附件',
icon: "none",
});
this.ok = false
return
}
if(this.ok){
let image = []
this.fileList3.forEach(function(item) {
image.push(item.url)
})
let data = image.join(',')
this.http.request('/competitionUser/addCompetition', {
competitionId: this.id,
introduce: this.text2,
name: this.name,
file: data
}, "POST").then(res => {
if (res.code == 200) {
uni.navigateBack()
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
}
}
}
}
</script>
<style lang="scss">
image {
width: 100%;
height: 100%;
<style>
</style>
<style lang="scss" scoped>
/deep/ .uni-icons{
display: none;
}
/deep/ .uni-date-x{
text-align: right;
padding: 0;
}
.form_line {
width: 686rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
font-size: 32rpx;
justify-content: space-between;
height: 104rpx;
border-bottom: 1rpx solid #dadbde;
.form_right {
width: 450rpx;
}
}
.form_box {
width: 686rpx;
padding: 0 32rpx;
display: flex;
align-items: center;
font-size: 32rpx;
justify-content: space-between;
height: 104rpx;
}
.text_box {
width: 686rpx;
padding: 0 32rpx;
}
.gap {
font-size: 24rpx;
color: #AFADB0;
height: 80rpx;
background: #F5F5F5;
border-radius: 0px 0px 0px 0px;
opacity: 1;
line-height: 80rpx;
padding: 0 32rpx;
padding: 10rpx 32rpx;
font-size: 32rpx;
}
::v-deep .u-upload__wrap {
padding: 32rpx;
}
.upload {
@ -125,39 +219,14 @@
}
.operation {
display: flex;
justify-content: space-between;
align-items: center;
padding: 32rpx 32rpx 48rpx;
position: fixed;
left: 0;
bottom: 0;
right: 0;
background-color: #FFFFFF;
box-shadow: 0px -4px 10px 1px rgba(192, 192, 192, 0.12);
.next {
width: calc(100% - 48rpx);
height: 80rpx;
line-height: 80rpx;
background-color: #99241B;
color: #fff;
font-size: 32rpx;
font-weight: 600;
border: none;
button {
&::after {
border: none;
}
}
}
}
.zhanwei {
height: 460rpx;
width: 654rpx;
height: 96rpx;
margin: 32rpx 48rpx 48rpx;
text-align: center;
line-height: 96rpx;
background-color: #99241B;
color: #fff;
font-size: 36rpx;
font-weight: 600;
}
</style>

View File

@ -0,0 +1,110 @@
<template>
<view class="">
<view class="">
<u-loading-page :loading="load"></u-loading-page>
</view>
<view class="layout" v-if="load == false">
<view class="shelves">
<u-empty v-if="writerList.length < 1" mode="data" icon="../../static/orderE.png" style="margin-top: 120px;">
</u-empty>
<view class="shelves-item" v-for="(item,index) in writerList" :key="index" @click="ToEnjoy(item.id)">
<image :src="item.images" class="shelves-img"></image>
<view class="name">{{item.userName}}</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
load: true,
writerList: [],
pages: 1,
size: 20,
};
},
onLoad() {
this.getworkList()
},
//
onPullDownRefresh() {
this.pages = 1
this.writerList = []
this.getArtist()
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
//
onReachBottom() {
this.pages++
this.getArtist();
},
methods: {
getworkList(){
let _this = this
this.http.request('/competitionUser/scoreList', {page:this.pages,size:this.size}, "GET").then(res => {
if (res.code == 200) {
if(res.data.records.length > 0){
res.data.records.forEach(function(item) {
// if (item.images) {
// // let img = JSON.parse(item.images)
// // item.images = img[0]
// }else{
// item.images = '../../static/txIcon.png'
// }
_this.writerList.push(item)
})
}else{
this.pages--
}
this.load = false
}
}).catch(e => {
uni.showToast({
title: e.data.message,
icon: "none",
});
})
},
ToEnjoy(val){
uni.navigateTo({
url:"/pagesC/famousArts/famousArts?id=" + val
})
},
},
}
</script>
<style lang="scss">
.layout {
padding: 16rpx 32rpx;
.shelves {
width: 100%;
.shelves-item {
width: 311rpx;
margin-top: 32rpx;
margin-left: 16rpx;
margin-right: 16rpx;
float: left;
.shelves-img {
border-radius: 8px 8px 8px 8px;
width: 311rpx;
height: 380rpx;
}
.name {
font-weight: 800;
font-size: 16px;
margin-top: 12rpx;
}
}
}
}
</style>

View File

@ -15,26 +15,12 @@
<view class="line"></view>
</view>
</view>
<view class="forms" v-if="tabC == '0'" >
<view class="teamBox" v-for="(item, index) in 6">
<view class="forms" v-if="tabC == '0'">
<view class="teamBox" v-for="(item, index) in 2" :key="index">
<view class="teamBox-right">
<image src="../../static/txIcon.png" mode=""></image>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">张三</view>
<view class="street">会长</view>
<view class="item-image">
<image src="../../static/txIcon.png" mode=""></image>
</view>
<view class="teamMinbox-bottom">
xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队xx团队
</view>
</view>
</view>
</view>
<view class="forms" v-if="tabC == '1'" >
<view class="teamBox" v-for="(item, index) in 2">
<view class="teamBox-right">
<image src="../../static/txIcon.png" mode=""></image>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
@ -47,10 +33,36 @@
</view>
</view>
</view>
<view class="forms" v-if="tabC == '2'" >
<view class="teamBox" v-for="(item, index) in 3">
<view class="forms" v-if="tabC == '1'">
<view
class="teamBox"
v-for="item in list"
:key="item.id"
@click="onInfo(item.id)"
>
<view class="teamBox-right">
<image src="../../static/txIcon.png" mode=""></image>
<view class="item-image">
{{ item.userName }}
<!-- <image src="../../static/txIcon.png" mode=""></image> -->
</view>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
<view class="title">{{ item.userName }}</view>
<view class="street">{{ item.identity }}</view>
</view>
<view class="teamMinbox-bottom">
{{ item.introduce }}
</view>
</view>
</view>
</view>
<view class="forms" v-if="tabC == '2'">
<view class="teamBox" v-for="(item, index) in 3" :key="index">
<view class="teamBox-right">
<view class="item-image">
<image src="../../static/txIcon.png" mode=""></image>
</view>
</view>
<view class="teamBox-left">
<view class="teamMinbox-top">
@ -71,15 +83,44 @@ export default {
data() {
return {
tabC: "0",
list: [],
};
},
onShow() {
// this.getData();
this.get();
},
methods: {
get() {
this.http
.request("/organPerson/list", {}, "GET")
.then((res) => {
if (res.code == 200) {
this.list = res.data.records;
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
toTab(val) {
this.tabC = val;
// this.getData()
},
onInfo(obj) {
this.http
.request("/organPerson/details", { id: obj }, "GET")
.then((res) => {
if (res.code == 200) {
}
})
.catch((err) => {
uni.showToast({
title: e.data.message,
icon: "none",
});
});
},
},
};
@ -140,14 +181,30 @@ export default {
display: flex;
.teamBox-right {
margin-right: 20rpx;
image {
width: 180rpx;
height: 130rpx;
background-size: contain;
width: 159rpx;
height: 159rpx;
.item-image {
width: 159rpx;
height: 159rpx;
display: flex;
align-items: center;
justify-content: center;
background: rgba(152, 149, 149, 0.5);
color: rgb(240, 239, 239);
font-style: 64rpx;
font-weight: bolder;
border-radius: 50%;
overflow: hidden;
image {
width: 159rpx;
height: 159rpx;
border-radius: 50%;
background-size: contain;
}
}
}
.teamBox-left {
// width: 400rpx;
// width: 400rpx;
.teamMinbox-top {
display: flex;
margin-bottom: 16rpx;
@ -166,7 +223,7 @@ export default {
color: #a02521;
margin-left: 18rpx;
padding: 2rpx 20rpx;
max-width:120rpx;
max-width: 120rpx;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
white-space: nowrap;

View File

@ -1,15 +1,27 @@
<template>
<view>
<player-component vid="p0743x9grjv"></player-component>
<player-component
playerid="tvp"
id="tvp-id"
vid="13881752490784308944"
></player-component>
</view>
</template>
<script>
export default {
data() {
return {};
return {
store: null,
player: null,
};
},
onShow() {
this.store = requirePlugin("player");
this.player = this.store.get("tvp");
console.log(this.store);
console.log(this.player);
},
onShow() {},
mounted() {},
methods: {},
};

View File

@ -24,25 +24,41 @@
</view>
</view> -->
<view class="forms">
<view class="teamBox" v-for="(item, index) in videoList" :key="item.id">
<view
class="teamBox"
v-for="item in list"
:key="item.id"
@click="skip({ id: item.id })"
>
<view class="teamBox-top">
<view class="mask" @click="playMask(index)" v-if="item.play">
<text>{{ item.title }}</text>
<image src="../../static/play.png"></image>
<view class="content">
<view class="content-title">
<text>{{ item.name }}</text>
</view>
<image
class="team-image"
src="https://cdn.uviewui.com/uview/album/1.jpg"
mode="scaleToFill"
/>
</view>
<view class="mask">
<view class="mask-play">
<image src="../../static/play.png"></image>
</view>
</view>
</view>
<view class="teamBox-bottom">
<view class="interactive">
<image src="../../static/play-1.png" mode=""></image>
<view class="title">{{ item.playback }}</view>
<view class="title">{{ item.views }}</view>
</view>
<view class="interactive">
<image src="../../static/workDetail/heart1.png" mode=""></image>
<view class="title">{{ item.like }}</view>
<view class="title">{{ item.likes }}</view>
</view>
<view class="interactive">
<image src="../../static/workDetail/star1.png" mode=""></image>
<view class="title">{{ item.collect }}</view>
<view class="title">{{ item.collections }}</view>
</view>
</view>
</view>
@ -102,20 +118,26 @@ export default {
});
});
},
playMask(index) {
this.videoList[index].play = false;
var video = document.getElementById("video");
//
video.addEventListener("pause", function (e) {
console.log("暂停播放");
console.log(e);
});
// 15ended
video.addEventListener("ended", function (e) {
console.log("视频播放完了");
console.log(e);
skip(query = {}) {
uni.navigateTo({
//
url: "/pagesD/xskz/details",
});
},
playMask(obj) {
// this.videoList[index].play = false;
// var video = document.getElementById("video");
// //
// video.addEventListener("pause", function (e) {
// console.log("");
// console.log(e);
// });
// // 15ended
// video.addEventListener("ended", function (e) {
// console.log("");
// console.log(e);
// });
},
},
};
</script>
@ -163,43 +185,52 @@ export default {
}
.forms {
width: 90%;
margin: 40rpx auto 0rpx;
.teamBox {
.teamBox-top {
height: 400rpx;
position: relative;
// video {
// position: relative;
// }
.content {
position: relative;
z-index: 4;
.content-title {
position: absolute;
z-index: 10;
padding: 18rpx;
text {
color: #fff;
max-width: 500rpx;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
white-space: nowrap;
}
}
.team-image {
width: 100%;
height: 400rpx;
}
}
.mask {
position: absolute;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.1);
z-index: 99;
text {
// position: absolute;
// left: 60rpx;
color: #fff;
max-width: 500rpx;
overflow: hidden; /* 超出一行文字自动隐藏 */
text-overflow: ellipsis; /*文字隐藏后添加省略号*/
white-space: nowrap;
}
image {
width: 60rpx;
height: 60rpx;
margin: 110rpx 0 0 300rpx;
left: 0;
right: 0;
bottom: 0;
z-index: 12;
display: flex;
align-items: center;
justify-content: center;
.mask-play {
image {
width: 60rpx;
height: 60rpx;
}
}
}
}
.teamBox-bottom {
display: flex;
justify-content: space-between;
width: 100%;
padding: 15rpx 15rpx;
padding: 15rpx 32rpx;
background-color: #fff;
box-sizing: border-box;
.interactive {