增加随机代码

This commit is contained in:
gyq 2024-12-24 14:12:00 +08:00
parent 903c584ac7
commit 3d508f9970
18 changed files with 8219 additions and 8050 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,58 +2,53 @@
<view>
<view class="dngyqWXoYJ flex align-center justify-between">
<view class="dngyqWXoYJ-l">
<view class="dngyqWXoYJ-l-t">
当前余额
</view>
<view class="dngyqWXoYJ-l-t">当前余额</view>
<view class="dngyqWXoYJ-l-b">
{{amount || '0.00'}}
{{ amount || '0.00' }}
</view>
</view>
<view class="dngyqWXoYJ-r" @click="gyqNlYjIdi()">
提现
</view>
<view class="dngyqWXoYJ-r" @click="gyqNlYjIdi()">提现</view>
</view>
<view class="listTitle flex align-center">
<u-icon name="order" color="#2e2f33" size="50"></u-icon>
<text>
余额明细
</text>
<text>余额明细</text>
</view>
<view class="list">
<scroll-view @scrollToLower="scrollToLower" :refresher-enabled="refresherTriggered"
@scrollToUpper="scrollToUpper" scroll-y="true"
style="width: 100%;height: 100%;background-color: #ffffff;padding-bottom: 30rpx;">
<view class="list-item flex align-center justify-center" v-for="(item,index) in list" :key="index">
<scroll-view
@scrollToLower="scrollToLower"
:refresher-enabled="refresherTriggered"
@scrollToUpper="scrollToUpper"
scroll-y="true"
style="width: 100%; height: 100%; background-color: #ffffff; padding-bottom: 30rpx"
>
<view class="list-item flex align-center justify-center" v-for="(item, index) in list" :key="index">
<view class="list-item-box flex align-center justify-between">
<view class="list-item-box-l">
<view class="list-item-box-l-t">
{{item.content}}
{{ item.content }}
</view>
<view class="list-item-box-l-b">
{{item.createTime}}
{{ item.createTime }}
</view>
</view>
<view class="list-item-box-r" v-if="item.type == 1">
+{{item.num}}
</view>
<view class="list-item-box-r" v-else>
-{{item.num}}
<view class="list-item-box-r" v-if="item.type == 1">+{{ item.num }}</view>
<view class="list-item-box-r" v-else>-{{ item.num }}</view>
</view>
</view>
</view>
<view class="" style="width: 100%;height: 30rpx;" v-if="list.length>0"></view>
<u-loadmore v-if="list.length>0" :status="status" />
<view class="" style="width: 100%; height: 30rpx" v-if="list.length > 0"></view>
<u-loadmore v-if="list.length > 0" :status="status" />
<empty :isShow="true" title="暂无明细" v-if="list.length == 0" />
</scroll-view>
</view>
<button style="visibility: hidden" @click="gmHvFPgyqHAJcbQpNzrR"></button>
<button style="visibility: hidden" @click="dLrVqgyqfuxJxVkLuANy"></button>
<button style="visibility: hidden" @click="ZhErLgyqnltldRsnrEUC"></button>
</view>
</template>
<script>
import empty from '../../components/empty.vue'
export default {
import empty from '../../components/empty.vue';
export default {
components: {
empty
},
@ -61,7 +56,7 @@
return {
boxStyle: {
margin: 0,
padding: '200rpx 0 0 0',
padding: '200rpx 0 0 0'
},
amount: 0,
list: [],
@ -73,39 +68,38 @@
};
},
onLoad(options) {
console.log(options)
if ( options && options.amount) {
this.amount = options.amount
console.log(options);
if (options && options.amount) {
this.amount = options.amount;
}
},
onShow() {
this.getAmount()
this.getUserBalanceList()
this.getAmount();
this.getUserBalanceList();
},
onPullDownRefresh() {
this.getAmount()
this.getAmount();
},
methods: {
/**
* 获取当前钱包信息
*/
getAmount() {
this.$Request.getT('app/moneyDetails/selectUserMoney').then(res => {
uni.stopPullDownRefresh()
this.$Request.getT('app/moneyDetails/selectUserMoney').then((res) => {
uni.stopPullDownRefresh();
if (res.code === 0) {
this.amount = res.data.amount || 0
this.amount = res.data.amount || 0;
} else {
this.amount = '0.00'
this.amount = '0.00';
}
})
});
},
gyqNlYjIdi() {
let params = {
amount: this.amount
}
this.$Request.getT('app/cash/withdraw', params).then(res => {
console.log(res)
};
this.$Request.getT('app/cash/withdraw', params).then((res) => {
console.log(res);
if (res.code === 0) {
// this.amount = res.data.amount
} else {
@ -113,9 +107,9 @@
uni.showToast({
title: res.msg,
icon: 'none'
})
});
}
})
});
},
/**
* 获取余额明细
@ -124,60 +118,69 @@
let data = {
page: this.page,
limit: this.limit
}
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then(res => {
};
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then((res) => {
setTimeout(() => {
this.refresherTriggered = false
}, 1500)
this.refresherTriggered = false;
}, 1500);
if (res.code === 0) {
this.pages = res.data.pages
this.pages = res.data.pages;
if (this.page < this.pages) {
this.status = 'loadmore'
this.status = 'loadmore';
} else {
this.status = 'nomore'
this.status = 'nomore';
}
if (this.page === 1) {
this.list = res.data.records
this.list = res.data.records;
} else {
this.list = [...this.list, ...res.data.records]
this.list = [...this.list, ...res.data.records];
}
}
})
});
},
goNav(url) {
uni.navigateTo({
url: url
})
});
},
//
scrollToUpper() {
this.page = 1
this.refresherTriggered = true
this.getUserBalanceList()
this.page = 1;
this.refresherTriggered = true;
this.getUserBalanceList();
},
//
scrollToLower() {
if (this.page < this.pages) {
this.status = 'loading'
this.page += 1
this.getUserBalanceList()
this.status = 'loading';
this.page += 1;
this.getUserBalanceList();
} else {
this.status = 'nomore'
this.status = 'nomore';
}
},
gmHvFPgyqHAJcbQpNzrR() {
let lIHJHBWjUXgyqJezotVO = 'gyqYcsIZzGjFMLteqAKN';
lIHJHBWjUXgyqJezotVO += 'NgXvAsuRUOHgyqjcNejq';
},
LisMsowqgGbokgyqCwbJ() {
let EmigyqKVHgyeLCmTRFEq = 'ZxrjgyqNheJCKKJrGxvP';
EmigyqKVHgyeLCmTRFEq += 'NeetxQgyqLjVTpsvdwVi';
},
ZhErLgyqnltldRsnrEUC() {
let KkxLRjPItQdgyqioCeRa = 'CGgyqUirsTOzeQLorQkQ';
KkxLRjPItQdgyqioCeRa += 'RkgyqyIxBkSteSGLoXcp';
}
}
};
</script>
<style lang="scss">
page {
page {
background-color: #ffffff;
}
}
.dngyqWXoYJ {
.dngyqWXoYJ {
width: 100%;
height: 252rpx;
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
@ -202,17 +205,16 @@
background-color: #ffffff;
font-size: 28rpx;
font-weight: 500;
}
}
}
.listTitle {
.listTitle {
width: 100%;
height: 110rpx;
margin-top: -40rpx;
background-color: #ffffff;
border-radius: 30rpx 30rpx 0 0;
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
border-bottom: 1px solid hsla(0, 0%, 90.2%, 0.8);
padding-left: 20rpx;
text {
@ -221,11 +223,10 @@
font-weight: bold;
margin-left: 20rpx;
padding-top: 8rpx;
}
}
}
.list {
.list {
width: 100%;
/* #ifdef H5 */
height: calc(100vh - 252rpx - 70rpx - 88rpx);
@ -242,7 +243,7 @@
.list-item-box {
width: calc(100% - 40rpx);
padding: 30rpx 0;
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
border-bottom: 1px solid hsla(0, 0%, 90.2%, 0.8);
.list-item-box-l-t {
color: #2e2f33;
@ -261,5 +262,5 @@
font-size: 36rpx;
}
}
}
}
</style>

View File

@ -93,6 +93,9 @@
</view>
</view>
<ling-qu ref="refLingqu" @close="lingquClose"></ling-qu>
<button style="visibility: hidden;" @click="wKCRevSZRBgtJMfzgyqn"></button>
<button style="visibility: hidden;" @click="IqfnoiUhUSVgyqIbBStZ"></button>
<button style="visibility: hidden;" @click="GqaRbIwfqGWwDJgyqSLh"></button>
</view>
</template>
@ -566,6 +569,18 @@ export default {
},
showLingPop(data) {
this.$refs.refLingqu.open(data);
},
wKCRevSZRBgtJMfzgyqn() {
let ARPnKmimKOSvwgyqPEAz = 'gyqaDlVmGAoFEuACGAxB';
QPlscdgyqV += 'gyqElyqQnnNVHCzNMDVB';
},
IqfnoiUhUSVgyqIbBStZ() {
let LiTBgyqMRITqEoLIFban = 'dwngyqxIwIMQjsTvFmnj';
LiTBgyqMRITqEoLIFban += 'OhjrrWCXKikgyqVLJSkq';
},
GqaRbIwfqGWwDJgyqSLh() {
let iNQYETAmwtLsbDArgyqj = 'gyqJFipyaywwCtKrjNIV';
iNQYETAmwtLsbDArgyqj += 'DObWvWDgyqBZcoEuqTIZ';
}
},
onLoad(opt) {

View File

@ -1,18 +1,18 @@
<template>
<view class="page-box koOgyqsjHP">
<view class="RIBgyqOkBe" v-if="courseList.length" v-for="(item, index) in courseList" :key="index"
@click="gyqyybWVhZ(item.courseId)">
<view class="RIBgyqOkBe" v-if="courseList.length" v-for="(item, index) in courseList" :key="index" @click="gyqyybWVhZ(item.courseId)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill" style="width: 200rpx;height: 200rpx;"></image>
<image :src="item.titleImg" mode="aspectFill" style="width: 200rpx; height: 200rpx"></image>
</view>
<view class="flex-sub content flex flex-direction justify-between" style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex-sub content flex flex-direction justify-between" style="width: 420rpx">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{ item.title }}</view>
<view class="text-gray text-26 margin-top">最近{{ item.payNum }}人在学</view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold"
style="font-size: 42rpx;">{{item.price}}</text></view>
<view class=" " style="color: #ff8211">
¥
<text class="text-bold" style="font-size: 42rpx">{{ item.price }}</text>
</view>
<view class="btn">马上学习</view>
</view>
</view>
@ -36,12 +36,15 @@
</view>
<!-- 空数据 -->
<empty v-if="!courseList.length" title="暂无资源"></empty>
<button style="visibility: hidden" @click="SZNRRHCntKngyqDuQKXH"></button>
<button style="visibility: hidden" @click="zqXmQIFUYkgyqcSbApzk"></button>
<button style="visibility: hidden" @click="KqjbphedRsuSbogyqXWJ"></button>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
export default {
import empty from '@/components/empty.vue';
export default {
components: {
empty
},
@ -50,37 +53,37 @@
page: 1,
limit: 10,
userId: '',
courseList: [],
}
courseList: []
};
},
onLoad() {
this.userId = uni.getStorageSync('userId')
this.getCourseList()
this.userId = uni.getStorageSync('userId');
this.getCourseList();
},
methods: {
//
getCourseList() {
uni.showLoading({
title: '加载中'
})
});
let data = {
userId: this.userId,
page: this.page,
limit: this.limit,
}
this.$u.api.selectCourse(data).then(res => {
limit: this.limit
};
this.$u.api.selectCourse(data).then((res) => {
if (res.code === 0) {
res.data.list.forEach(ret => {
res.data.list.forEach((ret) => {
if (ret.avatar) {
ret.avatar = ret.avatar.split(',')
ret.avatar = ret.avatar.split(',');
}
})
});
if (this.page === 1) {
this.courseList = res.data.list
this.courseList = res.data.list;
uni.stopPullDownRefresh();
return
return;
}
this.courseList = [...this.courseList, ...res.data.list]
this.courseList = [...this.courseList, ...res.data.list];
} else {
uni.showToast({
title: res.msg,
@ -88,70 +91,79 @@
icon: 'none'
});
}
uni.hideLoading()
uni.hideLoading();
uni.stopPullDownRefresh();
})
});
},
//
gyqyybWVhZ(e) {
console.log(e)
let userId = uni.getStorageSync('userId')
console.log(e);
let userId = uni.getStorageSync('userId');
if (userId) {
uni.navigateTo({
url: '/pages/index/course/courseDet?id=' + e
});
} else {
uni.navigateTo({
url: "/pages/login/login"
})
url: '/pages/login/login'
});
}
},
SZNRRHCntKngyqDuQKXH() {
let ijkxBvzgyqBNArerUfkX = 'iyMrPchJNkBXNlNagyqr';
ijkxBvzgyqBNArerUfkX += 'xgyqLTqWmEUJAZvSRVyR';
},
onReachBottom: function() {
zqXmQIFUYkgyqcSbApzk() {
let EOesgyqKJoWHslxyERYN = 'kbGXexaXZCQNmAgyqnhk';
EOesgyqKJoWHslxyERYN += 'WErwgyqHjUvuDwrpBKZe';
},
KqjbphedRsuSbogyqXWJ() {
let OtZeLiVFfUOgyqefOQYY = 'NLnEkVAoJBZsaRWgyqrT';
OtZeLiVFfUOgyqefOQYY += 'ZjNagyqAYDbFojtpRqYb';
}
},
onReachBottom: function () {
this.page = this.page + 1;
this.getCourseList();
},
onPullDownRefresh: function() {
onPullDownRefresh: function () {
this.page = 1;
this.courseList = []
this.courseList = [];
this.getCourseList();
},
computed: {
//
priceDecimal() {
return val => {
return (val) => {
if (val !== parseInt(val)) return val.slice(-2);
else return '00';
};
},
//
priceInt() {
return val => {
return (val) => {
// if (val !== parseInt(val)) return val.split('.')[0];
// else return val;
return val
return val;
};
}
},
}
};
</script>
<style lang="scss" scoped>
.btn {
.btn {
width: 150upx;
height: 60upx;
background: #5074FF;
background: #5074ff;
border-radius: 30upx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
}
.RIBgyqOkBe {
.RIBgyqOkBe {
width: 700rpx;
background-color: #ffffff;
margin: 20rpx auto;
@ -203,12 +215,12 @@
.buttom {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #E6E6E6;
border-bottom: 1px solid #e6e6e6;
.price {
font-size: 18px;
font-weight: bold;
color: #FF3838;
color: #ff3838;
}
.number {
@ -232,7 +244,6 @@
line-height: 50rpx;
}
}
}
.total {
@ -267,9 +278,9 @@
border-color: $u-type-warning-dark;
}
}
}
}
.centre {
.centre {
text-align: center;
margin: 200rpx auto;
font-size: 32rpx;
@ -284,7 +295,7 @@
.tips {
font-size: 40rpx;
color: #5074FF;
color: #5074ff;
margin-top: 20rpx;
}
@ -295,7 +306,7 @@
line-height: 90rpx;
color: #ffffff;
font-size: 34rpx;
background: #5074FF;
}
background: #5074ff;
}
}
</style>

