更新代码
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
* moduleName: 地址
|
* moduleName: 地址
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import request from '../request.js'
|
import { request } from '../index'
|
||||||
|
|
||||||
// 地址列表
|
// 地址列表
|
||||||
const addresses = () => {
|
const addresses = () => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* moduleName: 优惠券相关
|
* moduleName: 优惠券相关
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import request from '../request.js'
|
import { request } from '../index'
|
||||||
|
|
||||||
// 我的优惠券
|
// 我的优惠券
|
||||||
const myCoupon = (data) => {
|
const myCoupon = (data) => {
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ const mall = data => {
|
|||||||
// 商品列表
|
// 商品列表
|
||||||
const list = data => {
|
const list = data => {
|
||||||
return request({
|
return request({
|
||||||
url: "mall/goods"
|
url: "mall/goods",
|
||||||
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,12 +47,56 @@ const marketsPay = (id, platform) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
// 转让权证信息
|
||||||
|
const marketsCreateInfo = symbol => {
|
||||||
|
return request({
|
||||||
|
url: 'markets/user/markets/create',
|
||||||
|
data: { symbol }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提交权证转让
|
||||||
|
const marketsCreate = data => {
|
||||||
|
return request({
|
||||||
|
url: 'markets/user/markets/create',
|
||||||
|
method: 'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转让管理
|
||||||
|
const marketsMag = data => {
|
||||||
|
return request({
|
||||||
|
url: 'markets/user/markets',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 取消转让
|
||||||
|
const marketsCancel = id => {
|
||||||
|
return request({
|
||||||
|
url: 'markets/' + id + '/cancel',
|
||||||
|
method: 'POST'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 我的成交理事
|
||||||
|
const marketsOrdersLogs = (data, name) => {
|
||||||
|
return request({
|
||||||
|
url: 'markets/orders/' + name,
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
markets,
|
markets,
|
||||||
marketsLogs,
|
marketsLogs,
|
||||||
marketsInfo,
|
marketsInfo,
|
||||||
marketsBuy,
|
marketsBuy,
|
||||||
marketsPay
|
marketsPay,
|
||||||
|
marketsCreateInfo,
|
||||||
|
marketsCreate,
|
||||||
|
marketsMag,
|
||||||
|
marketsCancel,
|
||||||
|
marketsOrdersLogs
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* moduleName:个人中心相关操作
|
* moduleName:个人中心相关操作
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import request from '../request.js'
|
import { request } from '../index'
|
||||||
|
|
||||||
// 关注店铺
|
// 关注店铺
|
||||||
const shopSubscribe = (id) => {
|
const shopSubscribe = (id) => {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* moduleName: 我的数权
|
* moduleName: 我的数权
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import request from '../request.js'
|
import { request } from '../index'
|
||||||
|
|
||||||
// 我的数权
|
// 我的数权
|
||||||
const mallWarrants = (data) => {
|
const mallWarrants = (data) => {
|
||||||
|
|||||||
@@ -3,10 +3,10 @@
|
|||||||
* moduleName:核销相关操作
|
* moduleName:核销相关操作
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import request from '../request.js'
|
import { request } from '../index'
|
||||||
|
|
||||||
|
|
||||||
// 扫码前置条件
|
// 扫码前置条件 get 核销前置 post 表示核销
|
||||||
const scanInfo = (apiUrl,data,method) => {
|
const scanInfo = (apiUrl,data,method) => {
|
||||||
return request({
|
return request({
|
||||||
url: apiUrl,
|
url: apiUrl,
|
||||||
@@ -15,8 +15,17 @@ const scanInfo = (apiUrl,data,method) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 核销记录
|
||||||
|
const scanList = (apiUrl,data) => {
|
||||||
|
return request({
|
||||||
|
url: apiUrl,
|
||||||
|
method:'GET',
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export {
|
export {
|
||||||
scanInfo
|
scanInfo,
|
||||||
|
scanList
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ const index = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 成交客户
|
// 成交客户 *********已废弃
|
||||||
const customer = data => {
|
const customer = data => {
|
||||||
return request({
|
return request({
|
||||||
url: 'mall/statistics',
|
url: 'mall/statistics',
|
||||||
@@ -23,6 +23,14 @@ const customer = data => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 成交客户
|
||||||
|
const orderUsers = data => {
|
||||||
|
return request({
|
||||||
|
url: 'manages/order_users',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 访客记录
|
// 访客记录
|
||||||
const visitors = data => {
|
const visitors = data => {
|
||||||
return request({
|
return request({
|
||||||
@@ -144,6 +152,7 @@ const deliverLogistic = (shipment__no) => {
|
|||||||
export {
|
export {
|
||||||
index,
|
index,
|
||||||
customer,
|
customer,
|
||||||
|
orderUsers,
|
||||||
visitors,
|
visitors,
|
||||||
basicsConfig,
|
basicsConfig,
|
||||||
basicsInfo,
|
basicsInfo,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="OrderTemplate" >
|
<view class="OrderTemplate" >
|
||||||
<view class="top" >
|
<view class="top" v-if="isTop">
|
||||||
<view class="company">
|
<view class="company">
|
||||||
<view class="company-logo">
|
<view class="company-logo">
|
||||||
<image :src="item.shop.cover" mode="aspectFill" />
|
<image :src="item.shop.cover" mode="aspectFill" />
|
||||||
@@ -33,7 +33,11 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
item:Object
|
item : Object,
|
||||||
|
isTop : {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
console.log(this.item,'onshow,numtempa')
|
console.log(this.item,'onshow,numtempa')
|
||||||
@@ -113,13 +117,11 @@
|
|||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-top: 36rpx;
|
margin-top: 36rpx;
|
||||||
|
|
||||||
.goods-img {
|
.goods-img {
|
||||||
width: 120rpx;
|
width: 120rpx;
|
||||||
height: 120rpx;
|
height: 120rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goods {
|
.goods {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 20rpx;
|
margin-left: 20rpx;
|
||||||
|
|||||||
39
pages.json
39
pages.json
@@ -528,15 +528,15 @@
|
|||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "扫码验证",
|
"navigationBarTitleText": "扫码验证",
|
||||||
"navigationBarTextStyle": "white",
|
"navigationBarTextStyle": "white",
|
||||||
"navigationBarBackgroundColor": "#039bfe"
|
"navigationBarBackgroundColor": "#076cff"
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
"path": "pages/verification/details",
|
"path": "pages/verification/history",
|
||||||
"name": "VerificationDetails",
|
"name": "VerificationHistory",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "核销券详情",
|
"navigationBarTitleText": "核销记录",
|
||||||
"navigationBarTextStyle": "white",
|
"navigationBarTextStyle": "white",
|
||||||
"navigationBarBackgroundColor": "#f40c50"
|
"navigationBarBackgroundColor": "#076cff"
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
"path": "pages/shop/lists",
|
"path": "pages/shop/lists",
|
||||||
@@ -583,6 +583,35 @@
|
|||||||
"type": "transparent"
|
"type": "transparent"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
"path" : "pages/pay/results",
|
||||||
|
"name" : "payResults",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "支付结果",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
"path" : "pages/market/transfer",
|
||||||
|
"name" : "marketTransfer",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "转让权证",
|
||||||
|
"backgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
|
},{
|
||||||
|
"path" : "pages/market/management",
|
||||||
|
"name" : "marketManag",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "权证转让管理",
|
||||||
|
"titleNView": {
|
||||||
|
"backgroundColor": "#FFFFFF",
|
||||||
|
"buttons": [{
|
||||||
|
"text": "转让记录",
|
||||||
|
"fontSize": "14",
|
||||||
|
"width": "80",
|
||||||
|
"color": "#e93340"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
<view style="position: relative;z-index: 3;">
|
<view style="position: relative;z-index: 3;">
|
||||||
<!-- 搜索... -->
|
<!-- 搜索... -->
|
||||||
<view class="mine-top-contant">
|
<view class="mine-top-contant">
|
||||||
<u-navbar :is-back="false" :background="background" title="企业优惠券中心" title-color="#fff"
|
<u-navbar :is-back="true" :background="background" title="企业优惠券中心" title-color="#fff" :border-bottom='false'></u-navbar>
|
||||||
:border-bottom='false'>
|
|
||||||
</u-navbar>
|
|
||||||
<!--banner-->
|
<!--banner-->
|
||||||
<swiper class="swiper" :indicator-dots="true" :autoplay="false" indicator-active-color='#fff'
|
<swiper class="swiper" :indicator-dots="true" :autoplay="false" indicator-active-color='#fff'
|
||||||
indicator-color='rgba(0,0,0,.1)'>
|
indicator-color='rgba(0,0,0,.1)'>
|
||||||
|
|||||||
@@ -142,7 +142,7 @@
|
|||||||
<view class="title">
|
<view class="title">
|
||||||
限时抢购<text>海量商家优惠券</text>
|
限时抢购<text>海量商家优惠券</text>
|
||||||
</view>
|
</view>
|
||||||
<navigator class="more" url="/pages/coupons/couponList">查看更多</navigator>
|
<navigator class="more" open-type="navigate" url="/pages/coupons/couponList">查看更多</navigator>
|
||||||
</view>
|
</view>
|
||||||
<view class="coupons" v-if="coupons.length > 0">
|
<view class="coupons" v-if="coupons.length > 0">
|
||||||
<view class="coupons-item" v-for="(item, index) in coupons" :key="index">
|
<view class="coupons-item" v-for="(item, index) in coupons" :key="index">
|
||||||
@@ -168,6 +168,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 优选商品 -->
|
<!-- 优选商品 -->
|
||||||
<goods-list :list="goods" priceType="CNY" @on-goods="onGoods" />
|
<goods-list :list="goods" priceType="CNY" @on-goods="onGoods" />
|
||||||
|
<!-- 分页 -->
|
||||||
|
<uni-load-more :status="pageStatus" :iconSize="16"></uni-load-more>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -205,14 +207,16 @@
|
|||||||
coupons : [],
|
coupons : [],
|
||||||
position : {},
|
position : {},
|
||||||
goods : [],
|
goods : [],
|
||||||
pages : {},
|
|
||||||
// 广场部分
|
// 广场部分
|
||||||
industryIndex: 0,
|
industryIndex: 0,
|
||||||
recommendBus : [],
|
recommendBus : [],
|
||||||
hotBus : [],
|
hotBus : [],
|
||||||
industryBus : [],
|
industryBus : [],
|
||||||
busList : [],
|
busList : [],
|
||||||
busPages : {}
|
busPages : {},
|
||||||
|
// 分页
|
||||||
|
pageStatus : '',
|
||||||
|
page : 1
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -267,8 +271,7 @@
|
|||||||
},
|
},
|
||||||
// 易货首页
|
// 易货首页
|
||||||
getMall(){
|
getMall(){
|
||||||
mall().then(res => {
|
mall().then(res => {
|
||||||
console.log(res.coupons)
|
|
||||||
this.classify = res.categories.slice(0, 9)
|
this.classify = res.categories.slice(0, 9)
|
||||||
this.banners = res.banners
|
this.banners = res.banners
|
||||||
this.coupons = res.coupons
|
this.coupons = res.coupons
|
||||||
@@ -283,9 +286,15 @@
|
|||||||
},
|
},
|
||||||
// 商品列表
|
// 商品列表
|
||||||
getGoods(){
|
getGoods(){
|
||||||
list().then(res => {
|
list({
|
||||||
this.goods = res.data
|
page: this.goodsPage
|
||||||
this.pages = res.page
|
}).then(res => {
|
||||||
|
if(res.page.current === 1){
|
||||||
|
this.goods = []
|
||||||
|
}
|
||||||
|
this.goods = this.goods.concat(res.data)
|
||||||
|
this.goodsPage = res.page.current
|
||||||
|
this.pageStatus = res.page.has_more ? 'more': 'noMore'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 商品详情
|
// 商品详情
|
||||||
@@ -324,6 +333,16 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 下拉加载
|
||||||
|
onReachBottom() {
|
||||||
|
if(this.pageStatus == 'more'){
|
||||||
|
this.pageStatus = 'loading'
|
||||||
|
if(this.tabIndex === 0) {
|
||||||
|
this.goodsPage += 1
|
||||||
|
this.getGoods()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -19,7 +19,6 @@
|
|||||||
<view class="companyInfo">易品新境区块链有限公司</view>
|
<view class="companyInfo">易品新境区块链有限公司</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 弹窗提示喽 -->
|
<!-- 弹窗提示喽 -->
|
||||||
<u-toast ref="uToast" />
|
<u-toast ref="uToast" />
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -152,7 +152,7 @@
|
|||||||
<image @click="serveClose" class="close" src="../../static/icons/goods_close.png" mode=""></image>
|
<image @click="serveClose" class="close" src="../../static/icons/goods_close.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="serve-cont">
|
<view class="serve-cont">
|
||||||
<view class="serve-label" v-for="(item, index) in goodsObj.services">
|
<view class="serve-label" v-for="(item, index) in goodsObj.services" :key="index">
|
||||||
<view class="serve-label-name">
|
<view class="serve-label-name">
|
||||||
{{item.name}}
|
{{item.name}}
|
||||||
</view>
|
</view>
|
||||||
@@ -184,9 +184,7 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
goods(this.$Route.query.id || 16).then(res=>{
|
goods(this.$Route.query.id).then(res=>{
|
||||||
console.log('啦啦啦')
|
|
||||||
console.log(res.coupons)
|
|
||||||
this.loding = false
|
this.loding = false
|
||||||
this.goodsObj = res
|
this.goodsObj = res
|
||||||
this.identity = res.identity.id || ''
|
this.identity = res.identity.id || ''
|
||||||
@@ -241,19 +239,25 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 领取优惠券
|
// 领取优惠券
|
||||||
drawCoupons(id, index){
|
drawCoupons(id){
|
||||||
|
let token = this.$store.getters.getToken
|
||||||
|
if(token == ''){
|
||||||
|
let userLogin = new userAuth()
|
||||||
|
userLogin.Login()
|
||||||
|
return
|
||||||
|
}
|
||||||
managesCoupons(id).then(res=>{
|
managesCoupons(id).then(res=>{
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '领取成功',
|
title: '领取成功',
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
duration: 3000
|
duration: 3000
|
||||||
})
|
})
|
||||||
}).catch(err =>{
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err.message,
|
icon : 'none',
|
||||||
icon : 'none'
|
title: err.message
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 选择优惠券-显示
|
// 选择优惠券-显示
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
价格
|
价格
|
||||||
<image
|
<image
|
||||||
class="icon"
|
class="icon"
|
||||||
mode="widthFix" :src="require(marketType == 'low' ? '@/static/icons/market_icon_low.png': '@/static/icons/market_icon_high.png')"
|
mode="widthFix" :src="require(marketType == 'asc' ? '@/static/icons/market_icon_low.png': '@/static/icons/market_icon_high.png')"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -23,26 +23,33 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tabIndex : 0,
|
tabIndex : 0,
|
||||||
marketType : 'low',
|
marketType : 'asc',
|
||||||
goods : []
|
goods : []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
list().then(res=>{
|
this.getList()
|
||||||
this.goods = res.data
|
|
||||||
this.pages = res.page
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
onTabs(e){
|
onTabs(e){
|
||||||
let index = e.target.dataset.index
|
let index = e.target.dataset.index
|
||||||
if(index == 0 && index == this.tabIndex) return
|
if(index == 0 && index == this.tabIndex) return
|
||||||
if(index == 1 && index == this.tabIndex) this.marketType = this.marketType == 'low' ? 'high': 'low'
|
if(index == 1 && index == this.tabIndex) this.marketType = this.marketType == 'asc' ? 'desc': 'asc'
|
||||||
this.tabIndex = index
|
this.tabIndex = index
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
|
|
||||||
onGoods(e){
|
onGoods(e){
|
||||||
this.$Router.push({name: 'goodsDetails', params: {id: e.goods_id}})
|
this.$Router.push({name: 'goodsDetails', params: {id: e.goods_id}})
|
||||||
|
},
|
||||||
|
|
||||||
|
getList(){
|
||||||
|
list({
|
||||||
|
order_by: this.tabIndex == 1 ? this.marketType: ''
|
||||||
|
}).then(res=>{
|
||||||
|
this.goods = res.data
|
||||||
|
this.pages = res.page
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,6 +83,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { marketsInfo, marketsBuy, marketsPay } from '@/apis/interfaces/market'
|
import { marketsInfo, marketsBuy, marketsPay } from '@/apis/interfaces/market'
|
||||||
|
import userAuth from '@/public/userAuth'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -98,8 +99,8 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
onShow() {
|
||||||
marketsInfo(this.$Route.query.marketId || 5).then(res =>{
|
marketsInfo(this.$Route.query.marketId).then(res =>{
|
||||||
this.info = res
|
this.info = res
|
||||||
this.price = res.price
|
this.price = res.price
|
||||||
this.loding = false
|
this.loding = false
|
||||||
@@ -121,6 +122,12 @@
|
|||||||
},
|
},
|
||||||
// 购买弹窗
|
// 购买弹窗
|
||||||
openLay(){
|
openLay(){
|
||||||
|
let token = this.$store.getters.getToken
|
||||||
|
if(token == ''){
|
||||||
|
let userLogin = new userAuth()
|
||||||
|
userLogin.Login()
|
||||||
|
return
|
||||||
|
}
|
||||||
this.$refs.buyLay.open('bottom')
|
this.$refs.buyLay.open('bottom')
|
||||||
},
|
},
|
||||||
// 计算价格
|
// 计算价格
|
||||||
@@ -149,8 +156,16 @@
|
|||||||
marketsPay(this.orderNo, this.payValue).then(res => {
|
marketsPay(this.orderNo, this.payValue).then(res => {
|
||||||
switch (this.payValue){
|
switch (this.payValue){
|
||||||
case 'eb':
|
case 'eb':
|
||||||
console.log(res)
|
this.$refs.payLay.close()
|
||||||
console.log('支付结果')
|
this.$Router.push({
|
||||||
|
name : 'payResults',
|
||||||
|
params : {
|
||||||
|
index: 1,
|
||||||
|
price: this.price,
|
||||||
|
type : 'eb',
|
||||||
|
total: '可在我的资产下我的权证中查看购买的数字权证'
|
||||||
|
}
|
||||||
|
})
|
||||||
break
|
break
|
||||||
case 'wechat':
|
case 'wechat':
|
||||||
this.wxPay(JSON.parse(res))
|
this.wxPay(JSON.parse(res))
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="lists">
|
<view class="lists">
|
||||||
<view class="item" v-for="(item, index) in marketArray" :key="index">
|
<view class="item" v-for="(item, index) in marketArray" :key="index" @click="onDetails(item)">
|
||||||
<image class="cover" :src="item.goods.cover" mode="aspectFill"></image>
|
<image class="cover" :src="item.goods.cover" mode="aspectFill"></image>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view class="title nowrap">数字权证<text>{{item.surplus}}/{{item.stock}}</text></view>
|
<view class="title nowrap">数字权证<text>{{item.surplus}}/{{item.stock}}</text></view>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
page : {}
|
page : {}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
onShow() {
|
||||||
this.getMarkets()
|
this.getMarkets()
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
@@ -53,10 +53,14 @@
|
|||||||
markets({
|
markets({
|
||||||
sort: this.tabIndex == 1 ? this.marketType : ''
|
sort: this.tabIndex == 1 ? this.marketType : ''
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res.data)
|
|
||||||
this.marketArray = res.data
|
this.marketArray = res.data
|
||||||
this.page = res.page
|
this.page = res.page
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
// 转让商品详情
|
||||||
|
onDetails(e){
|
||||||
|
this.$Router.push({name: 'marketDetails', params: {marketId: e.market_id}})
|
||||||
|
console.log(e)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onNavigationBarButtonTap(){
|
onNavigationBarButtonTap(){
|
||||||
|
|||||||
@@ -1,61 +1,121 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
|
<view class="tabs" v-if="$Route.query.type === 'my'">
|
||||||
|
<view class="item" :class="{ 'show' : tab == 'sell'}" @click="onTasb('sell')">我转让的</view>
|
||||||
|
<view class="item" :class="{ 'show' : tab == 'buys' }" @click="onTasb('buys')">我买到的</view>
|
||||||
|
</view>
|
||||||
<block v-if="logs.length > 0">
|
<block v-if="logs.length > 0">
|
||||||
<view class="logs" v-for="(item, index) in logs" :key="index">
|
<view :class="{'paddingTop': $Route.query.type === 'my'}">
|
||||||
<view class="logs-item">
|
<view class="logs" v-for="(item, index) in logs" :key="index">
|
||||||
<label>交易权证</label>
|
<view class="logs-item">
|
||||||
{{item.goods.goods_name}}
|
<label>交易权证</label>
|
||||||
</view>
|
{{item.goods.goods_name}}
|
||||||
<view class="logs-item">
|
</view>
|
||||||
<label>交易单价</label>
|
<view class="logs-item">
|
||||||
¥{{item.price}}
|
<label>交易单价</label>
|
||||||
</view>
|
¥{{item.price}}
|
||||||
<view class="logs-item">
|
</view>
|
||||||
<label>交易数量</label>
|
<view class="logs-item">
|
||||||
{{item.qty}}
|
<label>交易数量</label>
|
||||||
</view>
|
{{item.qty}}
|
||||||
<view class="logs-item">
|
</view>
|
||||||
<label>转让用户</label>
|
<view class="logs-item">
|
||||||
{{item.sellUser.nickname}}
|
<label>转让用户</label>
|
||||||
</view>
|
{{item.sellUser.nickname}}
|
||||||
<view class="logs-item">
|
</view>
|
||||||
<label>购买用户</label>
|
<view class="logs-item">
|
||||||
{{item.buyUser.nickname}}
|
<label>购买用户</label>
|
||||||
</view>
|
{{item.buyUser.nickname}}
|
||||||
<view class="logs-item">
|
</view>
|
||||||
<label>交易时间</label>
|
<view class="logs-item">
|
||||||
{{item.created_at}}
|
<label>交易时间</label>
|
||||||
|
{{item.created_at}}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
|
<block v-else>
|
||||||
|
<view class="list-null">
|
||||||
|
<image class="icon" src="@/static/icons/listnull-icon.png" mode="widthFix" />
|
||||||
|
<view class="sub-title">暂无数据</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { marketsLogs } from '@/apis/interfaces/market'
|
import { marketsLogs, marketsOrdersLogs } from '@/apis/interfaces/market'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
logs: [],
|
logs: [],
|
||||||
page: {}
|
page: {},
|
||||||
|
tab : 'sell'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
marketsLogs().then(res => {
|
this.getList()
|
||||||
console.log(res.data)
|
},
|
||||||
this.logs = res.data
|
methods:{
|
||||||
this.page = res.page
|
onTasb(e){
|
||||||
}).catch(err => {
|
this.tab = e
|
||||||
uni.showToast({
|
this.getList()
|
||||||
title: err.message,
|
},
|
||||||
icon : 'none'
|
// 获取列表
|
||||||
|
getList(){
|
||||||
|
if(this.$Route.query.type === 'my'){
|
||||||
|
marketsOrdersLogs({}, this.tab).then(res =>{
|
||||||
|
console.log(res)
|
||||||
|
this.logs = res.data
|
||||||
|
this.page = res.page
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
marketsLogs().then(res => {
|
||||||
|
this.logs = res.data
|
||||||
|
this.page = res.page
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.tabs{
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 99;
|
||||||
|
background-color: white;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
.item{
|
||||||
|
border-bottom: solid 2rpx white;
|
||||||
|
box-sizing: border-box;
|
||||||
|
&.show{
|
||||||
|
border-color: $text-price;
|
||||||
|
color: $text-price;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.paddingTop{
|
||||||
|
padding-top: 90rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.logs{
|
.logs{
|
||||||
background: white;
|
background: white;
|
||||||
margin-top: $margin;
|
margin-top: $margin;
|
||||||
@@ -78,4 +138,29 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 空提示
|
||||||
|
.list-null{
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-align: center;
|
||||||
|
background: white;
|
||||||
|
padding-bottom: 20vh;
|
||||||
|
@extend .vertical;
|
||||||
|
.sub-title{
|
||||||
|
color: $text-gray;
|
||||||
|
font-size: $title-size-m;
|
||||||
|
}
|
||||||
|
.icon{
|
||||||
|
width: 288rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.employees-null{
|
||||||
|
text-align: center;
|
||||||
|
line-height: 10vh;
|
||||||
|
padding-bottom: $padding;
|
||||||
|
font-size: $title-size-m;
|
||||||
|
color: $text-gray;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
169
pages/market/management.vue
Normal file
169
pages/market/management.vue
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
<template>
|
||||||
|
<view class="NumberWeight">
|
||||||
|
<!-- 有订单列表 -->
|
||||||
|
<view v-if="lists.length > 0">
|
||||||
|
<block v-for="(item, index) in lists" :key="index">
|
||||||
|
<view class="order-item">
|
||||||
|
<view class="order-info">
|
||||||
|
<image class="order-cover" :src="item.goods.cover" mode="aspectFill"></image>
|
||||||
|
<view class="title">数字权证<text>{{item.surplus}}/{{item.stock}}</text></view>
|
||||||
|
<view class="text">锚定商品:{{item.goods.goods_name}}</view>
|
||||||
|
<view class="text">交易哈希:{{item.hash}}</view>
|
||||||
|
<view class="text">发布时间:{{item.created_at}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="order-tool">
|
||||||
|
<view class="price">{{item.price}}/个</view>
|
||||||
|
<view class="order-btn" v-if="item.status.value === 1" @click="removeGoods(item.market_id, index)">取消转让</view>
|
||||||
|
<view class="order-status" v-if="item.status.value === 2">{{item.status.text}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
<!-- 没有订单列表 -->
|
||||||
|
<no-list v-if="lists.length === 0" name="no-order" txt="暂无数据~" />
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { marketsMag, marketsCancel } from '@/apis/interfaces/market';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
lists: [],
|
||||||
|
page: 1,
|
||||||
|
total: 0
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
if (this.total > this.lists.length) {
|
||||||
|
this.page = this.page + 1;
|
||||||
|
this.getList();
|
||||||
|
} else {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: '吼吼吼~我是有底的~',
|
||||||
|
type: 'error',
|
||||||
|
icon: false,
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
let data = {
|
||||||
|
perPage: 10,
|
||||||
|
page: this.page
|
||||||
|
};
|
||||||
|
marketsMag(data)
|
||||||
|
.then(res => {
|
||||||
|
console.log(res.markets.data);
|
||||||
|
this.lists = this.lists.concat(res.markets.data);
|
||||||
|
this.total = res.markets.page.total;
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: err.message,
|
||||||
|
type: 'error',
|
||||||
|
icon: false,
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消转让
|
||||||
|
removeGoods(id, index) {
|
||||||
|
marketsCancel(id).then(res => {
|
||||||
|
uni.showToast({
|
||||||
|
icon : 'none',
|
||||||
|
title: res
|
||||||
|
})
|
||||||
|
let statusObj = this.lists[index]
|
||||||
|
statusObj.status = {
|
||||||
|
value: 2,
|
||||||
|
text : '已取消',
|
||||||
|
}
|
||||||
|
this.$set(this.lists, index, statusObj)
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
icon : 'none',
|
||||||
|
title: err.message
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onNavigationBarButtonTap(){
|
||||||
|
this.$Router.push({name: "marketLogs", params: {type: 'my'}})
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.NumberWeight {
|
||||||
|
box-sizing: border-box;
|
||||||
|
// 订单列表
|
||||||
|
.order-item {
|
||||||
|
background-color: white;
|
||||||
|
margin: $margin;
|
||||||
|
border-radius: $radius;
|
||||||
|
padding: $padding;
|
||||||
|
.order-info{
|
||||||
|
position: relative;
|
||||||
|
padding-left: 188rpx;
|
||||||
|
min-height: 168rpx;
|
||||||
|
.order-cover{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 168rpx;
|
||||||
|
width: 168rpx;
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
color: $text-color;
|
||||||
|
line-height: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
text{
|
||||||
|
font-size: 80%;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
line-height: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
font-size: $title-size-sm;
|
||||||
|
color: $text-gray;
|
||||||
|
@extend .nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.order-tool{
|
||||||
|
margin-top: $margin - 10;
|
||||||
|
padding-top: $padding - 10;
|
||||||
|
border-top: solid 1rpx $border-color;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
.price{
|
||||||
|
color: $text-price;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size-m;
|
||||||
|
line-height: 50rpx;
|
||||||
|
}
|
||||||
|
.order-btn{
|
||||||
|
background: $text-price;
|
||||||
|
color: white;
|
||||||
|
padding: 0 $padding;
|
||||||
|
line-height: 50rpx;
|
||||||
|
border-radius: 25rpx;
|
||||||
|
font-size: $title-size-m;
|
||||||
|
}
|
||||||
|
.order-status{
|
||||||
|
color: $text-gray-m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
239
pages/market/transfer.vue
Normal file
239
pages/market/transfer.vue
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
<template>
|
||||||
|
<view v-if="!loding">
|
||||||
|
<!-- 产品信息 -->
|
||||||
|
<view class="goods">
|
||||||
|
<image class="cover" :src="info.goods.cover" mode="aspectFill"></image>
|
||||||
|
<view class="content">
|
||||||
|
<view class="title nowrap">数字权证</view>
|
||||||
|
<view class="text nowrap">锚定商品:{{info.goods.goods_name}}</view>
|
||||||
|
<view class="text nowrap">提供企业:{{info.goods.company.name}}</view>
|
||||||
|
<view class="text nav-goods nowrap" @click="onGoods">查看锚定商品信息<uni-icons type="arrowright" size="12" color="#e93340"></uni-icons></view>
|
||||||
|
</view>
|
||||||
|
<view class="info">
|
||||||
|
<view class="info-item">
|
||||||
|
<label>权证销售单价</label>
|
||||||
|
1000.00
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<label>拥有数量</label>
|
||||||
|
{{info.account.balance}}
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<label>转让价格</label>
|
||||||
|
<input class="info-input" type="digit" v-model="pirce" placeholder="输入转让价格" maxlength="5" @blur="calculatePirce" />
|
||||||
|
</view>
|
||||||
|
<view class="info-item info-flex">
|
||||||
|
<label>转让数量</label>
|
||||||
|
<uni-number-box class="info-number" v-model='stock' :min="1" :max="info.account.balance" @change="countPrice"></uni-number-box>
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<label>预估转让收益</label>
|
||||||
|
<view class="price">{{forecast}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<button class="buy-btn" type="default" @click="onCreate">确认转让</button>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { marketsCreateInfo, marketsCreate } from '@/apis/interfaces/market'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loding : true,
|
||||||
|
pirce : '',
|
||||||
|
stock : 1,
|
||||||
|
info : {},
|
||||||
|
forecast: '0.00'
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
marketsCreateInfo(this.$Route.query.symbol).then(res =>{
|
||||||
|
this.info = res
|
||||||
|
this.loding = false
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
// 查看锚定产品
|
||||||
|
onGoods(){
|
||||||
|
this.$Router.push({name: 'marketGoods', params: { id: this.info.goods.goods_id }})
|
||||||
|
},
|
||||||
|
// 转让数量
|
||||||
|
countPrice(e){
|
||||||
|
this.stock = e
|
||||||
|
this.calculatePirce()
|
||||||
|
},
|
||||||
|
// 计算预估收益
|
||||||
|
calculatePirce(){
|
||||||
|
this.forecast = (this.pirce * this.stock).toFixed(2)
|
||||||
|
},
|
||||||
|
// 提交转让市场
|
||||||
|
onCreate(){
|
||||||
|
marketsCreate({
|
||||||
|
symbol : this.$Route.query.symbol,
|
||||||
|
qty : this.stock,
|
||||||
|
price : this.pirce || 0
|
||||||
|
}).then(res => {
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : res,
|
||||||
|
showCancel : false,
|
||||||
|
success : () => {
|
||||||
|
this.$Router.back()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
console.log(err)
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
// 转让权证
|
||||||
|
.buy-btn{
|
||||||
|
margin: 0 $margin;
|
||||||
|
background: $text-price;
|
||||||
|
color: white;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
padding: 0;
|
||||||
|
border-radius: $radius/2;
|
||||||
|
font-size: $title-size;
|
||||||
|
font-weight: bold;
|
||||||
|
&::after{
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 产品信息
|
||||||
|
.goods{
|
||||||
|
min-height: 168rpx;
|
||||||
|
position: relative;
|
||||||
|
background: white;
|
||||||
|
border-radius: $radius/2;
|
||||||
|
margin: $margin;
|
||||||
|
padding: $padding;
|
||||||
|
.cover{
|
||||||
|
position: absolute;
|
||||||
|
left: $padding;
|
||||||
|
top: $padding;
|
||||||
|
width: 168rpx;
|
||||||
|
height: 168rpx;
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
padding-left: calc(168rpx + #{$padding});
|
||||||
|
.title{
|
||||||
|
position: relative;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
color: $text-color;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 52rpx;
|
||||||
|
padding-right: 60rpx;
|
||||||
|
text{
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 60rpx;
|
||||||
|
text-align: right;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: $title-size-sm;
|
||||||
|
color: $text-gray;
|
||||||
|
height: 40rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
&.nav-goods{
|
||||||
|
color: $text-price;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.info{
|
||||||
|
margin-top: $margin;
|
||||||
|
border-top: solid 1rpx $border-color;
|
||||||
|
padding-top: $padding;
|
||||||
|
.info-item{
|
||||||
|
padding-left: 200rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
position: relative;
|
||||||
|
text-align: right;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
&.info-flex{
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
@extend .nowrap;
|
||||||
|
label{
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 200rpx;
|
||||||
|
text-align: left;
|
||||||
|
color: $text-gray;
|
||||||
|
}
|
||||||
|
.info-input{
|
||||||
|
height: 80rpx;
|
||||||
|
line-height: 80rpx;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
}
|
||||||
|
.price{
|
||||||
|
color: $text-price;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 购买产品
|
||||||
|
.popup {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
padding-bottom: $padding;
|
||||||
|
.title {
|
||||||
|
font-size: 36rpx;
|
||||||
|
text-align: center;
|
||||||
|
padding: 50rpx 30rpx 30rpx 30rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
background-color: $text-price;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size;
|
||||||
|
margin: $padding * 2;
|
||||||
|
border-radius: $radius/2;
|
||||||
|
}
|
||||||
|
.des {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: $padding $padding * 2;
|
||||||
|
color: $text-gray;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
text{
|
||||||
|
color: $text-color;
|
||||||
|
}
|
||||||
|
.price{
|
||||||
|
color: $main-color;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -20,12 +20,12 @@
|
|||||||
<label>订单金额</label>
|
<label>订单金额</label>
|
||||||
<view class="price nowrap">{{amount}}</view>
|
<view class="price nowrap">{{amount}}</view>
|
||||||
</view>
|
</view>
|
||||||
<block v-if="coupons.length > 0">
|
<block v-if="coupons.length > 1">
|
||||||
<view class="item">
|
<view class="item">
|
||||||
<label>使用优惠券</label>
|
<label>使用优惠券</label>
|
||||||
<picker>
|
<picker mode="selector" :range="coupons" range-key="title" :value="couponIndex" @change="couponsChange">
|
||||||
<view class="picker-text nowrap">
|
<view class="picker-text nowrap">
|
||||||
优惠券
|
{{couponIndex == 0 ? '选择优惠券' : coupons[couponIndex].title}}
|
||||||
<uni-icons type="arrowright" color="#ddd"></uni-icons>
|
<uni-icons type="arrowright" color="#ddd"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</picker>
|
||||||
@@ -35,6 +35,10 @@
|
|||||||
<view class="price nowrap">-{{couponPrice}}</view>
|
<view class="price nowrap">-{{couponPrice}}</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
|
<view class="item">
|
||||||
|
<label>实际支付金额</label>
|
||||||
|
<view class="price nowrap">{{total}}</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 支付方式 -->
|
<!-- 支付方式 -->
|
||||||
<radio-group class="pay-group" @change="payType">
|
<radio-group class="pay-group" @change="payType">
|
||||||
@@ -71,6 +75,8 @@
|
|||||||
amount : 0,
|
amount : 0,
|
||||||
total : 0,
|
total : 0,
|
||||||
coupons : [],
|
coupons : [],
|
||||||
|
couponIndex : 0,
|
||||||
|
couponId : '',
|
||||||
account : {},
|
account : {},
|
||||||
payValue : 'eb',
|
payValue : 'eb',
|
||||||
}
|
}
|
||||||
@@ -78,16 +84,15 @@
|
|||||||
created(){
|
created(){
|
||||||
buy({
|
buy({
|
||||||
goods_sku_id: this.$Route.query.skuId,
|
goods_sku_id: this.$Route.query.skuId,
|
||||||
qty : this.$Route.query.qty,
|
qty : this.qty,
|
||||||
type : 1
|
type : 1
|
||||||
}, 'GET').then(res=>{
|
}, 'GET').then(res=>{
|
||||||
this.loding = true
|
this.loding = true
|
||||||
this.qty = this.$Route.query.qty,
|
|
||||||
this.payValue = this.$Route.query.type === 1 ? 'wx' : 'eb'
|
this.payValue = this.$Route.query.type === 1 ? 'wx' : 'eb'
|
||||||
this.detail = res.detail
|
this.detail = res.detail
|
||||||
this.couponPrice = res.coupon_price
|
this.couponPrice = res.coupon_price.toFixed(2)
|
||||||
this.amount = res.amount
|
this.amount = res.amount.toFixed(2)
|
||||||
this.total = res.total
|
this.total = res.total.toFixed(2)
|
||||||
this.coupons = res.coupons
|
this.coupons = res.coupons
|
||||||
this.account = res.account
|
this.account = res.account
|
||||||
}).catch(err =>{
|
}).catch(err =>{
|
||||||
@@ -98,6 +103,35 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取可用优惠券
|
||||||
|
getCoupons(){
|
||||||
|
buy({
|
||||||
|
goods_sku_id : this.$Route.query.skuId,
|
||||||
|
qty : this.qty,
|
||||||
|
type : 1,
|
||||||
|
coupon_grant_id : this.couponId
|
||||||
|
}, 'GET').then(res=>{
|
||||||
|
this.couponPrice = res.coupon_price.toFixed(2)
|
||||||
|
this.amount = res.amount.toFixed(2)
|
||||||
|
this.total = res.total.toFixed(2)
|
||||||
|
this.coupons = [{
|
||||||
|
title : '不使用',
|
||||||
|
coupon_grant_id : ''
|
||||||
|
}, ...res.coupons]
|
||||||
|
}).catch(err =>{
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择优惠券
|
||||||
|
couponsChange(e){
|
||||||
|
this.couponIndex = e.detail.value
|
||||||
|
this.couponId = this.coupons[e.detail.value].coupon_grant_id
|
||||||
|
this.getCoupons()
|
||||||
|
},
|
||||||
|
// 选择支付类型
|
||||||
payType(e){
|
payType(e){
|
||||||
this.payValue = e.detail.value
|
this.payValue = e.detail.value
|
||||||
},
|
},
|
||||||
@@ -105,17 +139,20 @@
|
|||||||
//数量变化
|
//数量变化
|
||||||
numberChange(e){
|
numberChange(e){
|
||||||
this.qty = e
|
this.qty = e
|
||||||
this.amount = this.detail[0].items[0].price * e
|
this.getCoupons()
|
||||||
},
|
},
|
||||||
|
|
||||||
// 提交订单
|
// 提交订单
|
||||||
buyOrder(){
|
buyOrder(){
|
||||||
buy({
|
buy({
|
||||||
goods_sku_id: this.$Route.query.skuId || 23,
|
goods_sku_id : this.$Route.query.skuId,
|
||||||
qty : this.qty,
|
qty : this.qty,
|
||||||
type : this.payValue == 'eb' ? 1 : 2,
|
coupon_grant_id : this.couponId,
|
||||||
remark : 'app订单'
|
type : 1,
|
||||||
|
remark : 'app订单,易货产品',
|
||||||
|
channel : 'app'
|
||||||
}, 'POST').then(res=>{
|
}, 'POST').then(res=>{
|
||||||
|
console.log(res)
|
||||||
switch (this.payValue){
|
switch (this.payValue){
|
||||||
case 'eb':
|
case 'eb':
|
||||||
this.ebPay(res.order_no)
|
this.ebPay(res.order_no)
|
||||||
@@ -147,14 +184,20 @@
|
|||||||
// 易币支付
|
// 易币支付
|
||||||
ebPay(orderNo){
|
ebPay(orderNo){
|
||||||
eb(orderNo).then(res => {
|
eb(orderNo).then(res => {
|
||||||
uni.showModal({
|
this.$Router.replace({
|
||||||
title: '提示',
|
name : 'payResults',
|
||||||
content: '支付成功,后续优化支付成功后直接转跳我的权证'
|
params : {
|
||||||
|
index: 1,
|
||||||
|
price: this.total,
|
||||||
|
type : 'eb',
|
||||||
|
total: '可在我的资产下我的权证中查看购买的数字权证'
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showModal({
|
||||||
title: err.message,
|
title : '支付提示',
|
||||||
icon : 'none'
|
content : err.message,
|
||||||
|
showCancel : false,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
76
pages/pay/results.vue
Normal file
76
pages/pay/results.vue
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<template>
|
||||||
|
<view class="total vertical">
|
||||||
|
<uni-icons type="checkbox-filled" size="60" color="#e93340"></uni-icons>
|
||||||
|
<view class="title">支付成功</view>
|
||||||
|
<view class="price">支付金额<text>{{type}}{{price}}</text></view>
|
||||||
|
<view class="text">{{total}}</view>
|
||||||
|
<button class="btn" type="default" @click="onBack">确定</button>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
index: 1, // 返回层级
|
||||||
|
price: 0, // 支付金额
|
||||||
|
type : '¥', // 支付币种
|
||||||
|
total: '' // 支付提示语
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.index = this.$Route.query.index
|
||||||
|
this.price = this.$Route.query.price
|
||||||
|
this.type = this.$Route.query.type === 'eb' ? 'EB': '¥'
|
||||||
|
this.total = this.$Route.query.total
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
onBack(){
|
||||||
|
this.$Router.back(this.index)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.total{
|
||||||
|
text-align: center;
|
||||||
|
height: 100vh;
|
||||||
|
width: 100vw;
|
||||||
|
padding-left: 10vw;
|
||||||
|
padding-right: 10vw;
|
||||||
|
padding-bottom: 20vh;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.title{
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size + 10;
|
||||||
|
padding: 20rpx 0
|
||||||
|
}
|
||||||
|
.price{
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
color: $text-gray;
|
||||||
|
text{
|
||||||
|
color: $text-price;
|
||||||
|
padding-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
color: $text-gray;
|
||||||
|
padding-top: $padding;
|
||||||
|
}
|
||||||
|
.btn{
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
border-radius: 0;
|
||||||
|
background: $text-price;
|
||||||
|
font-size: $title-size;
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 10vh;
|
||||||
|
&::after{
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<view style="position: relative;z-index: 3;">
|
<view style="position: relative;z-index: 3;">
|
||||||
<!-- 搜索... -->
|
<!-- 搜索... -->
|
||||||
<view class="mine-top-contant">
|
<view class="mine-top-contant">
|
||||||
<u-navbar :is-back="false" :background="background" title="企业优惠券中心" title-color="#fff"
|
<u-navbar :background="background" title="企业优惠券中心" title-color="#fff"
|
||||||
:border-bottom='false'>
|
:border-bottom='false'>
|
||||||
</u-navbar>
|
</u-navbar>
|
||||||
<!--banner-->
|
<!--banner-->
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<view class="item-num">{{count.warrnats}}</view>
|
<view class="item-num">{{count.warrnats}}</view>
|
||||||
<view class="item-title">权证持有</view>
|
<view class="item-title">权证持有</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="item" @click="showToast">
|
<view class="item" @click="$Router.push({name: 'marketManag'})">
|
||||||
<view class="item-num">{{count.warrnat_transfer}}</view>
|
<view class="item-num">{{count.warrnat_transfer}}</view>
|
||||||
<view class="item-title">权证转让</view>
|
<view class="item-title">权证转让</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<view class="order-list" v-for="(item,index) in lists" :key="index">
|
<view class="order-list" v-for="(item,index) in lists" :key="index">
|
||||||
<NumberWeightTemplate :item="item" />
|
<NumberWeightTemplate :item="item" />
|
||||||
<view class="actions">
|
<view class="actions">
|
||||||
|
<view @click="navMarkets(item.symbol)" class="nowPay">权证转让</view>
|
||||||
<view @click="nowTake(item.symbol)" class="nowPay">去提货</view>
|
<view @click="nowTake(item.symbol)" class="nowPay">去提货</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
page:this.page
|
page:this.page
|
||||||
}
|
}
|
||||||
mallWarrants(data).then(res=>{
|
mallWarrants(data).then(res=>{
|
||||||
|
console.log(res)
|
||||||
this.lists = this.lists.concat(res.data)
|
this.lists = this.lists.concat(res.data)
|
||||||
this.total = res.total
|
this.total = res.total
|
||||||
}).catch(err=>{
|
}).catch(err=>{
|
||||||
@@ -79,6 +81,10 @@
|
|||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'./numberWeightInfo?symbol='+symbol
|
url:'./numberWeightInfo?symbol='+symbol
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
// 转让权证
|
||||||
|
navMarkets(symbol){
|
||||||
|
this.$Router.push({name: 'marketTransfer', params:{symbol}})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,19 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 统计信息 -->
|
<!-- 统计信息 -->
|
||||||
<view class="statistics">
|
<view class="statistics">
|
||||||
<picker mode="date" :fields="tabsIndex" :value="dateValue" :end="endDate" @change="pickerDate">
|
<view class="statistics-flex">
|
||||||
<view class="statistics-date">
|
<picker mode="date" :fields="tabsIndex" :value="dateValue" :end="endDate" @change="pickerDate">
|
||||||
{{dateValue}}<uni-icons class="arrowdown" type="arrowdown" color="#555"></uni-icons>
|
<view class="statistics-date">
|
||||||
|
{{dateValue}}<uni-icons class="arrowdown" type="arrowdown" color="#555"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</picker>
|
||||||
|
<view class="statistics-lay" :class="{ 'show' : sort != '' || payType != '' || channel != ''}" @click="onScreening">
|
||||||
|
筛选 <uni-icons class="arrowdown" type="settings" color="gray"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</view>
|
||||||
<view class="statistics-text">
|
<view class="statistics-text">
|
||||||
<text>成交客户量 {{visitor.day}} 人</text>
|
<text>成交产品数量 {{visitor.goods_count}} 人</text>
|
||||||
<text>累计访客量 {{visitor.all}} 人</text>
|
<text>成交产品金额 {{visitor.total}} 元</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 数据列表 -->
|
<!-- 数据列表 -->
|
||||||
@@ -24,12 +29,18 @@
|
|||||||
<view class="item" v-for="(item, index) in orders" :key="index">
|
<view class="item" v-for="(item, index) in orders" :key="index">
|
||||||
<image class="cover" :src="item.user.avatar" mode="aspectFill"></image>
|
<image class="cover" :src="item.user.avatar" mode="aspectFill"></image>
|
||||||
<view class="title nowrap">
|
<view class="title nowrap">
|
||||||
{{item.user.username}}
|
{{item.user.nickname}}
|
||||||
<view class="type">{{item.state}}</view>
|
<view class="type">{{item.amount}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="sub-title nowrap">订单号码: {{item.order_no}}</view>
|
||||||
|
<view class="sub-title nowrap">订单时间: {{item.created_at}}</view>
|
||||||
|
<view class="sub-tabs">
|
||||||
|
<text>{{item.driver}}</text>
|
||||||
|
<text>{{item.channel}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="sub-title nowrap">订单号: {{item.order_no}}</view>
|
|
||||||
<view class="sub-title nowrap">{{item.created_at}}</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
<!-- 分页 -->
|
||||||
|
<uni-load-more :status="pageStatus" :iconSize="16"></uni-load-more>
|
||||||
</block>
|
</block>
|
||||||
<block v-else>
|
<block v-else>
|
||||||
<view class="list-null">
|
<view class="list-null">
|
||||||
@@ -38,24 +49,57 @@
|
|||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- 列表筛选 -->
|
||||||
|
<uni-popup ref="settingsPopup" background-color="#FFFFFF" @maskClick="onReset">
|
||||||
|
<view class="popup-content">
|
||||||
|
<view class="title">排序方式</view>
|
||||||
|
<view class="popup-choose-flex">
|
||||||
|
<view class="item" :class="{'show' : sort == 'money_asc'}" @click="sort = 'money_asc'">金额从低到高</view>
|
||||||
|
<view class="item" :class="{'show' : sort == 'money_desc'}" @click="sort = 'money_desc'">金额从高到低</view>
|
||||||
|
<view class="item" :class="{'show' : sort == 'sold_asc'}" @click="sort = 'sold_asc'">销量从低到高</view>
|
||||||
|
<view class="item" :class="{'show' : sort == 'sold_desc'}" @click="sort = 'sold_desc'">销量从高到低</view>
|
||||||
|
</view>
|
||||||
|
<view class="title">支付方式</view>
|
||||||
|
<view class="popup-choose-flex">
|
||||||
|
<view class="item" :class="{'show' : payType == 'eb'}" @click="payType = 'eb'">易币交易</view>
|
||||||
|
<view class="item" :class="{'show' : payType == 'money'}" @click="payType = 'money'">现金交易</view>
|
||||||
|
</view>
|
||||||
|
<view class="title">成交渠道</view>
|
||||||
|
<view class="popup-choose-flex">
|
||||||
|
<view class="item" :class="{'show' : channel == 'app'}" @click="channel = 'app'">APP</view>
|
||||||
|
<view class="item" :class="{'show' : channel == 'mini'}" @click="channel = 'mini'">自媒体</view>
|
||||||
|
</view>
|
||||||
|
<view class="popup-btns">
|
||||||
|
<view class="item" @click="onReset">重置</view>
|
||||||
|
<view class="item" @click="onSettings">确定</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="ios-bottom"></view>
|
||||||
|
</uni-popup>
|
||||||
|
<!-- :status="more" -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import getDate from '@/public/date'
|
import getDate from '@/public/date'
|
||||||
import { customer } from '@/apis/interfaces/store'
|
import { orderUsers } from '@/apis/interfaces/store'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tabsIndex: 'day',
|
tabsIndex : 'day',
|
||||||
dateValue: '',
|
dateValue : '',
|
||||||
endDate : '',
|
endDate : '',
|
||||||
visitor : {
|
visitor : {
|
||||||
day: 0,
|
day: 0,
|
||||||
all: 0
|
all: 0
|
||||||
},
|
},
|
||||||
orders : [],
|
orders : [],
|
||||||
pages : {}
|
sort : '',
|
||||||
|
payType : '',
|
||||||
|
channel : '',
|
||||||
|
// 分页
|
||||||
|
pageStatus : '',
|
||||||
|
page : 1
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -71,24 +115,46 @@
|
|||||||
getDate(type).then(res => {
|
getDate(type).then(res => {
|
||||||
this.tabsIndex = type
|
this.tabsIndex = type
|
||||||
this.dateValue = res
|
this.dateValue = res
|
||||||
|
this.page = 1
|
||||||
this.getLists()
|
this.getLists()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
onReset(){
|
||||||
|
this.sort = ''
|
||||||
|
this.payType = ''
|
||||||
|
this.channel = ''
|
||||||
|
},
|
||||||
|
onSettings(){
|
||||||
|
this.getLists()
|
||||||
|
this.$refs.settingsPopup.close()
|
||||||
|
},
|
||||||
// 日期筛选
|
// 日期筛选
|
||||||
pickerDate(e){
|
pickerDate(e){
|
||||||
let dateValue = e.detail.value
|
let dateValue = e.detail.value
|
||||||
this.dateValue = dateValue
|
this.dateValue = dateValue
|
||||||
this.getLists()
|
this.getLists()
|
||||||
},
|
},
|
||||||
|
// 列表筛选
|
||||||
|
onScreening(){
|
||||||
|
this.$refs.settingsPopup.open('bottom')
|
||||||
|
},
|
||||||
// 获取列表
|
// 获取列表
|
||||||
getLists(){
|
getLists(){
|
||||||
customer({
|
orderUsers({
|
||||||
type: this.tabsIndex,
|
type : this.tabsIndex,
|
||||||
date: this.dateValue
|
date : this.dateValue,
|
||||||
|
sort : this.sort,
|
||||||
|
pay_type : this.payType,
|
||||||
|
channel : this.channel,
|
||||||
|
page : this.page
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.visitor = res.visitor
|
if(res.orders.page.current === 1){
|
||||||
this.orders = res.orders.data
|
this.orders = []
|
||||||
this.pages = res.orders.page
|
}
|
||||||
|
this.visitor = res.visitor
|
||||||
|
this.orders = this.orders.concat(res.orders.data)
|
||||||
|
this.page = res.orders.page.current
|
||||||
|
this.pageStatus = res.orders.page.has_more ? 'more': 'noMore'
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err,
|
title: err,
|
||||||
@@ -96,11 +162,68 @@
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
if(this.pageStatus == 'more'){
|
||||||
|
this.pageStatus = 'loading'
|
||||||
|
this.page += 1
|
||||||
|
this.getLists()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
// 筛选层
|
||||||
|
.popup-content{
|
||||||
|
padding: $padding * 2;
|
||||||
|
.title{
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size;
|
||||||
|
color: $text-color;
|
||||||
|
margin-top: $margin;
|
||||||
|
}
|
||||||
|
.popup-choose-flex{
|
||||||
|
padding: $padding /2 0;
|
||||||
|
margin: 0 -($margin - 20rpx);
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
.item{
|
||||||
|
width: calc(33.33% - #{$margin - 10});
|
||||||
|
font-size: $title-size-sm;
|
||||||
|
text-align: center;
|
||||||
|
background: $border-color-lg;
|
||||||
|
line-height: 68rpx;
|
||||||
|
margin: $margin - 20;
|
||||||
|
color: $text-gray;
|
||||||
|
border:solid 1rpx $border-color-lg;
|
||||||
|
box-sizing: border-box;
|
||||||
|
&.show{
|
||||||
|
border:solid 1rpx $text-price;
|
||||||
|
color: $text-price;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.popup-btns{
|
||||||
|
padding-top: $padding*2;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 0 -$margin/2;
|
||||||
|
.item{
|
||||||
|
margin: $margin/2;
|
||||||
|
color: $text-price;
|
||||||
|
background: rgba($color: $text-price, $alpha: .1);
|
||||||
|
width: calc(50% - #{$margin});
|
||||||
|
height: 80rpx;
|
||||||
|
line-height: 80rpx;
|
||||||
|
text-align: center;
|
||||||
|
&:last-child{
|
||||||
|
background-color: $text-price;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// 空提示
|
// 空提示
|
||||||
.list-null{
|
.list-null{
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
@@ -144,14 +267,30 @@
|
|||||||
background-color: white;
|
background-color: white;
|
||||||
border-bottom: solid 1rpx $border-color;
|
border-bottom: solid 1rpx $border-color;
|
||||||
padding: $padding;
|
padding: $padding;
|
||||||
.statistics-date{
|
.statistics-flex{
|
||||||
font-size: $title-size + 4;
|
display: flex;
|
||||||
font-weight: bold;
|
justify-content: space-between;
|
||||||
line-height: 60rpx;
|
.statistics-date{
|
||||||
.arrowdown{
|
font-size: $title-size + 4;
|
||||||
margin-left: $margin/2;
|
font-weight: bold;
|
||||||
|
line-height: 60rpx;
|
||||||
|
.arrowdown{
|
||||||
|
margin-left: $margin/2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.statistics-lay{
|
||||||
|
font-size: $title-size-sm;;
|
||||||
|
color: gray;
|
||||||
|
line-height: 50rpx;
|
||||||
|
&.show{
|
||||||
|
color: $text-price;
|
||||||
|
}
|
||||||
|
.arrowdown{
|
||||||
|
margin-left: $margin/2;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.statistics-text{
|
.statistics-text{
|
||||||
font-size: $title-size-sm;
|
font-size: $title-size-sm;
|
||||||
color: gray;
|
color: gray;
|
||||||
@@ -211,6 +350,16 @@
|
|||||||
font-size: $title-size-sm;
|
font-size: $title-size-sm;
|
||||||
color: $text-gray;
|
color: $text-gray;
|
||||||
}
|
}
|
||||||
|
.sub-tabs{
|
||||||
|
padding-top: $padding/2;
|
||||||
|
font-size: $title-size-sm;
|
||||||
|
text{
|
||||||
|
margin-right: $margin - 10;
|
||||||
|
background: $border-color-lg;
|
||||||
|
color: $text-gray;
|
||||||
|
padding: 0 ($padding/2);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
<view class="content">
|
<view class="content">
|
||||||
<!-- tabs -->
|
<!-- tabs -->
|
||||||
<view class="tabs">
|
<view class="tabs">
|
||||||
<view class="item" :class="{'show': tabsIndex == 'day'}" @click="onTbas('day')">日成交</view>
|
<view class="item" :class="{'show': tabsIndex == 'day'}" @click="onTbas('day')">日访客</view>
|
||||||
<view class="item" :class="{'show': tabsIndex == 'month'}" @click="onTbas('month')">月成交</view>
|
<view class="item" :class="{'show': tabsIndex == 'month'}" @click="onTbas('month')">月访客</view>
|
||||||
<view class="item" :class="{'show': tabsIndex == 'year'}" @click="onTbas('year')">年成交</view>
|
<view class="item" :class="{'show': tabsIndex == 'year'}" @click="onTbas('year')">年访客</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 统计信息 -->
|
<!-- 统计信息 -->
|
||||||
<view class="statistics">
|
<view class="statistics">
|
||||||
@@ -24,7 +24,9 @@
|
|||||||
<view class="item" v-for="(item, index) in orders" :key="index">
|
<view class="item" v-for="(item, index) in orders" :key="index">
|
||||||
<image class="cover" :src="item.avatar" mode="aspectFill"></image>
|
<image class="cover" :src="item.avatar" mode="aspectFill"></image>
|
||||||
<view class="title">{{item.nickname || '-'}}</view>
|
<view class="title">{{item.nickname || '-'}}</view>
|
||||||
<view class="sub-title">{{item.date || '-'}}</view>
|
<view class="sub-title">访问记录: {{item.content || '-'}}</view>
|
||||||
|
<view class="sub-title">手机号码: {{item.mobile || '-'}}</view>
|
||||||
|
<view class="sub-title">访问时间: {{item.date || '-'}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
@@ -107,6 +109,7 @@
|
|||||||
.sub-title{
|
.sub-title{
|
||||||
color: $text-gray;
|
color: $text-gray;
|
||||||
font-size: $title-size-m;
|
font-size: $title-size-m;
|
||||||
|
@extend .nowrap;
|
||||||
}
|
}
|
||||||
.icon{
|
.icon{
|
||||||
width: 288rpx;
|
width: 288rpx;
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view>
|
|
||||||
核销详情
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss">
|
|
||||||
|
|
||||||
</style>
|
|
||||||
517
pages/verification/history.vue
Normal file
517
pages/verification/history.vue
Normal file
@@ -0,0 +1,517 @@
|
|||||||
|
<template>
|
||||||
|
<view class="Record" v-if="loaded">
|
||||||
|
<view class="record-top">
|
||||||
|
<image src="/static/images/ver-bg.png" mode="widthFix" class="record-bg" />
|
||||||
|
<view class="record-top-nav">
|
||||||
|
<view :class="['record-top-item',type==='year'?'selectTopItem':'']" @click="selectType('year')">按年
|
||||||
|
</view>
|
||||||
|
<view :class="['record-top-item',type==='month'?'selectTopItem':'']" @click="selectType('month')">按月
|
||||||
|
</view>
|
||||||
|
<view :class="['record-top-item',type==='day'?'selectTopItem':'']" @click="selectType('day')">按日</view>
|
||||||
|
</view>
|
||||||
|
<view class="record-mouth-year">
|
||||||
|
<view class="record-type-left">
|
||||||
|
<u-picker mode="time" v-model="show" :params="params" @confirm='confirm' title='筛选日期'
|
||||||
|
start-year='2021' :end-year='currentYear' />
|
||||||
|
<view @click="show = true">
|
||||||
|
{{date?date:'选择日期'}}
|
||||||
|
<uni-icons type="arrowdown" color="#fff" size="12" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="record-type-right">
|
||||||
|
<view :class="['pay_type_item',scantype==='goods'?'pay_type_item_select':'']"
|
||||||
|
@click="selectCoinType('goods')">权证</view>
|
||||||
|
<view :class="['pay_type_item',scantype==='coupons'?'pay_type_item_select':'']"
|
||||||
|
@click="selectCoinType('coupons')">优惠券</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="record-title">核销总数 ( 件 ) </view>
|
||||||
|
<view class="record-money"><span></span>{{account}}
|
||||||
|
<span></span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="boss" v-if="isBos">
|
||||||
|
<view class="boss-left">
|
||||||
|
<image src="/static/images/boss.png" mode="mode" class="boss-img">我是BOSS
|
||||||
|
</view>
|
||||||
|
<view class="boss-right" @click="shopShow = true">
|
||||||
|
<u-select v-model="shopShow" :list="ShopList" @confirm="shopConfirm" value-name='store_id'
|
||||||
|
label-name='name' />
|
||||||
|
门店:<u-icon name="arrow-down" color="#606266" label-color='#606266' margin-right='10' label-pos='left'
|
||||||
|
:label='store_id?store_name:"全部门店"' size="28" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 列表。。。 -->
|
||||||
|
<view class="lists" v-if="lists.length>0">
|
||||||
|
<view class="list-item" v-for="(item,index) in lists" :key='index'>
|
||||||
|
|
||||||
|
<view class="list-item-title">
|
||||||
|
<view class="left">
|
||||||
|
<view class="tags">{{scantype === 'goods'?'权证核销':'优惠券核销'}}</view>
|
||||||
|
<view class='title' v-if="scantype === 'goods'">{{item.goods_sku.goods_name}}</view>
|
||||||
|
<view class='title' v-else>{{item.coupon.title}}</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="right"> -->
|
||||||
|
<!-- <u-icon name="checkmark-circle-fill" size='50' color='#e93340' /> -->
|
||||||
|
<!-- </view> -->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="list-item-content" v-if='scantype === "goods"'>
|
||||||
|
<image class="good-img" :src="item.goods_sku.cover" mode="aspectFill" />
|
||||||
|
<view class="list-item-right">
|
||||||
|
<view class="content-item">核销商品数量:X {{item.qty}} </view>
|
||||||
|
<view class="content-item">核销商品规格:{{item.goods_sku.unit || '通用规格'}}</view>
|
||||||
|
<view class="content-item">核销时间:{{item.used_at}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="list-item-content" v-else>
|
||||||
|
<image class="good-img" v-if='item.source.type ==="goods"' :src="item.source.cover"
|
||||||
|
mode="aspectFill" />
|
||||||
|
<view class="list-item-right">
|
||||||
|
<view class="content-item" v-if='item.source.type ==="goods"'>兑换商品名称:{{item.source.name}}
|
||||||
|
</view>
|
||||||
|
<view class="content-item"> 优惠券规格:满 {{item.coupon.full}} 减 {{item.coupon.price}} </view>
|
||||||
|
<view class="content-item">优惠券类型:{{item.coupon.type.text}}</view>
|
||||||
|
<view class="content-item">核销时间:{{item.used_at}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="person">
|
||||||
|
<image class="avatar" :src="item.clerk.avatar" mode="aspectFill" />
|
||||||
|
{{item.clerk.nickname}}
|
||||||
|
<view class="shop-name">{{item.store.name}}</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 无列表 -->
|
||||||
|
<no-list v-if="lists.length === 0 && scantype === 'goods'" name='no-in' txt="没有任何权证核销记录" />
|
||||||
|
<no-list v-if="lists.length === 0 && scantype === 'coupons'" name='no-out' txt="没有任何优惠券核销记录" />
|
||||||
|
|
||||||
|
<!-- <u-toast ref="uToast" /> -->
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
scanList
|
||||||
|
} from '@/apis/interfaces/scan';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
lists: [],
|
||||||
|
has_more: true,
|
||||||
|
page: 1,
|
||||||
|
type: 'year', // 统计类型day日,month月,year年
|
||||||
|
scantype: 'goods', // goods 数权核销 coupons 优惠券核销
|
||||||
|
date: new Date().toISOString().slice(0, 4), // 日:Y-m-d,月Y-m,年Y
|
||||||
|
params: {
|
||||||
|
year: true,
|
||||||
|
month: true,
|
||||||
|
day: true
|
||||||
|
},
|
||||||
|
show: false, // 显示
|
||||||
|
currentDay: new Date().toISOString().slice(0, 10),
|
||||||
|
currentMonth: new Date().toISOString().slice(0, 7),
|
||||||
|
currentYear: new Date().toISOString().slice(0, 4),
|
||||||
|
account: '',
|
||||||
|
loaded: false,
|
||||||
|
shopShow: false,
|
||||||
|
ShopList: [],
|
||||||
|
store_name: '',
|
||||||
|
store_id: '',
|
||||||
|
isBos:false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
if (this.has_more) {
|
||||||
|
this.page = this.page + 1
|
||||||
|
this.getList()
|
||||||
|
} else {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: '吼吼吼~我是有底的~',
|
||||||
|
type: 'error',
|
||||||
|
icon: false,
|
||||||
|
duration: 3000
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取列表
|
||||||
|
getList() {
|
||||||
|
let data = {
|
||||||
|
page: this.page,
|
||||||
|
date_type: this.type,
|
||||||
|
date: this.date,
|
||||||
|
store_id:this.store_id
|
||||||
|
}
|
||||||
|
let apiUrl = ''
|
||||||
|
if (this.scantype === 'goods') {
|
||||||
|
apiUrl = 'manages/warrants/logs'
|
||||||
|
} else {
|
||||||
|
apiUrl = 'coupons/verify/logs/coupons'
|
||||||
|
}
|
||||||
|
|
||||||
|
scanList(apiUrl, data).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
this.account = res.all
|
||||||
|
this.lists = this.lists.concat(res.lists.data)
|
||||||
|
this.has_more = res.lists.page.has_more
|
||||||
|
this.loaded = true
|
||||||
|
this.ShopList = [{name:'全部',store_id:''},...res.stores]
|
||||||
|
this.isBos = res.isBos
|
||||||
|
}).catch(err => {
|
||||||
|
this.$refs.uToast.show({
|
||||||
|
title: err.message,
|
||||||
|
type: 'error',
|
||||||
|
icon: false,
|
||||||
|
duration: 3000
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectCoinType(type) {
|
||||||
|
if (this.scantype !== type) {
|
||||||
|
this.scantype = type
|
||||||
|
this.store_id = ''
|
||||||
|
this.reset()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
reset() {
|
||||||
|
this.page = 1
|
||||||
|
this.lists = []
|
||||||
|
this.has_more = true
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
// 选择 年 月 日 切换要重置数据
|
||||||
|
selectType(type) {
|
||||||
|
console.log(type, typeof type)
|
||||||
|
if (this.type !== type) {
|
||||||
|
switch (type) {
|
||||||
|
case 'year':
|
||||||
|
this.type = type
|
||||||
|
this.params = {
|
||||||
|
year: true,
|
||||||
|
month: false,
|
||||||
|
day: false
|
||||||
|
}
|
||||||
|
this.date = this.currentYear
|
||||||
|
this.store_id = ''
|
||||||
|
this.reset()
|
||||||
|
break;
|
||||||
|
case 'month':
|
||||||
|
this.type = type
|
||||||
|
this.params = {
|
||||||
|
year: true,
|
||||||
|
month: true,
|
||||||
|
day: false
|
||||||
|
}
|
||||||
|
this.date = this.currentMonth
|
||||||
|
this.store_id = ''
|
||||||
|
this.reset()
|
||||||
|
break;
|
||||||
|
case 'day':
|
||||||
|
this.type = type
|
||||||
|
this.params = {
|
||||||
|
year: true,
|
||||||
|
month: false,
|
||||||
|
day: false
|
||||||
|
}
|
||||||
|
this.date = this.currentDay
|
||||||
|
this.store_id = ''
|
||||||
|
this.reset()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 点击确认按钮年月日
|
||||||
|
confirm(e) {
|
||||||
|
let type = this.type
|
||||||
|
switch (type) {
|
||||||
|
case 'year':
|
||||||
|
this.date = e.year
|
||||||
|
this.reset()
|
||||||
|
break;
|
||||||
|
case 'month':
|
||||||
|
this.date = e.year + '-' + e.month
|
||||||
|
this.reset()
|
||||||
|
break;
|
||||||
|
case 'day':
|
||||||
|
this.date = e.year + '-' + e.month + '-' + e.day
|
||||||
|
this.reset()
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 筛选门店信息
|
||||||
|
shopConfirm(e) {
|
||||||
|
this.store_id = e[0].value
|
||||||
|
this.store_name = e[0].label
|
||||||
|
this.reset()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.Record {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.record-top {
|
||||||
|
width: calc(100% - 60rpx);
|
||||||
|
height: 360rpx;
|
||||||
|
background-image: linear-gradient(to left, #076cff, #076cff);
|
||||||
|
box-shadow: 0 10rpx 20rpx 0rpx rgba($color: $main-color, $alpha: 0.4);
|
||||||
|
margin: 0 30rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
padding: 10rpx 50rpx 20rpx 50rpx;
|
||||||
|
z-index: 1;
|
||||||
|
|
||||||
|
.record-bg {
|
||||||
|
position: absolute;
|
||||||
|
width: 230rpx;
|
||||||
|
bottom: 0;
|
||||||
|
right: 30rpx;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.record-top-nav {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.record-top-item {
|
||||||
|
margin: 40rpx 20rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.selectTopItem {
|
||||||
|
border-bottom: solid 4rpx #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.record-mouth-year {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
.record-type-left {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
uni-icons {
|
||||||
|
margin-left: 4rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.record-type-right {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 24rpx;
|
||||||
|
|
||||||
|
.pay_type_item {
|
||||||
|
margin: 0 10rpx;
|
||||||
|
padding: 2rpx 20rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
border: solid 1rpx rgba($color: #000000, $alpha: 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay_type_item_select {
|
||||||
|
border: solid 1rpx #f7f7f7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.record-title {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #fff;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.record-money {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 50rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-right: 4rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.boss {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 30rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
.boss-left {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boss-right {
|
||||||
|
font-size: 28rpx;
|
||||||
|
|
||||||
|
u-icon {
|
||||||
|
padding-left: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.boss-img {
|
||||||
|
width: 90rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表
|
||||||
|
.lists {
|
||||||
|
// box-shadow: 0 10rpx 20rpx 0rpx rgba($color: #000, $alpha: 0.4);
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.list-item {
|
||||||
|
background-color: #fff;
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.list-item-title {
|
||||||
|
width: 100%;
|
||||||
|
border-bottom: solid 1rpx #f7f7f7;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
width: 520rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 30rpx;
|
||||||
|
margin-left: 12rpx;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tags {
|
||||||
|
padding: 4rpx 10rpx;
|
||||||
|
border-radius: 20rpx 0 20rpx 0;
|
||||||
|
background-color: #076cff;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// .right{
|
||||||
|
// padding: 20rpx 30rpx;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.list-item-content {
|
||||||
|
width: 100%;
|
||||||
|
color: #999;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-bottom: solid 1rpx #f7f7f7;
|
||||||
|
|
||||||
|
.good-img {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 160rpx;
|
||||||
|
height: 160rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-item-right {
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
.content-item {
|
||||||
|
padding: 10rpx 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.person {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 30rpx;
|
||||||
|
padding: 20rpx 0 0 0;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
width: 70rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop-name {
|
||||||
|
background-color: #076cff;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
padding: 4rpx 20rpx;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<view class="goods" @click="scanCode('goods','get')"> 权证核销 </view>
|
<view class="goods" @click="scanCode('goods','get')"> 权证核销 </view>
|
||||||
<view class="coupons" @click="scanCode('coupons','get')"> 优惠券核销 </view>
|
<view class="coupons" @click="scanCode('coupons','get')"> 优惠券核销 </view>
|
||||||
</view>
|
</view>
|
||||||
<view class="history">核销记录</view>
|
<view class="history" @click="goHistory">核销记录</view>
|
||||||
<u-toast ref="uToast" />
|
<u-toast ref="uToast" />
|
||||||
|
|
||||||
<!-- 二维码展示动画效果 -->
|
<!-- 二维码展示动画效果 -->
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 请求核销前置,优惠券前置和权证前置
|
// 请求核销前置,优惠券前置和权证前置(get) post 是核销
|
||||||
scanInfo(token, method) {
|
scanInfo(token, method) {
|
||||||
console.log(token, this.scanType)
|
console.log(token, this.scanType)
|
||||||
let apiUrl = ''
|
let apiUrl = ''
|
||||||
@@ -122,7 +122,8 @@
|
|||||||
success: (res1) => {
|
success: (res1) => {
|
||||||
if (res1.confirm) {
|
if (res1.confirm) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pages/property/coupon/canUseList?code='+this.code
|
url: '/pages/property/coupon/canUseList?code=' +
|
||||||
|
this.code
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.showCode = true
|
this.showCode = true
|
||||||
@@ -145,6 +146,12 @@
|
|||||||
})
|
})
|
||||||
this.showCode = false
|
this.showCode = false
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
// 核销记录
|
||||||
|
goHistory() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url:'/pages/verification/history'
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ export default getDate = (type) =>{
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const date = new Date()
|
const date = new Date()
|
||||||
const year = date.getFullYear()
|
const year = date.getFullYear()
|
||||||
const month = (date.getMonth() + 1) < 9 ? '0' + (date.getMonth() + 1) : date.getMonth()
|
const month = (date.getMonth() + 1) <= 9 ? '0' + (date.getMonth() + 1) : date.getMonth()
|
||||||
const day = date.getDate()
|
const day = date.getDate()
|
||||||
|
|
||||||
switch(type){
|
switch(type){
|
||||||
|
|||||||
BIN
static/images/boss.png
Normal file
BIN
static/images/boss.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
BIN
static/images/ver-bg.png
Normal file
BIN
static/images/ver-bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.3 KiB |
10
uni_modules/uni-load-more/changelog.md
Normal file
10
uni_modules/uni-load-more/changelog.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
## 1.2.1(2021-08-24)
|
||||||
|
- 新增 支持国际化
|
||||||
|
## 1.2.0(2021-07-30)
|
||||||
|
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
|
||||||
|
## 1.1.8(2021-05-12)
|
||||||
|
- 新增 组件示例地址
|
||||||
|
## 1.1.7(2021-03-30)
|
||||||
|
- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug
|
||||||
|
## 1.1.6(2021-02-05)
|
||||||
|
- 调整为uni_modules目录规范
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"uni-load-more.contentdown": "Pull up to show more",
|
||||||
|
"uni-load-more.contentrefresh": "loading...",
|
||||||
|
"uni-load-more.contentnomore": "No more data"
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import en from './en.json'
|
||||||
|
import zhHans from './zh-Hans.json'
|
||||||
|
import zhHant from './zh-Hant.json'
|
||||||
|
export default {
|
||||||
|
en,
|
||||||
|
'zh-Hans': zhHans,
|
||||||
|
'zh-Hant': zhHant
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"uni-load-more.contentdown": "上拉显示更多",
|
||||||
|
"uni-load-more.contentrefresh": "正在加载...",
|
||||||
|
"uni-load-more.contentnomore": "没有更多数据了"
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"uni-load-more.contentdown": "上拉顯示更多",
|
||||||
|
"uni-load-more.contentrefresh": "正在加載...",
|
||||||
|
"uni-load-more.contentnomore": "沒有更多數據了"
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
86
uni_modules/uni-load-more/package.json
Normal file
86
uni_modules/uni-load-more/package.json
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
"id": "uni-load-more",
|
||||||
|
"displayName": "uni-load-more 加载更多",
|
||||||
|
"version": "1.2.1",
|
||||||
|
"description": "LoadMore 组件,常用在列表里面,做滚动加载使用。",
|
||||||
|
"keywords": [
|
||||||
|
"uni-ui",
|
||||||
|
"uniui",
|
||||||
|
"加载更多",
|
||||||
|
"load-more"
|
||||||
|
],
|
||||||
|
"repository": "https://github.com/dcloudio/uni-ui",
|
||||||
|
"engines": {
|
||||||
|
"HBuilderX": ""
|
||||||
|
},
|
||||||
|
"directories": {
|
||||||
|
"example": "../../temps/example_temps"
|
||||||
|
},
|
||||||
|
"dcloudext": {
|
||||||
|
"category": [
|
||||||
|
"前端组件",
|
||||||
|
"通用组件"
|
||||||
|
],
|
||||||
|
"sale": {
|
||||||
|
"regular": {
|
||||||
|
"price": "0.00"
|
||||||
|
},
|
||||||
|
"sourcecode": {
|
||||||
|
"price": "0.00"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"qq": ""
|
||||||
|
},
|
||||||
|
"declaration": {
|
||||||
|
"ads": "无",
|
||||||
|
"data": "无",
|
||||||
|
"permissions": "无"
|
||||||
|
},
|
||||||
|
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
|
||||||
|
},
|
||||||
|
"uni_modules": {
|
||||||
|
"dependencies": [],
|
||||||
|
"encrypt": [],
|
||||||
|
"platforms": {
|
||||||
|
"cloud": {
|
||||||
|
"tcb": "y",
|
||||||
|
"aliyun": "y"
|
||||||
|
},
|
||||||
|
"client": {
|
||||||
|
"App": {
|
||||||
|
"app-vue": "y",
|
||||||
|
"app-nvue": "y"
|
||||||
|
},
|
||||||
|
"H5-mobile": {
|
||||||
|
"Safari": "y",
|
||||||
|
"Android Browser": "y",
|
||||||
|
"微信浏览器(Android)": "y",
|
||||||
|
"QQ浏览器(Android)": "y"
|
||||||
|
},
|
||||||
|
"H5-pc": {
|
||||||
|
"Chrome": "y",
|
||||||
|
"IE": "y",
|
||||||
|
"Edge": "y",
|
||||||
|
"Firefox": "y",
|
||||||
|
"Safari": "y"
|
||||||
|
},
|
||||||
|
"小程序": {
|
||||||
|
"微信": "y",
|
||||||
|
"阿里": "y",
|
||||||
|
"百度": "y",
|
||||||
|
"字节跳动": "y",
|
||||||
|
"QQ": "y"
|
||||||
|
},
|
||||||
|
"快应用": {
|
||||||
|
"华为": "u",
|
||||||
|
"联盟": "u"
|
||||||
|
},
|
||||||
|
"Vue": {
|
||||||
|
"vue2": "y",
|
||||||
|
"vue3": "u"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
70
uni_modules/uni-load-more/readme.md
Normal file
70
uni_modules/uni-load-more/readme.md
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
|
||||||
|
|
||||||
|
### LoadMore 加载更多
|
||||||
|
> **组件名:uni-load-more**
|
||||||
|
> 代码块: `uLoadMore`
|
||||||
|
|
||||||
|
|
||||||
|
用于列表中,做滚动加载使用,展示 loading 的各种状态。
|
||||||
|
|
||||||
|
### 安装方式
|
||||||
|
|
||||||
|
本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。
|
||||||
|
|
||||||
|
如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
|
||||||
|
|
||||||
|
### 使用方式
|
||||||
|
|
||||||
|
在 ``template`` 中使用组件
|
||||||
|
|
||||||
|
```html
|
||||||
|
<uni-load-more :status="more"></uni-load-more>
|
||||||
|
```
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
### LoadMore Props
|
||||||
|
|
||||||
|
|属性名 |类型 | 可选值 |默认值 |说明 |
|
||||||
|
|:-: |:-: |:-: |:-: |:-: |
|
||||||
|
|iconSize |Number |- |24 |指定图标大小 |
|
||||||
|
|status |String |more/loading/noMore |more |loading 的状态 |
|
||||||
|
|showIcon |Boolean|- |true |是否显示 loading 图标 |
|
||||||
|
|iconType |String |snow/circle/auto |auto |指定图标样式|
|
||||||
|
|color |String |- |#777777 |图标和文字颜色 |
|
||||||
|
|contentText|Object|- |{contentdown: "上拉显示更多",contentrefresh: "正在加载...",contentnomore: "没有更多数据了"}|各状态文字说明 |
|
||||||
|
|
||||||
|
|
||||||
|
#### Status Options
|
||||||
|
|参数名称 |说明 |
|
||||||
|
|:-: |:-: |
|
||||||
|
|more |loading前 |
|
||||||
|
|loading|loading前中 |
|
||||||
|
|more |没有更多数据 |
|
||||||
|
|
||||||
|
#### IconType Options
|
||||||
|
|参数名称 |说明 |
|
||||||
|
|:-: |:-: |
|
||||||
|
|snow |ios雪花加载样式 |
|
||||||
|
|circle |安卓环形加载样式 |
|
||||||
|
|auto |根据平台自动选择加载样式 |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
> **说明**
|
||||||
|
> `iconType`为`snow`时,在`APP-NVUE`平台不可设置大小,在非`APP-NVUE`平台不可设置颜色
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 事件说明
|
||||||
|
|
||||||
|
|事件名 |说明 |返回值 |
|
||||||
|
|:-: |:-: |:-: |
|
||||||
|
|clickLoadMore |点击加载更多时触发 |e.detail={status:'loading'}|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 组件示例
|
||||||
|
|
||||||
|
点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/load-more/load-more](https://hellouniapp.dcloud.net.cn/pages/extUI/load-more/load-more)
|
||||||
File diff suppressed because one or more lines are too long
28318
unpackage/dist/dev/app-plus/app-service.js
vendored
28318
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
30760
unpackage/dist/dev/app-plus/app-view.js
vendored
30760
unpackage/dist/dev/app-plus/app-view.js
vendored
File diff suppressed because one or more lines are too long
2
unpackage/dist/dev/app-plus/manifest.json
vendored
2
unpackage/dist/dev/app-plus/manifest.json
vendored
@@ -1 +1 @@
|
|||||||
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__CD19AAD","name":"易品新境","version":{"name":"1.0.0","code":"100"},"description":"易品新境为商家提供营销引流工具","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"OAuth":{},"Payment":{},"Share":{},"Geolocation":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":false,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#f5f5f5"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"safearea":{"bottom":{"offset":"none"}},"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"common"},"google":{"permissions":["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},"apple":{},"plugins":{"oauth":{"univerify":{},"weixin":{"appid":"wx222fbe58feee7819","appsecret":"3d24525a636d7573a8fae885097d5cf7","UniversalLinks":""}},"payment":{"weixin":{"__platform__":["android"],"appid":"wx222fbe58feee7819","UniversalLinks":""}},"share":{"weixin":{"appid":"wx222fbe58feee7819","UniversalLinks":""}},"maps":{},"ad":{},"geolocation":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"arguments":"{\"name\":\"\",\"path\":\"\",\"query\":\"\",\"id\":0}","allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.1.18","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#bababa","selectedColor":"#e93340","backgroundColor":"#FFFFFF","borderStyle":"rgba(255,255,255,0.4)","list":[{"pagePath":"pages/equity/index","text":"通证权易","iconPath":"static/tabBar/tabBar_icon_00.png","selectedIconPath":"static/tabBar/tabBar_show_00.png"},{"pagePath":"pages/market/index","text":"转让市场","iconPath":"static/tabBar/tabBar_icon_01.png","selectedIconPath":"static/tabBar/tabBar_show_01.png"},{"pagePath":"pages/store/index","text":"企业工具","iconPath":"static/tabBar/tabBar_icon_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png"},{"pagePath":"pages/property/index","text":"我的资产","iconPath":"static/tabBar/tabBar_icon_03.png","selectedIconPath":"static/tabBar/tabBar_show_03.png"}],"height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}}
|
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__CD19AAD","name":"易品新境","version":{"name":"1.0.0","code":"100"},"description":"易品新境为商家提供营销引流工具","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"OAuth":{},"Payment":{},"Share":{},"Geolocation":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":false,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#f5f5f5"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"safearea":{"bottom":{"offset":"none"}},"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"common"},"google":{"permissions":["<uses-feature android:name=\"android.hardware.camera\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},"apple":{},"plugins":{"oauth":{"univerify":{},"weixin":{"appid":"wx222fbe58feee7819","appsecret":"3d24525a636d7573a8fae885097d5cf7","UniversalLinks":""}},"payment":{"weixin":{"__platform__":["android"],"appid":"wx222fbe58feee7819","UniversalLinks":""}},"share":{"weixin":{"appid":"wx222fbe58feee7819","UniversalLinks":""}},"maps":{},"ad":{},"geolocation":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"arguments":"{\"name\":\"\",\"path\":\"\",\"query\":\"\",\"id\":0}","allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.2.3","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#bababa","selectedColor":"#e93340","backgroundColor":"#FFFFFF","borderStyle":"rgba(255,255,255,0.4)","list":[{"pagePath":"pages/equity/index","text":"通证权易","iconPath":"static/tabBar/tabBar_icon_00.png","selectedIconPath":"static/tabBar/tabBar_show_00.png"},{"pagePath":"pages/market/index","text":"转让市场","iconPath":"static/tabBar/tabBar_icon_01.png","selectedIconPath":"static/tabBar/tabBar_show_01.png"},{"pagePath":"pages/store/index","text":"企业工具","iconPath":"static/tabBar/tabBar_icon_02.png","selectedIconPath":"static/tabBar/tabBar_show_02.png"},{"pagePath":"pages/property/index","text":"我的资产","iconPath":"static/tabBar/tabBar_icon_03.png","selectedIconPath":"static/tabBar/tabBar_show_03.png"}],"height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"}}
|
||||||
Reference in New Issue
Block a user