更新代码
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
* moduleName: 地址
|
||||
*/
|
||||
|
||||
import request from '../request.js'
|
||||
import { request } from '../index'
|
||||
|
||||
// 地址列表
|
||||
const addresses = () => {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* moduleName: 优惠券相关
|
||||
*/
|
||||
|
||||
import request from '../request.js'
|
||||
import { request } from '../index'
|
||||
|
||||
// 我的优惠券
|
||||
const myCoupon = (data) => {
|
||||
|
||||
@@ -18,7 +18,8 @@ const mall = data => {
|
||||
// 商品列表
|
||||
const list = data => {
|
||||
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 {
|
||||
markets,
|
||||
marketsLogs,
|
||||
marketsInfo,
|
||||
marketsBuy,
|
||||
marketsPay
|
||||
marketsPay,
|
||||
marketsCreateInfo,
|
||||
marketsCreate,
|
||||
marketsMag,
|
||||
marketsCancel,
|
||||
marketsOrdersLogs
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* moduleName:个人中心相关操作
|
||||
*/
|
||||
|
||||
import request from '../request.js'
|
||||
import { request } from '../index'
|
||||
|
||||
// 关注店铺
|
||||
const shopSubscribe = (id) => {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* moduleName: 我的数权
|
||||
*/
|
||||
|
||||
import request from '../request.js'
|
||||
import { request } from '../index'
|
||||
|
||||
// 我的数权
|
||||
const mallWarrants = (data) => {
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
* moduleName:核销相关操作
|
||||
*/
|
||||
|
||||
import request from '../request.js'
|
||||
import { request } from '../index'
|
||||
|
||||
|
||||
// 扫码前置条件
|
||||
// 扫码前置条件 get 核销前置 post 表示核销
|
||||
const scanInfo = (apiUrl,data,method) => {
|
||||
return request({
|
||||
url: apiUrl,
|
||||
@@ -15,8 +15,17 @@ const scanInfo = (apiUrl,data,method) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 核销记录
|
||||
const scanList = (apiUrl,data) => {
|
||||
return request({
|
||||
url: apiUrl,
|
||||
method:'GET',
|
||||
data:data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export {
|
||||
scanInfo
|
||||
scanInfo,
|
||||
scanList
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ const index = () => {
|
||||
})
|
||||
}
|
||||
|
||||
// 成交客户
|
||||
// 成交客户 *********已废弃
|
||||
const customer = data => {
|
||||
return request({
|
||||
url: 'mall/statistics',
|
||||
@@ -23,6 +23,14 @@ const customer = data => {
|
||||
})
|
||||
}
|
||||
|
||||
// 成交客户
|
||||
const orderUsers = data => {
|
||||
return request({
|
||||
url: 'manages/order_users',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 访客记录
|
||||
const visitors = data => {
|
||||
return request({
|
||||
@@ -144,6 +152,7 @@ const deliverLogistic = (shipment__no) => {
|
||||
export {
|
||||
index,
|
||||
customer,
|
||||
orderUsers,
|
||||
visitors,
|
||||
basicsConfig,
|
||||
basicsInfo,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="OrderTemplate" >
|
||||
<view class="top" >
|
||||
<view class="top" v-if="isTop">
|
||||
<view class="company">
|
||||
<view class="company-logo">
|
||||
<image :src="item.shop.cover" mode="aspectFill" />
|
||||
@@ -33,7 +33,11 @@
|
||||
};
|
||||
},
|
||||
props:{
|
||||
item:Object
|
||||
item : Object,
|
||||
isTop : {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
console.log(this.item,'onshow,numtempa')
|
||||
@@ -113,13 +117,11 @@
|
||||
justify-content: flex-start;
|
||||
box-sizing: border-box;
|
||||
margin-top: 36rpx;
|
||||
|
||||
.goods-img {
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.goods {
|
||||
flex: 1;
|
||||
margin-left: 20rpx;
|
||||
|
||||
39
pages.json
39
pages.json
@@ -528,15 +528,15 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "扫码验证",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarBackgroundColor": "#039bfe"
|
||||
"navigationBarBackgroundColor": "#076cff"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/verification/details",
|
||||
"name": "VerificationDetails",
|
||||
"path": "pages/verification/history",
|
||||
"name": "VerificationHistory",
|
||||
"style": {
|
||||
"navigationBarTitleText": "核销券详情",
|
||||
"navigationBarTitleText": "核销记录",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarBackgroundColor": "#f40c50"
|
||||
"navigationBarBackgroundColor": "#076cff"
|
||||
}
|
||||
}, {
|
||||
"path": "pages/shop/lists",
|
||||
@@ -583,6 +583,35 @@
|
||||
"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": {
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
<view style="position: relative;z-index: 3;">
|
||||
<!-- 搜索... -->
|
||||
<view class="mine-top-contant">
|
||||
<u-navbar :is-back="false" :background="background" title="企业优惠券中心" title-color="#fff"
|
||||
:border-bottom='false'>
|
||||
</u-navbar>
|
||||
<u-navbar :is-back="true" :background="background" title="企业优惠券中心" title-color="#fff" :border-bottom='false'></u-navbar>
|
||||
<!--banner-->
|
||||
<swiper class="swiper" :indicator-dots="true" :autoplay="false" indicator-active-color='#fff'
|
||||
indicator-color='rgba(0,0,0,.1)'>
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
<view class="title">
|
||||
限时抢购<text>海量商家优惠券</text>
|
||||
</view>
|
||||
<navigator class="more" url="/pages/coupons/couponList">查看更多</navigator>
|
||||
<navigator class="more" open-type="navigate" url="/pages/coupons/couponList">查看更多</navigator>
|
||||
</view>
|
||||
<view class="coupons" v-if="coupons.length > 0">
|
||||
<view class="coupons-item" v-for="(item, index) in coupons" :key="index">
|
||||
@@ -168,6 +168,8 @@
|
||||
</view>
|
||||
<!-- 优选商品 -->
|
||||
<goods-list :list="goods" priceType="CNY" @on-goods="onGoods" />
|
||||
<!-- 分页 -->
|
||||
<uni-load-more :status="pageStatus" :iconSize="16"></uni-load-more>
|
||||
</block>
|
||||
</view>
|
||||
</template>
|
||||
@@ -205,14 +207,16 @@
|
||||
coupons : [],
|
||||
position : {},
|
||||
goods : [],
|
||||
pages : {},
|
||||
// 广场部分
|
||||
industryIndex: 0,
|
||||
recommendBus : [],
|
||||
hotBus : [],
|
||||
industryBus : [],
|
||||
busList : [],
|
||||
busPages : {}
|
||||
busPages : {},
|
||||
// 分页
|
||||
pageStatus : '',
|
||||
page : 1
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -268,7 +272,6 @@
|
||||
// 易货首页
|
||||
getMall(){
|
||||
mall().then(res => {
|
||||
console.log(res.coupons)
|
||||
this.classify = res.categories.slice(0, 9)
|
||||
this.banners = res.banners
|
||||
this.coupons = res.coupons
|
||||
@@ -283,9 +286,15 @@
|
||||
},
|
||||
// 商品列表
|
||||
getGoods(){
|
||||
list().then(res => {
|
||||
this.goods = res.data
|
||||
this.pages = res.page
|
||||
list({
|
||||
page: this.goodsPage
|
||||
}).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>
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
<view class="companyInfo">易品新境区块链有限公司</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 弹窗提示喽 -->
|
||||
<u-toast ref="uToast" />
|
||||
</view>
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
<image @click="serveClose" class="close" src="../../static/icons/goods_close.png" mode=""></image>
|
||||
</view>
|
||||
<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">
|
||||
{{item.name}}
|
||||
</view>
|
||||
@@ -184,9 +184,7 @@
|
||||
};
|
||||
},
|
||||
created() {
|
||||
goods(this.$Route.query.id || 16).then(res=>{
|
||||
console.log('啦啦啦')
|
||||
console.log(res.coupons)
|
||||
goods(this.$Route.query.id).then(res=>{
|
||||
this.loding = false
|
||||
this.goodsObj = res
|
||||
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=>{
|
||||
uni.showToast({
|
||||
title: '领取成功',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
}).catch(err =>{
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
})
|
||||
})
|
||||
uni.showToast({
|
||||
title: '领取成功',
|
||||
type: 'primary',
|
||||
duration: 3000
|
||||
})
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
icon : 'none',
|
||||
title: err.message
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 选择优惠券-显示
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
价格
|
||||
<image
|
||||
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>
|
||||
@@ -23,26 +23,33 @@
|
||||
data() {
|
||||
return {
|
||||
tabIndex : 0,
|
||||
marketType : 'low',
|
||||
marketType : 'asc',
|
||||
goods : []
|
||||
};
|
||||
},
|
||||
created() {
|
||||
list().then(res=>{
|
||||
this.goods = res.data
|
||||
this.pages = res.page
|
||||
})
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
onTabs(e){
|
||||
let index = e.target.dataset.index
|
||||
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.getList()
|
||||
},
|
||||
|
||||
onGoods(e){
|
||||
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>
|
||||
import { marketsInfo, marketsBuy, marketsPay } from '@/apis/interfaces/market'
|
||||
import userAuth from '@/public/userAuth'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -98,8 +99,8 @@
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
marketsInfo(this.$Route.query.marketId || 5).then(res =>{
|
||||
onShow() {
|
||||
marketsInfo(this.$Route.query.marketId).then(res =>{
|
||||
this.info = res
|
||||
this.price = res.price
|
||||
this.loding = false
|
||||
@@ -121,6 +122,12 @@
|
||||
},
|
||||
// 购买弹窗
|
||||
openLay(){
|
||||
let token = this.$store.getters.getToken
|
||||
if(token == ''){
|
||||
let userLogin = new userAuth()
|
||||
userLogin.Login()
|
||||
return
|
||||
}
|
||||
this.$refs.buyLay.open('bottom')
|
||||
},
|
||||
// 计算价格
|
||||
@@ -149,8 +156,16 @@
|
||||
marketsPay(this.orderNo, this.payValue).then(res => {
|
||||
switch (this.payValue){
|
||||
case 'eb':
|
||||
console.log(res)
|
||||
console.log('支付结果')
|
||||
this.$refs.payLay.close()
|
||||
this.$Router.push({
|
||||
name : 'payResults',
|
||||
params : {
|
||||
index: 1,
|
||||
price: this.price,
|
||||
type : 'eb',
|
||||
total: '可在我的资产下我的权证中查看购买的数字权证'
|
||||
}
|
||||
})
|
||||
break
|
||||
case 'wechat':
|
||||
this.wxPay(JSON.parse(res))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<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>
|
||||
<view class="content">
|
||||
<view class="title nowrap">数字权证<text>{{item.surplus}}/{{item.stock}}</text></view>
|
||||
@@ -36,7 +36,7 @@
|
||||
page : {}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
onShow() {
|
||||
this.getMarkets()
|
||||
},
|
||||
methods:{
|
||||
@@ -53,10 +53,14 @@
|
||||
markets({
|
||||
sort: this.tabIndex == 1 ? this.marketType : ''
|
||||
}).then(res => {
|
||||
console.log(res.data)
|
||||
this.marketArray = res.data
|
||||
this.page = res.page
|
||||
})
|
||||
},
|
||||
// 转让商品详情
|
||||
onDetails(e){
|
||||
this.$Router.push({name: 'marketDetails', params: {marketId: e.market_id}})
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
onNavigationBarButtonTap(){
|
||||
|
||||
@@ -1,61 +1,121 @@
|
||||
<template>
|
||||
<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">
|
||||
<view class="logs" v-for="(item, index) in logs" :key="index">
|
||||
<view class="logs-item">
|
||||
<label>交易权证</label>
|
||||
{{item.goods.goods_name}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易单价</label>
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易数量</label>
|
||||
{{item.qty}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>转让用户</label>
|
||||
{{item.sellUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>购买用户</label>
|
||||
{{item.buyUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易时间</label>
|
||||
{{item.created_at}}
|
||||
<view :class="{'paddingTop': $Route.query.type === 'my'}">
|
||||
<view class="logs" v-for="(item, index) in logs" :key="index">
|
||||
<view class="logs-item">
|
||||
<label>交易权证</label>
|
||||
{{item.goods.goods_name}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易单价</label>
|
||||
¥{{item.price}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易数量</label>
|
||||
{{item.qty}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>转让用户</label>
|
||||
{{item.sellUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>购买用户</label>
|
||||
{{item.buyUser.nickname}}
|
||||
</view>
|
||||
<view class="logs-item">
|
||||
<label>交易时间</label>
|
||||
{{item.created_at}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</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>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { marketsLogs } from '@/apis/interfaces/market'
|
||||
import { marketsLogs, marketsOrdersLogs } from '@/apis/interfaces/market'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
logs: [],
|
||||
page: {}
|
||||
page: {},
|
||||
tab : 'sell'
|
||||
};
|
||||
},
|
||||
created(){
|
||||
marketsLogs().then(res => {
|
||||
console.log(res.data)
|
||||
this.logs = res.data
|
||||
this.page = res.page
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
this.getList()
|
||||
},
|
||||
methods:{
|
||||
onTasb(e){
|
||||
this.tab = e
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
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>
|
||||
|
||||
<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{
|
||||
background: white;
|
||||
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>
|
||||
|
||||
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>
|
||||
<view class="price nowrap">{{amount}}</view>
|
||||
</view>
|
||||
<block v-if="coupons.length > 0">
|
||||
<block v-if="coupons.length > 1">
|
||||
<view class="item">
|
||||
<label>使用优惠券</label>
|
||||
<picker>
|
||||
<picker mode="selector" :range="coupons" range-key="title" :value="couponIndex" @change="couponsChange">
|
||||
<view class="picker-text nowrap">
|
||||
优惠券
|
||||
{{couponIndex == 0 ? '选择优惠券' : coupons[couponIndex].title}}
|
||||
<uni-icons type="arrowright" color="#ddd"></uni-icons>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -35,6 +35,10 @@
|
||||
<view class="price nowrap">-{{couponPrice}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="item">
|
||||
<label>实际支付金额</label>
|
||||
<view class="price nowrap">{{total}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 支付方式 -->
|
||||
<radio-group class="pay-group" @change="payType">
|
||||
@@ -71,6 +75,8 @@
|
||||
amount : 0,
|
||||
total : 0,
|
||||
coupons : [],
|
||||
couponIndex : 0,
|
||||
couponId : '',
|
||||
account : {},
|
||||
payValue : 'eb',
|
||||
}
|
||||
@@ -78,16 +84,15 @@
|
||||
created(){
|
||||
buy({
|
||||
goods_sku_id: this.$Route.query.skuId,
|
||||
qty : this.$Route.query.qty,
|
||||
qty : this.qty,
|
||||
type : 1
|
||||
}, 'GET').then(res=>{
|
||||
this.loding = true
|
||||
this.qty = this.$Route.query.qty,
|
||||
this.payValue = this.$Route.query.type === 1 ? 'wx' : 'eb'
|
||||
this.detail = res.detail
|
||||
this.couponPrice = res.coupon_price
|
||||
this.amount = res.amount
|
||||
this.total = res.total
|
||||
this.couponPrice = res.coupon_price.toFixed(2)
|
||||
this.amount = res.amount.toFixed(2)
|
||||
this.total = res.total.toFixed(2)
|
||||
this.coupons = res.coupons
|
||||
this.account = res.account
|
||||
}).catch(err =>{
|
||||
@@ -98,6 +103,35 @@
|
||||
})
|
||||
},
|
||||
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){
|
||||
this.payValue = e.detail.value
|
||||
},
|
||||
@@ -105,17 +139,20 @@
|
||||
//数量变化
|
||||
numberChange(e){
|
||||
this.qty = e
|
||||
this.amount = this.detail[0].items[0].price * e
|
||||
this.getCoupons()
|
||||
},
|
||||
|
||||
// 提交订单
|
||||
buyOrder(){
|
||||
buy({
|
||||
goods_sku_id: this.$Route.query.skuId || 23,
|
||||
qty : this.qty,
|
||||
type : this.payValue == 'eb' ? 1 : 2,
|
||||
remark : 'app订单'
|
||||
goods_sku_id : this.$Route.query.skuId,
|
||||
qty : this.qty,
|
||||
coupon_grant_id : this.couponId,
|
||||
type : 1,
|
||||
remark : 'app订单,易货产品',
|
||||
channel : 'app'
|
||||
}, 'POST').then(res=>{
|
||||
console.log(res)
|
||||
switch (this.payValue){
|
||||
case 'eb':
|
||||
this.ebPay(res.order_no)
|
||||
@@ -147,14 +184,20 @@
|
||||
// 易币支付
|
||||
ebPay(orderNo){
|
||||
eb(orderNo).then(res => {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '支付成功,后续优化支付成功后直接转跳我的权证'
|
||||
this.$Router.replace({
|
||||
name : 'payResults',
|
||||
params : {
|
||||
index: 1,
|
||||
price: this.total,
|
||||
type : 'eb',
|
||||
total: '可在我的资产下我的权证中查看购买的数字权证'
|
||||
}
|
||||
})
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err.message,
|
||||
icon : 'none'
|
||||
uni.showModal({
|
||||
title : '支付提示',
|
||||
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 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'>
|
||||
</u-navbar>
|
||||
<!--banner-->
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<view class="item-num">{{count.warrnats}}</view>
|
||||
<view class="item-title">权证持有</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-title">权证转让</view>
|
||||
</view>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<view class="order-list" v-for="(item,index) in lists" :key="index">
|
||||
<NumberWeightTemplate :item="item" />
|
||||
<view class="actions">
|
||||
<view @click="navMarkets(item.symbol)" class="nowPay">权证转让</view>
|
||||
<view @click="nowTake(item.symbol)" class="nowPay">去提货</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -64,6 +65,7 @@
|
||||
page:this.page
|
||||
}
|
||||
mallWarrants(data).then(res=>{
|
||||
console.log(res)
|
||||
this.lists = this.lists.concat(res.data)
|
||||
this.total = res.total
|
||||
}).catch(err=>{
|
||||
@@ -79,6 +81,10 @@
|
||||
uni.navigateTo({
|
||||
url:'./numberWeightInfo?symbol='+symbol
|
||||
})
|
||||
},
|
||||
// 转让权证
|
||||
navMarkets(symbol){
|
||||
this.$Router.push({name: 'marketTransfer', params:{symbol}})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,14 +8,19 @@
|
||||
</view>
|
||||
<!-- 统计信息 -->
|
||||
<view class="statistics">
|
||||
<picker mode="date" :fields="tabsIndex" :value="dateValue" :end="endDate" @change="pickerDate">
|
||||
<view class="statistics-date">
|
||||
{{dateValue}}<uni-icons class="arrowdown" type="arrowdown" color="#555"></uni-icons>
|
||||
<view class="statistics-flex">
|
||||
<picker mode="date" :fields="tabsIndex" :value="dateValue" :end="endDate" @change="pickerDate">
|
||||
<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>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="statistics-text">
|
||||
<text>成交客户量 {{visitor.day}} 人</text>
|
||||
<text>累计访客量 {{visitor.all}} 人</text>
|
||||
<text>成交产品数量 {{visitor.goods_count}} 人</text>
|
||||
<text>成交产品金额 {{visitor.total}} 元</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 数据列表 -->
|
||||
@@ -24,12 +29,18 @@
|
||||
<view class="item" v-for="(item, index) in orders" :key="index">
|
||||
<image class="cover" :src="item.user.avatar" mode="aspectFill"></image>
|
||||
<view class="title nowrap">
|
||||
{{item.user.username}}
|
||||
<view class="type">{{item.state}}</view>
|
||||
{{item.user.nickname}}
|
||||
<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 class="sub-title nowrap">订单号: {{item.order_no}}</view>
|
||||
<view class="sub-title nowrap">{{item.created_at}}</view>
|
||||
</view>
|
||||
<!-- 分页 -->
|
||||
<uni-load-more :status="pageStatus" :iconSize="16"></uni-load-more>
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="list-null">
|
||||
@@ -38,24 +49,57 @@
|
||||
</view>
|
||||
</block>
|
||||
</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>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import getDate from '@/public/date'
|
||||
import { customer } from '@/apis/interfaces/store'
|
||||
import { orderUsers } from '@/apis/interfaces/store'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabsIndex: 'day',
|
||||
dateValue: '',
|
||||
endDate : '',
|
||||
visitor : {
|
||||
tabsIndex : 'day',
|
||||
dateValue : '',
|
||||
endDate : '',
|
||||
visitor : {
|
||||
day: 0,
|
||||
all: 0
|
||||
},
|
||||
orders : [],
|
||||
pages : {}
|
||||
orders : [],
|
||||
sort : '',
|
||||
payType : '',
|
||||
channel : '',
|
||||
// 分页
|
||||
pageStatus : '',
|
||||
page : 1
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -71,24 +115,46 @@
|
||||
getDate(type).then(res => {
|
||||
this.tabsIndex = type
|
||||
this.dateValue = res
|
||||
this.page = 1
|
||||
this.getLists()
|
||||
})
|
||||
},
|
||||
onReset(){
|
||||
this.sort = ''
|
||||
this.payType = ''
|
||||
this.channel = ''
|
||||
},
|
||||
onSettings(){
|
||||
this.getLists()
|
||||
this.$refs.settingsPopup.close()
|
||||
},
|
||||
// 日期筛选
|
||||
pickerDate(e){
|
||||
let dateValue = e.detail.value
|
||||
this.dateValue = dateValue
|
||||
this.getLists()
|
||||
},
|
||||
// 列表筛选
|
||||
onScreening(){
|
||||
this.$refs.settingsPopup.open('bottom')
|
||||
},
|
||||
// 获取列表
|
||||
getLists(){
|
||||
customer({
|
||||
type: this.tabsIndex,
|
||||
date: this.dateValue
|
||||
orderUsers({
|
||||
type : this.tabsIndex,
|
||||
date : this.dateValue,
|
||||
sort : this.sort,
|
||||
pay_type : this.payType,
|
||||
channel : this.channel,
|
||||
page : this.page
|
||||
}).then(res => {
|
||||
this.visitor = res.visitor
|
||||
this.orders = res.orders.data
|
||||
this.pages = res.orders.page
|
||||
if(res.orders.page.current === 1){
|
||||
this.orders = []
|
||||
}
|
||||
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 => {
|
||||
uni.showToast({
|
||||
title: err,
|
||||
@@ -96,11 +162,68 @@
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
if(this.pageStatus == 'more'){
|
||||
this.pageStatus = 'loading'
|
||||
this.page += 1
|
||||
this.getLists()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<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{
|
||||
width: 100vw;
|
||||
@@ -144,14 +267,30 @@
|
||||
background-color: white;
|
||||
border-bottom: solid 1rpx $border-color;
|
||||
padding: $padding;
|
||||
.statistics-date{
|
||||
font-size: $title-size + 4;
|
||||
font-weight: bold;
|
||||
line-height: 60rpx;
|
||||
.arrowdown{
|
||||
margin-left: $margin/2;
|
||||
.statistics-flex{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.statistics-date{
|
||||
font-size: $title-size + 4;
|
||||
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{
|
||||
font-size: $title-size-sm;
|
||||
color: gray;
|
||||
@@ -211,6 +350,16 @@
|
||||
font-size: $title-size-sm;
|
||||
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>
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<view class="content">
|
||||
<!-- tabs -->
|
||||
<view class="tabs">
|
||||
<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 == 'year'}" @click="onTbas('year')">年成交</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 == 'year'}" @click="onTbas('year')">年访客</view>
|
||||
</view>
|
||||
<!-- 统计信息 -->
|
||||
<view class="statistics">
|
||||
@@ -24,7 +24,9 @@
|
||||
<view class="item" v-for="(item, index) in orders" :key="index">
|
||||
<image class="cover" :src="item.avatar" mode="aspectFill"></image>
|
||||
<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>
|
||||
</block>
|
||||
@@ -107,6 +109,7 @@
|
||||
.sub-title{
|
||||
color: $text-gray;
|
||||
font-size: $title-size-m;
|
||||
@extend .nowrap;
|
||||
}
|
||||
.icon{
|
||||
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="coupons" @click="scanCode('coupons','get')"> 优惠券核销 </view>
|
||||
</view>
|
||||
<view class="history">核销记录</view>
|
||||
<view class="history" @click="goHistory">核销记录</view>
|
||||
<u-toast ref="uToast" />
|
||||
|
||||
<!-- 二维码展示动画效果 -->
|
||||
@@ -74,7 +74,7 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
// 请求核销前置,优惠券前置和权证前置
|
||||
// 请求核销前置,优惠券前置和权证前置(get) post 是核销
|
||||
scanInfo(token, method) {
|
||||
console.log(token, this.scanType)
|
||||
let apiUrl = ''
|
||||
@@ -122,7 +122,8 @@
|
||||
success: (res1) => {
|
||||
if (res1.confirm) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/property/coupon/canUseList?code='+this.code
|
||||
url: '/pages/property/coupon/canUseList?code=' +
|
||||
this.code
|
||||
})
|
||||
} else {
|
||||
this.showCode = true
|
||||
@@ -145,6 +146,12 @@
|
||||
})
|
||||
this.showCode = false
|
||||
})
|
||||
},
|
||||
// 核销记录
|
||||
goHistory() {
|
||||
uni.navigateTo({
|
||||
url:'/pages/verification/history'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export default getDate = (type) =>{
|
||||
return new Promise((resolve, reject) => {
|
||||
const date = new Date()
|
||||
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()
|
||||
|
||||
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
30756
unpackage/dist/dev/app-plus/app-view.js
vendored
30756
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