Files
Hfive/pages/index/index.vue
2025-01-03 13:26:37 +08:00

473 lines
14 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="content">
<!-- 占位符导航栏 -->
<navseat :opacity='false' :title='"首页"' :titleshow='true' :iconshow='false' :heightshow='true'
:namecolor='"#fff"' iconcolor='#fff' ></navseat>
<view class="topswiper" v-if="restype == 2">
<u-swiper :list="swiperlist" height="166"></u-swiper>
<view class="onetopswiper">
发票服务
</view>
<view class="towtopswiper flex-between" @click="wodekaifapiao">
<view class="flex-colum-start" style="color: #2b378a;">
我的发票
</view>
<view class="towtopswipertow">
</view>
</view>
</view>
<view class="Box flex-between" v-if="restype == 1 && improveinformation">
<view class="content flex-colum" @click="indexInvoicing" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item3.png" mode="aspectFill"></image>
<text>极速开票</text>
</view>
<view class="content flex-colum" @click="webview" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item2.png" mode="aspectFill"></image>
<text>后台管理</text>
</view>
<view class="content flex-colum" @click="indexorder" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item1.png" mode="aspectFill"></image>
<text>开票记录</text>
</view>
<view class="content flex-colum" @click="notification" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item6.png" mode="aspectFill"></image>
<text>绑定通知</text>
</view>
<view class="content flex-colum" @click="drawer" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item5.png" mode="aspectFill"></image>
<text>开票员列表</text>
</view>
<view class="content flex-colum" @click="billingcode" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item7.png" mode="aspectFill"></image>
<text>开票码</text>
</view>
<view class="content flex-colum" @click="auditbilling" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item8.png" mode="aspectFill"></image>
<text>审核开票</text>
</view>
<!-- <view class="content flex-colum" @click="jumpToMiniProgram" v-if="improveinformation">
<image src="https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item8.png" mode="aspectFill"></image>
<text>跳转小程序</text>
</view>
<wx-open-launch-weapp class="content flex-colum" id="launch-btn" @launch="handleLaunch" @error="handleError"
username="gh_fa9286427a5b" path="pages/index/index.html">
<script type="text/wxtag-template">
<style>
.btn { padding: 12px;opacity:0 }
</style>
<button class="btn">打开小程序</button>
</script>
</wx-open-launch-weapp> -->
</view>
<!-- <view class="setClipboardDataclass" @click="setClipboardData" v-if="infos.deviceType != 'pc'">
网页版地址:https://h5-invoice.sxczgkj.cn
</view> -->
<!-- <pdf style="width: 400px; height: 400px;"
src="https://dppt.shaanxi.chinatax.gov.cn:8443/kpfw/fpjfzz/v1/exportDzfpwjEwm?Wjgs=PDF&Jym=124C&Fphm=24612000000037614300&Kprq=20240430152603&Czsj=1714461964182">
</pdf> -->
<!-- <iframe width="100%" height="100%" src="https://dppt.shaanxi.chinatax.gov.cn:8443/kpfw/fpjfzz/v1/exportDzfpwjEwm?Wjgs=PDF&Jym=124C&Fphm=24612000000037614300&Kprq=20240430152603&Czsj=1714461964182" frameborder="0"></iframe> -->
</view>
</template>
<script>
import wx from 'weixin-js-sdk';
import navseat from '@/components/navseat.vue'
export default {
components: {
navseat
},
data() {
return {
restype: 1,
swiperlist: [
'https://shuzu-download.oss-cn-shanghai.aliyuncs.com/advertise/2024-05-08-10-52-th-663ae8fc73220.png'
],
improveinformation: false,
improveinformationlist: {},
onLoaduserId: '',
infos: uni.getSystemInfoSync(),
store_status: uni.cache.get('store_status'),
list: [{
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item2.png',
name: '后台管理',
show: true,
text: 'houtai',
url: 'electric/index',
type: 2 //1是内链 2是外链 类型
},
{
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item1.png',
name: '开票记录',
show: true,
text: 'jilu',
url: 'electric/index',
type: 1 //1是内链 2是外链 类型
}, {
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item6.png',
name: '绑定通知',
show: true,
text: 'tongzhi',
url: 'electric/index',
type: 1 //1是内链 2是外链 类型
}, {
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item5.png',
name: '开票员列表',
show: true,
text: 'kaipiaoyuan',
url: 'electric/index',
type: 1 //1是内链 2是外链 类型
}, {
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item7.png',
name: '开票码',
show: true,
text: 'kaipiaoma',
url: 'electric/index',
type: 1 //1是内链 2是外链 类型
}, {
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item8.png',
name: '审核开票',
show: true,
text: 'shenhe',
url: 'electric/index',
type: 1 //1是内链 2是外链 类型
}, {
imge: 'https://czg-invoicing.oss-cn-beijing.aliyuncs.com/static/item10.png',
name: '退出登录',
show: true,
text: 'tuchu',
url: 'electric/index',
type: 3 //1是内链 2是外链 3退出 类型
}
]
};
},
async onLoad(e) {
await this.$onLaunched;
// #ifdef MP-WEIXIN
// 判断商家还是个体
let restype = await this.api.judgeuseridentity({
open_id: uni.cache.get('open_id') //临时登录凭证
})
console.log(restype.data)
this.restype = restype.data.type
if (this.restype == 1 && !uni.getStorageSync('logintoken')) {
uni.reLaunch({
url: '/pages/login/login'
})
return false;
}
// #endif
try {
if (e.userId) {
uni.cache.set('Type', e.type);
uni.cache.set('userId', e.userId);
// 传参进来肯定是极速开票固然store_status=1
uni.cache.set('store_status', 1);
}
} catch (e) {
//TODO handle the exception
}
// 总?
let token = await this.api.h5encryption({
store_id: uni.cache.get('userId')
})
if (token.code == 1) {
uni.cache.set('token', token.data.token);
}
let res = await this.api.storestorestatus({
store_id: uni.cache.get('userId')
})
if (res.code == 1 && uni.cache.get('store_status') == 1) {
this.improveinformationform = res.data.store
uni.cache.set('form', this.improveinformationform);
if (res.data.sz_status == 0) {
uni.reLaunch({
url: '/pages/index/information'
});
} else {
this.improveinformation = true
}
} else {
// 这是固定开票的判断
if (res.data.status == 4) { //如果极速开票和固定开票共存的情况下 直接跳转到极速开票的上传信息
this.improveinformation = true
return false
} else {
if (res.data.status == -1 || res.data.status == 2 || res.data.status == 0) {
uni.pro.navigateTo('merchant/information', res.data.store);
} else {
uni.pro.navigateTo('merchant/index');
}
}
}
},
// 监听跳转
handleLaunch() {
console.log('跳转');
},
// 监听错误
handleError() {
console.log('失败');
},
async onShow() {
try {
let res = await this.api.getrulelist()
this.list = res.data
console.log(res)
} catch (e) {
//TODO handle the exception
}
},
methods: {
async jumpToMiniProgram() {
let res = await this.api.userttwechat({
url: location.href.split('#')[0]
})
console.log(res)
// plus.share.getServices(function (res) {
// var sweixin = null;
// for (var i = 0; i < res.length; i++) {
// var t = res[i];
// if (t.id == 'weixin') {
// sweixin = t;
// }
// }
// if (sweixin) {
// sweixin.launchMiniProgram({
// id:'gh_fa9286427a5b', //这里写你的小程序原始id以gh开头
// type: 0, // //小程序版本 0-正式版; 1-测试版; 2-体验版
// path: 'pages/index/index' //这里是指定页的路径,如需传参直接字符串拼接(首页可以省略)
// });
// }
// });
// wx.config({
// "debug": true,
// "beta": false,
// "jsApiList": ['wx-open-launch-weapp'],
// openTagList: ['wx-open-launch-weapp'], // 跳转小程序时必填
// "appId": res.data.wechat_mini.appId,
// "nonceStr": res.data.wechat_mini.nonceStr,
// "timestamp": res.data.wechat_mini.timestamp,
// "url": res.data.wechat_mini.url,
// "signature": res.data.wechat_mini.signature,
// });
wx.config(res.data.wechat_mini);
// res.data.wechat_mini
// 在wx.ready内调用
wx.ready(res => {
console.log(res);
this.$nextTick(() => {
let btn = document.getElementById('launch-btn');
btn.addEventListener('launch', e => {
console.log('success');
});
btn.addEventListener('error', e => {
alert('小程序打开失败');
console.log('fail', e.detail);
});
});
});
wx.error(function(res) {
console.log('err', res)
});
// // #ifdef H5
// // 在H5环境中调用此函数来跳转到小程序
// wx.navigateToMiniProgram({
// appId: 'wxd88fffa983758a30', // 小程序的appid
// path: 'pages/index/index', // 打开的页面路径,若为空则打开首页
// extraData: {}, // 需要传递给小程序的数据
// success(res) {
// // 打开成功的回调
// console.log('跳转成功');
// },
// fail(err) {
// // 打开失败的回调
// console.error('跳转失败', err);
// }
// });
// // jumpToMiniProgram('小程序的appid', '小程序页面路径');
// // #endif
},
async quit() {
uni.showModal({
title: '提示',
content: '确定退出开票系统吗?',
success: async (res) => {
if (res.confirm) {
await this.api.userlogout()
uni.removeStorageSync('logintoken');
uni.removeStorageSync('token');
uni.reLaunch({
url: '/pages/login/login'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
},
setClipboardData() {
uni.setClipboardData({
data: 'https://h5-invoice.sxczgkj.cn/?userId=' + uni.cache.get('userId'),
success: function() {}
});
},
// 跳转
async clickcontent(item) {
switch (item.type) {
case 1:
uni.pro.navigateTo(item.url);
break;
case 2:
uni.navigateTo({
url: '/pages/webview/webview?tape=' + 1
})
break;
case 3:
uni.showModal({
title: '提示',
content: '确定退出开票系统吗?',
success: async (res) => {
if (res.confirm) {
await this.api.userlogout()
uni.removeStorageSync('logintoken');
uni.removeStorageSync('token');
uni.reLaunch({
url: '/pages/login/login'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
break;
}
},
auditbilling() {
uni.pro.navigateTo('index/auditbilling');
},
billingcode() {
uni.pro.navigateTo('index/billingcode');
},
drawer() {
uni.pro.navigateTo('index/drawerlist');
},
merchant() {
uni.pro.navigateTo('index/merchant');
},
information() {
uni.pro.navigateTo('index/information', this.improveinformationform);
},
notification() {
uni.pro.navigateTo('index/notification');
},
indexInvoicing() {
uni.pro.navigateTo('index/Invoicing');
},
merchantindex() {
uni.pro.navigateTo('merchant/index');
},
wodekaifapiao() {
uni.pro.navigateTo('hindex/involist');
},
async webview() {
// uni.pro.navigateTo('electric/index');
let res = await this.api.szzpyhurl({
store_id: uni.getStorageSync('userId')
})
if (res) {
uni.pro.navigateTo('webview/webview', {
url: res.data.url,
tape: 1
});
}
},
indexorder() {
uni.pro.navigateTo('index/order');
}
}
};
</script>
<style lang="scss">
page {
background: #F9F9F9;
}
.content {
.setClipboardDataclass {
width: 100%;
text-align: center;
margin-top: 90rpx;
color: #2f87fd;
font-weight: bold;
font-size: 28rpx;
}
.topswiper {
width: 100%;
padding: 32rpx 32rpx 0 32rpx;
.onetopswiper {
font-weight: bold;
margin-top: 32rpx;
}
.towtopswiper {
margin-top: 32rpx;
width: 100%;
padding: 24rpx 32rpx;
border-radius: 16rpx;
background: #d8eafe;
.towtopswipertow {
padding: 24rpx;
color: #fff;
background: #2a3aa1;
font-size: 40rpx;
width: 90rpx;
height: 90rpx;
text-align: center;
line-height: 45rpx;
border-radius: 45rpx;
}
}
}
.Box {
padding: 0rpx 28rpx;
.content {
margin-top: 32rpx;
width: 30%;
height: 218rpx;
background: #FFFFFF;
image {
width: 60rpx;
height: 60rpx;
}
text {
margin-top: 16rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
}
}
.Box::after {
content: '';
width: 30%;
display: inline-block;
}
}
</style>