Compare commits
2 Commits
bcbb98ec4a
...
db187bc774
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db187bc774 | ||
|
|
f77b357b3e |
@@ -55,7 +55,7 @@ const managesGoodsBurn = data => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 商品管理-商品上架
|
// 商品管理-商品上架 ********已废弃
|
||||||
const managesGoodsOnsale = id => {
|
const managesGoodsOnsale = id => {
|
||||||
return request({
|
return request({
|
||||||
url: 'manages/goods/'+id+'/onsale',
|
url: 'manages/goods/'+id+'/onsale',
|
||||||
@@ -63,7 +63,7 @@ const managesGoodsOnsale = id => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 商品管理-商品下架
|
// 商品管理-商品下架 ********已废弃
|
||||||
const managesGoodsOffsale = id => {
|
const managesGoodsOffsale = id => {
|
||||||
return request({
|
return request({
|
||||||
url: 'manages/goods/'+id+'/offsale',
|
url: 'manages/goods/'+id+'/offsale',
|
||||||
@@ -71,7 +71,7 @@ const managesGoodsOffsale = id => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发布商品前置 manages/goods/create
|
// 发布商品前置
|
||||||
const managesGoodsCreateBefore = () => {
|
const managesGoodsCreateBefore = () => {
|
||||||
return request({
|
return request({
|
||||||
url: 'manages/goods/create'
|
url: 'manages/goods/create'
|
||||||
@@ -100,7 +100,31 @@ const managesCreate = (data) => {
|
|||||||
url: 'manages/goods/create',
|
url: 'manages/goods/create',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 商品认证
|
||||||
|
const managesGoodsAuth = (id, data) => {
|
||||||
|
return request({
|
||||||
|
url: 'manages/goods/' + id + '/extends',
|
||||||
|
method:'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 商品删除
|
||||||
|
const managesGoodsDelete = id => {
|
||||||
|
return request({
|
||||||
|
url: 'manages/goods/' + id,
|
||||||
|
method:'DELETE'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 产品信息
|
||||||
|
const managesGoodsEdit = id => {
|
||||||
|
return request({
|
||||||
|
url: 'manages/goods/' + id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 区块链证书
|
// 区块链证书
|
||||||
const managesChain = (id) => {
|
const managesChain = (id) => {
|
||||||
@@ -129,8 +153,8 @@ const managesCoupons = (id) => {
|
|||||||
url: 'coupons/'+ id +'/grant',
|
url: 'coupons/'+ id +'/grant',
|
||||||
method: 'POST'
|
method: 'POST'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
mall,
|
mall,
|
||||||
list,
|
list,
|
||||||
@@ -143,6 +167,9 @@ export {
|
|||||||
managesGoodsCreateBefore,
|
managesGoodsCreateBefore,
|
||||||
managesGoodsCreate,
|
managesGoodsCreate,
|
||||||
managesCategory,
|
managesCategory,
|
||||||
|
managesGoodsAuth,
|
||||||
|
managesGoodsDelete,
|
||||||
|
managesGoodsEdit,
|
||||||
managesCreate,
|
managesCreate,
|
||||||
managesChain,
|
managesChain,
|
||||||
managesAttestation,
|
managesAttestation,
|
||||||
|
|||||||
@@ -407,6 +407,13 @@
|
|||||||
"navigationBarTitleText": "创建门店/部门",
|
"navigationBarTitleText": "创建门店/部门",
|
||||||
"navigationBarBackgroundColor": "#FFFFFF"
|
"navigationBarBackgroundColor": "#FFFFFF"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
"path": "pages/goods/goodsAuth",
|
||||||
|
"name": "goodsAuth",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "商品认证信息",
|
||||||
|
"navigationBarBackgroundColor": "#FFFFFF"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
<!-- 商品基本信息 -->
|
<!-- 商品基本信息 -->
|
||||||
<view class="form-block">
|
<view class="form-block">
|
||||||
<view class="form-box inputs-flex">
|
<view class="form-box inputs-flex">
|
||||||
<label class="form-label">产品标题</label>
|
<label class="form-label">商品标题</label>
|
||||||
<input type="text" v-model="name" placeholder="输入商品标题"/>
|
<input type="text" v-model="name" placeholder="输入商品标题"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-box inputs-flex">
|
<view class="form-box inputs-flex">
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="form-box inputs-flex">
|
<view class="form-box inputs-flex">
|
||||||
<label class="form-label">规格单位</label>
|
<label class="form-label">规格单位</label>
|
||||||
<input type="digit" :value="skus_unit" placeholder="输入规格单位 如:件"/>
|
<input type="text" v-model="skus_unit" placeholder="输入规格单位 如:件"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-upd">
|
<view class="form-upd">
|
||||||
<view class="form-title">商品详情(点击预览,长按删除)</view>
|
<view class="form-title">商品详情(点击预览,长按删除)</view>
|
||||||
@@ -72,62 +72,109 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 商品详情介绍 -->
|
<!-- 商品详情介绍 -->
|
||||||
<view class="form-block">
|
<view class="form-block">
|
||||||
<!-- is_change query 否 0 是否支持易货 -->
|
<view class="form-box picker-flex">
|
||||||
<view class="form-box inputs-flex">
|
<label class="form-label">支持易货</label>
|
||||||
<label class="form-label">易货起购数量</label>
|
<view class="picker-switch">
|
||||||
<input type="number" v-model="skus_number" placeholder="输入易货起购数量"/>
|
<switch :checked="isChange" color="#e93340" @change="pickerChange($event, 'isChange')"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="form-box inputs-flex" v-if="isChange">
|
||||||
|
<label class="form-label">最低易货量</label>
|
||||||
|
<input type="number" v-model="skus_number" placeholder="输入最低易货量"/>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-box inputs-flex">
|
<view class="form-box inputs-flex">
|
||||||
<label class="form-label">商品库存</label>
|
<label class="form-label">发行权证数</label>
|
||||||
<input type="number" v-model="skus_stock" placeholder="输入商品库存"/>
|
<input type="number" v-model="skus_stock" placeholder="输入商品发行权证数"/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 售后服务 -->
|
<!-- 售后服务 -->
|
||||||
<view class="form-block">
|
<view class="form-block">
|
||||||
<view class="form-box picker-flex">
|
<view class="form-box picker-flex">
|
||||||
<label class="form-label">配送方式</label>
|
<label class="form-label">配送方式</label>
|
||||||
<view class="picker-text">
|
<picker :range="logisticArr" range-key="text" :value="logisticType" @change="pickerChange($event, 'logisticType')">
|
||||||
logistic_type 1.快递,2.自提<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
<view class="picker-text">
|
||||||
</view>
|
{{logisticArr[logisticType].text}}
|
||||||
|
<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</picker>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-box picker-flex">
|
<view class="form-box picker-flex" v-if="logisticType === 1">
|
||||||
<label class="form-label">关联店铺</label>
|
<label class="form-label">关联店铺</label>
|
||||||
<view class="picker-text">
|
<view class="picker-text" @click="opnePopup('storePopup')">
|
||||||
stores 自提必填<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
已关联{{stores.length}}家店铺<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-box picker-flex">
|
<view class="form-box picker-flex">
|
||||||
<label class="form-label">允许售后</label>
|
<label class="form-label">允许售后</label>
|
||||||
|
<view class="picker-switch">
|
||||||
|
<switch :checked="isPostSale" color="#e93340" @change="pickerChange($event, 'isPostSale')"/>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-box picker-flex">
|
<view class="form-box picker-flex">
|
||||||
<label class="form-label">可选服务</label>
|
<label class="form-label">可选服务</label>
|
||||||
<view class="picker-text">
|
<view class="picker-text" @click="opnePopup('categoryPopup')">
|
||||||
321321<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
已选{{services.length}}项服务<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 售后服务 -->
|
<!-- 售后服务 -->
|
||||||
<view class="form-block">
|
<view class="form-block" v-if="type == 2">
|
||||||
<view class="form-box picker-flex">
|
<view class="form-box picker-flex">
|
||||||
<label class="form-label">到期时间</label>
|
<label class="form-label">到期时间</label>
|
||||||
<view class="picker-text">
|
<picker mode="date" :value="expiriedAt" @change="pickerChange($event, 'expiriedAt')">
|
||||||
321321<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
<view class="picker-text">
|
||||||
</view>
|
{{expiriedAt || '选择服务到期时间'}}
|
||||||
|
<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</picker>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 可选服务 -->
|
<!-- 可选服务 -->
|
||||||
|
<uni-popup ref="categoryPopup">
|
||||||
|
<view class="category-popup">
|
||||||
|
<view class="header">
|
||||||
|
<view class="title">选择商品服务</view>
|
||||||
|
</view>
|
||||||
|
<view class="category-flex">
|
||||||
|
<view class="category-flex-item" :class="{'show' : item.check}" v-for="(item, index) in servicesArr" :key="index" @click="item.check = !item.check">
|
||||||
|
<view class="category-name">{{item.name}}</view>
|
||||||
|
<view class="category-content">{{item.content}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="btns">
|
||||||
|
<button type="default" size="default" @click="affirmCategory('services', 'categoryPopup')">确定</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<!-- 选择店铺 -->
|
||||||
|
<uni-popup ref="storePopup">
|
||||||
|
<view class="category-popup">
|
||||||
|
<view class="header">
|
||||||
|
<view class="title">选择店铺</view>
|
||||||
|
</view>
|
||||||
|
<view class="category-flex">
|
||||||
|
<view class="category-flex-item" :class="{'show' : item.check}" v-for="(item, index) in storesArr" :key="index" @click="item.check = !item.check">
|
||||||
|
<view class="category-name">{{item.name}}</view>
|
||||||
|
<view class="category-content">{{item.address}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="btns">
|
||||||
|
<button type="default" size="default" @click="affirmCategory('stores', 'storePopup')">确定</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
<!-- 安全区 -->
|
<!-- 安全区 -->
|
||||||
<view class="ios-bottom"></view>
|
<view class="ios-bottom"></view>
|
||||||
<!-- footer -->
|
<!-- footer -->
|
||||||
<view class="footer">
|
<view class="footer">
|
||||||
<button class="footer-btn" type="default">发布</button>
|
<button class="footer-btn" type="default" @click="submitAdd">{{type == 2 ? '发布': '发布并认证'}}</button>
|
||||||
<view class="ios-bottom"></view>
|
<view class="ios-bottom"></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { managesGoodsCreate, managesCreate } from '@/apis/interfaces/goods'
|
import { managesGoodsCreate, managesCreate, managesGoodsEdit } from '@/apis/interfaces/goods'
|
||||||
import { uploads } from '@/apis/interfaces/uploading'
|
import { uploads } from '@/apis/interfaces/uploading'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@@ -143,23 +190,51 @@
|
|||||||
skus_number : 1, // 易货起购数量
|
skus_number : 1, // 易货起购数量
|
||||||
skus_unit : '件', // 规格文字
|
skus_unit : '件', // 规格文字
|
||||||
skus_charge : '0.00',// 分销佣金
|
skus_charge : '0.00',// 分销佣金
|
||||||
skus_stock : 0, // 库存
|
skus_stock : '', // 库存
|
||||||
isChange : false, // 是否支持易货
|
isChange : false, // 是否支持易货
|
||||||
logisticType: 0, // 配送方式
|
|
||||||
stores : [], // 关联店铺
|
stores : [], // 关联店铺
|
||||||
expiriedAt : '', // 活动到期时间
|
expiriedAt : '', // 活动到期时间
|
||||||
|
logisticType: 0, // 配送方式
|
||||||
|
logisticArr : [
|
||||||
|
{text: '快递', type: 1},
|
||||||
|
{text: '自提', type: 2}
|
||||||
|
],
|
||||||
// 配置信息
|
// 配置信息
|
||||||
storesArr : [], // 可选店铺
|
storesArr : [], // 可选店铺
|
||||||
tags : [], // 可选商品标签
|
tags : [], // 可选商品标签
|
||||||
tagsIndex : 0, // 选择标签的下标
|
tagsIndex : 0, // 选择标签的下标
|
||||||
servicesArr : [], // 可选服务
|
servicesArr : [], // 可选服务
|
||||||
type : 1, // 1为商品,0为服务
|
type : 1, // 1为商品,2为服务
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
if(this.$Route.query.type === 'edit'){
|
||||||
|
console.log('编辑')
|
||||||
|
managesGoodsEdit(this.$Route.query.id).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
managesCreate({
|
managesCreate({
|
||||||
category_cid: 140
|
category_cid: this.$Route.query.cid
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
|
res.services = res.services.map(val => {
|
||||||
|
return {
|
||||||
|
check: false,
|
||||||
|
...val
|
||||||
|
}
|
||||||
|
})
|
||||||
|
res.stores = res.stores.map(val => {
|
||||||
|
return {
|
||||||
|
check: false,
|
||||||
|
...val
|
||||||
|
}
|
||||||
|
})
|
||||||
this.storesArr = res.stores
|
this.storesArr = res.stores
|
||||||
this.tags = res.tags
|
this.tags = res.tags
|
||||||
this.servicesArr= res.services
|
this.servicesArr= res.services
|
||||||
@@ -172,6 +247,25 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 选择商品服务
|
||||||
|
opnePopup(key){
|
||||||
|
this.$refs[key].open('bottom')
|
||||||
|
},
|
||||||
|
// 确认选择商品服务
|
||||||
|
affirmCategory(key, popupKey){
|
||||||
|
let keyArr = key == 'services' ? 'servicesArr' : 'storesArr'
|
||||||
|
this[key] = []
|
||||||
|
for(let val of this[keyArr]){
|
||||||
|
if(val.check){
|
||||||
|
this[key].push(val.service_id || val.store_id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$refs[popupKey].close()
|
||||||
|
},
|
||||||
|
// picker选择
|
||||||
|
pickerChange(e, key){
|
||||||
|
this[key] = e.detail.value
|
||||||
|
},
|
||||||
// 图片预览
|
// 图片预览
|
||||||
openImg(index, key){
|
openImg(index, key){
|
||||||
let paths = this[key].map(val => {
|
let paths = this[key].map(val => {
|
||||||
@@ -212,6 +306,55 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
// 发布产品
|
||||||
|
submitAdd(){
|
||||||
|
let pictures = this.pictures.map(val => {return val.path}),
|
||||||
|
content = this.content.map(val => {return val.path})
|
||||||
|
|
||||||
|
let submitData = {
|
||||||
|
name : this.name,
|
||||||
|
cover : this.pictures[0].path,
|
||||||
|
category_id : this.$Route.query.id,
|
||||||
|
category_cid : this.$Route.query.cid,
|
||||||
|
pictures : pictures,
|
||||||
|
content : content,
|
||||||
|
description : this.description,
|
||||||
|
is_post_sale : this.isPostSale ? 0 : 1,
|
||||||
|
services : this.services,
|
||||||
|
skus_cost : this.skus_cost,
|
||||||
|
skus_price : this.skus_price,
|
||||||
|
skus_number : this.skus_number,
|
||||||
|
skus_unit : this.skus_unit,
|
||||||
|
skus_charge : this.skus_charge,
|
||||||
|
skus_stock : this.skus_stock,
|
||||||
|
is_change : this.isChange ? 0 : 1,
|
||||||
|
logistic_type: this.logisticArr[this.logisticType].type,
|
||||||
|
stores : this.stores,
|
||||||
|
expiried_at : this.expiriedAt
|
||||||
|
}
|
||||||
|
let submitFund = managesGoodsCreate(submitData)
|
||||||
|
submitFund.then(res => {
|
||||||
|
if(this.type === 2){
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : '商品权证已发布,请耐心等待平台审核',
|
||||||
|
showCancel : false,
|
||||||
|
success : res => {
|
||||||
|
if(res.confirm){
|
||||||
|
this.$Router.back()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$Router.push({name: 'goodsAuth', params: { id: res , type: 'goodsAdd'}})
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -283,6 +426,15 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.picker-switch{
|
||||||
|
line-height: 80rpx;
|
||||||
|
min-height: 80rpx;
|
||||||
|
text-align: right;
|
||||||
|
margin-right: -15rpx;
|
||||||
|
switch{
|
||||||
|
transform:scale(0.7)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.form-upd{
|
.form-upd{
|
||||||
.form-title{
|
.form-title{
|
||||||
@@ -334,7 +486,7 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
padding: 20rpx $padding;
|
padding: 20rpx $padding;
|
||||||
box-shadow: 0 0 4rpx 4rpx rgba($color: #000000, $alpha: .02);
|
box-shadow: 0 0 4rpx 4rpx rgba($color: #000000, $alpha: .02);
|
||||||
z-index: 99;
|
z-index: 9;
|
||||||
.footer-btn{
|
.footer-btn{
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
@@ -348,5 +500,69 @@
|
|||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// 可选服务
|
||||||
|
.category-popup{
|
||||||
|
background: #F5F5F5;
|
||||||
|
padding: 0 $padding * 2 $padding * 2 $padding * 2;
|
||||||
|
.header{
|
||||||
|
padding: $padding*2 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
@extend .vertical;
|
||||||
|
.title{
|
||||||
|
text-align: center;
|
||||||
|
font-size: $title-size + 14;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 90rpx;
|
||||||
|
}
|
||||||
|
.subtitle{
|
||||||
|
font-size: $title-size-m;
|
||||||
|
color: $text-gray;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.category-flex{
|
||||||
|
max-height: 50vh;
|
||||||
|
overflow-y: scroll;
|
||||||
|
.category-flex-item{
|
||||||
|
margin-bottom: $margin;
|
||||||
|
padding: $padding;
|
||||||
|
background: white;
|
||||||
|
border:solid 1rpx white;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.category-name{
|
||||||
|
padding-bottom: $padding/2;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
}
|
||||||
|
.category-content{
|
||||||
|
font-size: $title-size-sm;
|
||||||
|
color: $text-gray;
|
||||||
|
@extend .ellipsis;
|
||||||
|
}
|
||||||
|
&.show{
|
||||||
|
color: $text-price;
|
||||||
|
border:solid 1rpx $text-price;
|
||||||
|
}
|
||||||
|
&:last-child{
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btns{
|
||||||
|
padding-top: $padding * 2;
|
||||||
|
button{
|
||||||
|
background: $text-price;
|
||||||
|
border-radius: 0;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
font-size: $title-size;
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
&::after{
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -26,14 +26,15 @@
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
managesCategory().then(res => {
|
managesCategory().then(res => {
|
||||||
|
console.log(res)
|
||||||
this.loding = false
|
this.loding = false
|
||||||
this.category = res
|
this.category = res
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
// 选择分类
|
// 选择分类
|
||||||
onCategory(id){
|
onCategory(cid){
|
||||||
this.$Router.push({name: 'GoodsMagAdd', params: {id}})
|
this.$Router.push({name: 'GoodsMagAdd', params: {cid, id: this.category[this.stairIndex].category_id}})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
357
pages/goods/goodsAuth.vue
Normal file
357
pages/goods/goodsAuth.vue
Normal file
@@ -0,0 +1,357 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="form-block">
|
||||||
|
<view class="form-upd">
|
||||||
|
<view class="form-title">产品实物图片<text>(点击预览,长按删除)</text></view>
|
||||||
|
<view class="form-imgs">
|
||||||
|
<view
|
||||||
|
class="item"
|
||||||
|
v-if="extendCover.length > 0"
|
||||||
|
@click="openImg"
|
||||||
|
@longpress="extendCover = []"
|
||||||
|
>
|
||||||
|
<image class="item-cover" :src="extendCover[0].showpath" mode="aspectFill"></image>
|
||||||
|
</view>
|
||||||
|
<view class="item item-add" v-else @click="updCover">
|
||||||
|
<image class="item-cover" src="@/static/icons/add-icon.png" mode="aspectFill"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 商品基本信息 -->
|
||||||
|
<view class="form-block">
|
||||||
|
<view class="form-box picker-flex">
|
||||||
|
<label class="form-label">生产日期</label>
|
||||||
|
<picker mode="date" :value="productedAt" @change="pickerChange($event, 'productedAt')">
|
||||||
|
<view class="picker-text">
|
||||||
|
{{productedAt || '选择商品生产日期'}}
|
||||||
|
<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
<view class="form-box picker-flex">
|
||||||
|
<label class="form-label">过期时间</label>
|
||||||
|
<picker mode="date" :value="expiriedAt" @change="pickerChange($event, 'expiriedAt')">
|
||||||
|
<view class="picker-text">
|
||||||
|
{{expiriedAt || '选择商品过期时间'}}
|
||||||
|
<uni-icons class="picker-icon" type="arrowright" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</picker>
|
||||||
|
</view>
|
||||||
|
<view class="form-box inputs-flex">
|
||||||
|
<label class="form-label">生产商名称</label>
|
||||||
|
<input type="text" v-model="productName" placeholder="输入商品生产商名称"/>
|
||||||
|
</view>
|
||||||
|
<view class="form-box inputs-flex">
|
||||||
|
<label class="form-label">生产许可证号</label>
|
||||||
|
<input type="text" v-model="lisence" placeholder="输入商品生产许可证号"/>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="form-box inputs-flex">
|
||||||
|
<label class="form-label">生产商地址</label>
|
||||||
|
<input type="text" v-model="productAddress" placeholder="输入商品生产商地址"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 安全区 -->
|
||||||
|
<view class="ios-bottom"></view>
|
||||||
|
<!-- footer -->
|
||||||
|
<view class="footer">
|
||||||
|
<button class="footer-btn" type="default" @click="submitAdd">提交认证审核</button>
|
||||||
|
<view class="ios-bottom"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { managesGoodsAuth } from '@/apis/interfaces/goods'
|
||||||
|
import { uploads } from '@/apis/interfaces/uploading'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
productedAt : '', // 生产日期
|
||||||
|
expiriedAt : '', // 过期时间
|
||||||
|
lisence : '', // 生产许可证号
|
||||||
|
productName : '', // 生产商名称
|
||||||
|
productAddress : '', // 生产商地址
|
||||||
|
extendCover : [] // 实物图片
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// picker选择
|
||||||
|
pickerChange(e, key){
|
||||||
|
this[key] = e.detail.value
|
||||||
|
},
|
||||||
|
// 图片预览
|
||||||
|
openImg(){
|
||||||
|
let paths = this.extendCover.map(val => {
|
||||||
|
return val.showpath
|
||||||
|
})
|
||||||
|
uni.previewImage({
|
||||||
|
urls : paths,
|
||||||
|
current : 0,
|
||||||
|
indicator: 'number'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 上传图片
|
||||||
|
updCover(){
|
||||||
|
uni.chooseImage({
|
||||||
|
count : 1,
|
||||||
|
success : res => {
|
||||||
|
uploads([{
|
||||||
|
uri : res.tempFilePaths[0]
|
||||||
|
}]).then(updRes => {
|
||||||
|
this.extendCover.push({
|
||||||
|
path : updRes.path[0],
|
||||||
|
showpath: updRes.url[0]
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 发布产品
|
||||||
|
submitAdd(){
|
||||||
|
let submitData = {
|
||||||
|
producted_at : this.productedAt,
|
||||||
|
expiried_at : this.expiriedAt,
|
||||||
|
lisence : this.lisence,
|
||||||
|
product_name : this.productName,
|
||||||
|
product_address : this.productAddress,
|
||||||
|
extend_cover : this.extendCover[0].path
|
||||||
|
}
|
||||||
|
let submitFund = managesGoodsAuth(this.$Route.query.id, submitData)
|
||||||
|
submitFund.then(res => {
|
||||||
|
uni.showModal({
|
||||||
|
title : '提示',
|
||||||
|
content : '商品权证认证信息已提交,请耐心等待平台审核',
|
||||||
|
showCancel : false,
|
||||||
|
success : res => {
|
||||||
|
if(res.confirm){
|
||||||
|
this.$Router.back(this.$Route.query.type == 'goodsAdd' ? 2 : 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.message,
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content{
|
||||||
|
padding-bottom: 150rpx;
|
||||||
|
}
|
||||||
|
// 表单
|
||||||
|
.form-block{
|
||||||
|
background: white;
|
||||||
|
margin-top: $margin - 10;
|
||||||
|
.form-box{
|
||||||
|
position: relative;
|
||||||
|
padding-left: 240rpx;
|
||||||
|
padding-right: $padding;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
min-height: 80rpx;
|
||||||
|
&::after{
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: $margin;
|
||||||
|
right: 0;
|
||||||
|
height: 1rpx;
|
||||||
|
content: " ";
|
||||||
|
background: $border-color;
|
||||||
|
}
|
||||||
|
&:last-child::after{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.form-label{
|
||||||
|
position: absolute;
|
||||||
|
left: $margin;
|
||||||
|
line-height: 80rpx;
|
||||||
|
top: 0;
|
||||||
|
width: calc(240rpx - #{$margin});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.inputs-flex{
|
||||||
|
input{
|
||||||
|
height: 80rpx;
|
||||||
|
line-height: 80rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.input-unit{
|
||||||
|
padding-right: 200rpx;
|
||||||
|
.units{
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
line-height: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
padding-right: $padding;
|
||||||
|
text-align: right;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.picker-flex{
|
||||||
|
.picker-text{
|
||||||
|
position: relative;
|
||||||
|
line-height: 80rpx;
|
||||||
|
min-height: 80rpx;
|
||||||
|
padding-right: 80rpx;
|
||||||
|
@extend .nowrap;
|
||||||
|
.picker-icon{
|
||||||
|
right: 0;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.picker-switch{
|
||||||
|
line-height: 80rpx;
|
||||||
|
min-height: 80rpx;
|
||||||
|
text-align: right;
|
||||||
|
margin-right: -15rpx;
|
||||||
|
switch{
|
||||||
|
transform:scale(0.7)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.form-upd{
|
||||||
|
.form-title{
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
line-height: 80rpx;
|
||||||
|
padding: 0 $padding;
|
||||||
|
text{
|
||||||
|
font-size: 80%;
|
||||||
|
color: $text-gray;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.form-imgs{
|
||||||
|
margin-top: -($margin/3);
|
||||||
|
padding: 0 20rpx 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
.item{
|
||||||
|
width: calc(20% - 14rpx);
|
||||||
|
padding-top: calc(20% - 14rpx);
|
||||||
|
margin: 7rpx;
|
||||||
|
position: relative;
|
||||||
|
.item-cover{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-add{
|
||||||
|
border: dashed 2rpx $border-color;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.item-cover{
|
||||||
|
top: calc(15% - 2rpx);
|
||||||
|
left: calc(15% - 2rpx);
|
||||||
|
width: 70%;
|
||||||
|
height: 70%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 发布
|
||||||
|
.footer{
|
||||||
|
background: white;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
padding: 20rpx $padding;
|
||||||
|
box-shadow: 0 0 4rpx 4rpx rgba($color: #000000, $alpha: .02);
|
||||||
|
z-index: 9;
|
||||||
|
.footer-btn{
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
background: $text-price;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size;
|
||||||
|
color: white;
|
||||||
|
&::after{
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 可选服务
|
||||||
|
.category-popup{
|
||||||
|
background: #F5F5F5;
|
||||||
|
padding: 0 $padding * 2 $padding * 2 $padding * 2;
|
||||||
|
.header{
|
||||||
|
padding: $padding*2 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
@extend .vertical;
|
||||||
|
.title{
|
||||||
|
text-align: center;
|
||||||
|
font-size: $title-size + 14;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 90rpx;
|
||||||
|
}
|
||||||
|
.subtitle{
|
||||||
|
font-size: $title-size-m;
|
||||||
|
color: $text-gray;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.category-flex{
|
||||||
|
max-height: 50vh;
|
||||||
|
overflow-y: scroll;
|
||||||
|
.category-flex-item{
|
||||||
|
margin-bottom: $margin;
|
||||||
|
padding: $padding;
|
||||||
|
background: white;
|
||||||
|
border:solid 1rpx white;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.category-name{
|
||||||
|
padding-bottom: $padding/2;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: $title-size-lg;
|
||||||
|
}
|
||||||
|
.category-content{
|
||||||
|
font-size: $title-size-sm;
|
||||||
|
color: $text-gray;
|
||||||
|
@extend .ellipsis;
|
||||||
|
}
|
||||||
|
&.show{
|
||||||
|
color: $text-price;
|
||||||
|
border:solid 1rpx $text-price;
|
||||||
|
}
|
||||||
|
&:last-child{
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btns{
|
||||||
|
padding-top: $padding * 2;
|
||||||
|
button{
|
||||||
|
background: $text-price;
|
||||||
|
border-radius: 0;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
font-size: $title-size;
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
&::after{
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
<view class="content">
|
<view class="content">
|
||||||
<!-- 分类 -->
|
<!-- 分类 -->
|
||||||
<view class="tabs">
|
<view class="tabs">
|
||||||
<view class="item" :class="{'show': status == '1'}" @click="onTabs('1')">已上架</view>
|
<view class="item" :class="{'show': status == '0'}" @click="onTabs('0')">已发布</view>
|
||||||
<view class="item" :class="{'show': status == '3'}" @click="onTabs('3')">已下架</view>
|
<view class="item" :class="{'show': status == '1'}" @click="onTabs('1')">待认证</view>
|
||||||
<view class="item" :class="{'show': status == '0'}" @click="onTabs('0')">审核中</view>
|
<view class="item" :class="{'show': status == '2'}" @click="onTabs('2')">审核中</view>
|
||||||
<view class="item" :class="{'show': status == '2'}" @click="onTabs('2')">已驳回</view>
|
<view class="item" :class="{'show': status == '3'}" @click="onTabs('3')">已驳回</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 优选商品 -->
|
<!-- 优选商品 -->
|
||||||
<goodsList :list="goods" priceType="CNY" :status='status' toast="暂无产品权证">
|
<goodsList :list="goods" priceType="CNY" :status='status' toast="暂无产品权证">
|
||||||
@@ -14,16 +14,19 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-slot:footer="goods">
|
<template v-slot:footer="goods">
|
||||||
<view class="footer-btns">
|
<view class="footer-btns">
|
||||||
<block v-if="status == '1'">
|
<block v-if="status == '0'">
|
||||||
<button class="button-item" size="mini" @click="openLay(goods.value, 'goodsBurn')">燃烧</button>
|
<button class="button-item" size="mini" @click="openLay(goods.value, 'goodsBurn')">燃烧</button>
|
||||||
<button class="button-item" size="mini" @click="openLay(goods.value, 'goodsMint')">增发</button>
|
<button class="button-item" size="mini" @click="openLay(goods.value, 'goodsMint')">增发</button>
|
||||||
<button class="button-item" size="mini" @click="goodsOffsale(goods.value.goods_id)">下架</button>
|
</block>
|
||||||
|
<block v-if="status == '1'">
|
||||||
|
<button class="button-item" size="mini" @click="goodsAuth(goods.value.goods_id)">认证</button>
|
||||||
|
<button class="button-item" size="mini" @click="goodsRemove(goods.value.goods_id)">删除</button>
|
||||||
|
</block>
|
||||||
|
<block v-if="status == '2'">
|
||||||
|
<button class="button-item" size="mini" @click="goodsRemove(goods.value.goods_id)">删除</button>
|
||||||
</block>
|
</block>
|
||||||
<block v-if="status == '3'">
|
<block v-if="status == '3'">
|
||||||
<button class="button-item" size="mini" @click="goodsOnsale(goods.value.goods_id)">上架</button>
|
<button class="button-item" size="mini" @click="goodsPut(goods.value.goods_id, goods.value.reason)">驳回原因</button>
|
||||||
</block>
|
|
||||||
<block v-if="status == '0' || status == '2'">
|
|
||||||
<button class="button-item" size="mini">修改</button>
|
|
||||||
<button class="button-item" size="mini" @click="goodsRemove(goods.value.goods_id)">删除</button>
|
<button class="button-item" size="mini" @click="goodsRemove(goods.value.goods_id)">删除</button>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
@@ -48,7 +51,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { managesGoodsIndex, managesGoodsOffsale, managesGoodsOnsale, managesGoodsBurn, managesGoodsMint, managesGoodsCreateBefore } from '@/apis/interfaces/goods'
|
import { managesGoodsIndex, managesGoodsDelete, managesGoodsBurn, managesGoodsMint, managesGoodsCreateBefore } from '@/apis/interfaces/goods'
|
||||||
import goodsList from '@/components/goods-list/goods-list'
|
import goodsList from '@/components/goods-list/goods-list'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -56,7 +59,7 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
status : 1,
|
status : 0,
|
||||||
goods : [],
|
goods : [],
|
||||||
pages : {},
|
pages : {},
|
||||||
itemGoods : {},
|
itemGoods : {},
|
||||||
@@ -71,6 +74,7 @@
|
|||||||
// tabs
|
// tabs
|
||||||
onTabs(value){
|
onTabs(value){
|
||||||
if(value == this.status) return
|
if(value == this.status) return
|
||||||
|
this.goods = []
|
||||||
this.status = value
|
this.status = value
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
@@ -79,23 +83,29 @@
|
|||||||
managesGoodsIndex({
|
managesGoodsIndex({
|
||||||
status: this.status
|
status: this.status
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
|
console.log(res)
|
||||||
this.goods = res.data
|
this.goods = res.data
|
||||||
this.pages = res.page
|
this.pages = res.page
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 下架
|
// 修改产品
|
||||||
goodsOffsale(id){
|
goodsPut(id, text){
|
||||||
let index = this.goods.findIndex(val => val.goods_id == id)
|
uni.showModal({
|
||||||
managesGoodsOffsale(id).then(res => {
|
title : '驳回原因',
|
||||||
this.goods.splice(index,1)
|
content : text,
|
||||||
if(this.goods.length === 0) this.getList()
|
confirmText : '编辑',
|
||||||
}).catch(err => {
|
cancelText : '确定',
|
||||||
uni.showToast({
|
success : res => {
|
||||||
title: err.message,
|
if(res.confirm){
|
||||||
icon: 'none'
|
this.$Router.push({name: 'GoodsMagAdd', params: {type: 'edit', id}})
|
||||||
})
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 商品认证
|
||||||
|
goodsAuth(id){
|
||||||
|
this.$Router.push({name: 'goodsAuth', params: {id, type: 'magList'}})
|
||||||
|
},
|
||||||
// 燃烧,增发
|
// 燃烧,增发
|
||||||
openLay(item, type){
|
openLay(item, type){
|
||||||
this.itemGoods = item
|
this.itemGoods = item
|
||||||
@@ -142,12 +152,16 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 上架
|
// 移出删除商品
|
||||||
goodsOnsale(id){
|
goodsRemove(id){
|
||||||
let index = this.goods.findIndex(val => val.goods_id == id)
|
let index = this.goods.findIndex(val => val.goods_id == id)
|
||||||
managesGoodsOnsale(id).then(res => {
|
managesGoodsDelete(id).then(res => {
|
||||||
this.goods.splice(index,1)
|
this.goods.splice(index,1)
|
||||||
if(this.goods.length === 0) this.getList()
|
if(this.goods.length === 0) this.getList()
|
||||||
|
uni.showToast({
|
||||||
|
title: '商品权证已删除',
|
||||||
|
icon : 'none'
|
||||||
|
})
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err.message,
|
title: err.message,
|
||||||
@@ -157,7 +171,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
onNavigationBarButtonTap() {
|
onNavigationBarButtonTap() {
|
||||||
this.$Router.push({name: 'GoodsMagAdd'})
|
this.$Router.push({name: 'addClassify'})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
BIN
unpackage/dist/dev/app-plus/__uniapperror.png
vendored
Normal file
BIN
unpackage/dist/dev/app-plus/__uniapperror.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
File diff suppressed because one or more lines are too long
31271
unpackage/dist/dev/app-plus/app-service.js
vendored
31271
unpackage/dist/dev/app-plus/app-service.js
vendored
File diff suppressed because one or more lines are too long
22148
unpackage/dist/dev/app-plus/app-view.js
vendored
22148
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"}}
|
||||||
2
unpackage/dist/dev/app-plus/view.css
vendored
2
unpackage/dist/dev/app-plus/view.css
vendored
File diff suppressed because one or more lines are too long
4
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
4
unpackage/dist/dev/app-plus/view.umd.min.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user