This commit is contained in:
魏啾
2024-05-17 18:30:40 +08:00
parent 27100de568
commit 7cd5649764
22 changed files with 1980 additions and 50 deletions

View File

@@ -4,10 +4,16 @@
"version" : "0.0",
"configurations" : [
{
"app-plus" : {
"app-plus" :
{
"launchtype" : "local"
},
"default" : {
"default" :
{
"launchtype" : "local"
},
"mp-weixin" :
{
"launchtype" : "local"
},
"type" : "uniCloud"

View File

@@ -23,4 +23,28 @@ export default {
szzpyaddinvoicersendsms(data) { //上传验证码(新增开票员)
return uni.api.post("szzpy/addinvoicersendsms", data);
},
storerecog(data) { //营业执照识别
return uni.api.post("store/recog", data);
},
storemerchantfixedinvoicinglink(data) { //商家固定开票链接
return uni.api.post("store/merchantfixedinvoicinglink", data);
},
usersubopeninvoice(data) { //首页获取状态
return uni.api.post("user/subopeninvoice", data);
},
usersubopeninvoicefixed(data) { //用户提交开票信息(固定开票)
return uni.api.post("user/subopeninvoicefixed", data);
},
szzpyfailccho(data) { //开票审核失败回显
return uni.api.post("szzpy/failccho", data);
},
storeinvoicingrecordsthatneed(data) { //开票记录(固定开票)
return uni.api.post("store/invoicingrecordsthatneed", data);
},
storereviewandinvoicing(data) { //审核开票
return uni.api.post("store/reviewandinvoicing", data);
},
invoicingrecordsthatneeddetailstore(data) { //开票详情
return uni.api.post("store/invoicingrecordsthatneeddetail", data);
}
}

View File

@@ -37,17 +37,11 @@ async function request(options) {
mask: true
})
}
const system = uni.getSystemInfoSync();
const platformInfo = {
'ios': 2,
'android': 1
}
options.header = {
userId: uni.getStorageSync('userId'),
// userId: uni.getStorageSync('userId'),
'content-type': 'application/json'
}
let res = await uni.pro.request(options)
console.log(res)
if (res.code != 1) {
if (options.toast) {
uni.showToast({
@@ -173,7 +167,7 @@ function get(url, data, toast = true) {
return request({
url,
data,
toast
toast,
})
}

View File

@@ -76,7 +76,7 @@
},
"router" : {
"mode" : "history",
"base" : "/h5/"
"base" : ""
},
"uniStatistics" : {
"enable" : true

View File

@@ -15,6 +15,18 @@
"navigationBarTitleText": "完善商户信息",
"navigationStyle": "custom"
}
}, {
"path": "pages/index/billingcode",
"style": {
"navigationBarTitleText": "开票码",
"navigationStyle": "custom"
}
}, {
"path": "pages/index/auditbilling",
"style": {
"navigationBarTitleText": "审核开票",
"navigationStyle": "custom"
}
}, {
"path": "pages/index/drawer",
"style": {
@@ -65,6 +77,12 @@
}
}, {
"path": "pages/index/orderinfos",
"style": {
"navigationBarTitleText": "固定开票详情",
"navigationStyle": "custom"
}
}, {
"path": "pages/index/orderinfoauditbilling",
"style": {
"navigationBarTitleText": "开票详情",
"navigationStyle": "custom"
@@ -75,6 +93,25 @@
"navigationBarTitleText": "微信扫码开票",
"navigationStyle": "custom"
}
}, {
"path": "pages/hindex/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path": "pages/hindex/indexs",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}, {
"path": "pages/hindex/web",
"style": {
"navigationBarTitleText": "提交成功",
"navigationStyle": "custom"
}
}, {
"path": "pages/webview/webview",
"style": {

434
pages/hindex/index.vue Normal file
View File

@@ -0,0 +1,434 @@
<template>
<view class="content">
<view class="content_top">
<view :class="form.user_type == 1 ? 'content_topview':''" @click="clickakex(1)">
个人
</view>
<view :class="form.user_type == 2 ? 'content_topview':''" @click="clickakex(2)">
企业
</view>
</view>
<view class="content_item">
<view class="Box_box flex-between" v-if="form.user_type == 1">
<view>*姓名</view>
<view><input type="text" v-model="form.user_name" placeholder="请填写名称" /></view>
</view>
<view class="Box_box flex-between" v-if="form.user_type == 2">
<view>*单位名称</view>
<view style="position: relative; width:70%;">
<input type="text" v-if="subCategoryList.length == 0" v-model="form.user_name" placeholder="请填写公司名称"
@input="onInput" />
<view class="position" v-else>
<view class="positionitem" v-for="(item,index) in subCategoryList" :key="index"
@click="categorySubClick(item)">
{{item.companyName}}
</view>
</view>
</view>
</view>
<view class="Box_box flex-between" v-if="form.user_type == 2">
<view>*税号</view>
<view><input type="text" v-model="form.user_duty" placeholder="请填写公司税号" /></view>
</view>
<view class="Box_box flex-between">
<view>*邮箱</view>
<view><input type="text" v-model="form.email" placeholder="请填写邮箱" /></view>
</view>
<view class="Box_box flex-between">
<view>*手机号</view>
<view><input type="text" v-model="form.mobile" placeholder="请填写联系电话" /></view>
</view>
<!-- <view class="Box_box flex-between">
<view>备注</view>
<view><input type="text" v-model="form.notes" placeholder="请输入内容" /></view>
</view> -->
<view class="Box_box flex-between">
<view>备注</view>
<u--textarea v-model="form.notes" placeholder="请输入内容"></u--textarea>
</view>
<!-- <view class="Box_boxbox" @click="upload">
<view class="Box_boxone">*上传图片</view>
<view class="Box_boxtow" v-if="form.img">
<image :src="form.img" style="width: 100%; height: 100%;" mode=""></image>
</view>
<view class="Box_boxtow" v-else>
<image src="@/static/xj.png" style="width: 60rpx;height: 58rpx;" mode=""></image>
</view>
</view> -->
<view class="preservation flex-colum">
<view v-if="form.status_note"
style="width: 100%; color: #FF2B2B; padding: 28rpx 0;word-wrap: break-word;">
({{form.status_note|| '无'}})</view>
</view>
</view>
<view class="content_bottom" @click="saveMerchantBaseInfo">
确定
</view>
</view>
</template>
<script>
// import jWeixin from 'jweixin-module's
import _ from 'lodash'
export default {
data() {
return {
showtext: 0,
subCategoryList: [],
form: {
user_type: 2,
img: '',
user_name: "",
user_duty: "",
email: "",
mobile: '',
status_note: ''
}
}
},
async onLoad(e) {
this.form.id = e.id
this.form.open_id = e.open_id
if (e.view_type == 'fail') {
this.form.view_type = e.view_type
let res = await this.api.szzpyfailccho({
id: this.form.id,
view_type: this.form.view_type
})
try {
if (res.code == 1) {
this.form = res.data.data
this.form.status_note = res.data.status_note
}
} catch (e) {
//TODO handle the exception
}
}
},
methods: {
onInput(e) {
if (this.form.user_type == 2) {
if ([...e.detail.value].length >= 6) {
console.log(100000)
this.handleClick()
} else {
this.subCategoryList = []
}
}
},
handleClick: _.debounce(function() {
console.log(100000)
this.getOrder()
// 函数执行内容
}, 500),
categorySubClick(category) {
console.log(category, 86)
this.form.user_name = category.companyName
this.form.user_duty = category.creditCode
this.subCategoryList = []
},
upload() {
uni.chooseImage({
success: (chooseImageRes) => {
uni.pro.showLoading({
title: '上传中',
mask: true
});
const tempFilePaths = chooseImageRes.tempFilePaths;
uni.uploadFile({
url: 'https://cashieradmin.sxczgkj.cn' + '/api/qiNiuContent',
filePath: tempFilePaths[0],
name: 'file',
formData: {
open_id: this.form.open_id,
},
success: (uploadFileRes) => {
uni.showToast({
title: '上传成功',
icon: 'none',
})
uni.pro.hideLoading();
let data = JSON.parse(uploadFileRes.data)
this.form.img = data.data[0]
console.log(this.form)
},
fail: () => {
uni.pro.hideLoading();
}
});
},
fail: () => {
console.log(111)
uni.pro.hideLoading();
}
});
},
async saveMerchantBaseInfo() {
if (this.form.user_name == null || this.form.user_name == '') {
uni.showToast({
title: '请输入名称',
icon: 'none'
});
return false;
}
if (this.form.user_type == 2) {
if (this.form.user_duty == null || this.form.user_duty == '') {
uni.showToast({
title: '请输入税号',
icon: 'none'
});
return false;
}
}
if (this.form.email == null || this.form.email == '') {
uni.showToast({
title: '请输入邮箱',
icon: 'none'
});
return false;
}
if (this.form.mobile == null || this.form.mobile == '') {
uni.showToast({
title: '请输入手机号',
icon: 'none'
});
return false;
}
let res = await this.api.usersubopeninvoice({
id: this.form.id,
open_id: this.form.open_id,
user_name: this.form.user_name,
user_type: this.form.user_type,
user_duty: this.form.user_duty,
email: this.form.email,
img: this.form.img,
mobile: this.form.mobile,
notes: this.form.notes
})
if (res.code == 1) {
uni.showToast({
title: res.msg,
icon: 'none'
});
setTimeout(() => {
if (res.data.url) {
window.location.href = res.data.url
}
}, 1000);
// window.location.href = "https://i.hangzhouyiyao.cn/activities?appKey=3f4ca8be626445e8b306c2badafd6f46&appEntrance=1&business=money"
}
// uni.request({
// url: 'https://invoice.sxczgkj.cn/api/' + 'user/subopeninvoice',
// data: {
// //参数
// id: this.form.id,
// open_id: this.form.open_id,
// user_name: this.form.user_name,
// user_type: this.form.user_type,
// user_duty: this.form.user_duty,
// email: this.form.email,
// img: this.form.img,
// mobile: this.form.mobile,
// notes: this.form.notes
// },
// method: 'POST', //请求方式,必须为大写
// success: res => {
// uni.showToast({
// title: res.data.message || res.data.msg,
// icon: "none",
// })
// if (res.data.code == 1) {
// setTimeout(() => {
// if (res.data.data.url) {
// window.location.href = res.data.data.url
// }
// // let data = encodeURIComponent(res.data.data.url);
// // uni.navigateTo({
// // url: '/pages/index/web?src=' + data
// // })
// }, 1000);
// // window.location.href = "https://i.hangzhouyiyao.cn/activities?appKey=3f4ca8be626445e8b306c2badafd6f46&appEntrance=1&business=money"
// }
// }
// });
},
clickakex(e) {
this.form.user_type = e
this.form.user_name = ''
this.form.img = ''
this.form.user_duty = ''
this.form.email = ''
this.form.mobile = ''
},
async getOrder() { //搜索值
uni.request({
url: 'https://invoice.sxczgkj.cn/api/' + 'store/enterprise',
data: {
//参数
like: this.form.user_name,
open_id: this.form.open_id
},
method: 'POST', //请求方式,必须为大写
success: res => {
console.log('接口返回------', res);
setTimeout(() => {
if (this.page == 1) {
this.subCategoryList = res.data.data;
} else {
this.subCategoryList.push(...res.data.data);
}
}, 500)
}
});
}
}
}
</script>
<style lang="scss" scoped>
page {
background: #F9F9F9;
}
.content {
padding: 0 28rpx;
.content_top {
padding: 32rpx 110rpx;
width: 100%;
display: flex;
justify-content: space-between;
.content_topview {
background: #288EFB;
color: #fff;
}
view {
width: 142rpx;
height: 56rpx;
background: #fff;
color: #288EFB;
border-radius: 6rpx 6rpx 6rpx 6rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
line-height: 56rpx;
text-align: center;
}
}
.content_item {
width: 100%;
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
.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;
.position {
position: absolute;
right: 0;
top: 0;
background: #fff;
width: 100%;
max-height: 400rpx;
overflow: auto;
z-index: 99;
box-shadow: 1rpx 3rpx 6rpx #ccc;
.positionitem {
padding: 16rpx 10px;
border-bottom: 1rpx solid #ccc;
}
}
}
.preservation {
width: 100%;
text-align: center;
.preservation_box {
width: 100%;
height: 72rpx;
background: #288efb;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
.preservation_boxs {
width: 70%;
height: 72rpx;
background: #999999;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
}
.Box_boxbox {
width: 100%;
padding: 16rpx;
.Box_boxone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.Box_boxtow {
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
width: 254rpx;
height: 156rpx;
background: #FFFFFF;
border: 1rpx dashed #707070;
}
}
}
.content_bottom {
margin: 100rpx auto;
width: 80%;
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;
}
}
</style>

412
pages/hindex/indexs.vue Normal file
View File

@@ -0,0 +1,412 @@
<template>
<view class="content">
<view class="content_top">
<view :class="form.user_type == 1 ? 'content_topview':''" @click="clickakex(1)">
个人
</view>
<view :class="form.user_type == 2 ? 'content_topview':''" @click="clickakex(2)">
企业
</view>
</view>
<view class="content_item">
<view class="Box_box flex-between" v-if="form.user_type == 1">
<view>*姓名</view>
<view><input type="text" v-model="form.user_name" placeholder="请填写名称" /></view>
</view>
<view class="Box_box flex-between" v-if="form.user_type == 2">
<view>*单位名称</view>
<view style="position: relative; width:70%;">
<input type="text" v-if="subCategoryList.length == 0" v-model="form.user_name" placeholder="请填写公司名称"
@input="onInput" />
<view class="position" v-else>
<view class="positionitem" v-for="(item,index) in subCategoryList" :key="index"
@click="categorySubClick(item)">
{{item.companyName}}
</view>
</view>
</view>
</view>
<view class="Box_box flex-between" v-if="form.user_type == 2">
<view>*税号</view>
<view><input type="text" v-model="form.user_duty" placeholder="请填写公司税号" /></view>
</view>
<view class="Box_box flex-between">
<view>*邮箱</view>
<view><input type="text" v-model="form.email" placeholder="请填写邮箱" /></view>
</view>
<view class="Box_box flex-between">
<view>*手机号</view>
<view><input type="text" v-model="form.mobile" placeholder="请填写联系电话" /></view>
</view>
<view class="Box_box flex-between">
<view>*开票价格</view>
<view><input type="text" v-model="form.price" placeholder="请填写价格" /></view>
</view>
<view class="Box_box flex-between">
<view>备注</view>
<u--textarea v-model="form.notes" placeholder="请输入内容"></u--textarea>
</view>
<view class="Box_boxbox" @click="upload">
<view class="Box_boxone">*上传账单</view>
<view class="Box_boxtow" v-if="form.img">
<image :src="form.img" style="width: 100%; height: 100%;" mode=""></image>
</view>
<view class="Box_boxtow" v-else>
<image src="@/static/xj.png" style="width: 60rpx;height: 58rpx;" mode=""></image>
</view>
</view>
<view class="preservation flex-colum">
<view v-if="form.status == 6"
style="width: 100%; color: #FF2B2B; padding: 28rpx 0;word-wrap: break-word;">
拒绝理由:{{form.no|| '无'}}</view>
</view>
</view>
<view class="content_bottom" @click="saveMerchantBaseInfo">
确定
</view>
</view>
</template>
<script>
import _ from 'lodash'
export default {
data() {
return {
showtext: 0,
subCategoryList: [],
form: {
id: '',
open_id: '',
user_type: 2,
img: '',
user_name: "",
user_duty: "",
email: "",
mobile: '',
status_note: '', //原因备注
price: '',
}
}
},
async onLoad(e) {
if (e.id) {
this.form.id = e.id
let res = await this.api.szzpyfailccho({
id: this.form.id,
view_type: this.form.view_type
})
try {
if (res.code == 1) {
this.form = res.data
}
} catch (e) {
//TODO handle the exception
}
} else {
this.form.body = e.body
this.form.open_id = e.open_id
}
// this.form.id = e.id
// this.form.open_id = e.open_id
// if (e.view_type == 'fail') {
// // http://localhost:8080/pages/hindex/indexs?id=7668&open_id=102132&view_type=fail
// this.form.view_type = e.view_type
// let res = await this.api.szzpyfailccho({
// id: this.form.id,
// view_type: this.form.view_type
// })
// try {
// if (res.code == 1) {
// this.form = res.data
// }
// } catch (e) {
// //TODO handle the exception
// }
// }
},
methods: {
onInput(e) {
if (this.form.user_type == 2) {
if ([...e.detail.value].length >= 6) {
console.log(100000)
this.handleClick()
} else {
this.subCategoryList = []
}
}
},
handleClick: _.debounce(function() {
console.log(100000)
this.getOrder()
// 函数执行内容
}, 500),
categorySubClick(category) {
console.log(category, 86)
this.form.user_name = category.companyName
this.form.user_duty = category.creditCode
this.subCategoryList = []
},
upload() {
uni.chooseImage({
success: (chooseImageRes) => {
uni.pro.showLoading({
title: '上传中',
mask: true
});
const tempFilePaths = chooseImageRes.tempFilePaths;
uni.uploadFile({
url: 'https://cashieradmin.sxczgkj.cn' + '/api/qiNiuContent',
filePath: tempFilePaths[0],
name: 'file',
formData: {
open_id: this.form.open_id,
},
success: (uploadFileRes) => {
uni.showToast({
title: '上传成功',
icon: 'none',
})
uni.pro.hideLoading();
let data = JSON.parse(uploadFileRes.data)
this.form.img = data.data[0]
console.log(this.form)
},
fail: () => {
uni.pro.hideLoading();
}
});
}
});
},
async saveMerchantBaseInfo() {
if (this.form.user_name == null || this.form.user_name == '') {
uni.showToast({
title: '请输入名称',
icon: 'none'
});
return false;
}
if (this.form.user_type == 2) {
if (this.form.user_duty == null || this.form.user_duty == '') {
uni.showToast({
title: '请输入税号',
icon: 'none'
});
return false;
}
}
if (this.form.email == null || this.form.email == '') {
uni.showToast({
title: '请输入邮箱',
icon: 'none'
});
return false;
}
if (this.form.mobile == null || this.form.mobile == '') {
uni.showToast({
title: '请输入手机号',
icon: 'none'
});
return false;
}
if (this.form.img == null || this.form.img == '') {
uni.showToast({
title: '请上传图片',
icon: 'none'
});
return false;
}
// http://localhost:8080/pages/hindex/index?id=12&open_id=102132
let res = await this.api.usersubopeninvoicefixed(this.form)
if (res.code == 1) {
uni.showToast({
title: res.msg,
icon: 'none'
});
setTimeout(() => {
if (res.data.url) {
window.location.href = res.data.url
}
}, 1000);
}
},
clickakex(e) {
this.form.user_type = e
this.form.user_name = ''
this.form.img = ''
this.form.user_duty = ''
this.form.email = ''
this.form.mobile = ''
},
async getOrder() { //搜索值
uni.request({
url: 'https://invoice.sxczgkj.cn/api/' + 'store/enterprise',
data: {
//参数
like: this.form.user_name,
open_id: this.form.open_id
},
method: 'POST', //请求方式,必须为大写
success: res => {
console.log('接口返回------', res);
setTimeout(() => {
if (this.page == 1) {
this.subCategoryList = res.data.data;
} else {
this.subCategoryList.push(...res.data.data);
}
}, 500)
}
});
}
}
}
</script>
<style lang="scss" scoped>
page {
background: #F9F9F9;
}
.content {
padding: 0 28rpx;
.content_top {
padding: 32rpx 110rpx;
width: 100%;
display: flex;
justify-content: space-between;
.content_topview {
background: #288EFB;
color: #fff;
}
view {
width: 142rpx;
height: 56rpx;
background: #fff;
color: #288EFB;
border-radius: 6rpx 6rpx 6rpx 6rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
line-height: 56rpx;
text-align: center;
}
}
.content_item {
width: 100%;
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
.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;
.position {
position: absolute;
right: 0;
top: 0;
background: #fff;
width: 100%;
max-height: 400rpx;
overflow: auto;
z-index: 99;
box-shadow: 1rpx 3rpx 6rpx #ccc;
.positionitem {
padding: 16rpx 10px;
border-bottom: 1rpx solid #ccc;
}
}
}
.preservation {
width: 100%;
text-align: center;
.preservation_box {
width: 100%;
height: 72rpx;
background: #288efb;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
.preservation_boxs {
width: 70%;
height: 72rpx;
background: #999999;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
}
.Box_boxbox {
width: 100%;
padding: 16rpx;
.Box_boxone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.Box_boxtow {
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
width: 254rpx;
height: 156rpx;
background: #FFFFFF;
border: 1rpx dashed #707070;
}
}
}
.content_bottom {
margin: 20rpx auto 100rpx;
width: 80%;
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;
}
}
</style>

25
pages/hindex/web.vue Normal file
View File

@@ -0,0 +1,25 @@
<template>
<view class="">
<web-view :src="src"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
src: ''
}
},
onLoad(e) {
let content = decodeURIComponent(e);
console.log(JSON.parse(e))
this.src = JSON.parse(e.src)
},
}
// setTimeout(() => {
// window.location.href = res.data.url
// }, 1000);
</script>
<style>
</style>

View File

@@ -77,7 +77,8 @@
number: '',
tax_amount: '',
d_price: '',
notes: ''
notes: '',
// new: 'new'
}
};
},

View File

@@ -0,0 +1,311 @@
<template>
<view class="content">
<view class="contentbox" v-for="(item,index) in list" :key="index" @click.stop="clickinof(item)">
<view class="contentboxitemtop flex-between">
<view class="contentboxitemone">
{{item.user_name}}
</view>
<view class="contentboxitemboxtow">
<view class="contentboxitemboxtows" @click.stop="clickconfirm(item,6)">
拒绝
</view>
<view class="contentboxitemboxone" @click.stop="clickconfirm(item,1)">
通过
</view>
</view>
</view>
<view class="contentboxitembottom flex-between">
<view class="contentboxitembottomleft flex-colum-start">
<view class="contentboxitembottomleftone">¥<text>{{item.price || '-'}}</text></view>
<view class="flex-start">
<u-icon name="clock" color="#666666" size="16"></u-icon>
<view class="flexstartico">
{{item.createtime}}
</view>
</view>
</view>
<view class="contentboxitembottomright" @click.stop="previewImage(item.img)">
<image class="contentboxitembottomrightimage" :src="item.album" mode="aspectFill"></image>
</view>
</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="saveMerchantBaseInfo(saveMerchantBaseInfolsit.item,saveMerchantBaseInfolsit.i)">
确定
</view>
<view class="content_bottomtow" @click="clickconfirmshow = false">
取消
</view>
</view>
</view>
</u-popup>
</view>
</template>
<script>
export default {
data() {
return {
clickconfirmshow: false,
list: [],
no: '',
saveMerchantBaseInfolsit: {
item: {
},
i: ''
}
};
},
async onLoad(e) {},
onShow() {
this.storeinvoicingrecordsthatneed()
},
methods: {
clickinof(item) {
uni.pro.navigateTo('index/orderinfoauditbilling', {
id: item.id
})
},
saveMerchantBaseInfo(item, i) {
this.clickconfirmshow = false
this.storereviewandinvoicing(item, i)
},
async clickconfirm(item, i) {
if (i == 1) {
uni.showModal({
title: '提示',
content: '确认通过吗?',
success: async (res) => {
if (res.confirm) {
this.storereviewandinvoicing(item, i)
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
this.saveMerchantBaseInfolsit.item = item
this.saveMerchantBaseInfolsit.i = i
this.clickconfirmshow = true
}
},
async storereviewandinvoicing(item, i) {
let res = await this.api.storereviewandinvoicing({
store_id: uni.cache.get('userId'),
id: item.id,
no: this.no,
s_type: i
})
if (res.code == 1) {
this.storeinvoicingrecordsthatneed()
}
},
// 预览图片
previewImage(e) {
uni.previewImage({
urls: [e],
longPressActions: {
itemList: ['发送给朋友', '保存图片', '收藏'],
success: function(data) {
console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
},
fail: function(err) {
console.log(err.errMsg);
}
}
});
},
async storeinvoicingrecordsthatneed() {
let res = await this.api.storeinvoicingrecordsthatneed({
store_id: uni.cache.get('userId')
})
console.log(res)
if (res.code == 1) {
this.list = res.data
}
}
}
};
</script>
<style lang="scss">
page {
background: #F9F9F9;
}
.content {
padding: 28rpx;
.contentbox {
padding: 32rpx 16rpx;
margin-top: 40rpx;
width: 100%;
background: #FFFFFF;
.contentboxitemtop {
padding-bottom: 18rpx;
border-bottom: 1rpx solid #E3E3E3;
.contentboxitemone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
.contentboxitemboxtow {
display: flex;
justify-content: flex-start;
align-items: center;
.contentboxitemboxone {
margin-left: 10rpx;
width: 104rpx;
height: 44rpx;
background: #318AFE;
border-radius: 8rpx 8rpx 8rpx 8rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
line-height: 44rpx;
text-align: center;
}
.contentboxitemboxtows {
width: 104rpx;
height: 44rpx;
background: red;
border-radius: 8rpx 8rpx 8rpx 8rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
line-height: 44rpx;
text-align: center;
}
}
}
.contentboxitembottom {
padding-top: 16rpx;
.contentboxitembottomleft {
.contentboxitembottomleftone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 26rpx;
color: #C92E2E;
text {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 32rpx;
color: #C92E2E;
}
}
.flex-start {
margin-top: 20rpx;
.flexstartico {
margin-left: 12rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #666666;
}
}
}
.contentboxitembottomright {
position: relative;
width: 148rpx;
height: 104rpx;
border-radius: 10rpx;
.contentboxitembottomrightimage {
width: 148rpx;
height: 104rpx;
border-radius: 10rpx;
}
.contentboxitembottomrightimage::after {
content: '查看大图';
position: absolute;
top: 0;
left: 0;
width: 148rpx;
height: 104rpx;
background: rgba(0, 0, 0, 0.5);
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #FFFFFF;
line-height: 104rpx;
text-align: center;
}
}
}
}
.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>

304
pages/index/billingcode.vue Normal file
View File

@@ -0,0 +1,304 @@
<template>
<view class="Box">
<view class="Box_box_O">
<view class="Box_box flex-between" @click="showpopupclick">
<view>*项目名称</view>
<view class=""
style="width: 60%; overflow:hidden; font-size:32rpx;color:grey;text-overflow: ellipsis;white-space: nowrap; "
v-model="form.article">{{ form.article || '选择项目名称' }}
</view>
</view>
<view class="Box_box flex-between" @click="showpicker = true">
<view class="Box_boxlang Box_box_bouttme_item_O">*发票类型</view>
<view class="Box_box_bouttme_item_T">
<text type="text" v-model="form.type">{{ form.type || '请输入发票类型' }}</text>
</view>
</view>
<view class="Box_box flex-between">
<view>备注</view>
<u--textarea v-model="form.notes" placeholder="请输入内容"></u--textarea>
</view>
</view>
<view class="preservation flex-colum">
<view class="preservation_box" @tap="$u.throttle(saveMerchantBaseInfoV2, 1000)">提交</view>
</view>
<u-popup :show="showpopup" @close="showpopup = false" @open="openpopup">
<view class="popupshow">
<view class="popupshowone">请选择项目名称</view>
<view class="popupshowone_item" style=" border-bottom: 1rpx solid #E5E5E5;" v-if="keyword">
<view class="popupshowone_itemone" @click="popupshowone_itemone">
{{keyword}}
</view>
</view>
<view class="popupshowonebotton" @click="businesscategory">搜索其他项目名称</view>
</view>
</u-popup>
<u-picker :show="showpicker" @confirm="showpickerconfirm" :columns="columns"
@cancel="showpicker = false"></u-picker>
</view>
</template>
<script>
export default {
data() {
return {
keyword: uni.getStorageSync('keyword'),
showpopup: false,
showpicker: false,
columns: [],
Uploadurlnumber: '',
namelang: '',
merchantAuditStatus: '',
form: {
store_id: uni.getStorageSync('userId'),
article: '',
type: '',
se_amount: '',
notes: ''
}
};
},
onNavigationBarButtonTap() {
uni.pro.navigateTo('index/order');
},
onLoad(e) {
// #ifdef APP-PLUS
let webView = this.$mp.page.$getAppWebview();
webView.setTitleNViewButtonStyle(0, {
width: '70px'
});
// #endif
uni.request({
url: uni.conf.baseUrl + 'store/digitalinvoice',
method: 'POST', //请求方式,必须为大写
success: res => {
console.log(res.data.data)
this.columns = res.data.data
}
});
},
onShow() {
uni.$on('businesscategorys', res => {
console.log(res);
this.form.mcc = res.code;
this.form.article = res.name;
this.keyword = uni.cache.get('keyword')
// this.form.contactLine = res.unionpayCode
// this.form.branchName = res.branchName
});
},
methods: {
showpopupclick() {
this.keyword = uni.getStorageSync('keyword')
this.showpopup = true
},
popupshowone_itemone() {
this.showpopup = false
this.form.article = this.keyword
},
handleInputChange() {
if (this.form.type == null || this.form.type == '') {
return false;
}
uni.$u.debounce(this.showpickerconfirm(), 1000)
},
async showpickerconfirm(e) {
try {
if (e.value) {
if (e.value[1] == "1%") {
this.form.se_amount = 1
} else {
this.form.se_amount = 3
}
this.form.type = e.value.toString();
}
this.showpicker = false
} catch (e) {
//TODO handle the exception
}
},
businesscategory() {
this.showpopup = false
uni.pro.navigateTo('index/businesscategory');
},
async saveMerchantBaseInfoV2() {
this.form.store_id = uni.getStorageSync('userId')
console.log(this.form)
if (this.form.article == null || this.form.article == '') {
uni.showToast({
title: '选择项目名称',
icon: 'none'
});
return false;
}
if (this.form.type == null || this.form.type == '') {
uni.showToast({
title: '请选择类型',
icon: 'none'
});
return false;
}
let res = await this.api.storemerchantfixedinvoicinglink(this.form)
// console.log(res)
setTimeout(() => {
uni.pro.navigateTo('index/wxinvoicing',{
url:res.data.url,
// url:'0',
tope:0
})
}, 1000)
// uni.request({
// url: uni.conf.baseUrl + 'store/subinvoicing',
// data: this.form,
// method: 'POST', //请求方式,必须为大写
// success: res => {
// console.log(res)
// this.form = {
// store_id: uni.getStorageSync('userId'),
// article: '',
// type: '',
// notes: '',
// se_amount: ''
// }
// uni.showToast({
// title: res.data.message || res.data.msg,
// icon: "none",
// })
// setTimeout(datalange => {
// uni.pro.navigateTo('index/wxinvoicing', res.data.data.invoice_records)
// }, 2000)
// }
// });
}
}
};
</script>
<style lang="scss">
page {
background: #fff;
}
.Box {
.Box_box_O {
padding: 0 28rpx;
.Box_box {
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;
}
.Box_box_bouttme_item_T {
padding-left: 30rpx;
flex: 1;
text-align: right;
text {
color: #808080;
}
}
}
.Box_box_T {
padding: 0 28rpx;
border-top: 16rpx solid #e5e5e5;
.Box_box_T_o {
margin-top: 16rpx;
}
.flex-colum {
image {
width: 396rpx;
height: 240rpx;
}
padding-bottom: 16rpx;
border-bottom: 1px solid #e5e5e5;
.Box_box_Ts {
width: 396rpx;
height: 240rpx;
background: #ffffff;
border-radius: 8rpx;
border: 2rpx dashed #707070;
background: url(@/static/my2.png) no-repeat;
background-position: 50% 50%;
background-size: 50%;
}
}
}
.preservation {
margin-top: 50rpx;
width: 100%;
.preservation_box {
width: 70%;
height: 72rpx;
background: #288efb;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
}
.popupshow {
width: 100%;
background: #FFFFFF;
border-radius: 20rpx 20rpx 0rpx 0rpx;
padding-bottom: 50rpx;
.popupshowone {
margin-top: 22rpx;
text-align: center;
width: 100%;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 32rpx;
color: #333333;
}
.popupshowone_item {
padding: 26rpx 52rpx;
.popupshowone_itemone {
text-align: center;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 500;
font-size: 36rpx;
color: #333333;
}
}
.popupshowonebotton {
margin: 100rpx auto 0 auto;
width: 558rpx;
height: 84rpx;
background: #288EFB;
border-radius: 50rpx 50rpxmy2 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;
padding-bottom: 32rpx;
}
}
}
</style>

View File

@@ -21,6 +21,14 @@
<image src="@/static/item5.png" mode="aspectFill"></image>
<text>新增开票员</text>
</view>
<view class="content flex-colum" @click="billingcode" v-if="improveinformation">
<image src="@/static/item7.png" mode="aspectFill"></image>
<text>开票码</text>
</view>
<view class="content flex-colum" @click="auditbilling" v-if="improveinformation">
<image src="@/static/item8.png" mode="aspectFill"></image>
<text>审核开票</text>
</view>
</view>
<view class="setClipboardDataclass" @click="setClipboardData" v-if="infos.deviceType != 'pc'">
网页版地址:https://h5-invoice.sxczgkj.cn
@@ -60,37 +68,43 @@
this.improveinformation = true
}
}
// uni.request({
// url: uni.conf.baseUrl + 'store/storestatus',
// data: {
// //参数
// store_id: uni.cache.get('userId')
// // type: this.onLoadtype
// },
// method: 'POST', //请求方式,必须为大写
// success: res => {
// this.improveinformationform = res.data.data.store
// uni.cache.set('form', this.improveinformationform);
// // uni.cache.set('userId', this.improveinformationform.id);
// if (res.data.data.sz_status == 0) {
// uni.reLaunch({
// url: '/pages/index/information'
// });
// } else {
// this.improveinformation = true
// }
// },
uni.request({
url: uni.conf.baseUrl + 'store/storestatus',
data: {
//参数
store_id: uni.cache.get('userId')
// type: this.onLoadtype
},
method: 'POST', //请求方式,必须为大写
success: res => {
this.improveinformationform = res.data.data.store
uni.cache.set('form', this.improveinformationform);
// uni.cache.set('userId', this.improveinformationform.id);
if (res.data.data.sz_status == 0) {
uni.reLaunch({
url: '/pages/index/information'
});
} else {
this.improveinformation = true
}
},
// });
});
},
onShow() {},
methods: {
setClipboardData() {
uni.setClipboardData({
data: 'https://h5-invoice.sxczgkj.cn/?userId=' + uni.utils.md5(uni.cache.get('userId')),
data: 'https://h5-invoice.sxczgkj.cn/?userId=' + uni.cache.get('userId'),
success: function() {}
});
},
auditbilling(){
uni.pro.navigateTo('index/auditbilling');
},
billingcode(){
uni.pro.navigateTo('index/billingcode');
},
drawer() {
uni.pro.navigateTo('index/drawer');
},

View File

@@ -70,6 +70,11 @@
</view>
</view>
</view>
<view class="Box_box flex-between">
<view>统一社会信用代码</view>
<view class="Box_box_input"><input type="text" :disabled='disabled' v-model="form.creditCode"
placeholder="请填写统一社会信用代码" data-key="mobile" /></view>
</view>
</view>
<view class="Box_box_T">
<view class="Box_box_T_o">请上传法人身份证图片</view>
@@ -148,6 +153,7 @@
dlzh: '',
dlmm: '',
code: '',
creditCode:''
}
};
},
@@ -180,6 +186,7 @@
this.form.taxphone = data.taxphone
this.form.dlsf_name = data.dlsf_name
this.form.dlsf = data.dlsf
this.form.creditCode = data.creditCode
}
},
@@ -279,6 +286,13 @@
});
return false;
}
if (this.form.creditCode == null || this.form.creditCode == '') {
uni.showToast({
title: '请填写统一社会信用代码',
icon: 'none'
});
return false;
}
let res = await this.api.invoicerregistrationszzpy(this.form)
if (res.code == 1) {
uni.showToast({
@@ -416,6 +430,8 @@
this.$set(this.form,
'business_license', thisdata_
.data[0])
this.storerecog() //营业执照图片
}
console.log(this.form)
}
@@ -434,6 +450,14 @@
}
},
async storerecog() {
let res = await this.api.storerecog({
store_id: uni.getStorageSync('userId'),
business_license: this.form.business_license
})
console.log(res)
this.form.creditCode = res.data.creditCode
}
}
};