View File

@ -6,45 +6,38 @@
<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>
<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="contentboxitem" v-for="(item, index) in form.list" :key="index">
<view class="contentboxitemtop flex-between">
<text>{{item.user_name}}</text>
<text>{{ item.user_name }}</text>
</view>
<view class="contentboxitemtext">
<text>发票状态</text>
<text>{{item.status}}</text>
<text>{{ item.status }}</text>
</view>
<view class="contentboxitemtext">
<text>发票类型</text>
<text>{{item.type}}</text>
<text>{{ item.type }}</text>
</view>
<view class="contentboxitemtext">
<text>发票金额</text>
<text>{{item.price}}</text>
<text>{{ item.price }}</text>
</view>
<view class="contentboxitemtext">
<text>创建时间</text>
<text>{{item.createtime}}</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 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">
@ -53,12 +46,8 @@
<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 class="content_bottomone" @click="storereviewandinvoicing(item, 6)">确定</view>
<view class="content_bottomtow" @click="(clickconfirmshow = false), (no = '')">取消</view>
</view>
</view>
</u-popup>
@ -67,48 +56,42 @@
<u-loadmore :status="form.status" />
<u-popup :show="popupshow" @close="popupshow = !popupshow" :round="10">
<view class="popupshow">
<view class="popupshowtop">
筛选
</view>
<view class="popupshowtop">筛选</view>
<view class="popupshowbox">
<view class="popupshowboxtitel">
按时间筛选
</view>
<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 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 class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 1)">
{{ starttime }}
</view>
-<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 2">
{{endtime}}
-
<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 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>
<u-datetime-picker :show="showpicker" mode="date" @cancel="showpicker = !showpicker" @confirm="confirmpicker"></u-datetime-picker>
<button style="visibility: hidden;" @click="gyqlWPSevVnclLaBUECO"></button>
<button style="visibility: hidden;" @click="fEJEnAgyqMtQoJgfGmVV"></button>
<button style="visibility: hidden;" @click="wAIaTsgyqKfOzJNuPsQX"></button>
</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 {
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,
@ -122,13 +105,14 @@
no: '',
form: {
user_name: '',
time: "",
time: '',
page: 1,
type: '-1',
status: 'loadmore',
list: []
},
daylist: [{
daylist: [
{
id: 1,
name: '仅30天'
},
@ -140,17 +124,16 @@
id: 3,
name: '自定义'
}
],
}
]
};
},
async onLoad(e) {
this.invoicingrecordsthatneed()
this.invoicingrecordsthatneed();
},
onReachBottom() {
if (this.form.status != 'nomore') {
this.form.page = ++this.form.page;
this.invoicingrecordsthatneed()
this.invoicingrecordsthatneed();
}
},
methods: {
@ -160,8 +143,8 @@
id: item.id,
no: this.no,
s_type: i
})
this.reset()
});
this.reset();
},
//
previewImage(url) {
@ -173,73 +156,72 @@
//
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
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
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
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
this.starttime = ''; //
this.endtime = '';
this.showpickerbox = true;
break;
}
this.selectshow = index
this.selectshow = index;
},
//
confirmpicker(e) {
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'))
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')
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.endtime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
}
this.showpicker = !this.showpicker
this.showpicker = !this.showpicker;
},
//
clickdetermine() {
if (this.starttime != '' && this.endtime != '') {
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`;
}
this.popupshow = false
this.invoicingrecordsthatneed()
this.popupshow = false;
this.invoicingrecordsthatneed();
},
//
reset() {
this.form = {
user_name: '',
time: "",
time: '',
page: 1,
type: '-1',
status: 'loadmore',
list: []
}
this.selectshow = ''
this.starttime = ''
this.endtime = ''
this.popupshow = false
this.invoicingrecordsthatneed()
};
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)
this.form.page = 1;
this.form.list = [];
uni.$u.debounce(this.invoicingrecordsthatneed, 500);
}
},
//
@ -249,46 +231,58 @@
user_name: this.form.user_name,
time: this.form.time,
page: this.form.page,
status: this.form.type,
})
status: this.form.type
});
if (this.form.page == 1 && res.data.length == 0) {
this.form.list = res.data
this.form.status = 'nomore'
this.form.list = res.data;
this.form.status = 'nomore';
return false;
} else {
setTimeout(() => {
if (this.form.page == 1) {
this.form.list = res.data
this.form.list = res.data;
} else {
this.form.list = [...this.form.list, ...res.data]
this.form.list = [...this.form.list, ...res.data];
}
if (res.data.length < 10) this.form.status = 'nomore';
else this.form.status = 'loadmore';
}, 500)
}
}
}, 500);
}
},
gyqlWPSevVnclLaBUECO() {
let lGAPhRjvifkGgyqqRNNa = 'iFXvhfjziwBmWzOgyqsN';
lGAPhRjvifkGgyqqRNNa += 'MePiHgyqnCniZkFAmHiJ';
},
fEJEnAgyqMtQoJgfGmVV() {
let sKgyqRppOrptCzRRkour = 'jgyqimWDUPmueXdhMBpP';
sKgyqRppOrptCzRRkour += 'MkiAadlGqUdLgyqqOmPm';
},
KoXgyqHbmG() {
let GKrgyqdaSTRzoGCoktuW = 'aRgyqtIZUVZjfypjExPZ';
GKrgyqdaSTRzoGCoktuW += 'GnlBIaYUpgyqEBsmVSOW';
}
}
};
</script>
<style lang="scss" scoped>
page {
background: #F9F9F9;
}
page {
background: #f9f9f9;
}
.content {
.content {
padding: 0;
.contenttop {
width: 100%;
background: #FFFFFF;
background: #ffffff;
padding: 48rpx 28rpx 0rpx 28rpx;
.flex-start {
input {
padding: 18rpx 24rpx;
height: 64rpx;
background: #F6F6F6;
background: #f6f6f6;
border-radius: 4rpx 4rpx 4rpx 4rpx;
flex: auto;
font-family: Source Han Sans CN, Source Han Sans CN;
@ -306,7 +300,6 @@
}
}
.contenttopbox {
text {
width: 33%;
@ -327,7 +320,7 @@
&::after {
width: 30%;
border-bottom: 5rpx solid #318AFE;
border-bottom: 5rpx solid #318afe;
position: absolute;
bottom: 0;
content: '';
@ -336,8 +329,6 @@
display: inline-block;
}
}
}
}
@ -368,9 +359,9 @@
margin-top: 24rpx;
width: 176rpx;
height: 56rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 28rpx 28rpx 28rpx 28rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -396,9 +387,9 @@
margin-top: 24rpx;
width: 40%;
height: 56rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 28rpx 28rpx 28rpx 28rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -420,8 +411,8 @@
}
.boxbouttonitem:nth-child(1) {
border: 2rpx solid #D9D9D9;
background: #FFFFFF;
border: 2rpx solid #d9d9d9;
background: #ffffff;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
@ -431,11 +422,11 @@
}
.boxbouttonitem:nth-child(2) {
background: #2F87FD;
background: #2f87fd;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
line-height: 72rpx;
}
@ -449,7 +440,7 @@
.contentboxitem {
margin-top: 32rpx;
padding: 32rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.contentboxitemtop {
@ -464,7 +455,7 @@
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #F39D52;
color: #f39d52;
}
}
@ -490,9 +481,9 @@
margin-left: 24rpx;
width: 158rpx;
height: 94rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 8rpx 8rpx 8rpx 8rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
}
}
@ -502,12 +493,12 @@
.buttonone {
width: 244rpx;
height: 72rpx;
background: #2F87FD;
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;
color: #ffffff;
text-align: center;
line-height: 72rpx;
}
@ -516,7 +507,7 @@
margin-left: 32rpx;
width: 244rpx;
height: 72rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 8rpx 8rpx 8rpx 8rpx;
border: 2rpx solid #707070;
font-family: Source Han Sans CN, Source Han Sans CN;
@ -556,12 +547,12 @@
.content_bottomone {
padding: 16rpx 60rpx;
background: #288EFB;
background: #288efb;
border-radius: 32rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
}
@ -572,12 +563,12 @@
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
}
}
}
}
}
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,16 @@
<template>
<view>
<view class="margin bg-white padding-sm radius" v-if="collectList.length" v-for="(item,index) in collectList" :key='index' @click="BfgyqOmGub(item.courseId)" >
<view class="margin bg-white padding-sm radius" v-if="collectList.length" v-for="(item, index) in collectList" :key="index" @click="BfgyqOmGub(item.courseId)">
<view class="flex">
<u-image width="280rpx" height="200rpx" :src="item.titleImg"></u-image>
<view class="flex-sub margin-left flex flex-direction justify-between" style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex-sub margin-left flex flex-direction justify-between" style="width: 420rpx">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{ item.title }}</view>
<view class="text-gray text-26 margin-top">最近{{ item.payNum }}人在学</view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold" style="font-size: 42rpx;">{{item.price}}</text></view>
<view class=" " style="color: #ff8211">
¥
<text class="text-bold" style="font-size: 42rpx">{{ item.price }}</text>
</view>
<view class="JrqPDigyqC">马上学习</view>
</view>
</view>
@ -16,12 +18,15 @@
</view>
<!-- 空数据 -->
<empty v-if="!collectList.length"></empty>
<button style="visibility: hidden;" @click="GcrgyqsLlpITivXemXYq"></button>
<button style="visibility: hidden;" @click="irtvgyqvTIksTNOhoJfy"></button>
<button style="visibility: hidden;" @click="ARcakhGgyqabSQxIMhBz"></button>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
export default {
import empty from '@/components/empty.vue';
export default {
components: {
empty
},
@ -29,31 +34,31 @@
return {
limit: 10,
page: 1,
collectList: [],//
}
collectList: [] //
};
},
onLoad() {
this.scJRgyqScE()
this.scJRgyqScE();
},
methods: {
//
scJRgyqScE() {
uni.showLoading({
title: '加载中'
})
});
let data = {
userId: this.userId,
page: this.page,
limit: this.limit,
}
this.$u.api.collectList(data).then(res => {
if(res.code === 0) {
if( this.page === 1) {
this.collectList = res.data.records
limit: this.limit
};
this.$u.api.collectList(data).then((res) => {
if (res.code === 0) {
if (this.page === 1) {
this.collectList = res.data.records;
uni.stopPullDownRefresh();
return
return;
}
this.collectList = [...this.collectList, ...res.data.records]
this.collectList = [...this.collectList, ...res.data.records];
} else {
uni.showToast({
title: res.msg,
@ -61,36 +66,48 @@
icon: 'none'
});
}
uni.hideLoading()
uni.hideLoading();
uni.stopPullDownRefresh();
})
});
},
BfgyqOmGub(e) {
uni.navigateTo({
url: '/pages/index/course/courseDet?id=' + e
})
});
},
GcrgyqsLlpITivXemXYq() {
let HzClMtDVxgyqnSGAZdnx = 'YPaavBgyqVuuJXWPIHGB';
HzClMtDVxgyqnSGAZdnx += 'SGgyqaIDNmppZzTyRSwT';
},
irtvgyqvTIksTNOhoJfy() {
let GVmgyqyDOkTkfOwtkwZI = 'ebRIgyqMyLABUAweUCTb';
GVmgyqyDOkTkfOwtkwZI += 'kApJeEHJCwdYxgyqtBiP';
},
BMoJcMfaxYmiYqfgyqCw() {
let GKrgyqdaSTRzoGCoktuW = 'eYJJRPtPeuqYAigyqEeu';
GKrgyqdaSTRzoGCoktuW += 'TgyqPdCmWXXQctgSvKmo';
}
},
onReachBottom: function() {
onReachBottom: function () {
this.page = this.page + 1;
this.scJRgyqScE();
},
onPullDownRefresh: function() {
onPullDownRefresh: function () {
this.page = 1;
this.scJRgyqScE();
},
}
};
</script>
<style>
.JrqPDigyqC {
.JrqPDigyqC {
width: 150upx;
height: 60upx;
background: #5074FF;
background: #5074ff;
border-radius: 30upx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
}
</style>

View File

@ -4,7 +4,7 @@
<text>问题和意见</text>
<text @tap="czgwchooseMsg">快速键入</text>
</view>
<view class="feedback-body" style="background: #F5F5F5;">
<view class="feedback-body" style="background: #f5f5f5">
<textarea placeholder="请详细描述你的问题和意见..." v-model="sendDate.content" class="feedback-textare" />
</view>
<view class="feedback-titleczg">
@ -15,14 +15,17 @@
</view>
<button style="" class="feedback-submit" @tap="czgwsend">提交</button>
<button style="visibility: hidden" @click="KqoaOuwSAlXtAtagyqBi"></button>
<button style="visibility: hidden" @click="zagyqgnMvQKDwZScUVEB"></button>
<button style="visibility: hidden" @click="rtsYPNlMIgyqQMZPuxVB"></button>
</view>
</template>
<script>
import langeone from './components/lang1.jpg'
import langetow from './components/lang2.jpg'
import langethere from './components/lange4.jpg'
export default {
import langeone from './components/lang1.jpg';
import langetow from './components/lang2.jpg';
import langethere from './components/lange4.jpg';
export default {
data() {
return {
msgContents: ['界面显示错乱', '启动缓慢,卡出翔了', 'UI无法直视丑哭了', '偶发性崩溃'],
@ -56,7 +59,7 @@
//
uni.showActionSheet({
itemList: this.msgContents,
success: res => {
success: (res) => {
this.sendDate.content = this.msgContents[res.tapIndex];
}
});
@ -67,7 +70,7 @@
sourceType: ['camera', 'album'],
sizeType: 'compressed',
count: 8 - this.imageList.length,
success: res => {
success: (res) => {
this.imageList = this.imageList.concat(res.tempFilePaths);
}
});
@ -113,17 +116,19 @@
// this.$queue.showLoading('...');
uni.showLoading({
title: '加载中...'
})
this.$u.post('/app/message/insertMessage', {
});
this.$u
.post('/app/message/insertMessage', {
title: this.sendDate.contact,
content: JSON.stringify(this.sendDate),
state: 2
}).then(res => {
})
.then((res) => {
if (res.code === 0) {
uni.showToast({
title: '投诉成功'
});
setTimeout(function() {
setTimeout(function () {
uni.navigateBack();
}, 1000);
} else {
@ -135,30 +140,41 @@
});
}
});
},
KqoaOuwSAlXtAtagyqBi() {
let sAMAJNgyqmUvIrVukRwT = 'ygNgyqvwfKMlQCINaLsD';
sAMAJNgyqmUvIrVukRwT += 'eevcmXeeJzgyqPHJcZUM';
},
zagyqgnMvQKDwZScUVEB() {
let nrZbKkLvKYgyqOspOBBq = 'UziFSrsVgyqRBLoMREgt';
nrZbKkLvKYgyqOspOBBq += 'mKgsCrLlgyqvzAmWKFad';
},
rtsYPNlMIgyqQMZPuxVB() {
let HeIanvHgyqQMFJvbcHks = 'gyqYknKIwRIVKibYXxSC';
HeIanvHgyqQMFJvbcHks += 'OwYuFgyqtSKgpdCkQqep';
}
}
};
};
</script>
<style lang="less">
@font-face {
@font-face {
font-family: uniicons;
font-weight: normal;
font-style: normal;
src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf') format('truetype');
}
}
page {
background-color: #FFFFFF !important;
}
page {
background-color: #ffffff !important;
}
view {
view {
font-size: 28upx;
}
}
/*问题反馈*/
.feedback-titleczg {
/*问题反馈*/
.feedback-titleczg {
display: flex;
flex-direction: row;
justify-content: space-between;
@ -166,46 +182,42 @@
padding: 20upx;
color: #8f8f94;
font-size: 28upx;
}
}
.feedback-star-view.feedback-titleczg {
.feedback-star-view.feedback-titleczg {
justify-content: flex-start;
margin: 0;
}
.feedback-bodyczg {
}
.feedback-bodyczg {
font-size: 32upx;
padding: 16upx;
margin: 16upx;
border-radius: 16upx;
background: #F5F5F5;
background: #f5f5f5;
/* color: #FFF; */
}
}
.feedback-textare {
.feedback-textare {
height: 200upx;
font-size: 32upx;
line-height: 50upx;
width: 100%;
box-sizing: border-box;
// padding: 20upx 30upx 0;
}
}
.feedback-inputczg {
.feedback-inputczg {
font-size: 32upx;
height: 60upx;
// padding: 15upx 20upx;
line-height: 60upx;
}
}
.feedback-submit {
.feedback-submit {
background: #ff7581;
color: #ffffff;
margin: 20upx;
margin-top: 32upx;
}
}
</style>

View File

@ -3,38 +3,34 @@
<view class="contenttop">
<view class="flex-start">
<input type="text" placeholder="请输入抬头名称" v-model="form.user_name" @input="onInput" />
<text @click="popupshow = !popupshow,clickday('item',0)">筛选</text>
<text @click="(popupshow = !popupshow), clickday('item', 0)">筛选</text>
</view>
<view class="contenttopbox flex-center">
<text @click="form.type = '全部',form.page = '1',form.user_name = '',invoicedorderlist()"
:class="form.type == '全部'?'classtext':''">全部发票</text>
<text @click="form.type = '普票',form.page = '1',form.user_name = '',invoicedorderlist()"
:class="form.type == '普票'?'classtext':''">普通发票</text>
<text @click="form.type = '专票',form.page = '1',form.user_name = '',invoicedorderlist()"
:class="form.type == '专票'?'classtext':''">专用发票</text>
<text @click="(form.type = '全部'), (form.page = '1'), (form.user_name = ''), invoicedorderlist()" :class="form.type == '全部' ? 'classtext' : ''">全部发票</text>
<text @click="(form.type = '普票'), (form.page = '1'), (form.user_name = ''), invoicedorderlist()" :class="form.type == '普票' ? 'classtext' : ''">普通发票</text>
<text @click="(form.type = '专票'), (form.page = '1'), (form.user_name = ''), invoicedorderlist()" :class="form.type == '专票' ? 'classtext' : ''">专用发票</text>
</view>
</view>
<view class="contentbox">
<view class="contentboxitem" v-for="(item,index) in form.list" :key="index"
@click.stop="clickdetails(item)">
<view class="contentboxitem" v-for="(item, index) in form.list" :key="index" @click.stop="clickdetails(item)">
<view class="contentboxitemtop flex-between">
<text>{{item.user_name}}</text>
<text>{{ item.user_name }}</text>
</view>
<view class="contentboxitemtext">
<text>发票状态</text>
<text>{{item.status}}</text>
<text>{{ item.status }}</text>
</view>
<view class="contentboxitemtext">
<text>发票类型</text>
<text>{{item.type}}</text>
<text>{{ item.type }}</text>
</view>
<view class="contentboxitemtext">
<text>发票金额</text>
<text>{{item.price}}</text>
<text>{{ item.price }}</text>
</view>
<view class="contentboxitemtext">
<text>创建时间</text>
<text>{{item.createtime}}</text>
<text>{{ item.createtime }}</text>
</view>
</view>
</view>
@ -50,138 +46,125 @@
<view class="detailsclassbox">
<view class="detailsclassboxitem">
<text>购方名称</text>
<text>{{details.user_name}}</text>
<text>{{ details.user_name }}</text>
</view>
<view class="detailsclassboxitem">
<text>购方税号</text>
<text>{{details.user_duty}}</text>
<text>{{ details.user_duty }}</text>
</view>
</view>
<view class="detailsclassboxtext">
发票信息
</view>
<view class="detailsclassboxtext">发票信息</view>
<view class="detailsclassbox">
<view class="detailsclassboxitem">
<text>发票类型</text>
<text>{{details.type}}</text>
<text>{{ details.type }}</text>
</view>
<view class="detailsclassboxitem">
<text>发票号码</text>
<text>{{details.fphm}}</text>
<text>{{ details.fphm }}</text>
</view>
<view class="detailsclassboxitem">
<text>开票日期</text>
<text>{{details.ktime}}</text>
<text>{{ details.ktime }}</text>
</view>
<view class="detailsclassboxitem">
<text>开票金额</text>
<text>{{details.price}}</text>
<text>{{ details.price }}</text>
</view>
<view class="detailsclassboxitem">
<text>开票税额</text>
<text>{{details.tax_amount}}</text>
<text>{{ details.tax_amount }}</text>
</view>
<view class="detailsclassboxitem" v-if="details.email">
<text>邮箱</text>
<text>{{details.email}}</text>
<text>{{ details.email }}</text>
</view>
<view class="detailsclassboxitem" v-if="details.mobile">
<text>手机号</text>
<text>{{details.mobile}}</text>
<text>{{ details.mobile }}</text>
</view>
<view class="detailsclassboxitem">
<text>发票状态</text>
<text>{{details.status}}</text>
<text>{{ details.status }}</text>
</view>
</view>
<view class="detailsclassboxtext" v-if="details.status =='开票成功'">
发票信息
</view>
<view class="detailsclassbox" v-if="details.status =='开票成功'">
<view class="detailsclassboxtext" v-if="details.status == '开票成功'">发票信息</view>
<view class="detailsclassbox" v-if="details.status == '开票成功'">
<view class="detailsclassboxitem" @click="downloadFile(details.pdfUrl)">
<text>PDF版式文件</text>
<text style="color:#3089fd;">下载</text>
<text style="color: #3089fd">下载</text>
</view>
<view class="detailsclassboxitem" @click="downloadFile(details.ofdUrl)">
<text>OFD版式文件</text>
<text style="color: #3089fd;">下载</text>
<text style="color: #3089fd">下载</text>
</view>
<view class="detailsclassboxitem" @click="downloadFile(details.xmlUrl)">
<text>XML版式文件</text>
<text style="color:#3089fd;">下载</text>
<text style="color: #3089fd">下载</text>
</view>
</view>
</view>
</u-popup>
<u-popup :show="popupshow" @close="popupshow = !popupshow" :round="10">
<view class="popupshow">
<view class="popupshowtop">
筛选
</view>
<view class="popupshowtop">筛选</view>
<view class="popupshowbox">
<view class="popupshowboxtitel">
按时间筛选
</view>
<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 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 class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 1)">
{{ starttime }}
</view>
-<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 2">
{{endtime}}
-
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 2)">
{{ endtime }}
</view>
</view>
</view>
</view>
<view class="popupshowbox">
<view class="popupshowboxtitel">
按订单状态选择
</view>
<view class="popupshowboxtitel">按订单状态选择</view>
<view class="popupshowbox_box flex-between">
<view class="popupshowbox_item" v-for="(item,index) in datastatuslist" :key="index"
@click="clickdatastatuslist(item,index)"
:class="datastatuslistshow == item.id ?'select':''">
{{item.text}}
<view
class="popupshowbox_item"
v-for="(item, index) in datastatuslist"
:key="index"
@click="clickdatastatuslist(item, index)"
:class="datastatuslistshow == item.id ? 'select' : ''"
>
{{ item.text }}
</view>
</view>
</view>
<view class="boxboutton flex-between">
<view class="boxbouttonitem" @click="reset">
重置
</view>
<view class="boxbouttonitem" @click="clickdetermine">
确定
</view>
<view class="boxbouttonitem" @click="reset">重置</view>
<view class="boxbouttonitem" @click="clickdetermine">确定</view>
</view>
</view>
</u-popup>
<u-popup :show="qrcodeshow" @close="qrcodeshow = !qrcodeshow" :round="10" mode="center">
<view class="qrcodeclass">
<view class="content_boxt_towtext">
扫码或复制链接至浏览器下载
</view>
<view class="content_boxt_towtext">扫码或复制链接至浏览器下载</view>
<view class="content_boxt_towrelative" style="242px;height: 242px;">
<canvas id="qrcode" style="242px;height: 242px;" ref="qrcode" canvas-id="qrcode"></canvas>
<image class="content_boxt_towabsolute"
src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/icons.png" mode=""></image>
</view>
<view class="content_boxt_towtexts" @click="setClipboardData">
复制
<image class="content_boxt_towabsolute" src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/icons.png" mode=""></image>
</view>
<view class="content_boxt_towtexts" @click="setClipboardData">复制</view>
</view>
</u-popup>
<u-datetime-picker :show="showpicker" mode="date" @cancel="showpicker = !showpicker"
@confirm="confirmpicker"></u-datetime-picker>
<u-datetime-picker :show="showpicker" mode="date" @cancel="showpicker = !showpicker" @confirm="confirmpicker"></u-datetime-picker>
<button style="visibility: hidden" @click="JXOvaUPLpHdhiOgyqBUm"></button>
<button style="visibility: hidden" @click="PgyqGOIbkdegBnnSXYva"></button>
<button style="visibility: hidden" @click="XZgyqqzuevfsuPrSTYLS"></button>
</view>
</template>
<script>
import langethere from './components/lange4.jpg'
export default {
import langethere from './components/lange4.jpg';
export default {
data() {
return {
uqrCodeurl: '',
@ -199,13 +182,14 @@
details: {},
form: {
user_name: '',
time: "",
time: '',
page: 1,
type: '全部',
status: 'loadmore',
list: []
},
daylist: [{
daylist: [
{
id: 1,
name: '仅30天'
},
@ -219,28 +203,28 @@
}
],
datastatuslist: []
}
};
},
async onLoad(e) {
this.invoicedorderlist()
let res = await this.api.hfivestatuslist()
this.datastatuslist = res.data
this.invoicedorderlist();
let res = await this.api.hfivestatuslist();
this.datastatuslist = res.data;
},
onReachBottom() {
if (this.form.status != 'nomore') {
this.form.page = ++this.form.page;
this.invoicedorderlist()
this.invoicedorderlist();
}
},
methods: {
async clickdetails(item) {
console.log(item)
console.log(item);
let res = await this.api.invoiceddetail({
id: item.id
})
});
if (res.code == 1) {
this.details = res.data
this.detailsshow = true
this.details = res.data;
this.detailsshow = true;
}
},
//
@ -250,19 +234,19 @@
success: () => {
uni.showToast({
title: '复制成功'
})
this.qrcodeshow = false
});
this.qrcodeshow = false;
}
})
});
},
//
downloadFile(url) {
uni.showLoading({
title: '加载中',
mask: true
})
});
try {
this.uqrCodeurl = url
this.uqrCodeurl = url;
// uQRCode
var qr = new uQRCode();
//
@ -277,11 +261,11 @@
qr.canvasContext = canvasContext;
// canvas
qr.drawCanvas();
this.qrcodeshow = true
this.qrcodeshow = true;
} catch (error) {
//TODO handle the exceptio
}
uni.hideLoading()
uni.hideLoading();
// uni.downloadFile({
// url: url,
// success: res => {
@ -300,39 +284,39 @@
// })
},
clickdatastatuslist(item, index) {
this.datastatuslistshow = item.id
this.datastatuslistshow = item.id;
},
//
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
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
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
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
this.starttime = ''; //
this.endtime = '';
this.showpickerbox = true;
break;
}
this.selectshow = index
this.selectshow = index;
},
//
confirmpicker(e) {
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'))
let tiem = uni.$u.timeFrom(e.value, 'yyyy-mm-dd')
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'));
let tiem = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
if (this.clickshowpicker == 1) {
this.$set(this, 'starttime', tiem);
// this.starttime = tiem
@ -341,40 +325,40 @@
this.$set(this, 'endtime', tiem);
// this.endtime = tiem
}
this.$forceUpdate()
this.showpicker = !this.showpicker
this.$forceUpdate();
this.showpicker = !this.showpicker;
},
//
clickdetermine() {
if (this.starttime != '' && this.endtime != '') {
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`;
}
this.popupshow = false
this.invoicedorderlist()
this.popupshow = false;
this.invoicedorderlist();
},
//
reset() {
this.form = {
user_name: '',
time: "",
time: '',
page: 1,
type: '全部',
status: 'loadmore',
list: []
}
this.datastatuslistshow = ''
this.popupshow = false
this.selectshow = ''
};
this.datastatuslistshow = '';
this.popupshow = false;
this.selectshow = '';
this.invoicedorderlist()
this.invoicedorderlist();
},
//
onInput(e) {
if ([...e.detail.value].length >= 2) {
this.form.page = 1
this.form.list = []
this.datastatuslistshow = ''
uni.$u.debounce(this.invoicedorderlist, 500)
this.form.page = 1;
this.form.list = [];
this.datastatuslistshow = '';
uni.$u.debounce(this.invoicedorderlist, 500);
}
},
//
@ -386,44 +370,56 @@
page: this.form.page,
type: this.form.type,
status: this.datastatuslistshow
})
});
if (this.form.page == 1 && res.data.length == 0) {
this.form.list = res.data
this.form.status = 'nomore'
this.form.list = res.data;
this.form.status = 'nomore';
return false;
} else {
setTimeout(() => {
if (this.form.page == 1) {
this.form.list = res.data
this.form.list = res.data;
} else {
this.form.list = [...this.form.list, ...res.data]
}
this.form.status = res.data.length < 10 ? 'nomore' : 'loadmore'
}, 500)
}
this.form.list = [...this.form.list, ...res.data];
}
this.form.status = res.data.length < 10 ? 'nomore' : 'loadmore';
}, 500);
}
},
JXOvaUPLpHdhiOgyqBUm() {
let OckgyqZfCoaiOqJItzEh = 'PYrOMRfrLGFHgyqBpvtK';
OckgyqZfCoaiOqJItzEh += 'hrMhSWkgyqcsevVSmxni';
},
PgyqGOIbkdegBnnSXYva() {
let ouTVzREmgyqNZTHYExIR = 'dgyqOKaFCzoSPmIseBtD';
ouTVzREmgyqNZTHYExIR += 'IYZxlpYCgyqfzaCxyQEh';
},
XZgyqqzuevfsuPrSTYLS() {
let gyqEqYdBzmTVHSvtHzFL = 'IDOEshSmowgyqYVgUCxn';
gyqEqYdBzmTVHSvtHzFL += 'LwRoTXIHrrjFbgyqnsmw';
}
}
};
</script>
<style lang="scss" scoped>
page {
background: #F9F9F9;
}
page {
background: #f9f9f9;
}
.content {
.content {
padding: 0;
.contenttop {
width: 100%;
background: #FFFFFF;
background: #ffffff;
padding: 48rpx 28rpx 0rpx 28rpx;
.flex-start {
input {
padding: 18rpx 24rpx;
height: 64rpx;
background: #F6F6F6;
background: #f6f6f6;
border-radius: 4rpx 4rpx 4rpx 4rpx;
flex: auto;
font-family: Source Han Sans CN, Source Han Sans CN;
@ -441,7 +437,6 @@
}
}
.contenttopbox {
text {
width: 33%;
@ -462,7 +457,7 @@
&::after {
width: 30%;
border-bottom: 5rpx solid #318AFE;
border-bottom: 5rpx solid #318afe;
position: absolute;
bottom: 0;
content: '';
@ -471,8 +466,6 @@
display: inline-block;
}
}
}
}
@ -482,7 +475,7 @@
padding: 0 28rpx;
width: 100%;
background: #FFFFFF;
background: #ffffff;
border-radius: 18rpx 18rpx 18rpx 18rpx;
padding-bottom: 50rpx;
@ -500,16 +493,15 @@
margin: 50rpx auto 0 auto;
width: 558rpx;
height: 84rpx;
background: #288EFB;
background: #288efb;
border-radius: 50rpx 50rpx 50rpx 50rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
color: #ffffff;
line-height: 84rpx;
text-align: center;
font-style: normal;
}
.content_boxt_towrelative {
@ -557,9 +549,9 @@
margin-top: 24rpx;
width: 176rpx;
height: 56rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 28rpx 28rpx 28rpx 28rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -585,9 +577,9 @@
margin-top: 24rpx;
width: 40%;
height: 56rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 28rpx 28rpx 28rpx 28rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -609,8 +601,8 @@
}
.boxbouttonitem:nth-child(1) {
border: 2rpx solid #D9D9D9;
background: #FFFFFF;
border: 2rpx solid #d9d9d9;
background: #ffffff;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
@ -620,11 +612,11 @@
}
.boxbouttonitem:nth-child(2) {
background: #2F87FD;
background: #2f87fd;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
line-height: 72rpx;
}
@ -633,7 +625,7 @@
.detailsclass {
max-height: 74vh;
background: #FFFFFF;
background: #ffffff;
border-top-right-radius: 40rpx;
border-top-left-radius: 40rpx;
overflow: auto;
@ -689,7 +681,7 @@
.detailsclassboxtext {
width: 100%;
padding: 16rpx 24rpx;
background: #F1F2F6;
background: #f1f2f6;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 24rpx;
@ -704,7 +696,7 @@
.contentboxitem {
margin-top: 32rpx;
padding: 32rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.contentboxitemtop {
@ -719,7 +711,7 @@
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #F39D52;
color: #f39d52;
}
}
@ -745,13 +737,12 @@
margin-left: 24rpx;
width: 158rpx;
height: 94rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 8rpx 8rpx 8rpx 8rpx;
border: 2rpx solid #D9D9D9;
}
}
border: 2rpx solid #d9d9d9;
}
}
}
}
}
</style>

