发票信息
This commit is contained in:
parent
25816b0373
commit
268d49ec3c
99
app.json
99
app.json
@ -1,50 +1,53 @@
|
|||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
"pages/mainPage/mainPage",
|
"pages/mainPage/mainPage",
|
||||||
"pages/login/login",
|
"pages/login/login",
|
||||||
"pages/index/index",
|
"pages/index/index",
|
||||||
"pages/mine/mineIndex/mine",
|
"pages/mine/mineIndex/mine",
|
||||||
"pages/copyright/createProjectInfo/createProjectInfo",
|
"pages/copyright/createProjectInfo/createProjectInfo",
|
||||||
"pages/copyright/createBuy/createBuy",
|
"pages/copyright/createBuy/createBuy",
|
||||||
"pages/copyright/payment/payment",
|
"pages/copyright/payment/payment",
|
||||||
"pages/mine/mineAccount/mineCoupons/mineCoupons",
|
"pages/mine/mineAccount/mineCoupons/mineCoupons",
|
||||||
"pages/copyright/publicPay/publicPay",
|
"pages/copyright/publicPay/publicPay",
|
||||||
"pages/copyright/common/payState",
|
"pages/copyright/common/payState",
|
||||||
"pages/readTxt/readTxt",
|
"pages/readTxt/readTxt",
|
||||||
"pages/mine/mineAccount/mineInfo/mineInfo",
|
"pages/mine/mineAccount/mineInfo/mineInfo",
|
||||||
"pages/mine/mineAccount/mineOrder/mineOrder",
|
"pages/mine/mineAccount/mineOrder/mineOrder",
|
||||||
"pages/mine/mineAccount/mineContact/mineContact",
|
"pages/mine/mineAccount/mineContact/mineContact",
|
||||||
"pages/treaty/rule/rule",
|
"pages/treaty/rule/rule",
|
||||||
"pages/mine/mineAccount/minePayRecord/minePayRecord"
|
"pages/mine/mineAccount/minePayRecord/minePayRecord",
|
||||||
],
|
"pages/mine/mineAccount/mineInvoice/mineInvoice",
|
||||||
"window": {
|
"pages/mine/mineAccount/invoiceInfo/invoiceInfo"
|
||||||
"navigationBarTextStyle": "black",
|
],
|
||||||
"navigationBarTitleText": "AI喵著",
|
"window": {
|
||||||
"navigationBarBackgroundColor": "#ffffff"
|
"navigationBarTextStyle": "black",
|
||||||
},
|
"navigationBarTitleText": "AI喵著",
|
||||||
"tabBar": {
|
"navigationBarBackgroundColor": "#ffffff"
|
||||||
"custom": true,
|
},
|
||||||
"color": "#515151",
|
"tabBar": {
|
||||||
"selectedColor": "#FE9944",
|
"custom": true,
|
||||||
"list": [{
|
"color": "#515151",
|
||||||
"pagePath": "pages/index/index",
|
"selectedColor": "#FE9944",
|
||||||
"text": "首页",
|
"list": [
|
||||||
"iconPath": "/static/images/ic_home_normal.png",
|
{
|
||||||
"selectedIconPath": "/static/images/ic_home_select.png"
|
"pagePath": "pages/index/index",
|
||||||
},
|
"text": "首页",
|
||||||
{
|
"iconPath": "/static/images/ic_home_normal.png",
|
||||||
"pagePath": "pages/mine/mineIndex/mine",
|
"selectedIconPath": "/static/images/ic_home_select.png"
|
||||||
"text": "我的",
|
},
|
||||||
"iconPath": "/static/images/ic_mine_normal.png",
|
{
|
||||||
"selectedIconPath": "/static/images/ic_mine_select.png"
|
"pagePath": "pages/mine/mineIndex/mine",
|
||||||
}
|
"text": "我的",
|
||||||
]
|
"iconPath": "/static/images/ic_mine_normal.png",
|
||||||
},
|
"selectedIconPath": "/static/images/ic_mine_select.png"
|
||||||
"style": "v2",
|
}
|
||||||
"componentFramework": "glass-easel",
|
]
|
||||||
"sitemapLocation": "sitemap.json",
|
},
|
||||||
"lazyCodeLoading": "requiredComponents",
|
"style": "v2",
|
||||||
"useExtendedLib": {
|
"componentFramework": "glass-easel",
|
||||||
"weui": true
|
"sitemapLocation": "sitemap.json",
|
||||||
}
|
"lazyCodeLoading": "requiredComponents",
|
||||||
|
"useExtendedLib": {
|
||||||
|
"weui": true
|
||||||
|
}
|
||||||
}
|
}
|
4
app.wxss
4
app.wxss
@ -47,6 +47,10 @@ page {
|
|||||||
margin-right: 10rpx;
|
margin-right: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ml-5 {
|
||||||
|
margin-left: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.ml-10 {
|
.ml-10 {
|
||||||
margin-left: 10rpx;
|
margin-left: 10rpx;
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,10 @@ Component({
|
|||||||
coupons: {
|
coupons: {
|
||||||
type: Object,
|
type: Object,
|
||||||
value: null
|
value: null
|
||||||
|
},
|
||||||
|
couponsList: {
|
||||||
|
type: Array,
|
||||||
|
value: null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
@ -36,17 +40,17 @@ Component({
|
|||||||
},
|
},
|
||||||
lifetimes: {
|
lifetimes: {
|
||||||
ready() {
|
ready() {
|
||||||
const _self = this
|
// const _self = this
|
||||||
const systemInfo = wx.getWindowInfo()
|
// const systemInfo = wx.getWindowInfo()
|
||||||
this.setData({
|
// this.setData({
|
||||||
screenHeight: systemInfo.windowHeight,
|
// screenHeight: systemInfo.windowHeight,
|
||||||
screenWidth: systemInfo.windowWidth
|
// screenWidth: systemInfo.windowWidth
|
||||||
})
|
// })
|
||||||
var phoneHeight = Math.floor(systemInfo.screenWidth / 750 * 100) / 100 //1rpx 是0.52px
|
// var phoneHeight = Math.floor(systemInfo.screenWidth / 750 * 100) / 100 //1rpx 是0.52px
|
||||||
this.setData({
|
// this.setData({
|
||||||
'content.top': _self.data.top * phoneHeight,
|
// 'content.top': _self.data.top * phoneHeight,
|
||||||
'content.left': _self.data.left * phoneHeight
|
// 'content.left': _self.data.left * phoneHeight
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -2,28 +2,35 @@
|
|||||||
<view class="ad-container" animation="{{animation}}" style="left: {{initPosition.left}};top:{{initPosition.top}}">
|
<view class="ad-container" animation="{{animation}}" style="left: {{initPosition.left}};top:{{initPosition.top}}">
|
||||||
<view class="ic-close close-icon" bind:tap="onClose"></view>
|
<view class="ic-close close-icon" bind:tap="onClose"></view>
|
||||||
<view class="image-box">
|
<view class="image-box">
|
||||||
<view class="ad-bg"></view>
|
<image src="https://www.aimzhu.com/miniapp-assets/ad_background.png" mode="scaleToFill" class="ad-coupons-box-bg"></image>
|
||||||
<view class="ad-content">
|
<view class="ad-coupons-container">
|
||||||
<view class="price-box">
|
<scroll-view scroll-y style="height: {{couponsList.length>1 ? '550rpx' :'350rpx'}};">
|
||||||
<view class="p-icon">¥</view>
|
<view class="ad-coupons-list-box">
|
||||||
<view class="p-content">{{coupons.amount/100}}</view>
|
<block wx:for="{{couponsList}}" wx:key="index">
|
||||||
|
<view class="ad-coupons-item">
|
||||||
|
<image src="https://www.aimzhu.com/miniapp-assets/ad_item_bg.png" style="width: 100%;height:100%;" mode="scaleToFill"></image>
|
||||||
|
<view class="ad-coupons-item-content">
|
||||||
|
<view class="ad-coupons-item-price">
|
||||||
|
<rich-text nodes="{{tools.coverTxt(item.amount/100)}}"></rich-text>
|
||||||
|
</view>
|
||||||
|
<view class="ad-coupons-item-desc">
|
||||||
|
<view class="ad-coupons-item-desc-title">{{item.title}}</view>
|
||||||
|
<view class="ad-coupons-item-desc-time">{{item.useGmtStart}}至{{item.useGmtEnd}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="custom-checkbox-group" bindtap="toggleCheck">
|
||||||
|
<view class="custom-checkbox {{checked ? 'checked' : ''}}">
|
||||||
|
<text wx:if="{{checked}}">✓</text>
|
||||||
|
</view>
|
||||||
|
<view style="margin-left: 5px;margin-top: 1px;">今日不再显示</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="ad-desc-box">
|
<view class="btn" bind:tap="onFurl">收下优惠卷</view>
|
||||||
<text class="ad-desc">{{coupons.title}}</text>
|
|
||||||
<view class="ad-period">期限:{{coupons.useGmtStart}}至{{coupons.useGmtEnd}}</view>
|
|
||||||
</view>
|
|
||||||
<!-- <view class="ad-icon-box">
|
|
||||||
<view class="ad-ic-up-circle ad-icon-size"></view>
|
|
||||||
<view class="ad-ic-down-circle ad-icon-size"></view>
|
|
||||||
</view> -->
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="custom-checkbox-group" bindtap="toggleCheck">
|
|
||||||
<view class="custom-checkbox {{checked ? 'checked' : ''}}">
|
|
||||||
<text wx:if="{{checked}}">✓</text>
|
|
||||||
</view>
|
|
||||||
<view style="margin-left: 5px;margin-top: 1px;">今日不再显示</view>
|
|
||||||
</view>
|
|
||||||
<view class="btn" bind:tap="onFurl">收下优惠卷</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<wxs src="../../utils/comm.wxs" module="tools"></wxs>
|
@ -63,12 +63,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.image-box {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ad-content {
|
.ad-content {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -85,6 +80,116 @@
|
|||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ad-coupons-box {
|
||||||
|
position: absolute;
|
||||||
|
height: 500rpx;
|
||||||
|
width: 83vw;
|
||||||
|
top: 80rpx;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-list-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-bg {
|
||||||
|
background-position: center;
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-image: url('https://www.aimzhu.com/miniapp-assets/ad_item_bg.png');
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-content {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
top: 55rpx;
|
||||||
|
left: 0;
|
||||||
|
flex-direction: row;
|
||||||
|
width: 100%;
|
||||||
|
height: 77%;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-price-box {
|
||||||
|
padding: 5rpx;
|
||||||
|
color: #000000;
|
||||||
|
font-size: 40rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
align-items: baseline;
|
||||||
|
justify-content: center;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-desc {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-price {
|
||||||
|
flex: 0.5;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
font-size: 60rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-price-icon {
|
||||||
|
font-size: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.ad-coupons-item-desc-title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
margin-left: 5px;
|
||||||
|
color: #000000;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
width: 28vw;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item-desc-time {
|
||||||
|
font-size: 18rpx;
|
||||||
|
margin-left: 5px;
|
||||||
|
color: #000000;
|
||||||
|
font-weight: bold;
|
||||||
|
width: 29vw;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-align: center;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item {
|
||||||
|
position: relative;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 500rpx;
|
||||||
|
height: 240rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ad-coupons-item:nth-of-type(n+2) {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.price-box {
|
.price-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
@ -137,15 +242,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
border-radius: 14px;
|
border-radius: 50rpx;
|
||||||
background-color: rgba(255, 169, 0, 1);
|
background-color: rgba(255, 169, 0, 1);
|
||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
font-size: 14px;
|
font-size: 28rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: PingFangSC-regular;
|
margin-top: 20rpx;
|
||||||
margin-top: 20px;
|
padding: 10rpx;
|
||||||
padding: 10px;
|
|
||||||
width: 55vw;
|
width: 55vw;
|
||||||
|
align-self: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.close-btn {
|
.close-btn {
|
||||||
@ -187,11 +292,27 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ad-bg {
|
.image-box {
|
||||||
width: 600rpx;
|
position: relative;
|
||||||
height: 600rpx;
|
display: flex;
|
||||||
background-position: center;
|
flex-direction: column;
|
||||||
background-size: contain;
|
justify-content: center;
|
||||||
background-repeat: no-repeat;
|
align-items: center;
|
||||||
background-image: url('https://www.aimzhu.com/miniapp-assets/ad_bg.png');
|
width: 652rpx;
|
||||||
|
height: 774rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 图片背景 */
|
||||||
|
.ad-coupons-box-bg {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 内容 */
|
||||||
|
.ad-coupons-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
61
net/api/invoiceApi.js
Normal file
61
net/api/invoiceApi.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import {
|
||||||
|
request
|
||||||
|
} from "../http";
|
||||||
|
const Cache = require('../../utils/storage');
|
||||||
|
// 公共API
|
||||||
|
const apiPath = {
|
||||||
|
mineInvoiceList: '/api/invoice-config/listpage/{userId}', //我的开票信息
|
||||||
|
saveInvoiceInfo: '/api/invoice-config/save/{userId}', //保存开票信息
|
||||||
|
updateInvoiceInfo: '/api/invoice-config/update/{invoiceId}', //修改开票信息
|
||||||
|
deleteInvoiceInfo: '/api/invoice-config/remove/{ids}', //删除开票信息
|
||||||
|
mineInvoiceRecordList: '/api/invoicerecharge/listpage/{userId}', //我的开票记录
|
||||||
|
saveInvoiceRecord: '/api/invoicerecharge/save/{userId}', // 保存开票申请
|
||||||
|
updateInvoiceRecord: '/api/invoicerecharge/save/{userId}', //修改开票申请
|
||||||
|
cancelInvoiceRecord: '/api/invoicerecharge/cancel/{invoiceRechargeId}', //取消开票申请
|
||||||
|
}
|
||||||
|
|
||||||
|
class InvoiceApi {
|
||||||
|
static userId = Cache.get('userId')
|
||||||
|
//我的开票信息
|
||||||
|
static doGetMineInvoiceList(data) {
|
||||||
|
const path = apiPath.mineInvoiceList.replace('{userId}', this.userId)
|
||||||
|
return request(path, "GET", data, null, 'plug')
|
||||||
|
}
|
||||||
|
//保存我的开票信息
|
||||||
|
static doSaveMineInvoiceInfo(data) {
|
||||||
|
const path = apiPath.saveInvoiceInfo.replace('{userId}', this.userId)
|
||||||
|
return request(path, "POST", data, null, 'plug')
|
||||||
|
}
|
||||||
|
//编辑开票信息
|
||||||
|
static doUpdateMineInvoiceInfo(id, data) {
|
||||||
|
const path = apiPath.updateInvoiceInfo.replace('{invoiceId}', id)
|
||||||
|
return request(path, "PUT", data, null, 'plug')
|
||||||
|
}
|
||||||
|
//删除开票信息
|
||||||
|
static doDelMineInvoiceInfo(id) {
|
||||||
|
const path = apiPath.deleteInvoiceInfo.replace('{ids}', id)
|
||||||
|
return request(path, "DELETE", null, null, 'plug')
|
||||||
|
}
|
||||||
|
//开票申请列表
|
||||||
|
static doGetInvoiceRecordList(data) {
|
||||||
|
const path = apiPath.mineInvoiceRecordList.replace('{userId}', this.userId)
|
||||||
|
return request(path, "GET", data, null, 'plug')
|
||||||
|
}
|
||||||
|
//取消开票申请
|
||||||
|
static doCancelInvoiceRecord(id) {
|
||||||
|
const path = apiPath.cancelInvoiceRecord.replace('{invoiceRechargeId}', id)
|
||||||
|
return request(path, "DELETE", null, null, 'plug')
|
||||||
|
}
|
||||||
|
//提交开票申请
|
||||||
|
static doSaveInvoiceRecord(data) {
|
||||||
|
const path = apiPath.saveInvoiceRecord.replace('{userId}', this.userId)
|
||||||
|
return request(path, "POST", data, null, 'plug')
|
||||||
|
}
|
||||||
|
//修改开票申请
|
||||||
|
static doUpdateInvoiceRecord(data) {
|
||||||
|
const path = apiPath.updateInvoiceRecord.replace('{userId}', this.userId)
|
||||||
|
return request(path, 'PUT', data, null, 'plug')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default InvoiceApi;
|
@ -19,7 +19,7 @@ const apiPath = {
|
|||||||
delContact: '/api/proj-contact/remove/{ids}', //删除联系人
|
delContact: '/api/proj-contact/remove/{ids}', //删除联系人
|
||||||
canClaimsCoupons: '/api/coupon/list-can-claim', //获取可以申领的优惠卷
|
canClaimsCoupons: '/api/coupon/list-can-claim', //获取可以申领的优惠卷
|
||||||
saveCoupons: '/api/coupon/user/save', //领取优惠卷
|
saveCoupons: '/api/coupon/user/save', //领取优惠卷
|
||||||
minePayRecord: '/api/account/listpage-item/self'
|
minePayRecord: '/api/account/listpage-item/self',
|
||||||
}
|
}
|
||||||
class UserService {
|
class UserService {
|
||||||
static doLogin(data) {
|
static doLogin(data) {
|
||||||
|
@ -2,6 +2,7 @@ const Cache = require('../utils/storage');
|
|||||||
// 定义api服务地址
|
// 定义api服务地址
|
||||||
// const baseUrl = 'https://www.xzszwhy.cn/daqi/app';
|
// const baseUrl = 'https://www.xzszwhy.cn/daqi/app';
|
||||||
const operatorUrl = 'https://www.aimzhu.com/operator';
|
const operatorUrl = 'https://www.aimzhu.com/operator';
|
||||||
|
const operatorPlug = 'https://www.aimzhu.com/operator-plugin'
|
||||||
// const operatorUrl = 'https://www.aimzhu.com/operator';
|
// const operatorUrl = 'https://www.aimzhu.com/operator';
|
||||||
const copyrightUrl = 'https://www.aimzhu.com/copyright';
|
const copyrightUrl = 'https://www.aimzhu.com/copyright';
|
||||||
const uploadImgUrl = copyrightUrl + '/api/file/v2/upload-image'
|
const uploadImgUrl = copyrightUrl + '/api/file/v2/upload-image'
|
||||||
@ -33,6 +34,8 @@ function request(url, method = "GET", data = {}, params = {}, project = "copyrig
|
|||||||
baseUrl = copyrightUrl
|
baseUrl = copyrightUrl
|
||||||
} else if (project == 'online') {
|
} else if (project == 'online') {
|
||||||
baseUrl = 'https://www.aimzhu.com/operator'
|
baseUrl = 'https://www.aimzhu.com/operator'
|
||||||
|
} else if (project == 'plug') {
|
||||||
|
baseUrl = operatorPlug
|
||||||
}
|
}
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
wx.request({
|
wx.request({
|
||||||
|
@ -117,6 +117,17 @@ Page({
|
|||||||
_self.doGetClaimsCoupons()
|
_self.doGetClaimsCoupons()
|
||||||
}
|
}
|
||||||
this.countViewHeight()
|
this.countViewHeight()
|
||||||
|
this.getMineInfo()
|
||||||
|
},
|
||||||
|
//获取我的个人信息
|
||||||
|
getMineInfo() {
|
||||||
|
UserApi.doGetMineAccount()
|
||||||
|
.then(res => {
|
||||||
|
Cache.set('userId', res.userId)
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
const pages = getCurrentPages();
|
const pages = getCurrentPages();
|
||||||
@ -157,7 +168,7 @@ Page({
|
|||||||
.then(res => {
|
.then(res => {
|
||||||
if (res && res.length > 0) {
|
if (res && res.length > 0) {
|
||||||
_self.setData({
|
_self.setData({
|
||||||
tempCoupons: res[0],
|
tempCoupons: res,
|
||||||
showAd: true
|
showAd: true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -540,10 +551,13 @@ Page({
|
|||||||
wx.showLoading({
|
wx.showLoading({
|
||||||
title: '领取中...',
|
title: '领取中...',
|
||||||
})
|
})
|
||||||
const coupons = {
|
const requests = _self.data.tempCoupons.map(item => {
|
||||||
couponId: _self.data.tempCoupons.couponId
|
const coupons = {
|
||||||
}
|
couponId: _self.data.tempCoupons.couponId
|
||||||
UserApi.doSaveCoupons(coupons)
|
}
|
||||||
|
return UserApi.doSaveCoupons(coupons)
|
||||||
|
})
|
||||||
|
Promise.all(requests)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
wx.hideLoading()
|
wx.hideLoading()
|
||||||
_self.setData({
|
_self.setData({
|
||||||
|
@ -162,5 +162,5 @@
|
|||||||
<down-progress isShow="{{downloading}}" progress="{{downloadProgress}}"></down-progress>
|
<down-progress isShow="{{downloading}}" progress="{{downloadProgress}}"></down-progress>
|
||||||
<mp-toptips ext-class="custom-tips" msg="{{errorHint}}" type="error" show="{{showError}}"></mp-toptips>
|
<mp-toptips ext-class="custom-tips" msg="{{errorHint}}" type="error" show="{{showError}}"></mp-toptips>
|
||||||
<mp-toptips ext-class="custom-tips" msg="{{successHint}}" delay="2000" type="success" show="{{showSuccess}}"></mp-toptips>
|
<mp-toptips ext-class="custom-tips" msg="{{successHint}}" delay="2000" type="success" show="{{showSuccess}}"></mp-toptips>
|
||||||
<ad-popup coupons="{{tempCoupons}}" bindclose="doCloseAd" bindfurl="doFurlCoupons" visible="{{showAd}}"></ad-popup>
|
<ad-popup couponsList="{{tempCoupons}}" bindclose="doCloseAd" bindfurl="doFurlCoupons" visible="{{showAd}}"></ad-popup>
|
||||||
<wxs src="../../utils/comm.wxs" module="tools"></wxs>
|
<wxs src="../../utils/comm.wxs" module="tools"></wxs>
|
337
pages/mine/mineAccount/invoiceInfo/invoiceInfo.js
Normal file
337
pages/mine/mineAccount/invoiceInfo/invoiceInfo.js
Normal file
@ -0,0 +1,337 @@
|
|||||||
|
// pages/mine/mineAccount/invoiceInfo/invoiceInfo.js
|
||||||
|
import InvoiceApi from '../../../../net/api/invoiceApi'
|
||||||
|
import {
|
||||||
|
isValidPhone
|
||||||
|
} from '../../../../utils/validator'
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
keywords: '',
|
||||||
|
pageData: {
|
||||||
|
page: 1,
|
||||||
|
rows: 10,
|
||||||
|
keywords: ''
|
||||||
|
},
|
||||||
|
msgShow: false,
|
||||||
|
msgHint: '',
|
||||||
|
msgType: 'error',
|
||||||
|
loadingState: 'loading',
|
||||||
|
listRefreshTrig: false,
|
||||||
|
isLoadMore: false,
|
||||||
|
hasMore: true,
|
||||||
|
createDialog: false,
|
||||||
|
title: '开票信息',
|
||||||
|
isCreate: true, //区别是创建 or 编辑
|
||||||
|
companyName: '', //公司名称
|
||||||
|
companyAddress: '', //公司地址
|
||||||
|
companyPhone: '', //公司电话
|
||||||
|
companyBank: '', //公司开户行
|
||||||
|
bankNum: '', //开户行账号
|
||||||
|
tinNum: '', //纳税人识别号
|
||||||
|
btnTxt: '提交',
|
||||||
|
invoiceInfoList: [], //开票信息列表
|
||||||
|
tempItem: null,
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
wx.setNavigationBarTitle({
|
||||||
|
title: '开票信息',
|
||||||
|
})
|
||||||
|
wx.setNavigationBarColor({
|
||||||
|
frontColor: '#000000', // 必写项,字体颜色仅支持#ffffff和#000000
|
||||||
|
backgroundColor: '#F0F0F0', // 传递的颜色值,仅支持十六进制颜色
|
||||||
|
animation: { // 可选项
|
||||||
|
duration: 500,
|
||||||
|
timingFunc: 'easeIn'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.doRefreshList()
|
||||||
|
},
|
||||||
|
inputKeywords(e) {
|
||||||
|
this.setData({
|
||||||
|
keywords: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//清除搜索内容
|
||||||
|
clearSearch() {
|
||||||
|
const _self = this
|
||||||
|
_self.setData({
|
||||||
|
keywords: ''
|
||||||
|
})
|
||||||
|
_self.doRefreshList()
|
||||||
|
},
|
||||||
|
//发起搜索
|
||||||
|
doSearchKeyWord() {
|
||||||
|
const _self = this
|
||||||
|
_self.doRefreshList()
|
||||||
|
},
|
||||||
|
doGetInvoiceInfoList(isRefresh) {
|
||||||
|
const _self = this
|
||||||
|
_self.setData({
|
||||||
|
invoiceInfoList: isRefresh ? [] : _self.data.invoiceInfoList,
|
||||||
|
loadingState: isRefresh ? 'loading' : ''
|
||||||
|
})
|
||||||
|
InvoiceApi.doGetMineInvoiceList(_self.data.pageData)
|
||||||
|
.then(res => {
|
||||||
|
console.log(res)
|
||||||
|
var status = 'success'
|
||||||
|
status = res.rows && res.rows.length > 0 ? 'success' : 'empty'
|
||||||
|
_self.setData({
|
||||||
|
loadingState: isRefresh ? status : '',
|
||||||
|
invoiceInfoList: _self.data.invoiceInfoList.concat(res.rows),
|
||||||
|
listRefreshTrig: false,
|
||||||
|
isLoadMore: false
|
||||||
|
})
|
||||||
|
_self.setData({
|
||||||
|
hasMore: _self.data.invoiceInfoList.length < res.total
|
||||||
|
})
|
||||||
|
}, err => {
|
||||||
|
_self.setData({
|
||||||
|
loadingState: 'error',
|
||||||
|
listRefreshTrig: false,
|
||||||
|
isLoadMore: false,
|
||||||
|
hasMore: true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
doRefreshList() {
|
||||||
|
console.log('正在刷新...')
|
||||||
|
const _self = this
|
||||||
|
_self.setData({
|
||||||
|
listRefreshTrig: true,
|
||||||
|
loadingState: 'loading',
|
||||||
|
hasMore: true,
|
||||||
|
'pageData.page': 1,
|
||||||
|
'pageData.keywords': _self.data.keywords,
|
||||||
|
isLoadMore: false
|
||||||
|
})
|
||||||
|
_self.doGetInvoiceInfoList(true)
|
||||||
|
},
|
||||||
|
doLoadMore() {
|
||||||
|
//判断是否正在加载中 与是否存在更多数据
|
||||||
|
const _self = this
|
||||||
|
if (_self.data.isLoadMore || !_self.data.hasMore) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_self.setData({
|
||||||
|
isLoadMore: true,
|
||||||
|
'pageData.page': ++_self.data.pageData.page,
|
||||||
|
'pageData.keywords': _self.data.keywords
|
||||||
|
})
|
||||||
|
_self.doGetInvoiceInfoList(false)
|
||||||
|
},
|
||||||
|
inputCompanyName(e) {
|
||||||
|
this.setData({
|
||||||
|
companyName: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
inputTinNum(e) {
|
||||||
|
this.setData({
|
||||||
|
tinNum: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
inputAddress(e) {
|
||||||
|
this.setData({
|
||||||
|
companyAddress: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
inputPhone(e) {
|
||||||
|
this.setData({
|
||||||
|
companyPhone: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
inputBank(e) {
|
||||||
|
this.setData({
|
||||||
|
companyBank: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
inputBankNum(e) {
|
||||||
|
this.setData({
|
||||||
|
bankNum: e.detail.value
|
||||||
|
})
|
||||||
|
},
|
||||||
|
showCreateDialog() {
|
||||||
|
this.setData({
|
||||||
|
title: '开票信息',
|
||||||
|
isCreate: true,
|
||||||
|
createDialog: !this.data.createDialog
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//显示编辑
|
||||||
|
showEditDialog(e) {
|
||||||
|
const _self = this
|
||||||
|
const item = e.currentTarget.dataset.value
|
||||||
|
_self.setData({
|
||||||
|
tempItem: item,
|
||||||
|
companyName: item.invoiceName,
|
||||||
|
tinNum: item.invoiceNumber,
|
||||||
|
companyAddress: item.invoiceOrgaddress,
|
||||||
|
companyPhone: item.invoiceOrgtel,
|
||||||
|
companyBank: item.invoiceBank,
|
||||||
|
bankNum: item.invoiceBanknumber,
|
||||||
|
isCreate: false,
|
||||||
|
createDialog: true
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//删除
|
||||||
|
showDelDialog(e) {
|
||||||
|
wx.showModal({
|
||||||
|
title: '警告',
|
||||||
|
content: '您确定要删除该开票信息吗?',
|
||||||
|
complete: (res) => {
|
||||||
|
if (res.confirm) {
|
||||||
|
this.doDeleteInvoiceInfo(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//删除开票信息
|
||||||
|
doDeleteInvoiceInfo(e) {
|
||||||
|
const item = e.currentTarget.dataset.value
|
||||||
|
const _self = this
|
||||||
|
wx.showLoading({
|
||||||
|
title: '删除中...',
|
||||||
|
})
|
||||||
|
InvoiceApi.doDelMineInvoiceInfo(item.invoiceId)
|
||||||
|
.then(res => {
|
||||||
|
wx.hideLoading()
|
||||||
|
_self.setData({
|
||||||
|
msgHint: '删除成功',
|
||||||
|
msgType: 'success',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
_self.doRefreshList()
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
wx.hideLoading()
|
||||||
|
_self.setData({
|
||||||
|
msgHint: err.msg ? err.msg : '删除失败,请稍后重试',
|
||||||
|
msgType: 'error',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//编辑开票信息
|
||||||
|
editInvoiceInfo() {
|
||||||
|
const isLegl = this.checkParams()
|
||||||
|
if (isLegl) {
|
||||||
|
const _self = this
|
||||||
|
wx.showLoading({
|
||||||
|
title: '修改中...',
|
||||||
|
})
|
||||||
|
const data = _self.buildParams()
|
||||||
|
InvoiceApi.doUpdateMineInvoiceInfo(_self.data.tempItem.invoiceId, data)
|
||||||
|
.then(res => {
|
||||||
|
wx.hideLoading()
|
||||||
|
_self.setData({
|
||||||
|
tempItem: null,
|
||||||
|
msgType: 'success',
|
||||||
|
msgHint: '修改开票信息成功',
|
||||||
|
msgShow: true,
|
||||||
|
companyName: '',
|
||||||
|
tinNum: '',
|
||||||
|
companyAddress: '',
|
||||||
|
companyPhone: '',
|
||||||
|
companyBank: '',
|
||||||
|
bankNum: '',
|
||||||
|
isCreate: true,
|
||||||
|
createDialog: false
|
||||||
|
})
|
||||||
|
_self.doRefreshList()
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
wx.hideLoading()
|
||||||
|
_self.setData({
|
||||||
|
msgType: 'error',
|
||||||
|
msgHint: err.msg ? err.msg : '修改开票信息失败,请稍后重试',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
buildParams() {
|
||||||
|
const _self = this
|
||||||
|
const data = {
|
||||||
|
invoiceType: "企业",
|
||||||
|
invoiceName: _self.data.companyName,
|
||||||
|
invoiceNumber: _self.data.tinNum,
|
||||||
|
invoiceOrgaddress: _self.data.companyAddress,
|
||||||
|
invoiceOrgtel: _self.data.companyPhone,
|
||||||
|
invoiceBank: _self.data.companyBank,
|
||||||
|
invoiceBanknumber: _self.data.bankNum,
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
},
|
||||||
|
//新增开票信息
|
||||||
|
saveInvoiceInfo() {
|
||||||
|
const _self = this
|
||||||
|
var isLegal = _self.checkParams()
|
||||||
|
if (isLegal) {
|
||||||
|
wx.showLoading({
|
||||||
|
title: '提交中...',
|
||||||
|
})
|
||||||
|
const data = _self.buildParams()
|
||||||
|
InvoiceApi.doSaveMineInvoiceInfo(data)
|
||||||
|
.then(res => {
|
||||||
|
wx.hideLoading()
|
||||||
|
_self.setData({
|
||||||
|
msgType: 'success',
|
||||||
|
msgHint: '新增开票信息成功',
|
||||||
|
msgShow: true,
|
||||||
|
companyName: '',
|
||||||
|
tinNum: '',
|
||||||
|
companyAddress: '',
|
||||||
|
companyPhone: '',
|
||||||
|
companyBank: '',
|
||||||
|
bankNum: '',
|
||||||
|
createDialog: false
|
||||||
|
})
|
||||||
|
_self.doRefreshList()
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
wx.hideLoading()
|
||||||
|
_self.setData({
|
||||||
|
msgType: 'error',
|
||||||
|
msgHint: err.msg ? err.msg : '新增开票信息失败,请稍后重试',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
checkParams() {
|
||||||
|
var _self = this
|
||||||
|
if (_self.data.companyName == '') {
|
||||||
|
_self.setData({
|
||||||
|
msgType: 'error',
|
||||||
|
msgHint: '请输入公司名称',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (_self.data.tinNum == '') {
|
||||||
|
_self.setData({
|
||||||
|
msgType: 'error',
|
||||||
|
msgHint: '请输入纳税人识别号',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (_self.data.companyPhone != '') {
|
||||||
|
if (!isValidPhone(_self.data.companyPhone)) {
|
||||||
|
_self.setData({
|
||||||
|
msgType: 'error',
|
||||||
|
msgHint: '公司电话号码有误,请核查',
|
||||||
|
msgShow: true
|
||||||
|
})
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
})
|
8
pages/mine/mineAccount/invoiceInfo/invoiceInfo.json
Normal file
8
pages/mine/mineAccount/invoiceInfo/invoiceInfo.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"mp-half-screen-dialog": "weui-miniprogram/half-screen-dialog/half-screen-dialog",
|
||||||
|
"mp-loading": "weui-miniprogram/loading/loading",
|
||||||
|
"container-loading": "/components/container-loading/container-loading",
|
||||||
|
"mp-toptips": "weui-miniprogram/toptips/toptips"
|
||||||
|
}
|
||||||
|
}
|
77
pages/mine/mineAccount/invoiceInfo/invoiceInfo.wxml
Normal file
77
pages/mine/mineAccount/invoiceInfo/invoiceInfo.wxml
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
<view class="page-container">
|
||||||
|
<view class="search-box">
|
||||||
|
<view class="search-container">
|
||||||
|
<input class="search-input" value="{{keywords}}" bindinput="inputKeywords" bindconfirm="doSearchKeyWord" type="text" confirm-type="search" placeholder="搜索" />
|
||||||
|
<view wx:if="{{keywords !=''}}" bind:tap="clearSearch" class="icon-clear" style="width: 20px;height: 20px;"></view>
|
||||||
|
</view>
|
||||||
|
<view class="add-btn" bind:tap="showCreateDialog">新建</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-container">
|
||||||
|
<container-loading loadingState="{{loadingState}}" style="height: 85vh;" bindrefresh="doRefreshList">
|
||||||
|
<scroll-view scroll-y="{{true}}" style="height: 85vh;padding-bottom: 40px;" bindrefresherrefresh="doRefreshList" refresher-enabled refresher-triggered="{{listRefreshTrig}}" bindscrolltolower="doLoadMore" lower-threshold='30'>
|
||||||
|
<view class="order-box">
|
||||||
|
<block wx:for="{{invoiceInfoList}}" wx:key="index">
|
||||||
|
<view class="order-item">
|
||||||
|
<view class="contact-desc">
|
||||||
|
<view class="contact-icon">
|
||||||
|
<view class="ic-user" style="width: 24px;height: 24px;"></view>
|
||||||
|
<view class="ml-10 name">{{item.invoiceName}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="options-box">
|
||||||
|
<view class="edit" bind:tap="showEditDialog" data-value="{{item}}">编辑</view>
|
||||||
|
<view class="del" bind:tap="showDelDialog" data-value="{{item}}">删除</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="service-desc ml-10">纳税识别号:{{item.invoiceNumber}}</view>
|
||||||
|
<view class="service-desc ml-10">企业电话:{{item.invoiceOrgtel}}</view>
|
||||||
|
<view class="service-desc ml-5" wx:if="{{item.invoiceOrgaddress != ''}}">
|
||||||
|
<view class="icon-yellow-location" style="width: 32rpx;height: 32rpx;"></view>
|
||||||
|
<view class="ml-10">{{item.invoiceOrgaddress}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<mp-loading show="{{isLoadMore}}" type="circle"></mp-loading>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</container-loading>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 新增 -->
|
||||||
|
<mp-half-screen-dialog show="{{createDialog}}">
|
||||||
|
<view slot="title">{{title}}</view>
|
||||||
|
<view slot="desc">
|
||||||
|
<view class="form-box">
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title">公司名称</view>
|
||||||
|
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyName}}" placeholder="请输入公司名称" class="form-item-content" bindinput="inputCompanyName" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title">纳税人识别号</view>
|
||||||
|
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{tinNum}}" placeholder="请输入纳税人识别号" class="form-item-content" bindinput="inputTinNum" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司地址</view>
|
||||||
|
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyAddress}}" placeholder="请输入公司地址" class="form-item-content" bindinput="inputAddress" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司电话</view>
|
||||||
|
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyPhone}}" placeholder="请输入公司电话" class="form-item-content" bindinput="inputPhone" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title no-after" style="padding-left: 16rpx;">开户行</view>
|
||||||
|
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyBank}}" placeholder="请输入开户行" class="form-item-content" bindinput="inputBank" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title no-after" style="padding-left: 16rpx;">开户行账号</view>
|
||||||
|
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{bankNum}}" placeholder="请输入开户行账号" class="form-item-content" bindinput="inputBankNum" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view slot="footer">
|
||||||
|
<button wx:if="{{isCreate}}" class="confirm-btn" bind:tap="saveInvoiceInfo">{{btnTxt}}</button>
|
||||||
|
<button wx:if="{{!isCreate}}" class="confirm-btn" bind:tap="editInvoiceInfo">{{btnTxt}}</button>
|
||||||
|
</view>
|
||||||
|
</mp-half-screen-dialog>
|
||||||
|
|
||||||
|
<mp-toptips msg="{{msgHint}}" type="{{msgType}}" show="{{msgShow}}" delay="{{2000}}"></mp-toptips>
|
261
pages/mine/mineAccount/invoiceInfo/invoiceInfo.wxss
Normal file
261
pages/mine/mineAccount/invoiceInfo/invoiceInfo.wxss
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
/* pages/mine/mineAccount/mineInvoice/mineInvoice.wxss */
|
||||||
|
page {
|
||||||
|
background: linear-gradient(to bottom, #F0F0F0, #FFFFFF);
|
||||||
|
background-size: 100% 100vh;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ic-user {
|
||||||
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzOTg4MzkwNjkwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0MDkiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiAxMDI0QzIyOS4yMDUzMzMgMTAyNCAwIDc5NC43OTQ2NjcgMCA1MTJTMjI5LjIwNTMzMyAwIDUxMiAwczUxMiAyMjkuMjA1MzMzIDUxMiA1MTItMjI5LjIwNTMzMyA1MTItNTEyIDUxMnogbTAtNDk2LjQ2OTMzM2ExNzAuNjY2NjY3IDE3MC42NjY2NjcgMCAxIDAgMC0zNDEuMzMzMzM0IDE3MC42NjY2NjcgMTcwLjY2NjY2NyAwIDAgMCAwIDM0MS4zMzMzMzR6IG0yNjMuNzY1MzMzIDI2My43MjI2NjZhMjYzLjc2NTMzMyAyNjMuNzY1MzMzIDAgMSAwLTUyNy41MzA2NjYgMGg1MjcuNTMwNjY2eiIgcC1pZD0iMzQxMCIgZmlsbD0iIzEyOTZkYiI+PC9wYXRoPjwvc3ZnPg==');
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.search-box {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-self: center;
|
||||||
|
width: 96vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-container {
|
||||||
|
position: relative;
|
||||||
|
align-self: center;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: rgba(255, 255, 255, 1);
|
||||||
|
font-family: -regular;
|
||||||
|
margin: 10px 15px;
|
||||||
|
padding: 5px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-input {
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: rgba(16, 16, 16, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-input::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 10px;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-top: -1px;
|
||||||
|
background-size: cover;
|
||||||
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTkiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTkwOS42IDg1NC41TDY0OS45IDU5NC44QzY5MC4yIDU0Mi43IDcxMiA0NzkgNzEyIDQxMmMwLTgwLjItMzEuMy0xNTUuNC04Ny45LTIxMi4xLTU2LjYtNTYuNy0xMzItODcuOS0yMTIuMS04Ny45cy0xNTUuNSAzMS4zLTIxMi4xIDg3LjlDMTQzLjIgMjU2LjUgMTEyIDMzMS44IDExMiA0MTJjMCA4MC4xIDMxLjMgMTU1LjUgODcuOSAyMTIuMUMyNTYuNSA2ODAuOCAzMzEuOCA3MTIgNDEyIDcxMmM2NyAwIDEzMC42LTIxLjggMTgyLjctNjJsMjU5LjcgMjU5LjZhOC4yIDguMiAwIDAgMCAxMS42IDBsNDMuNi00My41YTguMiA4LjIgMCAwIDAgMC0xMS42ek01NzAuNCA1NzAuNEM1MjggNjEyLjcgNDcxLjggNjM2IDQxMiA2MzZzLTExNi0yMy4zLTE1OC40LTY1LjZDMjExLjMgNTI4IDE4OCA0NzEuOCAxODggNDEyczIzLjMtMTE2LjEgNjUuNi0xNTguNEMyOTYgMjExLjMgMzUyLjIgMTg4IDQxMiAxODhzMTE2LjEgMjMuMiAxNTguNCA2NS42UzYzNiAzNTIuMiA2MzYgNDEycy0yMy4zIDExNi4xLTY1LjYgMTU4LjR6IiBmaWxsPSJyZ2JhKDIwNCwyMDQsMjA0LDEpIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+');
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-btn {
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(50, 112, 255, 1);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
text-align: center;
|
||||||
|
font-family: PingFangSC-regular;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-btn:active {
|
||||||
|
background-color: rgba(50, 112, 255, .7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-container {
|
||||||
|
height: 82vh;
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 40rpx;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.order-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 10px;
|
||||||
|
width: 94vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-item:nth-of-type(n+2) {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-desc {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-icon {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
line-height: 32rpx;
|
||||||
|
flex: 1;
|
||||||
|
color: rgba(0, 0, 0, 1);
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: SourceHanSansSC-black;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-desc {
|
||||||
|
padding: 5rpx 15rpx 15rpx 30rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
color: rgba(122, 122, 122, 1);
|
||||||
|
font-size: 26rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-family: SourceHanSansSC-regular;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit {
|
||||||
|
line-height: 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(122, 196, 131, 0.42);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-family: PingFangSC-regular;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.del {
|
||||||
|
line-height: 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(247, 49, 42, 0.42);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-family: PingFangSC-regular;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.del:active {
|
||||||
|
background-color: rgba(247, 49, 42, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.options-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
min-width: 170rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit:active {
|
||||||
|
background-color: rgba(122, 196, 131, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.form-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
font-size: 14px;
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
width: 80vw;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item-title {
|
||||||
|
flex: .5;
|
||||||
|
font-size: 14px;
|
||||||
|
color: black;
|
||||||
|
font-weight: 500;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item-title:not(.no-after)::before {
|
||||||
|
content: "*";
|
||||||
|
color: red;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 1px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item-content {
|
||||||
|
flex: 1;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-btn {
|
||||||
|
background-color: #FFA900;
|
||||||
|
color: white;
|
||||||
|
font-size: 16px;
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
border-radius: 5px;
|
||||||
|
width: 85vw !important;
|
||||||
|
padding: 0rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-btn:active {
|
||||||
|
background-color: #ffaa0083;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-half-screen-dialog__ft {
|
||||||
|
padding: 0rpx 0rpx 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-half-screen-dialog__bd {
|
||||||
|
padding-bottom: 40rpx;
|
||||||
|
}
|
@ -310,7 +310,7 @@ Page({
|
|||||||
_self.setData({
|
_self.setData({
|
||||||
isLoadMore: true,
|
isLoadMore: true,
|
||||||
'pageData.page': ++_self.data.pageData.page,
|
'pageData.page': ++_self.data.pageData.page,
|
||||||
keywords: _self.data.keywords
|
'pageData.keywords': _self.data.keywords
|
||||||
})
|
})
|
||||||
_self.doGetMineContactList(false)
|
_self.doGetMineContactList(false)
|
||||||
},
|
},
|
||||||
|
102
pages/mine/mineAccount/mineInvoice/mineInvoice.js
Normal file
102
pages/mine/mineAccount/mineInvoice/mineInvoice.js
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
// pages/mine/mineAccount/mineInvoice/mineInvoice.js
|
||||||
|
import InvoiceApi from '../../../../net/api/invoiceApi'
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
keywords: '',
|
||||||
|
pageData: {
|
||||||
|
page: 1,
|
||||||
|
rows: 10,
|
||||||
|
keywords: ''
|
||||||
|
},
|
||||||
|
msgShow: false,
|
||||||
|
msgHint: '',
|
||||||
|
msgType: 'error',
|
||||||
|
loadingState: 'loading',
|
||||||
|
listRefreshTrig: false,
|
||||||
|
isLoadMore: false,
|
||||||
|
hasMore: true,
|
||||||
|
recordList: [], //开票记录
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
wx.setNavigationBarTitle({
|
||||||
|
title: '发票管理',
|
||||||
|
})
|
||||||
|
wx.setNavigationBarColor({
|
||||||
|
frontColor: '#000000', // 必写项,字体颜色仅支持#ffffff和#000000
|
||||||
|
backgroundColor: '#F0F0F0', // 传递的颜色值,仅支持十六进制颜色
|
||||||
|
animation: { // 可选项
|
||||||
|
duration: 500,
|
||||||
|
timingFunc: 'easeIn'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.doRefreshList()
|
||||||
|
},
|
||||||
|
openInvoiceInfo() {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/mine/mineAccount/invoiceInfo/invoiceInfo',
|
||||||
|
})
|
||||||
|
},
|
||||||
|
doRefreshList() {
|
||||||
|
console.log('正在刷新...')
|
||||||
|
const _self = this
|
||||||
|
_self.setData({
|
||||||
|
listRefreshTrig: true,
|
||||||
|
loadingState: 'loading',
|
||||||
|
hasMore: true,
|
||||||
|
'pageData.page': 1,
|
||||||
|
'pageData.keywords': _self.data.keywords,
|
||||||
|
isLoadMore: false
|
||||||
|
})
|
||||||
|
_self.doGetInvoiceRecordList(true)
|
||||||
|
},
|
||||||
|
doLoadMore() {
|
||||||
|
//判断是否正在加载中 与是否存在更多数据
|
||||||
|
const _self = this
|
||||||
|
if (_self.data.isLoadMore || !_self.data.hasMore) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_self.setData({
|
||||||
|
isLoadMore: true,
|
||||||
|
'pageData.page': ++_self.data.pageData.page,
|
||||||
|
'pageData.keywords': _self.data.keywords
|
||||||
|
})
|
||||||
|
_self.doGetInvoiceRecordList(false)
|
||||||
|
},
|
||||||
|
doGetInvoiceRecordList(isRefresh) {
|
||||||
|
const _self = this
|
||||||
|
_self.setData({
|
||||||
|
recordList: isRefresh ? [] : _self.data.recordList,
|
||||||
|
loadingState: isRefresh ? 'loading' : ''
|
||||||
|
})
|
||||||
|
InvoiceApi.doGetInvoiceRecordList(_self.data.pageData)
|
||||||
|
.then(res => {
|
||||||
|
console.log(res)
|
||||||
|
var status = 'success'
|
||||||
|
status = res.rows && res.rows.length > 0 ? 'success' : 'empty'
|
||||||
|
_self.setData({
|
||||||
|
loadingState: isRefresh ? status : '',
|
||||||
|
recordList: _self.data.recordList.concat(res.rows),
|
||||||
|
listRefreshTrig: false,
|
||||||
|
isLoadMore: false
|
||||||
|
})
|
||||||
|
_self.setData({
|
||||||
|
hasMore: _self.data.recordList.length < res.total
|
||||||
|
})
|
||||||
|
}, err => {
|
||||||
|
_self.setData({
|
||||||
|
loadingState: 'error',
|
||||||
|
listRefreshTrig: false,
|
||||||
|
isLoadMore: false,
|
||||||
|
hasMore: true
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
8
pages/mine/mineAccount/mineInvoice/mineInvoice.json
Normal file
8
pages/mine/mineAccount/mineInvoice/mineInvoice.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"mp-half-screen-dialog": "weui-miniprogram/half-screen-dialog/half-screen-dialog",
|
||||||
|
"mp-loading": "weui-miniprogram/loading/loading",
|
||||||
|
"container-loading": "/components/container-loading/container-loading",
|
||||||
|
"mp-toptips": "weui-miniprogram/toptips/toptips"
|
||||||
|
}
|
||||||
|
}
|
69
pages/mine/mineAccount/mineInvoice/mineInvoice.wxml
Normal file
69
pages/mine/mineAccount/mineInvoice/mineInvoice.wxml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<view class="page-container">
|
||||||
|
<view class="search-box">
|
||||||
|
<view class="search-container">
|
||||||
|
<input class="search-input" value="{{keywords}}" bindinput="inputKeywords" bindconfirm="doSearchKeyWord" type="text" confirm-type="search" placeholder="搜索" />
|
||||||
|
<view wx:if="{{keywords !=''}}" bind:tap="clearSearch" class="icon-clear" style="width: 20px;height: 20px;"></view>
|
||||||
|
</view>
|
||||||
|
<view class="add-btn" bind:tap="openInvoiceInfo">开票信息</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-container">
|
||||||
|
<container-loading loadingState="{{loadingState}}" style="height: 85vh;" bindrefresh="doRefreshList">
|
||||||
|
<scroll-view scroll-y="{{true}}" style="height: 85vh;padding-bottom: 40px;" bindrefresherrefresh="doRefreshList" refresher-enabled refresher-triggered="{{listRefreshTrig}}" bindscrolltolower="doLoadMore" lower-threshold='30'>
|
||||||
|
<!-- <view class="order-box">
|
||||||
|
<block wx:for="{{invoiceList}}" wx:key="index">
|
||||||
|
<view class="order-item">
|
||||||
|
<view class="contact-desc">
|
||||||
|
<view class="contact-icon">
|
||||||
|
<view class="ic-user" style="width: 24px;height: 24px;"></view>
|
||||||
|
<view class="ml-10 name">{{item.name}}</view>
|
||||||
|
</view>
|
||||||
|
<view>{{item.phone}}</view>
|
||||||
|
<view class="options-box">
|
||||||
|
<view class="edit" bind:tap="showEditDialog" data-value="{{item}}">编辑</view>
|
||||||
|
<view class="del" bind:tap="showDelDialog" data-value="{{item}}">删除</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="service-desc ml-10">{{item.company}}</view>
|
||||||
|
<view class="service-desc ml-10">专属客服 : {{item.csaNo}}</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
<mp-loading show="{{isLoadMore}}" type="circle"></mp-loading>
|
||||||
|
</view> -->
|
||||||
|
</scroll-view>
|
||||||
|
</container-loading>
|
||||||
|
</view>
|
||||||
|
<view class="bottom-btn">
|
||||||
|
<view class="confirm-btn">去开票</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 新增 -->
|
||||||
|
<!-- <mp-half-screen-dialog show="{{showCreateContact}}">
|
||||||
|
<view slot="title">{{title}}</view>
|
||||||
|
<view slot="desc">
|
||||||
|
<view class="form-box">
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title">姓名</view>
|
||||||
|
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactName}}" placeholder="请输入姓名" class="form-item-content" bindinput="inputContactName" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title">联系电话</view>
|
||||||
|
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactPhone}}" placeholder="请输入联系电话" class="form-item-content" bindinput="inputContactPhone" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title no-after" style="padding-left: 16rpx;">联系邮箱</view>
|
||||||
|
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactEmail}}" placeholder="请输入联系邮箱" class="form-item-content" bindinput="inputContactEmail" />
|
||||||
|
</view>
|
||||||
|
<view class="form-item">
|
||||||
|
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司</view>
|
||||||
|
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactCompany}}" placeholder="请输入公司名称" class="form-item-content" bindinput="inputContactCompany" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view slot="footer">
|
||||||
|
<button wx:if="{{isCreate}}" class="confirm-btn" bind:tap="doSaveContact">{{btnTxt}}</button>
|
||||||
|
<button wx:if="{{!isCreate}}" class="confirm-btn" bind:tap="doEditContact">{{btnTxt}}</button>
|
||||||
|
</view>
|
||||||
|
</mp-half-screen-dialog> -->
|
||||||
|
|
||||||
|
<mp-toptips msg="{{msgHint}}" type="{{msgType}}" show="{{msgShow}}" :delay="2000"></mp-toptips>
|
251
pages/mine/mineAccount/mineInvoice/mineInvoice.wxss
Normal file
251
pages/mine/mineAccount/mineInvoice/mineInvoice.wxss
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
/* pages/mine/mineAccount/mineInvoice/mineInvoice.wxss */
|
||||||
|
page {
|
||||||
|
background: linear-gradient(to bottom, #F0F0F0, #FFFFFF);
|
||||||
|
background-size: 100% 100vh;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.ic-user {
|
||||||
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzOTg4MzkwNjkwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0MDkiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiAxMDI0QzIyOS4yMDUzMzMgMTAyNCAwIDc5NC43OTQ2NjcgMCA1MTJTMjI5LjIwNTMzMyAwIDUxMiAwczUxMiAyMjkuMjA1MzMzIDUxMiA1MTItMjI5LjIwNTMzMyA1MTItNTEyIDUxMnogbTAtNDk2LjQ2OTMzM2ExNzAuNjY2NjY3IDE3MC42NjY2NjcgMCAxIDAgMC0zNDEuMzMzMzM0IDE3MC42NjY2NjcgMTcwLjY2NjY2NyAwIDAgMCAwIDM0MS4zMzMzMzR6IG0yNjMuNzY1MzMzIDI2My43MjI2NjZhMjYzLjc2NTMzMyAyNjMuNzY1MzMzIDAgMSAwLTUyNy41MzA2NjYgMGg1MjcuNTMwNjY2eiIgcC1pZD0iMzQxMCIgZmlsbD0iIzEyOTZkYiI+PC9wYXRoPjwvc3ZnPg==');
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.search-box {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-self: center;
|
||||||
|
width: 96vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-container {
|
||||||
|
position: relative;
|
||||||
|
align-self: center;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: rgba(255, 255, 255, 1);
|
||||||
|
font-family: -regular;
|
||||||
|
margin: 10px 15px;
|
||||||
|
padding: 5px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-input {
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: rgba(16, 16, 16, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-input::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 10px;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-top: -1px;
|
||||||
|
background-size: cover;
|
||||||
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTkiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTkwOS42IDg1NC41TDY0OS45IDU5NC44QzY5MC4yIDU0Mi43IDcxMiA0NzkgNzEyIDQxMmMwLTgwLjItMzEuMy0xNTUuNC04Ny45LTIxMi4xLTU2LjYtNTYuNy0xMzItODcuOS0yMTIuMS04Ny45cy0xNTUuNSAzMS4zLTIxMi4xIDg3LjlDMTQzLjIgMjU2LjUgMTEyIDMzMS44IDExMiA0MTJjMCA4MC4xIDMxLjMgMTU1LjUgODcuOSAyMTIuMUMyNTYuNSA2ODAuOCAzMzEuOCA3MTIgNDEyIDcxMmM2NyAwIDEzMC42LTIxLjggMTgyLjctNjJsMjU5LjcgMjU5LjZhOC4yIDguMiAwIDAgMCAxMS42IDBsNDMuNi00My41YTguMiA4LjIgMCAwIDAgMC0xMS42ek01NzAuNCA1NzAuNEM1MjggNjEyLjcgNDcxLjggNjM2IDQxMiA2MzZzLTExNi0yMy4zLTE1OC40LTY1LjZDMjExLjMgNTI4IDE4OCA0NzEuOCAxODggNDEyczIzLjMtMTE2LjEgNjUuNi0xNTguNEMyOTYgMjExLjMgMzUyLjIgMTg4IDQxMiAxODhzMTE2LjEgMjMuMiAxNTguNCA2NS42UzYzNiAzNTIuMiA2MzYgNDEycy0yMy4zIDExNi4xLTY1LjYgMTU4LjR6IiBmaWxsPSJyZ2JhKDIwNCwyMDQsMjA0LDEpIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+');
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-btn {
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(50, 112, 255, 1);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
text-align: center;
|
||||||
|
font-family: PingFangSC-regular;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-btn:active {
|
||||||
|
background-color: rgba(50, 112, 255, .7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-container {
|
||||||
|
height: 82vh;
|
||||||
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 40rpx;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.order-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 10px;
|
||||||
|
width: 94vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-item:nth-of-type(n+2) {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-desc {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 15px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-icon {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
line-height: 23rpx;
|
||||||
|
color: rgba(0, 0, 0, 1);
|
||||||
|
font-size: 32rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: SourceHanSansSC-black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-desc {
|
||||||
|
padding: 0px 15px 15px 15px;
|
||||||
|
line-height: 20px;
|
||||||
|
color: rgba(0, 0, 0, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: left;
|
||||||
|
font-family: SourceHanSansSC-regular;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit {
|
||||||
|
line-height: 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(122, 196, 131, 0.42);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-family: PingFangSC-regular;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.del {
|
||||||
|
line-height: 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(247, 49, 42, 0.42);
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-family: PingFangSC-regular;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.del:active {
|
||||||
|
background-color: rgba(247, 49, 42, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.options-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit:active {
|
||||||
|
background-color: rgba(122, 196, 131, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.form-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
font-size: 14px;
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
width: 80vw;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item-title {
|
||||||
|
flex: .3;
|
||||||
|
font-size: 14px;
|
||||||
|
color: black;
|
||||||
|
font-weight: 500;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item-title:not(.no-after)::before {
|
||||||
|
content: "*";
|
||||||
|
color: red;
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 1px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-item-content {
|
||||||
|
flex: 1;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-btn {
|
||||||
|
background-color: #FFA900;
|
||||||
|
color: white;
|
||||||
|
font-size: 16px;
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
border-radius: 5px;
|
||||||
|
text-align: center;
|
||||||
|
width: 85vw !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.confirm-btn:active {
|
||||||
|
background-color: #ffaa0083;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-half-screen-dialog__ft {
|
||||||
|
padding: 0rpx 0rpx 40rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-half-screen-dialog__bd {
|
||||||
|
padding-bottom: 40rpx;
|
||||||
|
}
|
@ -31,29 +31,33 @@ Page({
|
|||||||
materialCount: 0,
|
materialCount: 0,
|
||||||
accountInfo: {},
|
accountInfo: {},
|
||||||
menuList: [{
|
menuList: [{
|
||||||
"icon": "ic-user",
|
icon: "ic-user",
|
||||||
"title": "个人信息",
|
title: "个人信息",
|
||||||
"path": "/pages/mine/mineAccount/mineInfo/mineInfo"
|
path: "/pages/mine/mineAccount/mineInfo/mineInfo"
|
||||||
}, {
|
}, {
|
||||||
"icon": "ic-pay-record",
|
icon: 'ic-invoice-info',
|
||||||
"title": "资金流水",
|
title: '开票信息',
|
||||||
"path": "/pages/mine/mineAccount/minePayRecord/minePayRecord"
|
path: '/pages/mine/mineAccount/invoiceInfo/invoiceInfo'
|
||||||
}, {
|
}, {
|
||||||
"icon": "ic-order",
|
icon: "ic-pay-record",
|
||||||
"title": "我的订单",
|
title: "资金流水",
|
||||||
"path": "/pages/mine/mineAccount/mineOrder/mineOrder"
|
path: "/pages/mine/mineAccount/minePayRecord/minePayRecord"
|
||||||
}, {
|
}, {
|
||||||
"icon": "ic-invoice",
|
icon: "ic-order",
|
||||||
"title": "发票管理",
|
title: "我的订单",
|
||||||
"path": ""
|
path: "/pages/mine/mineAccount/mineOrder/mineOrder"
|
||||||
}, {
|
}, {
|
||||||
"icon": "ic-contact",
|
icon: "ic-invoice",
|
||||||
"title": "产权联系人",
|
title: "发票管理",
|
||||||
"path": "/pages/mine/mineAccount/mineContact/mineContact"
|
path: "/pages/mine/mineAccount/mineInvoice/mineInvoice"
|
||||||
}, {
|
}, {
|
||||||
"icon": "ic-unbind",
|
icon: "ic-contact",
|
||||||
"title": "微信解绑",
|
title: "产权联系人",
|
||||||
"path": ""
|
path: "/pages/mine/mineAccount/mineContact/mineContact"
|
||||||
|
}, {
|
||||||
|
icon: "ic-unbind",
|
||||||
|
title: "微信解绑",
|
||||||
|
path: ""
|
||||||
}],
|
}],
|
||||||
buttons: [{
|
buttons: [{
|
||||||
text: '知道了'
|
text: '知道了'
|
||||||
@ -314,12 +318,7 @@ Page({
|
|||||||
itemClick(e) {
|
itemClick(e) {
|
||||||
const path = e.currentTarget.dataset.path
|
const path = e.currentTarget.dataset.path
|
||||||
const title = e.currentTarget.dataset.title
|
const title = e.currentTarget.dataset.title
|
||||||
if (title == '发票管理') {
|
if (title == '微信解绑') {
|
||||||
this.setData({
|
|
||||||
showHint: true,
|
|
||||||
hintTxt: `鉴于功能特性,需在电脑端完成操作。请打开浏览器,登录网址${copyrightUrl},进行后续操作。`
|
|
||||||
})
|
|
||||||
} else if (title == '微信解绑') {
|
|
||||||
this.unbindPhone()
|
this.unbindPhone()
|
||||||
} else {
|
} else {
|
||||||
wx.navigateTo({
|
wx.navigateTo({
|
||||||
|
@ -269,6 +269,14 @@
|
|||||||
height: 24px;
|
height: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic-invoice-info {
|
||||||
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1NzM3NDQ3MTAwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ0MTMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA1MTJtLTQ3NS40Mjg1NzEgMGE0NzUuNDI4NTcxIDQ3NS40Mjg1NzEgMCAxIDAgOTUwLjg1NzE0MiAwIDQ3NS40Mjg1NzEgNDc1LjQyODU3MSAwIDEgMC05NTAuODU3MTQyIDBaIiBmaWxsPSIjN0U0RkZGIiBwLWlkPSI0NDE0Ij48L3BhdGg+PHBhdGggZD0iTTY1Ni4wOTE0MjkgNDIyLjc2NTcxNGExNi43NDk3MTQgMTYuNzQ5NzE0IDAgMCAxIDE3LjE4ODU3MSAxNS43OTg4NTd2MzA0LjM0NzQyOWE2LjU4Mjg1NyA2LjU4Mjg1NyAwIDAgMS0zLjUxMDg1NyA1LjQ4NTcxNCA3LjE2OCA3LjE2OCAwIDAgMS02LjcyOTE0MyAwYy0zLjgwMzQyOS0yLjQxMzcxNC02NC4yMTk0MjktMzcuODE0ODU3LTY0LjIxOTQyOS0zNy44MTQ4NTdhMTQuNDA5MTQzIDE0LjQwOTE0MyAwIDAgMC0xNC4xMTY1NzEgMGwtNjUuMTcwMjg2IDM3LjUyMjI4NmExNy41NTQyODYgMTcuNTU0Mjg2IDAgMCAxLTcuNjggMS4yNDM0MjggMjAuMjYwNTcxIDIwLjI2MDU3MSAwIDAgMS04LjA0NTcxNC0xLjI0MzQyOGwtNjEuOTUyLTM2Ljg2NGExNC40MDkxNDMgMTQuNDA5MTQzIDAgMCAwLTE0LjExNjU3MSAwbC0yMy40MDU3MTUgMTMuNDU4Mjg2LTE1Ljc5ODg1NyA5LjA2OTcxNC0yNi42MjQgMTUuMjg2ODU3YTguMjY1MTQzIDguMjY1MTQzIDAgMCAxLTcuMzE0Mjg2LTAuMzY1NzE0IDcuNjA2ODU3IDcuNjA2ODU3IDAgMCAxLTMuODc2NTcxLTUuNzc4Mjg2VjQzOS4wNzY1NzFhMTYuMDkxNDI5IDE2LjA5MTQyOSAwIDAgMSA1LjEyLTExLjYyOTcxNCAxNy42Mjc0MjkgMTcuNjI3NDI5IDAgMCAxIDEyLjE0MTcxNC00Ljc1NDI4NnogbS00Ny4wMzA4NTggMTQ4LjE4NzQyOUg0MTQuOTM5NDI5YTE1Ljk0NTE0MyAxNS45NDUxNDMgMCAwIDAtMTYuMDkxNDI5IDE1LjUwNjI4NmMwIDguNTU3NzE0IDcuMjQxMTQzIDE1LjQzMzE0MyAxNi4wOTE0MjkgMTUuNTc5NDI4aDE5NC4xMjExNDJjNS44NTE0MjkgMC4wNzMxNDMgMTEuMzM3MTQzLTIuODUyNTcxIDE0LjMzNi03LjY4YTE0LjkyMTE0MyAxNC45MjExNDMgMCAwIDAgMC0xNS43MjU3MTQgMTYuNDU3MTQzIDE2LjQ1NzE0MyAwIDAgMC0xNC4zMzYtNy42OHogbTAtNzAuNDM2NTcySDQxNC45Mzk0MjlhMTYuNDU3MTQzIDE2LjQ1NzE0MyAwIDAgMC0xNC4zMzYgNy42OCAxNC45MjExNDMgMTQuOTIxMTQzIDAgMCAwIDAgMTUuNzI1NzE1YzIuOTk4ODU3IDQuODI3NDI5IDguNDg0NTcxIDcuNzUzMTQzIDE0LjMzNiA3LjY4aDE5NC4xMjExNDJjNS44NTE0MjkgMC4wNzMxNDMgMTEuMzM3MTQzLTIuOTI1NzE0IDE0LjMzNi03LjY4YTE0LjkyMTE0MyAxNC45MjExNDMgMCAwIDAgMC0xNS43MjU3MTUgMTYuNDU3MTQzIDE2LjQ1NzE0MyAwIDAgMC0xNC4zMzYtNy42OHpNNzI0LjExNDI4NiAzNDIuMjM1NDI5YzE0LjExNjU3MSAwIDI1LjYgMTAuOTcxNDI5IDI1LjYgMjQuMzU2NTcxdjExMS45MDg1NzFhMjUuNTI2ODU3IDI1LjUyNjg1NyAwIDAgMS0yNS42IDI0LjQyOTcxNWgtMzMuNTcyNTcyVjQ0Mi41MTQyODZoMS45NzQ4NTdhMjAuMzMzNzE0IDIwLjMzMzcxNCAwIDAgMCAyMC40OC0xOS43NDg1NzIgMjAuMzMzNzE0IDIwLjMzMzcxNCAwIDAgMC0yMC40OC0xOS44OTQ4NTdIMzMxLjQ4MzQyOWEyMC45OTIgMjAuOTkyIDAgMCAwLTE4LjIxMjU3MiA5Ljg3NDI4NiAxOS4wMTcxNDMgMTkuMDE3MTQzIDAgMCAwIDAgMTkuOTY4IDIwLjk5MiAyMC45OTIgMCAwIDAgMTguMjg1NzE0IDkuODAxMTQzaDEuOTAxNzE1djYwLjQxNmgtMzMuNjQ1NzE1YTI1LjA4OCAyNS4wODggMCAwIDEtMjUuNTI2ODU3LTI0LjQyOTcxNXYtMTExLjkwODU3MWMwLTEzLjQ1ODI4NiAxMS40ODM0MjktMjQuMzU2NTcxIDI1LjYtMjQuMzU2NTcxeiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iNDQxNSI+PC9wYXRoPjwvc3ZnPg==');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
.ic-unbind {
|
.ic-unbind {
|
||||||
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1NDAwMzc2MjkxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwMTgiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZD0iTTUxMiA5ODRDMjUxLjc1IDk4NCAzOS45OSA3NzIuMjYgMzkuOTkgNTEyUzI1MS43NSA0MCA1MTIgNDBzNDcyLjAxIDIxMS43NCA0NzIuMDEgNDcyUzc3Mi4yNSA5ODQgNTEyIDk4NHoiIGZpbGw9IiNGRkY4RUYiIHAtaWQ9IjYwMTkiPjwvcGF0aD48cGF0aCBkPSJNNTEyIDgwQzI3My44MiA4MCA3OS45NyAyNzMuNzkgNzkuOTcgNTEyczE5My44NCA0MzIgNDMyLjAyIDQzMiA0MzIuMDMtMTkzLjc5IDQzMi4wMy00MzJDOTQ0LjAzIDI3My43OSA3NTAuMTggODAgNTEyIDgweiBtMC04MGMyODIuNzggMCA1MTIgMjI5LjIzIDUxMiA1MTJzLTIyOS4yMiA1MTItNTEyIDUxMlMwIDc5NC43NyAwIDUxMiAyMjkuMjIgMCA1MTIgMHoiIGZpbGw9IiNGRkE3MzgiIHAtaWQ9IjYwMjAiPjwvcGF0aD48cGF0aCBkPSJNMjc4LjYzIDI3OC42NmMyNy4zNC0yNy4yOSA3MS43My0yNy4yOSA5OS4wMiAwbDM2Ny43MiAzNjcuNjljMjcuMjkgMjcuMjkgMjcuMjkgNzEuNyAwIDk5LTI3LjM0IDI3LjI5LTcxLjczIDI3LjI5LTk5LjAyIDBsLTM2Ny43Mi0zNjcuN2MtMjcuMjktMjcuMjktMjcuMjktNzEuNyAwLTk4Ljk5eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iNjAyMSI+PC9wYXRoPjxwYXRoIGQ9Ik03MTcuMDYgNzE3LjA2YzExLjcyLTExLjY5IDExLjcyLTMwLjczIDAtNDIuNDJsLTM2Ny42Ny0zNjcuN2MtMTEuNzMtMTEuNy0zMC43Ny0xMS43LTQyLjQ1IDAtMTEuNjcgMTEuNy0xMS43MyAzMC43MyAwIDQyLjQzbDM2Ny42NyAzNjcuNjljMTEuNzMgMTEuNyAzMC43NyAxMS43IDQyLjQ1IDB6IG01Ni41NyA1Ni41N2MtNDIuOTYgNDIuOTYtMTEyLjU5IDQyLjk2LTE1NS41NSAwbC0zNjcuNzItMzY3LjdjLTQyLjk2LTQyLjk2LTQyLjk2LTExMi42MSAwLTE1NS41NiA0Mi45Ni00Mi45NiAxMTIuNTktNDIuOTYgMTU1LjU1IDBsMzY3LjcyIDM2Ny42OWM0Mi45NiA0Mi45NyA0Mi45NiAxMTIuNjIgMCAxNTUuNTd6IiBmaWxsPSIjRkZBNzM4IiBwLWlkPSI2MDIyIj48L3BhdGg+PHBhdGggZD0iTTczMC41MiAzOTguNzZsLTMzOS40IDMzOS40MWMtNy41MyA3LjUtMTcuNjYgMTEuNzEtMjguMzEgMTEuNzEtMTAuNiAwLTIwLjc5LTQuMjEtMjguMjYtMTEuNzFsLTQyLjQ1LTQyLjQyYy0zLjY5LTMuNzEtNi42Ni04LjEzLTguNjUtMTIuOTgtMi00Ljg1LTMuMDctMTAuMDUtMy4wNy0xNS4zczEuMDgtMTAuNDYgMy4wNy0xNS4zMWMyLTQuODUgNC45Ny05LjI2IDguNjUtMTIuOThsMzM5LjQtMzM5LjQxYzMuNzQtMy43MSA4LjE0LTYuNjYgMTMtOC42N2EzOS45NzQgMzkuOTc0IDAgMCAxIDE1LjMxLTMuMDRjNS4yMiAwIDEwLjQ0IDEuMDMgMTUuMzEgMy4wNCA0Ljg2IDIuMDEgOS4yNyA0Ljk2IDEyLjk1IDguNjdsNDIuNDUgNDIuNDNjNy40OCA3LjUgMTEuNzMgMTcuNjggMTEuNzMgMjguMjggMCAxMC42MS00LjI1IDIwLjc4LTExLjczIDI4LjI4eiIgZmlsbD0iI0ZGRjhFRiIgcC1pZD0iNjAyMyI+PC9wYXRoPjxwYXRoIGQ9Ik03MTMuMTYgMzcxLjQxbC0zMzkuNCAzMzkuNDFjLTcuNTMgNy41MS0xNy42NiAxMS43Mi0yOC4zMSAxMS43Mi0xMC42IDAtMjAuNzktNC4yMi0yOC4yNi0xMS43MmEzOS44OCAzOS44OCAwIDAgMS0xMS43My0yOC4yOGMwLTEwLjYxIDQuMi0yMC43OCAxMS43My0yOC4yOGwzMzkuNC0zMzkuNDFjNy41My03LjQ1IDE3LjY2LTExLjYyIDI4LjI2LTExLjU5IDEwLjU1IDAuMDIgMjAuNjggNC4yNCAyOC4yMSAxMS43MmEzOS45MDUgMzkuOTA1IDAgMCAxIDExLjY3IDI4LjJjMC4wNiAxMC41Ni00LjE0IDIwLjcyLTExLjU3IDI4LjIzeiIgZmlsbD0iI0ZGQTczOCIgcC1pZD0iNjAyNCI+PC9wYXRoPjwvc3ZnPg==');
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1NDAwMzc2MjkxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwMTgiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PHBhdGggZD0iTTUxMiA5ODRDMjUxLjc1IDk4NCAzOS45OSA3NzIuMjYgMzkuOTkgNTEyUzI1MS43NSA0MCA1MTIgNDBzNDcyLjAxIDIxMS43NCA0NzIuMDEgNDcyUzc3Mi4yNSA5ODQgNTEyIDk4NHoiIGZpbGw9IiNGRkY4RUYiIHAtaWQ9IjYwMTkiPjwvcGF0aD48cGF0aCBkPSJNNTEyIDgwQzI3My44MiA4MCA3OS45NyAyNzMuNzkgNzkuOTcgNTEyczE5My44NCA0MzIgNDMyLjAyIDQzMiA0MzIuMDMtMTkzLjc5IDQzMi4wMy00MzJDOTQ0LjAzIDI3My43OSA3NTAuMTggODAgNTEyIDgweiBtMC04MGMyODIuNzggMCA1MTIgMjI5LjIzIDUxMiA1MTJzLTIyOS4yMiA1MTItNTEyIDUxMlMwIDc5NC43NyAwIDUxMiAyMjkuMjIgMCA1MTIgMHoiIGZpbGw9IiNGRkE3MzgiIHAtaWQ9IjYwMjAiPjwvcGF0aD48cGF0aCBkPSJNMjc4LjYzIDI3OC42NmMyNy4zNC0yNy4yOSA3MS43My0yNy4yOSA5OS4wMiAwbDM2Ny43MiAzNjcuNjljMjcuMjkgMjcuMjkgMjcuMjkgNzEuNyAwIDk5LTI3LjM0IDI3LjI5LTcxLjczIDI3LjI5LTk5LjAyIDBsLTM2Ny43Mi0zNjcuN2MtMjcuMjktMjcuMjktMjcuMjktNzEuNyAwLTk4Ljk5eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iNjAyMSI+PC9wYXRoPjxwYXRoIGQ9Ik03MTcuMDYgNzE3LjA2YzExLjcyLTExLjY5IDExLjcyLTMwLjczIDAtNDIuNDJsLTM2Ny42Ny0zNjcuN2MtMTEuNzMtMTEuNy0zMC43Ny0xMS43LTQyLjQ1IDAtMTEuNjcgMTEuNy0xMS43MyAzMC43MyAwIDQyLjQzbDM2Ny42NyAzNjcuNjljMTEuNzMgMTEuNyAzMC43NyAxMS43IDQyLjQ1IDB6IG01Ni41NyA1Ni41N2MtNDIuOTYgNDIuOTYtMTEyLjU5IDQyLjk2LTE1NS41NSAwbC0zNjcuNzItMzY3LjdjLTQyLjk2LTQyLjk2LTQyLjk2LTExMi42MSAwLTE1NS41NiA0Mi45Ni00Mi45NiAxMTIuNTktNDIuOTYgMTU1LjU1IDBsMzY3LjcyIDM2Ny42OWM0Mi45NiA0Mi45NyA0Mi45NiAxMTIuNjIgMCAxNTUuNTd6IiBmaWxsPSIjRkZBNzM4IiBwLWlkPSI2MDIyIj48L3BhdGg+PHBhdGggZD0iTTczMC41MiAzOTguNzZsLTMzOS40IDMzOS40MWMtNy41MyA3LjUtMTcuNjYgMTEuNzEtMjguMzEgMTEuNzEtMTAuNiAwLTIwLjc5LTQuMjEtMjguMjYtMTEuNzFsLTQyLjQ1LTQyLjQyYy0zLjY5LTMuNzEtNi42Ni04LjEzLTguNjUtMTIuOTgtMi00Ljg1LTMuMDctMTAuMDUtMy4wNy0xNS4zczEuMDgtMTAuNDYgMy4wNy0xNS4zMWMyLTQuODUgNC45Ny05LjI2IDguNjUtMTIuOThsMzM5LjQtMzM5LjQxYzMuNzQtMy43MSA4LjE0LTYuNjYgMTMtOC42N2EzOS45NzQgMzkuOTc0IDAgMCAxIDE1LjMxLTMuMDRjNS4yMiAwIDEwLjQ0IDEuMDMgMTUuMzEgMy4wNCA0Ljg2IDIuMDEgOS4yNyA0Ljk2IDEyLjk1IDguNjdsNDIuNDUgNDIuNDNjNy40OCA3LjUgMTEuNzMgMTcuNjggMTEuNzMgMjguMjggMCAxMC42MS00LjI1IDIwLjc4LTExLjczIDI4LjI4eiIgZmlsbD0iI0ZGRjhFRiIgcC1pZD0iNjAyMyI+PC9wYXRoPjxwYXRoIGQ9Ik03MTMuMTYgMzcxLjQxbC0zMzkuNCAzMzkuNDFjLTcuNTMgNy41MS0xNy42NiAxMS43Mi0yOC4zMSAxMS43Mi0xMC42IDAtMjAuNzktNC4yMi0yOC4yNi0xMS43MmEzOS44OCAzOS44OCAwIDAgMS0xMS43My0yOC4yOGMwLTEwLjYxIDQuMi0yMC43OCAxMS43My0yOC4yOGwzMzkuNC0zMzkuNDFjNy41My03LjQ1IDE3LjY2LTExLjYyIDI4LjI2LTExLjU5IDEwLjU1IDAuMDIgMjAuNjggNC4yNCAyOC4yMSAxMS43MmEzOS45MDUgMzkuOTA1IDAgMCAxIDExLjY3IDI4LjJjMC4wNiAxMC41Ni00LjE0IDIwLjcyLTExLjU3IDI4LjIzeiIgZmlsbD0iI0ZGQTczOCIgcC1pZD0iNjAyNCI+PC9wYXRoPjwvc3ZnPg==');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
@ -5,5 +5,5 @@
|
|||||||
"compileHotReLoad": true,
|
"compileHotReLoad": true,
|
||||||
"urlCheck": false
|
"urlCheck": false
|
||||||
},
|
},
|
||||||
"libVersion": "3.7.12"
|
"libVersion": "3.5.8"
|
||||||
}
|
}
|
@ -96,4 +96,10 @@
|
|||||||
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1MzcxOTM5MTMzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM2OTciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTk2MCA1MTJhNDQ4IDQ0OCAwIDEgMC00NDggNDQ4IDQ0OCA0NDggMCAwIDAgNDQ4LTQ0OHogbS00OTcuMjggMjEwLjI0YTcyOS42IDcyOS42IDAgMCAxLTIyNC0yMjQgOTYgOTYgMCAxIDEgMTY0LjQ4LTk4Ljg4IDQ5NiA0OTYgMCAwIDAgMTA4LjggMTIyLjU2IDU2NC44IDU2NC44IDAgMCAwIDEwOS4xMi0xMjMuNTIgOTYgOTYgMCAxIDEgMTY0LjQ4IDk4Ljg4IDcyOS42IDcyOS42IDAgMCAxLTIyNCAyMjQgOTYgOTYgMCAwIDEtOTguODggMC45NnoiIGZpbGw9IiNGRTk5NDQiIHAtaWQ9IjM2OTgiPjwvcGF0aD48L3N2Zz4=');
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1MzcxOTM5MTMzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM2OTciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTk2MCA1MTJhNDQ4IDQ0OCAwIDEgMC00NDggNDQ4IDQ0OCA0NDggMCAwIDAgNDQ4LTQ0OHogbS00OTcuMjggMjEwLjI0YTcyOS42IDcyOS42IDAgMCAxLTIyNC0yMjQgOTYgOTYgMCAxIDEgMTY0LjQ4LTk4Ljg4IDQ5NiA0OTYgMCAwIDAgMTA4LjggMTIyLjU2IDU2NC44IDU2NC44IDAgMCAwIDEwOS4xMi0xMjMuNTIgOTYgOTYgMCAxIDEgMTY0LjQ4IDk4Ljg4IDcyOS42IDcyOS42IDAgMCAxLTIyNCAyMjQgOTYgOTYgMCAwIDEtOTguODggMC45NnoiIGZpbGw9IiNGRTk5NDQiIHAtaWQ9IjM2OTgiPjwvcGF0aD48L3N2Zz4=');
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-yellow-location {
|
||||||
|
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1NzQzODkzOTMwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUxMzEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUzNi4yMTcgOTAuNjljLTE2OC4wMjcgMC0zMDIuNTI0IDEzNC40OTctMzAyLjUyNCAzMDIuNTI0IDAgMTIwLjk2MSA4Ny4wNTYgMjE1LjA5NSAxODEuMTkxIDMzNi4wNTUgMzIuNzg2IDQ1Ljk0OSA1OC44NjYgOTEuOSA5Mi4wMjMgMTUwLjI2OCAxLjc0IDMuMTA1IDMuOTc0IDUuOTYxIDYuNTgyIDguMzIxIDUuNTg4IDUuMDkxIDEyLjA0NyA5LjQzOCAyMi43MjYgOS40Mzh2MGMxMS40MjUgMCAxOC4wMDctNC44NDQgMjMuODQ0LTEwLjQzMiAxLjk4Ni0xLjg2MiAzLjcyNi00LjA5OCA1LjIxNy02LjMzNCAzMy4xNTgtNTIuNDA5IDU5LjM2Mi05OC40ODEgOTIuMjczLTE0NC41NTYgOTQuMTM1LTEyNy42NjYgMTgxLjE5MS0yMjEuODAxIDE4MS4xOTEtMzQyLjc2MSAwLTE2OC4wMjctMTM0LjQ5Ny0zMDIuNTI0LTMwMi41MjQtMzAyLjUyNHYwek01MzYuMjE3IDQ5NC4wNTVjLTUzLjc3NCAwLTEwMC44NDItNDAuMzYyLTEwMC44NDItMTAwLjg0MnM0MC4zNjItMTAwLjg0MiAxMDAuODQyLTEwMC44NDJjNTMuNzc0IDAgMTAwLjg0MiA0MC4zNjIgMTAwLjg0MiAxMDAuODQyIDAgNTMuNzc0LTQwLjM2MiAxMDAuODQyLTEwMC44NDIgMTAwLjg0MnYweiIgcC1pZD0iNTEzMiIgZmlsbD0iI0ZFOTk0NCI+PC9wYXRoPjxwYXRoIGQ9Ik01MzYuMjE3IDc3MC42MjRjLTE0MC4zMzQgMC0yNTQuMDkxIDUzLjUyNS0yNTQuMDkxIDExOS40N3MxMTMuNzU3IDExOS40NyAyNTQuMDkxIDExOS40NyAyNTQuMDkxLTUzLjUyNSAyNTQuMDkxLTExOS40Ny0xMTMuNzU3LTExOS40Ny0yNTQuMDkxLTExOS40N3pNNTM2LjIxNyA5MzguNjUxYy0xMDUuNTYxIDAtMTkxLjAwMy0zNy41MDUtMTkxLjAwMy03OC43MzVzODUuNTY2LTc0Ljg4NiAxOTEuMDAzLTc0Ljg4NiAxOTEuMDAzIDMzLjUzMiAxOTEuMDAzIDc0Ljg4Ni04NS41NjYgNzguNzM1LTE5MS4wMDMgNzguNzM1eiIgcC1pZD0iNTEzMyIgZmlsbD0iI0ZFOTk0NCI+PC9wYXRoPjwvc3ZnPg==');
|
||||||
|
background-size: cover;
|
||||||
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
@ -36,6 +36,10 @@ var payTypeSign = function (type) {
|
|||||||
}
|
}
|
||||||
return typeStr
|
return typeStr
|
||||||
}
|
}
|
||||||
|
var coverTxt = function (price) {
|
||||||
|
// return '<span style=" height: 172rpx;line-height: 172rpx;color: #000000;font-size: 60rpx;font-weight: bold;width: 50rpx;"><span style="font-size:10px;">¥</span>' + price + '</span>'
|
||||||
|
return '<span style="font-size:12px;">¥</span>' + price
|
||||||
|
}
|
||||||
var payType = function (type) {
|
var payType = function (type) {
|
||||||
// 充值1|支出2|提现3|系统扣款4|订单收入5|付款6)
|
// 充值1|支出2|提现3|系统扣款4|订单收入5|付款6)
|
||||||
var typeStr = '支出'
|
var typeStr = '支出'
|
||||||
@ -236,5 +240,6 @@ module.exports = {
|
|||||||
payType: payType,
|
payType: payType,
|
||||||
payTypeColor: payTypeColor,
|
payTypeColor: payTypeColor,
|
||||||
payTypeSign: payTypeSign,
|
payTypeSign: payTypeSign,
|
||||||
payTypeFontSize: payTypeFontSize
|
payTypeFontSize: payTypeFontSize,
|
||||||
|
coverTxt: coverTxt
|
||||||
};
|
};
|
@ -1,6 +1,16 @@
|
|||||||
// 手机号验证
|
// 手机号验证
|
||||||
const isValidPhone = (phone) => {
|
const isValidPhone = (phone) => {
|
||||||
return /^1[3-9]\d{9}$/.test(phone);
|
// 手机号码正则
|
||||||
|
const mobilePattern = /^1[3-9]\d{9}$/;
|
||||||
|
// 固定电话正则
|
||||||
|
const landlinePattern = /^(0\d{2,3})[- ]?\d{7,8}$/;
|
||||||
|
if (mobilePattern.test(phone)) {
|
||||||
|
return true
|
||||||
|
} else if (landlinePattern.test(phone)) {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 邮箱验证
|
// 邮箱验证
|
||||||
|
Loading…
Reference in New Issue
Block a user