View File

@@ -55,7 +55,15 @@
onLoad(e) {
this.ID = e.id
this.status = e.status
// for (let i = 0; i <= 100; i++) {
// this.print();
// }
// var interval = setInterval(() => {
// this.print();
// }, 1000);
// setTimeout(() => {
// clearInterval(interval);
// }, 60000);
},
onReady() {
setTimeout(() => {
@@ -72,11 +80,11 @@
}
LODOP.PRINT_INIT('')
// 设置打印纸大小
LODOP.SET_PRINT_PAGESIZE(1, 800, '50px', "");
// LODOP.SET_PRINT_PAGESIZE(1, 800, '300px', "");
// LODOP.SET_PRINT_PAGESIZE(1, 800, '50px', "");
LODOP.SET_PRINT_PAGESIZE(1, 800, '120px', "");
// // 二维码控制大小
// LODOP.ADD_PRINT_BARCODE('', '30px', '150px', '150px', "QRCode", 'https://www.baidu.com'); //打印产品代码条码
LODOP.ADD_PRINT_BARCODE('', '30px', '150px', '150px', "QRCode", 'https://www.baidu.com'); //打印产品代码条码
// LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Full-Width "); //设置打印风格,这里是等宽打印
// LODOP.SET_PRINTER_INDEX("GP-58MB Series"); //设置默认打印机(这里用的是打印机名称)

View File

@@ -0,0 +1,303 @@
<template>
<view class="content">
<view class="content_boxtop flex-between">
<view class="content_boxtopone">
{{datalsit.type}}
</view>
<view class="content_boxtoptow" v-if="datalsit.status == 0">
客户未扫码
</view>
<view class="content_boxtoptow" v-if="datalsit.status ==1">
开票中
</view>
<view class="content_boxtoptow" style="color:#FD482C;" v-if="datalsit.status == 3">
开票失败
</view>
<view class="content_boxtoptow" style="color:#3DC85E;" v-if="datalsit.status == 2">
开票成功
</view>
<view class="content_boxtoptow" v-if="datalsit.status == 4">
已作废
</view>
<view class="content_boxtoptow" style="color:#e4b9c0;" v-if="datalsit.status == -1">
待审核
</view>
<view class="content_boxtoptow" style="color:#fdc539;" v-if="datalsit.status == 6">
拒绝
</view>
</view>
<view class="content_boxt_one">
<view class="content_boxt_oneone" v-if="datalsit.status == 2">
{{datalsit.string2}}
</view>
<view class="classvie_item flex-start" v-if="datalsit.status == 2 || datalsit.status == 4">
<text class="classvie_itemone">{{datalsit.user_type == 2 ? '公司名称':'发票抬头'}}</text>
<text class="classvie_itemtow">{{datalsit.user_name}}</text>
</view>
<view class="classvie_item flex-start" v-if="datalsit.user_type == 2 && (datalsit.status == 2 || datalsit.status == 4) ">
<text class="classvie_itemone">公司税号</text>
<text class="classvie_itemtow">{{datalsit.user_duty}}</text>
</view>
<view class="classvie_item flex-start">
<text class="classvie_itemone">发票金额</text>
<text class="classvie_itemtow" style="color: #FF6565;">{{datalsit.price}}</text>
</view>
<view class="classvie_item flex-start" >
<text class="classvie_itemone">发票类型</text>
<text class="classvie_itemtow">{{datalsit.type}}</text>
</view>
<view class="classvie_item flex-start">
<text class="classvie_itemone">项目名称</text>
<text class="classvie_itemtow">{{datalsit.article}}</text>
</view>
<view class="classvie_item flex-start">
<text class="classvie_itemone">开票时间</text>
<text class="classvie_itemtow">{{datalsit.createtime}}</text>
</view>
<view class="classvie_item flex-start" @click="previewImage(datalsit.img)">
<text class="classvie_itemone">点击查看图片</text>
<u-icon name="arrow-right" color="#666" size="16"></u-icon>
</view>
</view>
</view>
</template>
<script>
import uQRCode from '@/uni_modules/Sansnn-uQRCode/js_sdk/uqrcode/uqrcode.js'; // npm install uqrcodejs
export default {
data() {
return {
text: 'uQRCode',
size: 240,
datalsit: {},
ID: '',
resurl: ''
};
},
onLoad(e) {
this.ID = e.id
},
onReady(){
this.storeinvoicelist()
},
methods: {
async storeinvoicelist() {
let res = await this.api.invoicingrecordsthatneeddetailstore({
id:this.ID
})
if(res.code = 1){
this.datalsit = res.data;
}
// uni.request({
// url: uni.conf.baseUrl + 'store/invoicedetail',
// data: {
// id: this.ID,
// },
// method: 'POST', //请求方式,必须为大写
// success: res => {
// this.datalsit = res.data.data;
// // 获取uQRCode实例
// var qr = new uQRCode();
// // 设置二维码内容
// qr.data = res.data.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();
// }
// });
},
// 预览图片
previewImage(e) {
uni.previewImage({
urls: [e],
longPressActions: {
itemList: ['发送给朋友', '保存图片', '收藏'],
success: function(data) {
console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
},
fail: function(err) {
console.log(err.errMsg);
}
}
});
},
savealbum(e) {
uni.pro.navigateBack();
},
// savealbum(e) {
// // #ifdef APP
// uni.showLoading({
// //加载框
// title: '保存中...',
// mask: true
// });
// var pages = getCurrentPages();
// var page = pages[pages.length - 1];
// console.log('当前页' + pages.length - 1);
// var bitmap = null;
// var currentWebview = page.$getAppWebview();
// bitmap = new plus.nativeObj.Bitmap('amway_img');
// // 将webview内容绘制到Bitmap对象中
// currentWebview.draw(
// bitmap,
// function() {
// console.log('截屏绘制图片成功');
// bitmap.save(
// '_doc/a.jpg', {},
// function(i) {
// console.log('保存图片成功:' + JSON.stringify(i));
// uni.saveImageToPhotosAlbum({
// filePath: i.target,
// success: function() {
// bitmap.clear(); //销毁Bitmap图片
// uni.showToast({
// title: '保存图片成功',
// mask: false,
// duration: 1500
// });
// uni.hideLoading();
// }
// });
// },
// function(e) {
// console.log('保存图片失败:' + JSON.stringify(e));
// }
// );
// },
// function(e) {
// console.log('截屏绘制图片失败:' + JSON.stringify(e));
// }
// );
// // #endif
// },
}
}
</script>
<style lang="scss">
page {
background: #F9F9F9;
}
.content {
padding: 32rpx 28rpx;
.content_boxtop {
padding: 22rpx 16rpx;
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
.content_boxtopone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.content_boxtoptow {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #999999;
}
}
.content_boxt_one {
margin-top: 32rpx;
padding: 32rpx;
border-radius: 18rpx 18rpx 18rpx 18rpx;
background: #FFFFFF;
.content_boxt_oneone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #FF6565;
}
.classvie_item {
margin-top: 16rpx;
.classvie_itemone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: bold;
font-size: 28rpx;
color: #666666;
font-style: normal;
text-transform: none;
}
.classvie_itemtow {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: bold;
font-size: 28rpx;
color: #999999;
font-style: normal;
text-transform: none;
}
}
}
.content_boxt_tow {
margin: 32rpx 0;
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: 400;
font-size: 28rpx;
color: #999999;
}
.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: 484rpx;
height: 484rpx;
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;
}
}
}
}
</style>

