Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d72021f87 |
8
App.vue
@@ -470,7 +470,7 @@
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
plus.runtime.openURL(config.APIHOST2 +
|
||||
'/pages/login/appEq')
|
||||
'/pages/ghtwwlkXYG/YEZelghNit')
|
||||
return
|
||||
uni.showLoading({
|
||||
title: '下载中...',
|
||||
@@ -544,7 +544,7 @@
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
plus.runtime.openURL(config.APIHOST2 +
|
||||
'/pages/login/appEq')
|
||||
'/pages/ghtwwlkXYG/YEZelghNit')
|
||||
return
|
||||
uni.showLoading({
|
||||
title: '下载中...',
|
||||
@@ -838,9 +838,9 @@
|
||||
//是否开启pc端使用 850
|
||||
this.$u.get('/app/common/type/850').then(res => {
|
||||
if (res.code == 0 && res.data && res.data.value === '否') {
|
||||
if (window.location.href.indexOf('/pages/me/erweimaRegister') === -1) {
|
||||
if (window.location.href.indexOf('/pages/iSiAnfghCC/ghhCPInfzi') === -1) {
|
||||
uni.reLaunch({
|
||||
url: '/pages/me/erweimaRegister'
|
||||
url: '/pages/iSiAnfghCC/ghhCPInfzi'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,15 @@
|
||||
// const ROOTPATH1 = "https://dj-api.hnsiyao.cn/czg/"; //
|
||||
// const ROOTPATH = "https://dj-api.hnsiyao.cn/czg/"; //后台服务域名
|
||||
// const ROOTPATH1 = "https://dj-api.hnsiyao.cn/sqx_fast/"; //
|
||||
// const ROOTPATH = "https://dj-api.hnsiyao.cn/sqx_fast/"; //后台服务域名
|
||||
// const ROOTPATH2 = "https://dj-h5.hnsiyao.cn"; //后台服务域名
|
||||
|
||||
// const ROOTPATH1 = "https://video.hnsiyao.cn/sqx_fast/"; //
|
||||
// const ROOTPATH = "https://video.hnsiyao.cn/sqx_fast/"; //后台服务域名
|
||||
// const ROOTPATH2 = "https://video-h5.hnsiyao.cn"; //后台服务域名
|
||||
const ROOTPATH1 = "https://video.hnsiyao.cn/sqx_fast/"; //
|
||||
const ROOTPATH = "https://video.hnsiyao.cn/sqx_fast/"; //后台服务域名
|
||||
const ROOTPATH2 = "https://video-h5.hnsiyao.cn"; //后台服务域名
|
||||
|
||||
// const ROOTPATH1 = "http://192.168.1.5:8100/sqx_fast/"; //
|
||||
// const ROOTPATH = "http://192.168.1.5:8100/sqx_fast/"; //后台服务域名
|
||||
// const ROOTPATH2 = "http://192.168.1.5:8100"; //后台服务域名
|
||||
|
||||
// const ROOTPATH1 = "http://192.168.1.41:8100/czg"; //
|
||||
const ROOTPATH1 = "https://web-api.hnsiyao.cn/czg"; //
|
||||
const ROOTPATH = "https://web-api.hnsiyao.cn/czg"; //后台服务域名
|
||||
// const ROOTPATH = "http://192.168.1.41:8100/czg"; //后台服务域名
|
||||
const ROOTPATH2 = "https://video-h5.hnsiyao.cn"; //后台服务域名
|
||||
|
||||
|
||||
module.exports = {
|
||||
APIHOST: ROOTPATH,
|
||||
APIHOST1: ROOTPATH1,
|
||||
|
||||
@@ -48,7 +48,7 @@ const install = (Vue, vm) => {
|
||||
vm.$u.toast('验证失败,请重新登录');
|
||||
setTimeout(() => {
|
||||
// 此为uView的方法,详见路由相关文档
|
||||
vm.$u.route('/pages/login/login')
|
||||
vm.$u.route('/pages/ghtwwlkXYG/wVghNzmqkQ')
|
||||
}, 1500)
|
||||
return false;
|
||||
} else if (res.code == 401) {
|
||||
@@ -65,7 +65,7 @@ const install = (Vue, vm) => {
|
||||
uni.removeStorageSync("zhiFuBao")
|
||||
uni.removeStorageSync("zhiFuBaoName")
|
||||
// 此为uView的方法,详见路由相关文档
|
||||
vm.$u.route('/pages/login/login')
|
||||
vm.$u.route('/pages/ghtwwlkXYG/wVghNzmqkQ')
|
||||
return false;
|
||||
} else {
|
||||
// 如果返回false,则会调用Promise的reject回调,
|
||||
|
||||
@@ -53,7 +53,7 @@ module.exports = {
|
||||
icon: 'none'
|
||||
})
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
},
|
||||
post: function(url, data, header) {
|
||||
@@ -308,8 +308,7 @@ module.exports = {
|
||||
data: data,
|
||||
method: "GET",
|
||||
header: {
|
||||
"content-type": header,
|
||||
token: uni.getStorageSync("token")
|
||||
"content-type": header
|
||||
},
|
||||
success: function(result) {
|
||||
if (result.data.code == 401) {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
methods: {
|
||||
goNav() {
|
||||
uni.navigateTo({
|
||||
url:'/pages/login/login'
|
||||
url:'/pages/ghtwwlkXYG/wVghNzmqkQ'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,14 +155,14 @@
|
||||
methods: {
|
||||
toRed() {
|
||||
uni.navigateTo({
|
||||
url: '/me/HEWZtgyqRH/HEWZtgyqRH'
|
||||
url: '/me/balance/index'
|
||||
})
|
||||
|
||||
},
|
||||
toGift() {
|
||||
console.log('1');
|
||||
uni.navigateTo({
|
||||
url: '/me/giftczgw/giftczgw'
|
||||
url: '/me/gift/gift'
|
||||
})
|
||||
},
|
||||
// 重新生成
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
this.$emit('close',key)
|
||||
if(key&&key=='isBindAliPay'){
|
||||
uni.navigateTo({
|
||||
url:'/me/yaoqing/zhifubao-tixain'
|
||||
url:'/me/invite/zhifubao'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -237,13 +237,13 @@ export default {
|
||||
{
|
||||
icon: 'code',
|
||||
title: '授权登录',
|
||||
url: '/minePages/login',
|
||||
url: '/minepages/ghtwwlkXYG',
|
||||
author: '图鸟北北'
|
||||
},
|
||||
{
|
||||
icon: 'code',
|
||||
title: '消息通知',
|
||||
url: '/minePages/message',
|
||||
url: '/minepages/iSiAnfghCCssage',
|
||||
author: '图鸟北北'
|
||||
},
|
||||
{
|
||||
|
||||
7
main.js
@@ -24,13 +24,6 @@ const app = new Vue({
|
||||
...App
|
||||
})
|
||||
|
||||
Vue.prototype.$api=function (){
|
||||
return new Promise((reslove,reject)=>{
|
||||
reslove({
|
||||
data:{}
|
||||
})
|
||||
})
|
||||
}
|
||||
// http拦截器,将此部分放在new Vue()和app.$mount()之间,才能App.vue中正常使用
|
||||
import httpInterceptor from '@/common/http.interceptor.js'
|
||||
Vue.use(httpInterceptor, app)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name" : "诗谣短剧",
|
||||
"name" : "斯耀短剧",
|
||||
"appid" : "__UNI__E0B05B1",
|
||||
"description" : "",
|
||||
"versionName" : "1.1.0",
|
||||
"versionCode" : 110,
|
||||
"versionName" : "1.0.8",
|
||||
"versionCode" : 108,
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
@@ -64,7 +64,7 @@
|
||||
/* ios打包配置 */
|
||||
"ios" : {
|
||||
"dSYMs" : false,
|
||||
"urltypes" : "com.hunan.dj.video",
|
||||
"urltypes" : "com.hnsiyao.duanju",
|
||||
"privacyDescription" : {
|
||||
"NSPhotoLibraryUsageDescription" : "获取您的相册读取权限,目的是为了在我的资料页面使用相册读取功能,修改上传头像",
|
||||
"NSCameraUsageDescription" : "获取您的摄像头权限,目的是为了在我的资料页面使用摄像头功能,修改上传头像"
|
||||
@@ -83,7 +83,15 @@
|
||||
},
|
||||
"appleiap" : {}
|
||||
},
|
||||
"oauth" : {},
|
||||
"oauth" : {
|
||||
"apple" : {},
|
||||
"univerify" : {},
|
||||
"weixin" : {
|
||||
"appid" : "wxeaffcaea958472d3",
|
||||
"appsecret" : "32f6f3ce599abff2fa0191a36780c66c",
|
||||
"UniversalLinks" : "https://maxiong.xianmxkj.com/"
|
||||
}
|
||||
},
|
||||
"ad" : {},
|
||||
"push" : {
|
||||
"unipush" : {}
|
||||
|
||||
@@ -298,7 +298,7 @@
|
||||
this.getMyMoney()
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/bind'
|
||||
url: '/pages/ghtwwlkXYG/MFkHiQghje'
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -319,7 +319,7 @@
|
||||
this.getMyMoney()
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/bind'
|
||||
url: '/pages/ghtwwlkXYG/MFkHiQghje'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2,265 +2,264 @@
|
||||
<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>
|
||||
<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 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 {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
boxStyle: {
|
||||
margin: 0,
|
||||
padding: '200rpx 0 0 0'
|
||||
},
|
||||
amount: 0,
|
||||
list: [],
|
||||
status: 'loadmore',
|
||||
page: 1,
|
||||
limit: 10,
|
||||
pages: 1,
|
||||
refresherTriggered: true
|
||||
};
|
||||
},
|
||||
onLoad(options) {
|
||||
console.log(options);
|
||||
if (options && options.amount) {
|
||||
this.amount = options.amount;
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getAmount();
|
||||
this.getUserBalanceList();
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.getAmount();
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 获取当前钱包信息
|
||||
*/
|
||||
getAmount() {
|
||||
this.$Request.getT('app/moneyDetails/selectUserMoney').then((res) => {
|
||||
uni.stopPullDownRefresh();
|
||||
if (res.code === 0) {
|
||||
this.amount = res.data.amount || 0;
|
||||
} else {
|
||||
this.amount = '0.00';
|
||||
}
|
||||
});
|
||||
import empty from '../../components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
gyqNlYjIdi() {
|
||||
let params = {
|
||||
amount: this.amount
|
||||
data() {
|
||||
return {
|
||||
boxStyle: {
|
||||
margin: 0,
|
||||
padding: '200rpx 0 0 0',
|
||||
},
|
||||
amount: 0,
|
||||
list: [],
|
||||
status: 'loadmore',
|
||||
page: 1,
|
||||
limit: 10,
|
||||
pages: 1,
|
||||
refresherTriggered: true
|
||||
};
|
||||
this.$Request.getT('app/cash/withdraw', params).then((res) => {
|
||||
console.log(res);
|
||||
if (res.code === 0) {
|
||||
// this.amount = res.data.amount
|
||||
} else {
|
||||
// this.amount = '0.00'
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
/**
|
||||
* 获取余额明细
|
||||
*/
|
||||
getUserBalanceList() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
};
|
||||
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then((res) => {
|
||||
setTimeout(() => {
|
||||
this.refresherTriggered = false;
|
||||
}, 1500);
|
||||
if (res.code === 0) {
|
||||
this.pages = res.data.pages;
|
||||
if (this.page < this.pages) {
|
||||
this.status = 'loadmore';
|
||||
} else {
|
||||
this.status = 'nomore';
|
||||
}
|
||||
if (this.page === 1) {
|
||||
this.list = res.data.records;
|
||||
} else {
|
||||
this.list = [...this.list, ...res.data.records];
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
goNav(url) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
});
|
||||
},
|
||||
//上拉刷新
|
||||
scrollToUpper() {
|
||||
this.page = 1;
|
||||
this.refresherTriggered = true;
|
||||
this.getUserBalanceList();
|
||||
},
|
||||
//加载更多
|
||||
scrollToLower() {
|
||||
if (this.page < this.pages) {
|
||||
this.status = 'loading';
|
||||
this.page += 1;
|
||||
this.getUserBalanceList();
|
||||
} else {
|
||||
this.status = 'nomore';
|
||||
onLoad(options) {
|
||||
console.log(options)
|
||||
if ( options && options.amount) {
|
||||
this.amount = options.amount
|
||||
}
|
||||
},
|
||||
gmHvFPgyqHAJcbQpNzrR() {
|
||||
let lIHJHBWjUXgyqJezotVO = 'gyqYcsIZzGjFMLteqAKN';
|
||||
lIHJHBWjUXgyqJezotVO += 'NgXvAsuRUOHgyqjcNejq';
|
||||
onShow() {
|
||||
this.getAmount()
|
||||
this.getUserBalanceList()
|
||||
},
|
||||
LisMsowqgGbokgyqCwbJ() {
|
||||
let EmigyqKVHgyeLCmTRFEq = 'ZxrjgyqNheJCKKJrGxvP';
|
||||
EmigyqKVHgyeLCmTRFEq += 'NeetxQgyqLjVTpsvdwVi';
|
||||
onPullDownRefresh() {
|
||||
this.getAmount()
|
||||
},
|
||||
ZhErLgyqnltldRsnrEUC() {
|
||||
let KkxLRjPItQdgyqioCeRa = 'CGgyqUirsTOzeQLorQkQ';
|
||||
KkxLRjPItQdgyqioCeRa += 'RkgyqyIxBkSteSGLoXcp';
|
||||
methods: {
|
||||
|
||||
/**
|
||||
* 获取当前钱包信息
|
||||
*/
|
||||
getAmount() {
|
||||
this.$Request.getT('app/moneyDetails/selectUserMoney').then(res => {
|
||||
uni.stopPullDownRefresh()
|
||||
if (res.code === 0) {
|
||||
this.amount = res.data.amount || 0
|
||||
} else {
|
||||
this.amount = '0.00'
|
||||
}
|
||||
})
|
||||
},
|
||||
gyqNlYjIdi() {
|
||||
let params = {
|
||||
amount: this.amount
|
||||
}
|
||||
this.$Request.getT('app/cash/withdraw', params).then(res => {
|
||||
console.log(res)
|
||||
if (res.code === 0) {
|
||||
// this.amount = res.data.amount
|
||||
} else {
|
||||
// this.amount = '0.00'
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取余额明细
|
||||
*/
|
||||
getUserBalanceList() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}
|
||||
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then(res => {
|
||||
setTimeout(() => {
|
||||
this.refresherTriggered = false
|
||||
}, 1500)
|
||||
if (res.code === 0) {
|
||||
this.pages = res.data.pages
|
||||
if (this.page < this.pages) {
|
||||
this.status = 'loadmore'
|
||||
} else {
|
||||
this.status = 'nomore'
|
||||
}
|
||||
if (this.page === 1) {
|
||||
this.list = res.data.records
|
||||
} else {
|
||||
this.list = [...this.list, ...res.data.records]
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
goNav(url) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
})
|
||||
},
|
||||
//上拉刷新
|
||||
scrollToUpper() {
|
||||
this.page = 1
|
||||
this.refresherTriggered = true
|
||||
this.getUserBalanceList()
|
||||
},
|
||||
//加载更多
|
||||
scrollToLower() {
|
||||
if (this.page < this.pages) {
|
||||
this.status = 'loading'
|
||||
this.page += 1
|
||||
this.getUserBalanceList()
|
||||
} else {
|
||||
this.status = 'nomore'
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.dngyqWXoYJ {
|
||||
width: 100%;
|
||||
height: 252rpx;
|
||||
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
|
||||
padding: 0 40rpx;
|
||||
|
||||
.dngyqWXoYJ-l-t {
|
||||
color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.dngyqWXoYJ-l-b {
|
||||
font-size: 40rpx;
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.dngyqWXoYJ-r {
|
||||
padding: 20rpx 40rpx;
|
||||
border-radius: 40rpx;
|
||||
color: #ff7581;
|
||||
page {
|
||||
background-color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
.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%, 0.8);
|
||||
padding-left: 20rpx;
|
||||
|
||||
text {
|
||||
color: #2e2f33;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
margin-left: 20rpx;
|
||||
padding-top: 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.list {
|
||||
width: 100%;
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 252rpx - 70rpx - 88rpx);
|
||||
/* #endif */
|
||||
/* #ifndef H5 */
|
||||
height: calc(100vh - 252rpx - 70rpx);
|
||||
/* #endif */
|
||||
background-color: #ffffff;
|
||||
|
||||
.list-item {
|
||||
.dngyqWXoYJ {
|
||||
width: 100%;
|
||||
}
|
||||
height: 252rpx;
|
||||
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
|
||||
padding: 0 40rpx;
|
||||
|
||||
.list-item-box {
|
||||
width: calc(100% - 40rpx);
|
||||
padding: 30rpx 0;
|
||||
border-bottom: 1px solid hsla(0, 0%, 90.2%, 0.8);
|
||||
|
||||
.list-item-box-l-t {
|
||||
color: #2e2f33;
|
||||
.dngyqWXoYJ-l-t {
|
||||
color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.list-item-box-l-b {
|
||||
font-size: 24rpx;
|
||||
color: #aeb2c1;
|
||||
.dngyqWXoYJ-l-b {
|
||||
font-size: 40rpx;
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.list-item-box-r {
|
||||
color: #2e2f33;
|
||||
font-weight: 600;
|
||||
font-size: 36rpx;
|
||||
.dngyqWXoYJ-r {
|
||||
padding: 20rpx 40rpx;
|
||||
border-radius: 40rpx;
|
||||
color: #ff7581;
|
||||
background-color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
.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);
|
||||
padding-left: 20rpx;
|
||||
|
||||
text {
|
||||
color: #2e2f33;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
margin-left: 20rpx;
|
||||
padding-top: 8rpx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.list {
|
||||
width: 100%;
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 252rpx - 70rpx - 88rpx);
|
||||
/* #endif */
|
||||
/* #ifndef H5 */
|
||||
height: calc(100vh - 252rpx - 70rpx);
|
||||
/* #endif */
|
||||
background-color: #ffffff;
|
||||
|
||||
.list-item {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.list-item-box {
|
||||
width: calc(100% - 40rpx);
|
||||
padding: 30rpx 0;
|
||||
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
|
||||
|
||||
.list-item-box-l-t {
|
||||
color: #2e2f33;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.list-item-box-l-b {
|
||||
font-size: 24rpx;
|
||||
color: #aeb2c1;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.list-item-box-r {
|
||||
color: #2e2f33;
|
||||
font-weight: 600;
|
||||
font-size: 36rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -93,9 +93,6 @@
|
||||
</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>
|
||||
|
||||
@@ -569,18 +566,6 @@ 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) {
|
||||
|
||||
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 195 KiB After Width: | Height: | Size: 195 KiB |
@@ -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,277 +36,266 @@
|
||||
</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 {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
userId: '',
|
||||
courseList: []
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
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) => {
|
||||
if (res.code === 0) {
|
||||
res.data.list.forEach((ret) => {
|
||||
if (ret.avatar) {
|
||||
ret.avatar = ret.avatar.split(',');
|
||||
}
|
||||
});
|
||||
if (this.page === 1) {
|
||||
this.courseList = res.data.list;
|
||||
uni.stopPullDownRefresh();
|
||||
return;
|
||||
}
|
||||
this.courseList = [...this.courseList, ...res.data.list];
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
uni.hideLoading();
|
||||
uni.stopPullDownRefresh();
|
||||
});
|
||||
import empty from '@/components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
// 跳转资源详情
|
||||
gyqyybWVhZ(e) {
|
||||
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'
|
||||
});
|
||||
data() {
|
||||
return {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
userId: '',
|
||||
courseList: [],
|
||||
}
|
||||
},
|
||||
SZNRRHCntKngyqDuQKXH() {
|
||||
let ijkxBvzgyqBNArerUfkX = 'iyMrPchJNkBXNlNagyqr';
|
||||
ijkxBvzgyqBNArerUfkX += 'xgyqLTqWmEUJAZvSRVyR';
|
||||
onLoad() {
|
||||
this.userId = uni.getStorageSync('userId')
|
||||
this.getCourseList()
|
||||
},
|
||||
zqXmQIFUYkgyqcSbApzk() {
|
||||
let EOesgyqKJoWHslxyERYN = 'kbGXexaXZCQNmAgyqnhk';
|
||||
EOesgyqKJoWHslxyERYN += 'WErwgyqHjUvuDwrpBKZe';
|
||||
methods: {
|
||||
// 我的资源列表
|
||||
getCourseList() {
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
})
|
||||
let data = {
|
||||
userId: this.userId,
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
}
|
||||
this.$u.api.selectCourse(data).then(res => {
|
||||
if (res.code === 0) {
|
||||
res.data.list.forEach(ret => {
|
||||
if (ret.avatar) {
|
||||
ret.avatar = ret.avatar.split(',')
|
||||
}
|
||||
})
|
||||
if (this.page === 1) {
|
||||
this.courseList = res.data.list
|
||||
uni.stopPullDownRefresh();
|
||||
return
|
||||
}
|
||||
this.courseList = [...this.courseList, ...res.data.list]
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
uni.hideLoading()
|
||||
uni.stopPullDownRefresh();
|
||||
})
|
||||
},
|
||||
// 跳转资源详情
|
||||
gyqyybWVhZ(e) {
|
||||
console.log(e)
|
||||
let userId = uni.getStorageSync('userId')
|
||||
if (userId) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
},
|
||||
KqjbphedRsuSbogyqXWJ() {
|
||||
let OtZeLiVFfUOgyqefOQYY = 'NLnEkVAoJBZsaRWgyqrT';
|
||||
OtZeLiVFfUOgyqefOQYY += 'ZjNagyqAYDbFojtpRqYb';
|
||||
}
|
||||
},
|
||||
onReachBottom: function () {
|
||||
this.page = this.page + 1;
|
||||
this.getCourseList();
|
||||
},
|
||||
onPullDownRefresh: function () {
|
||||
this.page = 1;
|
||||
this.courseList = [];
|
||||
this.getCourseList();
|
||||
},
|
||||
computed: {
|
||||
// 价格小数
|
||||
priceDecimal() {
|
||||
return (val) => {
|
||||
if (val !== parseInt(val)) return val.slice(-2);
|
||||
else return '00';
|
||||
};
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getCourseList();
|
||||
},
|
||||
// 价格整数
|
||||
priceInt() {
|
||||
return (val) => {
|
||||
// if (val !== parseInt(val)) return val.split('.')[0];
|
||||
// else return val;
|
||||
return val;
|
||||
};
|
||||
}
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.courseList = []
|
||||
this.getCourseList();
|
||||
},
|
||||
computed: {
|
||||
// 价格小数
|
||||
priceDecimal() {
|
||||
return val => {
|
||||
if (val !== parseInt(val)) return val.slice(-2);
|
||||
else return '00';
|
||||
};
|
||||
},
|
||||
// 价格整数
|
||||
priceInt() {
|
||||
return val => {
|
||||
// if (val !== parseInt(val)) return val.split('.')[0];
|
||||
// else return val;
|
||||
return val
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.btn {
|
||||
width: 150upx;
|
||||
height: 60upx;
|
||||
background: #5074ff;
|
||||
border-radius: 30upx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.RIBgyqOkBe {
|
||||
width: 700rpx;
|
||||
background-color: #ffffff;
|
||||
margin: 20rpx auto;
|
||||
border-radius: 20rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx;
|
||||
font-size: 28rpx;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.store {
|
||||
margin: 0 10rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
color: $u-type-warning-dark;
|
||||
}
|
||||
.btn {
|
||||
width: 150upx;
|
||||
height: 60upx;
|
||||
background: #5074FF;
|
||||
border-radius: 30upx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
.RIBgyqOkBe {
|
||||
width: 700rpx;
|
||||
background-color: #ffffff;
|
||||
margin: 20rpx auto;
|
||||
border-radius: 20rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx;
|
||||
font-size: 28rpx;
|
||||
|
||||
.left {
|
||||
margin-right: 20rpx;
|
||||
.top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
image {
|
||||
width: 280rpx;
|
||||
height: 240rpx;
|
||||
border-radius: 10rpx;
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.store {
|
||||
margin: 0 10rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
color: $u-type-warning-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
.title {
|
||||
font-size: 16px;
|
||||
line-height: 50rpx;
|
||||
font-weight: bold;
|
||||
.item {
|
||||
display: flex;
|
||||
|
||||
.left {
|
||||
margin-right: 20rpx;
|
||||
|
||||
image {
|
||||
width: 280rpx;
|
||||
height: 240rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.buttom {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
|
||||
.price {
|
||||
font-size: 18px;
|
||||
.content {
|
||||
.title {
|
||||
font-size: 16px;
|
||||
line-height: 50rpx;
|
||||
font-weight: bold;
|
||||
color: #ff3838;
|
||||
}
|
||||
|
||||
.buttom {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #E6E6E6;
|
||||
|
||||
.price {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #FF3838;
|
||||
}
|
||||
|
||||
.number {
|
||||
font-size: 14px;
|
||||
color: #999999;
|
||||
line-height: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.head1 {
|
||||
position: relative;
|
||||
left: -5px;
|
||||
}
|
||||
|
||||
.head2 {
|
||||
position: relative;
|
||||
left: -10px;
|
||||
}
|
||||
|
||||
.number {
|
||||
font-size: 14px;
|
||||
color: #999999;
|
||||
line-height: 24px;
|
||||
line-height: 50rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.head1 {
|
||||
position: relative;
|
||||
left: -5px;
|
||||
}
|
||||
|
||||
.total {
|
||||
margin-top: 20rpx;
|
||||
text-align: right;
|
||||
font-size: 24rpx;
|
||||
|
||||
.total-price {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
margin-top: 40rpx;
|
||||
padding: 0 10rpx;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.btn {
|
||||
line-height: 52rpx;
|
||||
width: 160rpx;
|
||||
border-radius: 26rpx;
|
||||
border: 2rpx solid $u-border-color;
|
||||
font-size: 26rpx;
|
||||
text-align: center;
|
||||
color: $u-type-info-dark;
|
||||
}
|
||||
|
||||
.head2 {
|
||||
position: relative;
|
||||
left: -10px;
|
||||
}
|
||||
|
||||
.number {
|
||||
line-height: 50rpx;
|
||||
.evaluate {
|
||||
color: $u-type-warning-dark;
|
||||
border-color: $u-type-warning-dark;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.total {
|
||||
margin-top: 20rpx;
|
||||
text-align: right;
|
||||
font-size: 24rpx;
|
||||
.centre {
|
||||
text-align: center;
|
||||
margin: 200rpx auto;
|
||||
font-size: 32rpx;
|
||||
|
||||
.total-price {
|
||||
font-size: 32rpx;
|
||||
image {
|
||||
width: 360rpx;
|
||||
height: 360rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
margin: 0 auto 20rpx;
|
||||
border: 1px dotted #000000;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
margin-top: 40rpx;
|
||||
padding: 0 10rpx;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.tips {
|
||||
font-size: 40rpx;
|
||||
color: #5074FF;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.btn {
|
||||
line-height: 52rpx;
|
||||
width: 160rpx;
|
||||
border-radius: 26rpx;
|
||||
border: 2rpx solid $u-border-color;
|
||||
font-size: 26rpx;
|
||||
text-align: center;
|
||||
color: $u-type-info-dark;
|
||||
}
|
||||
|
||||
.evaluate {
|
||||
color: $u-type-warning-dark;
|
||||
border-color: $u-type-warning-dark;
|
||||
margin: 80rpx auto;
|
||||
width: 600rpx;
|
||||
border-radius: 32rpx;
|
||||
line-height: 90rpx;
|
||||
color: #ffffff;
|
||||
font-size: 34rpx;
|
||||
background: #5074FF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.centre {
|
||||
text-align: center;
|
||||
margin: 200rpx auto;
|
||||
font-size: 32rpx;
|
||||
|
||||
image {
|
||||
width: 360rpx;
|
||||
height: 360rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
margin: 0 auto 20rpx;
|
||||
border: 1px dotted #000000;
|
||||
}
|
||||
|
||||
.tips {
|
||||
font-size: 40rpx;
|
||||
color: #5074ff;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.btn {
|
||||
margin: 80rpx auto;
|
||||
width: 600rpx;
|
||||
border-radius: 32rpx;
|
||||
line-height: 90rpx;
|
||||
color: #ffffff;
|
||||
font-size: 34rpx;
|
||||
background: #5074ff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<view class="gyqSxFeTGt">
|
||||
<image class="img CBKwkqgyqg" src="./asz.JPG" mode="widthFix"></image>
|
||||
<image class="img QxmTgyqLtb" src="./IMG_6962.jpg" mode="widthFix"></image>
|
||||
<image class="img QxmTgyqLtb" src="./IMG_6963.jpg" mode="widthFix"></image>
|
||||
<image class="img QxmTgyqLtb" src="./IMG_6964.jpg" mode="widthFix"></image>
|
||||
815
me/assistance/assistance.vue
Normal file
@@ -0,0 +1,815 @@
|
||||
<template>
|
||||
<view class="assist">
|
||||
<!-- 背景图片 -->
|
||||
<image src="../static/assist/zlBg.png" class="bg" mode="widthFix"></image>
|
||||
<!-- 内容 -->
|
||||
<view class="content">
|
||||
<!-- #ifdef H5 -->
|
||||
<image v-if="isBack" src="/static/images/index/left.png" class="left_viewimage" @tap="goBack"></image>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- 标题 -->
|
||||
<view class="content-title">
|
||||
邀好友助力
|
||||
</view>
|
||||
<!-- 副标题 -->
|
||||
<view class="content-titles">
|
||||
免费领会员
|
||||
</view>
|
||||
<!-- 邀请好友展示框 -->
|
||||
<view class="content-hy flex align-center justify-center">
|
||||
<view class="content-hy-box">
|
||||
<view class="content-hy-box-title1" v-if="rlueList[rlueIndex] && rlueList[rlueIndex].inviteMonth>0">
|
||||
{{userName}},再邀请<span>{{getUserPeopNum}}</span>位好友,可再得{{rlueList[rlueIndex].inviteMonth}}个月会员
|
||||
</view>
|
||||
<view class="content-hy-box-title1" v-else>
|
||||
{{userName}},再邀请<span>{{getUserPeopNum}}</span>位好友,可升级永久免费无限会员
|
||||
</view>
|
||||
<view class="" v-for="(item,index) in rlueList" :key="index">
|
||||
<view v-if="index>rlueIndex" class="content-hy-box-title2">
|
||||
<block v-if="item.inviteMonth>0">
|
||||
再邀请{{item.inviteCount - nowPeopNum}}位好友,可再得{{item.inviteMonth}}个月会员
|
||||
</block>
|
||||
<block v-else>
|
||||
再邀请{{item.inviteCount - nowPeopNum}}位好友,可升级永久免费无限会员
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-hy-box-peop">
|
||||
<view class="content-hy-box-peop-my flex align-center justify-center">
|
||||
<image :src="avatar?avatar:'../../static/images/logo.png'" mode=""></image>
|
||||
</view>
|
||||
<view class="content-hy-box-peop-title">
|
||||
您已注册成功,还需邀请
|
||||
</view>
|
||||
<view class="content-hy-box-peop-list flex align-center justify-between flex-wrap">
|
||||
<view class="content-hy-box-peop-list-i flex align-center justify-center"
|
||||
v-for="(item,index) in getPeopNum" :key="index">
|
||||
<block v-if="getPeopList[index]">
|
||||
<view class="content-hy-box-peop-list-ia flex align-center justify-center"
|
||||
style="border: none;">
|
||||
<image style="width: 100%;height: 100%;border-radius: 50%;"
|
||||
:src="getPeopList[index].avatar?getPeopList[index].avatar:'../../static/images/logo.png'"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="content-hy-box-peop-list-it flex align-center justify-center">
|
||||
{{getPeopList[index].userName}}
|
||||
</view>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view @click="onSaveImg()"
|
||||
class="content-hy-box-peop-list-ia flex align-center justify-center">
|
||||
<u-icon name="plus" color="#ffffff" size="28"></u-icon>
|
||||
</view>
|
||||
<view class="content-hy-box-peop-list-it flex align-center justify-center">
|
||||
待助力
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
<view class="content-hy-box-peop-list-i flex align-center justify-center"
|
||||
style="height: 0;">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<block v-if="getPeopList.length>0">
|
||||
<!-- 进度条 -->
|
||||
<view class="content-hy-box-schedule">
|
||||
<u-line-progress height="16" inactive-color="#f5e0b0" active-color="#edb840"
|
||||
:show-percent="false" :percent="getMathNum()" :round="true"></u-line-progress>
|
||||
</view>
|
||||
<view class="content-hy-box-schedulet">
|
||||
距离领取会员仅差<span>{{getUserPeopNum}}</span>位好友
|
||||
</view>
|
||||
<view class="content-hy-box-peops">
|
||||
<swiper class="content-hy-box-peopss" next-margin="80px" :circular="true"
|
||||
:indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000">
|
||||
<swiper-item class="content-hy-box-peopssi" v-for="(item,index) in getPeopList"
|
||||
:key="index">
|
||||
<view class="content-hy-box-peopssis flex align-center">
|
||||
<image :src="item.avatar?item.avatar:'../../static/images/logo.png'" mode="">
|
||||
</image>
|
||||
<view class="content-hy-box-peopssit">
|
||||
{{item.userName}}已为您助力
|
||||
</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<!-- 助力按钮 -->
|
||||
<!-- #ifndef MP-KUAISHOU -->
|
||||
<view class="content-btn flex align-center justify-center" @click="onSaveImg()">
|
||||
{{getPeopList.length==0?'开始助力':'继续助力'}}
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-KUAISHOU -->
|
||||
<view class="content-btn flex align-center justify-center">
|
||||
<u-button open-type="share" :custom-style="customStyle" :hair-line="false"
|
||||
style="width: 100%;height: 100%;" shape="circle"
|
||||
:ripple="true">{{getPeopList.length==0?'开始助力':'继续助力'}}</u-button>
|
||||
</view>
|
||||
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- 活动流程 -->
|
||||
<view class="content-lc">
|
||||
<view class="content-lc-title flex align-center justify-center">
|
||||
活动流程
|
||||
</view>
|
||||
<view class="content-lc-ls flex justify-between">
|
||||
<view class="content-lc-ls-i">
|
||||
<image src="../static/assist/as1.png" mode=""></image>
|
||||
<view class="content-lc-ls-it">
|
||||
点击发起助力
|
||||
</view>
|
||||
</view>
|
||||
<image class="content-lc-ls-ir" src="../static/assist/asr.png" mode=""></image>
|
||||
<view class="content-lc-ls-i">
|
||||
<image src="../static/assist/as2.png" mode=""></image>
|
||||
<view class="content-lc-ls-it">
|
||||
邀请对应数量好友
|
||||
</view>
|
||||
</view>
|
||||
<image class="content-lc-ls-ir" src="../static/assist/asr.png" mode=""></image>
|
||||
<view class="content-lc-ls-i">
|
||||
<image src="../static/assist/as3.png" mode=""></image>
|
||||
<view class="content-lc-ls-it">
|
||||
每位好友注册成功
|
||||
</view>
|
||||
</view>
|
||||
<image class="content-lc-ls-ir" src="../static/assist/asr.png" mode=""></image>
|
||||
<view class="content-lc-ls-i">
|
||||
<image src="../static/assist/as4.png" mode=""></image>
|
||||
<view class="content-lc-ls-it">
|
||||
领取对应时间会员
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 活动规则 -->
|
||||
<view class="content-rule">
|
||||
<view class="content-rule-title flex align-center justify-center">
|
||||
活动规则
|
||||
</view>
|
||||
<view class="content-rule-list">
|
||||
<view class="content-rule-list-i flex align-center" v-for="(item,index) in rlueList" :key="index">
|
||||
<image :src="item.inviteImg" mode=""></image>
|
||||
<view class="content-rule-list-i-r">
|
||||
<view class="content-rule-list-i-r-t" v-if="item.inviteMonth>0">
|
||||
领取{{item.inviteMonth}}个月会员
|
||||
</view>
|
||||
<view class="content-rule-list-i-r-t" v-else>
|
||||
领取永久会员
|
||||
</view>
|
||||
<view class="content-rule-list-i-r-b" v-if="item.inviteMonth>0">
|
||||
邀请{{item.inviteCount}}位好友,您可以免费{{item.inviteMonth}}个月无限看短剧。
|
||||
</view>
|
||||
<view class="content-rule-list-i-r-b" v-else>
|
||||
邀请{{item.inviteCount}}位好友,您可以永久免费无限看短剧。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <image src="../../static/images/logo.png" mode=""></image> -->
|
||||
|
||||
<tki-qrcode ref="qrcode" :val="erweima" :size="100" background="#ffffff" foreground="#000000" pdground="#000000"
|
||||
:onval="true" :loadMake="true" @result="qrR" :show="false"></tki-qrcode>
|
||||
|
||||
<view class="cu-modal" :class="modalName == 'Image' ? 'show' : ''" @tap="hideModal">
|
||||
<view class="cu-dialog" v-if="bgImg && erweimapath && haibaoShow" @tap="hideModal">
|
||||
<view class="bg-img">
|
||||
<wm-poster @success="posterSuccess" @successH5="successH5" :imgSrc="bgImg"
|
||||
:Referrer="'我的邀请码:'+invitationCode" :QrSrc="erweimapath" :LineType="false"></wm-poster>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import tkiQrcode from '../../components/tki-qrcode/tki-qrcode.vue';
|
||||
import wmPoster from '../components/wm-poster/wm-posterordershd.vue';
|
||||
import config from '../../common/config.js'
|
||||
export default {
|
||||
components: {
|
||||
tkiQrcode,
|
||||
wmPoster
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
customStyle: {
|
||||
width: '100%',
|
||||
height: '98rpx',
|
||||
border: 'none',
|
||||
background: 'transparent',
|
||||
color: '#ffffff',
|
||||
fontSize: '12px',
|
||||
fontWeight: '500',
|
||||
|
||||
// padding: '24px 20px',
|
||||
},
|
||||
avatar: '',
|
||||
inviteAwardId: '', //等级id
|
||||
rlueList: [], //规则列表
|
||||
getPeopNum: 0, //当前需要邀请的人数
|
||||
getUserPeopNum: 0, //还需要邀请的人数
|
||||
rlueIndex: 0, //当前等级对应的下标
|
||||
nowPeopNum: 0, //已经邀请的人数
|
||||
getPeopList: [], //已经邀请的人列表
|
||||
userName: '', //用户名称
|
||||
avatar: '', //用户头像
|
||||
erweima: '',
|
||||
modalName: '',
|
||||
bgImg: '',
|
||||
erweimapath: '',
|
||||
haibaoShow: false,
|
||||
invitationCode: 0,
|
||||
erweimapath: '',
|
||||
haibaoImgH5: '',
|
||||
qdCode: '', //渠道码
|
||||
isBack: false,
|
||||
bgImgs: '',
|
||||
tuiguang: '',
|
||||
}
|
||||
},
|
||||
onShareAppMessage(res) {
|
||||
return {
|
||||
path: '/pages/index/index?invitation=' + this.invitationCode + '&qdCode=' + this
|
||||
.qdCode, //这是为了传参 onload(data){let id=data.id;}
|
||||
title: this.tuiguang,
|
||||
imageUrl: this.bgImgs
|
||||
}
|
||||
},
|
||||
onShareTimeline(res) {
|
||||
return {
|
||||
path: '/pages/index/index?invitation=' + this.invitationCode + '&qdCode=' + this
|
||||
.qdCode, //这是为了传参 onload(data){let id=data.id;}
|
||||
title: this.tuiguang,
|
||||
imageUrl: this.bgImgs
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
// #ifdef H5
|
||||
let ua = navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger') !== -1) {
|
||||
this.isBack = false
|
||||
} else {
|
||||
this.isBack = true
|
||||
}
|
||||
// #endif
|
||||
|
||||
if (uni.getStorageSync('qdCode')) {
|
||||
this.qdCode = uni.getStorageSync('qdCode')
|
||||
}
|
||||
this.getBgImg()
|
||||
this.invitationCode = uni.getStorageSync('invitationCode')
|
||||
// h5携带邀请码去首页
|
||||
// #ifdef H5
|
||||
this.erweima = config.APIHOST2 + '/?invitation=' + this
|
||||
.invitationCode + '&qdCode=' + this.qdCode
|
||||
// #endif
|
||||
// app直接去app注册页面
|
||||
// #ifdef APP
|
||||
this.erweima = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + this
|
||||
.invitationCode + '&qdCode=' + this.qdCode
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
this.getWxEq()
|
||||
// #endif
|
||||
// #ifdef MP-TOUTIAO
|
||||
this.getTouTiao()
|
||||
// #endif
|
||||
this.getUserInfo()
|
||||
this.getActivity()
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
uni.navigateBack();
|
||||
},
|
||||
//获取头条二维码
|
||||
getTouTiao() {
|
||||
let that = this
|
||||
uni.downloadFile({
|
||||
url: config.APIHOST +
|
||||
'/app/invite/dyCreateQr?invitationCode=' + that
|
||||
.invitationCode + ',' + that.qdCode + '&page=/pages/index/index',
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
if (res.statusCode === 200) {
|
||||
that.erweimapath = res.tempFilePath
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取微信二维码
|
||||
getWxEq() {
|
||||
let that = this
|
||||
uni.downloadFile({
|
||||
url: config.APIHOST +
|
||||
'/app/invite/mpCreateQr?invitationCode=' + that
|
||||
.invitationCode + ',' + that.qdCode,
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
if (res.statusCode === 200) {
|
||||
that.erweimapath = res.tempFilePath
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err)
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: '海报制作失败,图片下载失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取背景图
|
||||
getBgImg() {
|
||||
this.$Request.get('/app/common/type/812').then(res => {
|
||||
if (res.code == 0 && res.data.value) {
|
||||
this.bgImg = res.data.value
|
||||
}
|
||||
})
|
||||
this.$u.get('app/banner/selectBannerList?classify=5').then(res => {
|
||||
if (res.code == 0) {
|
||||
this.bgImgs = res.data[0].imageUrl
|
||||
this.tuiguang = res.data[0].describes
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
showModal() {
|
||||
console.log(this.erweima, '二维码地址')
|
||||
// #ifndef H5
|
||||
if (!this.haibaoImg) {
|
||||
this.haibaoShow = true;
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
} else {
|
||||
this.modalName = 'Image';
|
||||
}
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
let ua = navigator.userAgent.toLowerCase();
|
||||
if (ua.indexOf('micromessenger') !== -1) {
|
||||
//微信浏览器
|
||||
if (!this.haibaoImg) {
|
||||
this.haibaoShow = true;
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
} else {
|
||||
this.modalName = 'Image';
|
||||
}
|
||||
} else {
|
||||
if (!this.haibaoImgH5) {
|
||||
this.haibaoShow = true;
|
||||
uni.showLoading({
|
||||
title: '海报生成中'
|
||||
});
|
||||
} else {
|
||||
uni.previewImage({
|
||||
urls: [this.haibaoImgH5],
|
||||
current: 1,
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
onSaveImg() {
|
||||
this.showModal();
|
||||
},
|
||||
posterSuccess(haibaoImg) {
|
||||
this.haibaoImg = haibaoImg;
|
||||
this.modalName = 'Image';
|
||||
uni.hideLoading();
|
||||
},
|
||||
successH5(haibaoImg) {
|
||||
this.haibaoImgH5 = haibaoImg
|
||||
uni.previewImage({
|
||||
urls: [haibaoImg],
|
||||
current: 1,
|
||||
})
|
||||
},
|
||||
hideModal() {
|
||||
this.modalName = null;
|
||||
},
|
||||
qrR(path) {
|
||||
console.log(path, '二维码回调地址')
|
||||
this.erweimapath = path;
|
||||
},
|
||||
//计算百分比
|
||||
getMathNum() {
|
||||
return (this.getPeopList.length / this.getPeopNum).toFixed(2) * 100
|
||||
},
|
||||
//获取登录用户信息
|
||||
getUserInfo() {
|
||||
this.$u.api.userinfo().then(res => {
|
||||
if (res.code == 0) {
|
||||
this.userName = res.data.userName;
|
||||
this.avatar = res.data.avatar;
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取活动等级
|
||||
getActivity() {
|
||||
this.$Request.getT('/app/invite/selectInviteAwardByUserId').then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
this.inviteAwardId = res.data.inviteAwardId
|
||||
this.getPeopNum = res.data.inviteCount
|
||||
this.getActivityrule()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取活动规则列表
|
||||
getActivityrule() {
|
||||
this.$Request.getT('/app/invite/selectInviteAwardList', {
|
||||
page: 1,
|
||||
limit: 100
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
this.rlueList = res.data.records
|
||||
this.rlueIndex = this.rlueList.findIndex(item => item.inviteAwardId === this
|
||||
.inviteAwardId)
|
||||
this.getActivityList()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取邀请人列表
|
||||
getActivityList() {
|
||||
this.$Request.getT('/app/invite/selectInviteUserListByUserId').then(res => {
|
||||
if (res.code == 0) {
|
||||
if (res.data) {
|
||||
this.nowPeopNum = res.data.length
|
||||
|
||||
this.getPeopList = res.data
|
||||
this.getUserPeopNum = Number(this.getPeopNum) - Number(res.data.length)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.assist {
|
||||
background-color: #F22947;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
page {
|
||||
background-color: #f8cfc3;
|
||||
}
|
||||
|
||||
.left_viewimage {
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
position: absolute;
|
||||
top: 60rpx;
|
||||
left: 40rpx;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.bg {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.content {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.content-title {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 78rpx;
|
||||
font-weight: bold;
|
||||
color: #FFF4E4;
|
||||
text-shadow: 0rpx 6rpx 9rpx rgba(118, 4, 17, 0.26);
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.content-titles {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 100rpx;
|
||||
font-weight: bold;
|
||||
color: #FFF4E4;
|
||||
text-shadow: 0rpx 6rpx 9rpx rgba(118, 4, 17, 0.26);
|
||||
}
|
||||
|
||||
.content-hy {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: 40rpx;
|
||||
|
||||
.content-hy-box {
|
||||
padding: 40rpx 0;
|
||||
width: 615rpx;
|
||||
height: 100%;
|
||||
background: linear-gradient(0deg, #FBEDCC 0%, #FFF7F0 98%);
|
||||
border-radius: 48rpx 48rpx 24rpx 24rpx;
|
||||
|
||||
.content-hy-box-title1 {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
color: #F22947;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
|
||||
span {
|
||||
font-size: 54rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.content-hy-box-title2 {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-top: 16rpx;
|
||||
color: #F22947;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.content-hy-box-peop {
|
||||
width: 550rpx;
|
||||
height: auto;
|
||||
background: linear-gradient(45deg, #f27e8c 0%, #fa3653 100%);
|
||||
border-radius: 24rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 20rpx;
|
||||
padding: 30rpx 0;
|
||||
}
|
||||
|
||||
.content-hy-box-peop-my {
|
||||
width: 100%;
|
||||
height: 90rpx;
|
||||
|
||||
image {
|
||||
width: 90rpx;
|
||||
height: 90rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.content-hy-box-peop-title {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin-top: 20rpx;
|
||||
color: #ffffff;
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.content-hy-box-peop-list {
|
||||
width: calc(100% - 60rpx);
|
||||
margin: 0 auto;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.content-hy-box-peop-list-i {
|
||||
width: 32%;
|
||||
flex-direction: column;
|
||||
margin-bottom: 20rpx;
|
||||
font-size: 24rpx;
|
||||
|
||||
.content-hy-box-peop-list-ia {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 50%;
|
||||
border: 1px dashed #ffffff;
|
||||
}
|
||||
|
||||
.content-hy-box-peop-list-it {
|
||||
color: #ffffff;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.content-hy-box-schedule {
|
||||
width: 550rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 26rpx;
|
||||
}
|
||||
|
||||
.content-hy-box-schedulet {
|
||||
width: 550rpx;
|
||||
margin: 0 auto;
|
||||
font-size: 22rpx;
|
||||
|
||||
span {
|
||||
color: #F22A48;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.content-hy-box-peops {
|
||||
width: 550rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 26rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
|
||||
.content-hy-box-peopss {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.content-hy-box-peopssi {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.content-hy-box-peopssis {
|
||||
width: 90%;
|
||||
// width: 300rpx;
|
||||
height: 100%;
|
||||
background-color: green;
|
||||
padding: 0 10rpx;
|
||||
background: linear-gradient(-90deg, #FCE9A4 0%, #FDFBD4 100%);
|
||||
border-radius: 25rpx;
|
||||
|
||||
image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.content-hy-box-peopssit {
|
||||
width: 80%;
|
||||
font-size: 24rpx;
|
||||
margin-left: 10rpx;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-btn {
|
||||
width: 666rpx;
|
||||
height: 98rpx;
|
||||
background: linear-gradient(-90deg, #F22C49 0%, #FF7989 100%);
|
||||
border: 1px solid #FFD4CF;
|
||||
border-radius: 49rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 50rpx;
|
||||
color: #FFFFFF;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content-lc {
|
||||
width: 666rpx;
|
||||
height: 344rpx;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 50rpx;
|
||||
|
||||
.content-lc-title {
|
||||
width: 434rpx;
|
||||
height: 80rpx;
|
||||
background: linear-gradient(90deg, #FF969B 0%, #FF345B 100%);
|
||||
border-radius: 0rpx 0rpx 50rpx 50rpx;
|
||||
margin: 0 auto;
|
||||
color: #FFFFFF;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content-lc-ls {
|
||||
width: calc(100% - 40rpx);
|
||||
margin: 0 auto;
|
||||
margin-top: 50rpx;
|
||||
|
||||
.content-lc-ls-ir {
|
||||
width: 26rpx;
|
||||
height: 16rpx;
|
||||
margin-top: 50rpx;
|
||||
}
|
||||
|
||||
.content-lc-ls-i {
|
||||
width: 100rpx;
|
||||
|
||||
image {
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.content-lc-ls-it {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 26rpx;
|
||||
color: #9C2A2A;
|
||||
font-weight: bold;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-rule {
|
||||
width: 666rpx;
|
||||
height: auto;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 24rpx;
|
||||
margin: 0 auto;
|
||||
margin-top: 50rpx;
|
||||
|
||||
.content-rule-title {
|
||||
width: 434rpx;
|
||||
height: 80rpx;
|
||||
background: linear-gradient(90deg, #FF969B 0%, #FF345B 100%);
|
||||
border-radius: 0rpx 0rpx 50rpx 50rpx;
|
||||
margin: 0 auto;
|
||||
color: #FFFFFF;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content-rule-list {
|
||||
width: 626rpx;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
margin-top: 40rpx;
|
||||
padding-bottom: 20rpx;
|
||||
|
||||
}
|
||||
|
||||
.content-rule-list-i {
|
||||
padding: 18rpx 12rpx;
|
||||
background-color: #FFF8E6;
|
||||
border-radius: 14rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
image {
|
||||
width: 106rpx;
|
||||
height: 82rpx;
|
||||
}
|
||||
|
||||
.content-rule-list-i-r {
|
||||
margin-left: 18rpx;
|
||||
|
||||
.content-rule-list-i-r-t {
|
||||
color: #9C2A2A;
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content-rule-list-i-r-b {
|
||||
font-size: 24rpx;
|
||||
color: #9C2A2A;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
265
me/balance/index.vue
Normal file
@@ -0,0 +1,265 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="jf flex align-center justify-between">
|
||||
<view class="jf-l">
|
||||
<view class="jf-l-t">
|
||||
当前余额
|
||||
</view>
|
||||
<view class="jf-l-b">
|
||||
{{amount || '0.00'}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="jf-r" @click="withdraw()">
|
||||
提现
|
||||
</view>
|
||||
</view>
|
||||
<view class="listTitle flex align-center">
|
||||
<u-icon name="order" color="#2e2f33" size="50"></u-icon>
|
||||
<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">
|
||||
<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}}
|
||||
</view>
|
||||
<view class="list-item-box-l-b">
|
||||
{{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>
|
||||
</view>
|
||||
</view>
|
||||
<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>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '../../components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
boxStyle: {
|
||||
margin: 0,
|
||||
padding: '200rpx 0 0 0',
|
||||
},
|
||||
amount: 0,
|
||||
list: [],
|
||||
status: 'loadmore',
|
||||
page: 1,
|
||||
limit: 10,
|
||||
pages: 1,
|
||||
refresherTriggered: true
|
||||
};
|
||||
},
|
||||
onLoad(options) {
|
||||
console.log(options)
|
||||
if ( options && options.amount) {
|
||||
this.amount = options.amount
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getAmount()
|
||||
this.getUserBalanceList()
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
this.getAmount()
|
||||
},
|
||||
methods: {
|
||||
|
||||
/**
|
||||
* 获取当前钱包信息
|
||||
*/
|
||||
getAmount() {
|
||||
this.$Request.getT('app/moneyDetails/selectUserMoney').then(res => {
|
||||
uni.stopPullDownRefresh()
|
||||
if (res.code === 0) {
|
||||
this.amount = res.data.amount || 0
|
||||
} else {
|
||||
this.amount = '0.00'
|
||||
}
|
||||
})
|
||||
},
|
||||
withdraw() {
|
||||
let params = {
|
||||
amount: this.amount
|
||||
}
|
||||
this.$Request.getT('app/cash/withdraw', params).then(res => {
|
||||
console.log(res)
|
||||
if (res.code === 0) {
|
||||
// this.amount = res.data.amount
|
||||
} else {
|
||||
// this.amount = '0.00'
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 获取余额明细
|
||||
*/
|
||||
getUserBalanceList() {
|
||||
let data = {
|
||||
page: this.page,
|
||||
limit: this.limit
|
||||
}
|
||||
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then(res => {
|
||||
setTimeout(() => {
|
||||
this.refresherTriggered = false
|
||||
}, 1500)
|
||||
if (res.code === 0) {
|
||||
this.pages = res.data.pages
|
||||
if (this.page < this.pages) {
|
||||
this.status = 'loadmore'
|
||||
} else {
|
||||
this.status = 'nomore'
|
||||
}
|
||||
if (this.page === 1) {
|
||||
this.list = res.data.records
|
||||
} else {
|
||||
this.list = [...this.list, ...res.data.records]
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
goNav(url) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
})
|
||||
},
|
||||
//上拉刷新
|
||||
scrollToUpper() {
|
||||
this.page = 1
|
||||
this.refresherTriggered = true
|
||||
this.getUserBalanceList()
|
||||
},
|
||||
//加载更多
|
||||
scrollToLower() {
|
||||
if (this.page < this.pages) {
|
||||
this.status = 'loading'
|
||||
this.page += 1
|
||||
this.getUserBalanceList()
|
||||
} else {
|
||||
this.status = 'nomore'
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.jf {
|
||||
width: 100%;
|
||||
height: 252rpx;
|
||||
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
|
||||
padding: 0 40rpx;
|
||||
|
||||
.jf-l-t {
|
||||
color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.jf-l-b {
|
||||
font-size: 40rpx;
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.jf-r {
|
||||
padding: 20rpx 40rpx;
|
||||
border-radius: 40rpx;
|
||||
color: #ff7581;
|
||||
background-color: #ffffff;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.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);
|
||||
padding-left: 20rpx;
|
||||
|
||||
text {
|
||||
color: #2e2f33;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
margin-left: 20rpx;
|
||||
padding-top: 8rpx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.list {
|
||||
width: 100%;
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 252rpx - 70rpx - 88rpx);
|
||||
/* #endif */
|
||||
/* #ifndef H5 */
|
||||
height: calc(100vh - 252rpx - 70rpx);
|
||||
/* #endif */
|
||||
background-color: #ffffff;
|
||||
|
||||
.list-item {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.list-item-box {
|
||||
width: calc(100% - 40rpx);
|
||||
padding: 30rpx 0;
|
||||
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
|
||||
|
||||
.list-item-box-l-t {
|
||||
color: #2e2f33;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.list-item-box-l-b {
|
||||
font-size: 24rpx;
|
||||
color: #aeb2c1;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.list-item-box-r {
|
||||
color: #2e2f33;
|
||||
font-weight: 600;
|
||||
font-size: 36rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -165,13 +165,13 @@
|
||||
console.log(key);
|
||||
if(key&&key=='isBindAliPay'){
|
||||
uni.navigateTo({
|
||||
url:'/me/yaoqing/zhifubao-tixain'
|
||||
url:'/me/invite/zhifubao'
|
||||
})
|
||||
}
|
||||
},
|
||||
toRed(){
|
||||
uni.navigateTo({
|
||||
url: '/me/yaoqing/ymg-yaoqing-tixian'
|
||||
url: '/me/invite/cashDetail'
|
||||
})
|
||||
|
||||
},
|
||||
@@ -179,7 +179,7 @@
|
||||
console.log('1');
|
||||
|
||||
uni.navigateTo({
|
||||
url: '/me/giftczgw/giftczgw?source='+this.source
|
||||
url: '/me/gift/gift?source='+this.source
|
||||
})
|
||||
},
|
||||
// 重新生成
|
||||
|
||||
96
me/collect/index.vue
Normal file
@@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="margin bg-white padding-sm radius" v-if="collectList.length" v-for="(item,index) in collectList" :key='index' @click="goDet(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 align-center justify-between">
|
||||
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold" style="font-size: 42rpx;">{{item.price}}</text></view>
|
||||
<view class="btn">马上学习</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 空数据 -->
|
||||
<empty v-if="!collectList.length"></empty>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
collectList: [],//收藏资源
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getCollectList()
|
||||
},
|
||||
methods: {
|
||||
// 获取收藏信息
|
||||
getCollectList() {
|
||||
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
|
||||
uni.stopPullDownRefresh();
|
||||
return
|
||||
}
|
||||
this.collectList = [...this.collectList, ...res.data.records]
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
uni.hideLoading()
|
||||
uni.stopPullDownRefresh();
|
||||
})
|
||||
},
|
||||
goDet(e) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getCollectList();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.getCollectList();
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.btn {
|
||||
width: 150upx;
|
||||
height: 60upx;
|
||||
background: #5074FF;
|
||||
border-radius: 30upx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="cYzTAgyqpL" :class="border" hover-class="cell-hover" :hover-stay-time="50">
|
||||
<text class="KYmugyqoee">{{title}}</text>
|
||||
<view class="mix-list-cell" :class="border" hover-class="cell-hover" :hover-stay-time="50">
|
||||
<text class="cell-tit">{{title}}</text>
|
||||
<input
|
||||
class="JCfohgyqmS"
|
||||
class="main-input"
|
||||
:value="value"
|
||||
:type="_type"
|
||||
placeholder-class="placeholder-class"
|
||||
:maxlength="maxlength"
|
||||
:placeholder="placeholder"
|
||||
:password="type==='password'&&!gyqiPDpmBTword"
|
||||
:password="type==='password'&&!showPassword"
|
||||
@input="onInput"
|
||||
:disabled="readOnly"
|
||||
/>
|
||||
@@ -18,14 +18,14 @@
|
||||
<image
|
||||
v-if="_isShowPass&&type==='password'&&!_isShowCode"
|
||||
class="img cuIcon"
|
||||
:class="gyqiPDpmBTword?'cuIcon-attention':'cuIcon-attentionforbid'"
|
||||
@tap="gyqiPDpmBT"
|
||||
:class="showPassword?'cuIcon-attention':'cuIcon-attentionforbid'"
|
||||
@tap="showPass"
|
||||
></image>
|
||||
<!-- 倒计时 -->
|
||||
<view
|
||||
v-if="_isShowCode&&!_isShowPass"
|
||||
:class="['vercode',{'vercode-run': second>0}]"
|
||||
@click="igyqPWOcGg"
|
||||
@click="setCode"
|
||||
>{{ getVerCodeSecond }}
|
||||
</view>
|
||||
</view>
|
||||
@@ -42,7 +42,7 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
gyqiPDpmBTword: false, //是否显示明文
|
||||
showPassword: false, //是否显示明文
|
||||
second: 0, //倒计时
|
||||
isRunCode: false, //是否开始倒计时
|
||||
typeList: {
|
||||
@@ -125,15 +125,15 @@
|
||||
clearInterval(countDown);//先清理一次循环,避免缓存
|
||||
},
|
||||
methods: {
|
||||
gyqiPDpmBT() {
|
||||
showPass() {
|
||||
//是否显示密码
|
||||
this.gyqiPDpmBTword = !this.gyqiPDpmBTword
|
||||
this.showPassword = !this.showPassword
|
||||
},
|
||||
onInput(e) {
|
||||
//传出值
|
||||
this.$emit('input', e.target.value)
|
||||
},
|
||||
igyqPWOcGg() {
|
||||
setCode() {
|
||||
//设置获取验证码的事件
|
||||
if (this.isRunCode) {
|
||||
//判断是否开始倒计时,避免重复点击
|
||||
@@ -208,7 +208,7 @@
|
||||
</script>
|
||||
|
||||
<style lang='scss'>
|
||||
.JCfohgyqmS {
|
||||
.main-input {
|
||||
flex: 1;
|
||||
text-align: left;
|
||||
color: black;
|
||||
@@ -217,7 +217,7 @@
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.icon .cYzTAgyqpL.b-b:after {
|
||||
.icon .mix-list-cell.b-b:after {
|
||||
left: 45px;
|
||||
}
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.cYzTAgyqpL {
|
||||
.mix-list-cell {
|
||||
/* border-radius: 16upx; */
|
||||
border-bottom: 4upx solid #F8F8F8;
|
||||
margin-top: 1px;
|
||||
@@ -260,7 +260,7 @@
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.KYmugyqoee {
|
||||
.cell-tit {
|
||||
width: 80px;
|
||||
font-size: 16px;
|
||||
color: black;
|
||||
|
||||
@@ -291,9 +291,6 @@
|
||||
uni.canvasToTempFilePath({
|
||||
canvasId: _this.CanvasID,
|
||||
quality: 1,
|
||||
fail: (err) => {
|
||||
console.log("-----", err);
|
||||
},
|
||||
complete: res => {
|
||||
console.log(res)
|
||||
if ( res.tempFilePath) {
|
||||
|
||||
301
me/course/index.vue
Normal file
@@ -0,0 +1,301 @@
|
||||
<template>
|
||||
<view class="page-box">
|
||||
<view class="order" v-if="courseList.length" v-for="(item, index) in courseList" :key="index"
|
||||
@click="goCourse(item.courseId)">
|
||||
<view class="item">
|
||||
<view class="left">
|
||||
<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 align-center justify-between">
|
||||
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold"
|
||||
style="font-size: 42rpx;">{{item.price}}</text></view>
|
||||
<view class="btn">马上学习</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="content flex-sub flex flex-direction justify-between">
|
||||
<view class="flex flex-direction justify-between flex-sub">
|
||||
<view class="title u-line-2" style="width: 380rpx;">{{ item.title }}</view>
|
||||
<view class="buttom margin-top">
|
||||
<view class="price">
|
||||
¥{{ priceInt(item.price) }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex margin-top-sm">
|
||||
<view>
|
||||
<u-avatar v-for="(ite,ind) in item.avatar" :key='ind' v-if="ind < 3" class="head" size="44" :src="ite"></u-avatar>
|
||||
</view>
|
||||
<view class="text-gray number">{{item.courseCount}}人已观看</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- 空数据 -->
|
||||
<empty v-if="!courseList.length" title="暂无资源"></empty>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import empty from '@/components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
userId: '',
|
||||
courseList: [],
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
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 => {
|
||||
if (res.code === 0) {
|
||||
res.data.list.forEach(ret => {
|
||||
if (ret.avatar) {
|
||||
ret.avatar = ret.avatar.split(',')
|
||||
}
|
||||
})
|
||||
if (this.page === 1) {
|
||||
this.courseList = res.data.list
|
||||
uni.stopPullDownRefresh();
|
||||
return
|
||||
}
|
||||
this.courseList = [...this.courseList, ...res.data.list]
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
uni.hideLoading()
|
||||
uni.stopPullDownRefresh();
|
||||
})
|
||||
},
|
||||
// 跳转资源详情
|
||||
goCourse(e) {
|
||||
console.log(e)
|
||||
let userId = uni.getStorageSync('userId')
|
||||
if (userId) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
|
||||
});
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
},
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.getCourseList();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.courseList = []
|
||||
this.getCourseList();
|
||||
},
|
||||
computed: {
|
||||
// 价格小数
|
||||
priceDecimal() {
|
||||
return val => {
|
||||
if (val !== parseInt(val)) return val.slice(-2);
|
||||
else return '00';
|
||||
};
|
||||
},
|
||||
// 价格整数
|
||||
priceInt() {
|
||||
return val => {
|
||||
// if (val !== parseInt(val)) return val.split('.')[0];
|
||||
// else return val;
|
||||
return val
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.btn {
|
||||
width: 150upx;
|
||||
height: 60upx;
|
||||
background: #5074FF;
|
||||
border-radius: 30upx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.order {
|
||||
width: 700rpx;
|
||||
background-color: #ffffff;
|
||||
margin: 20rpx auto;
|
||||
border-radius: 20rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx;
|
||||
font-size: 28rpx;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.store {
|
||||
margin: 0 10rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
color: $u-type-warning-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
|
||||
.left {
|
||||
margin-right: 20rpx;
|
||||
|
||||
image {
|
||||
width: 280rpx;
|
||||
height: 240rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
.title {
|
||||
font-size: 16px;
|
||||
line-height: 50rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.buttom {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #E6E6E6;
|
||||
|
||||
.price {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #FF3838;
|
||||
}
|
||||
|
||||
.number {
|
||||
font-size: 14px;
|
||||
color: #999999;
|
||||
line-height: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.head1 {
|
||||
position: relative;
|
||||
left: -5px;
|
||||
}
|
||||
|
||||
.head2 {
|
||||
position: relative;
|
||||
left: -10px;
|
||||
}
|
||||
|
||||
.number {
|
||||
line-height: 50rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.total {
|
||||
margin-top: 20rpx;
|
||||
text-align: right;
|
||||
font-size: 24rpx;
|
||||
|
||||
.total-price {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
margin-top: 40rpx;
|
||||
padding: 0 10rpx;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.btn {
|
||||
line-height: 52rpx;
|
||||
width: 160rpx;
|
||||
border-radius: 26rpx;
|
||||
border: 2rpx solid $u-border-color;
|
||||
font-size: 26rpx;
|
||||
text-align: center;
|
||||
color: $u-type-info-dark;
|
||||
}
|
||||
|
||||
.evaluate {
|
||||
color: $u-type-warning-dark;
|
||||
border-color: $u-type-warning-dark;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.centre {
|
||||
text-align: center;
|
||||
margin: 200rpx auto;
|
||||
font-size: 32rpx;
|
||||
|
||||
image {
|
||||
width: 360rpx;
|
||||
height: 360rpx;
|
||||
// margin-bottom: 20rpx;
|
||||
margin: 0 auto 20rpx;
|
||||
border: 1px dotted #000000;
|
||||
}
|
||||
|
||||
.tips {
|
||||
font-size: 40rpx;
|
||||
color: #5074FF;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.btn {
|
||||
margin: 80rpx auto;
|
||||
width: 600rpx;
|
||||
border-radius: 32rpx;
|
||||
line-height: 90rpx;
|
||||
color: #ffffff;
|
||||
font-size: 34rpx;
|
||||
background: #5074FF;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,573 +0,0 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="contenttop">
|
||||
<view class="flex-start">
|
||||
<input type="text" placeholder="请输入抬头名称" v-model="form.user_name" @input="onInput" />
|
||||
<text @click="popupshow = !popupshow">筛选</text>
|
||||
</view>
|
||||
<view class="contenttopbox flex-center">
|
||||
<text @click="(form.type = '-1'), (form.page = '1'), (form.user_name = ''), invoicingrecordsthatneed()" :class="form.type == '-1' ? 'classtext' : ''">待审核</text>
|
||||
<text @click="(form.type = '1'), (form.page = '1'), (form.user_name = ''), invoicingrecordsthatneed()" :class="form.type == '1' ? 'classtext' : ''">已处理</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentbox">
|
||||
<view class="contentboxitem" v-for="(item, index) in form.list" :key="index">
|
||||
<view class="contentboxitemtop flex-between">
|
||||
<text>{{ item.user_name }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票状态:</text>
|
||||
<text>{{ item.status }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票类型:</text>
|
||||
<text>{{ item.type }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票金额:</text>
|
||||
<text>{{ item.price }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>创建时间</text>
|
||||
<text>{{ item.createtime }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext flex-start" @click="previewImage(item.img)">
|
||||
<text>开票凭证</text>
|
||||
<image :src="item.img" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view v-if="item.status == '待审核'" class="contentboxitembutton flex-center">
|
||||
<view class="buttonone" @click="storereviewandinvoicing(item, 1)">通过</view>
|
||||
<view class="buttontow" @click="(clickconfirmshow = true), (no = '')">拒绝</view>
|
||||
</view>
|
||||
<u-popup :show="clickconfirmshow" mode="center" :round="10">
|
||||
<view class="popupshow">
|
||||
<view class="Box_box flex-between">
|
||||
<view>拒绝理由:</view>
|
||||
<u--textarea v-model="no" placeholder="请输入拒绝理由"></u--textarea>
|
||||
</view>
|
||||
<view class="content_bottom">
|
||||
<view class="content_bottomone" @click="storereviewandinvoicing(item, 6)">确定</view>
|
||||
<view class="content_bottomtow" @click="(clickconfirmshow = false), (no = '')">取消</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="form.status" />
|
||||
<u-popup :show="popupshow" @close="popupshow = !popupshow" :round="10">
|
||||
<view class="popupshow">
|
||||
<view class="popupshowtop">筛选</view>
|
||||
<view class="popupshowbox">
|
||||
<view class="popupshowboxtitel">按时间筛选</view>
|
||||
<view class="popupshowbox_box flex-between">
|
||||
<view class="popupshowbox_item" v-for="(item, index) in daylist" :key="index" @click="clickday(item, index)" :class="selectshow === index ? 'select' : ''">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
<view class="popupshowbox_itemzdy flex-between" v-if="showpickerbox && selectshow == 2">
|
||||
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 1)">
|
||||
{{ starttime }}
|
||||
</view>
|
||||
-
|
||||
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 2)">
|
||||
{{ endtime }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxboutton flex-between">
|
||||
<view class="boxbouttonitem" @click="reset">重置</view>
|
||||
<view class="boxbouttonitem" @click="clickdetermine">确定</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<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 {
|
||||
data() {
|
||||
return {
|
||||
clickconfirmshow: false,
|
||||
popupshow: false,
|
||||
showpicker: false, //选择时间
|
||||
showpickerbox: false, //是否显示这个盒子
|
||||
clickshowpicker: '',
|
||||
starttime: '', //起始时间
|
||||
endtime: '',
|
||||
selectshow: '', //选中
|
||||
no: '',
|
||||
form: {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
daylist: [
|
||||
{
|
||||
id: 1,
|
||||
name: '仅30天'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '近180天'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自定义'
|
||||
}
|
||||
]
|
||||
};
|
||||
},
|
||||
async onLoad(e) {
|
||||
this.invoicingrecordsthatneed();
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.form.status != 'nomore') {
|
||||
this.form.page = ++this.form.page;
|
||||
this.invoicingrecordsthatneed();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 审核
|
||||
async storereviewandinvoicing(item, i) {
|
||||
let res = await this.api.storereviewandinvoicing({
|
||||
id: item.id,
|
||||
no: this.no,
|
||||
s_type: i
|
||||
});
|
||||
this.reset();
|
||||
},
|
||||
// 查看图片
|
||||
previewImage(url) {
|
||||
uni.previewImage({
|
||||
current: 1,
|
||||
urls: [url]
|
||||
});
|
||||
},
|
||||
|
||||
// 时间
|
||||
clickday(item, index) {
|
||||
const d = new Date();
|
||||
const year = d.getFullYear();
|
||||
let month = d.getMonth() + 1;
|
||||
let date = d.getDate();
|
||||
month = month < 10 ? `0${month}` : month;
|
||||
date = date < 10 ? `0${date}` : date;
|
||||
switch (index) {
|
||||
case 0:
|
||||
this.starttime = `${month - 1 == 0 ? year - 1 : year}-${month - 1 == 0 ? 12 : month - 1}-${date}`;
|
||||
this.endtime = `${year}-${month}-${date}`;
|
||||
this.showpickerbox = false;
|
||||
break;
|
||||
case 1:
|
||||
this.starttime = `${year}-${month > 6 ? month - 6 : month + 12 - 6}-${date}`;
|
||||
this.endtime = `${year}-${month}-${date}`;
|
||||
this.showpickerbox = false;
|
||||
break;
|
||||
case 2:
|
||||
this.starttime = ''; //起始时间
|
||||
this.endtime = '';
|
||||
this.showpickerbox = true;
|
||||
break;
|
||||
}
|
||||
this.selectshow = index;
|
||||
},
|
||||
// 确定时间
|
||||
confirmpicker(e) {
|
||||
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'));
|
||||
if (this.clickshowpicker == 1) {
|
||||
this.starttime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
|
||||
}
|
||||
if (this.clickshowpicker == 2) {
|
||||
this.endtime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
|
||||
}
|
||||
this.showpicker = !this.showpicker;
|
||||
},
|
||||
// 确定
|
||||
clickdetermine() {
|
||||
if (this.starttime != '' && this.endtime != '') {
|
||||
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`;
|
||||
}
|
||||
this.popupshow = false;
|
||||
this.invoicingrecordsthatneed();
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.form = {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
};
|
||||
this.selectshow = '';
|
||||
this.starttime = '';
|
||||
this.endtime = '';
|
||||
this.popupshow = false;
|
||||
this.invoicingrecordsthatneed();
|
||||
},
|
||||
// 搜索
|
||||
onInput(e) {
|
||||
if ([...e.detail.value].length >= 2) {
|
||||
this.form.page = 1;
|
||||
this.form.list = [];
|
||||
uni.$u.debounce(this.invoicingrecordsthatneed, 500);
|
||||
}
|
||||
},
|
||||
// 列表
|
||||
async invoicingrecordsthatneed() {
|
||||
this.form.status = 'loading';
|
||||
let res = await this.api.invoicingrecordsthatneed({
|
||||
user_name: this.form.user_name,
|
||||
time: this.form.time,
|
||||
page: this.form.page,
|
||||
status: this.form.type
|
||||
});
|
||||
if (this.form.page == 1 && res.data.length == 0) {
|
||||
this.form.list = res.data;
|
||||
this.form.status = 'nomore';
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data;
|
||||
} else {
|
||||
this.form.list = [...this.form.list, ...res.data];
|
||||
}
|
||||
if (res.data.length < 10) this.form.status = 'nomore';
|
||||
else this.form.status = 'loadmore';
|
||||
}, 500);
|
||||
}
|
||||
},
|
||||
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;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
|
||||
.contenttop {
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
padding: 48rpx 28rpx 0rpx 28rpx;
|
||||
|
||||
.flex-start {
|
||||
input {
|
||||
padding: 18rpx 24rpx;
|
||||
height: 64rpx;
|
||||
background: #f6f6f6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
flex: auto;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
text {
|
||||
padding: 0 0 0 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
.contenttopbox {
|
||||
text {
|
||||
width: 33%;
|
||||
text-align: center;
|
||||
padding: 32rpx 0 24rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.classtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
width: 30%;
|
||||
border-bottom: 5rpx solid #318afe;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
content: '';
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
padding: 0 28rpx;
|
||||
|
||||
.popupshowtop {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.popupshowbox {
|
||||
.popupshowboxtitel {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.popupshowbox_box {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 176rpx;
|
||||
height: 56rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 176rpx;
|
||||
}
|
||||
|
||||
.select {
|
||||
border: 1px solid #1b00ff;
|
||||
color: #0600ff;
|
||||
}
|
||||
|
||||
.popupshowbox_itemzdy {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 40%;
|
||||
height: 56rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxboutton {
|
||||
margin: 400rpx 0 50rpx 0;
|
||||
|
||||
.boxbouttonitem {
|
||||
width: 330rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 50rpx 50rpx 50rpx 50rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(1) {
|
||||
border: 2rpx solid #d9d9d9;
|
||||
background: #ffffff;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(2) {
|
||||
background: #2f87fd;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contentbox {
|
||||
width: 100%;
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentboxitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentboxitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #f39d52;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitemtext {
|
||||
margin-top: 24rpx;
|
||||
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
image {
|
||||
margin-left: 24rpx;
|
||||
width: 158rpx;
|
||||
height: 94rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitembutton {
|
||||
margin-top: 32rpx;
|
||||
|
||||
.buttonone {
|
||||
width: 244rpx;
|
||||
height: 72rpx;
|
||||
background: #2f87fd;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.buttontow {
|
||||
margin-left: 32rpx;
|
||||
width: 244rpx;
|
||||
height: 72rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #707070;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
width: 600rpx;
|
||||
border-radius: 16rpx;
|
||||
|
||||
.Box_box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
text-align: right;
|
||||
padding: 24rpx;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
font-size: 28rpx;
|
||||
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.content_bottom {
|
||||
margin: 70rpx auto 60rpx auto;
|
||||
width: 70%;
|
||||
height: 84rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.content_bottomone {
|
||||
padding: 16rpx 60rpx;
|
||||
background: #288efb;
|
||||
border-radius: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content_bottomtow {
|
||||
padding: 16rpx 60rpx;
|
||||
background: red;
|
||||
border-radius: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 519 KiB |
|
Before Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 223 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 152 KiB |
@@ -1,11 +1,10 @@
|
||||
<template>
|
||||
<view class="subNvueweight">
|
||||
<view class="detail">
|
||||
<list :bounce="false" :loadmoreoffset="wHeight*3" :show-scrollbar="false" ref="listBox" :pagingEnabled="true"
|
||||
:scrollable="true">
|
||||
<image src="components/czgdetail1 (5).JPG" mode=""></image>
|
||||
<cell v-for="(item,i) in videoList" :key="i" :ref="'list'+item.courseDetailsId">
|
||||
<view class="subNvueswipers-items" @longpress="openBs()" @disappear="disappear(item.courseDetailsId,i)"
|
||||
@appear="czgwappear(item.courseDetailsId,i)" :style="boxStyle">
|
||||
<view class="swipers-items" @longpress="openBs()" @disappear="disappear(item.courseDetailsId,i)"
|
||||
@appear="appear(item.courseDetailsId,i)" :style="boxStyle">
|
||||
<!-- 视频 -->
|
||||
<video :show-fullscreen-btn="false" @controlstoggle="controlstoggles" object-fit="contain"
|
||||
v-if="isShowVideo == item.courseDetailsId && item.videoUrl" :play-strategy="2"
|
||||
@@ -13,67 +12,67 @@
|
||||
@timeupdate="timeupdate" @play="videoPlay('myVideo'+item.courseDetailsId, item.courseDetailsId)"
|
||||
@ended="ended" :enable-progress-gesture="false" :poster="item.titleImg"
|
||||
:ref="'myVideo'+item.courseDetailsId" :id="'myVideo'+item.courseDetailsId" :src="item.videoUrl"
|
||||
:autoplay="item.autoPlay" class="detailswipers-items-video"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="detailswipers-items-imgsbg"
|
||||
:autoplay="item.autoPlay" class="swipers-items-video"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="swipers-items-imgsbg"
|
||||
mode="aspectFill">
|
||||
</image>
|
||||
<!-- 返回图标 -->
|
||||
<image v-if="showBack" src="../static/nvueIcon/backs.png" @click="goBack()"
|
||||
class="detailswipers-items-back" mode="">
|
||||
class="swipers-items-back" mode="">
|
||||
</image>
|
||||
<!-- 右边操作 -->
|
||||
<view class="detailswipers-items-right" :style="rightTop" v-if="showControls">
|
||||
<view class="detailswipers-items-right-item">
|
||||
<view class="detailswipers-items-right-item-img" @click.stop="dianzan(item)">
|
||||
<image v-if="item.isGood!=0" class="detailswipers-items-right-item-imgs"
|
||||
<view class="swipers-items-right" :style="rightTop" v-if="showControls">
|
||||
<view class="swipers-items-right-item">
|
||||
<view class="swipers-items-right-item-img" @click.stop="dianzan(item)">
|
||||
<image v-if="item.isGood!=0" class="swipers-items-right-item-imgs"
|
||||
src="../static/nvueIcon/myLove_.png" mode=""></image>
|
||||
<image v-else class="vswipers-items-right-item-imgs" src="../static/nvueIcon/myLove.png"
|
||||
<image v-else class="swipers-items-right-item-imgs" src="../static/nvueIcon/myLove.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
{{item.goodNum}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailswipers-items-right-item" @click="share()">
|
||||
<view class="detailswipers-items-right-item-img">
|
||||
<image class="detailswipers-items-right-item-imgs" src="../../static/images/me/share.png"
|
||||
<view class="swipers-items-right-item" @click="share()">
|
||||
<view class="swipers-items-right-item-img">
|
||||
<image class="swipers-items-right-item-imgs" src="../../static/images/me/share.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
分享
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="detailswipers-items-right-item" v-if="isCollect">
|
||||
<view class="detailswipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="detailswipers-items-right-item-imgs" src="../../static/images/me/shuqian_s.png"
|
||||
<view class="swipers-items-right-item" v-if="isCollect">
|
||||
<view class="swipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="swipers-items-right-item-imgs" src="../../static/images/me/shuqian_s.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
已追
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailswipers-items-right-item" v-else>
|
||||
<view class="detailswipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="detailswipers-items-right-item-imgs" src="../../static/images/me/shuqian.png"
|
||||
<view class="swipers-items-right-item" v-else>
|
||||
<view class="swipers-items-right-item-img" @click.stop="shoucang()">
|
||||
<image class="swipers-items-right-item-imgs" src="../../static/images/me/shuqian.png"
|
||||
mode=""></image>
|
||||
</view>
|
||||
<view class="detaswipers-items-right-item-txt">
|
||||
<text class="detaswipers-items-right-item-txts">
|
||||
<view class="swipers-items-right-item-txt">
|
||||
<text class="swipers-items-right-item-txts">
|
||||
追剧
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 底部视频信息 -->
|
||||
<view class="detaswipers-items-btom" v-if="showControls">
|
||||
<view class="detaswipers-items-btom-box">
|
||||
<view class="swipers-items-btom" v-if="showControls">
|
||||
<view class="swipers-items-btom-box">
|
||||
<!-- 标题 -->
|
||||
<view class="swipers-items-btom-box-title">
|
||||
<text class="swipers-items-btom-box-titles">
|
||||
@@ -93,7 +92,6 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<image src="components/czgdetail1 (8).JPG" mode=""></image>
|
||||
</cell>
|
||||
</list>
|
||||
<!-- 选集弹窗 -->
|
||||
@@ -163,7 +161,7 @@
|
||||
{{countPrice}}元解锁单集视频
|
||||
</text>
|
||||
</view>
|
||||
<!-- <view class="pay-content-item" @click="goNav('/pages/me/vip/index')" v-if="isVips == '是'">
|
||||
<!-- <view class="pay-content-item" @click="goNav('/pages/iSiAnfghCC/vip/index')" v-if="isVips == '是'">
|
||||
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<text class="pay-content-items">
|
||||
开通会员
|
||||
@@ -316,9 +314,6 @@
|
||||
const listDom = uni.requireNativePlugin('dom')
|
||||
import config from '../../common/config.js'
|
||||
import httpsRequest from '../../common/httpRequest.js'
|
||||
import one from './components/czgdetail1 (11).JPG'
|
||||
import tow from './components/czgdetail1 (14).JPG'
|
||||
import there from './components/czgdetail1 (15).JPG'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -598,7 +593,7 @@
|
||||
}
|
||||
|
||||
},
|
||||
czgwappear(e, index) {
|
||||
appear(e, index) {
|
||||
this.courseDetailsId = e;
|
||||
// 清除已经设置的定时器
|
||||
clearTimeout(this.appearTimeout);
|
||||
@@ -608,6 +603,8 @@
|
||||
// 实际要执行的操作
|
||||
console.log('页面出现在视图中');
|
||||
// 这里可以加入你需要执行的代码
|
||||
console.log("appear==="+e)
|
||||
console.log("appear==="+index)
|
||||
// this.courseDetailsId = e
|
||||
this.current = index
|
||||
this.showControls = true
|
||||
@@ -638,7 +635,7 @@
|
||||
// let numIdCurr = this.videoList[index].courseDetailsId;
|
||||
// if (this.videoList[index].videoUrl) { //已经购买可直接播放
|
||||
// // 播放时记录当前播放的id
|
||||
// this.czgwappear(numIdCurr, index)
|
||||
// this.appear(numIdCurr, index)
|
||||
// this.videoContextId = 'myVideo' + numIdCurr;
|
||||
// this.videoContext = uni.createVideoContext(this.videoContextId, this);
|
||||
// console.log('走更新了')
|
||||
@@ -801,7 +798,7 @@
|
||||
// plus.runtime.openURL(ret.data.h5Url)
|
||||
|
||||
uni.navigateTo({
|
||||
url: '/pages/pays/pays?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
|
||||
url: '/pages/itkXJghyII/hLUkghGDXH?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
|
||||
});
|
||||
|
||||
// uni.navigateTo({
|
||||
@@ -999,7 +996,7 @@
|
||||
if (uni.getStorageSync('qdCode')) {
|
||||
qdCode = uni.getStorageSync('qdCode')
|
||||
}
|
||||
let url = config.APIHOST2 + '/pages/login/registerApp?invitation=' + invitationCode + '&qdCode=' + qdCode
|
||||
let url = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + invitationCode + '&qdCode=' + qdCode
|
||||
// this.setShareNum()
|
||||
uni.setClipboardData({
|
||||
data: url,
|
||||
@@ -1018,7 +1015,7 @@
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/login/login'
|
||||
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1033,7 +1030,7 @@
|
||||
this.submitPay(type)
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -1161,7 +1158,7 @@
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1188,7 +1185,7 @@
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1320,7 +1317,7 @@
|
||||
console.log(res)
|
||||
if (res.count >= 1) {
|
||||
uni.navigateTo({
|
||||
url: '/me/VjgyqAzklr/VjgyqAzklr'
|
||||
url: '/me/choujiang/choujiang'
|
||||
})
|
||||
} else {
|
||||
this.videoContext.play();
|
||||
@@ -1354,7 +1351,7 @@
|
||||
console.log('转盘抽奖次数')
|
||||
if (res.count >= 1) {
|
||||
uni.navigateTo({
|
||||
url: '/me/VjgyqAzklr/VjgyqAzklr'
|
||||
url: '/me/choujiang/choujiang'
|
||||
})
|
||||
} else {
|
||||
this.videoContext.play();
|
||||
@@ -1830,34 +1827,34 @@
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.detailswipers {
|
||||
.swipers {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.detailswipers-item {
|
||||
.swipers-item {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.subNvueweightswipers-items {
|
||||
.swipers-items {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.detailswipers-items-video {
|
||||
.swipers-items-video {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.detailswipers-items-imgsbg {
|
||||
.swipers-items-imgsbg {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.detailswipers-items-back {
|
||||
.swipers-items-back {
|
||||
position: absolute;
|
||||
left: 40rpx;
|
||||
top: 120rpx;
|
||||
@@ -1866,40 +1863,40 @@
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.detailswipers-items-right {
|
||||
.swipers-items-right {
|
||||
position: absolute;
|
||||
width: 60rpx;
|
||||
top: 100rpx;
|
||||
right: 20rpx;
|
||||
}
|
||||
|
||||
.detailswipers-items-right-item {
|
||||
.swipers-items-right-item {
|
||||
width: 60rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.detailswipers-items-right-item-img {
|
||||
.swipers-items-right-item-img {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.detailswipers-items-right-item-imgs {
|
||||
.swipers-items-right-item-imgs {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.detaswipers-items-right-item-txt {
|
||||
.swipers-items-right-item-txt {
|
||||
width: 60rpx;
|
||||
}
|
||||
|
||||
.detaswipers-items-right-item-txts {
|
||||
.swipers-items-right-item-txts {
|
||||
width: 60rpx;
|
||||
color: #ffffff;
|
||||
font-size: 24rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.detaswipers-items-btom {
|
||||
.swipers-items-btom {
|
||||
width: 750rpx;
|
||||
let: 0;
|
||||
position: absolute;
|
||||
@@ -1908,7 +1905,7 @@
|
||||
/* transition-duration: 1s, */
|
||||
}
|
||||
|
||||
.detaswipers-items-btom-box {
|
||||
.swipers-items-btom-box {
|
||||
width: 710rpx;
|
||||
}
|
||||
|
||||
|
||||
3930
me/detail/detail.vue
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<view class="subNvuedetail" :style="{paddingBottom:paddingBottom}">
|
||||
<swiper @longpress="openBs()" :circular="true" class="swipersas" @change="change" :current="current"
|
||||
<view class="detail" :style="{paddingBottom:paddingBottom}">
|
||||
<swiper @longpress="openBs()" :circular="true" class="swipers" @change="change" :current="current"
|
||||
:vertical="true" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="300">
|
||||
<swiper-item class="swipersasda" v-for="(item,index) in swiperList" :key="item.courseDetailsId">
|
||||
<view class="swipersasts" v-if="current == index">
|
||||
<swiper-item class="swipers-item" v-for="(item,index) in swiperList" :key="item.courseDetailsId">
|
||||
<view class="swipers-items" v-if="current == index">
|
||||
<!-- 视频 -->
|
||||
<video :show-fullscreen-btn="false" @controlstoggle="controlStoggles" object-fit="contain"
|
||||
v-if="current === index && item.videoUrl" :play-strategy="2" :show-loading="true"
|
||||
@@ -11,8 +11,8 @@
|
||||
@timeupdate="timeupdate" @play="videoPlay('myVideo'+item.courseDetailsId, item.courseDetailsId)"
|
||||
:enable-progress-gesture="false" :poster="item.titleImg" :ref="'myVideo'+item.courseDetailsId"
|
||||
:id="'myVideo'+item.courseDetailsId" :src="item.videoUrl" :autoplay="item.autoPlay"
|
||||
class="swipersastqw"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="swipers-items-imgsbgwq"
|
||||
class="swipers-items-video"></video>
|
||||
<image v-else @click="!item.videoUrl?openPay():''" :src="item.titleImg" class="swipers-items-imgsbg"
|
||||
mode="aspectFill">
|
||||
</image>
|
||||
<!-- 返回图标 -->
|
||||
@@ -103,7 +103,7 @@
|
||||
<text class="list-title-lsn">共{{meunList.length}}集</text>
|
||||
</view>
|
||||
<view class="list-title-r" @click="closeList()">
|
||||
<image class="list-title-rsczg" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
<image class="list-title-rs" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="list-content">
|
||||
@@ -140,27 +140,27 @@
|
||||
</text>
|
||||
</view>
|
||||
<view class="list-title-r" @click="closePay()">
|
||||
<image class="list-title-rsczg" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
<image class="list-title-rs" src="../../static/images/me/closeIconss.png" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <text class=""
|
||||
<text class=""
|
||||
style="font-size: 24rpx;color: #999;padding: 0 34rpx;margin: 20rpx 0; auto;text-align: left;width: 100%;">
|
||||
{{getRedEnvelopeTips}}
|
||||
</text> -->
|
||||
</text>
|
||||
<view class="pay-content">
|
||||
<view class="pay-content-itemczg" @click="payVideo(1)">
|
||||
<image class="pay-content-item-iconczg" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<view class="pay-content-item" @click="payVideo(1)">
|
||||
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<text class="pay-content-items">
|
||||
{{countPrice*scale}}金币解锁整部视频
|
||||
</text>
|
||||
</view>
|
||||
<!-- <view v-if="isShowMoneyPay" class="pay-content-itemczg" @click="payVideo(2)">
|
||||
<view v-if="isShowMoneyPay" class="pay-content-item" @click="payVideo(2)">
|
||||
<text class="pay-content-items">
|
||||
{{countPrice}}元解锁单集视频
|
||||
</text>
|
||||
</view> -->
|
||||
<!-- <view class="pay-content-itemczg" @click="goNav('/pages/me/vip/index')" v-if="isVips == '是'">
|
||||
<image class="pay-content-item-iconczg" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
</view>
|
||||
<!-- <view class="pay-content-item" @click="goNav('/pages/iSiAnfghCC/vip/index')" v-if="isVips == '是'">
|
||||
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
|
||||
<text class="pay-content-items">
|
||||
开通会员
|
||||
</text>
|
||||
@@ -492,7 +492,7 @@
|
||||
|
||||
console.log('this bottom padding = ' + this.paddingBottom);
|
||||
|
||||
httpsRequest.getT("/app/common/type/919", {}).then(res => {
|
||||
httpsRequest.getT("app/common/type/919", {}).then(res => {
|
||||
if (res.code === 0) {
|
||||
const sysInfo = uni.getSystemInfoSync();
|
||||
let isIos = sysInfo.platform == 'ios'
|
||||
@@ -720,7 +720,7 @@
|
||||
httpsRequest.getT("/app/wuyou/payOrder/" + this.ordersId + '?payType=' + paytype, {}).then(ret => {
|
||||
// plus.runtime.openURL(ret.data.h5Url)
|
||||
uni.navigateTo({
|
||||
url: '/pages/pays/pays?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
|
||||
url: '/pages/itkXJghyII/hLUkghGDXH?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
|
||||
});
|
||||
// this.isCheckPay(ret.code, 'wxpay', JSON.stringify(ret.data));
|
||||
});
|
||||
@@ -920,7 +920,7 @@
|
||||
if (uni.getStorageSync('qdCode')) {
|
||||
qdCode = uni.getStorageSync('qdCode')
|
||||
}
|
||||
let url = config.APIHOST2 + '/pages/login/registerApp?invitation=' + invitationCode + '&qdCode=' + qdCode
|
||||
let url = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + invitationCode + '&qdCode=' + qdCode
|
||||
uni.setClipboardData({
|
||||
data: url,
|
||||
success(res) {
|
||||
@@ -949,7 +949,7 @@
|
||||
this.submitPay(type)
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -1117,7 +1117,7 @@
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1144,7 +1144,7 @@
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: "/pages/login/login"
|
||||
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1730,35 +1730,35 @@
|
||||
border-radius: 6rpx;
|
||||
}
|
||||
|
||||
.subNvuedetail {
|
||||
.detail {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.swipersas {
|
||||
.swipers {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipersasda {
|
||||
.swipers-item {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipersasts {
|
||||
.swipers-items {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.swipersastqw {
|
||||
.swipers-items-video {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.swipers-items-imgsbgwq {
|
||||
.swipers-items-imgsbg {
|
||||
width: 750rpx;
|
||||
flex: 1;
|
||||
}
|
||||
@@ -1891,7 +1891,7 @@
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.list-title-rsczg {
|
||||
.list-title-rs {
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
}
|
||||
@@ -1988,7 +1988,7 @@
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.pay-content-itemczg {
|
||||
.pay-content-item {
|
||||
width: 710rpx;
|
||||
height: 92rpx;
|
||||
border-radius: 20rpx;
|
||||
@@ -1999,7 +1999,7 @@
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.pay-content-item-iconczg {
|
||||
.pay-content-item-icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 10rpx;
|
||||
|
||||
15
me/detail/subNvue/pay.nvue
Normal file
@@ -0,0 +1,15 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view src="http://baidu.com/"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.bg-fff{
|
||||
width: 750rpx;
|
||||
height: 300rpx;background-color: #fff;
|
||||
}
|
||||
</style>
|
||||
@@ -1,14 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view src="https://fanyi.baidu.com/mtpe-individual/multimodal"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import one from '../components/czgdetail1 (1).JPG'
|
||||
import tow from '../components/czgdetail1 (2).JPG'
|
||||
import there from '../components/czgdetail1 (3).JPG'
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -1,16 +1,14 @@
|
||||
<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>
|
||||
@@ -18,96 +16,81 @@
|
||||
</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 {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
collectList: [] //收藏资源
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
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;
|
||||
uni.stopPullDownRefresh();
|
||||
return;
|
||||
}
|
||||
this.collectList = [...this.collectList, ...res.data.records];
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
import empty from '@/components/empty.vue'
|
||||
export default {
|
||||
components: {
|
||||
empty
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
collectList: [],//收藏资源
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.scJRgyqScE()
|
||||
},
|
||||
methods: {
|
||||
// 获取收藏信息
|
||||
scJRgyqScE() {
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
})
|
||||
let data = {
|
||||
userId: this.userId,
|
||||
page: this.page,
|
||||
limit: this.limit,
|
||||
}
|
||||
uni.hideLoading();
|
||||
uni.stopPullDownRefresh();
|
||||
});
|
||||
this.$u.api.collectList(data).then(res => {
|
||||
if(res.code === 0) {
|
||||
if( this.page === 1) {
|
||||
this.collectList = res.data.records
|
||||
uni.stopPullDownRefresh();
|
||||
return
|
||||
}
|
||||
this.collectList = [...this.collectList, ...res.data.records]
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
duration: 1000,
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
uni.hideLoading()
|
||||
uni.stopPullDownRefresh();
|
||||
})
|
||||
},
|
||||
BfgyqOmGub(e) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
|
||||
})
|
||||
}
|
||||
},
|
||||
BfgyqOmGub(e) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/course/courseDet?id=' + e
|
||||
});
|
||||
onReachBottom: function() {
|
||||
this.page = this.page + 1;
|
||||
this.scJRgyqScE();
|
||||
},
|
||||
GcrgyqsLlpITivXemXYq() {
|
||||
let HzClMtDVxgyqnSGAZdnx = 'YPaavBgyqVuuJXWPIHGB';
|
||||
HzClMtDVxgyqnSGAZdnx += 'SGgyqaIDNmppZzTyRSwT';
|
||||
onPullDownRefresh: function() {
|
||||
this.page = 1;
|
||||
this.scJRgyqScE();
|
||||
},
|
||||
irtvgyqvTIksTNOhoJfy() {
|
||||
let GVmgyqyDOkTkfOwtkwZI = 'ebRIgyqMyLABUAweUCTb';
|
||||
GVmgyqyDOkTkfOwtkwZI += 'kApJeEHJCwdYxgyqtBiP';
|
||||
},
|
||||
BMoJcMfaxYmiYqfgyqCw() {
|
||||
let GKrgyqdaSTRzoGCoktuW = 'eYJJRPtPeuqYAigyqEeu';
|
||||
GKrgyqdaSTRzoGCoktuW += 'TgyqPdCmWXXQctgSvKmo';
|
||||
}
|
||||
},
|
||||
onReachBottom: function () {
|
||||
this.page = this.page + 1;
|
||||
this.scJRgyqScE();
|
||||
},
|
||||
onPullDownRefresh: function () {
|
||||
this.page = 1;
|
||||
this.scJRgyqScE();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.JrqPDigyqC {
|
||||
width: 150upx;
|
||||
height: 60upx;
|
||||
background: #5074ff;
|
||||
border-radius: 30upx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.JrqPDigyqC {
|
||||
width: 150upx;
|
||||
height: 60upx;
|
||||
background: #5074FF;
|
||||
border-radius: 30upx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,134 +1,126 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<view class="feedback-titleczg">
|
||||
<view class="feedback-title">
|
||||
<text>问题和意见</text>
|
||||
<text @tap="czgwchooseMsg">快速键入</text>
|
||||
<text @tap="chooseMsg">快速键入</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">
|
||||
<view class="feedback-title">
|
||||
<text>QQ/邮箱</text>
|
||||
</view>
|
||||
<view class="feedback-bodyczg">
|
||||
<input class="feedback-inputczg" v-model="sendDate.contact" placeholder="方便我们联系你 " />
|
||||
<view class="feedback-body">
|
||||
<input class="feedback-input" v-model="sendDate.contact" placeholder="方便我们联系你 " />
|
||||
</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>
|
||||
<button style="" class="feedback-submit" @tap="send">提交</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import langeone from './components/lang1.jpg';
|
||||
import langetow from './components/lang2.jpg';
|
||||
import langethere from './components/lange4.jpg';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
msgContents: ['界面显示错乱', '启动缓慢,卡出翔了', 'UI无法直视,丑哭了', '偶发性崩溃'],
|
||||
stars: [1, 2, 3, 4, 5],
|
||||
imageList: [],
|
||||
sendDate: {
|
||||
score: 5,
|
||||
content: '',
|
||||
contact: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
let deviceInfo = {
|
||||
appid: plus.runtime.appid,
|
||||
imei: plus.device.imei, //设备标识
|
||||
p: plus.os.name === 'Android' ? 'a' : 'i', //平台类型,i表示iOS平台,a表示Android平台。
|
||||
md: plus.device.model, //设备型号
|
||||
app_version: plus.runtime.version,
|
||||
plus_version: plus.runtime.innerVersion, //基座版本号
|
||||
os: plus.os.version,
|
||||
net: '' + plus.networkinfo.getCurrentType()
|
||||
};
|
||||
this.sendDate = Object.assign(deviceInfo, this.sendDate);
|
||||
},
|
||||
methods: {
|
||||
close(e) {
|
||||
this.imageList.splice(e, 1);
|
||||
},
|
||||
czgwchooseMsg() {
|
||||
//快速输入
|
||||
uni.showActionSheet({
|
||||
itemList: this.msgContents,
|
||||
success: (res) => {
|
||||
this.sendDate.content = this.msgContents[res.tapIndex];
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
msgContents: ['界面显示错乱', '启动缓慢,卡出翔了', 'UI无法直视,丑哭了', '偶发性崩溃'],
|
||||
stars: [1, 2, 3, 4, 5],
|
||||
imageList: [],
|
||||
sendDate: {
|
||||
score: 5,
|
||||
content: '',
|
||||
contact: ''
|
||||
}
|
||||
});
|
||||
};
|
||||
},
|
||||
chooseImg() {
|
||||
//选择图片
|
||||
uni.chooseImage({
|
||||
sourceType: ['camera', 'album'],
|
||||
sizeType: 'compressed',
|
||||
count: 8 - this.imageList.length,
|
||||
success: (res) => {
|
||||
this.imageList = this.imageList.concat(res.tempFilePaths);
|
||||
onLoad() {
|
||||
let deviceInfo = {
|
||||
appid: plus.runtime.appid,
|
||||
imei: plus.device.imei, //设备标识
|
||||
p: plus.os.name === 'Android' ? 'a' : 'i', //平台类型,i表示iOS平台,a表示Android平台。
|
||||
md: plus.device.model, //设备型号
|
||||
app_version: plus.runtime.version,
|
||||
plus_version: plus.runtime.innerVersion, //基座版本号
|
||||
os: plus.os.version,
|
||||
net: '' + plus.networkinfo.getCurrentType()
|
||||
};
|
||||
this.sendDate = Object.assign(deviceInfo, this.sendDate);
|
||||
},
|
||||
methods: {
|
||||
close(e) {
|
||||
this.imageList.splice(e, 1);
|
||||
},
|
||||
chooseMsg() {
|
||||
//快速输入
|
||||
uni.showActionSheet({
|
||||
itemList: this.msgContents,
|
||||
success: res => {
|
||||
this.sendDate.content = this.msgContents[res.tapIndex];
|
||||
}
|
||||
});
|
||||
},
|
||||
chooseImg() {
|
||||
//选择图片
|
||||
uni.chooseImage({
|
||||
sourceType: ['camera', 'album'],
|
||||
sizeType: 'compressed',
|
||||
count: 8 - this.imageList.length,
|
||||
success: res => {
|
||||
this.imageList = this.imageList.concat(res.tempFilePaths);
|
||||
}
|
||||
});
|
||||
},
|
||||
chooseStar(e) {
|
||||
//点击评星
|
||||
this.sendDate.score = e;
|
||||
},
|
||||
previewImage() {
|
||||
//预览图片
|
||||
uni.previewImage({
|
||||
urls: this.imageList
|
||||
});
|
||||
},
|
||||
send() {
|
||||
//发送反馈
|
||||
console.log(JSON.stringify(this.sendDate));
|
||||
|
||||
if (!this.sendDate.content) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请输入反馈内容'
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
},
|
||||
chooseStar(e) {
|
||||
//点击评星
|
||||
this.sendDate.score = e;
|
||||
},
|
||||
previewImage() {
|
||||
//预览图片
|
||||
uni.previewImage({
|
||||
urls: this.imageList
|
||||
});
|
||||
},
|
||||
czgwsend() {
|
||||
//发送反馈
|
||||
console.log(JSON.stringify(this.sendDate));
|
||||
// if (this.$queue.getChatSearchKeys(this.sendDate.content)) {
|
||||
// uni.showToast({
|
||||
// title: "输入内容带有非法关键字请重新输入",
|
||||
// mask: false,
|
||||
// duration: 1500,
|
||||
// icon: "none"
|
||||
// });
|
||||
|
||||
if (!this.sendDate.content) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请输入反馈内容'
|
||||
});
|
||||
return;
|
||||
}
|
||||
// if (this.$queue.getChatSearchKeys(this.sendDate.content)) {
|
||||
// uni.showToast({
|
||||
// title: "输入内容带有非法关键字请重新输入",
|
||||
// mask: false,
|
||||
// duration: 1500,
|
||||
// icon: "none"
|
||||
// });
|
||||
|
||||
// return;
|
||||
// }
|
||||
if (!this.sendDate.contact) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请填写QQ或邮箱'
|
||||
});
|
||||
return;
|
||||
}
|
||||
// this.$queue.showLoading('加载中...');
|
||||
uni.showLoading({
|
||||
title: '加载中...'
|
||||
});
|
||||
this.$u
|
||||
.post('/app/message/insertMessage', {
|
||||
// return;
|
||||
// }
|
||||
if (!this.sendDate.contact) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请填写QQ或邮箱'
|
||||
});
|
||||
return;
|
||||
}
|
||||
// this.$queue.showLoading('加载中...');
|
||||
uni.showLoading({
|
||||
title: '加载中...'
|
||||
})
|
||||
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 {
|
||||
@@ -140,84 +132,77 @@ export default {
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
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-family: uniicons;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf') format('truetype');
|
||||
}
|
||||
@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 {
|
||||
font-size: 28upx;
|
||||
}
|
||||
view {
|
||||
font-size: 28upx;
|
||||
}
|
||||
|
||||
/*问题反馈*/
|
||||
.feedback-titleczg {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 20upx;
|
||||
color: #8f8f94;
|
||||
font-size: 28upx;
|
||||
}
|
||||
|
||||
.feedback-star-view.feedback-titleczg {
|
||||
justify-content: flex-start;
|
||||
margin: 0;
|
||||
}
|
||||
/*问题反馈*/
|
||||
.feedback-title {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 20upx;
|
||||
color: #8f8f94;
|
||||
font-size: 28upx;
|
||||
}
|
||||
|
||||
.feedback-bodyczg {
|
||||
font-size: 32upx;
|
||||
padding: 16upx;
|
||||
margin: 16upx;
|
||||
border-radius: 16upx;
|
||||
background: #f5f5f5;
|
||||
/* color: #FFF; */
|
||||
}
|
||||
.feedback-star-view.feedback-title {
|
||||
justify-content: flex-start;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.feedback-textare {
|
||||
height: 200upx;
|
||||
font-size: 32upx;
|
||||
line-height: 50upx;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
// padding: 20upx 30upx 0;
|
||||
}
|
||||
.feedback-body {
|
||||
|
||||
.feedback-inputczg {
|
||||
font-size: 32upx;
|
||||
height: 60upx;
|
||||
// padding: 15upx 20upx;
|
||||
line-height: 60upx;
|
||||
}
|
||||
font-size: 32upx;
|
||||
padding: 16upx;
|
||||
margin: 16upx;
|
||||
border-radius: 16upx;
|
||||
background: #F5F5F5;
|
||||
/* color: #FFF; */
|
||||
}
|
||||
|
||||
.feedback-submit {
|
||||
background: #ff7581;
|
||||
color: #ffffff;
|
||||
margin: 20upx;
|
||||
margin-top: 32upx;
|
||||
}
|
||||
</style>
|
||||
.feedback-textare {
|
||||
height: 200upx;
|
||||
font-size: 32upx;
|
||||
line-height: 50upx;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
// padding: 20upx 30upx 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.feedback-input {
|
||||
font-size: 32upx;
|
||||
height: 60upx;
|
||||
// padding: 15upx 20upx;
|
||||
line-height: 60upx;
|
||||
}
|
||||
|
||||
|
||||
.feedback-submit {
|
||||
background: #ff7581;
|
||||
color: #ffffff;
|
||||
margin: 20upx;
|
||||
margin-top: 32upx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,747 +0,0 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="contenttop">
|
||||
<view class="flex-start">
|
||||
<input type="text" placeholder="请输入抬头名称" v-model="form.user_name" @input="onInput" />
|
||||
<text @click="(popupshow = !popupshow), 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>
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentbox">
|
||||
<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>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票状态:</text>
|
||||
<text>{{ item.status }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票类型:</text>
|
||||
<text>{{ item.type }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票金额:</text>
|
||||
<text>{{ item.price }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>创建时间:</text>
|
||||
<text>{{ item.createtime }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="form.status" />
|
||||
<u-popup :show="detailsshow" @close="detailsshow = !detailsshow" mode="bottom" :round="10">
|
||||
<view class="detailsclass">
|
||||
<view class="detailsclasstop">
|
||||
<text>详情</text>
|
||||
<view class="icon">
|
||||
<u-icon name="close" @click="detailsshow = false" color="#999999" size="20"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailsclassbox">
|
||||
<view class="detailsclassboxitem">
|
||||
<text>购方名称</text>
|
||||
<text>{{ details.user_name }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>购方税号</text>
|
||||
<text>{{ details.user_duty }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailsclassboxtext">发票信息</view>
|
||||
<view class="detailsclassbox">
|
||||
<view class="detailsclassboxitem">
|
||||
<text>发票类型</text>
|
||||
<text>{{ details.type }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>发票号码</text>
|
||||
<text>{{ details.fphm }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>开票日期</text>
|
||||
<text>{{ details.ktime }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>开票金额</text>
|
||||
<text>{{ details.price }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>开票税额</text>
|
||||
<text>{{ details.tax_amount }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" v-if="details.email">
|
||||
<text>邮箱</text>
|
||||
<text>{{ details.email }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" v-if="details.mobile">
|
||||
<text>手机号</text>
|
||||
<text>{{ details.mobile }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>发票状态</text>
|
||||
<text>{{ details.status }}</text>
|
||||
</view>
|
||||
</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>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" @click="downloadFile(details.ofdUrl)">
|
||||
<text>OFD版式文件</text>
|
||||
<text style="color: #3089fd">下载</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" @click="downloadFile(details.xmlUrl)">
|
||||
<text>XML版式文件</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="popupshowbox">
|
||||
<view class="popupshowboxtitel">按时间筛选</view>
|
||||
<view class="popupshowbox_box flex-between">
|
||||
<view class="popupshowbox_item" v-for="(item, index) in daylist" :key="index" @click="clickday(item, index)" :class="selectshow == index ? 'select' : ''">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
<view class="popupshowbox_itemzdy flex-between" v-if="showpickerbox && selectshow == 2">
|
||||
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 1)">
|
||||
{{ starttime }}
|
||||
</view>
|
||||
-
|
||||
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 2)">
|
||||
{{ endtime }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popupshowbox">
|
||||
<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>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxboutton flex-between">
|
||||
<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_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">复制</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<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 {
|
||||
data() {
|
||||
return {
|
||||
uqrCodeurl: '',
|
||||
size: 242,
|
||||
detailsshow: false, //详情
|
||||
popupshow: false,
|
||||
qrcodeshow: false,
|
||||
showpicker: false, //选择时间
|
||||
showpickerbox: false, //是否显示这个盒子
|
||||
clickshowpicker: '',
|
||||
starttime: '', //起始时间
|
||||
endtime: '',
|
||||
selectshow: '', //选中
|
||||
datastatuslistshow: '',
|
||||
details: {},
|
||||
form: {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '全部',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
daylist: [
|
||||
{
|
||||
id: 1,
|
||||
name: '仅30天'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '近180天'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自定义'
|
||||
}
|
||||
],
|
||||
datastatuslist: []
|
||||
};
|
||||
},
|
||||
async onLoad(e) {
|
||||
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();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async clickdetails(item) {
|
||||
console.log(item);
|
||||
let res = await this.api.invoiceddetail({
|
||||
id: item.id
|
||||
});
|
||||
if (res.code == 1) {
|
||||
this.details = res.data;
|
||||
this.detailsshow = true;
|
||||
}
|
||||
},
|
||||
// 复制
|
||||
setClipboardData() {
|
||||
uni.setClipboardData({
|
||||
data: this.uqrCodeurl,
|
||||
success: () => {
|
||||
uni.showToast({
|
||||
title: '复制成功'
|
||||
});
|
||||
this.qrcodeshow = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 下载
|
||||
downloadFile(url) {
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
mask: true
|
||||
});
|
||||
try {
|
||||
this.uqrCodeurl = url;
|
||||
// 获取uQRCode实例
|
||||
var qr = new uQRCode();
|
||||
// 设置二维码内容
|
||||
qr.data = url;
|
||||
// 设置二维码大小,必须与canvas设置的宽高一致
|
||||
qr.size = this.size;
|
||||
// 调用制作二维码方法
|
||||
qr.make();
|
||||
// 获取canvas上下文
|
||||
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
||||
// 设置uQRCode实例的canvas上下文
|
||||
qr.canvasContext = canvasContext;
|
||||
// 调用绘制方法将二维码图案绘制到canvas上
|
||||
qr.drawCanvas();
|
||||
this.qrcodeshow = true;
|
||||
} catch (error) {
|
||||
//TODO handle the exceptio
|
||||
}
|
||||
uni.hideLoading();
|
||||
// uni.downloadFile({
|
||||
// url: url,
|
||||
// success: res => {
|
||||
// console.log(res)
|
||||
// if (res.statusCode === 200) {
|
||||
// // 预览pdf文件
|
||||
// uni.openDocument({
|
||||
// filePath: res.tempFilePath,
|
||||
// showMenu: true, // 右上角菜单,可以进行分享保存pdf
|
||||
// success: function(file) {
|
||||
// console.log("文件打开成功", file)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
},
|
||||
clickdatastatuslist(item, index) {
|
||||
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;
|
||||
switch (index) {
|
||||
case 0:
|
||||
this.starttime = `${month - 1 == 0 ? year - 1 : year}-${month - 1 == 0 ? 12 : month - 1}-${date}`;
|
||||
this.endtime = `${year}-${month}-${date}`;
|
||||
this.showpickerbox = false;
|
||||
break;
|
||||
case 1:
|
||||
this.starttime = `${year}-${month > 6 ? month - 6 : month + 12 - 6}-${date}`;
|
||||
this.endtime = `${year}-${month}-${date}`;
|
||||
this.showpickerbox = false;
|
||||
break;
|
||||
case 2:
|
||||
this.starttime = ''; //起始时间
|
||||
this.endtime = '';
|
||||
this.showpickerbox = true;
|
||||
break;
|
||||
}
|
||||
this.selectshow = index;
|
||||
},
|
||||
// 确定时间
|
||||
confirmpicker(e) {
|
||||
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'));
|
||||
let tiem = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
|
||||
if (this.clickshowpicker == 1) {
|
||||
this.$set(this, 'starttime', tiem);
|
||||
// this.starttime = tiem
|
||||
}
|
||||
if (this.clickshowpicker == 2) {
|
||||
this.$set(this, 'endtime', tiem);
|
||||
// this.endtime = tiem
|
||||
}
|
||||
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.popupshow = false;
|
||||
this.invoicedorderlist();
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.form = {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '全部',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
};
|
||||
this.datastatuslistshow = '';
|
||||
this.popupshow = false;
|
||||
this.selectshow = '';
|
||||
|
||||
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);
|
||||
}
|
||||
},
|
||||
// 列表
|
||||
async invoicedorderlist() {
|
||||
this.form.status = 'loading';
|
||||
let res = await this.api.invoicedorderlist({
|
||||
user_name: this.form.user_name,
|
||||
time: this.form.time,
|
||||
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';
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data;
|
||||
} else {
|
||||
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;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
|
||||
.contenttop {
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
padding: 48rpx 28rpx 0rpx 28rpx;
|
||||
|
||||
.flex-start {
|
||||
input {
|
||||
padding: 18rpx 24rpx;
|
||||
height: 64rpx;
|
||||
background: #f6f6f6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
flex: auto;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
text {
|
||||
padding: 0 0 0 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
.contenttopbox {
|
||||
text {
|
||||
width: 33%;
|
||||
text-align: center;
|
||||
padding: 32rpx 0 24rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.classtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
width: 30%;
|
||||
border-bottom: 5rpx solid #318afe;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
content: '';
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.qrcodeclass {
|
||||
padding: 0 28rpx;
|
||||
width: 100%;
|
||||
|
||||
padding: 0 28rpx;
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
||||
padding-bottom: 50rpx;
|
||||
|
||||
.content_boxt_towtext {
|
||||
padding-top: 32rpx;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.content_boxt_towtexts {
|
||||
margin: 50rpx auto 0 auto;
|
||||
width: 558rpx;
|
||||
height: 84rpx;
|
||||
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;
|
||||
line-height: 84rpx;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.content_boxt_towrelative {
|
||||
position: relative;
|
||||
width: 242px;
|
||||
height: 242px;
|
||||
margin: 32rpx auto;
|
||||
|
||||
.content_boxt_towabsolute {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -50rpx;
|
||||
margin-left: -50rpx;
|
||||
border-radius: 16rpx;
|
||||
// transform: translate(-50% -50%);
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
padding: 0 28rpx;
|
||||
|
||||
.popupshowtop {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.popupshowbox {
|
||||
.popupshowboxtitel {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.popupshowbox_box {
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 176rpx;
|
||||
height: 56rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 176rpx;
|
||||
}
|
||||
|
||||
.select {
|
||||
border: 1px solid #1b00ff;
|
||||
color: #0600ff;
|
||||
}
|
||||
|
||||
.popupshowbox_itemzdy {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 40%;
|
||||
height: 56rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxboutton {
|
||||
margin: 400rpx 0 50rpx 0;
|
||||
|
||||
.boxbouttonitem {
|
||||
width: 330rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 50rpx 50rpx 50rpx 50rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(1) {
|
||||
border: 2rpx solid #d9d9d9;
|
||||
background: #ffffff;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(2) {
|
||||
background: #2f87fd;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclass {
|
||||
max-height: 74vh;
|
||||
background: #ffffff;
|
||||
border-top-right-radius: 40rpx;
|
||||
border-top-left-radius: 40rpx;
|
||||
overflow: auto;
|
||||
|
||||
.detailsclasstop {
|
||||
position: relative;
|
||||
padding: 32rpx 0 48rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
right: 32rpx;
|
||||
top: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclassbox {
|
||||
padding: 32rpx 28rpx;
|
||||
|
||||
.detailsclassboxitem {
|
||||
margin-top: 48rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
text:nth-child(1) {
|
||||
width: 30%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
width: 70%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclassboxitem:nth-child(1) {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclassboxtext {
|
||||
width: 100%;
|
||||
padding: 16rpx 24rpx;
|
||||
background: #f1f2f6;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
.contentbox {
|
||||
width: 100%;
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentboxitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentboxitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #f39d52;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitemtext {
|
||||
margin-top: 24rpx;
|
||||
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
image {
|
||||
margin-left: 24rpx;
|
||||
width: 158rpx;
|
||||
height: 94rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,712 +0,0 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="contenttop">
|
||||
<view class="flex-start">
|
||||
<input type="text" placeholder="请输入抬头名称" v-model="form.user_name" @input="onInput" />
|
||||
<text @click="popupshow = !popupshow">筛选</text>
|
||||
</view>
|
||||
<view class="contenttopbox flex-center">
|
||||
<text @click="(form.type = '全部'), (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="contentboxitemtop flex-between">
|
||||
<text>{{ item.user_name }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票状态:</text>
|
||||
<text>{{ item.status }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票类型:</text>
|
||||
<text>{{ item.type }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票金额:</text>
|
||||
<text>{{ item.price }}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>创建时间</text>
|
||||
<text>{{ item.createtime }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="form.status" />
|
||||
<u-popup :show="detailsshow" @close="detailsshow = !detailsshow" mode="bottom" :round="10">
|
||||
<view class="detailsclass">
|
||||
<view class="detailsclasstop">
|
||||
<text>详情</text>
|
||||
<view class="icon">
|
||||
<u-icon name="close" @click="detailsshow = false" color="#999999" size="20"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailsclassbox">
|
||||
<view class="detailsclassboxitem">
|
||||
<text>购方名称</text>
|
||||
<text>{{ details.user_name }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>购方税号</text>
|
||||
<text>{{ details.user_duty }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detailsclassboxtext">发票信息</view>
|
||||
<view class="detailsclassbox">
|
||||
<view class="detailsclassboxitem">
|
||||
<text>发票类型</text>
|
||||
<text>{{ details.type }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>发票号码</text>
|
||||
<text>{{ details.fphm }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>开票日期</text>
|
||||
<text>{{ details.ktime }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>开票金额</text>
|
||||
<text>{{ details.price }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>开票税额</text>
|
||||
<text>{{ details.tax_amount }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" v-if="details.email">
|
||||
<text>邮箱</text>
|
||||
<text>{{ details.email }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" v-if="details.mobile">
|
||||
<text>手机号</text>
|
||||
<text>{{ details.mobile }}</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem">
|
||||
<text>发票状态</text>
|
||||
<text>{{ details.status }}</text>
|
||||
</view>
|
||||
</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>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" @click="downloadFile(details.ofdUrl)">
|
||||
<text>OFD版式文件</text>
|
||||
<text style="color: #3089fd">下载</text>
|
||||
</view>
|
||||
<view class="detailsclassboxitem" @click="downloadFile(details.xmlUrl)">
|
||||
<text>XML版式文件</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="popupshowbox">
|
||||
<view class="popupshowboxtitel">按时间筛选</view>
|
||||
<view class="popupshowbox_box flex-between">
|
||||
<view class="popupshowbox_item" v-for="(item, index) in daylist" :key="index" @click="clickday(item, index)" :class="selectshow === index ? 'select' : ''">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
<view class="popupshowbox_itemzdy flex-between" v-if="showpickerbox && selectshow == 2">
|
||||
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 1)">
|
||||
{{ starttime }}
|
||||
</view>
|
||||
-
|
||||
<view class="popupshowbox_item" @click="(showpicker = !showpicker), (clickshowpicker = 2)">
|
||||
{{ endtime }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxboutton flex-between">
|
||||
<view class="boxbouttonitem" @click="reset">重置</view>
|
||||
<view class="boxbouttonitem" @click="clickdetermine">确定</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<u-popup :show="qrcodeshow" @close="qrcodeshow = !qrcodeshow" :round="10" mode="center">
|
||||
<view class="qrcodeclass">
|
||||
<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">复制</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<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 {
|
||||
data() {
|
||||
return {
|
||||
uqrCodeurl: '',
|
||||
size: 242,
|
||||
qrcodeshow: false,
|
||||
detailsshow: false, //详情
|
||||
popupshow: false,
|
||||
showpicker: false, //选择时间
|
||||
showpickerbox: false, //是否显示这个盒子
|
||||
clickshowpicker: '',
|
||||
starttime: '', //起始时间
|
||||
endtime: '',
|
||||
selectshow: '', //选中
|
||||
form: {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '全部',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
daylist: [
|
||||
{
|
||||
id: 1,
|
||||
name: '仅30天'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '近180天'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自定义'
|
||||
}
|
||||
],
|
||||
details: {}
|
||||
};
|
||||
},
|
||||
async onLoad(e) {
|
||||
this.invoicedlist();
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.form.status != 'nomore') {
|
||||
this.form.page = ++this.form.page;
|
||||
this.invoicedlist();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async clickdetails(item) {
|
||||
console.log(item);
|
||||
let res = await this.api.invoiceddetail({
|
||||
id: item.id
|
||||
});
|
||||
if (res.code == 1) {
|
||||
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;
|
||||
switch (index) {
|
||||
case 0:
|
||||
this.starttime = `${month - 1 == 0 ? year - 1 : year}-${month - 1 == 0 ? 12 : month - 1}-${date}`;
|
||||
this.endtime = `${year}-${month}-${date}`;
|
||||
this.showpickerbox = false;
|
||||
break;
|
||||
case 1:
|
||||
this.starttime = `${year}-${month > 6 ? month - 6 : month + 12 - 6}-${date}`;
|
||||
this.endtime = `${year}-${month}-${date}`;
|
||||
this.showpickerbox = false;
|
||||
break;
|
||||
case 2:
|
||||
this.starttime = ''; //起始时间
|
||||
this.endtime = '';
|
||||
this.showpickerbox = true;
|
||||
break;
|
||||
}
|
||||
this.selectshow = index;
|
||||
},
|
||||
// 确定时间
|
||||
confirmpicker(e) {
|
||||
if (this.clickshowpicker == 1) {
|
||||
this.starttime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
|
||||
}
|
||||
if (this.clickshowpicker == 2) {
|
||||
this.endtime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd');
|
||||
}
|
||||
this.showpicker = !this.showpicker;
|
||||
},
|
||||
// 确定
|
||||
clickdetermine() {
|
||||
if (this.starttime != '' && this.endtime != '') {
|
||||
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`;
|
||||
}
|
||||
this.popupshow = false;
|
||||
this.invoicedlist();
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.form = {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '全部',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
};
|
||||
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);
|
||||
}
|
||||
},
|
||||
// 列表
|
||||
async invoicedlist() {
|
||||
this.form.status = 'loading';
|
||||
let res = await this.api.invoicedlist({
|
||||
user_name: this.form.user_name,
|
||||
time: this.form.time,
|
||||
page: this.form.page,
|
||||
type: this.form.type
|
||||
});
|
||||
console.log(res);
|
||||
if (this.form.page == 1 && res.data.length == 0) {
|
||||
this.form.list = res.data;
|
||||
this.form.status = 'nomore';
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data;
|
||||
} else {
|
||||
this.form.list = [...this.form.list, ...res.data];
|
||||
}
|
||||
if (res.data.length < 10) this.form.status = 'nomore';
|
||||
else this.form.status = 'loadmore';
|
||||
}, 500);
|
||||
}
|
||||
},
|
||||
// 复制
|
||||
setClipboardData() {
|
||||
uni.setClipboardData({
|
||||
data: this.uqrCodeurl,
|
||||
success: () => {
|
||||
uni.showToast({
|
||||
title: '复制成功'
|
||||
});
|
||||
this.qrcodeshow = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 下载
|
||||
downloadFile(url) {
|
||||
uni.showLoading({
|
||||
title: '加载中',
|
||||
mask: true
|
||||
});
|
||||
try {
|
||||
this.uqrCodeurl = url;
|
||||
// 获取uQRCode实例
|
||||
var qr = new uQRCode();
|
||||
// 设置二维码内容
|
||||
qr.data = url;
|
||||
// 设置二维码大小,必须与canvas设置的宽高一致
|
||||
qr.size = this.size;
|
||||
// 调用制作二维码方法
|
||||
qr.make();
|
||||
// 获取canvas上下文
|
||||
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
||||
// 设置uQRCode实例的canvas上下文
|
||||
qr.canvasContext = canvasContext;
|
||||
// 调用绘制方法将二维码图案绘制到canvas上
|
||||
qr.drawCanvas();
|
||||
this.qrcodeshow = true;
|
||||
} catch (error) {
|
||||
//TODO handle the exceptio
|
||||
}
|
||||
uni.hideLoading();
|
||||
// uni.downloadFile({
|
||||
// url: url,
|
||||
// success: res => {
|
||||
// console.log(res)
|
||||
// if (res.statusCode === 200) {
|
||||
// // 预览pdf文件
|
||||
// uni.openDocument({
|
||||
// filePath: res.tempFilePath,
|
||||
// showMenu: true, // 右上角菜单,可以进行分享保存pdf
|
||||
// success: function(file) {
|
||||
// console.log("文件打开成功", file)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
},
|
||||
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;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
|
||||
.contenttop {
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
padding: 48rpx 28rpx 0rpx 28rpx;
|
||||
|
||||
.flex-start {
|
||||
input {
|
||||
padding: 18rpx 24rpx;
|
||||
height: 64rpx;
|
||||
background: #f6f6f6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
flex: auto;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
text {
|
||||
padding: 0 0 0 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
.contenttopbox {
|
||||
text {
|
||||
width: 33%;
|
||||
text-align: center;
|
||||
padding: 32rpx 0 24rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.classtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
width: 30%;
|
||||
border-bottom: 5rpx solid #318afe;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
content: '';
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclass {
|
||||
max-height: 74vh;
|
||||
background: #ffffff;
|
||||
border-top-right-radius: 40rpx;
|
||||
border-top-left-radius: 40rpx;
|
||||
overflow: auto;
|
||||
|
||||
.detailsclasstop {
|
||||
position: relative;
|
||||
padding: 32rpx 0 48rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
|
||||
.icon {
|
||||
position: absolute;
|
||||
right: 32rpx;
|
||||
top: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclassbox {
|
||||
padding: 32rpx 28rpx;
|
||||
|
||||
.detailsclassboxitem {
|
||||
margin-top: 48rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
text:nth-child(1) {
|
||||
width: 30%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
width: 70%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclassboxitem:nth-child(1) {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.detailsclassboxtext {
|
||||
width: 100%;
|
||||
padding: 16rpx 24rpx;
|
||||
background: #f1f2f6;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
.qrcodeclass {
|
||||
padding: 0 28rpx;
|
||||
width: 100%;
|
||||
|
||||
padding: 0 28rpx;
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
||||
padding-bottom: 50rpx;
|
||||
|
||||
.content_boxt_towtext {
|
||||
padding-top: 32rpx;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.content_boxt_towtexts {
|
||||
margin: 50rpx auto 0 auto;
|
||||
width: 558rpx;
|
||||
height: 84rpx;
|
||||
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;
|
||||
line-height: 84rpx;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.content_boxt_towrelative {
|
||||
position: relative;
|
||||
width: 242px;
|
||||
height: 242px;
|
||||
margin: 32rpx auto;
|
||||
|
||||
.content_boxt_towabsolute {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -50rpx;
|
||||
margin-left: -50rpx;
|
||||
border-radius: 16rpx;
|
||||
// transform: translate(-50% -50%);
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
padding: 0 28rpx;
|
||||
|
||||
.popupshowtop {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.popupshowbox {
|
||||
.popupshowboxtitel {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.popupshowbox_box {
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 176rpx;
|
||||
height: 56rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
.select {
|
||||
border: 1px solid #1b00ff;
|
||||
color: #0600ff;
|
||||
}
|
||||
|
||||
.popupshowbox_itemzdy {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 40%;
|
||||
height: 56rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxboutton {
|
||||
margin: 400rpx 0 50rpx 0;
|
||||
|
||||
.boxbouttonitem {
|
||||
width: 330rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 50rpx 50rpx 50rpx 50rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(1) {
|
||||
border: 2rpx solid #d9d9d9;
|
||||
background: #ffffff;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(2) {
|
||||
background: #2f87fd;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contentbox {
|
||||
width: 100%;
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentboxitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentboxitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #f39d52;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitemtext {
|
||||
margin-top: 24rpx;
|
||||
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
image {
|
||||
margin-left: 24rpx;
|
||||
width: 158rpx;
|
||||
height: 94rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
243
me/feedbackIndex/feedbackIndex.vue
Normal file
@@ -0,0 +1,243 @@
|
||||
<!-- 帮助反馈页面 -->
|
||||
<template>
|
||||
<view>
|
||||
<!-- <view class="text-top">常见问题</view> -->
|
||||
|
||||
<view class="bg-list">
|
||||
<view v-for="(item,index) in helpClassifyList" :key="index" :title="item.helpClassifyName"
|
||||
class="list-title padding-bottom">
|
||||
<view class="flex align-center justify-between" @click.stop="openList(item)">
|
||||
<view class="text-title">{{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>
|
||||
</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>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bg-box">
|
||||
<view class="bg-white-box">
|
||||
<image src="../static/icon-letter.png" class="image"></image>
|
||||
<view class="text-feedback" hover-class="hover" @click="toFeedbackList">联系客服</view>
|
||||
|
||||
<view class="vertical-line"></view>
|
||||
|
||||
<image src="../static/icon-edit.png" class="image"></image>
|
||||
<view class="text-feedback" hover-class="hover" @click="toFeedback">我要反馈</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
helpClassifyList: []
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getlist()
|
||||
},
|
||||
methods: {
|
||||
openList(item) {
|
||||
var oldhelpClassifyList=item
|
||||
if(oldhelpClassifyList.parentId==1){
|
||||
item.parentId=0
|
||||
}else{
|
||||
item.parentId=1
|
||||
}
|
||||
},
|
||||
getlist() {
|
||||
let data={
|
||||
types:1
|
||||
}
|
||||
this.$u.api.help(data).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.helpClassifyList = res.data
|
||||
for (var i = 0; i < this.helpClassifyList.length; i++) {
|
||||
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,
|
||||
})
|
||||
|
||||
},
|
||||
toFeedbackList() {
|
||||
let kefu = uni.getStorageSync('kefu'); // 用户端联系方式 1 手机号 2企业微信
|
||||
let kefuPhone = uni.getStorageSync('kefuPhone');
|
||||
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
|
||||
try {
|
||||
wx.openCustomerServiceChat({
|
||||
extInfo: {
|
||||
url:uni.getStorageSync('kefuUrl')
|
||||
},
|
||||
corpId: uni.getStorageSync('kefuAppId'),
|
||||
success(res) {},
|
||||
fail(res) {
|
||||
console.error(res)
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error("catchcatch" + error)
|
||||
uni.showToast({
|
||||
title: '请更新至微信最新版本'
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
// #ifndef MP-WEIXIN
|
||||
let url =uni.getStorageSync('kefuUrl');
|
||||
if (url.indexOf('/pages/') !== -1 || url.indexOf('/my/') !== -1) {
|
||||
uni.navigateTo({
|
||||
url
|
||||
});
|
||||
} else {
|
||||
//#ifndef H5
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/webView?url=' + url
|
||||
});
|
||||
//#endif
|
||||
//#ifdef H5
|
||||
window.location.href = url;
|
||||
//#endif
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
toFeedback() {
|
||||
uni.navigateTo({
|
||||
url: '/me/feedback/index',
|
||||
success: res => {},
|
||||
fail: () => {},
|
||||
complete: () => {}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
page {
|
||||
background-color: #FFFFFF;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.bg-box {
|
||||
background-color: #FFFFFF;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.bg-list {
|
||||
margin-bottom: 100rpx;
|
||||
background-color: #FFFFFF;
|
||||
padding: 30rpx
|
||||
}
|
||||
|
||||
.bg-white-box {
|
||||
background-color: #F7F7F7;
|
||||
margin: 30rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 10rpx;
|
||||
border-radius: 20rpx;
|
||||
color: #000;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.vertical-line {
|
||||
height: 20rpx;
|
||||
background-color: #cecece;
|
||||
width: 2rpx;
|
||||
margin-left: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 100%;
|
||||
height: 1rpx;
|
||||
background-color: #d3d3d3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.text-title {
|
||||
color: #000;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.text-item {
|
||||
color: #999999;
|
||||
font-size: 28rpx;
|
||||
padding: 24rpx 0rpx;
|
||||
}
|
||||
|
||||
.list-title {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.list-question {
|
||||
color: #000;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.hover {
|
||||
background-color: #ffffff;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.text-feedback {
|
||||
padding: 20rpx;
|
||||
/* color: #000000; */
|
||||
}
|
||||
|
||||
.text-top {
|
||||
margin: 30rpx;
|
||||
color: #000;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,817 +0,0 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="contenttop">
|
||||
<view class="flex-start">
|
||||
<input type="text" placeholder="请输入抬头名称" v-model="form.like" @input="onInput" />
|
||||
<!-- <text @click="popupshow = !popupshow">筛选</text> -->
|
||||
<text@click="itemmodify()">新增</text>
|
||||
</view>
|
||||
<view class="contenttopbox flex-center">
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentbox">
|
||||
<view class="contentboxitem" v-for="(item,index) in form.list" :key="index">
|
||||
<view class="contentboxitemtop flex-between">
|
||||
<text>*{{item.abbreviation}}*{{item.title}}</text>
|
||||
<!-- <text>删除</text> -->
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>商品编码</text>
|
||||
<text>{{item.spbm}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>商品规格</text>
|
||||
<text>{{item.ggxh}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>单位</text>
|
||||
<text>{{item.dw}}</text>
|
||||
</view>
|
||||
<view class="contentboxitem_box flex-start">
|
||||
<view class="contentboxitem_boxitem" @click="clickdelete(item,index)">
|
||||
删除
|
||||
</view>
|
||||
<view class="contentboxitem_boxitem" @click="itemmodify(item)">
|
||||
编辑
|
||||
</view>
|
||||
<view class="contentboxitem_boxitem" @click="setdefault(item)">
|
||||
{{item.is_default == 1?'取消默认':'设为默认'}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="form.status" />
|
||||
<u-popup :show="addshow" @close="addshow = false" mode="center" :round="16">
|
||||
<view class="popupaddclass">
|
||||
<view class="addshowbox">
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">*商品编码</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请选择" v-model="addform.spbm" disabled
|
||||
style="background: #f6f6f6;" />
|
||||
<view class="absolute"
|
||||
@click="addtowshow=!addtowshow,selectencoding({selected: true,pid: ''},'index')">
|
||||
选择商品名称
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">编码简称</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请选择" v-model="addform.abbreviation" disabled
|
||||
style="background: #f6f6f6;" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">*商品名称</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请输入" v-model="addform.title" />
|
||||
<view class="absolute" @click="titlecoding">
|
||||
赋码
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">规格型号</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请输入" v-model="addform.spec" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">计量单位</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请输入" v-model="addform.unit" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">单价(元)</text>
|
||||
<view class="addshowboxinput_inp flex-between">
|
||||
<input style="width: auto;" type="text" placeholder="请输入" v-model="addform.unit_price" />
|
||||
<!-- <view class="flex-start" style="margin-right: 10rpx;">
|
||||
<text
|
||||
style="font-family: Source Han Sans CN, Source Han Sans CN;font-weight: 400;font-size: 28rpx;color: #333333;margin-right: 16rpx;">含税</text>
|
||||
<u-switch v-model="addform.priceswitch" size="18"></u-switch>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start" @click="selectshowlslbs = !selectshowlslbs">
|
||||
<text class="addshowboxinputtext">免税类型</text>
|
||||
<view class="addshowboxinput_inp flex-between">
|
||||
<view class="listinput_leftrelative">
|
||||
<text class="leftrelativetext">{{addform.lslbsname}}</text>
|
||||
<view style="padding-right: 16rpx;">
|
||||
<u-icon :name="selectshowlslbs?'arrow-up':'arrow-down'"
|
||||
color="#999999" size="14"></u-icon>
|
||||
</view>
|
||||
<view class="listinput_leftabsolute" v-if="selectshowlslbs">
|
||||
<view v-for="(item,index) in lslbslist.lslbs" :key="index"
|
||||
:class="addform.lslbs == item.id?'class':''" @click="taxexempttype(item,index)">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start"
|
||||
@click="taxrateselectionshow = !taxrateselectionshow">
|
||||
<text class="addshowboxinputtext">*税率</text>
|
||||
<view class="addshowboxinput_inp flex-between">
|
||||
<view class="listinput_leftrelative">
|
||||
<text class="leftrelativetext">{{addform.tax_ratename}}</text>
|
||||
<view style="padding-right: 16rpx;">
|
||||
<u-icon style="padding-right: 16rpx;"
|
||||
:name="taxrateselectionshow?'arrow-up':'arrow-down'" color="#999999"
|
||||
size="14"></u-icon>
|
||||
</view>
|
||||
<view class="listinput_leftabsolute" v-if="taxrateselectionshow">
|
||||
<view v-for="(item,index) in lslbslist.taxrateselection" :key="index"
|
||||
:class="addform.tax_rate == item.id?'class':''"
|
||||
@click="taxrateselectiontype(item,index)">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start" @click="zzstsglshow = !zzstsglshow">
|
||||
<text class="addshowboxinputtext">优惠政策类型</text>
|
||||
<view class="addshowboxinput_inp flex-between">
|
||||
<view class="listinput_leftrelative">
|
||||
<text class="leftrelativetext">{{addform.zzstsgl}}</text>
|
||||
<view style="padding-right: 16rpx;">
|
||||
<u-icon :name="zzstsglshow?'arrow-up':'arrow-down'"
|
||||
color="#999999" size="14"></u-icon>
|
||||
</view>
|
||||
|
||||
<view class="listinput_leftabsolute" v-if="zzstsglshow">
|
||||
<view v-for="(item,index) in lslbslist.zzstsgl" :key="index"
|
||||
:class="addform.zzstsgl == item.id?'class':''" @click="zzstsgltype(item,index)">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
style="margin:32rpx 0 32rpx auto;width: 112rpx;height: 56rpx;background: #318AFE;border-radius: 4rpx 4rpx 4rpx 4rpx;font-family: Source Han Sans CN, Source Han Sans CN;font-weight: 400;font-size: 28rpx;color: #FFFFFF;line-height: 56rpx;text-align: center;"
|
||||
@click="addinvoicegoods">
|
||||
保存
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
|
||||
<u-popup :show="addtowshow" @close="addtowshow = false" mode="bottom" :round="16">
|
||||
<view class="addtowshowclass">
|
||||
<view class="addtowshowclasstop">
|
||||
商品编码(税局)选择
|
||||
<view class="addtowshowclassabsolutelet" v-if="this.selectencodinglists.length>1"
|
||||
@click="selectencodingicon">
|
||||
<u-icon name="arrow-left" color="#999999" size="20"></u-icon>
|
||||
</view>
|
||||
<view @click="addtowshow = false" class="addtowshowclassabsolute">
|
||||
<u-icon name="close" color="#999999" size="20"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="selectencodingitem.tax_rate">
|
||||
<view class="addtowshowpositionitem flex-between">
|
||||
<view>
|
||||
商品编码
|
||||
</view>
|
||||
<view style="color: #999999;">
|
||||
{{selectencodingitem.pid}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="addtowshowpositionitem flex-between">
|
||||
<view>
|
||||
编码名称
|
||||
|
||||
</view>
|
||||
<view style="color: #999999;">
|
||||
{{selectencodingitem.catalog_name}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="addtowshowpositionitem flex-between">
|
||||
<view>
|
||||
编码简称
|
||||
</view>
|
||||
<view style="color: #999999;">
|
||||
{{selectencodingitem.catalog_name_short}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="addtowshowpositionitem flex-between">
|
||||
<view>
|
||||
商品税率
|
||||
</view>
|
||||
<view style="color: #999999;">
|
||||
{{selectencodingitem.tax_rate}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="selecconfirm" @click="selecconfirm">
|
||||
确认选择
|
||||
</view>
|
||||
</view>
|
||||
<view v-else class="addtowshowpositionitem flex-between" v-for="(item,index) in selectencodinglist"
|
||||
:key="index" @click="selectencoding(item,index)">
|
||||
<view>
|
||||
{{item.catalog_name}}
|
||||
</view>
|
||||
<view class="flex-start">
|
||||
{{item.tax_rate?item.tax_rate:''}}
|
||||
<u-icon name="arrow-right" color="#999999" size="18"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import langeone from './components/feedbackIndexczgw.jpg'
|
||||
import langetow from './components/feedbackIndexczgw4.jpg'
|
||||
import langethere from './components/feedbackIndexczgw5.jpg'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
addshow: false,
|
||||
addtowshow: false,
|
||||
form: {
|
||||
like: '',
|
||||
page: 1,
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
addform: {
|
||||
|
||||
},
|
||||
taxrateselectionshow: false, //税率
|
||||
selectshowlslbs: false, //免税类型
|
||||
zzstsglshow: false,
|
||||
lslbslist: {},
|
||||
selectencodingitem: {},
|
||||
selectencodinglists: [], //总数据
|
||||
selectencodinglist: [],
|
||||
}
|
||||
},
|
||||
async onLoad() {
|
||||
let {
|
||||
data
|
||||
} = await this.api.hfivelslbs()
|
||||
this.lslbslist = data
|
||||
},
|
||||
onShow() {
|
||||
this.init()
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.form.status != 'nomore') {
|
||||
this.form.page = ++this.form.page;
|
||||
this.invoicegoodslist()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 进行赋码
|
||||
async titlecoding() {
|
||||
this.selectencodingitem = {}
|
||||
let {
|
||||
data
|
||||
} = await this.api.invoicecoding({
|
||||
name: this.addform.title
|
||||
})
|
||||
if (data.length == 0) {
|
||||
uni.showToast({
|
||||
title: '赋码失败,请检查商品名称!',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
this.addform.abbreviation = data[0].catalog_name_short
|
||||
this.addform.title = data[0].catalog_name
|
||||
this.addform.spbm = data[0].catalog_code
|
||||
}
|
||||
|
||||
},
|
||||
async clickdelete(item, index) {
|
||||
let res = await this.api.addinvoicegoodsdel({
|
||||
id: item.id
|
||||
})
|
||||
this.form.list.splice(index, 1)
|
||||
|
||||
},
|
||||
// 设置默认
|
||||
async setdefault(item) {
|
||||
let res = await this.api.setdefault({
|
||||
is_default: item.is_default == 0 ? 1 : 0,
|
||||
id: item.id
|
||||
})
|
||||
this.init()
|
||||
},
|
||||
// 初始化
|
||||
init() {
|
||||
this.form.like = ''
|
||||
this.form.page = 1
|
||||
this.form.status = 'loadmore'
|
||||
this.form.list = []
|
||||
this.invoicegoodslist()
|
||||
},
|
||||
// 修改
|
||||
itemmodify(item) {
|
||||
console.log(item)
|
||||
if (item) {
|
||||
this.addform = item
|
||||
this.addform.lslbsname = this.lslbslist.lslbs[item.lslbs].name
|
||||
this.lslbslist.taxrateselection.forEach((i) => {
|
||||
if (i.id == item.tax_rate) {
|
||||
this.addform.tax_ratename = i.name
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.addform = {}
|
||||
}
|
||||
this.addshow = true
|
||||
},
|
||||
//行业列表 (选择编码)列表
|
||||
async selectencoding(item, index) {
|
||||
this.selectencodingitem = {}
|
||||
if (index == 'index') {
|
||||
this.selectencodinglists = []
|
||||
}
|
||||
if (item.selected) {
|
||||
let {
|
||||
data
|
||||
} = await this.api.selectencoding({
|
||||
pid: item.pid
|
||||
})
|
||||
this.selectencodinglist = data
|
||||
this.selectencodinglists.push(this.selectencodinglist) //暂存一个空数组
|
||||
console.log(this.selectencodinglists)
|
||||
|
||||
} else {
|
||||
this.selected = false
|
||||
this.selectencodingitem = item
|
||||
}
|
||||
|
||||
},
|
||||
//编码简称点击确定
|
||||
selecconfirm() {
|
||||
this.addtowshow = false
|
||||
this.addform.abbreviation = this.selectencodingitem.catalog_name_short
|
||||
this.addform.title = this.selectencodingitem.catalog_name
|
||||
this.addform.spbm = this.selectencodingitem.pid
|
||||
},
|
||||
//返回键
|
||||
selectencodingicon() {
|
||||
this.selectencodingitem = {}
|
||||
this.selectencodinglists.splice(this.selectencodinglists.length - 1, 1)
|
||||
this.selectencodinglist = this.selectencodinglists[this.selectencodinglists.length - 1]
|
||||
},
|
||||
//免税类型
|
||||
taxexempttype(item, index) {
|
||||
console.log(item)
|
||||
this.addform.lslbsname = item.name
|
||||
this.addform.lslbs = item.id
|
||||
},
|
||||
//税率
|
||||
taxrateselectiontype(item, index) {
|
||||
this.addform.tax_ratename = item.name
|
||||
this.addform.tax_rate = item.id
|
||||
},
|
||||
|
||||
//优惠政策类型
|
||||
zzstsgltype(item, index) {
|
||||
this.addform.zzstsglname = item.name
|
||||
this.addform.zzstsgl = item.id
|
||||
},
|
||||
// 搜索
|
||||
onInput(e) {
|
||||
if ([...e.detail.value].length >= 2) {
|
||||
this.form.page = 1
|
||||
this.form.status = 'loadmore'
|
||||
this.form.list = []
|
||||
uni.$u.debounce(this.invoicegoodslist, 500)
|
||||
}
|
||||
},
|
||||
//商品列表
|
||||
async invoicegoodslist() {
|
||||
let res = await this.api.invoicegoodslist({
|
||||
page: this.form.page,
|
||||
like: this.form.like
|
||||
})
|
||||
if (this.form.page == 1 && res.data.length == 0) {
|
||||
this.form.list = res.data
|
||||
this.form.status = 'nomore'
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data
|
||||
} else {
|
||||
this.form.list = [...this.form.list, ...res.data]
|
||||
}
|
||||
if (res.data.length < 10) this.form.status = 'nomore';
|
||||
else this.form.status = 'loadmore';
|
||||
}, 500)
|
||||
}
|
||||
},
|
||||
// 保存
|
||||
async addinvoicegoods() {
|
||||
console.log(this.addform)
|
||||
if (this.addform.title == null || this.addform.title == '') {
|
||||
uni.showToast({
|
||||
title: '请选择商品名称',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.addform.spbm == null || this.addform.spbm == '') {
|
||||
uni.showToast({
|
||||
title: '请输入商品编码',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.addform.tax_rate == null || this.addform.tax_rate === '') {
|
||||
uni.showToast({
|
||||
title: '请选择税率',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
let res = await this.api.addinvoicegoods({
|
||||
id: this.addform.id,
|
||||
title: this.addform.title,
|
||||
spbm: this.addform.spbm,
|
||||
spec: this.addform.spec,
|
||||
unit: this.addform.unit,
|
||||
unit_price: this.addform.unit_price,
|
||||
tax_rate: this.addform.tax_rate,
|
||||
lslbs: this.addform.lslbs,
|
||||
zzstsgl: this.addform.zzstsgl,
|
||||
priceswitch: this.addform.priceswitch,
|
||||
abbreviation: this.addform.abbreviation,
|
||||
spsl: 1 //初始化数量
|
||||
})
|
||||
this.init()
|
||||
this.addshow = false
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background: #F9F9F9;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
|
||||
.contenttop {
|
||||
width: 100%;
|
||||
background: #FFFFFF;
|
||||
padding: 48rpx 28rpx 32rpx 28rpx;
|
||||
|
||||
.flex-start {
|
||||
input {
|
||||
padding: 18rpx 24rpx;
|
||||
height: 64rpx;
|
||||
background: #F6F6F6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
flex: auto;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
text {
|
||||
padding: 0 0 0 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contentbox {
|
||||
width: 100%;
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentboxitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentboxitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitemtext {
|
||||
margin-top: 24rpx;
|
||||
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.contentboxitem_box {
|
||||
justify-content: flex-end;
|
||||
|
||||
.contentboxitem_boxitem {
|
||||
margin-left: 12rpx;
|
||||
padding: 8rpx 16rpx;
|
||||
font-size: 28rpx;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.contentboxitem_boxitem:nth-child(1) {
|
||||
background-color: #faad14;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.contentboxitem_boxitem:nth-child(2) {
|
||||
background-color: #5473e8;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.contentboxitem_boxitem:nth-child(3) {
|
||||
background-color: #5473e8;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.popupaddclass {
|
||||
|
||||
padding: 32rpx 34rpx;
|
||||
width: 694rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.addshowtop {
|
||||
border-bottom: 2rpx solid #E5E5E5;
|
||||
|
||||
text:nth-child(1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
text {
|
||||
padding-bottom: 26rpx;
|
||||
display: inline-block;
|
||||
margin-left: 64rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.select {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #318AFE;
|
||||
border-bottom: 1rpx solid #318AFE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.addshowbox {
|
||||
max-height: 750rpx;
|
||||
overflow: auto;
|
||||
position: relative;
|
||||
|
||||
.addshowboxinput {
|
||||
margin-top: 32rpx;
|
||||
|
||||
.addshowboxinputtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.addshowboxinput_inp {
|
||||
margin-top: 24rpx;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 66rpx;
|
||||
background: #fff;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
|
||||
.listinput_leftrelative {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex: auto;
|
||||
height: 100%;
|
||||
background: #FFFFFF;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
|
||||
.leftrelativetext {
|
||||
padding: 6rpx 24rpx;
|
||||
color: #6f6f6f;
|
||||
}
|
||||
|
||||
.listinput_leftabsolute {
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
width: 100%;
|
||||
top: 65rpx;
|
||||
max-height: 250rpx;
|
||||
overflow: auto;
|
||||
background: #fff;
|
||||
border: 1px solid #D9D9D9;
|
||||
|
||||
view {
|
||||
padding: 6rpx 24rpx;
|
||||
color: #6f6f6f;
|
||||
}
|
||||
|
||||
.class {
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
border-bottom: 1rpx solid #e3d8d8;
|
||||
background: #f1f1f1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 0 16rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.absolute {
|
||||
z-index: 99;
|
||||
padding: 8rpx 18rpx;
|
||||
position: absolute;
|
||||
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;
|
||||
right: 16rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.addshowinput {
|
||||
margin-top: 30rpx;
|
||||
width: 100%;
|
||||
height: 64rpx;
|
||||
background: #F6F6F6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
padding: 0 16rpx;
|
||||
|
||||
input {
|
||||
padding-left: 16rpx;
|
||||
flex: auto;
|
||||
height: 64rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
line-height: 64rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.boxaddshowitem {
|
||||
overflow: auto;
|
||||
max-height: 500rpx;
|
||||
|
||||
.addshowitem {
|
||||
padding: 28rpx 24rpx;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 12rpx;
|
||||
margin-top: 12rpx;
|
||||
|
||||
.addshowitembox {
|
||||
margin-left: 12rpx;
|
||||
width: 80%;
|
||||
|
||||
.addshowitemboxtext {
|
||||
width: 100%;
|
||||
font-weight: 700;
|
||||
font-size: 28rpx;
|
||||
overflow: hidden; //超出的文本隐藏
|
||||
text-overflow: ellipsis; //溢出用省略号显示
|
||||
white-space: nowrap; //溢出不换行
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tianjia {
|
||||
margin: 20rpx 0 0rpx auto;
|
||||
width: 112rpx;
|
||||
height: 56rpx;
|
||||
background: #F6F6F6;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
line-height: 56rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.addtowshowclass {
|
||||
overflow: auto;
|
||||
padding: 0 24rpx;
|
||||
|
||||
.addtowshowclasstop {
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
padding: 32rpx 0;
|
||||
position: relative;
|
||||
|
||||
.addtowshowclassabsolutelet {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 32rpx;
|
||||
}
|
||||
|
||||
.addtowshowclassabsolute {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 32rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.selecconfirm {
|
||||
margin: 42rpx auto;
|
||||
width: 524rpx;
|
||||
height: 72rpx;
|
||||
background: #2F87FD;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
line-height: 72rpx;
|
||||
text-align: center;
|
||||
border-radius: 16rpx;
|
||||
}
|
||||
|
||||
.addtowshowpositionitem {
|
||||
padding: 24rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
border-bottom: 1rpx solid #E5E5E5;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
Before Width: | Height: | Size: 262 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 199 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 161 KiB |
|
Before Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 121 KiB |
@@ -1,256 +0,0 @@
|
||||
<!-- 帮助反馈页面 -->
|
||||
<template>
|
||||
<view>
|
||||
<!-- <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 class="flex align-center justify-between" @click.stop="openList(item)">
|
||||
<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>
|
||||
</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>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bg-box">
|
||||
<view class="bg-white-box">
|
||||
<image src="../static/icon-letter.png" class="image"></image>
|
||||
<view class="text-feedbackczg" hover-class="hover" @click="toFeedbackList">联系客服</view>
|
||||
|
||||
<view class="vertical-line"></view>
|
||||
|
||||
<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 {
|
||||
data() {
|
||||
return {
|
||||
helpClassifyList: []
|
||||
};
|
||||
},
|
||||
onLoad() {
|
||||
this.getlist();
|
||||
},
|
||||
methods: {
|
||||
openList(item) {
|
||||
var oldhelpClassifyList = item;
|
||||
if (oldhelpClassifyList.parentId == 1) {
|
||||
item.parentId = 0;
|
||||
} else {
|
||||
item.parentId = 1;
|
||||
}
|
||||
},
|
||||
getlist() {
|
||||
let data = {
|
||||
types: 1
|
||||
};
|
||||
this.$u.api.help(data).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.helpClassifyList = res.data;
|
||||
for (var i = 0; i < this.helpClassifyList.length; i++) {
|
||||
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
|
||||
});
|
||||
},
|
||||
toFeedbackList() {
|
||||
let kefu = uni.getStorageSync('kefu'); // 用户端联系方式 1 手机号 2企业微信
|
||||
let kefuPhone = uni.getStorageSync('kefuPhone');
|
||||
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;
|
||||
try {
|
||||
wx.openCustomerServiceChat({
|
||||
extInfo: {
|
||||
url: uni.getStorageSync('kefuUrl')
|
||||
},
|
||||
corpId: uni.getStorageSync('kefuAppId'),
|
||||
success(res) {},
|
||||
fail(res) {
|
||||
console.error(res);
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('catchcatch' + error);
|
||||
uni.showToast({
|
||||
title: '请更新至微信最新版本'
|
||||
});
|
||||
}
|
||||
// #endif
|
||||
// #ifndef MP-WEIXIN
|
||||
let url = uni.getStorageSync('kefuUrl');
|
||||
if (url.indexOf('/pages/') !== -1 || url.indexOf('/my/') !== -1) {
|
||||
uni.navigateTo({
|
||||
url
|
||||
});
|
||||
} else {
|
||||
//#ifndef H5
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/webView?url=' + url
|
||||
});
|
||||
//#endif
|
||||
//#ifdef H5
|
||||
window.location.href = url;
|
||||
//#endif
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
},
|
||||
|
||||
toFeedback() {
|
||||
uni.navigateTo({
|
||||
url: '/me/feedback/index',
|
||||
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;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.bg-box {
|
||||
background-color: #ffffff;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.bg-list {
|
||||
margin-bottom: 100rpx;
|
||||
background-color: #ffffff;
|
||||
padding: 30rpx;
|
||||
}
|
||||
|
||||
.bg-white-box {
|
||||
background-color: #f7f7f7;
|
||||
margin: 30rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 10rpx;
|
||||
border-radius: 20rpx;
|
||||
color: #000;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.vertical-line {
|
||||
height: 20rpx;
|
||||
background-color: #cecece;
|
||||
width: 2rpx;
|
||||
margin-left: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 100%;
|
||||
height: 1rpx;
|
||||
background-color: #d3d3d3;
|
||||
}
|
||||
|
||||
.list-titleczg {
|
||||
color: #000;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.text-item {
|
||||
color: #999999;
|
||||
font-size: 28rpx;
|
||||
padding: 24rpx 0rpx;
|
||||
}
|
||||
|
||||
.list-titletczg {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.list-question {
|
||||
color: #000;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.hover {
|
||||
background-color: #ffffff;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.text-feedbackczg {
|
||||
padding: 20rpx;
|
||||
/* color: #000000; */
|
||||
}
|
||||
|
||||
.text-top {
|
||||
margin: 30rpx;
|
||||
color: #000;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,828 +0,0 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<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 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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<text>默认</text>
|
||||
</view>
|
||||
<!-- <view class="flex-colum">
|
||||
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/issuername4.png" mode="aspectFill">
|
||||
</image>
|
||||
<text>解绑</text>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<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>
|
||||
</view>
|
||||
<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>
|
||||
<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="messageboxtoptext">
|
||||
{{ 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>
|
||||
</view>
|
||||
</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">
|
||||
<u-icon name="close" color="#999999" @click="showpopup = false" size="20"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popupboxform">
|
||||
<view class="addshowboxinput flex-colum-start" @click="selectshowlslbs = !selectshowlslbs">
|
||||
<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>
|
||||
<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)">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<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" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">*电子税务局登录密码</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请输入" v-model="addform.dlmm" />
|
||||
</view>
|
||||
</view>
|
||||
<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_leftabsolute" v-if="regionshow">
|
||||
<view v-for="(item,index) in region" :key="index"
|
||||
:class="addform.region == item.code?'class':''"
|
||||
@click="regionclick(item,index)">
|
||||
{{ item.name }}
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">*办税人姓名</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="text" placeholder="请输入" v-model="addform.taxname" />
|
||||
</view>
|
||||
w
|
||||
</view>
|
||||
<view class="addshowboxinput flex-colum-start">
|
||||
<text class="addshowboxinputtext">*办税人手机号码</text>
|
||||
<view class="addshowboxinput_inp">
|
||||
<input type="number" disabled placeholder="请输入" v-model="addform.taxphone" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="addshowbox_box">
|
||||
<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 {
|
||||
data() {
|
||||
return {
|
||||
formCode: {
|
||||
text: '超掌柜',
|
||||
url: 'https://www.baidu.com/baidu?ie=utf-8&wd=312'
|
||||
}, //成功后
|
||||
text: 'uQRCode',
|
||||
size: 242,
|
||||
codephone: '', //公共手机号
|
||||
codelang: '', //公共验证码
|
||||
textshow: '', //判断显示那个
|
||||
loginid: '', //公共id
|
||||
showpopup: false,
|
||||
messageshow: false, //短信
|
||||
canvasshow: false, //二维码
|
||||
columnsdlsf: [],
|
||||
selectshowlslbs: false, //免税类型
|
||||
regionshow: false, //省份显示
|
||||
// 注册定时器 初始值
|
||||
second: 60,
|
||||
showText: false,
|
||||
Recapture: '发送验证码',
|
||||
accountqrcodetype: 1,
|
||||
form: {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
addform: {},
|
||||
region: [] //省份
|
||||
};
|
||||
},
|
||||
async onLoad() {
|
||||
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();
|
||||
}
|
||||
},
|
||||
onReady() {
|
||||
this.merchantStoreshowMerchantStoreReceipt();
|
||||
},
|
||||
methods: {
|
||||
// 设置默认
|
||||
async setdefault(item) {
|
||||
uni.showModal({
|
||||
title: '设置默认开票人',
|
||||
content: `确定设置办税员【${item.name}】为默认吗?`,
|
||||
success: async (res) => {
|
||||
if (res.confirm) {
|
||||
let resdata = await this.api.kpdefault({
|
||||
is_default: item.is_default == 0 ? 1 : 0,
|
||||
id: item.id
|
||||
});
|
||||
if (resdata.code == 1) {
|
||||
this.reset();
|
||||
}
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 二维码
|
||||
async merchantStoreshowMerchantStoreReceipt() {
|
||||
// 获取uQRCode实例
|
||||
var qr = new uQRCode();
|
||||
// 设置二维码内容
|
||||
qr.data = this.formCode.url;
|
||||
// 设置二维码大小,必须与canvas设置的宽高一致
|
||||
qr.size = this.size;
|
||||
// 调用制作二维码方法
|
||||
qr.make();
|
||||
// 获取canvas上下文
|
||||
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
|
||||
// 设置uQRCode实例的canvas上下文
|
||||
qr.canvasContext = canvasContext;
|
||||
// 调用绘制方法将二维码图案绘制到canvas上
|
||||
qr.drawCanvas();
|
||||
},
|
||||
// 人脸
|
||||
renlian(item, textshow) {
|
||||
this.textshow = textshow;
|
||||
this.loginid = item.id;
|
||||
uni.showModal({
|
||||
title: '人脸验证',
|
||||
content: `确定使用办税员【${item.name}】进行人脸吗?`,
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
// 这是未登录要发送验证码
|
||||
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.$nextTick(() => {
|
||||
this.merchantStoreshowMerchantStoreReceipt();
|
||||
});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.data.msg,
|
||||
icon: 'none'
|
||||
});
|
||||
this.yanzhengm(false);
|
||||
this.codephone = res.data.msg;
|
||||
this.messageshow = true;
|
||||
}
|
||||
},
|
||||
//登录获取验证码
|
||||
login(item, textshow) {
|
||||
this.textshow = textshow;
|
||||
this.loginid = item.id;
|
||||
uni.showModal({
|
||||
title: '登录验证',
|
||||
content: `确定使用办税员【${item.name}】进行登录验证吗?`,
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
this.getsendsms();
|
||||
this.yanzhengm(false);
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// 登录前获取验证码
|
||||
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;
|
||||
}
|
||||
},
|
||||
// 登录成功上传
|
||||
async sensms() {
|
||||
console.log(this.textshow);
|
||||
let res = await this.api.sensms({
|
||||
id: this.loginid,
|
||||
code: this.codelang
|
||||
});
|
||||
console.log(res);
|
||||
if (res.code == 1) {
|
||||
switch (this.textshow) {
|
||||
case '登录':
|
||||
uni.showToast({
|
||||
title: '登录成功',
|
||||
icon: 'none'
|
||||
});
|
||||
this.messageshow = false;
|
||||
this.reset(); //重置
|
||||
break;
|
||||
case '人脸':
|
||||
await this.accountqrcode();
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
//开票员类型列表
|
||||
async onShowdatadlsf() {
|
||||
let res = await this.api.szzpytypeofinvoicer();
|
||||
this.columnsdlsf = res.data;
|
||||
},
|
||||
taxexempttype(item, index) {
|
||||
this.addform.dlsfname = item.name;
|
||||
this.addform.dlsf = item.id;
|
||||
},
|
||||
regionclick(item, index) {
|
||||
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.region.forEach((i) => {
|
||||
if (i.code == item.dqbm) {
|
||||
this.addform.dqbmname = i.name;
|
||||
}
|
||||
});
|
||||
// 开票人类型
|
||||
this.columnsdlsf.forEach((i) => {
|
||||
if (i.id == item.dlsf) {
|
||||
this.addform.dlsfname = i.name;
|
||||
}
|
||||
});
|
||||
this.showpopup = true;
|
||||
},
|
||||
// 修改开票人
|
||||
async szzpyaddinvoicer() {
|
||||
if (this.addform.dlsfname == null || this.addform.dlsfname == '') {
|
||||
uni.showToast({
|
||||
title: '选择等录身份不能为空',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.addform.dlmm == null || this.addform.dlmm == '') {
|
||||
uni.showToast({
|
||||
title: '电子税务局登录密码不能为空',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.addform.taxname == null || this.addform.taxname == '') {
|
||||
uni.showToast({
|
||||
title: '办税人姓名不能为空',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (this.addform.taxphone == null || this.addform.taxphone == '') {
|
||||
uni.showToast({
|
||||
title: '办税人手机号码不能为空',
|
||||
icon: 'none'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
// this.addform.taxphone = this.codephone
|
||||
let res = await this.api.szzpyaddinvoicer(this.addform);
|
||||
if (res.code == 1) {
|
||||
this.showpopup = false;
|
||||
this.messageshow = true;
|
||||
}
|
||||
},
|
||||
// 修改后的下一步
|
||||
async szzpyaddinvoicersendsms() {
|
||||
this.codelang = this.addform.code;
|
||||
let res = await this.api.szzpyaddinvoicersendsms(this.addform);
|
||||
if (res.code == 1) {
|
||||
this.showpopup = false;
|
||||
uni.showToast({
|
||||
title: '修改成功',
|
||||
icon: 'none'
|
||||
});
|
||||
this.messageshow = false;
|
||||
this.reset(); //重置
|
||||
}
|
||||
},
|
||||
//再次获取验证码
|
||||
async clickfasongyanzhengm() {
|
||||
switch (this.textshow) {
|
||||
case '修改':
|
||||
await this.szzpyaddinvoicer();
|
||||
break;
|
||||
case '登录':
|
||||
await this.getsendsms();
|
||||
break;
|
||||
case '人脸':
|
||||
await this.accountqrcode();
|
||||
break;
|
||||
}
|
||||
this.yanzhengm(true); //验证码
|
||||
},
|
||||
//点击确定
|
||||
queding() {
|
||||
console.log(this.textshow);
|
||||
switch (this.textshow) {
|
||||
case '修改':
|
||||
this.szzpyaddinvoicersendsms();
|
||||
break;
|
||||
case '登录':
|
||||
this.sensms();
|
||||
break;
|
||||
case '人脸':
|
||||
this.sensms();
|
||||
break;
|
||||
}
|
||||
},
|
||||
// 验证码
|
||||
yanzhengm(e) {
|
||||
if (e) {
|
||||
uni.showToast({
|
||||
title: '验证码发送成功',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
// 定时器
|
||||
this.showText = false;
|
||||
this.Recapture = '重新获取';
|
||||
var interval = setInterval(() => {
|
||||
let times = --this.second;
|
||||
this.second = times < 10 ? '0' + times : times; //小于10秒补 0
|
||||
}, 1000);
|
||||
setTimeout(() => {
|
||||
clearInterval(interval);
|
||||
this.second = 60;
|
||||
this.showText = true;
|
||||
}, 60000);
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.form = {
|
||||
user_name: '',
|
||||
time: '',
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
};
|
||||
this.textshow = '';
|
||||
this.loginid = '';
|
||||
this.codelang = '';
|
||||
this.codephone = '';
|
||||
this.popupshow = false;
|
||||
this.canvasshow = false;
|
||||
this.newissuedbyliststatus();
|
||||
},
|
||||
// 列表
|
||||
async newissuedbyliststatus() {
|
||||
this.form.status = 'loading';
|
||||
let res = await this.api.newissuedbyliststatus({
|
||||
user_name: this.form.user_name,
|
||||
time: this.form.time,
|
||||
page: this.form.page,
|
||||
status: this.form.type
|
||||
});
|
||||
if (this.form.page == 1 && res.data.length == 0) {
|
||||
this.form.list = res.data;
|
||||
this.form.status = 'nomore';
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data;
|
||||
} else {
|
||||
this.form.list = [...this.form.list, ...res.data];
|
||||
}
|
||||
if (res.data.length < 10) this.form.status = 'nomore';
|
||||
else this.form.status = 'loadmore';
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
},
|
||||
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;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
width: 100%;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #f39d52;
|
||||
}
|
||||
}
|
||||
|
||||
.contentitemtext {
|
||||
margin-top: 26rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.contentitembotton {
|
||||
margin-top: 34rpx;
|
||||
border-top: 1rpx solid #e5e5e5;
|
||||
padding-top: 30rpx;
|
||||
|
||||
.flex-colum {
|
||||
padding: 0 22rpx;
|
||||
|
||||
image {
|
||||
width: 37.89rpx;
|
||||
height: 37.89rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
margin-top: 8rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.messagebox {
|
||||
width: 694rpx;
|
||||
max-height: 870rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
padding: 28rpx 32rpx;
|
||||
|
||||
.tabs {
|
||||
text {
|
||||
margin-left: 10rpx;
|
||||
font-size: 34rpx;
|
||||
text-align: center;
|
||||
margin: 16rpx;
|
||||
}
|
||||
|
||||
text:nth-child(1) {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.tabsselect {
|
||||
color: #318afe;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.messageboxtop {
|
||||
padding: 10rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
border-bottom: 2rpx solid #e5e5e5;
|
||||
}
|
||||
|
||||
.messageboxtoptext {
|
||||
position: relative;
|
||||
margin-top: 28rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 300;
|
||||
font-size: 24rpx;
|
||||
color: #666;
|
||||
|
||||
input {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.repeat {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 26rpx;
|
||||
width: 25rpx;
|
||||
height: 17rpx;
|
||||
}
|
||||
|
||||
.repeats {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 26rpx;
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
color: #ffffff;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.box {
|
||||
width: 300rpx;
|
||||
margin: 100rpx auto 0rpx auto;
|
||||
text-align: center;
|
||||
padding: 8rpx 16rpx 6rpx 16rpx;
|
||||
background: #288efb;
|
||||
border-radius: 15rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.popupbox {
|
||||
width: 694rpx;
|
||||
max-height: 870rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.popupboxtop {
|
||||
position: relative;
|
||||
padding: 32rpx 0 26rpx 38rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
border-bottom: 2rpx solid #e5e5e5;
|
||||
}
|
||||
|
||||
.popupboxform {
|
||||
padding: 0rpx 32rpx 30rpx 32rpx;
|
||||
overflow: auto;
|
||||
height: 74%;
|
||||
|
||||
.addshowboxinput {
|
||||
margin-top: 32rpx;
|
||||
|
||||
.addshowboxinputtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.addshowboxinput_inp {
|
||||
margin-top: 24rpx;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 66rpx;
|
||||
background: #fff;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
|
||||
.listinput_leftrelative {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex: auto;
|
||||
height: 100%;
|
||||
background: #ffffff;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
|
||||
.leftrelativetext {
|
||||
padding: 6rpx 24rpx;
|
||||
color: #6f6f6f;
|
||||
}
|
||||
|
||||
.listinput_leftabsolute {
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
width: 100%;
|
||||
top: 65rpx;
|
||||
max-height: 250rpx;
|
||||
overflow: auto;
|
||||
background: #fff;
|
||||
border: 1px solid #d9d9d9;
|
||||
|
||||
view {
|
||||
padding: 6rpx 24rpx;
|
||||
color: #6f6f6f;
|
||||
}
|
||||
|
||||
.class {
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
border-bottom: 1rpx solid #e3d8d8;
|
||||
background: #f1f1f1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 0 16rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.absolute {
|
||||
padding: 8rpx 18rpx;
|
||||
position: absolute;
|
||||
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;
|
||||
right: 16rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.addshowbox_box {
|
||||
padding-top: 32rpx;
|
||||
padding-right: 16rpx;
|
||||
width: 100%;
|
||||
border-top: 2rpx solid #e5e5e5;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: flex-start;
|
||||
|
||||
.addshowbox_boxitem {
|
||||
width: 112rpx;
|
||||
height: 56rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
line-height: 56rpx;
|
||||
margin-left: 16rpx;
|
||||
}
|
||||
|
||||
.addshowbox_boxitem:nth-child(1) {
|
||||
text-align: center;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.addshowbox_boxitem:nth-child(2) {
|
||||
text-align: center;
|
||||
background: #318afe;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
96
me/gift/duihuan.vue
Normal file
@@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<view class="min-page bg-gray u-font-28">
|
||||
<view class="block bg-fff border-r-18 default-box-padding">
|
||||
<view>
|
||||
<view>中奖用户手机号</view>
|
||||
<view class="border 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>
|
||||
<view>收货地址</view>
|
||||
<view class="border 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>
|
||||
<view class="border u-m-t-24 u-p-l-24">
|
||||
<u-input v-model="query.remark" type="text" placeholder="请输入备注"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="u-m-t-48">
|
||||
<view>兑换事项</view>
|
||||
<view class="u-m-t-16 color-999">
|
||||
请认真核实兑换账号,一但兑换成功后,不予退换。
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="u-flex u-row-center">
|
||||
<view class="btn-circle duihuan" @click="exchange">确认兑换</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
query: {
|
||||
discSpinningRecordId: null,
|
||||
source: 1,
|
||||
phone: "",
|
||||
address: "",
|
||||
remark: "",
|
||||
},
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
console.log(options)
|
||||
if ( options.id ) {
|
||||
this.query.discSpinningRecordId = options.id
|
||||
}
|
||||
if ( options.source ) {
|
||||
this.query.source = options.source
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
exchange(){
|
||||
let url = ""
|
||||
if ( !this.query.phone ) {
|
||||
uni.showToast({ title: '请输入中奖用户手机号', icon: 'none' });
|
||||
return;
|
||||
}
|
||||
if ( !this.query.address ) {
|
||||
uni.showToast({ title: '请输入中奖用户地址', icon: 'none' });
|
||||
return;
|
||||
}
|
||||
this.$Request.postJson("app/userPrizeExchange/exchange", this.query).then(res => {
|
||||
if (res.code == 0 ) {
|
||||
uni.navigateBack()
|
||||
} else {
|
||||
uni.showToast({ title: res.msg, icon: 'none' });
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.border {
|
||||
border: 1px solid #999999;
|
||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||
}
|
||||
.duihuan{
|
||||
background: #ED838A;
|
||||
width: 556rpx;
|
||||
padding: 18rpx 0;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
margin-top: 84rpx;
|
||||
}
|
||||
.min-page {
|
||||
padding: 32rpx 20rpx;
|
||||
}
|
||||
</style>
|
||||
176
me/gift/gift.vue
Normal file
@@ -0,0 +1,176 @@
|
||||
<template>
|
||||
<view class="min-page 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="list">
|
||||
<view class="tab">
|
||||
<view class="tab_item"
|
||||
:class="{active: item.type == tabIndex}"
|
||||
@click="tabClick(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="color-666 u-font-24">中奖时间 2024-09-11 10:20:11</view>
|
||||
<view class="u-m-t-24 u-flex u-row-between">
|
||||
<view class="u-flex-1 u-flex u-col-top">
|
||||
<u-image width="128rpx" height="128rpx" src="/static/red-pack.png"></u-image>
|
||||
<view class="u-m-l-16">
|
||||
<view>大额红包</view>
|
||||
<view class="color-999 u-font-24 u-m-t-16">×1</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="">
|
||||
<view class="btn-circle duihuan" @click="toDuiHuan(item)">立即兑换</view>
|
||||
<!-- <view class="btn-circle duihuan finish">已完成</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<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> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
background: {
|
||||
backgroundColor: 'transparent'
|
||||
},
|
||||
tab: [{label: '抽奖记录', type: 1},{label: '兑换记录', type: 2}],
|
||||
tabIndex: 1,
|
||||
query: {
|
||||
page: 10,
|
||||
limit: 1,
|
||||
source: 1,
|
||||
},
|
||||
total: 0,
|
||||
status: 'nomore',
|
||||
hasAjax:true,
|
||||
list:[]
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
if ( options.source ) {
|
||||
this.query.source = options.source
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
toDuiHuan(item){
|
||||
uni.navigateTo({
|
||||
url:`/me/gift/duihuan?source=${this.query.source}&id=${item.id}`
|
||||
})
|
||||
},
|
||||
tabClick(item){
|
||||
this.list = [];
|
||||
this.tabIndex = item.type;
|
||||
this.getList()
|
||||
},
|
||||
getList(){
|
||||
let url = ""
|
||||
if ( this.tabIndex == 1) {
|
||||
url = "app/discSpinningRecord/selectDiscSpinningRecord"
|
||||
} else {
|
||||
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
|
||||
} else {
|
||||
this.list = res.page.list
|
||||
this.total = res.page.totalCount
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
onReachBottom: function () {
|
||||
if (this.page * this.limit < this.total) {
|
||||
this.page = this.page + 1;
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.duihuan {
|
||||
background: linear-gradient(87deg, #ED8087 0%, #ECA2AA 100%);
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
padding: 8rpx 16rpx;
|
||||
text-align: center;
|
||||
|
||||
&.finish {
|
||||
background: #E5E5E5;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.gift-bg {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 524rpx;
|
||||
background: url('~static/images/gift-bg.png') no-repeat center center/cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: cover;
|
||||
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");
|
||||
}
|
||||
|
||||
}
|
||||
.empty{
|
||||
// min-height: 50vh;
|
||||
}
|
||||
|
||||
.min-page {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.list {
|
||||
margin: 0 20rpx;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
margin-top: -148rpx;
|
||||
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
||||
overflow: hidden;
|
||||
background-color: #fff;
|
||||
.tab{
|
||||
display: flex;
|
||||
.tab_item{
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
color: #333;
|
||||
}
|
||||
.tab_item.active{
|
||||
background-color: #ECA2AA;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.item {
|
||||
padding: 32rpx 24rpx;
|
||||
border-bottom: 1rpx solid #E5E5E5;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
Before Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 206 KiB |
|
Before Width: | Height: | Size: 410 KiB |
|
Before Width: | Height: | Size: 203 KiB |
|
Before Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 350 KiB |
|
Before Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 197 KiB |
|
Before Width: | Height: | Size: 537 KiB |
|
Before Width: | Height: | Size: 146 KiB |
|
Before Width: | Height: | Size: 350 KiB |
|
Before Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 248 KiB |
|
Before Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 416 KiB |
@@ -1,121 +0,0 @@
|
||||
<template>
|
||||
<view class="min-pageczg bg-gray u-font-28">
|
||||
<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">
|
||||
<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">
|
||||
<u-input v-model="query.address" type="text" placeholder="请输入收货地址"></u-input>
|
||||
</view>
|
||||
<view>备注</view>
|
||||
<view class="borderczg u-m-t-24 u-p-l-24">
|
||||
<u-input v-model="query.remark" type="text" placeholder="请输入备注"></u-input>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="u-m-t-48">
|
||||
<view>兑换事项</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 {
|
||||
data() {
|
||||
return {
|
||||
query: {
|
||||
discSpinningRecordId: null,
|
||||
source: 1,
|
||||
phone: '',
|
||||
address: '',
|
||||
remark: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
onLoad(options) {
|
||||
console.log(options);
|
||||
if (options.id) {
|
||||
this.query.discSpinningRecordId = options.id;
|
||||
}
|
||||
if (options.source) {
|
||||
this.query.source = options.source;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
czgwexchange() {
|
||||
let url = '';
|
||||
if (!this.query.phone) {
|
||||
uni.showToast({
|
||||
title: '请输入中奖用户手机号',
|
||||
icon: 'none'
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (!this.query.address) {
|
||||
uni.showToast({
|
||||
title: '请输入中奖用户地址',
|
||||
icon: 'none'
|
||||
});
|
||||
return;
|
||||
}
|
||||
this.$Request.postJson('app/userPrizeExchange/exchange', this.query).then((res) => {
|
||||
if (res.code == 0) {
|
||||
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 {
|
||||
border: 1px solid #999999;
|
||||
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||
}
|
||||
|
||||
.duihuan {
|
||||
background: #ed838a;
|
||||
width: 556rpx;
|
||||
padding: 18rpx 0;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
margin-top: 84rpx;
|
||||
}
|
||||
|
||||
.min-pageczg {
|
||||
padding: 32rpx 20rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,188 +0,0 @@
|
||||
<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>
|
||||
<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>
|
||||
<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">
|
||||
<view class="u-flex-1 u-flex u-col-top">
|
||||
<u-image width="128rpx" height="128rpx" src="/static/red-pack.png"></u-image>
|
||||
<view class="u-m-l-16">
|
||||
<view>大额红包</view>
|
||||
<view class="color-999 u-font-24 u-m-t-16">×1</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="">
|
||||
<view class="btn-circle duihuan" @click="toDuiHuan(item)">立即兑换</view>
|
||||
<!-- <view class="btn-circle duihuan finish">已完成</view> -->
|
||||
</view>
|
||||
</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">
|
||||
<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 {
|
||||
data() {
|
||||
return {
|
||||
background: {
|
||||
backgroundColor: 'transparent'
|
||||
},
|
||||
tab: [
|
||||
{ label: '抽奖记录', type: 1 },
|
||||
{ label: '兑换记录', type: 2 }
|
||||
],
|
||||
tabIndex: 1,
|
||||
query: {
|
||||
page: 10,
|
||||
limit: 1,
|
||||
source: 1
|
||||
},
|
||||
total: 0,
|
||||
status: 'nomore',
|
||||
hasAjax: true,
|
||||
list: []
|
||||
};
|
||||
},
|
||||
onLoad(options) {
|
||||
if (options.source) {
|
||||
this.query.source = options.source;
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getListczg();
|
||||
},
|
||||
methods: {
|
||||
toDuiHuan(item) {
|
||||
uni.navigateTo({
|
||||
url: `/me/gift/duihuan?source=${this.query.source}&id=${item.id}`
|
||||
});
|
||||
},
|
||||
tabClickczgw(item) {
|
||||
this.list = [];
|
||||
this.tabIndex = item.type;
|
||||
this.getListczg();
|
||||
},
|
||||
getListczg() {
|
||||
let url = '';
|
||||
if (this.tabIndex == 1) {
|
||||
url = 'app/discSpinningRecord/selectDiscSpinningRecord';
|
||||
} else {
|
||||
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;
|
||||
} else {
|
||||
this.list = res.page.list;
|
||||
this.total = res.page.totalCount;
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
onReachBottom: function () {
|
||||
if (this.page * this.limit < this.total) {
|
||||
this.page = this.page + 1;
|
||||
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%);
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
padding: 8rpx 16rpx;
|
||||
text-align: center;
|
||||
|
||||
&.finish {
|
||||
background: #e5e5e5;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
|
||||
.gift-bg {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 524rpx;
|
||||
background: url('~static/images/gift-bg.png') no-repeat center center/cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: cover;
|
||||
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');
|
||||
}
|
||||
}
|
||||
.empty {
|
||||
// min-height: 50vh;
|
||||
}
|
||||
|
||||
.min-pageczg {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.list {
|
||||
margin: 0 20rpx;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
margin-top: -148rpx;
|
||||
border-radius: 18rpx 18rpx 18rpx 18rpx;
|
||||
overflow: hidden;
|
||||
background-color: #fff;
|
||||
.tab {
|
||||
display: flex;
|
||||
.tab_item {
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
color: #333;
|
||||
}
|
||||
.tab_item.active {
|
||||
background-color: #eca2aa;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.item {
|
||||
padding: 32rpx 24rpx;
|
||||
border-bottom: 1rpx solid #e5e5e5;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,580 +0,0 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="contenttop">
|
||||
<view class="flex-start">
|
||||
<input type="text" placeholder="请输入抬头名称" v-model="form.user_name" @input="onInput" />
|
||||
<text @click="popupshow = !popupshow">筛选</text>
|
||||
</view>
|
||||
<view class="contenttopbox flex-center">
|
||||
<text @click="form.type = '-1',form.page = '1',form.user_name = '',invoicingrecordsthatneed()"
|
||||
:class="form.type == '-1'?'classtext':''">待审核</text>
|
||||
<text @click="form.type = '1',form.page = '1',form.user_name = '',invoicingrecordsthatneed()"
|
||||
:class="form.type == '1'?'classtext':''">已处理</text>
|
||||
<image src="components/help (4).JPG" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="contentbox">
|
||||
<view class="contentboxitem" v-for="(item,index) in form.list" :key="index">
|
||||
<view class="contentboxitemtop flex-between">
|
||||
<text>{{item.user_name}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票状态:</text>
|
||||
<text>{{item.status}}</text>
|
||||
</view>
|
||||
<image src="components/help (15).JPG" mode=""></image>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票类型:</text>
|
||||
<text>{{item.type}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>发票金额:</text>
|
||||
<text>{{item.price}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext">
|
||||
<text>创建时间</text>
|
||||
<text>{{item.createtime}}</text>
|
||||
</view>
|
||||
<view class="contentboxitemtext flex-start" @click="previewImage(item.img)">
|
||||
<text>开票凭证</text>
|
||||
<image :src="item.img" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view v-if="item.status == '待审核'" class="contentboxitembutton flex-center">
|
||||
<view class="buttonone" @click="storereviewandinvoicing(item,1)">
|
||||
通过
|
||||
</view>
|
||||
<view class="buttontow" @click="clickconfirmshow = true,no = ''">
|
||||
拒绝
|
||||
</view>
|
||||
</view>
|
||||
<image src="components/help (7).JPG" mode=""></image>
|
||||
<u-popup :show="clickconfirmshow" mode="center" :round="10">
|
||||
<view class="popupshow">
|
||||
<view class="Box_box flex-between">
|
||||
<view>拒绝理由:</view>
|
||||
<u--textarea v-model="no" placeholder="请输入拒绝理由"></u--textarea>
|
||||
</view>
|
||||
<view class="content_bottom">
|
||||
<view class="content_bottomone" @click="storereviewandinvoicing(item,6)">
|
||||
确定
|
||||
</view>
|
||||
<view class="content_bottomtow" @click="clickconfirmshow = false,no = ''">
|
||||
取消
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</view>
|
||||
<u-loadmore :status="form.status" />
|
||||
<u-popup :show="popupshow" @close="popupshow = !popupshow" :round="10">
|
||||
<view class="popupshow">
|
||||
<view class="popupshowtop">
|
||||
筛选
|
||||
</view>
|
||||
<view class="popupshowbox">
|
||||
<view class="popupshowboxtitel">
|
||||
按时间筛选
|
||||
</view>
|
||||
<view class="popupshowbox_box flex-between">
|
||||
<view class="popupshowbox_item" v-for="(item,index) in daylist" :key="index"
|
||||
@click="clickday(item,index)" :class="selectshow === index ? 'select':''">
|
||||
{{item.name}}
|
||||
</view>
|
||||
<view class="popupshowbox_itemzdy flex-between" v-if="showpickerbox && selectshow == 2">
|
||||
<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 1">
|
||||
{{starttime}}
|
||||
</view>
|
||||
-<view class="popupshowbox_item" @click="showpicker=!showpicker,clickshowpicker = 2">
|
||||
{{endtime}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="boxboutton flex-between">
|
||||
<view class="boxbouttonitem" @click="reset">
|
||||
重置
|
||||
</view>
|
||||
<view class="boxbouttonitem" @click="clickdetermine">
|
||||
确定
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
clickconfirmshow: false,
|
||||
popupshow: false,
|
||||
showpicker: false, //选择时间
|
||||
showpickerbox: false, //是否显示这个盒子
|
||||
clickshowpicker: '',
|
||||
starttime: '', //起始时间
|
||||
endtime: '',
|
||||
selectshow: '', //选中
|
||||
no: '',
|
||||
form: {
|
||||
user_name: '',
|
||||
time: "",
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
},
|
||||
daylist: [{
|
||||
id: 1,
|
||||
name: '仅30天'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '近180天'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自定义'
|
||||
}
|
||||
],
|
||||
}
|
||||
},
|
||||
async onLoad(e) {
|
||||
this.invoicingrecordsthatneed()
|
||||
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.form.status != 'nomore') {
|
||||
this.form.page = ++this.form.page;
|
||||
this.invoicingrecordsthatneed()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 审核
|
||||
async storereviewandinvoicing(item, i) {
|
||||
let res = await this.api.storereviewandinvoicing({
|
||||
id: item.id,
|
||||
no: this.no,
|
||||
s_type: i
|
||||
})
|
||||
this.reset()
|
||||
},
|
||||
// 查看图片
|
||||
previewImage(url) {
|
||||
uni.previewImage({
|
||||
current: 1,
|
||||
urls: [url]
|
||||
});
|
||||
},
|
||||
|
||||
// 时间
|
||||
clickday(item, index) {
|
||||
|
||||
const d = new Date()
|
||||
const year = d.getFullYear()
|
||||
let month = d.getMonth() + 1
|
||||
let date = d.getDate()
|
||||
month = month < 10 ? `0${month}` : month
|
||||
date = date < 10 ? `0${date}` : date
|
||||
switch (index) {
|
||||
case 0:
|
||||
this.starttime = `${(month-1)==0?(year-1):year}-${(month-1)==0?12:(month-1)}-${date}`
|
||||
this.endtime = `${year}-${month}-${date}`
|
||||
this.showpickerbox = false
|
||||
break;
|
||||
case 1:
|
||||
this.starttime = `${year}-${month>6?(month-6):(month+12-6)}-${date}`
|
||||
this.endtime = `${year}-${month}-${date}`
|
||||
this.showpickerbox = false
|
||||
break;
|
||||
case 2:
|
||||
this.starttime = '' //起始时间
|
||||
this.endtime = ''
|
||||
this.showpickerbox = true
|
||||
break;
|
||||
}
|
||||
this.selectshow = index
|
||||
},
|
||||
// 确定时间
|
||||
confirmpicker(e) {
|
||||
console.log(this.clickshowpicker, uni.$u.timeFrom(e.value, 'yyyy-mm-dd'))
|
||||
if (this.clickshowpicker == 1) {
|
||||
this.starttime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd')
|
||||
}
|
||||
if (this.clickshowpicker == 2) {
|
||||
this.endtime = uni.$u.timeFrom(e.value, 'yyyy-mm-dd')
|
||||
}
|
||||
this.showpicker = !this.showpicker
|
||||
},
|
||||
// 确定
|
||||
clickdetermine() {
|
||||
if (this.starttime != '' && this.endtime != '') {
|
||||
this.form.time = `${this.starttime} 00:00:00,${this.endtime} 00:00:00`
|
||||
}
|
||||
this.popupshow = false
|
||||
this.invoicingrecordsthatneed()
|
||||
},
|
||||
// 重置
|
||||
reset() {
|
||||
this.form = {
|
||||
user_name: '',
|
||||
time: "",
|
||||
page: 1,
|
||||
type: '-1',
|
||||
status: 'loadmore',
|
||||
list: []
|
||||
}
|
||||
this.selectshow = ''
|
||||
this.starttime = ''
|
||||
this.endtime = ''
|
||||
this.popupshow = false
|
||||
this.invoicingrecordsthatneed()
|
||||
},
|
||||
// 搜索
|
||||
onInput(e) {
|
||||
if ([...e.detail.value].length >= 2) {
|
||||
this.form.page = 1
|
||||
this.form.list = []
|
||||
uni.$u.debounce(this.invoicingrecordsthatneed, 500)
|
||||
}
|
||||
},
|
||||
// 列表
|
||||
async invoicingrecordsthatneed() {
|
||||
this.form.status = 'loading';
|
||||
let res = await this.api.invoicingrecordsthatneed({
|
||||
user_name: this.form.user_name,
|
||||
time: this.form.time,
|
||||
page: this.form.page,
|
||||
status: this.form.type,
|
||||
})
|
||||
if (this.form.page == 1 && res.data.length == 0) {
|
||||
this.form.list = res.data
|
||||
this.form.status = 'nomore'
|
||||
return false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (this.form.page == 1) {
|
||||
this.form.list = res.data
|
||||
} else {
|
||||
this.form.list = [...this.form.list, ...res.data]
|
||||
}
|
||||
if (res.data.length < 10) this.form.status = 'nomore';
|
||||
else this.form.status = 'loadmore';
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
page {
|
||||
background: #F9F9F9;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0;
|
||||
|
||||
.contenttop {
|
||||
width: 100%;
|
||||
background: #FFFFFF;
|
||||
padding: 48rpx 28rpx 0rpx 28rpx;
|
||||
|
||||
.flex-start {
|
||||
input {
|
||||
padding: 18rpx 24rpx;
|
||||
height: 64rpx;
|
||||
background: #F6F6F6;
|
||||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||||
flex: auto;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
text {
|
||||
padding: 0 0 0 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.contenttopbox {
|
||||
text {
|
||||
width: 33%;
|
||||
text-align: center;
|
||||
padding: 32rpx 0 24rpx 0;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.classtext {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
width: 30%;
|
||||
border-bottom: 5rpx solid #318AFE;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
content: '';
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
padding: 0 28rpx;
|
||||
|
||||
.popupshowtop {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.popupshowbox {
|
||||
.popupshowboxtitel {
|
||||
margin-top: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.popupshowbox_box {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 176rpx;
|
||||
height: 56rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: '';
|
||||
width: 176rpx;
|
||||
}
|
||||
|
||||
.select {
|
||||
border: 1px solid #1b00ff;
|
||||
color: #0600ff;
|
||||
}
|
||||
|
||||
.popupshowbox_itemzdy {
|
||||
width: 100%;
|
||||
|
||||
.popupshowbox_item {
|
||||
margin-top: 24rpx;
|
||||
width: 40%;
|
||||
height: 56rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.boxboutton {
|
||||
margin: 400rpx 0 50rpx 0;
|
||||
|
||||
.boxbouttonitem {
|
||||
width: 330rpx;
|
||||
height: 72rpx;
|
||||
border-radius: 50rpx 50rpx 50rpx 50rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(1) {
|
||||
border: 2rpx solid #D9D9D9;
|
||||
background: #FFFFFF;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.boxbouttonitem:nth-child(2) {
|
||||
background: #2F87FD;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.contentbox {
|
||||
width: 100%;
|
||||
padding: 0 28rpx;
|
||||
|
||||
.contentboxitem {
|
||||
margin-top: 32rpx;
|
||||
padding: 32rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
||||
|
||||
.contentboxitemtop {
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #F39D52;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitemtext {
|
||||
margin-top: 24rpx;
|
||||
|
||||
text:nth-child(1) {
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
text:nth-child(2) {
|
||||
margin-left: 24rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
image {
|
||||
margin-left: 24rpx;
|
||||
width: 158rpx;
|
||||
height: 94rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #D9D9D9;
|
||||
}
|
||||
}
|
||||
|
||||
.contentboxitembutton {
|
||||
margin-top: 32rpx;
|
||||
|
||||
.buttonone {
|
||||
width: 244rpx;
|
||||
height: 72rpx;
|
||||
background: #2F87FD;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
|
||||
.buttontow {
|
||||
margin-left: 32rpx;
|
||||
width: 244rpx;
|
||||
height: 72rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||
border: 2rpx solid #707070;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
line-height: 72rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.popupshow {
|
||||
width: 600rpx;
|
||||
border-radius: 16rpx;
|
||||
|
||||
.Box_box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
text-align: right;
|
||||
padding: 24rpx;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
font-size: 28rpx;
|
||||
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.content_bottom {
|
||||
margin: 70rpx auto 60rpx auto;
|
||||
width: 70%;
|
||||
height: 84rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.content_bottomone {
|
||||
padding: 16rpx 60rpx;
|
||||
background: #288EFB;
|
||||
border-radius: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.content_bottomtow {
|
||||
padding: 16rpx 60rpx;
|
||||
background: red;
|
||||
border-radius: 32rpx;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
Before Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 328 KiB |
|
Before Width: | Height: | Size: 177 KiB |