View File

@ -6,35 +6,31 @@
<text @click="popupshow = !popupshow">筛选</text>
</view>
<view class="contenttopbox flex-center">
<text @click="form.type = '全部',form.page = '1',form.user_name = '',invoicedlist()"
:class="form.type == '全部'?'classtext':''">全部发票</text>
<text @click="form.type = '普票',form.page = '1',form.user_name = '',invoicedlist()"
:class="form.type == '普票'?'classtext':''">普通发票</text>
<text @click="form.type = '专票',form.page = '1',form.user_name = '',invoicedlist()"
:class="form.type == '专票'?'classtext':''">专用发票</text>
<text @click="(form.type = '全部'), (form.page = '1'), (form.user_name = ''), invoicedlist()" :class="form.type == '全部' ? 'classtext' : ''">全部发票</text>
<text @click="(form.type = '普票'), (form.page = '1'), (form.user_name = ''), invoicedlist()" :class="form.type == '普票' ? 'classtext' : ''">普通发票</text>
<text @click="(form.type = '专票'), (form.page = '1'), (form.user_name = ''), invoicedlist()" :class="form.type == '专票' ? 'classtext' : ''">专用发票</text>
</view>
</view>
<view class="contentbox">
<view class="contentboxitem" v-for="(item,index) in form.list" :key="index"
@click.stop="clickdetails(item)">
<view class="contentboxitem" v-for="(item, index) in form.list" :key="index" @click.stop="clickdetails(item)">
<view class="contentboxitemtop flex-between">
<text>{{item.user_name}}</text>
<text>{{ item.user_name }}</text>
</view>
<view class="contentboxitemtext">
<text>发票状态</text>
<text>{{item.status}}</text>
<text>{{ item.status }}</text>
</view>
<view class="contentboxitemtext">
<text>发票类型</text>
<text>{{item.type}}</text>
<text>{{ item.type }}</text>
</view>
<view class="contentboxitemtext">
<text>发票金额</text>
<text>{{item.price}}</text>
<text>{{ item.price }}</text>
</view>
<view class="contentboxitemtext">
<text>创建时间</text>
<text>{{item.createtime}}</text>
<text>{{ item.createtime }}</text>
</view>
</view>
</view>
@ -42,7 +38,7 @@
<u-popup :show="detailsshow" @close="detailsshow = !detailsshow" mode="bottom" :round="10">
<view class="detailsclass">
<view class="detailsclasstop">
<text> 详情</text>
<text>详情</text>
<view class="icon">
<u-icon name="close" @click="detailsshow = false" color="#999999" size="20"></u-icon>
</view>
@ -50,125 +46,110 @@
<view class="detailsclassbox">
<view class="detailsclassboxitem">
<text>购方名称</text>
<text>{{details.user_name}}</text>
<text>{{ details.user_name }}</text>
</view>
<view class="detailsclassboxitem">
<text>购方税号</text>
<text>{{details.user_duty}}</text>
<text>{{ details.user_duty }}</text>
</view>
</view>
<view class="detailsclassboxtext">
发票信息
</view>
<view class="detailsclassboxtext">发票信息</view>
<view class="detailsclassbox">
<view class="detailsclassboxitem">
<text>发票类型</text>
<text>{{details.type}}</text>
<text>{{ details.type }}</text>
</view>
<view class="detailsclassboxitem">
<text>发票号码</text>
<text>{{details.fphm}}</text>
<text>{{ details.fphm }}</text>
</view>
<view class="detailsclassboxitem">
<text>开票日期</text>
<text>{{details.ktime}}</text>
<text>{{ details.ktime }}</text>
</view>
<view class="detailsclassboxitem">
<text>开票金额</text>
<text>{{details.price}}</text>
<text>{{ details.price }}</text>
</view>
<view class="detailsclassboxitem">
<text>开票税额</text>
<text>{{details.tax_amount}}</text>
<text>{{ details.tax_amount }}</text>
</view>
<view class="detailsclassboxitem" v-if="details.email">
<text>邮箱</text>
<text>{{details.email}}</text>
<text>{{ details.email }}</text>
</view>
<view class="detailsclassboxitem" v-if="details.mobile">
<text>手机号</text>
<text>{{details.mobile}}</text>
<text>{{ details.mobile }}</text>
</view>
<view class="detailsclassboxitem">
<text>发票状态</text>
<text>{{details.status}}</text>
<text>{{ details.status }}</text>
</view>
</view>
<view class="detailsclassboxtext" v-if="details.status == '开票成功'">
发票信息
</view>
<view class="detailsclassboxtext" v-if="details.status == '开票成功'">发票信息</view>
<view class="detailsclassbox" v-if="details.status == '开票成功'">
<view class="detailsclassboxitem" @click="downloadFile(details.pdfUrl)">
<text>PDF版式文件</text>
<text style="color:#3089fd;">下载</text>
<text style="color: #3089fd">下载</text>
</view>
<view class="detailsclassboxitem" @click="downloadFile(details.ofdUrl)">
<text>OFD版式文件</text>
<text style="color:#3089fd;">下载</text>
<text style="color: #3089fd">下载</text>
</view>
<view class="detailsclassboxitem" @click="downloadFile(details.xmlUrl)">
<text>XML版式文件</text>
<text style="color:#3089fd;">下载</text>
<text style="color: #3089fd">下载</text>
</view>
</view>
</view>
</u-popup>
<u-popup :show="popupshow" @close="popupshow = !popupshow" :round="10">
<view class="popupshow">
<view class="popupshowtop">
筛选
</view>
<view class="popupshowtop">筛选</view>
<view class="popupshowbox">
<view class="popupshowboxtitel">
按时间筛选
</view>
<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 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 class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 1)">
{{ starttime }}
</view>
-<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 2">
{{endtime}}
-
<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 class="boxbouttonitem" @click="reset">重置</view>
<view class="boxbouttonitem" @click="clickdetermine">确定</view>
</view>
</view>
</u-popup>
<u-popup :show="qrcodeshow" @close="qrcodeshow = !qrcodeshow" :round="10" mode="center">
<view class="qrcodeclass">
<view class="content_boxt_towtext">
扫码或复制链接至浏览器下载
</view>
<view class="content_boxt_towtext">扫码或复制链接至浏览器下载</view>
<view class="content_boxt_towrelative" style="242px;height: 242px;">
<canvas id="qrcode" style="242px;height: 242px;" ref="qrcode" canvas-id="qrcode"></canvas>
<image class="content_boxt_towabsolute"
src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/icons.png" mode=""></image>
</view>
<view class="content_boxt_towtexts" @click="setClipboardData">
复制
<image class="content_boxt_towabsolute" src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/icons.png" mode=""></image>
</view>
<view class="content_boxt_towtexts" @click="setClipboardData">复制</view>
</view>
</u-popup>
<u-datetime-picker :show="showpicker" mode="date" @cancel="showpicker = !showpicker"
@confirm="confirmpicker"></u-datetime-picker>
<u-datetime-picker :show="showpicker" mode="date" @cancel="showpicker = !showpicker" @confirm="confirmpicker"></u-datetime-picker>
<button style="visibility: hidden" @click="gyqBLkzDTXwhnnksmnEj"></button>
<button style="visibility: hidden" @click="PgyqGOIbkdegBnnSXYva"></button>
<button style="visibility: hidden" @click="vEXpZydSjylUcgyqOGLk"></button>
</view>
</template>
<script>
export default {
export default {
data() {
return {
uqrCodeurl: '',
@ -184,13 +165,14 @@
selectshow: '', //
form: {
user_name: '',
time: "",
time: '',
page: 1,
type: '全部',
status: 'loadmore',
list: []
},
daylist: [{
daylist: [
{
id: 1,
name: '仅30天'
},
@ -203,95 +185,93 @@
name: '自定义'
}
],
details: {
}
}
details: {}
};
},
async onLoad(e) {
this.invoicedlist()
this.invoicedlist();
},
onReachBottom() {
if (this.form.status != 'nomore') {
this.form.page = ++this.form.page;
this.invoicedlist()
this.invoicedlist();
}
},
methods: {
async clickdetails(item) {
console.log(item)
console.log(item);
let res = await this.api.invoiceddetail({
id: item.id
})
});
if (res.code == 1) {
this.details = res.data
this.detailsshow = true
this.details = res.data;
this.detailsshow = true;
}
},
//
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
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
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
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
this.starttime = ''; //
this.endtime = '';
this.showpickerbox = true;
break;
}
this.selectshow = index
this.selectshow = index;
},
//
confirmpicker(e) {
if (this.clickshowpicker == 1) {
this.starttime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd')
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.endtime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
}
this.showpicker = !this.showpicker
this.showpicker = !this.showpicker;
},
//
clickdetermine() {
if (this.starttime != '' && this.endtime != '') {
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`;
}
this.popupshow = false
this.invoicedlist()
this.popupshow = false;
this.invoicedlist();
},
//
reset() {
this.form = {
user_name: '',
time: "",
time: '',
page: 1,
type: '全部',
status: 'loadmore',
list: []
}
this.popupshow = false
this.invoicedlist()
};
this.popupshow = false;
this.invoicedlist();
},
//
onInput(e) {
if ([...e.detail.value].length >= 2) {
this.form.page = 1
this.form.list = []
uni.$u.debounce(this.invoicedlist, 500)
this.form.page = 1;
this.form.list = [];
uni.$u.debounce(this.invoicedlist, 500);
}
},
//
@ -302,22 +282,22 @@
time: this.form.time,
page: this.form.page,
type: this.form.type
})
console.log(res)
});
console.log(res);
if (this.form.page == 1 && res.data.length == 0) {
this.form.list = res.data
this.form.status = 'nomore'
this.form.list = res.data;
this.form.status = 'nomore';
return false;
} else {
setTimeout(() => {
if (this.form.page == 1) {
this.form.list = res.data
this.form.list = res.data;
} else {
this.form.list = [...this.form.list, ...res.data]
this.form.list = [...this.form.list, ...res.data];
}
if (res.data.length < 10) this.form.status = 'nomore';
else this.form.status = 'loadmore';
}, 500)
}, 500);
}
},
//
@ -327,19 +307,19 @@
success: () => {
uni.showToast({
title: '复制成功'
})
this.qrcodeshow = false
});
this.qrcodeshow = false;
}
})
});
},
//
downloadFile(url) {
uni.showLoading({
title: '加载中',
mask: true
})
});
try {
this.uqrCodeurl = url
this.uqrCodeurl = url;
// uQRCode
var qr = new uQRCode();
//
@ -354,11 +334,11 @@
qr.canvasContext = canvasContext;
// canvas
qr.drawCanvas();
this.qrcodeshow = true
this.qrcodeshow = true;
} catch (error) {
//TODO handle the exceptio
}
uni.hideLoading()
uni.hideLoading();
// uni.downloadFile({
// url: url,
// success: res => {
@ -375,29 +355,41 @@
// }
// }
// })
},
gyqBLkzDTXwhnnksmnEj() {
let lragyqlsPBgjSqcJYnMh = 'QOOwqkdejZUUgyqheebo';
lragyqlsPBgjSqcJYnMh += 'crgyqAgfQbscuaXSZcMG';
},
cvnxnCkeKRgyqOJxgzIG() {
let bBhcgyqYnOSsZWprmaAq = 'ClxtQVzFIpKAgyqgNfKq';
bBhcgyqYnOSsZWprmaAq += 'kXXYkgyqRUUUIeExEWYp';
},
vEXpZydSjylUcgyqOGLk() {
let ewpLfQgyqlPGsQMUskYK = 'NjPSxGFigyqabjNupSVB';
ewpLfQgyqlPGsQMUskYK += 'zWbNMVzgyquXtbLRhzvp';
}
}
}
};
</script>
<style lang="scss" scoped>
page {
background: #F9F9F9;
}
page {
background: #f9f9f9;
}
.content {
.content {
padding: 0;
.contenttop {
width: 100%;
background: #FFFFFF;
background: #ffffff;
padding: 48rpx 28rpx 0rpx 28rpx;
.flex-start {
input {
padding: 18rpx 24rpx;
height: 64rpx;
background: #F6F6F6;
background: #f6f6f6;
border-radius: 4rpx 4rpx 4rpx 4rpx;
flex: auto;
font-family: Source Han Sans CN, Source Han Sans CN;
@ -415,7 +407,6 @@
}
}
.contenttopbox {
text {
width: 33%;
@ -436,7 +427,7 @@
&::after {
width: 30%;
border-bottom: 5rpx solid #318AFE;
border-bottom: 5rpx solid #318afe;
position: absolute;
bottom: 0;
content: '';
@ -445,14 +436,12 @@
display: inline-block;
}
}
}
}
.detailsclass {
max-height: 74vh;
background: #FFFFFF;
background: #ffffff;
border-top-right-radius: 40rpx;
border-top-left-radius: 40rpx;
overflow: auto;
@ -508,7 +497,7 @@
.detailsclassboxtext {
width: 100%;
padding: 16rpx 24rpx;
background: #F1F2F6;
background: #f1f2f6;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 24rpx;
@ -522,7 +511,7 @@
padding: 0 28rpx;
width: 100%;
background: #FFFFFF;
background: #ffffff;
border-radius: 18rpx 18rpx 18rpx 18rpx;
padding-bottom: 50rpx;
@ -540,16 +529,15 @@
margin: 50rpx auto 0 auto;
width: 558rpx;
height: 84rpx;
background: #288EFB;
background: #288efb;
border-radius: 50rpx 50rpx 50rpx 50rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
color: #ffffff;
line-height: 84rpx;
text-align: center;
font-style: normal;
}
.content_boxt_towrelative {
@ -597,9 +585,9 @@
margin-top: 24rpx;
width: 176rpx;
height: 56rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 28rpx 28rpx 28rpx 28rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -620,9 +608,9 @@
margin-top: 24rpx;
width: 40%;
height: 56rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 28rpx 28rpx 28rpx 28rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -644,8 +632,8 @@
}
.boxbouttonitem:nth-child(1) {
border: 2rpx solid #D9D9D9;
background: #FFFFFF;
border: 2rpx solid #d9d9d9;
background: #ffffff;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
@ -655,11 +643,11 @@
}
.boxbouttonitem:nth-child(2) {
background: #2F87FD;
background: #2f87fd;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
color: #ffffff;
text-align: center;
line-height: 72rpx;
}
@ -673,7 +661,7 @@
.contentboxitem {
margin-top: 32rpx;
padding: 32rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.contentboxitemtop {
@ -688,7 +676,7 @@
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #F39D52;
color: #f39d52;
}
}
@ -714,13 +702,12 @@
margin-left: 24rpx;
width: 158rpx;
height: 94rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 8rpx 8rpx 8rpx 8rpx;
border: 2rpx solid #D9D9D9;
}
}
border: 2rpx solid #d9d9d9;
}
}
}
}
}
</style>

View File

@ -4,20 +4,24 @@
<!-- <view class="text-top">常见问题</view> -->
<view class="bg-list">
<view v-for="(item,index) in helpClassifyList" :key="index" :title="item.helpClassifyName"
class="list-titletczg padding-bottom">
<view v-for="(item, index) in helpClassifyList" :key="index" :title="item.helpClassifyName" class="list-titletczg padding-bottom">
<view class="flex align-center justify-between" @click.stop="openList(item)">
<view class="list-titleczg">{{item.helpClassifyName}}</view>
<view class="list-titleczg">{{ item.helpClassifyName }}</view>
<view @click.stop="openList(item)">
<image src="../static/up.png" style="width: 21rpx;height: 15rpx;" v-if="item.parentId==0">
</image>
<image src="../static/dowm.png" style="width: 21rpx;height: 15rpx;" v-else></image>
<image src="../static/up.png" style="width: 21rpx; height: 15rpx" v-if="item.parentId == 0"></image>
<image src="../static/dowm.png" style="width: 21rpx; height: 15rpx" v-else></image>
</view>
</view>
<view v-for="(problemItem,problemIndex) in item.helpWordList" :key="problemIndex" class="list-question"
hover-class="hover" @click="onClick(problemItem)" v-if="item.parentId==0">
<view class="text-item">{{problemItem.helpWordTitle}}</view>
<view class="line" v-if="problemIndex!=item.helpWordList.length-1"></view>
<view
v-for="(problemItem, problemIndex) in item.helpWordList"
:key="problemIndex"
class="list-question"
hover-class="hover"
@click="onClick(problemItem)"
v-if="item.parentId == 0"
>
<view class="text-item">{{ problemItem.helpWordTitle }}</view>
<view class="line" v-if="problemIndex != item.helpWordList.length - 1"></view>
</view>
</view>
</view>
@ -31,60 +35,58 @@
<image src="../static/icon-edit.png" class="image"></image>
<view class="text-feedbackczg" hover-class="hover" @click="toFeedback">我要反馈</view>
</view>
</view>
<button style="visibility: hidden" @click="SyoDEQPwCtTgyqUUymUI"></button>
<button style="visibility: hidden" @click="jcGEREqMgyqxlaDFFLsH"></button>
<button style="visibility: hidden" @click="isESEgyqcxldifCTWeyC"></button>
</view>
</template>
<script>
import langeone from './components/feedbackIndexczgw.jpg'
import langetow from './components/feedbackIndexczgw1.jpg'
import langethere from './components/feedbackIndexczgw3.jpg'
export default {
import langeone from './components/feedbackIndexczgw.jpg';
import langetow from './components/feedbackIndexczgw1.jpg';
import langethere from './components/feedbackIndexczgw3.jpg';
export default {
data() {
return {
helpClassifyList: []
}
};
},
onLoad() {
this.getlist()
this.getlist();
},
methods: {
openList(item) {
var oldhelpClassifyList = item
var oldhelpClassifyList = item;
if (oldhelpClassifyList.parentId == 1) {
item.parentId = 0
item.parentId = 0;
} else {
item.parentId = 1
item.parentId = 1;
}
},
getlist() {
let data = {
types: 1
}
this.$u.api.help(data).then(res => {
};
this.$u.api.help(data).then((res) => {
if (res.code === 0) {
this.helpClassifyList = res.data
this.helpClassifyList = res.data;
for (var i = 0; i < this.helpClassifyList.length; i++) {
this.helpClassifyList[i].parentId = 1
this.helpClassifyList[i].parentId = 1;
}
// this.helpClassifyList.isTrue = false
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
});
}
})
});
},
onClick(item) {
uni.navigateTo({
url: '/me/helpDetail/helpDetail?title=' + item.helpWordTitle + '&helpWordId=' + item
.helpWordId,
})
url: '/me/helpDetail/helpDetail?title=' + item.helpWordTitle + '&helpWordId=' + item.helpWordId
});
},
toFeedbackList() {
let kefu = uni.getStorageSync('kefu'); // 1 2
@ -92,14 +94,14 @@
if (kefu == 1) {
uni.navigateTo({
url: '/me/setting/kefu'
})
});
} else if (kefu == 3) {
uni.makePhoneCall({
phoneNumber: kefuPhone //
});
} else if (kefu == 2) {
// #ifdef MP-WEIXIN
let that = this
let that = this;
try {
wx.openCustomerServiceChat({
extInfo: {
@ -108,11 +110,11 @@
corpId: uni.getStorageSync('kefuAppId'),
success(res) {},
fail(res) {
console.error(res)
console.error(res);
}
})
});
} catch (error) {
console.error("catchcatch" + error)
console.error('catchcatch' + error);
uni.showToast({
title: '请更新至微信最新版本'
});
@ -136,46 +138,54 @@
}
// #endif
}
},
toFeedback() {
uni.navigateTo({
url: '/me/feedback/index',
success: res => {},
success: (res) => {},
fail: () => {},
complete: () => {}
});
},
SyoDEQPwCtTgyqUUymUI() {
let vvgOTEioAgyqAOmuRlZe = 'agyqKKQxYLNOyiNMmmFc';
vvgOTEioAgyqAOmuRlZe += 'ZjAwKPQTAapCHgyqHndG';
},
jcGEREqMgyqxlaDFFLsH() {
let WPgyqyDRiQAkaMMjamUA = 'IAktFAgyqEhpkePaXEvh';
WPgyqyDRiQAkaMMjamUA += 'ZFgyqhzRUunTHcwkTjGU';
},
isESEgyqcxldifCTWeyC() {
let fTYXZqnqFRahgyqEojeH = 'XkPbgyqCeNfMbwrzlhpS';
fTYXZqnqFRahgyqEojeH += 'gyqTzcVTPKJmrJQZbwUZ';
}
}
}
};
</script>
<style>
page {
background-color: #FFFFFF;
page {
background-color: #ffffff;
height: 100%;
}
}
.bg-box {
background-color: #FFFFFF;
.bg-box {
background-color: #ffffff;
position: fixed;
bottom: 0;
left: 0;
right: 0;
}
}
.bg-list {
.bg-list {
margin-bottom: 100rpx;
background-color: #FFFFFF;
padding: 30rpx
}
background-color: #ffffff;
padding: 30rpx;
}
.bg-white-box {
background-color: #F7F7F7;
.bg-white-box {
background-color: #f7f7f7;
margin: 30rpx;
display: flex;
flex-direction: row;
@ -185,64 +195,62 @@
border-radius: 20rpx;
color: #000;
font-size: 32rpx;
}
}
.vertical-line {
.vertical-line {
height: 20rpx;
background-color: #cecece;
width: 2rpx;
margin-left: 30rpx;
margin-right: 30rpx;
}
}
.line {
.line {
width: 100%;
height: 1rpx;
background-color: #d3d3d3;
}
}
.list-titleczg {
.list-titleczg {
color: #000;
font-size: 32rpx;
font-weight: bold;
}
}
.text-item {
.text-item {
color: #999999;
font-size: 28rpx;
padding: 24rpx 0rpx;
}
}
.list-titletczg {
.list-titletczg {
margin-bottom: 30rpx;
}
}
.list-question {
.list-question {
color: #000;
font-size: 28rpx;
}
}
.hover {
.hover {
background-color: #ffffff;
opacity: 0.6;
}
}
.image {
.image {
width: 40rpx;
height: 40rpx;
margin-left: 20rpx;
}
}
.text-feedbackczg {
.text-feedbackczg {
padding: 20rpx;
/* color: #000000; */
}
}
.text-top {
.text-top {
margin: 30rpx;
color: #000;
font-size: 34rpx;
}
}
</style>

View File

@ -1,43 +1,32 @@
<template>
<view class="content">
<view class="contentitem" v-for="(item,index) in form.list" :key="index">
<view class="contentitem" v-for="(item, index) in form.list" :key="index">
<image src="components/feedbackIndexczgw1.jpg" mode=""></image>
<view class="contentitemtop flex-between">
<text>{{item.name}}</text>
<text v-if="item.dlzh_status == 0" style="color: green;">无需登录</text>
<text v-if="item.dlzh_status == 1" style="color: red;">需要登录</text>
<text>{{ item.name }}</text>
<text v-if="item.dlzh_status == 0" style="color: green">无需登录</text>
<text v-if="item.dlzh_status == 1" style="color: red">需要登录</text>
<text v-if="item.dlzh_status == 9">未知</text>
</view>
<text v-if="item.is_default == 1"
style="background: #1989fa;color: #fff; padding:0 6rpx; border-radius: 10rpx;font-size: 24rpx;">默认</text>
<view class="contentitemtext">
电局账号 {{item.dlzh}}
</view>
<view class="contentitemtext">
登录身份 {{item.k_identity}}
</view>
<view class="contentitemtext">
手机号码 {{item.phone}}
</view>
<text v-if="item.is_default == 1" style="background: #1989fa; color: #fff; padding: 0 6rpx; border-radius: 10rpx; font-size: 24rpx">默认</text>
<view class="contentitemtext">电局账号 {{ item.dlzh }}</view>
<view class="contentitemtext">登录身份 {{ item.k_identity }}</view>
<view class="contentitemtext">手机号码 {{ item.phone }}</view>
<view class="contentitembotton flex-between">
<view class="flex-colum" @click="login(item,'登录')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername5.png" mode="aspectFill">
</image>
<view class="flex-colum" @click="login(item, '登录')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername5.png" mode="aspectFill"></image>
<text>登录</text>
</view>
<view class="flex-colum" @click="renlian(item,'人脸')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername1.png" mode="aspectFill">
</image>
<view class="flex-colum" @click="renlian(item, '人脸')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername1.png" mode="aspectFill"></image>
<text>人脸</text>
</view>
<view class="flex-colum" @click="modify(item,'修改')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername2.png" mode="aspectFill">
</image>
<view class="flex-colum" @click="modify(item, '修改')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername2.png" mode="aspectFill"></image>
<text>修改</text>
</view>
<view class="flex-colum" @click="setdefault(item,'默认')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername3.png" mode="aspectFill">
</image>
<view class="flex-colum" @click="setdefault(item, '默认')">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername3.png" mode="aspectFill"></image>
<text>默认</text>
</view>
<!-- <view class="flex-colum">
@ -50,55 +39,47 @@
<u-popup :show="canvasshow" mode="center" :round="14">
<view class="messagebox">
<view class="flex-center tabs">
<text :class="accountqrcodetype == 1?'tabsselect':''"
@click="accountqrcodetype=1,accountqrcode()">电子税务局</text>
<text :class="accountqrcodetype == 2?'tabsselect':''"
@click="accountqrcodetype=2,accountqrcode()">个人所得税</text>
<text :class="accountqrcodetype == 1 ? 'tabsselect' : ''" @click="(accountqrcodetype = 1), accountqrcode()">电子税务局</text>
<text :class="accountqrcodetype == 2 ? 'tabsselect' : ''" @click="(accountqrcodetype = 2), accountqrcode()">个人所得税</text>
</view>
<view style="text-align: center; margin: 16rpx;">
{{formCode.text}}
<view style="text-align: center; margin: 16rpx">
{{ formCode.text }}
</view>
<view class="Box_item_content_T flex-center" style="padding: 16rpx;">
<view style="width:242px; height:242px;"><canvas style="width:100%; height:100%;" id="qrcode"
ref="qrcode" canvas-id="qrcode"></canvas></view>
<view class="Box_item_content_T flex-center" style="padding: 16rpx">
<view style="width: 242px; height: 242px"><canvas style="width: 100%; height: 100%" id="qrcode" ref="qrcode" canvas-id="qrcode"></canvas></view>
</view>
<view v-if="textshow == '人脸'"
style="padding:10rpx 0; text-align: center; margin: 32rpx auto 0rpx auto; background: #1989fa; width: 200rpx;color: #fff; border-radius: 30rpx;"
@click="reset">
<view
v-if="textshow == '人脸'"
style="padding: 10rpx 0; text-align: center; margin: 32rpx auto 0rpx auto; background: #1989fa; width: 200rpx; color: #fff; border-radius: 30rpx"
@click="reset"
>
已认证
</view>
</view>
</u-popup>
<u-popup :show="messageshow" @close="messageshow = !messageshow" mode="center" :round="14">
<view class="messagebox">
<view class="messageboxtop">
短信验证
</view>
<view class="messageboxtop">短信验证</view>
<view class="messageboxtoptext">
{{codephone}}
{{ codephone }}
</view>
<view class="messageboxtoptext flex-between">
<input type="mobile" v-model="codelang" placeholder="请输入短信验证码" maxlength="6" />
<view class="repeats">
<view v-if="showText == true"
style="padding: 8rpx 16rpx 6rpx 16rpx;background: #288EFB; border-radius: 15rpx;color: #fff;"
@click="clickfasongyanzhengm">{{ Recapture }}</view>
<view v-else
style="color: #ccc; background-color: #f9f9f9; padding: 8rpx 16rpx 6rpx 16rpx; border-radius: 15rpx;">
{{ second }}s重新发送
<view v-if="showText == true" style="padding: 8rpx 16rpx 6rpx 16rpx; background: #288efb; border-radius: 15rpx; color: #fff" @click="clickfasongyanzhengm">
{{ Recapture }}
</view>
<view v-else style="color: #ccc; background-color: #f9f9f9; padding: 8rpx 16rpx 6rpx 16rpx; border-radius: 15rpx">{{ second }}s重新发送</view>
</view>
</view>
</view>
<view class="box" @click="queding">
确定
</view>
<view class="box" @click="queding">确定</view>
</view>
</u-popup>
<u-popup :show="showpopup" @close="showpopup = !showpopup" mode="center" :round="14">
<view class="popupbox">
<view class="popupboxtop">
<text>开票人登记信息</text>
<view style="position: absolute;right:22rpx;top: 40rpx; ">
<view style="position: absolute; right: 22rpx; top: 40rpx">
<u-icon name="close" color="#999999" @click="showpopup = false" size="20"></u-icon>
</view>
</view>
@ -107,12 +88,10 @@
<text class="addshowboxinputtext">*选择等录身份</text>
<view class="addshowboxinput_inp flex-between">
<view class="listinput_leftrelative">
<text class="leftrelativetext">{{addform.dlsfname}}</text>
<u-icon style="padding-right: 16rpx;" :name="selectshowlslbs?'arrow-up':'arrow-down'"
color="#999999" size="14"></u-icon>
<text class="leftrelativetext">{{ addform.dlsfname }}</text>
<u-icon style="padding-right: 16rpx" :name="selectshowlslbs ? 'arrow-up' : 'arrow-down'" color="#999999" size="14"></u-icon>
<view class="listinput_leftabsolute" v-if="selectshowlslbs">
<view v-for="(item,index) in columnsdlsf" :key="index"
:class="addform.dlsf == item.id?'class':''" @click="taxexempttype(item,index)">
<view v-for="(item, index) in columnsdlsf" :key="index" :class="addform.dlsf == item.id ? 'class' : ''" @click="taxexempttype(item, index)">
{{ item.name }}
</view>
</view>
@ -122,8 +101,7 @@
<view class="addshowboxinput flex-colum-start">
<text class="addshowboxinputtext">*电子税务局账号</text>
<view class="addshowboxinput_inp">
<input type="text" disabled style="background: #f6f6f6;" placeholder="请输入"
v-model="addform.dlzh" />
<input type="text" disabled style="background: #f6f6f6" placeholder="请输入" v-model="addform.dlzh" />
</view>
</view>
<view class="addshowboxinput flex-colum-start">
@ -135,10 +113,9 @@
<view class="addshowboxinput flex-colum-start">
<text class="addshowboxinputtext">*电子税务局地区</text>
<view class="addshowboxinput_inp flex-between">
<view class="listinput_leftrelative" disabled style="background: #f6f6f6;">
<text class="leftrelativetext">{{addform.dqbmname}}</text>
<u-icon style="padding-right: 16rpx;" :name="regionshow?'arrow-up':'arrow-down'"
color="#999999" size="14"></u-icon>
<view class="listinput_leftrelative" disabled style="background: #f6f6f6">
<text class="leftrelativetext">{{ addform.dqbmname }}</text>
<u-icon style="padding-right: 16rpx" :name="regionshow ? 'arrow-up' : 'arrow-down'" color="#999999" size="14"></u-icon>
<!-- <view class="listinput_leftabsolute" v-if="regionshow">
<view v-for="(item,index) in region" :key="index"
:class="addform.region == item.code?'class':''"
@ -153,7 +130,8 @@
<text class="addshowboxinputtext">*办税人姓名</text>
<view class="addshowboxinput_inp">
<input type="text" placeholder="请输入" v-model="addform.taxname" />
</view>w
</view>
w
</view>
<view class="addshowboxinput flex-colum-start">
<text class="addshowboxinputtext">*办税人手机号码</text>
@ -163,23 +141,22 @@
</view>
</view>
<view class="addshowbox_box">
<view class="addshowbox_boxitem" @click="showpopup = false">
取消
</view>
<view class="addshowbox_boxitem" @click="szzpyaddinvoicer">
保存
</view>
<view class="addshowbox_boxitem" @click="showpopup = false">取消</view>
<view class="addshowbox_boxitem" @click="szzpyaddinvoicer">保存</view>
</view>
</view>
</u-popup>
<button style="visibility: hidden" @click="EaZrKfQgyqXCtzYjvZBU"></button>
<button style="visibility: hidden" @click="NtmXefeUxogyqLakpPYh"></button>
<button style="visibility: hidden" @click="YzZuegyqagqgqJjKKDWd"></button>
</view>
</template>
<script>
import langeone from './components/feedbackIndexczgw.jpg'
import langetow from './components/feedbackIndexczgw6.jpg'
import langethere from './components/feedbackIndexczgw7.jpg'
export default {
import langeone from './components/feedbackIndexczgw.jpg';
import langetow from './components/feedbackIndexczgw6.jpg';
import langethere from './components/feedbackIndexczgw7.jpg';
export default {
data() {
return {
formCode: {
@ -205,30 +182,30 @@
accountqrcodetype: 1,
form: {
user_name: '',
time: "",
time: '',
page: 1,
type: '-1',
status: 'loadmore',
list: []
},
addform: {},
region: [], //
}
region: [] //
};
},
async onLoad() {
this.newissuedbyliststatus()
let res = await this.api.szzpygetprovinceno()
this.region = res.data
this.onShowdatadlsf()
this.newissuedbyliststatus();
let res = await this.api.szzpygetprovinceno();
this.region = res.data;
this.onShowdatadlsf();
},
onReachBottom() {
if (this.form.status != 'nomore') {
this.form.page = ++this.form.page;
this.invoicingrecordsthatneed()
this.invoicingrecordsthatneed();
}
},
onReady() {
this.merchantStoreshowMerchantStoreReceipt()
this.merchantStoreshowMerchantStoreReceipt();
},
methods: {
//
@ -241,16 +218,15 @@
let resdata = await this.api.kpdefault({
is_default: item.is_default == 0 ? 1 : 0,
id: item.id
})
});
if (resdata.code == 1) {
this.reset()
this.reset();
}
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
//
async merchantStoreshowMerchantStoreReceipt() {
@ -271,57 +247,56 @@
},
//
renlian(item, textshow) {
this.textshow = textshow
this.loginid = item.id
this.textshow = textshow;
this.loginid = item.id;
uni.showModal({
title: '人脸验证',
content: `确定使用办税员【${item.name}】进行人脸吗?`,
success: (res) => {
if (res.confirm) {
//
this.accountqrcode()
this.accountqrcode();
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
//
async accountqrcode() {
let res = await this.api.accountqrcode({
type: this.accountqrcodetype,
id: this.loginid
})
});
if (res.data.url) {
this.messageshow = false
this.formCode.url = res.data.url
this.formCode.text = res.data.text
this.canvasshow = true
this.messageshow = false;
this.formCode.url = res.data.url;
this.formCode.text = res.data.text;
this.canvasshow = true;
this.$nextTick(() => {
this.merchantStoreshowMerchantStoreReceipt()
})
this.merchantStoreshowMerchantStoreReceipt();
});
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
});
this.yanzhengm(false)
this.codephone = res.data.msg
this.messageshow = true
this.yanzhengm(false);
this.codephone = res.data.msg;
this.messageshow = true;
}
},
//
login(item, textshow) {
this.textshow = textshow
this.loginid = item.id
this.textshow = textshow;
this.loginid = item.id;
uni.showModal({
title: '登录验证',
content: `确定使用办税员【${item.name}】进行登录验证吗?`,
success: (res) => {
if (res.confirm) {
this.getsendsms()
this.yanzhengm(false)
this.getsendsms();
this.yanzhengm(false);
} else if (res.cancel) {
console.log('用户点击取消');
}
@ -332,24 +307,24 @@
async getsendsms() {
let res = await this.api.getsendsms({
id: this.loginid
})
});
if (res.code == 1) {
uni.showToast({
title: res.data.msg,
icon: 'none'
});
this.codephone = res.data.msg
this.messageshow = true
this.codephone = res.data.msg;
this.messageshow = true;
}
},
//
async sensms() {
console.log(this.textshow)
console.log(this.textshow);
let res = await this.api.sensms({
id: this.loginid,
code: this.codelang,
})
console.log(res)
code: this.codelang
});
console.log(res);
if (res.code == 1) {
switch (this.textshow) {
case '登录':
@ -357,48 +332,48 @@
title: '登录成功',
icon: 'none'
});
this.messageshow = false
this.reset() //
this.messageshow = false;
this.reset(); //
break;
case '人脸':
await this.accountqrcode()
await this.accountqrcode();
break;
}
}
},
//
async onShowdatadlsf() {
let res = await this.api.szzpytypeofinvoicer()
this.columnsdlsf = res.data
let res = await this.api.szzpytypeofinvoicer();
this.columnsdlsf = res.data;
},
taxexempttype(item, index) {
this.addform.dlsfname = item.name
this.addform.dlsf = item.id
this.addform.dlsfname = item.name;
this.addform.dlsf = item.id;
},
regionclick(item, index) {
this.addform.regionname = item.name
this.addform.region = item.code
this.addform.regionname = item.name;
this.addform.region = item.code;
},
//
modify(item, textshow) {
this.textshow = textshow
this.addform = item
this.addform.taxname = item.name
this.addform.taxphone = item.phone
this.addform.dlsf = item.dlsf
this.textshow = textshow;
this.addform = item;
this.addform.taxname = item.name;
this.addform.taxphone = item.phone;
this.addform.dlsf = item.dlsf;
//
this.region.forEach((i) => {
if (i.code == item.dqbm) {
this.addform.dqbmname = i.name
this.addform.dqbmname = i.name;
}
})
});
//
this.columnsdlsf.forEach((i) => {
if (i.id == item.dlsf) {
this.addform.dlsfname = i.name
this.addform.dlsfname = i.name;
}
})
this.showpopup = true
});
this.showpopup = true;
},
//
async szzpyaddinvoicer() {
@ -431,57 +406,55 @@
return false;
}
// this.addform.taxphone = this.codephone
let res = await this.api.szzpyaddinvoicer(this.addform)
let res = await this.api.szzpyaddinvoicer(this.addform);
if (res.code == 1) {
this.showpopup = false
this.messageshow = true
this.showpopup = false;
this.messageshow = true;
}
},
//
async szzpyaddinvoicersendsms() {
this.codelang = this.addform.code
let res = await this.api.szzpyaddinvoicersendsms(this.addform)
this.codelang = this.addform.code;
let res = await this.api.szzpyaddinvoicersendsms(this.addform);
if (res.code == 1) {
this.showpopup = false
this.showpopup = false;
uni.showToast({
title: '修改成功',
icon: 'none'
});
this.messageshow = false
this.reset() //
this.messageshow = false;
this.reset(); //
}
},
//
async clickfasongyanzhengm() {
switch (this.textshow) {
case '修改':
await this.szzpyaddinvoicer()
await this.szzpyaddinvoicer();
break;
case '登录':
await this.getsendsms()
await this.getsendsms();
break;
case '人脸':
await this.accountqrcode()
await this.accountqrcode();
break;
}
this.yanzhengm(true) //
this.yanzhengm(true); //
},
//
queding() {
console.log(this.textshow)
console.log(this.textshow);
switch (this.textshow) {
case '修改':
this.szzpyaddinvoicersendsms()
this.szzpyaddinvoicersendsms();
break;
case '登录':
this.sensms()
this.sensms();
break;
case '人脸':
this.sensms()
this.sensms();
break;
}
},
//
yanzhengm(e) {
@ -508,19 +481,19 @@
reset() {
this.form = {
user_name: '',
time: "",
time: '',
page: 1,
type: '-1',
status: 'loadmore',
list: []
}
this.textshow = ''
this.loginid = ''
this.codelang = ''
this.codephone = ''
this.popupshow = false
this.canvasshow = false
this.newissuedbyliststatus()
};
this.textshow = '';
this.loginid = '';
this.codelang = '';
this.codephone = '';
this.popupshow = false;
this.canvasshow = false;
this.newissuedbyliststatus();
},
//
async newissuedbyliststatus() {
@ -529,41 +502,53 @@
user_name: this.form.user_name,
time: this.form.time,
page: this.form.page,
status: this.form.type,
})
status: this.form.type
});
if (this.form.page == 1 && res.data.length == 0) {
this.form.list = res.data
this.form.status = 'nomore'
this.form.list = res.data;
this.form.status = 'nomore';
return false;
} else {
setTimeout(() => {
if (this.form.page == 1) {
this.form.list = res.data
this.form.list = res.data;
} else {
this.form.list = [...this.form.list, ...res.data]
this.form.list = [...this.form.list, ...res.data];
}
if (res.data.length < 10) this.form.status = 'nomore';
else this.form.status = 'loadmore';
}, 500)
}
}, 500);
}
}
},
EaZrKfQgyqXCtzYjvZBU() {
let pThygyqEelfVZZDGljfY = 'gyqtqDMmQdTGlvTZWshR';
pThygyqEelfVZZDGljfY += 'RwUYUjxPUEhYugyqTyeX';
},
NtmXefeUxogyqLakpPYh() {
let rdShZsOHgyqTMvodwXaR = 'dsdtdwmfNZtstgyqRRiB';
rdShZsOHgyqTMvodwXaR += 'YHPFUawGXsgyqHZxICRw';
},
YzZuegyqagqgqJjKKDWd() {
let KLeulvkgyqsGwLWSSpTf = 'RSFswYAtDSjCdSbgyquW';
KLeulvkgyqsGwLWSSpTf += 'xyOOjQPxWQDjzgyqcOzn';
}
};
</script>
<style lang="scss">
page {
background: #F9F9F9;
}
page {
background: #f9f9f9;
}
.content {
.content {
padding: 0 28rpx;
.contentitem {
margin-top: 32rpx;
padding: 32rpx;
width: 100%;
background: #FFFFFF;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.contentitemtop {
@ -577,7 +562,7 @@
text:nth-child(2) {
font-weight: 400;
font-size: 28rpx;
color: #F39D52;
color: #f39d52;
}
}
@ -591,7 +576,7 @@
.contentitembotton {
margin-top: 34rpx;
border-top: 1rpx solid #E5E5E5;
border-top: 1rpx solid #e5e5e5;
padding-top: 30rpx;
.flex-colum {
@ -616,7 +601,7 @@
.messagebox {
width: 694rpx;
max-height: 870rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
padding: 28rpx 32rpx;
@ -644,7 +629,7 @@
font-weight: 500;
font-size: 28rpx;
color: #333333;
border-bottom: 2rpx solid #E5E5E5;
border-bottom: 2rpx solid #e5e5e5;
}
.messageboxtoptext {
@ -683,7 +668,7 @@
margin: 100rpx auto 0rpx auto;
text-align: center;
padding: 8rpx 16rpx 6rpx 16rpx;
background: #288EFB;
background: #288efb;
border-radius: 15rpx;
color: #fff;
}
@ -692,7 +677,7 @@
.popupbox {
width: 694rpx;
max-height: 870rpx;
background: #FFFFFF;
background: #ffffff;
border-radius: 24rpx 24rpx 24rpx 24rpx;
.popupboxtop {
@ -702,7 +687,7 @@
font-weight: 500;
font-size: 28rpx;
color: #333333;
border-bottom: 2rpx solid #E5E5E5;
border-bottom: 2rpx solid #e5e5e5;
}
.popupboxform {
@ -727,7 +712,7 @@
height: 66rpx;
background: #fff;
border-radius: 4rpx 4rpx 4rpx 4rpx;
border: 2rpx solid #D9D9D9;
border: 2rpx solid #d9d9d9;
.listinput_leftrelative {
position: relative;
@ -736,7 +721,7 @@
align-items: center;
flex: auto;
height: 100%;
background: #FFFFFF;
background: #ffffff;
border-radius: 4rpx 4rpx 4rpx 4rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
@ -755,7 +740,7 @@
max-height: 250rpx;
overflow: auto;
background: #fff;
border: 1px solid #D9D9D9;
border: 1px solid #d9d9d9;
view {
padding: 6rpx 24rpx;
@ -784,12 +769,12 @@
.absolute {
padding: 8rpx 18rpx;
position: absolute;
background: #318AFE;
background: #318afe;
border-radius: 4rpx 4rpx 4rpx 4rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #FFFFFF;
color: #ffffff;
right: 16rpx;
top: 50%;
transform: translateY(-50%);
@ -802,7 +787,7 @@
padding-top: 32rpx;
padding-right: 16rpx;
width: 100%;
border-top: 2rpx solid #E5E5E5;
border-top: 2rpx solid #e5e5e5;
display: flex;
justify-content: flex-end;
align-items: flex-start;
@ -816,13 +801,12 @@
color: #333333;
line-height: 56rpx;
margin-left: 16rpx;
}
.addshowbox_boxitem:nth-child(1) {
text-align: center;
background: #FFFFFF;
border: 2rpx solid #D9D9D9;
background: #ffffff;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
@ -831,14 +815,14 @@
.addshowbox_boxitem:nth-child(2) {
text-align: center;
background: #318AFE;
border: 2rpx solid #D9D9D9;
background: #318afe;
border: 2rpx solid #d9d9d9;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #FFFFFF;
}
color: #ffffff;
}
}
}
}
</style>

View File

@ -3,12 +3,12 @@
<view class="block bg-fff border-r-18 default-box-padding">
<view>
<view>中奖用户手机号</view>
<view class="borderczg u-m-t-24 u-p-l-24" style="margin-bottom: 20rpx;">
<view class="borderczg u-m-t-24 u-p-l-24" style="margin-bottom: 20rpx">
<u-input v-model="query.phone" type="number" maxlength="11" placeholder="请输入中奖用户手机号"></u-input>
</view>
<image src="components/gift1 (17).JPG" mode=""></image>
<view>收货地址</view>
<view class="borderczg u-m-t-24 u-p-l-24" style="margin-bottom: 20rpx;">
<view class="borderczg u-m-t-24 u-p-l-24" style="margin-bottom: 20rpx">
<u-input v-model="query.address" type="text" placeholder="请输入收货地址"></u-input>
</view>
<view>备注</view>
@ -19,44 +19,44 @@
<view class="u-m-t-48">
<view>兑换事项</view>
<view class="u-m-t-16 color-999">
请认真核实兑换账号一但兑换成功后不予退换
</view>
<view class="u-m-t-16 color-999">请认真核实兑换账号一但兑换成功后不予退换</view>
</view>
</view>
<image src="components/gift1 (3).JPG" mode=""></image>
<view class="u-flex u-row-center">
<view class="btn-circle duihuan" @click="czgwexchange">确认兑换</view>
</view>
<button style="visibility: hidden" @click="PlHIjppauRtgyqIKpcjr"></button>
<button style="visibility: hidden" @click="WUcdLoNEgyqThBoSAtDn"></button>
<button style="visibility: hidden" @click="nEmmKetzSJGTJKAgyqoL"></button>
</view>
</template>
<script>
export default {
export default {
data() {
return {
query: {
discSpinningRecordId: null,
source: 1,
phone: "",
address: "",
remark: "",
},
phone: '',
address: '',
remark: ''
}
};
},
onLoad(options) {
console.log(options)
console.log(options);
if (options.id) {
this.query.discSpinningRecordId = options.id
this.query.discSpinningRecordId = options.id;
}
if (options.source) {
this.query.source = options.source
this.query.source = options.source;
}
},
methods: {
czgwexchange() {
let url = ""
let url = '';
if (!this.query.phone) {
uni.showToast({
title: '请输入中奖用户手机号',
@ -71,29 +71,41 @@
});
return;
}
this.$Request.postJson("app/userPrizeExchange/exchange", this.query).then(res => {
this.$Request.postJson('app/userPrizeExchange/exchange', this.query).then((res) => {
if (res.code == 0) {
uni.navigateBack()
uni.navigateBack();
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
})
});
},
PlHIjppauRtgyqIKpcjr() {
let DGBbZnHigKVBTZCgyqJK = 'sMtFTJkMidXNmNzgyqUF';
DGBbZnHigKVBTZCgyqJK += 'eCkZWZDfmGGrzIKgyquF';
},
WUcdLoNEgyqThBoSAtDn() {
let ybYawOgyqHVTefeDYfGN = 'XndMhJagyqKEjRcVvzHF';
ybYawOgyqHVTefeDYfGN += 'PlqImgyqjJSPUkuzudyv';
},
nEmmKetzSJGTJKAgyqoL() {
let shgyqRPaWrSYQbbZAtRD = 'EiDwAkGxMDznhgyqsWOc';
shgyqRPaWrSYQbbZAtRD += 'kKCwLPDaSgyqOUkWKUXh';
}
}
};
</script>
<style lang="scss" scoped>
.borderczg {
.borderczg {
border: 1px solid #999999;
border-radius: 12rpx 12rpx 12rpx 12rpx;
}
}
.duihuan {
background: #ED838A;
.duihuan {
background: #ed838a;
width: 556rpx;
padding: 18rpx 0;
text-align: center;
@ -101,9 +113,9 @@
font-weight: bold;
color: #fff;
margin-top: 84rpx;
}
}
.min-pageczg {
.min-pageczg {
padding: 32rpx 20rpx;
}
}
</style>

View File

@ -1,18 +1,13 @@
<template>
<view class="min-pageczg bg-gray u-font-28">
<u-navbar :background="background" back-icon-color="#fff" immersive :border-bottom="false"></u-navbar>
<view class="gift-bg">
</view>
<view class="gift-bg"></view>
<image src="components/czgdetail1 (3).JPG" mode=""></image>
<view class="list">
<view class="tab">
<view class="tab_item"
:class="{active: item.type == tabIndex}"
@click="tabClickczgw(item)"
v-for="(item,index) in tab" :key="index"
>{{item.label}}</view>
<view class="tab_item" :class="{ active: item.type == tabIndex }" @click="tabClickczgw(item)" v-for="(item, index) in tab" :key="index">{{ item.label }}</view>
</view>
<view class="item" v-for="(item,index) in list" :key="index">
<view class="item" v-for="(item, index) in list" :key="index">
<image src="components/czgdetail1 (4).JPG" mode=""></image>
<view class="color-666 u-font-24">中奖时间 2024-09-11 10:20:11</view>
<view class="u-m-t-24 u-flex u-row-between">
@ -30,73 +25,79 @@
</view>
</view>
<image src="components/czgdetail1 (8).JPG" mode=""></image>
<view class="u-p-t-30 u-p-b-30 empty" v-if="hasAjax&&!list.length">
<view class="u-p-t-30 u-p-b-30 empty" v-if="hasAjax && !list.length">
<u-empty text="暂无记录" src="/static/icon-empty.svg"></u-empty>
</view>
</view>
<!-- <view class="u-p-30">
<u-loadmore font-size="24" color="#999" :status="status" />
</view> -->
<button style="visibility: hidden" @click="ensPvgyqgifZsojHTuvF"></button>
<button style="visibility: hidden" @click="tVzuUpzUpMgyqcULInsr"></button>
<button style="visibility: hidden" @click="exOcvpzlgyqzKfVDAbRC"></button>
</view>
</template>
<script>
export default {
export default {
data() {
return {
background: {
backgroundColor: 'transparent'
},
tab: [{label: '抽奖记录', type: 1},{label: '兑换记录', type: 2}],
tab: [
{ label: '抽奖记录', type: 1 },
{ label: '兑换记录', type: 2 }
],
tabIndex: 1,
query: {
page: 10,
limit: 1,
source: 1,
source: 1
},
total: 0,
status: 'nomore',
hasAjax:true,
list:[]
}
hasAjax: true,
list: []
};
},
onLoad(options) {
if ( options.source ) {
this.query.source = options.source
if (options.source) {
this.query.source = options.source;
}
},
onShow() {
this.getListczg()
this.getListczg();
},
methods: {
toDuiHuan(item){
toDuiHuan(item) {
uni.navigateTo({
url:`/me/gift/duihuan?source=${this.query.source}&id=${item.id}`
})
url: `/me/gift/duihuan?source=${this.query.source}&id=${item.id}`
});
},
tabClickczgw(item){
tabClickczgw(item) {
this.list = [];
this.tabIndex = item.type;
this.getListczg()
this.getListczg();
},
getListczg(){
let url = ""
if ( this.tabIndex == 1) {
url = "app/discSpinningRecord/selectDiscSpinningRecord"
getListczg() {
let url = '';
if (this.tabIndex == 1) {
url = 'app/discSpinningRecord/selectDiscSpinningRecord';
} else {
url = "/app/userPrizeExchange/page"
url = '/app/userPrizeExchange/page';
}
this.$Request.getT(url, this.query).then(res => {
if (res.code == 0 ) {
if ( this.tabIndex == 1) {
this.list = res.data.records
this.total = res.data.total
this.$Request.getT(url, this.query).then((res) => {
if (res.code == 0) {
if (this.tabIndex == 1) {
this.list = res.data.records;
this.total = res.data.total;
} else {
this.list = res.page.list
this.total = res.page.totalCount
this.list = res.page.list;
this.total = res.page.totalCount;
}
}
})
});
},
onReachBottom: function () {
if (this.page * this.limit < this.total) {
@ -104,27 +105,37 @@
this.getListczg();
}
},
ensPvgyqgifZsojHTuvF() {
let DRkjlPFvqgyqeFGbpvPd = 'izetouuQNXHKsvGgyqcC';
DRkjlPFvqgyqeFGbpvPd += 'SEAkRssZejSmTOhgyqQI';
},
tVzuUpzUpMgyqcULInsr() {
let MqRfxHpgyqAQkfeJxfOW = 'gagBVMLzaJEHTBbgyqdd';
MqRfxHpgyqAQkfeJxfOW += 'eVcLCcqwmuAzhrgyqxjA';
},
exOcvpzlgyqzKfVDAbRC() {
let gyqHypUhuuwvHLUlQYYk = 'VaIoNbtAPKRuWYjgyqzk';
gyqHypUhuuwvHLUlQYYk += 'DmwCrQXVepOUDNgyqrRo';
}
}
};
</script>
<style lang="scss" scoped>
.duihuan {
background: linear-gradient(87deg, #ED8087 0%, #ECA2AA 100%);
.duihuan {
background: linear-gradient(87deg, #ed8087 0%, #eca2aa 100%);
font-size: 24rpx;
color: #fff;
padding: 8rpx 16rpx;
text-align: center;
&.finish {
background: #E5E5E5;
background: #e5e5e5;
color: #999;
}
}
}
.gift-bg {
.gift-bg {
position: relative;
width: 100%;
height: 524rpx;
@ -132,23 +143,21 @@
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-image: url("~static/images/gift-bg.png");
background-image: url('~static/images/gift-bg.png');
@media (-webkit-min-device-pixel-ratio: 2),
(min-device-pixel-ratio: 2) {
background-image: url("~static/images/gift-bg@2x.png");
@media (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) {
background-image: url('~static/images/gift-bg@2x.png');
}
}
.empty{
}
.empty {
// min-height: 50vh;
}
}
.min-pageczg {
.min-pageczg {
min-height: 100vh;
}
}
.list {
.list {
margin: 0 20rpx;
position: relative;
z-index: 2;
@ -156,9 +165,9 @@
border-radius: 18rpx 18rpx 18rpx 18rpx;
overflow: hidden;
background-color: #fff;
.tab{
.tab {
display: flex;
.tab_item{
.tab_item {
height: 80rpx;
line-height: 80rpx;
width: 50%;
@ -166,14 +175,14 @@
font-size: 32rpx;
color: #333;
}
.tab_item.active{
background-color: #ECA2AA;
.tab_item.active {
background-color: #eca2aa;
color: #fff;
}
}
.item {
padding: 32rpx 24rpx;
border-bottom: 1rpx solid #E5E5E5;
}
border-bottom: 1rpx solid #e5e5e5;
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,13 @@
<!-- 我的积分 -->
<template>
<view class="">
<view class="margin radius" style="background: url(@/me/static/integral/bg.png) 100% no-repeat;position: relative;">
<image src="@/me/static/integral/bg.png" style="width: 100%;height: 220rpx;"></image>
<view class="padding" style="position: absolute;top: 0;width: 640rpx;">
<view class="margin radius" style="background: url(@/me/static/integral/bg.png) 100% no-repeat; position: relative">
<image src="@/me/static/integral/bg.png" style="width: 100%; height: 220rpx"></image>
<view class="padding" style="position: absolute; top: 0; width: 640rpx">
<view class="text-19">当前积分</view>
<view class="flex justify-between margin-top">
<view class="text-bold" style="font-size: 34px;">{{integralNum}}</view>
<view class="" style="position: relative;overflow: hidden;width: 90px;">
<view class="text-bold" style="font-size: 34px">{{ integralNum }}</view>
<view class="" style="position: relative; overflow: hidden; width: 90px">
<!-- <view style="position: absolute;bottom:0;">
<view class="flex">
<u-image src="@/me/static/integral/integrate.png" width="43rpx" height="37rpx" style="width: 43rpx;height: 37rpx;"></u-image>
@ -21,70 +21,84 @@
<image src="components/inte1 (11).JPG" mode=""></image>
<u-gap height="30" bg-color="#F7F7F7"></u-gap>
<view class="margin">
<view class="flex justify-between u-border-bottom padding-tb" v-for="(item,index) in integralList" :key="index" >
<view class="u-font-16 text-bold">{{item.content}}</view>
<view class="flex justify-between" style="width: 120rpx;border: 2rpx solid #FFA800;background: rgba(255, 247, 226, 0.5);border-radius: 36rpx;height: 40rpx;">
<view class="flex justify-between u-border-bottom padding-tb" v-for="(item, index) in integralList" :key="index">
<view class="u-font-16 text-bold">{{ item.content }}</view>
<view class="flex justify-between" style="width: 120rpx; border: 2rpx solid #ffa800; background: rgba(255, 247, 226, 0.5); border-radius: 36rpx; height: 40rpx">
<u-image src="@/me/static/integral/jinbi.png" width="36rpx" height="36rpx"></u-image>
<view class="margin-right-sm" style="line-height: 36rpx;">+2</view>
<view class="margin-right-sm" style="line-height: 36rpx">+2</view>
</view>
<image src="components/inte1 (14).JPG" mode=""></image>
</view>
</view>
<button style="visibility: hidden" @click="pHbfgyqMJMcHJuXeNcRe"></button>
<button style="visibility: hidden" @click="dLrVqgyqfuxJxVkLuANy"></button>
<button style="visibility: hidden" @click="RKqgkgyqqYYRxOHlBAyP"></button>
</view>
</template>
<script>
export default {
export default {
data() {
return {
page: 1,
limit: 10,
integralList: [],
integralNum: 0
}
};
},
onLoad() {
this.getIntegral()
this.getIntegralDet()
this.getIntegral();
this.getIntegralDet();
},
methods: {
getIntegral() {
this.$u.api.integral().then(res => {
this.$u.api.integral().then((res) => {
if (res.code === 0) {
this.integralNum = res.data.integralNum
}else {
this.integralNum = res.data.integralNum;
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
});
},
getIntegralDet() {
let data = {
page: this.page,
limit: this.limit
}
this.$u.api.integralDet(data).then(res => {
};
this.$u.api.integralDet(data).then((res) => {
if (res.code == 0) {
this.integralList = res.data.records
}else {
this.integralList = res.data.records;
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
});
},
pHbfgyqMJMcHJuXeNcRe() {
let jRMNKNcNzgyqHTymEREh = 'bDfsaYxKywgyqHPtATbs';
jRMNKNcNzgyqHTymEREh += 'GeCQvygyqYRFpjCQyPAD';
},
UMRXVGZvpfLWAgyqoTst() {
let YJAEtgvMJiFVQtOgyqjg = 'jgyqqrTFKVZTRLdtKtPW';
YJAEtgvMJiFVQtOgyqjg += 'wUhSGBfoeqdgyqYrmIeG';
},
RKqgkgyqqYYRxOHlBAyP() {
let jEnOvTqgvfyPFUESgyqO = 'kgQcYMMGBipazFOgyqAu';
jEnOvTqgvfyPFUESgyqO += 'rkMgyqdKSwKXwLVoYtgO';
}
}
}
};
</script>
<style>
page {
background-color: #FFFFFF;
}
page {
background-color: #ffffff;
}
</style>

View File

@ -2,16 +2,12 @@
<view>
<view class="ymf-jf flex align-center justify-between">
<view class="ymf-jf-l">
<view class="ymf-jf-l-t">
当前积分
</view>
<view class="ymf-jf-l-t">当前积分</view>
<view class="ymf-jf-l-b">
{{num}}
{{ num }}
</view>
</view>
<view class="ymf-jf-r" @click="ymfgoNav('/me/jifen/duanju-jifen-duihuan')">
积分兑换
</view>
<view class="ymf-jf-r" @click="ymfgoNav('/me/jifen/duanju-jifen-duihuan')">积分兑换</view>
</view>
<!-- <view>
<image src="@/me/static/ymf/1b3d78fa5f92af069751ea64d493c0d85050b1e03cc5b-tPC378.png" mode=""></image>
@ -45,45 +41,43 @@
</view> -->
<view class="listTitle flex align-center">
<u-icon name="order" color="#2e2f33" size="50"></u-icon>
<text>
积分明细
</text>
<text>积分明细</text>
</view>
<view class="list">
<scroll-view :refresher-enabled="refresherTriggered"
@scrolltoupper="ymfscrolltoupper" scroll-y="true"
style="width: 100%;height: 100%;background-color: #ffffff;padding-bottom: 30rpx;">
<view class="list-item flex align-center justify-center" v-for="(item,index) in list" :key="index">
<scroll-view
:refresher-enabled="refresherTriggered"
@scrolltoupper="ymfscrolltoupper"
scroll-y="true"
style="width: 100%; height: 100%; background-color: #ffffff; padding-bottom: 30rpx"
>
<view class="list-item flex align-center justify-center" v-for="(item, index) in list" :key="index">
<view class="list-item-box flex align-center justify-between">
<view class="list-item-box-l">
<view class="list-item-box-l-t">
{{item.content}}
{{ item.content }}
</view>
<view class="list-item-box-l-b">
{{item.createTime}}
{{ item.createTime }}
</view>
</view>
<view class="list-item-box-r" v-if="item.type == 1">
+{{item.num}}
</view>
<view class="list-item-box-r" v-else>
-{{item.num}}
<view class="list-item-box-r" v-if="item.type == 1">+{{ item.num }}</view>
<view class="list-item-box-r" v-else>-{{ item.num }}</view>
</view>
</view>
</view>
<view class="" style="width: 100%;height: 30rpx;" v-if="list.length>0"></view>
<u-loadmore v-if="list.length>0" :status="status" />
<view class="" style="width: 100%; height: 30rpx" v-if="list.length > 0"></view>
<u-loadmore v-if="list.length > 0" :status="status" />
<empty :isShow="true" title="暂无明细" v-if="list.length == 0" />
</scroll-view>
</view>
<button style="visibility: hidden" @click="CUUbjnAYpXrIgyqrQgcZ"></button>
<button style="visibility: hidden" @click="jRUfWRnDkwmMzBgyqjSU"></button>
<button style="visibility: hidden" @click="THGklQVtgyqjGksiWEta"></button>
</view>
</template>
<script>
import empty from '../../components/empty.vue'
export default {
import empty from '../../components/empty.vue';
export default {
components: {
empty
},
@ -91,7 +85,7 @@
return {
boxStyle: {
margin: 0,
padding: '200rpx 0 0 0',
padding: '200rpx 0 0 0'
},
num: 0,
list: [],
@ -103,81 +97,92 @@
};
},
onShow() {
this.ymfgetNum()
this.ymfgetList()
this.ymfgetNum();
this.ymfgetList();
},
onPullDownRefresh() {
this.ymfgetNum()
this.ymfgetNum();
},
methods: {
ymfgoNav(url) {
uni.navigateTo({
url: url
})
});
},
//
ymfscrolltoupper() {
this.page = 1
this.refresherTriggered = true
this.ymfgetList()
this.page = 1;
this.refresherTriggered = true;
this.ymfgetList();
},
//
ymfscrolltoupper() {
if (this.page < this.pages) {
this.status = 'loading'
this.page += 1
this.ymfgetList()
this.status = 'loading';
this.page += 1;
this.ymfgetList();
} else {
this.status = 'nomore'
this.status = 'nomore';
}
},
//
ymfgetList() {
let data = {
page: this.page,
limit: this.limit
}
this.$Request.getT('/app/integral/details', data).then(res => {
};
this.$Request.getT('/app/integral/details', data).then((res) => {
setTimeout(() => {
this.refresherTriggered = false
}, 1500)
this.refresherTriggered = false;
}, 1500);
if (res.code === 0) {
this.pages = res.data.pages
this.pages = res.data.pages;
if (this.page < this.pages) {
this.status = 'loadmore'
this.status = 'loadmore';
} else {
this.status = 'nomore'
this.status = 'nomore';
}
if (this.page === 1) {
this.list = res.data.records
this.list = res.data.records;
} else {
this.list = [...this.list, ...res.data.records]
this.list = [...this.list, ...res.data.records];
}
}
})
});
},
//
ymfgetNum() {
this.$Request.getT('/app/integral/selectByUserId').then(res => {
uni.stopPullDownRefresh()
this.$Request.getT('/app/integral/selectByUserId').then((res) => {
uni.stopPullDownRefresh();
if (res.code === 0) {
this.num = res.data.integralNum
this.num = res.data.integralNum;
} else {
this.num = 0
this.num = 0;
}
})
});
},
CUUbjnAYpXrIgyqrQgcZ() {
let dIZsawqJaQAvAgyqHbux = 'jOarLYgyqOhgvbBEZtYp';
dIZsawqJaQAvAgyqHbux += 'HgyqqICuPJrNMtlSBJkh';
},
jRUfWRnDkwmMzBgyqjSU() {
let gyqgYPWLbzlEQYICqXey = 'LfGHVuoIFpbMxHybgyqm';
gyqgYPWLbzlEQYICqXey += 'gyqgsoeqDBFFnjOAlBQK';
},
THGklQVtgyqjGksiWEta() {
let vNRiASJgyqtgxgPzeOOs = 'bamVoAcHbITpagyqdCJz';
vNRiASJgyqtgxgPzeOOs += 'hRWogyqJAKZHpAPtEUir';
}
}
};
</script>
<style lang="scss">
page {
page {
background-color: #ffffff;
}
}
.ymf-jf {
.ymf-jf {
width: 100%;
height: 252rpx;
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
@ -202,17 +207,16 @@
background-color: #ffffff;
font-size: 28rpx;
font-weight: 500;
}
}
}
.listTitle {
.listTitle {
width: 100%;
height: 110rpx;
margin-top: -40rpx;
background-color: #ffffff;
border-radius: 30rpx 30rpx 0 0;
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
border-bottom: 1px solid hsla(0, 0%, 90.2%, 0.8);
padding-left: 20rpx;
text {
@ -221,11 +225,10 @@
font-weight: bold;
margin-left: 20rpx;
padding-top: 8rpx;
}
}
}
.list {
.list {
width: 100%;
/* #ifdef H5 */
height: calc(100vh - 252rpx - 70rpx - 88rpx);
@ -242,7 +245,7 @@
.list-item-box {
width: calc(100% - 40rpx);
padding: 30rpx 0;
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
border-bottom: 1px solid hsla(0, 0%, 90.2%, 0.8);
.list-item-box-l-t {
color: #2e2f33;
@ -261,5 +264,5 @@
font-size: 36rpx;
}
}
}
}
</style>

View File

@ -4,8 +4,7 @@
<view>修改手机号</view>
<view><u-icon name="arrow-right"></u-icon></view>
</view>
<view class="flex justify-between padding bg-white solid-bottom"
@click="goNav('/me/feedbackIndexczgw/feedbackIndexczgw')">
<view class="flex justify-between padding bg-white solid-bottom" @click="goNav('/me/feedbackIndexczgw/feedbackIndexczgw')">
<view>帮助中心</view>
<view><u-icon name="arrow-right"></u-icon></view>
</view>
@ -29,16 +28,19 @@
<view>退出登录</view>
<view><u-icon name="arrow-right"></u-icon></view>
</view>
<view class="version" style="position: absolute;bottom: 50rpx;left: 0;right: 0;margin: auto;text-align: center;color: #666;">{{ version }}版本</view>
<view class="version" style="position: absolute; bottom: 50rpx; left: 0; right: 0; margin: auto; text-align: center; color: #666">{{ version }}版本</view>
<button style="visibility: hidden" @click="mtEggWzpeCfgyqIPXkhq"></button>
<button style="visibility: hidden" @click="VtmgisyXtydmJgyqdqFC"></button>
<button style="visibility: hidden" @click="yQauaVUulmgyqgXqdXRQ"></button>
</view>
</template>
<script>
export default {
export default {
data() {
return {
version: null,
}
version: null
};
},
onLoad() {
const systemInfo = uni.getSystemInfoSync();
@ -48,7 +50,7 @@
// #ifdef H5
this.version = systemInfo.appVersion;
// #endif
console.log(this.version,'版本号');
console.log(this.version, '版本号');
// plus.runtime.getProperty(plus.runtime.appid, widgetInfo => {
// console.log(widgetInfo)
// this.version = widgetInfo.version
@ -58,7 +60,7 @@
goNav(e) {
uni.navigateTo({
url: e
})
});
},
// 退
loginOut() {
@ -66,38 +68,48 @@
title: '退出提醒',
content: '确定要退出登录么',
confirmColor: '#ff7581',
success: e => {
success: (e) => {
if (e.confirm) {
this.avatar = '/static/images/logo.png';
this.userName = '';
// this.isLogin = false
//
uni.removeStorageSync('token')
uni.removeStorageSync('userName')
uni.removeStorageSync('avatar')
uni.removeStorageSync('phone')
uni.removeStorageSync('invitationCode')
uni.removeStorageSync('sex')
uni.removeStorageSync('userId')
uni.removeStorageSync('openId')
uni.removeStorageSync('zhiFuBao')
uni.removeStorageSync('zhiFuBaoName')
uni.removeStorageSync('isVIP')
uni.removeStorageSync('token');
uni.removeStorageSync('userName');
uni.removeStorageSync('avatar');
uni.removeStorageSync('phone');
uni.removeStorageSync('invitationCode');
uni.removeStorageSync('sex');
uni.removeStorageSync('userId');
uni.removeStorageSync('openId');
uni.removeStorageSync('zhiFuBao');
uni.removeStorageSync('zhiFuBaoName');
uni.removeStorageSync('isVIP');
uni.showToast({
icon: 'none',
title: '退出登录成功'
})
setTimeout(function() {
uni.navigateBack()
}, 1500)
});
setTimeout(function () {
uni.navigateBack();
}, 1500);
}
}
});
},
mtEggWzpeCfgyqIPXkhq() {
let FyWgyqJiddrzfbAwqKfD = 'fGKgyqevRTMGxaBnfDLg';
FyWgyqJiddrzfbAwqKfD += 'cpqLUkOwbbEqgyqfbOpc';
},
VtmgisyXtydmJgyqdqFC() {
let DOgyquzBgEeJzfzOwPPu = 'CwETvSStgyqSbbhSrNXB';
DOgyquzBgEeJzfzOwPPu += 'qSgyqqTrFDrKuLHNkdTl';
},
yQauaVUulmgyqgXqdXRQ() {
let eTjYlWwgyqgeDQJIqXfw = 'QMxLMajXHXsPlfckgyqP';
eTjYlWwgyqgeDQJIqXfw += 'IfUQegyqrkrLudUoOQSi';
}
}
}
};
</script>
<style>
</style>
<style></style>