25
pages/index/web.vue Normal file
View File

@@ -0,0 +1,25 @@
<template>
<view class="">
<web-view :src="src"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
src: ''
}
},
onLoad(e) {
let content = decodeURIComponent(e);
console.log(JSON.parse(e))
this.src = JSON.parse(e.src)
},
}
// setTimeout(() => {
// window.location.href = res.data.url
// }, 1000);
</script>
<style>
</style>

View File

@@ -11,7 +11,7 @@
<view class="Box_item_content_fs flex-center">{{datares.string1}}</view>
</view>
</view>
<view class="classvie">
<view class="classvie" v-if="datares.tope != 0">
<view class="classvie_item flex-start">
<text class="classvie_itemone">发票金额</text>
<text class="classvie_itemtow" style="color: #FF6565;">{{datares.price}}</text>
@@ -66,12 +66,20 @@
data: {},
fowxAuditInfo: {},
imgShow: false,
img: ''
img: '',
datares:{
tope:''
}
};
},
onLoad(e) {
console.log(e)
if(e.tope == 0){
this.datares = e
this.datares.tope = 0
}else{
this.datares = e
}
},
onReady() {
this.merchantStoreshowMerchantStoreReceipt();

BIN
static/item7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

BIN
static/item8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/xj.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

View File

@@ -1,2 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>发票</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/h5/static/index.2da1efab.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/h5/static/js/chunk-vendors.ddf13236.js></script><script src=/h5/static/js/index.b56741c5.js></script></body></html>
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.2da1efab.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.5ca1542a.js></script><script src=/static/js/index.c950e6b2.js></script></body></html>