合并前
583
me/detail/auditrecords.vue
Normal file
@@ -0,0 +1,583 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="contenttop">
|
||||
<view class="flex-start">
|
||||
<input type="text" placeholder="请输入抬头名称" v-model="form.user_name" @input="onInput" />
|
||||
<text @click="popupshow = !popupshow">筛选</text>
|
||||
</view>
|
||||
<view class="contenttopbox flex-center">
|
||||
<text @click="form.type = '-1',form.page = '1',form.user_name = '',invoicingrecordsthatneed()"
|
||||
:class="form.type == '-1'?'classtext':''">待审核</text>
|
||||
<text @click="form.type = '1',form.page = '1',form.user_name = '',invoicingrecordsthatneed()"
|
||||
:class="form.type == '1'?'classtext':''">已处理</text>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentbox">
|
||||
<view class="contentboxitem" v-for="(item,index) in form.list" :key="index">
|
||||
<view class="contentboxitemtop flex-between">
|
||||
<text>{{item.user_name}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票状态:</text>
|
||||
<text>{{item.status}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票类型:</text>
|
||||
<text>{{item.type}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票金额:</text>
|
||||
<text>{{item.price}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>创建时间</text>
|
||||
<text>{{item.createtime}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext flex-start" @click="previewImage(item.img)">
|
||||
<text>开票凭证</text>
|
||||
<image :src="item.img" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view v-if="item.status == '待审核'" class="contentboxitembutton flex-center">
|
||||
<view class="buttonone" @click="storereviewandinvoicing(item,1)">
|
||||
通过
|
||||
</view>
|
||||
<view class="buttontow" @click="clickconfirmshow = true,no = ''">
|
||||
拒绝
|
||||
</view>
|
||||
</view>
|
||||
<u-popup :show="clickconfirmshow" mode="center" :round="10">
|
||||
<view class="popupshow">
|
||||
<view class="Box_box flex-between">
|
||||
<view>拒绝理由:</view>
|
||||
<u--textarea v-model="no" placeholder="请输入拒绝理由"></u--textarea>
|
||||
</view>
|
||||
<view class="content_bottom">
|
||||
<view class="content_bottomone" @click="storereviewandinvoicing(item,6)">
|
||||
确定
|
||||
</view>
|
||||
<view class="content_bottomtow" @click="clickconfirmshow = false,no = ''">
|
||||
取消
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="form.status" />
|
||||
<u-popup :show="popupshow" @close="popupshow = !popupshow" :round="10">
|
||||
<view class="popupshow">
|
||||
<view class="popupshowtop">
|
||||
筛选
|
||||
</view>
|
||||
<view class="popupshowbox">
|
||||
<view class="popupshowboxtitel">
|
||||
按时间筛选
|
||||
</view>
|
||||
<view class="popupshowbox_box flex-between">
|
||||
<view class="popupshowbox_item" v-for="(item,index) in daylist" :key="index"
|
||||
@click="clickday(item,index)" :class="selectshow === index ? 'select':''">
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="popupshowbox_itemzdy flex-between" v-if="showpickerbox && selectshow == 2">
|
||||
<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 1">
|
||||
{{starttime}}
|
||||
</view>
|
||||
-<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 2">
|
||||
{{endtime}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxboutton flex-between">
|
||||
<view class="boxbouttonitem" @click="reset">
|
||||
重置
|
||||
</view>
|
||||
<view class="boxbouttonitem" @click="clickdetermine">
|
||||
确定
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<u-datetime-picker :show="showpicker" mode="date" @cancel="showpicker = !showpicker"
|
||||
@confirm="confirmpicker"></u-datetime-picker>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import one from './components/czgdetail1 (4).JPG'
|
||||
import tow from './components/czgdetail1 (6).JPG'
|
||||
import there from './components/czgdetail1 (11).JPG'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
clickconfirmshow: false,
|
||||
popupshow: false,
|
||||
showpicker: false, //选择时间
|
||||
showpickerbox: false, //是否显示这个盒子
|
||||
clickshowpicker: '',
|
||||
starttime: '', //起始时间
|
||||
endtime: '',
|
||||
selectshow: '', //选中
|
||||
no: '',
|
||||
form: {
|
||||
user_name: '',
|
||||
time: "",
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
daylist: [{
|
||||
id: 1,
|
||||
name: '仅30天'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '近180天'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自定义'
|
||||
}
|
||||
],
|
||||
}
|
||||
},
|
||||
async onLoad(e) {
|
||||
this.invoicingrecordsthatneed()
|
||||
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.form.status != 'nomore') {
|
||||
this.form.page = ++this.form.page;
|
||||
this.invoicingrecordsthatneed()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 审核
|
||||
async storereviewandinvoicing(item, i) {
|
||||
let res = await this.api.storereviewandinvoicing({
|
||||
id: item.id,
|
||||
no: this.no,
|
||||
s_type: i
|
||||
})
|
||||
this.reset()
|
||||
},
|
||||
// 查看图片
|
||||
previewImage(url) {
|
||||
uni.previewImage({
|
||||
current: 1,
|
||||
urls: [url]
|
||||
});
|
||||
},
|
||||
|
||||
// 时间
|
||||
clickday(item, index) {
|
||||
|
||||
const d = new Date()
|
||||
const year = d.getFullYear()
|
||||
let month = d.getMonth() + 1
|
||||
let date = d.getDate()
|
||||
month = month < 10 ? `0${month}` : month
|
||||
date = date < 10 ? `0${date}` : date
|
||||
switch (index) {
|
||||
case 0:
|
||||
this.starttime = `${(month-1)==0?(year-1):year}-${(month-1)==0?12:(month-1)}-${date}`
|
||||
this.endtime = `${year}-${month}-${date}`
|
||||
this.showpickerbox = false
|
||||
break;
|
||||
case 1:
|
||||
this.starttime = `${year}-${month>6?(month-6):(month+12-6)}-${date}`
|
||||
this.endtime = `${year}-${month}-${date}`
|
||||
this.showpickerbox = false
|
||||
break;
|
||||
case 2:
|
||||
this.starttime = '' //起始时间
|
||||
this.endtime = ''
|
||||
this.showpickerbox = true
|
||||
break;
|
||||
}
|
||||
this.selectshow = index
|
||||
},
|
||||
// 确定时间
|
||||
confirmpicker(e) {
|
||||
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'))
|
||||
if (this.clickshowpicker == 1) {
|
||||
this.starttime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd')
|
||||
}
|
||||
if (this.clickshowpicker == 2) {
|
||||
this.endtime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd')
|
||||
}
|
||||
this.showpicker = !this.showpicker
|
||||
},
|
||||
// 确定
|
||||
clickdetermine() {
|
||||
if (this.starttime != '' && this.endtime != '') {
|
||||
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`
|
||||
}
|
||||
this.popupshow = false
|
||||
this.invoicingrecordsthatneed()
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.form = {
|
||||
user_name: '',
|
||||
time: "",
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
}
|
||||
this.selectshow = ''
|
||||
this.starttime = ''
|
||||
this.endtime = ''
|
||||
this.popupshow = false
|
||||
this.invoicingrecordsthatneed()
|
||||
},
|
||||
// 搜索
|
||||
onInput(e) {
|
||||
if ([...e.detail.value].length >= 2) {
|
||||
this.form.page = 1
|
||||
this.form.list = []
|
||||
uni.$u.debounce(this.invoicingrecordsthatneed, 500)
|
||||
}
|
||||
},
|
||||
// 列表
|
||||
async invoicingrecordsthatneed() {
|
||||
this.form.status = 'loading';
|
||||
let res = await this.api.invoicingrecordsthatneed({
|
||||
user_name: this.form.user_name,
|
||||
time: this.form.time,
|
||||
page: this.form.page,
|
||||
status: this.form.type,
|
||||
})
|
||||
if (this.form.page == 1 && res.data.length == 0) {
|
||||
this.form.list = res.data
|
||||
this.form.status = 'nomore'
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data
|
||||
} else {
|
||||
this.form.list = [...this.form.list, ...res.data]
|
||||
}
|
||||
if (res.data.length < 10) this.form.status = 'nomore';
|
||||
else this.form.status = 'loadmore';
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background: #F9F9F9;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
|
||||
.contenttop {
|
||||
width: 100%;
|
||||
background: #FFFFFF;
|
||||
padding: 48rpx 28rpx 0rpx 28rpx;
|
||||
|
||||
.flex-start {
|
||||
input {
|
||||
padding: 18rpx 24rpx;
|
||||
height: 64rpx;
|
||||
background: #F6F6F6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
flex: auto;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
text {
|
||||
padding: 0 0 0 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.contenttopbox {
|
||||
text {
|
||||
width: 33%;
|
||||
text-align: center;
|
||||
padding: 32rpx 0 24rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.classtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
width: 30%;
|
||||
border-bottom: 5rpx solid #318AFE;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
content: '';
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
padding: 0 28rpx;
|
||||
|
||||
.popupshowtop {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.popupshowbox {
|
||||
.popupshowboxtitel {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.popupshowbox_box {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 176rpx;
|
||||
height: 56rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 176rpx;
|
||||
}
|
||||
|
||||
.select {
|
||||
border: 1px solid #1b00ff;
|
||||
color: #0600ff;
|
||||
}
|
||||
|
||||
.popupshowbox_itemzdy {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 40%;
|
||||
height: 56rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxboutton {
|
||||
margin: 400rpx 0 50rpx 0;
|
||||
|
||||
.boxbouttonitem {
|
||||
width: 330rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 50rpx 50rpx 50rpx 50rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(1) {
|
||||
border: 2rpx solid #D9D9D9;
|
||||
background: #FFFFFF;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(2) {
|
||||
background: #2F87FD;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contentbox {
|
||||
width: 100%;
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentboxitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentboxitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #F39D52;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitemtext {
|
||||
margin-top: 24rpx;
|
||||
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
image {
|
||||
margin-left: 24rpx;
|
||||
width: 158rpx;
|
||||
height: 94rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitembutton {
|
||||
margin-top: 32rpx;
|
||||
|
||||
.buttonone {
|
||||
width: 244rpx;
|
||||
height: 72rpx;
|
||||
background: #2F87FD;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.buttontow {
|
||||
margin-left: 32rpx;
|
||||
width: 244rpx;
|
||||
height: 72rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #707070;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
width: 600rpx;
|
||||
border-radius: 16rpx;
|
||||
|
||||
.Box_box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
text-align: right;
|
||||
padding: 24rpx;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
font-size: 28rpx;
|
||||
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.content_bottom {
|
||||
margin: 70rpx auto 60rpx auto;
|
||||
width: 70%;
|
||||
height: 84rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.content_bottomone {
|
||||
padding: 16rpx 60rpx;
|
||||
background: #288EFB;
|
||||
border-radius: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content_bottomtow {
|
||||
padding: 16rpx 60rpx;
|
||||
background: red;
|
||||
border-radius: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
BIN
me/detail/components/czgdetail1 (1).JPG
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
me/detail/components/czgdetail1 (10).JPG
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
me/detail/components/czgdetail1 (11).JPG
Normal file
|
After Width: | Height: | Size: 176 KiB |
BIN
me/detail/components/czgdetail1 (12).JPG
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
me/detail/components/czgdetail1 (13).JPG
Normal file
|
After Width: | Height: | Size: 185 KiB |
BIN
me/detail/components/czgdetail1 (14).JPG
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
me/detail/components/czgdetail1 (15).JPG
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
me/detail/components/czgdetail1 (16).JPG
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
me/detail/components/czgdetail1 (17).JPG
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
me/detail/components/czgdetail1 (18).JPG
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
me/detail/components/czgdetail1 (19).JPG
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
me/detail/components/czgdetail1 (2).JPG
Normal file
|
After Width: | Height: | Size: 185 KiB |
BIN
me/detail/components/czgdetail1 (20).JPG
Normal file
|
After Width: | Height: | Size: 519 KiB |
BIN
me/detail/components/czgdetail1 (3).JPG
Normal file
|
After Width: | Height: | Size: 165 KiB |
BIN
me/detail/components/czgdetail1 (4).JPG
Normal file
|
After Width: | Height: | Size: 223 KiB |
BIN
me/detail/components/czgdetail1 (5).JPG
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
me/detail/components/czgdetail1 (6).JPG
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
me/detail/components/czgdetail1 (7).JPG
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
me/detail/components/czgdetail1 (8).JPG
Normal file
|
After Width: | Height: | Size: 134 KiB |
BIN
me/detail/components/czgdetail1 (9).JPG
Normal file
|
After Width: | Height: | Size: 152 KiB |
@@ -1,10 +1,11 @@
|
||||
<template>
|
||||
<view class="detail">
|
||||
<view class="subNvueweight">
|
||||
<list :bounce="false" :loadmoreoffset="wHeight*3" :show-scrollbar="false" ref="listBox" :pagingEnabled="true"
|
||||
:scrollable="true">
|
||||
<image src="components/czgdetail1 (5).JPG" mode=""></image>
|
||||
<cell v-for="(item,i) in videoList" :key="i" :ref="'list'+item.courseDetailsId">
|
||||
<view class="swipers-items" @longpress="openBs()" @disappear="disappear(item.courseDetailsId,i)"
|
||||
@appear="appear(item.courseDetailsId,i)" :style="boxStyle">
|
||||
<view class="subNvueswipers-items" @longpress="openBs()" @disappear="disappear(item.courseDetailsId,i)"
|
||||
@appear="czgwappear(item.courseDetailsId,i)" :style="boxStyle">
|
||||
<!-- 视频 -->
|
||||
<video :show-fullscreen-btn="false" @controlstoggle="controlstoggles" object-fit="contain"
|
||||
v-if="isShowVideo == item.courseDetailsId && item.videoUrl" :play-strategy="2"
|
||||
@@ -12,67 +13,67 @@
|
||||
@timeupdate="timeupdate" @play="videoPlay('myVideo'+item.courseDetailsId, item.courseDetailsId)"
|
||||
@ended="ended" :enable-progress-gesture="false" :poster="item.titleImg"
|
||||
:ref="'myVideo'+item.courseDetailsId" :id="'myVideo'+item.courseDetailsId" :src="item.videoUrl"
|
||||
:autoplay="item.autoPlay" class="swipers-items-video"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="swipers-items-imgsbg"
|
||||
:autoplay="item.autoPlay" class="detailswipers-items-video"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="detailswipers-items-imgsbg"
|
||||
mode="aspectFill">
|
||||
</image>
|
||||
<!-- 返回图标 -->
|
||||
<image v-if="showBack" src="../static/nvueIcon/backs.png" @click="goBack()"
|
||||
class="swipers-items-back" mode="">
|
||||
class="detailswipers-items-back" mode="">
|
||||
</image>
|
||||
<!-- 右边操作 -->
|
||||
<view class="swipers-items-right" :style="rightTop" v-if="showControls">
|
||||
<view class="swipers-items-right-item">
|
||||
<view class="swipers-items-right-item-img" @click.stop="dianzan(item)">
|
||||
<image v-if="item.isGood!=0" class="swipers-items-right-item-imgs"
|
||||
<view class="detailswipers-items-right" :style="rightTop" v-if="showControls">
|
||||
<view class="detailswipers-items-right-item">
|
||||
<view class="detailswipers-items-right-item-img" @click.stop="dianzan(item)">
|
||||
<image v-if="item.isGood!=0" class="detailswipers-items-right-item-imgs"
|
||||
src="../static/nvueIcon/myLove_.png" mode=""></image>
|
||||
<image v-else class="swipers-items-right-item-imgs" src="../static/nvueIcon/myLove.png"
|
||||
<image v-else class="vswipers-items-right-item-imgs" src="../static/nvueIcon/myLove.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
{{item.goodNum}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="swipers-items-right-item" @click="share()">
|
||||
<view class="swipers-items-right-item-img">
|
||||
<image class="swipers-items-right-item-imgs" src="../../static/images/me/share.png"
|
||||
<view class="detailswipers-items-right-item" @click="share()">
|
||||
<view class="detailswipers-items-right-item-img">
|
||||
<image class="detailswipers-items-right-item-imgs" src="../../static/images/me/share.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
分享
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="swipers-items-right-item" v-if="isCollect">
|
||||
<view class="swipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="swipers-items-right-item-imgs" src="../../static/images/me/shuqian_s.png"
|
||||
<view class="detailswipers-items-right-item" v-if="isCollect">
|
||||
<view class="detailswipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="detailswipers-items-right-item-imgs" src="../../static/images/me/shuqian_s.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
已追
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="swipers-items-right-item" v-else>
|
||||
<view class="swipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="swipers-items-right-item-imgs" src="../../static/images/me/shuqian.png"
|
||||
<view class="detailswipers-items-right-item" v-else>
|
||||
<view class="detailswipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="detailswipers-items-right-item-imgs" src="../../static/images/me/shuqian.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
追剧
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 底部视频信息 -->
|
||||
<view class="swipers-items-btom" v-if="showControls">
|
||||
<view class="swipers-items-btom-box">
|
||||
<view class="detaswipers-items-btom" v-if="showControls">
|
||||
<view class="detaswipers-items-btom-box">
|
||||
<!-- 标题 -->
|
||||
<view class="swipers-items-btom-box-title">
|
||||
<text class="swipers-items-btom-box-titles">
|
||||
@@ -92,6 +93,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<image src="components/czgdetail1 (8).JPG" mode=""></image>
|
||||
</cell>
|
||||
</list>
|
||||
<!-- 选集弹窗 -->
|
||||
@@ -314,6 +316,9 @@
|
||||
const listDom = uni.requireNativePlugin('dom')
|
||||
import config from '../../common/config.js'
|
||||
import httpsRequest from '../../common/httpRequest.js'
|
||||
import one from './components/czgdetail1 (11).JPG'
|
||||
import tow from './components/czgdetail1 (14).JPG'
|
||||
import there from './components/czgdetail1 (15).JPG'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -593,7 +598,7 @@
|
||||
}
|
||||
|
||||
},
|
||||
appear(e, index) {
|
||||
czgwappear(e, index) {
|
||||
this.courseDetailsId = e;
|
||||
// 清除已经设置的定时器
|
||||
clearTimeout(this.appearTimeout);
|
||||
@@ -603,8 +608,6 @@
|
||||
// 实际要执行的操作
|
||||
console.log('页面出现在视图中');
|
||||
// 这里可以加入你需要执行的代码
|
||||
console.log("appear==="+e)
|
||||
console.log("appear==="+index)
|
||||
// this.courseDetailsId = e
|
||||
this.current = index
|
||||
this.showControls = true
|
||||
@@ -635,7 +638,7 @@
|
||||
// let numIdCurr = this.videoList[index].courseDetailsId;
|
||||
// if (this.videoList[index].videoUrl) { //已经购买可直接播放
|
||||
// // 播放时记录当前播放的id
|
||||
// this.appear(numIdCurr, index)
|
||||
// this.czgwappear(numIdCurr, index)
|
||||
// this.videoContextId = 'myVideo' + numIdCurr;
|
||||
// this.videoContext = uni.createVideoContext(this.videoContextId, this);
|
||||
// console.log('走更新了')
|
||||
@@ -1827,34 +1830,34 @@
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.swipers {
|
||||
.detailswipers {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-item {
|
||||
.detailswipers-item {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-items {
|
||||
.subNvueweightswipers-items {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.swipers-items-video {
|
||||
.detailswipers-items-video {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-items-imgsbg {
|
||||
.detailswipers-items-imgsbg {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-items-back {
|
||||
.detailswipers-items-back {
|
||||
position: absolute;
|
||||
left: 40rpx;
|
||||
top: 120rpx;
|
||||
@@ -1863,40 +1866,40 @@
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.swipers-items-right {
|
||||
.detailswipers-items-right {
|
||||
position: absolute;
|
||||
width: 60rpx;
|
||||
top: 100rpx;
|
||||
right: 20rpx;
|
||||
}
|
||||
|
||||
.swipers-items-right-item {
|
||||
.detailswipers-items-right-item {
|
||||
width: 60rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.swipers-items-right-item-img {
|
||||
.detailswipers-items-right-item-img {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.swipers-items-right-item-imgs {
|
||||
.detailswipers-items-right-item-imgs {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.swipers-items-right-item-txt {
|
||||
.detaswipers-items-right-item-txt {
|
||||
width: 60rpx;
|
||||
}
|
||||
|
||||
.swipers-items-right-item-txts {
|
||||
.detaswipers-items-right-item-txts {
|
||||
width: 60rpx;
|
||||
color: #ffffff;
|
||||
font-size: 24rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.swipers-items-btom {
|
||||
.detaswipers-items-btom {
|
||||
width: 750rpx;
|
||||
let: 0;
|
||||
position: absolute;
|
||||
@@ -1905,7 +1908,7 @@
|
||||
/* transition-duration: 1s, */
|
||||
}
|
||||
|
||||
.swipers-items-btom-box {
|
||||
.detaswipers-items-btom-box {
|
||||
width: 710rpx;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
<!-- #endif -->
|
||||
<!-- :autoplay="item.autoPlay" -->
|
||||
<!-- 没有视频权限则显示封面图 -->
|
||||
<image v-else @click="openShowPay(current,index,item.videoUrl);showControls = true" :src="item.titleImg"
|
||||
class="swipers-items-imgsbg" mode="aspectFill"></image>
|
||||
<image v-else @click="openShowPay(current,index,item.videoUrl);showControls = true"
|
||||
:src="item.titleImg" class="swipers-items-imgsbg" mode="aspectFill"></image>
|
||||
<!-- 返回图标 -->
|
||||
<!-- #ifndef MP-TOUTIAO -->
|
||||
<view @click.stop="goBack()" style="color: #ffffff;">
|
||||
@@ -305,11 +305,9 @@
|
||||
// #ifdef MP-WEIXIN || MP-TOUTIAO
|
||||
var videoAd = null;
|
||||
// #endif
|
||||
|
||||
import {
|
||||
returnIsSafari
|
||||
} from '@/utils/app.js'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
tkiQrcode,
|
||||
@@ -654,7 +652,7 @@
|
||||
},
|
||||
onShow() {
|
||||
console.log('onSHow video');
|
||||
|
||||
|
||||
//当应用从后台进入前台时自动播放
|
||||
if (this.videoContext) {
|
||||
this.videoContext.play()
|
||||
@@ -748,7 +746,7 @@
|
||||
this.meunTop = 37
|
||||
// #endif
|
||||
|
||||
|
||||
|
||||
// const windowResizeCallback = (res) => {
|
||||
// console.log('变化后的窗口宽度=' + res.size.windowWidth)
|
||||
// console.log('变化后的窗口高度=' + res.size.windowHeight)
|
||||
@@ -844,7 +842,7 @@
|
||||
event.preventDefault();
|
||||
},
|
||||
//点击封面打开弹窗
|
||||
openShowPay(val,inx,url) {
|
||||
openShowPay(val, inx, url) {
|
||||
console.log(val)
|
||||
console.log(inx)
|
||||
console.log(url)
|
||||
@@ -1462,12 +1460,12 @@
|
||||
this.$forceUpdate()
|
||||
},
|
||||
//选择播放
|
||||
selectPlay(item,type) {//price //videoUrl
|
||||
selectPlay(item, type) { //price //videoUrl
|
||||
// 根据选择的courseDetailsId拿到meunList列表中的相同数据的下标
|
||||
const index = this.meunList.findIndex(menu => menu.courseDetailsId === item.courseDetailsId);
|
||||
this.videoList = [this.meunList[index]]
|
||||
this.current = 0
|
||||
if ( this.videoList[this.current].videoUrl == '' && this.videoList[this.current].price <= 0 && !type ) {
|
||||
if (this.videoList[this.current].videoUrl == '' && this.videoList[this.current].price <= 0 && !type) {
|
||||
this.getDataList(this.courseId, this.courseDetailsId, true, 'select')
|
||||
return;
|
||||
}
|
||||
@@ -1567,8 +1565,8 @@
|
||||
|
||||
let indexs = -1
|
||||
if (courseDetailsId) { //从记录进来的
|
||||
console.log(courseDetailsId)
|
||||
console.log(this.meunList)
|
||||
console.log(courseDetailsId)
|
||||
console.log(this.meunList)
|
||||
this.meunList.map((item, index) => {
|
||||
if (item.courseDetailsId == courseDetailsId) {
|
||||
indexs = index
|
||||
@@ -1577,7 +1575,7 @@
|
||||
console.log(indexs)
|
||||
if (indexs != -1) { //找到了
|
||||
if (Number(indexs + 1) === this.meunList.length) { //最后一条
|
||||
console.log("最后一条")
|
||||
console.log("最后一条")
|
||||
if (this.meunList.length == 1) { //只有一条
|
||||
this.videoList = this.meunList.slice(0,
|
||||
3)
|
||||
@@ -1596,7 +1594,7 @@
|
||||
}
|
||||
|
||||
} else if (Number(indexs) === Number(this.meunList.length - 1)) { //倒数第二条
|
||||
console.log("倒数第二条")
|
||||
console.log("倒数第二条")
|
||||
if (this.meunList.length == 1) { //只有一条
|
||||
this.videoList = this.meunList.slice(0,
|
||||
3)
|
||||
@@ -1618,7 +1616,7 @@
|
||||
} else {
|
||||
console.log("如果不是最后一条,也不是倒数第二条")
|
||||
//如果不是最后一条,也不是倒数第二条,则从找到的位置开始往后拿三条数据放入数组
|
||||
if ( indexs == 0 ) {
|
||||
if (indexs == 0) {
|
||||
this.videoList = [
|
||||
this.meunList[this.meunList
|
||||
.length - 2],
|
||||
@@ -1626,7 +1624,7 @@
|
||||
.length - 1],
|
||||
this.meunList[0],
|
||||
]
|
||||
} else if ( indexs == 1) {
|
||||
} else if (indexs == 1) {
|
||||
this.videoList = [
|
||||
this.meunList[this.meunList
|
||||
.length - 1],
|
||||
@@ -1634,10 +1632,10 @@
|
||||
this.meunList[1],
|
||||
]
|
||||
} else {
|
||||
this.videoList = this.meunList.slice(indexs-2,
|
||||
indexs-2 + 3)
|
||||
this.videoList = this.meunList.slice(indexs - 2,
|
||||
indexs - 2 + 3)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
} else {
|
||||
//没找到直接拿前三条数据即可
|
||||
@@ -1645,7 +1643,7 @@
|
||||
}
|
||||
} else { //新的视频
|
||||
// //视频数组//直接拿前三条
|
||||
|
||||
|
||||
this.videoList = this.meunList.slice(0, 3)
|
||||
indexs = 0
|
||||
|
||||
@@ -1700,8 +1698,8 @@
|
||||
|
||||
})
|
||||
|
||||
if ( t == 'select') {
|
||||
this.selectPlay(this.videoList[this.current],true)
|
||||
if (t == 'select') {
|
||||
this.selectPlay(this.videoList[this.current], true)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<view class="detail" :style="{paddingBottom:paddingBottom}">
|
||||
<swiper @longpress="openBs()" :circular="true" class="swipers" @change="change" :current="current"
|
||||
<view class="subNvuedetail" :style="{paddingBottom:paddingBottom}">
|
||||
<swiper @longpress="openBs()" :circular="true" class="swipersas" @change="change" :current="current"
|
||||
:vertical="true" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="300">
|
||||
<swiper-item class="swipers-item" v-for="(item,index) in swiperList" :key="item.courseDetailsId">
|
||||
<view class="swipers-items" v-if="current == index">
|
||||
<swiper-item class="swipersasda" v-for="(item,index) in swiperList" :key="item.courseDetailsId">
|
||||
<view class="swipersasts" v-if="current == index">
|
||||
<!-- 视频 -->
|
||||
<video :show-fullscreen-btn="false" @controlstoggle="controlStoggles" object-fit="contain"
|
||||
v-if="current === index && item.videoUrl" :play-strategy="2" :show-loading="true"
|
||||
@@ -11,8 +11,8 @@
|
||||
@timeupdate="timeupdate" @play="videoPlay('myVideo'+item.courseDetailsId, item.courseDetailsId)"
|
||||
:enable-progress-gesture="false" :poster="item.titleImg" :ref="'myVideo'+item.courseDetailsId"
|
||||
:id="'myVideo'+item.courseDetailsId" :src="item.videoUrl" :autoplay="item.autoPlay"
|
||||
class="swipers-items-video"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="swipers-items-imgsbg"
|
||||
class="swipersastqw"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="swipers-items-imgsbgwq"
|
||||
mode="aspectFill">
|
||||
</image>
|
||||
<!-- 返回图标 -->
|
||||
@@ -103,7 +103,7 @@
|
||||
<text class="list-title-lsn">共{{meunList.length}}集</text>
|
||||
</view>
|
||||
<view class="list-title-r" @click="closeList()">
|
||||
<image class="list-title-rs" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
<image class="list-title-rsczg" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="list-content">
|
||||
@@ -140,7 +140,7 @@
|
||||
</text>
|
||||
</view>
|
||||
<view class="list-title-r" @click="closePay()">
|
||||
<image class="list-title-rs" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
<image class="list-title-rsczg" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<text class=""
|
||||
@@ -148,19 +148,19 @@
|
||||
{{getRedEnvelopeTips}}
|
||||
</text>
|
||||
<view class="pay-content">
|
||||
<view class="pay-content-item" @click="payVideo(1)">
|
||||
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<view class="pay-content-itemczg" @click="payVideo(1)">
|
||||
<image class="pay-content-item-iconczg" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<text class="pay-content-items">
|
||||
{{countPrice*scale}}金币解锁整部视频
|
||||
</text>
|
||||
</view>
|
||||
<view v-if="isShowMoneyPay" class="pay-content-item" @click="payVideo(2)">
|
||||
<view v-if="isShowMoneyPay" class="pay-content-itemczg" @click="payVideo(2)">
|
||||
<text class="pay-content-items">
|
||||
{{countPrice}}元解锁单集视频
|
||||
</text>
|
||||
</view>
|
||||
<!-- <view class="pay-content-item" @click="goNav('/pages/me/vip/index')" v-if="isVips == '是'">
|
||||
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<!-- <view class="pay-content-itemczg" @click="goNav('/pages/me/vip/index')" v-if="isVips == '是'">
|
||||
<image class="pay-content-item-iconczg" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<text class="pay-content-items">
|
||||
开通会员
|
||||
</text>
|
||||
@@ -1730,35 +1730,35 @@
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
|
||||
.detail {
|
||||
.subNvuedetail {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.swipers {
|
||||
.swipersas {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-item {
|
||||
.swipersasda {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-items {
|
||||
.swipersasts {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.swipers-items-video {
|
||||
.swipersastqw {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-items-imgsbg {
|
||||
.swipers-items-imgsbgwq {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
@@ -1891,7 +1891,7 @@
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.list-title-rs {
|
||||
.list-title-rsczg {
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
}
|
||||
@@ -1988,7 +1988,7 @@
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.pay-content-item {
|
||||
.pay-content-itemczg {
|
||||
width: 710rpx;
|
||||
height: 92rpx;
|
||||
border-radius: 20rpx;
|
||||
@@ -1999,7 +1999,7 @@
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.pay-content-item-icon {
|
||||
.pay-content-item-iconczg {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 10rpx;
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view src="http://baidu.com/"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.bg-fff{
|
||||
width: 750rpx;
|
||||
height: 300rpx;background-color: #fff;
|
||||
}
|
||||
</style>
|
||||
14
me/detail/subNvuedetail/pay.nvue
Normal file
@@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view src="https://fanyi.baidu.com/mtpe-individual/multimodal"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import one from '../components/czgdetail1 (1).JPG'
|
||||
import tow from '../components/czgdetail1 (2).JPG'
|
||||
import there from '../components/czgdetail1 (3).JPG'
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||