Compare commits
25 Commits
master
...
feature-qu
Author | SHA1 | Date | |
---|---|---|---|
![]() |
aba60965c7 | ||
![]() |
e65c24c01a | ||
![]() |
13caeb8cd1 | ||
![]() |
81e45107eb | ||
![]() |
59cb9f1fc0 | ||
![]() |
1af643fcaf | ||
![]() |
51fe5f25b6 | ||
![]() |
47a2821fa0 | ||
![]() |
8e2de605ef | ||
![]() |
a110387869 | ||
![]() |
e9a6377e26 | ||
![]() |
e11005391b | ||
![]() |
e269404174 | ||
![]() |
b5e261a764 | ||
![]() |
8593b1a2dc | ||
![]() |
709cba9b16 | ||
![]() |
9077a7a064 | ||
![]() |
a0ed531272 | ||
![]() |
b69e51fe9f | ||
![]() |
ee738e9f80 | ||
![]() |
07016fbf15 | ||
![]() |
8b1523c122 | ||
![]() |
22725d4d58 | ||
![]() |
ebb8e0a2af | ||
![]() |
aef4b7a279 |
11
App.vue
11
App.vue
@ -85,7 +85,11 @@
|
|||||||
index: 1,
|
index: 1,
|
||||||
visible: false
|
visible: false
|
||||||
})
|
})
|
||||||
// #ifdef H5
|
uni.setTabBarItem({
|
||||||
|
index: 4,
|
||||||
|
visible: false
|
||||||
|
})
|
||||||
|
// #ifdef H5s
|
||||||
uni.setTabBarItem({
|
uni.setTabBarItem({
|
||||||
index: 2,
|
index: 2,
|
||||||
visible: false
|
visible: false
|
||||||
@ -147,7 +151,6 @@
|
|||||||
// this.audioTeam.push(result.extras.type);
|
// this.audioTeam.push(result.extras.type);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("收到消息")
|
console.log("收到消息")
|
||||||
console.log(result)
|
console.log(result)
|
||||||
// 点击事件
|
// 点击事件
|
||||||
@ -157,6 +160,10 @@
|
|||||||
data.route = result.extras.route
|
data.route = result.extras.route
|
||||||
data.type = 2
|
data.type = 2
|
||||||
uniMP.loadAppletMP(data)
|
uniMP.loadAppletMP(data)
|
||||||
|
} else if (result.extras.type == 3) {
|
||||||
|
uni.switchTab({
|
||||||
|
url: result.extras.route
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: result.extras.route
|
url: result.extras.route
|
||||||
|
87
api/supplier.js
Normal file
87
api/supplier.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import request from "@/utils/requestSupplier.js";
|
||||||
|
//报价单列表
|
||||||
|
export const bindCradApi = (data) => {
|
||||||
|
return request.post('user/userbank/add_bank', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
//报价单提交
|
||||||
|
export const bankListApi = (data) => {
|
||||||
|
return request.get('bank/bank/lists', data);
|
||||||
|
}
|
||||||
|
export const amountAccountApi = (data) => {
|
||||||
|
return request.get('user/UserWithdraw/amount_account', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const UserWithdrawApi = (data) => {
|
||||||
|
return request.post('user/UserWithdraw/withdraw', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const UserWithdrawIndexApi = (data) => {
|
||||||
|
return request.get('user/UserWithdraw/index', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const UserWithdrawListsApi = (data) => {
|
||||||
|
return request.get('user/UserWithdraw/lists', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const OpurchaseGoodsOfferListApi = (data) => {
|
||||||
|
return request.get('operation/OpurchaseGoodsOffer/list', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const OpurchaseGoodsOfferApi = (data) => {
|
||||||
|
return request.post('operation/OpurchaseGoodsOffer/offer', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
export const aboutUsApi = (data) => {
|
||||||
|
return request.post('operation/OpurchaseGoodsOffer/offer', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const applysApi = (data) => {
|
||||||
|
return request.post('shop/index/apply', data, {
|
||||||
|
tokenName: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export const merchatTypeApi = (data) => {
|
||||||
|
return request.get('shop/index/merchat_type', data, {
|
||||||
|
tokenName: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getSTokenApi = (data) => {
|
||||||
|
return request.get('shop/index/get_token', data, {
|
||||||
|
tokenName: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getapplyRecordApi = (data) => {
|
||||||
|
return request.get('shop/index/record', data, {
|
||||||
|
tokenName: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export const reSubmitApi = (data) => {
|
||||||
|
return request.get('shop/index/apply_detail', data, {
|
||||||
|
tokenName: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export const UserWithdrawListsdate_listsApi = (data) => {
|
||||||
|
return request.get('operation/OpurchaseGoodsOffer/date_lists', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 余额明细
|
||||||
|
export const UserBlancelistsApi = (data) => {
|
||||||
|
return request.get('financial/FinancialRecord/supplier_list', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发货
|
||||||
|
export const OpurchaseclassExpressApi = (data) => {
|
||||||
|
return request.post('operation/Opurchaseclass/express', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 物流公司列表
|
||||||
|
export const ExpressListApi = (data) => {
|
||||||
|
return request.get('index/express_list', data);
|
||||||
|
}
|
@ -132,8 +132,8 @@ export function phonelogin(data) {
|
|||||||
* 获取用户中心菜单
|
* 获取用户中心菜单
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getMenuList() {
|
export function getMenuList(data) {
|
||||||
return request.get("common/menus", {}, {
|
return request.get("common/menus", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -3,17 +3,7 @@
|
|||||||
<view v-if="newData.status && newData.status.status" style="height: 100rpx;"></view>
|
<view v-if="newData.status && newData.status.status" style="height: 100rpx;"></view>
|
||||||
<view class="foot" v-if="newData.status && newData.status.status">
|
<view class="foot" v-if="newData.status && newData.status.status">
|
||||||
<view class="page-footer" id="target" :style="{'background-color':newData.bgColor.color[0].item}">
|
<view class="page-footer" id="target" :style="{'background-color':newData.bgColor.color[0].item}">
|
||||||
<view class="foot-item" v-for="(item,index) in newData.menuList" :key="index" @click="goRouter(item)">
|
sdafsdfsdfsdfsdfsdf,dsfsdfsdfsdf
|
||||||
<block v-if="item.link == activeRouter">
|
|
||||||
<image :src="item.imgList[0]"></image>
|
|
||||||
<view class="txt" :style="{color:newData.activeTxtColor.color[0].item}">{{item.name}}
|
|
||||||
</view>
|
|
||||||
</block>
|
|
||||||
<block v-else>
|
|
||||||
<image :src="item.imgList[1]"></image>
|
|
||||||
<view class="txt" :style="{color:newData.txtColor.color[0].item}">{{item.name}}</view>
|
|
||||||
</block>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -74,14 +74,9 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class='recommendList' :class="indexP?'on':''">
|
<view class='recommendList' :class="indexP?'on':''">
|
||||||
<view class="loadingicon acea-row row-center-wrapper"
|
|
||||||
v-if="!hostProduct || hostProduct.length == 0 || loading">
|
|
||||||
<text class="loading iconfont icon-jiazai loading-flex"></text>
|
|
||||||
{{ hotTitle }}
|
|
||||||
</view>
|
|
||||||
<WaterfallsFlow v-if="hostProduct.length>0" :wfList='hostProduct' @itemTap="goDetail" :type="0"
|
<WaterfallsFlow v-if="hostProduct.length>0" :wfList='hostProduct' @itemTap="goDetail" :type="0"
|
||||||
:sale_type="sale_type" />
|
:sale_type="sale_type" />
|
||||||
<view class='pictrue' v-if="!loading && hostProduct.length==0">
|
<view class='pictrue' v-if="!loading&&hostProduct.length==0">
|
||||||
<image :src="`${domain}/static/images/noCart.png`"></image>
|
<image :src="`${domain}/static/images/noCart.png`"></image>
|
||||||
<view>暂无商品,看点别的吧</view>
|
<view>暂无商品,看点别的吧</view>
|
||||||
</view>
|
</view>
|
||||||
@ -144,10 +139,6 @@
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
hotTitle: {
|
|
||||||
type: String,
|
|
||||||
default: '加载更多'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -170,14 +161,12 @@
|
|||||||
val: 4
|
val: 4
|
||||||
}],
|
}],
|
||||||
currTabs: 1,
|
currTabs: 1,
|
||||||
list: [],
|
list: []
|
||||||
tabsTop: ''
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getArticleList();
|
this.getArticleList();
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
changeTab(e) {
|
changeTab(e) {
|
||||||
this.currTabs = e;
|
this.currTabs = e;
|
||||||
@ -197,18 +186,6 @@
|
|||||||
limit: 10
|
limit: 10
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.list = res.data.list;
|
this.list = res.data.list;
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$util.getDom(this, '.tabs', res => {
|
|
||||||
// #ifdef APP
|
|
||||||
this.tabsTop = res.top + 10;
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
// #ifdef H5
|
|
||||||
this.tabsTop = res.top;
|
|
||||||
// #endif
|
|
||||||
})
|
|
||||||
}, 300)
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goDetail(item) {
|
goDetail(item) {
|
||||||
@ -311,7 +288,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 0 -20rpx 10rpx;
|
margin: 0 -20rpx 30rpx;
|
||||||
padding-top: 20rpx;
|
padding-top: 20rpx;
|
||||||
|
|
||||||
.tabs-item {
|
.tabs-item {
|
||||||
@ -363,6 +340,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.information {
|
.information {
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: space-between;
|
||||||
|
// margin-bottom: 20rpx;
|
||||||
|
|
||||||
.nav-item {
|
.nav-item {
|
||||||
width: 227rpx;
|
width: 227rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@ -408,11 +389,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loading-flex {
|
|
||||||
width: auto !important;
|
|
||||||
margin-right: 10rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pictrue {
|
.pictrue {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -13,27 +13,32 @@ let VUE_APP_WS_URL = `ws://${location.hostname}?type=user`
|
|||||||
|
|
||||||
let openPlantGrass = '-openPlantGrass-'
|
let openPlantGrass = '-openPlantGrass-'
|
||||||
|
|
||||||
let httpSix, httpApi;
|
let httpSix, httpApi, httpTwo;
|
||||||
|
|
||||||
// const env = 'dev'; // 开发
|
const env = 'dev'; // 开发
|
||||||
// const env = 'prod'; // 生产
|
// const env = 'prod'; // 生产
|
||||||
const env = 'prew'; // 预上线
|
// const env = 'prew'; // 预上线
|
||||||
|
|
||||||
switch (env) {
|
switch (env) {
|
||||||
case 'prod':
|
case 'prod':
|
||||||
httpApi = 'https://shop.lihaink.cn' // 生产
|
httpApi = 'https://shop.lihaink.cn' // 生产
|
||||||
httpSix = 'https://new-worker.lihaink.cn'
|
httpSix = 'https://new-worker.lihaink.cn'
|
||||||
|
httpTwo = 'https://erp.lihaink.cn'
|
||||||
wsApi = 'wss://shop.lihaink.cn'
|
wsApi = 'wss://shop.lihaink.cn'
|
||||||
break;
|
break;
|
||||||
case 'prew':
|
case 'prew':
|
||||||
httpApi = 'https://test.shop.lihaink.cn' //预发布环境
|
httpApi = 'https://test.shop.lihaink.cn' //预发布环境
|
||||||
httpSix = 'https://ceshi-new-wokr.lihaink.cn'
|
httpSix = 'https://ceshi-new-wokr.lihaink.cn'
|
||||||
|
// httpTwo = 'https://erp.lihaink.cn'
|
||||||
|
httpTwo = 'http://192.168.1.22:8546'
|
||||||
wsApi = 'wss://test.shop.lihaink.cn'
|
wsApi = 'wss://test.shop.lihaink.cn'
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
httpApi = "https://crmeb-test.shop.lihaink.cn" // 测试
|
httpApi = "https://crmeb-test.shop.lihaink.cn" // 测试
|
||||||
httpSix = 'https://ceshi-new-wokr.lihaink.cn'
|
httpSix = 'https://ceshi-new-wokr.lihaink.cn'
|
||||||
// wsApi = 'ws://192.168.1.22:8324'
|
// httpTwo = 'http://192.168.1.22:8546'
|
||||||
|
// httpTwo = 'http://192.168.1.13:8546'
|
||||||
|
httpTwo = 'https://erp.lihaink.cn'
|
||||||
wsApi = 'wss://crmeb-test.shop.lihaink.cn'
|
wsApi = 'wss://crmeb-test.shop.lihaink.cn'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,6 +64,7 @@ module.exports = {
|
|||||||
VUE_APP_WS_URL: process.env.NODE_ENV == 'development' ? `${wsApi}?type=user` : VUE_APP_WS_URL,
|
VUE_APP_WS_URL: process.env.NODE_ENV == 'development' ? `${wsApi}?type=user` : VUE_APP_WS_URL,
|
||||||
// #endif
|
// #endif
|
||||||
HTTP_REQUEST_URL_SIX: httpSix,
|
HTTP_REQUEST_URL_SIX: httpSix,
|
||||||
|
HTTP_REQUEST_URL_TWO: httpTwo,
|
||||||
openPlantGrass: openPlantGrass,
|
openPlantGrass: openPlantGrass,
|
||||||
ENV: env,
|
ENV: env,
|
||||||
HEADER: {
|
HEADER: {
|
||||||
|
@ -10,9 +10,10 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
//token
|
//token
|
||||||
LOGIN_STATUS: 'LOGIN_STATUS_TOKEN',
|
LOGIN_STATUS: 'LOGIN_STATUS_TOKEN',
|
||||||
UUID:'UUID',
|
LOGIN_STATUS_S: 'LOGIN_STATUS_STOKEN',
|
||||||
|
UUID: 'UUID',
|
||||||
// uid
|
// uid
|
||||||
UID:'UID',
|
UID: 'UID',
|
||||||
//<2F>û<EFBFBD>
|
//<2F>û<EFBFBD>
|
||||||
USER_INFO: 'USER_INFO',
|
USER_INFO: 'USER_INFO',
|
||||||
//token<65><6E><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
//token<65><6E><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
||||||
|
@ -18,6 +18,7 @@ import auth from './wechat';
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
LOGIN_STATUS,
|
LOGIN_STATUS,
|
||||||
|
LOGIN_STATUS_S,
|
||||||
USER_INFO,
|
USER_INFO,
|
||||||
EXPIRES_TIME,
|
EXPIRES_TIME,
|
||||||
STATE_R_KEY
|
STATE_R_KEY
|
||||||
@ -89,6 +90,7 @@ export function checkLogin() {
|
|||||||
let newTime = Math.round(new Date() / 1000);
|
let newTime = Math.round(new Date() / 1000);
|
||||||
if (expiresTime < newTime || !token) {
|
if (expiresTime < newTime || !token) {
|
||||||
Cache.clear(LOGIN_STATUS);
|
Cache.clear(LOGIN_STATUS);
|
||||||
|
Cache.clear(LOGIN_STATUS_S);
|
||||||
Cache.clear(EXPIRES_TIME);
|
Cache.clear(EXPIRES_TIME);
|
||||||
Cache.clear(USER_INFO);
|
Cache.clear(USER_INFO);
|
||||||
Cache.clear(STATE_R_KEY);
|
Cache.clear(STATE_R_KEY);
|
||||||
|
105
libs/routine.js
105
libs/routine.js
@ -8,22 +8,31 @@
|
|||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import store from '../store';
|
import store from '../store';
|
||||||
import { checkLogin } from './login';
|
import {
|
||||||
import { login } from '../api/public';
|
checkLogin
|
||||||
|
} from './login';
|
||||||
|
import {
|
||||||
|
login
|
||||||
|
} from '../api/public';
|
||||||
import Cache from '../utils/cache';
|
import Cache from '../utils/cache';
|
||||||
import { STATE_R_KEY, USER_INFO, EXPIRES_TIME, LOGIN_STATUS} from './../config/cache';
|
import {
|
||||||
|
STATE_R_KEY,
|
||||||
|
USER_INFO,
|
||||||
|
EXPIRES_TIME,
|
||||||
|
LOGIN_STATUS,
|
||||||
|
LOGIN_STATUS_S
|
||||||
|
} from './../config/cache';
|
||||||
|
|
||||||
class Routine
|
class Routine {
|
||||||
{
|
|
||||||
|
|
||||||
constructor()
|
constructor() {
|
||||||
{
|
|
||||||
this.scopeUserInfo = 'scope.userInfo';
|
this.scopeUserInfo = 'scope.userInfo';
|
||||||
}
|
}
|
||||||
|
|
||||||
async getUserCode(){
|
async getUserCode() {
|
||||||
let isAuth = await this.isAuth(), code = '' ;
|
let isAuth = await this.isAuth(),
|
||||||
if(isAuth)
|
code = '';
|
||||||
|
if (isAuth)
|
||||||
code = await this.getCode();
|
code = await this.getCode();
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
@ -31,16 +40,20 @@ class Routine
|
|||||||
/**
|
/**
|
||||||
* 获取用户信息
|
* 获取用户信息
|
||||||
*/
|
*/
|
||||||
getUserInfo(){
|
getUserInfo() {
|
||||||
let that = this , code = this.getUserCode();
|
let that = this,
|
||||||
return new Promise( (resolve,reject) => {
|
code = this.getUserCode();
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
uni.getUserInfo({
|
uni.getUserInfo({
|
||||||
lang: 'zh_CN',
|
lang: 'zh_CN',
|
||||||
success(user) {
|
success(user) {
|
||||||
if(code) user.code = code;
|
if (code) user.code = code;
|
||||||
resolve({userInfo:user,islogin:false});
|
resolve({
|
||||||
|
userInfo: user,
|
||||||
|
islogin: false
|
||||||
|
});
|
||||||
},
|
},
|
||||||
fail(res){
|
fail(res) {
|
||||||
reject(res);
|
reject(res);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -50,40 +63,41 @@ class Routine
|
|||||||
/**
|
/**
|
||||||
* 获取用户信息
|
* 获取用户信息
|
||||||
*/
|
*/
|
||||||
authorize()
|
authorize() {
|
||||||
{
|
|
||||||
let c2543fff3bfa6f144c2f06a7de6cd10c0b650cae = this;
|
let c2543fff3bfa6f144c2f06a7de6cd10c0b650cae = this;
|
||||||
return new Promise((resolve,reject)=>{
|
return new Promise((resolve, reject) => {
|
||||||
if(checkLogin())
|
if (checkLogin())
|
||||||
return resolve({
|
return resolve({
|
||||||
userInfo:Cache.get(USER_INFO,true),
|
userInfo: Cache.get(USER_INFO, true),
|
||||||
islogin:true,
|
islogin: true,
|
||||||
});
|
});
|
||||||
uni.authorize({
|
uni.authorize({
|
||||||
scope: c2543fff3bfa6f144c2f06a7de6cd10c0b650cae.scopeUserInfo,
|
scope: c2543fff3bfa6f144c2f06a7de6cd10c0b650cae.scopeUserInfo,
|
||||||
success() {
|
success() {
|
||||||
resolve({islogin:false});
|
resolve({
|
||||||
|
islogin: false
|
||||||
|
});
|
||||||
},
|
},
|
||||||
fail(res){
|
fail(res) {
|
||||||
reject(res);
|
reject(res);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async getCode(){
|
async getCode() {
|
||||||
let backUrlCRshlcICwGdGY = await this.getProvider();
|
let backUrlCRshlcICwGdGY = await this.getProvider();
|
||||||
return new Promise((resolve,reject)=>{
|
return new Promise((resolve, reject) => {
|
||||||
if(Cache.has(STATE_R_KEY)){
|
if (Cache.has(STATE_R_KEY)) {
|
||||||
return resolve(Cache.get(STATE_R_KEY));
|
return resolve(Cache.get(STATE_R_KEY));
|
||||||
}
|
}
|
||||||
uni.login({
|
uni.login({
|
||||||
provider:backUrlCRshlcICwGdGY,
|
provider: backUrlCRshlcICwGdGY,
|
||||||
success(res) {
|
success(res) {
|
||||||
if (res.code) Cache.set(STATE_R_KEY, res.code ,10);
|
if (res.code) Cache.set(STATE_R_KEY, res.code, 10);
|
||||||
return resolve(res.code);
|
return resolve(res.code);
|
||||||
},
|
},
|
||||||
fail(){
|
fail() {
|
||||||
return reject(null);
|
return reject(null);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -93,11 +107,10 @@ class Routine
|
|||||||
/**
|
/**
|
||||||
* 获取服务供应商
|
* 获取服务供应商
|
||||||
*/
|
*/
|
||||||
getProvider()
|
getProvider() {
|
||||||
{
|
return new Promise((resolve, reject) => {
|
||||||
return new Promise((resolve,reject)=>{
|
|
||||||
uni.getProvider({
|
uni.getProvider({
|
||||||
service:'oauth',
|
service: 'oauth',
|
||||||
success(res) {
|
success(res) {
|
||||||
resolve(res.provider);
|
resolve(res.provider);
|
||||||
},
|
},
|
||||||
@ -111,9 +124,9 @@ class Routine
|
|||||||
/**
|
/**
|
||||||
* 是否授权
|
* 是否授权
|
||||||
*/
|
*/
|
||||||
isAuth(){
|
isAuth() {
|
||||||
let that = this;
|
let that = this;
|
||||||
return new Promise((resolve,reject)=>{
|
return new Promise((resolve, reject) => {
|
||||||
uni.getSetting({
|
uni.getSetting({
|
||||||
success(res) {
|
success(res) {
|
||||||
if (!res.authSetting[that.scopeUserInfo]) {
|
if (!res.authSetting[that.scopeUserInfo]) {
|
||||||
@ -122,7 +135,7 @@ class Routine
|
|||||||
resolve(true);
|
resolve(true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fail(){
|
fail() {
|
||||||
resolve(false);
|
resolve(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -177,18 +190,20 @@ class Routine
|
|||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
authUserInfo(data)
|
authUserInfo(data) {
|
||||||
{
|
return new Promise((resolve, reject) => {
|
||||||
return new Promise((resolve, reject)=>{
|
login(data).then(res => {
|
||||||
login(data).then(res=>{
|
|
||||||
let time = res.data.expires_time - Cache.time();
|
let time = res.data.expires_time - Cache.time();
|
||||||
store.commit('UPDATE_USERINFO', res.data.user);
|
store.commit('UPDATE_USERINFO', res.data.user);
|
||||||
store.commit('LOGIN', {token:res.data.token, time:time});
|
store.commit('LOGIN', {
|
||||||
|
token: res.data.token,
|
||||||
|
time: time
|
||||||
|
});
|
||||||
store.commit('SETUID', res.data.user.uid);
|
store.commit('SETUID', res.data.user.uid);
|
||||||
Cache.set(EXPIRES_TIME,res.data.expires_time,time);
|
Cache.set(EXPIRES_TIME, res.data.expires_time, time);
|
||||||
Cache.set(USER_INFO,res.data.userInfo,time);
|
Cache.set(USER_INFO, res.data.userInfo, time);
|
||||||
return resolve(res);
|
return resolve(res);
|
||||||
}).catch(res=>{
|
}).catch(res => {
|
||||||
return reject(res);
|
return reject(res);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
508
manifest.json
508
manifest.json
@ -1,52 +1,52 @@
|
|||||||
{
|
{
|
||||||
"name": "惠农生活",
|
"name" : "惠农生活",
|
||||||
"appid": "__UNI__3A527D1",
|
"appid" : "__UNI__3A527D1",
|
||||||
"description": "",
|
"description" : "",
|
||||||
"versionName": "2.0.53",
|
"versionName" : "2.0.58",
|
||||||
"versionCode": 2053,
|
"versionCode" : 2058,
|
||||||
"transformPx": false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus": {
|
"app-plus" : {
|
||||||
"titleNView": true,
|
"titleNView" : true,
|
||||||
"usingComponents": true,
|
"usingComponents" : true,
|
||||||
"nvueCompiler": "uni-app",
|
"nvueCompiler" : "uni-app",
|
||||||
"nvueStyleCompiler": "uni-app",
|
"nvueStyleCompiler" : "uni-app",
|
||||||
"compilerVersion": 3,
|
"compilerVersion" : 3,
|
||||||
"compatible": {
|
"compatible" : {
|
||||||
"ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
|
"ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
|
||||||
},
|
},
|
||||||
"splashscreen": {
|
"splashscreen" : {
|
||||||
"alwaysShowBeforeRender": false,
|
"alwaysShowBeforeRender" : false,
|
||||||
"waiting": false,
|
"waiting" : false,
|
||||||
"autoclose": true,
|
"autoclose" : true,
|
||||||
"delay": 0
|
"delay" : 0
|
||||||
},
|
},
|
||||||
/* 模块配置 */
|
/* 模块配置 */
|
||||||
"modules": {
|
"modules" : {
|
||||||
"VideoPlayer": {},
|
"VideoPlayer" : {},
|
||||||
"OAuth": {},
|
"OAuth" : {},
|
||||||
"Payment": {},
|
"Payment" : {},
|
||||||
"Share": {},
|
"Share" : {},
|
||||||
"iBeacon": {},
|
"iBeacon" : {},
|
||||||
"Maps": {},
|
"Maps" : {},
|
||||||
"Geolocation": {},
|
"Geolocation" : {},
|
||||||
"UniMP": {
|
"UniMP" : {
|
||||||
"description": "uni小程序"
|
"description" : "uni小程序"
|
||||||
},
|
},
|
||||||
"Push": {},
|
"Push" : {},
|
||||||
"Barcode": {},
|
"Barcode" : {},
|
||||||
"Camera": {}
|
"Camera" : {}
|
||||||
},
|
},
|
||||||
"safearea": {
|
"safearea" : {
|
||||||
"bottom": {
|
"bottom" : {
|
||||||
"offset": "none"
|
"offset" : "none"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* 应用发布信息 */
|
/* 应用发布信息 */
|
||||||
"distribute": {
|
"distribute" : {
|
||||||
/* android打包配置 */
|
/* android打包配置 */
|
||||||
"android": {
|
"android" : {
|
||||||
"permissions": [
|
"permissions" : [
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
|
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
|
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",
|
"<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",
|
||||||
@ -68,229 +68,229 @@
|
|||||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
|
||||||
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
|
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
|
||||||
],
|
],
|
||||||
"abiFilters": ["armeabi-v7a", "arm64-v8a", "x86"],
|
"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
|
||||||
"permissionExternalStorage": {
|
"permissionExternalStorage" : {
|
||||||
"request": "none",
|
"request" : "none",
|
||||||
"prompt": "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
|
"prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
|
||||||
},
|
},
|
||||||
"permissionPhoneState": {
|
"permissionPhoneState" : {
|
||||||
"request": "none" //拨打电话权限关闭
|
"request" : "none" //拨打电话权限关闭
|
||||||
},
|
},
|
||||||
"minSdkVersion": 23,
|
"minSdkVersion" : 23,
|
||||||
"targetSdkVersion": 30
|
"targetSdkVersion" : 30
|
||||||
},
|
},
|
||||||
/* ios打包配置 */
|
/* ios打包配置 */
|
||||||
"ios": {
|
"ios" : {
|
||||||
"privacyDescription": {
|
"privacyDescription" : {
|
||||||
"NSPhotoLibraryUsageDescription": "上传用户头像保存分享海报",
|
"NSPhotoLibraryUsageDescription" : "上传用户头像保存分享海报",
|
||||||
"NSPhotoLibraryAddUsageDescription": "上传用户头像保存分享海报",
|
"NSPhotoLibraryAddUsageDescription" : "上传用户头像保存分享海报",
|
||||||
"NSCameraUsageDescription": "上传用户头像保存分享海报",
|
"NSCameraUsageDescription" : "上传用户头像保存分享海报",
|
||||||
"NSLocationWhenInUseUsageDescription": "根据客户地理位置推荐最近门店",
|
"NSLocationWhenInUseUsageDescription" : "根据客户地理位置推荐最近门店",
|
||||||
"NSLocationAlwaysUsageDescription": "根据客户地理位置推荐最近门店"
|
"NSLocationAlwaysUsageDescription" : "根据客户地理位置推荐最近门店"
|
||||||
},
|
},
|
||||||
"idfa": false,
|
"idfa" : false,
|
||||||
"dSYMs": false
|
"dSYMs" : false
|
||||||
},
|
},
|
||||||
/* SDK配置 */
|
/* SDK配置 */
|
||||||
"sdkConfigs": {
|
"sdkConfigs" : {
|
||||||
"maps": {
|
"maps" : {
|
||||||
"amap": {
|
"amap" : {
|
||||||
"appkey_ios": "0a3202688624938fd5d2f37b52c30d5d",
|
"appkey_ios" : "0a3202688624938fd5d2f37b52c30d5d",
|
||||||
"appkey_android": "0354f5ddc11e2ea76c5aac647f44d945",
|
"appkey_android" : "0354f5ddc11e2ea76c5aac647f44d945",
|
||||||
"name": "amapIvoVHpJR"
|
"name" : "amapIvoVHpJR"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"payment": {
|
"payment" : {
|
||||||
"weixin": {
|
"weixin" : {
|
||||||
"__platform__": ["ios", "android"],
|
"__platform__" : [ "ios", "android" ],
|
||||||
"appid": "wx2e8f79ff281284f5",
|
"appid" : "wx2e8f79ff281284f5",
|
||||||
"UniversalLinks": "https://shop.lihaink.cn/"
|
"UniversalLinks" : "https://shop.lihaink.cn/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"share": {
|
"share" : {
|
||||||
"weixin": {
|
"weixin" : {
|
||||||
"appid": "wx2e8f79ff281284f5",
|
"appid" : "wx2e8f79ff281284f5",
|
||||||
"UniversalLinks": "https://shop.lihaink.cn/"
|
"UniversalLinks" : "https://shop.lihaink.cn/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"geolocation": {
|
"geolocation" : {
|
||||||
"amap": {
|
"amap" : {
|
||||||
"name": "amapIvoVHpJR",
|
"name" : "amapIvoVHpJR",
|
||||||
"__platform__": ["ios", "android"],
|
"__platform__" : [ "ios", "android" ],
|
||||||
"appkey_ios": "0a3202688624938fd5d2f37b52c30d5d",
|
"appkey_ios" : "0a3202688624938fd5d2f37b52c30d5d",
|
||||||
"appkey_android": "0354f5ddc11e2ea76c5aac647f44d945"
|
"appkey_android" : "0354f5ddc11e2ea76c5aac647f44d945"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"push": {},
|
"push" : {},
|
||||||
"oauth": {
|
"oauth" : {
|
||||||
"weixin": {
|
"weixin" : {
|
||||||
"appid": "wx2e8f79ff281284f5",
|
"appid" : "wx2e8f79ff281284f5",
|
||||||
"UniversalLinks": "https://shop.lihaink.cn/"
|
"UniversalLinks" : "https://shop.lihaink.cn/"
|
||||||
},
|
},
|
||||||
"univerify": {}
|
"univerify" : {}
|
||||||
},
|
},
|
||||||
"ad": {}
|
"ad" : {}
|
||||||
},
|
},
|
||||||
"icons": {
|
"icons" : {
|
||||||
"android": {
|
"android" : {
|
||||||
"hdpi": "unpackage/res/icons/72x72.png",
|
"hdpi" : "unpackage/res/icons/72x72.png",
|
||||||
"xhdpi": "unpackage/res/icons/96x96.png",
|
"xhdpi" : "unpackage/res/icons/96x96.png",
|
||||||
"xxhdpi": "unpackage/res/icons/144x144.png",
|
"xxhdpi" : "unpackage/res/icons/144x144.png",
|
||||||
"xxxhdpi": "unpackage/res/icons/192x192.png"
|
"xxxhdpi" : "unpackage/res/icons/192x192.png"
|
||||||
},
|
},
|
||||||
"ios": {
|
"ios" : {
|
||||||
"appstore": "unpackage/res/icons/1024x1024.png",
|
"appstore" : "unpackage/res/icons/1024x1024.png",
|
||||||
"ipad": {
|
"ipad" : {
|
||||||
"app": "unpackage/res/icons/76x76.png",
|
"app" : "unpackage/res/icons/76x76.png",
|
||||||
"app@2x": "unpackage/res/icons/152x152.png",
|
"app@2x" : "unpackage/res/icons/152x152.png",
|
||||||
"notification": "unpackage/res/icons/20x20.png",
|
"notification" : "unpackage/res/icons/20x20.png",
|
||||||
"notification@2x": "unpackage/res/icons/40x40.png",
|
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||||
"proapp@2x": "unpackage/res/icons/167x167.png",
|
"proapp@2x" : "unpackage/res/icons/167x167.png",
|
||||||
"settings": "unpackage/res/icons/29x29.png",
|
"settings" : "unpackage/res/icons/29x29.png",
|
||||||
"settings@2x": "unpackage/res/icons/58x58.png",
|
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||||
"spotlight": "unpackage/res/icons/40x40.png",
|
"spotlight" : "unpackage/res/icons/40x40.png",
|
||||||
"spotlight@2x": "unpackage/res/icons/80x80.png"
|
"spotlight@2x" : "unpackage/res/icons/80x80.png"
|
||||||
},
|
},
|
||||||
"iphone": {
|
"iphone" : {
|
||||||
"app@2x": "unpackage/res/icons/120x120.png",
|
"app@2x" : "unpackage/res/icons/120x120.png",
|
||||||
"app@3x": "unpackage/res/icons/180x180.png",
|
"app@3x" : "unpackage/res/icons/180x180.png",
|
||||||
"notification@2x": "unpackage/res/icons/40x40.png",
|
"notification@2x" : "unpackage/res/icons/40x40.png",
|
||||||
"notification@3x": "unpackage/res/icons/60x60.png",
|
"notification@3x" : "unpackage/res/icons/60x60.png",
|
||||||
"settings@2x": "unpackage/res/icons/58x58.png",
|
"settings@2x" : "unpackage/res/icons/58x58.png",
|
||||||
"settings@3x": "unpackage/res/icons/87x87.png",
|
"settings@3x" : "unpackage/res/icons/87x87.png",
|
||||||
"spotlight@2x": "unpackage/res/icons/80x80.png",
|
"spotlight@2x" : "unpackage/res/icons/80x80.png",
|
||||||
"spotlight@3x": "unpackage/res/icons/120x120.png"
|
"spotlight@3x" : "unpackage/res/icons/120x120.png"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"splashscreen": {
|
"splashscreen" : {
|
||||||
"useOriginalMsgbox": true,
|
"useOriginalMsgbox" : true,
|
||||||
"androidStyle": "common"
|
"androidStyle" : "common"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nativePlugins": {
|
"nativePlugins" : {
|
||||||
"JG-JCore": {
|
"JG-JCore" : {
|
||||||
"JPUSH_APPKEY_IOS": "8a5efd65cda14fafa6e64ad3",
|
"JPUSH_APPKEY_IOS" : "8a5efd65cda14fafa6e64ad3",
|
||||||
"JPUSH_CHANNEL_IOS": "8a5efd65cda14fafa6e64ad3",
|
"JPUSH_CHANNEL_IOS" : "8a5efd65cda14fafa6e64ad3",
|
||||||
"JPUSH_APPKEY_ANDROID": "b5f679f4357018605ea6fd2e",
|
"JPUSH_APPKEY_ANDROID" : "b5f679f4357018605ea6fd2e",
|
||||||
"JPUSH_CHANNEL_ANDROID": "",
|
"JPUSH_CHANNEL_ANDROID" : "",
|
||||||
"__plugin_info__": {
|
"__plugin_info__" : {
|
||||||
"name": "JG-JCore",
|
"name" : "JG-JCore",
|
||||||
"description": "极光推送JCore插件",
|
"description" : "极光推送JCore插件",
|
||||||
"platforms": "Android,iOS",
|
"platforms" : "Android,iOS",
|
||||||
"url": "",
|
"url" : "",
|
||||||
"android_package_name": "uni.UNI3A527D1",
|
"android_package_name" : "uni.UNI3A527D1",
|
||||||
"ios_bundle_id": "",
|
"ios_bundle_id" : "",
|
||||||
"isCloud": false,
|
"isCloud" : false,
|
||||||
"bought": -1,
|
"bought" : -1,
|
||||||
"pid": "",
|
"pid" : "",
|
||||||
"parameters": {
|
"parameters" : {
|
||||||
"JPUSH_APPKEY_IOS": {
|
"JPUSH_APPKEY_IOS" : {
|
||||||
"des": "[iOS]极光portal配置应用信息时分配的AppKey",
|
"des" : "[iOS]极光portal配置应用信息时分配的AppKey",
|
||||||
"key": "JCore:APP_KEY",
|
"key" : "JCore:APP_KEY",
|
||||||
"value": "daebe19b547c43128796a078"
|
"value" : "daebe19b547c43128796a078"
|
||||||
},
|
},
|
||||||
"JPUSH_CHANNEL_IOS": {
|
"JPUSH_CHANNEL_IOS" : {
|
||||||
"des": "[iOS]用于统计分发渠道,不需要可填默认值developer-default",
|
"des" : "[iOS]用于统计分发渠道,不需要可填默认值developer-default",
|
||||||
"key": "JCore:CHANNEL",
|
"key" : "JCore:CHANNEL",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_APPKEY_ANDROID": {
|
"JPUSH_APPKEY_ANDROID" : {
|
||||||
"des": "[Android]极光portal配置应用信息时分配的AppKey",
|
"des" : "[Android]极光portal配置应用信息时分配的AppKey",
|
||||||
"key": "JPUSH_APPKEY",
|
"key" : "JPUSH_APPKEY",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_CHANNEL_ANDROID": {
|
"JPUSH_CHANNEL_ANDROID" : {
|
||||||
"des": "[Android]用于统计分发渠道,不需要可填默认值developer-default",
|
"des" : "[Android]用于统计分发渠道,不需要可填默认值developer-default",
|
||||||
"key": "JPUSH_CHANNEL",
|
"key" : "JPUSH_CHANNEL",
|
||||||
"value": ""
|
"value" : ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"JG-JPush": {
|
"JG-JPush" : {
|
||||||
"JPUSH_ISPRODUCTION_IOS": "true",
|
"JPUSH_ISPRODUCTION_IOS" : "true",
|
||||||
"JPUSH_ADVERTISINGID_IOS": "",
|
"JPUSH_ADVERTISINGID_IOS" : "",
|
||||||
"JPUSH_DEFAULTINITJPUSH_IOS": "true",
|
"JPUSH_DEFAULTINITJPUSH_IOS" : "true",
|
||||||
"JPUSH_OPPO_APPKEY": "",
|
"JPUSH_OPPO_APPKEY" : "",
|
||||||
"JPUSH_OPPO_APPID": "",
|
"JPUSH_OPPO_APPID" : "",
|
||||||
"JPUSH_OPPO_APPSECRET": "",
|
"JPUSH_OPPO_APPSECRET" : "",
|
||||||
"JPUSH_VIVO_APPKEY": "",
|
"JPUSH_VIVO_APPKEY" : "",
|
||||||
"JPUSH_VIVO_APPID": "",
|
"JPUSH_VIVO_APPID" : "",
|
||||||
"JPUSH_MEIZU_APPKEY": "",
|
"JPUSH_MEIZU_APPKEY" : "",
|
||||||
"JPUSH_MEIZU_APPID": "",
|
"JPUSH_MEIZU_APPID" : "",
|
||||||
"JPUSH_XIAOMI_APPKEY": "",
|
"JPUSH_XIAOMI_APPKEY" : "",
|
||||||
"JPUSH_XIAOMI_APPID": "",
|
"JPUSH_XIAOMI_APPID" : "",
|
||||||
"__plugin_info__": {
|
"__plugin_info__" : {
|
||||||
"name": "JG-JPush",
|
"name" : "JG-JPush",
|
||||||
"description": "极光推送Hbuilder插件",
|
"description" : "极光推送Hbuilder插件",
|
||||||
"platforms": "Android,iOS",
|
"platforms" : "Android,iOS",
|
||||||
"url": "",
|
"url" : "",
|
||||||
"android_package_name": "uni.UNI3A527D1",
|
"android_package_name" : "uni.UNI3A527D1",
|
||||||
"ios_bundle_id": "",
|
"ios_bundle_id" : "",
|
||||||
"isCloud": false,
|
"isCloud" : false,
|
||||||
"bought": -1,
|
"bought" : -1,
|
||||||
"pid": "",
|
"pid" : "",
|
||||||
"parameters": {
|
"parameters" : {
|
||||||
"JPUSH_ISPRODUCTION_IOS": {
|
"JPUSH_ISPRODUCTION_IOS" : {
|
||||||
"des": "[iOS]是否是生产环境,是填true,不是填false或者不填",
|
"des" : "[iOS]是否是生产环境,是填true,不是填false或者不填",
|
||||||
"key": "JPush:ISPRODUCTION",
|
"key" : "JPush:ISPRODUCTION",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_ADVERTISINGID_IOS": {
|
"JPUSH_ADVERTISINGID_IOS" : {
|
||||||
"des": "[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填",
|
"des" : "[iOS]广告标识符(IDFA)如果不需要使用IDFA,可不填",
|
||||||
"key": "JPush:ADVERTISINGID",
|
"key" : "JPush:ADVERTISINGID",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_DEFAULTINITJPUSH_IOS": {
|
"JPUSH_DEFAULTINITJPUSH_IOS" : {
|
||||||
"des": "[iOS]是否默认初始化,是填true,不是填false或者不填",
|
"des" : "[iOS]是否默认初始化,是填true,不是填false或者不填",
|
||||||
"key": "JPush:DEFAULTINITJPUSH",
|
"key" : "JPush:DEFAULTINITJPUSH",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_OPPO_APPKEY": {
|
"JPUSH_OPPO_APPKEY" : {
|
||||||
"des": "厂商OPPO-appkey,示例:OP-12345678",
|
"des" : "厂商OPPO-appkey,示例:OP-12345678",
|
||||||
"key": "OPPO_APPKEY",
|
"key" : "OPPO_APPKEY",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_OPPO_APPID": {
|
"JPUSH_OPPO_APPID" : {
|
||||||
"des": "厂商OPPO-appId,示例:OP-12345678",
|
"des" : "厂商OPPO-appId,示例:OP-12345678",
|
||||||
"key": "OPPO_APPID",
|
"key" : "OPPO_APPID",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_OPPO_APPSECRET": {
|
"JPUSH_OPPO_APPSECRET" : {
|
||||||
"des": "厂商OPPO-appSecret,示例:OP-12345678",
|
"des" : "厂商OPPO-appSecret,示例:OP-12345678",
|
||||||
"key": "OPPO_APPSECRET",
|
"key" : "OPPO_APPSECRET",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_VIVO_APPKEY": {
|
"JPUSH_VIVO_APPKEY" : {
|
||||||
"des": "厂商VIVO-appkey,示例:12345678",
|
"des" : "厂商VIVO-appkey,示例:12345678",
|
||||||
"key": "com.vivo.push.api_key",
|
"key" : "com.vivo.push.api_key",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_VIVO_APPID": {
|
"JPUSH_VIVO_APPID" : {
|
||||||
"des": "厂商VIVO-appId,示例:12345678",
|
"des" : "厂商VIVO-appId,示例:12345678",
|
||||||
"key": "com.vivo.push.app_id",
|
"key" : "com.vivo.push.app_id",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_MEIZU_APPKEY": {
|
"JPUSH_MEIZU_APPKEY" : {
|
||||||
"des": "厂商MEIZU-appKey,示例:MZ-12345678",
|
"des" : "厂商MEIZU-appKey,示例:MZ-12345678",
|
||||||
"key": "MEIZU_APPKEY",
|
"key" : "MEIZU_APPKEY",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_MEIZU_APPID": {
|
"JPUSH_MEIZU_APPID" : {
|
||||||
"des": "厂商MEIZU-appId,示例:MZ-12345678",
|
"des" : "厂商MEIZU-appId,示例:MZ-12345678",
|
||||||
"key": "MEIZU_APPID",
|
"key" : "MEIZU_APPID",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_XIAOMI_APPKEY": {
|
"JPUSH_XIAOMI_APPKEY" : {
|
||||||
"des": "厂商XIAOMI-appKey,示例:MI-12345678",
|
"des" : "厂商XIAOMI-appKey,示例:MI-12345678",
|
||||||
"key": "XIAOMI_APPKEY",
|
"key" : "XIAOMI_APPKEY",
|
||||||
"value": ""
|
"value" : ""
|
||||||
},
|
},
|
||||||
"JPUSH_XIAOMI_APPID": {
|
"JPUSH_XIAOMI_APPID" : {
|
||||||
"des": "厂商XIAOMI-appId,示例:MI-12345678",
|
"des" : "厂商XIAOMI-appId,示例:MI-12345678",
|
||||||
"key": "XIAOMI_APPID",
|
"key" : "XIAOMI_APPID",
|
||||||
"value": ""
|
"value" : ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -298,55 +298,55 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* 快应用特有相关 */
|
/* 快应用特有相关 */
|
||||||
"quickapp": {},
|
"quickapp" : {},
|
||||||
/* 小程序特有相关 */
|
/* 小程序特有相关 */
|
||||||
"mp-weixin": {
|
"mp-weixin" : {
|
||||||
"appid": "wx5fb1cc8edb3f8baa",
|
"appid" : "wx5fb1cc8edb3f8baa",
|
||||||
"setting": {
|
"setting" : {
|
||||||
"urlCheck": false,
|
"urlCheck" : false,
|
||||||
"minified": true,
|
"minified" : true,
|
||||||
"postcss": true,
|
"postcss" : true,
|
||||||
"es6": true
|
"es6" : true
|
||||||
},
|
},
|
||||||
"permission": {
|
"permission" : {
|
||||||
"scope.userLocation": {
|
"scope.userLocation" : {
|
||||||
"desc": "获取您的位置"
|
"desc" : "获取您的位置"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"requiredPrivateInfos": ["getLocation", "chooseAddress"],
|
"requiredPrivateInfos" : [ "getLocation", "chooseAddress" ],
|
||||||
"usingComponents": true,
|
"usingComponents" : true,
|
||||||
"__usePrivacyCheck__": true
|
"__usePrivacyCheck__" : true
|
||||||
},
|
},
|
||||||
"mp-alipay": {
|
"mp-alipay" : {
|
||||||
"usingComponents": true
|
"usingComponents" : true
|
||||||
},
|
},
|
||||||
"mp-baidu": {
|
"mp-baidu" : {
|
||||||
"usingComponents": true
|
"usingComponents" : true
|
||||||
},
|
},
|
||||||
"mp-toutiao": {
|
"mp-toutiao" : {
|
||||||
"usingComponents": true
|
"usingComponents" : true
|
||||||
},
|
},
|
||||||
"h5": {
|
"h5" : {
|
||||||
"devServer": {
|
"devServer" : {
|
||||||
"https": false
|
"https" : false
|
||||||
},
|
},
|
||||||
"router": {
|
"router" : {
|
||||||
"mode": "history",
|
"mode" : "history",
|
||||||
"base": ""
|
"base" : ""
|
||||||
},
|
},
|
||||||
"domain": "",
|
"domain" : "",
|
||||||
"sdkConfigs": {
|
"sdkConfigs" : {
|
||||||
"maps": {
|
"maps" : {
|
||||||
"qqmap": {
|
"qqmap" : {
|
||||||
"key": "SMJBZ-WCHK4-ZPZUA-DSIXI-XDDVQ-XWFX7"
|
"key" : "SMJBZ-WCHK4-ZPZUA-DSIXI-XDDVQ-XWFX7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"title": "加载中...",
|
"title" : "加载中...",
|
||||||
"template": "template.h5.html",
|
"template" : "template.h5.html",
|
||||||
"optimization": {
|
"optimization" : {
|
||||||
"treeShaking": {
|
"treeShaking" : {
|
||||||
"enable": true
|
"enable" : true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
124
pages.json
124
pages.json
@ -43,6 +43,30 @@
|
|||||||
"height": "1000px",
|
"height": "1000px",
|
||||||
"background": "rgba(0,0,0,0.2)"
|
"background": "rgba(0,0,0,0.2)"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "supplier", // 唯一标识
|
||||||
|
"path": "pages/index/subnvue/supplier", // 页面路径
|
||||||
|
"type": "popup",
|
||||||
|
"style": {
|
||||||
|
"position": "absolute",
|
||||||
|
"dock": "right",
|
||||||
|
"width": "750rpx",
|
||||||
|
"height": "1000px",
|
||||||
|
"background": "rgba(0,0,0,0.2)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "distr", // 唯一标识
|
||||||
|
"path": "pages/index/subnvue/distr", // 页面路径
|
||||||
|
"type": "popup",
|
||||||
|
"style": {
|
||||||
|
"position": "absolute",
|
||||||
|
"dock": "right",
|
||||||
|
"width": "750rpx",
|
||||||
|
"height": "1000px",
|
||||||
|
"background": "rgba(0,0,0,0.2)"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
@ -55,7 +79,65 @@
|
|||||||
"navigationBarTitleText": "批发",
|
"navigationBarTitleText": "批发",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
}, {
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "pages/quote/list",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": true,
|
||||||
|
"navigationBarTitleText": "报价订单"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/quote/index",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTitleText": "报价订单"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/quote/supplierFinancialy",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTitleText": "提现"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/quote/financialyDeatil",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTitleText": "提现明细"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/quote/balanceDetail",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTitleText": "余额明细"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/quote/bindAccout",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": false,
|
||||||
|
"navigationBarTitleText": "账户绑定"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/bindSupplier/index",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": true,
|
||||||
|
"navigationBarTitleText": "供应商入驻"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/bindDistribution/index",
|
||||||
|
"style": {
|
||||||
|
"enablePullDownRefresh": true,
|
||||||
|
"navigationBarTitleText": "经销商入驻"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
"path": "pages/gather/gather",
|
"path": "pages/gather/gather",
|
||||||
"style": {
|
"style": {
|
||||||
"enablePullDownRefresh": true,
|
"enablePullDownRefresh": true,
|
||||||
@ -109,7 +191,32 @@
|
|||||||
"height": "1500rpx",
|
"height": "1500rpx",
|
||||||
"background": "rgba(0,0,0,0.2)"
|
"background": "rgba(0,0,0,0.2)"
|
||||||
}
|
}
|
||||||
}]
|
},
|
||||||
|
{
|
||||||
|
"id": "userNewSupplier", // 唯一标识
|
||||||
|
"path": "pages/user/subnvue/userNewSupplier", // 页面路径
|
||||||
|
"type": "popup",
|
||||||
|
"style": {
|
||||||
|
"position": "absolute",
|
||||||
|
"dock": "right",
|
||||||
|
"width": "750rpx",
|
||||||
|
"height": "1500rpx",
|
||||||
|
"background": "rgba(0,0,0,0.2)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "userDistr", // 唯一标识
|
||||||
|
"path": "pages/user/subnvue/userDistr", // 页面路径
|
||||||
|
"type": "popup",
|
||||||
|
"style": {
|
||||||
|
"position": "absolute",
|
||||||
|
"dock": "right",
|
||||||
|
"width": "750rpx",
|
||||||
|
"height": "1500rpx",
|
||||||
|
"background": "rgba(0,0,0,0.2)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1612,12 +1719,6 @@
|
|||||||
"selectedIconPath": "static/tabbar_icon/b-a.png",
|
"selectedIconPath": "static/tabbar_icon/b-a.png",
|
||||||
"text": "批发"
|
"text": "批发"
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// "pagePath": "pages/plant_grass/index",
|
|
||||||
// "iconPath": "static/tabbar_icon/b.png",
|
|
||||||
// "selectedIconPath": "static/tabbar_icon/b-a.png",
|
|
||||||
// "text": "逛逛"
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
"pagePath": "pages/gather/gather",
|
"pagePath": "pages/gather/gather",
|
||||||
"iconPath": "static/tabbar_icon/c.png",
|
"iconPath": "static/tabbar_icon/c.png",
|
||||||
@ -1630,6 +1731,13 @@
|
|||||||
"selectedIconPath": "static/tabbar_icon/d-a.png",
|
"selectedIconPath": "static/tabbar_icon/d-a.png",
|
||||||
"text": "购物车"
|
"text": "购物车"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/quote/list",
|
||||||
|
"iconPath": "static/tabbar_icon/bjd.png",
|
||||||
|
"selectedIconPath": "static/tabbar_icon/bjdact.png",
|
||||||
|
"text": "报价"
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"pagePath": "pages/user/index",
|
"pagePath": "pages/user/index",
|
||||||
"iconPath": "static/tabbar_icon/e.png",
|
"iconPath": "static/tabbar_icon/e.png",
|
||||||
|
1277
pages/bindDistribution/index.vue
Normal file
1277
pages/bindDistribution/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
1277
pages/bindSupplier/index.vue
Normal file
1277
pages/bindSupplier/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
228
pages/bindSupplier/record.vue
Normal file
228
pages/bindSupplier/record.vue
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
<template>
|
||||||
|
<view style="padding: 42rpx 50rpx;">
|
||||||
|
|
||||||
|
<view class="card" v-for="item in listData" :key="item.mer_intention_id">
|
||||||
|
<view class="" style="display: flex;align-items: center;">
|
||||||
|
<view class="ciecle"
|
||||||
|
style="width: 24rpx;height: 24rpx;border-radius: 24rpx;border: 1px solid #DDDDDD;margin-right: 30rpx;">
|
||||||
|
</view>
|
||||||
|
<view class="" style="color: #777777;font-size: 24rpx;">
|
||||||
|
{{item.create_time}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class=""
|
||||||
|
style="padding:40rpx;margin: 30rpx 0; width: 606rpx;margin-left: 30rpx;border-radius: 16rpx;box-shadow: 0rpx 6rpx 12rpx 2rpx rgba(0,0,0,0.16);">
|
||||||
|
<view class="" v-if="item.status==0" style="color: #20B128;font-size: 32rpx;">
|
||||||
|
待审核
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="" v-if="item.status==1" style="color: #20B128;font-size: 32rpx;">
|
||||||
|
审核通过
|
||||||
|
</view>
|
||||||
|
<view class="" v-if="item.status==2"
|
||||||
|
style="color: #FC452F;font-size: 32rpx;display: flex;justify-content: space-between;">
|
||||||
|
审核失败
|
||||||
|
<view style="color: #20B128;" @click="navgo">
|
||||||
|
重新申请
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<u-line style="margin: 28rpx 0;"></u-line>
|
||||||
|
<view class="" style="margin-bottom: 20rpx;">
|
||||||
|
{{item.mer_name}}
|
||||||
|
</view>
|
||||||
|
<view class="" v-if="item.status==1" style="font-size: 24rpx; color: #777777;">
|
||||||
|
可以登录我们的工作台,把您的商品推向市场了
|
||||||
|
</view>
|
||||||
|
<view class="" v-if='item.status==2' style="font-size: 24rpx; color: #777777;">
|
||||||
|
备注:{{item.fail_msg}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<u-button v-if="showBtn" @click="openApplet" color="#3ABD40" shape="circle" text="立即发布产品"></u-button>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="application-record" v-if="listData.length">
|
||||||
|
<!-- <view class="card-list" v-for="item in listData" :key="item.mer_intention_id">
|
||||||
|
<view class="card-top">
|
||||||
|
<view class="title">{{item.mer_name}}</view>
|
||||||
|
<view class="time">提交时间:{{item.create_time}}</view>
|
||||||
|
<view v-if="item.fail_msg" class="reason">原因:{{item.fail_msg}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="line"></view>
|
||||||
|
<view class="card-bottom">
|
||||||
|
<view class="card-status">
|
||||||
|
<image class="status-icon" v-if="item.status === 0" src="../static/images/pending.png" mode=""></image>
|
||||||
|
<image class="status-icon" v-else-if="item.status === 1" src="../static/images/passed.png" mode=""></image>
|
||||||
|
<image class="status-icon" v-else-if="item.status === 2" src="../static/images/not-pass.png" mode=""></image>
|
||||||
|
<text class="status-text">{{statusText(item.status)}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="status-btn" @click="jump(item)">{{statusBtn(item.status)}}</view>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
<view class='no-shop' v-if="!listData.length && !loading">
|
||||||
|
<view class='pictrue' style="margin: 0 auto;">
|
||||||
|
<image :src="`${domain}/static/images/noCart.png`"></image>
|
||||||
|
<text>暂无申请记录,快去申请入驻吧!</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import {
|
||||||
|
getApplicationRecordList,
|
||||||
|
getUnimpInfo
|
||||||
|
} from '@/api/store.js'
|
||||||
|
|
||||||
|
import {
|
||||||
|
getapplyRecordApi
|
||||||
|
} from "@/api/supplier"
|
||||||
|
|
||||||
|
import {
|
||||||
|
HTTP_REQUEST_URL
|
||||||
|
} from '@/config/app';
|
||||||
|
|
||||||
|
import uniMP from '@/utils/uniMP.js';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
domain: HTTP_REQUEST_URL,
|
||||||
|
loading: false,
|
||||||
|
showBtn: false,
|
||||||
|
listData: [],
|
||||||
|
uniMpInfo: {},
|
||||||
|
pageData: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.getListData()
|
||||||
|
},
|
||||||
|
// 滚动到底部
|
||||||
|
onReachBottom() {
|
||||||
|
if (this.count == this.listData.length) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '没有更多啦',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.pageData.page += 1
|
||||||
|
this.getListData()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
openApplet() {
|
||||||
|
this.uniMpInfo.showToast = true
|
||||||
|
uniMP.loadAppletMP(this.uniMpInfo)
|
||||||
|
},
|
||||||
|
getListData() {
|
||||||
|
this.loading = true
|
||||||
|
uni.showLoading({
|
||||||
|
title: '数据加载中',
|
||||||
|
});
|
||||||
|
getapplyRecordApi().then(res => {
|
||||||
|
console.log(res)
|
||||||
|
uni.hideLoading();
|
||||||
|
this.count = res.data.count
|
||||||
|
this.listData = this.listData.concat(res.data.list)
|
||||||
|
})
|
||||||
|
return
|
||||||
|
getApplicationRecordList(this.pageData).then(res => {
|
||||||
|
this.count = res.data.count
|
||||||
|
this.listData = this.listData.concat(res.data.list)
|
||||||
|
this.showBtn = (this.listData[this.listData.length - 1].status == 1)
|
||||||
|
// if (this.showBtn) {
|
||||||
|
// getUnimpInfo().then(res => {
|
||||||
|
// this.uniMpInfo = res.data
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
uni.hideLoading();
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
navgo() {
|
||||||
|
// uni.navigateBack()
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/store/settled/index?type=1'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 跳转逻辑
|
||||||
|
jump(item) {
|
||||||
|
console.log(item)
|
||||||
|
if ([0, 2].includes(item.status)) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/store/settled/index?mer_i_id=${item.mer_intention_id}`
|
||||||
|
})
|
||||||
|
} else if (item.status === 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/store/merchantDetails/index?mer_i_id=${item.mer_intention_id}&mer_id=${item.mer_id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//状态判断
|
||||||
|
statusText(number) {
|
||||||
|
// 使用对象
|
||||||
|
let statusData = {
|
||||||
|
0: "待审核",
|
||||||
|
1: "审核通过",
|
||||||
|
2: "审核未通过",
|
||||||
|
};
|
||||||
|
return statusData[number]
|
||||||
|
},
|
||||||
|
// button显示文字
|
||||||
|
statusBtn(number) {
|
||||||
|
// 使用对象
|
||||||
|
let statusData = {
|
||||||
|
0: "编辑",
|
||||||
|
1: "查看",
|
||||||
|
2: "重新提交",
|
||||||
|
};
|
||||||
|
return statusData[number]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.application-record {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #F5F5F5;
|
||||||
|
padding: 20rpx 30rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-shop {
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
height: 100vh;
|
||||||
|
|
||||||
|
.pictrue {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
color: $uni-nothing-text;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 414rpx;
|
||||||
|
height: 380rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -312,7 +312,7 @@
|
|||||||
<view>
|
<view>
|
||||||
<!-- 流水瀑布 -->
|
<!-- 流水瀑布 -->
|
||||||
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
|
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
|
||||||
<loadmore :type="isLoading" style="padding: 12rpx 0;"></loadmore>
|
<loadmore :type="isLoading" style="background-color: #fff;padding: 12rpx 0;"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<loadmore :type="isLoading" style="padding: 12rpx 0;"></loadmore>
|
<loadmore :type="isLoading" style="background-color: #fff;padding: 12rpx 0;"></loadmore>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@
|
|||||||
<view>
|
<view>
|
||||||
<!-- 流水瀑布 -->
|
<!-- 流水瀑布 -->
|
||||||
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
|
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
|
||||||
<loadmore :type="isLoading" style="padding: 12rpx 0;"></loadmore>
|
<loadmore :type="isLoading" style="background-color: #fff;padding: 12rpx 0;"></loadmore>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -227,6 +227,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import {
|
||||||
|
getSTokenApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
import {
|
import {
|
||||||
mapState,
|
mapState,
|
||||||
mapGetters
|
mapGetters
|
||||||
@ -252,6 +255,9 @@
|
|||||||
isNewMer
|
isNewMer
|
||||||
} from '@/api/user.js';
|
} from '@/api/user.js';
|
||||||
// #endif
|
// #endif
|
||||||
|
import {
|
||||||
|
showTab
|
||||||
|
} from "@/utils/showTab.js"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -298,12 +304,13 @@
|
|||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
// #ifdef APP
|
||||||
this.subNVue = uni.getSubNVueById('concat')
|
this.subNVue = uni.getSubNVueById('concat')
|
||||||
let that = this
|
let that = this
|
||||||
uni.$on('diverGatherSubEmit', function(data) {
|
uni.$on('diverGatherSubEmit', function(data) {
|
||||||
that.clickMenu(that.nowMenuList[0])
|
that.clickMenu(that.nowMenuList[0])
|
||||||
})
|
})
|
||||||
|
// #endif
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
let that = this
|
let that = this
|
||||||
@ -328,7 +335,7 @@
|
|||||||
menu = [];
|
menu = [];
|
||||||
}
|
}
|
||||||
this.nowMenuList = menu;
|
this.nowMenuList = menu;
|
||||||
|
this.isSupplierFn()
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
if (Boolean(this.userInfo.service?.mer_id)) {
|
if (Boolean(this.userInfo.service?.mer_id)) {
|
||||||
isNewMer(this.userInfo.uid, this.userInfo.service?.mer_id).then(
|
isNewMer(this.userInfo.uid, this.userInfo.service?.mer_id).then(
|
||||||
@ -386,6 +393,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/*供应商tabbar,token,引导页相关*/
|
||||||
|
isSupplierFn() {
|
||||||
|
if (!this.isLogin || uni.getStorageSync('LOGIN_STATUS_STOKEN')) return;
|
||||||
|
getSTokenApi().then(res => {
|
||||||
|
if (res.data?.token) {
|
||||||
|
uni.setStorageSync('LOGIN_STATUS_STOKEN', (res.data?.token || ''))
|
||||||
|
this.$store.commit('SET_STOKEN', res.data?.token);
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.log("获取报错", err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
openDiver() {
|
openDiver() {
|
||||||
this.subNVue.show('zoom-out', 300)
|
this.subNVue.show('zoom-out', 300)
|
||||||
uni.$emit('diverGatherEmit', this.elInfo);
|
uni.$emit('diverGatherEmit', this.elInfo);
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<image src="/static/images/greenLineDown.png" style="width:35px;height: 60px;" mode=""></image>
|
<image src="/static/images/greenLineDown.png" style="width:35px;height: 60px;" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="tips-box" :style="{ left:left+'px',top:(top+80)+'px'}">
|
<view class="tips-box" :style="{ left:left+'px',top:(top+80)+'px'}">
|
||||||
<view class="tips" style="position: absolute;padding-left: 10rpx;">
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
<view class="tras" :class="{act:isActive}">
|
<view class="tras" :class="{act:isActive}">
|
||||||
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击供销助农平台进入商户平台</text>
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击供销助农平台进入商户平台</text>
|
||||||
</view>
|
</view>
|
||||||
@ -151,7 +151,7 @@
|
|||||||
|
|
||||||
|
|
||||||
.tras {
|
.tras {
|
||||||
padding-left: 10rpx;
|
padding-left: 20rpx;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 999 !important;
|
z-index: 999 !important;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
|
@ -18,13 +18,28 @@
|
|||||||
我是农民用户
|
我是农民用户
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="li" style="margin-top: 50rpx;" @click="navSw('/pages/index/index',true)">
|
<view class="li" style="margin-top: 50rpx;" @click="navSw('/pages/index/index',1)">
|
||||||
<u-image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/static/merchant.webp" width="690rpx"
|
<u-image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/2a6b2202405241614559247.webp" width="690rpx"
|
||||||
height="200rpx" style="position: absolute;"></u-image>
|
height="200rpx" style="position: absolute;"></u-image>
|
||||||
<view class="btn">
|
<view class="btn">
|
||||||
我是商户
|
我是商户
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="li" style="margin-top: 50rpx;" @click="navSw('/pages/index/index',2)">
|
||||||
|
<u-image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/17eb3202405241615175799.webp" width="690rpx"
|
||||||
|
height="200rpx" style="position: absolute;"></u-image>
|
||||||
|
<view class="btn">
|
||||||
|
我是供应商
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="margin-top: 50rpx;" @click="navSw('/pages/index/index',3)">
|
||||||
|
<u-image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/df628202405241615337825.webp" width="690rpx"
|
||||||
|
height="200rpx" style="position: absolute;"></u-image>
|
||||||
|
<view class="btn">
|
||||||
|
我是经销商
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="height: 50rpx;"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -44,9 +59,11 @@
|
|||||||
url
|
url
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
navSw(url, isNewStore) {
|
navSw(url, isNewStoreType) {
|
||||||
uni.setStorageSync('newStore', Boolean(isNewStore))
|
if (isNewStoreType == 1) uni.setStorageSync('newStore', true);
|
||||||
// return
|
if (isNewStoreType == 2) uni.setStorageSync('newSupplier', true);
|
||||||
|
if (isNewStoreType == 3) uni.setStorageSync('newDistribution', true);
|
||||||
|
uni.setStorageSync('userType', isNewStoreType)
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: url
|
url: url
|
||||||
})
|
})
|
||||||
@ -64,7 +81,7 @@
|
|||||||
|
|
||||||
.box {
|
.box {
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
height: 100vh;
|
min-height: 100vh;
|
||||||
background-image: url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/1333d202402261025145680.webp);
|
background-image: url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/1333d202402261025145680.webp);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: 100% auto;
|
background-size: 100% auto;
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
<!-- 首发新品 -->
|
<!-- 首发新品 -->
|
||||||
<recommend ref="recommendRef" :hostProduct="hostProduct[hostIndex]"
|
<recommend ref="recommendRef" :hostProduct="hostProduct[hostIndex]"
|
||||||
@changeRecommedTab="changeRecommedTab" showTab :indexP="true" :isLogin="isLogin"
|
@changeRecommedTab="changeRecommedTab" showTab :indexP="true" :isLogin="isLogin"
|
||||||
:loading="hotLoading[hostIndex]" :hotTitle="hotTitle">
|
:loading="loading">
|
||||||
</recommend>
|
</recommend>
|
||||||
<view class="loadingicon acea-row row-center-wrapper"
|
<view class="loadingicon acea-row row-center-wrapper"
|
||||||
v-if="hostProduct[hostIndex].length > 0 || hotLoading[hostIndex]">
|
v-if="hostProduct[hostIndex].length > 0 || hotLoading[hostIndex]">
|
||||||
@ -110,7 +110,7 @@
|
|||||||
<!-- 首发新品 -->
|
<!-- 首发新品 -->
|
||||||
<recommend ref="recommendRef" :hostProduct="hostProduct[hostIndex]"
|
<recommend ref="recommendRef" :hostProduct="hostProduct[hostIndex]"
|
||||||
@changeRecommedTab="changeRecommedTab" showTab :indexP="true" :isLogin="isLogin"
|
@changeRecommedTab="changeRecommedTab" showTab :indexP="true" :isLogin="isLogin"
|
||||||
:loading="hotLoading[hostIndex]" :hotTitle="hotTitle">
|
:loading="loading">
|
||||||
</recommend>
|
</recommend>
|
||||||
<view class="loadingicon acea-row row-center-wrapper"
|
<view class="loadingicon acea-row row-center-wrapper"
|
||||||
v-if="hostProduct[hostIndex].length > 0 || hotLoading[hostIndex]">
|
v-if="hostProduct[hostIndex].length > 0 || hotLoading[hostIndex]">
|
||||||
@ -399,6 +399,9 @@
|
|||||||
import {
|
import {
|
||||||
showTab
|
showTab
|
||||||
} from "@/utils/showTab.js";
|
} from "@/utils/showTab.js";
|
||||||
|
import {
|
||||||
|
getSTokenApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
export default {
|
export default {
|
||||||
computed: configMap({
|
computed: configMap({
|
||||||
hide_mer_status: 0,
|
hide_mer_status: 0,
|
||||||
@ -548,7 +551,7 @@
|
|||||||
isSupport: true,
|
isSupport: true,
|
||||||
isIndexClick: true,
|
isIndexClick: true,
|
||||||
scrollTop: 0,
|
scrollTop: 0,
|
||||||
tabScroll: 0
|
// newStore:
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -645,10 +648,13 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
onShow() {
|
onShow() {
|
||||||
if (uni.getStorageSync('newStore')) this.openDiver();
|
|
||||||
let that = this;
|
let that = this;
|
||||||
that.isIntegral = uni.getStorageSync('isIntegral')
|
that.isIntegral = uni.getStorageSync('isIntegral')
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
|
this.isSupplierFn() /*获取供应商toke*/
|
||||||
|
this.openNewMerDiver() /*新商户入驻商户引导页*/
|
||||||
|
this.openNewSuppierDiver() /*新供应商入驻商户引导页*/
|
||||||
|
this.openNewDistrDiver() /*新经销商入驻商户引导页*/
|
||||||
if (that.appUpdate.openUpgrade == '1') {
|
if (that.appUpdate.openUpgrade == '1') {
|
||||||
that.alertAppUpdate();
|
that.alertAppUpdate();
|
||||||
}
|
}
|
||||||
@ -663,7 +669,6 @@
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.isIndexClick = false;
|
this.isIndexClick = false;
|
||||||
|
|
||||||
if (this.isLogin) {
|
if (this.isLogin) {
|
||||||
this.getUserInfo();
|
this.getUserInfo();
|
||||||
}
|
}
|
||||||
@ -680,9 +685,6 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
onPullDownRefresh() {
|
onPullDownRefresh() {
|
||||||
// this.overflow = true;
|
|
||||||
// this.reconnect();
|
|
||||||
// that.overflow = true;
|
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.hotPage = 1;
|
this.hotPage = 1;
|
||||||
@ -696,9 +698,23 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
/*供应商tabbar,token,引导页相关*/
|
||||||
|
isSupplierFn() {
|
||||||
|
if (!this.isLogin || uni.getStorageSync('LOGIN_STATUS_STOKEN')) return;
|
||||||
|
getSTokenApi().then(res => {
|
||||||
|
if (res.data?.token) {
|
||||||
|
uni.setStorageSync('LOGIN_STATUS_STOKEN', (res.data?.token || ''))
|
||||||
|
this.$store.commit('SET_STOKEN', res.data?.token);
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
// console.log("获取报错", err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
/*新商户引导页相关*/
|
/*新商户引导页相关*/
|
||||||
openDiver() {
|
openNewMerDiver() {
|
||||||
// #ifdef APP
|
// #ifdef APP
|
||||||
|
if (!uni.getStorageSync('newStore')) return;
|
||||||
this.subNvue = uni.getSubNVueById('newUser')
|
this.subNvue = uni.getSubNVueById('newUser')
|
||||||
this.subNvue.show('slide-in-left', 300)
|
this.subNvue.show('slide-in-left', 300)
|
||||||
uni.$on('offSubnvue', () => {
|
uni.$on('offSubnvue', () => {
|
||||||
@ -709,14 +725,7 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// uni.$on('diverIndexSubEmit', () => {
|
|
||||||
// this.subNvue.hide('slide-out-left')
|
|
||||||
// uni.switchTab({
|
|
||||||
// url: '/pages/gather/gather'
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
},
|
},
|
||||||
/* 新商户发布商品引导页 */
|
/* 新商户发布商品引导页 */
|
||||||
openListGoodsDiver() {
|
openListGoodsDiver() {
|
||||||
@ -736,6 +745,37 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/* 新供应商入驻引导页*/
|
||||||
|
openNewSuppierDiver() {
|
||||||
|
let isNewSupplire = Boolean(uni.getStorageSync('newSupplier'));
|
||||||
|
if (!isNewSupplire) return;
|
||||||
|
this.subNvue = uni.getSubNVueById('supplier')
|
||||||
|
this.subNvue.show('slide-in-left', 300)
|
||||||
|
uni.$on('offSubnvue', () => {
|
||||||
|
this.subNvue.hide('slide-out-left')
|
||||||
|
if (uni.getStorageSync("newSupplier")) {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/user/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/* 新供应商入驻引导页*/
|
||||||
|
openNewDistrDiver() {
|
||||||
|
let isNewSupplire = Boolean(uni.getStorageSync('newDistribution'));
|
||||||
|
if (!isNewSupplire) return;
|
||||||
|
this.subNvue = uni.getSubNVueById('distr')
|
||||||
|
this.subNvue.show('slide-in-left', 300)
|
||||||
|
uni.$on('offSubnvue', () => {
|
||||||
|
this.subNvue.hide('slide-out-left')
|
||||||
|
if (uni.getStorageSync("newDistribution")) {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/user/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
loadCoupon() {
|
loadCoupon() {
|
||||||
if (!this.showCoupon && !uni.getStorageSync('show_coupon') && uni.getStorageSync('is_new_user')) {
|
if (!this.showCoupon && !uni.getStorageSync('show_coupon') && uni.getStorageSync('is_new_user')) {
|
||||||
getNewPeopleCouponLst().then(res => {
|
getNewPeopleCouponLst().then(res => {
|
||||||
@ -795,7 +835,7 @@
|
|||||||
},
|
},
|
||||||
bindHeighta(data) {
|
bindHeighta(data) {
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
// this.sortMpTop = data.top + data.height;
|
this.sortMpTop = data.top + data.height;
|
||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
// 重新链接
|
// 重新链接
|
||||||
@ -1078,7 +1118,6 @@
|
|||||||
// #endif
|
// #endif
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 记录会员访问
|
// 记录会员访问
|
||||||
setVisit() {
|
setVisit() {
|
||||||
setVisit({
|
setVisit({
|
||||||
@ -1112,7 +1151,6 @@
|
|||||||
self.sortMarTop = 10;
|
self.sortMarTop = 10;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//分类产品
|
//分类产品
|
||||||
get_product_list: function() {
|
get_product_list: function() {
|
||||||
let that = this;
|
let that = this;
|
||||||
@ -1133,10 +1171,10 @@
|
|||||||
that.loadTitle = '加载更多';
|
that.loadTitle = '加载更多';
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
//点击组件选项卡
|
* 点击组件选项卡
|
||||||
|
*/
|
||||||
changeRecommedTab(e) {
|
changeRecommedTab(e) {
|
||||||
let that = this;
|
|
||||||
this.hotPage = 1;
|
this.hotPage = 1;
|
||||||
this.hotScroll = true;
|
this.hotScroll = true;
|
||||||
this.hostIndex = e - 1;
|
this.hostIndex = e - 1;
|
||||||
@ -1144,14 +1182,11 @@
|
|||||||
hostList[e - 1] = [];
|
hostList[e - 1] = [];
|
||||||
this.$set(this, 'hostProduct', hostList);
|
this.$set(this, 'hostProduct', hostList);
|
||||||
this.loadGoods(e);
|
this.loadGoods(e);
|
||||||
|
|
||||||
uni.pageScrollTo({
|
|
||||||
scrollTop: that.$refs.recommendRef.tabsTop,
|
|
||||||
duration: 200
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
|
||||||
loadGoods(e = 1) {
|
loadGoods(e = 1) {
|
||||||
|
|
||||||
|
console.log(e);
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (e == 1) return this.get_host_product(0);
|
if (e == 1) return this.get_host_product(0);
|
||||||
if (e == 2) return this.get_host_home({
|
if (e == 2) return this.get_host_home({
|
||||||
@ -1165,12 +1200,12 @@
|
|||||||
}, 3);
|
}, 3);
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
// 获取我的推荐
|
* 获取我的推荐
|
||||||
|
*/
|
||||||
get_host_product: function(e = 0) {
|
get_host_product: function(e = 0) {
|
||||||
let that = this;
|
let that = this;
|
||||||
let num = that.hotLimit;
|
let num = that.hotLimit;
|
||||||
|
|
||||||
if (!that.hotScroll) return;
|
if (!that.hotScroll) return;
|
||||||
if (that.hotLoading[e]) return;
|
if (that.hotLoading[e]) return;
|
||||||
|
|
||||||
@ -1180,25 +1215,24 @@
|
|||||||
uni.stopPullDownRefresh();
|
uni.stopPullDownRefresh();
|
||||||
res.data.list = this.shuffleArray(res.data.list);
|
res.data.list = this.shuffleArray(res.data.list);
|
||||||
let list = res.data.list;
|
let list = res.data.list;
|
||||||
|
|
||||||
let productList = that.hostProduct;
|
let productList = that.hostProduct;
|
||||||
if (!productList[e]) productList[e] = [];
|
if (!productList[e]) productList[e] = [];
|
||||||
productList[e] = [...productList[e], ...res.data.list];
|
productList[e] = [...productList[e], ...res.data.list];
|
||||||
|
|
||||||
let hotScroll = list.length <= res.data.limit && list.length != 0;
|
let hotScroll = list.length <= res.data.limit && list.length != 0;
|
||||||
that.hotScroll = hotScroll;
|
that.hotScroll = hotScroll;
|
||||||
that.hotLoading[e] = false;
|
that.hotLoading[e] = false;
|
||||||
that.hotTitle = !hotScroll ? '已全部加载' : '加载更多';
|
that.hotTitle = !hotScroll ? '已全部加载' : '加载更多';
|
||||||
|
|
||||||
that.$set(that, 'hostProduct', productList);
|
that.$set(that, 'hostProduct', productList);
|
||||||
|
if (this.hostIndex == e) this.$forceUpdate();
|
||||||
|
|
||||||
that.$set(that, 'hotPage', res.data.page + 1);
|
that.$set(that, 'hotPage', res.data.page + 1);
|
||||||
that.$set(that, 'hotLimit', res.data.limit);
|
that.$set(that, 'hotLimit', res.data.limit);
|
||||||
|
|
||||||
this.$forceUpdate();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
// 获取里海云仓, 云市场, 名优特产
|
* 获取里海云仓, 云市场, 名优特产
|
||||||
|
*/
|
||||||
get_host_home: function(query = {}, e = 1) {
|
get_host_home: function(query = {}, e = 1) {
|
||||||
let that = this;
|
let that = this;
|
||||||
let num = that.hotLimit;
|
let num = that.hotLimit;
|
||||||
@ -1247,13 +1281,11 @@
|
|||||||
this.$set(this, 'navTop', res.data);
|
this.$set(this, 'navTop', res.data);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
reloadData() {
|
reloadData() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.showSkeleton = false
|
this.showSkeleton = false
|
||||||
}, 500)
|
}, 500)
|
||||||
},
|
},
|
||||||
|
|
||||||
// 首发新品详情
|
// 首发新品详情
|
||||||
goDetail(item) {
|
goDetail(item) {
|
||||||
if (item.activity && item.activity.type === '2' && !this.isLogin) {
|
if (item.activity && item.activity.type === '2' && !this.isLogin) {
|
||||||
@ -1297,7 +1329,6 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//#ifdef H5
|
//#ifdef H5
|
||||||
ShareInfo(datas) {
|
ShareInfo(datas) {
|
||||||
let data = this.storeInfo;
|
let data = this.storeInfo;
|
||||||
@ -1333,7 +1364,6 @@
|
|||||||
this.domHeight = res[0].height;
|
this.domHeight = res[0].height;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 滚动到底部
|
// 滚动到底部
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
if (this.recommend_switch == 1 && this.navIndex == 0) {
|
if (this.recommend_switch == 1 && this.navIndex == 0) {
|
||||||
@ -1345,6 +1375,9 @@
|
|||||||
this.get_product_list();
|
this.get_product_list();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
onReady() {
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
<text class="next-btn-text font" @click="next">下一步(1/4)</text>
|
<text class="next-btn-text font" @click="next">下一步(1/4)</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="tips-box" :style="{right:20, top:(offsetY-218)+'px'}">
|
<view class="tips-box" :style="{right:20, top:(offsetY-218)+'px'}">
|
||||||
<view class="tips" style="position: absolute;padding-left: 10rpx;">
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
<view class="tras" :class="{act:isActive}">
|
<view class="tras" :class="{act:isActive}">
|
||||||
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击工作台,进入办公助手</text>
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击生产页面,进入办公助手</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<image src="/static/images/starpng.png" class="start" mode="">
|
<image src="/static/images/starpng.png" class="start" mode="">
|
||||||
@ -164,7 +164,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tras {
|
.tras {
|
||||||
padding-left: 10rpx;
|
padding-left: 20rpx;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 999 !important;
|
z-index: 999 !important;
|
||||||
width: 0px;
|
width: 0px;
|
||||||
|
161
pages/index/subnvue/distr.nvue
Normal file
161
pages/index/subnvue/distr.nvue
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<template>
|
||||||
|
<view class="">
|
||||||
|
<view class="jump" @click="jump">
|
||||||
|
<text class="font">跳过</text>
|
||||||
|
</view>
|
||||||
|
<view class="next-btn center" :style="{ left:screenWidth/2,top:(screenHeight-96)}">
|
||||||
|
<text class="next-btn-text font" style="line-height: 76rpx;" @click="next">下一步(1/2)</text>
|
||||||
|
</view>
|
||||||
|
<view class="tips-box" style="position: absolute;right: 20px;" :style="{top:screenHeight-215}">
|
||||||
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
|
<view class="tras">
|
||||||
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;"> 点击我的页面,进行经销商户入驻
|
||||||
|
</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/starpng.png" class="start" mode="">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<view class="target" :style="{left:screenWidth/4*3,top:screenHeight-68}" @click="next">
|
||||||
|
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/96aba202405171618278261.png"
|
||||||
|
class="target-icon"></image>
|
||||||
|
<text class="target-text">我的</text>
|
||||||
|
</view>
|
||||||
|
<view :style="{left:screenWidth/4*3,top:screenHeight-130}">
|
||||||
|
<image src="/static/images/pointer.png" style="width: 254rpx;height: 254rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/greenLine.png" class="greenLine"
|
||||||
|
:style="{left:screenWidth/4*3+15,top:screenHeight-120}" mode=""></image>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
screenHeight: 0,
|
||||||
|
screenWidth: 0,
|
||||||
|
isAct: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
jump() {
|
||||||
|
uni.setStorageSync("newDistribution", false)
|
||||||
|
uni.$emit('offSubnvue');
|
||||||
|
},
|
||||||
|
next() {
|
||||||
|
uni.$emit('offSubnvue');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
let that = this
|
||||||
|
let data = (uni.getWindowInfo())
|
||||||
|
this.screenHeight = data.screenHeight
|
||||||
|
this.screenWidth = data.screenWidth
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.jump {
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 80rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: white;
|
||||||
|
lines: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn {
|
||||||
|
position: absolute;
|
||||||
|
width: 240rpx;
|
||||||
|
height: 76rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
border-radius: 38rpx;
|
||||||
|
background: rgba(255, 255, 255, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.target {
|
||||||
|
width: 136rpx;
|
||||||
|
height: 136rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 136rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-icon {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
top: 68rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-text {
|
||||||
|
font-size: 20rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
top: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pointer {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips-box {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 178rpx;
|
||||||
|
position: absolute;
|
||||||
|
padding-top: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start {
|
||||||
|
width: 72rpx;
|
||||||
|
height: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 106rpx;
|
||||||
|
background-color: #5BE157;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.tras {
|
||||||
|
width: 462rpx;
|
||||||
|
transition-property: width;
|
||||||
|
transition-duration: 3s;
|
||||||
|
transition-delay: 0.1s;
|
||||||
|
transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.act {
|
||||||
|
width: 462rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.greenLine {
|
||||||
|
width: 35px;
|
||||||
|
height: 60px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
</style>
|
@ -7,8 +7,7 @@
|
|||||||
<text class="next-btn-text font" style="line-height: 76rpx;" @click="next">下一步(1/2)</text>
|
<text class="next-btn-text font" style="line-height: 76rpx;" @click="next">下一步(1/2)</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="target" :style="{left:screenWidth/4*3,top:screenHeight-68}">
|
<view class="target" :style="{left:screenWidth/4*3,top:screenHeight-68}">
|
||||||
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/96aba202405171618278261.png"
|
<image src="/static/images/ydwd.png" class="target-icon"></image>
|
||||||
class="target-icon"></image>
|
|
||||||
<text class="target-text">我的</text>
|
<text class="target-text">我的</text>
|
||||||
</view>
|
</view>
|
||||||
<view :style="{left:screenWidth/4*3,top:screenHeight-130}">
|
<view :style="{left:screenWidth/4*3,top:screenHeight-130}">
|
||||||
|
161
pages/index/subnvue/supplier.nvue
Normal file
161
pages/index/subnvue/supplier.nvue
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<template>
|
||||||
|
<view class="">
|
||||||
|
<view class="jump" @click="jump">
|
||||||
|
<text class="font">跳过</text>
|
||||||
|
</view>
|
||||||
|
<view class="next-btn center" :style="{ left:screenWidth/2,top:(screenHeight-96)}">
|
||||||
|
<text class="next-btn-text font" style="line-height: 76rpx;" @click="next">下一步(1/2)</text>
|
||||||
|
</view>
|
||||||
|
<view class="tips-box" style="position: absolute;right: 20px;" :style="{top:screenHeight-215}">
|
||||||
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
|
<view class="tras">
|
||||||
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;"> 点击我的页面,进行供应商户入驻
|
||||||
|
</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/starpng.png" class="start" mode="">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<view class="target" :style="{left:screenWidth/4*3,top:screenHeight-68}" @click="next">
|
||||||
|
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/96aba202405171618278261.png"
|
||||||
|
class="target-icon"></image>
|
||||||
|
<text class="target-text">我的</text>
|
||||||
|
</view>
|
||||||
|
<view :style="{left:screenWidth/4*3,top:screenHeight-130}">
|
||||||
|
<image src="/static/images/pointer.png" style="width: 254rpx;height: 254rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/greenLine.png" class="greenLine"
|
||||||
|
:style="{left:screenWidth/4*3+15,top:screenHeight-120}" mode=""></image>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
screenHeight: 0,
|
||||||
|
screenWidth: 0,
|
||||||
|
isAct: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
jump() {
|
||||||
|
uni.setStorageSync("newSupplier", false)
|
||||||
|
uni.$emit('offSubnvue');
|
||||||
|
},
|
||||||
|
next() {
|
||||||
|
uni.$emit('offSubnvue');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
let that = this
|
||||||
|
let data = (uni.getWindowInfo())
|
||||||
|
this.screenHeight = data.screenHeight
|
||||||
|
this.screenWidth = data.screenWidth
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.jump {
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 80rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: white;
|
||||||
|
lines: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn {
|
||||||
|
position: absolute;
|
||||||
|
width: 240rpx;
|
||||||
|
height: 76rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
border-radius: 38rpx;
|
||||||
|
background: rgba(255, 255, 255, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.target {
|
||||||
|
width: 136rpx;
|
||||||
|
height: 136rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 136rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-icon {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
top: 68rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-text {
|
||||||
|
font-size: 20rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
top: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pointer {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips-box {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 178rpx;
|
||||||
|
position: absolute;
|
||||||
|
padding-top: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start {
|
||||||
|
width: 72rpx;
|
||||||
|
height: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 106rpx;
|
||||||
|
background-color: #5BE157;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.tras {
|
||||||
|
width: 462rpx;
|
||||||
|
transition-property: width;
|
||||||
|
transition-duration: 3s;
|
||||||
|
transition-delay: 0.1s;
|
||||||
|
transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.act {
|
||||||
|
width: 462rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.greenLine {
|
||||||
|
width: 35px;
|
||||||
|
height: 60px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
</style>
|
@ -196,6 +196,9 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
|
import {
|
||||||
|
getSTokenApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
import couponListWindow from '@/components/couponListWindow';
|
import couponListWindow from '@/components/couponListWindow';
|
||||||
import addcartWindow from '@/components/addcartWindow';
|
import addcartWindow from '@/components/addcartWindow';
|
||||||
import {
|
import {
|
||||||
@ -321,6 +324,7 @@
|
|||||||
mounted: function() {},
|
mounted: function() {},
|
||||||
onLoad: function(options) {},
|
onLoad: function(options) {},
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
|
this.isSupplierFn()
|
||||||
let that = this
|
let that = this
|
||||||
let routes = getCurrentPages();
|
let routes = getCurrentPages();
|
||||||
let curRoute = routes[routes.length - 1].route;
|
let curRoute = routes[routes.length - 1].route;
|
||||||
@ -358,6 +362,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/*供应商tabbar,token,引导页相关*/
|
||||||
|
isSupplierFn() {
|
||||||
|
if (!this.isLogin || uni.getStorageSync('LOGIN_STATUS_STOKEN')) return;
|
||||||
|
getSTokenApi().then(res => {
|
||||||
|
if (res.data?.token) {
|
||||||
|
uni.setStorageSync('LOGIN_STATUS_STOKEN', (res.data?.token || ''))
|
||||||
|
this.$store.commit('SET_STOKEN', res.data?.token);
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.log("获取报错", err)
|
||||||
|
})
|
||||||
|
},
|
||||||
tabsChange(e) {
|
tabsChange(e) {
|
||||||
this.tabsCurr = e;
|
this.tabsCurr = e;
|
||||||
uni.setStorageSync('tabbar_sale_type', this.tabsCurr + '');
|
uni.setStorageSync('tabbar_sale_type', this.tabsCurr + '');
|
||||||
@ -385,7 +401,8 @@
|
|||||||
let that = this;
|
let that = this;
|
||||||
getUserInfo().then(res => {
|
getUserInfo().then(res => {
|
||||||
that.userInfo = res.data;
|
that.userInfo = res.data;
|
||||||
if (res.data.mer_info.mer_settlement_agree_status && this.tabsArr.length == 1) this.tabsArr
|
if (res.data.mer_info.mer_settlement_agree_status && this.tabsArr.length == 1) this
|
||||||
|
.tabsArr
|
||||||
.push({
|
.push({
|
||||||
name: '商户购物车',
|
name: '商户购物车',
|
||||||
val: 2
|
val: 2
|
||||||
@ -513,7 +530,8 @@
|
|||||||
if (res.data.attr.length == 0) return Toast('此商品为单规格商品');
|
if (res.data.attr.length == 0) return Toast('此商品为单规格商品');
|
||||||
const sku = {};
|
const sku = {};
|
||||||
res.data.attrValue.forEach((itemn) => {
|
res.data.attrValue.forEach((itemn) => {
|
||||||
if (this.tabsCurr == 2) itemn.price = itemn.wholesale_price; //把价格设置为批发价
|
if (this.tabsCurr == 2) itemn.price = itemn
|
||||||
|
.wholesale_price; //把价格设置为批发价
|
||||||
sku[itemn.sku] = itemn;
|
sku[itemn.sku] = itemn;
|
||||||
})
|
})
|
||||||
goods.attr = res.data.attr;
|
goods.attr = res.data.attr;
|
||||||
@ -643,7 +661,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
attrVal(val) {
|
attrVal(val) {
|
||||||
this.$set(this.attr.productAttr[val.indexw], 'index', this.attr.productAttr[val.indexw].attr_values[val
|
this.$set(this.attr.productAttr[val.indexw], 'index', this.attr.productAttr[val.indexw]
|
||||||
|
.attr_values[val
|
||||||
.indexn]);
|
.indexn]);
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@ -867,7 +886,8 @@
|
|||||||
// 总金额 //总数
|
// 总金额 //总数
|
||||||
el.list.forEach(e => {
|
el.list.forEach(e => {
|
||||||
if (e.check) {
|
if (e.check) {
|
||||||
totalMoney = this.$util.$h.Add(totalMoney, this.$util.$h.Mul(e.productAttr
|
totalMoney = this.$util.$h.Add(totalMoney, this.$util.$h.Mul(e
|
||||||
|
.productAttr
|
||||||
.price, e.cart_num))
|
.price, e.cart_num))
|
||||||
totalNum += e.cart_num
|
totalNum += e.cart_num
|
||||||
}
|
}
|
||||||
|
314
pages/quote/balanceDetail.vue
Normal file
314
pages/quote/balanceDetail.vue
Normal file
@ -0,0 +1,314 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<!-- <view style="margin-top: 20rpx; display: flex;align-items: center;" @click="showDate=true">
|
||||||
|
<text>{{ formatTimestampToYearMonth(nowTimes) }}</text> <u-icon name="arrow-down"></u-icon>
|
||||||
|
</view> -->
|
||||||
|
<view class="recoder" v-if="lists.length">
|
||||||
|
<view class="card" v-for="(item,index) in lists" :key="index">
|
||||||
|
<view class="right">
|
||||||
|
<view class="item" style="justify-content: flex-start;">
|
||||||
|
<text class="rest">{{item.number_sn}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="item_title">
|
||||||
|
<text style="font-weight: 500;">{{item.financial_type }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="item_money">+{{item.number}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="item-time">{{item.create_time}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<u-empty v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
|
||||||
|
</u-empty>
|
||||||
|
<u-datetime-picker :show="showDate" @confirm='confirmDate' :maxDate='now' @cancel='showDate=false'
|
||||||
|
@close='showDate=false' v-model="nowTimes" mode="year-month"></u-datetime-picker>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
UserBlancelistsApi,
|
||||||
|
UserWithdrawIndexApi,
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyword: '',
|
||||||
|
total: "",
|
||||||
|
count: "",
|
||||||
|
nowTimes: new Date().getTime(),
|
||||||
|
now: new Date().getTime(),
|
||||||
|
showDate: false,
|
||||||
|
lists: [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
formatTimestampToYearMonth(timestamp) {
|
||||||
|
var date = new Date(timestamp);
|
||||||
|
var year = date.getFullYear();
|
||||||
|
var month = date.getMonth() + 1; // 月份是从0开始的,所以需要加1
|
||||||
|
if (month < 10) {
|
||||||
|
month = '0' + month; // 如果月份小于10,则在前面补零
|
||||||
|
}
|
||||||
|
return year + '-' + month;
|
||||||
|
},
|
||||||
|
confirmDate(e) {
|
||||||
|
this.nowTimes = this.formatTimestampToYearMonth(e.value)
|
||||||
|
this.getList()
|
||||||
|
this.showDate = false
|
||||||
|
},
|
||||||
|
|
||||||
|
async getAmount() {
|
||||||
|
let res = await UserWithdrawIndexApi()
|
||||||
|
this.count = res.data.count
|
||||||
|
this.total = res.data.total
|
||||||
|
|
||||||
|
},
|
||||||
|
async getList() {
|
||||||
|
let res = await UserBlancelistsApi({
|
||||||
|
// create_time: this.formatTimestampToYearMonth(this.nowTimes)
|
||||||
|
})
|
||||||
|
this.lists = res.data.lists
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
uni.showTabBar()
|
||||||
|
this.getList()
|
||||||
|
this.getAmount()
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
this.getList()
|
||||||
|
this.getAmount()
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.head {
|
||||||
|
padding: 28rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
box-shadow: 0rpx 4rpx 10rpx 2rpx rgba(161, 161, 161, 0.4);
|
||||||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||||
|
|
||||||
|
.head_conent {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.line {
|
||||||
|
width: 1rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
background-color: #dfdfdf;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sum {
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
color: #737373;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
.num {
|
||||||
|
font-size: 48.06rpx;
|
||||||
|
margin-bottom: 15rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recoder {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
// padding: 0 28rpx 28rpx 28rpx;
|
||||||
|
|
||||||
|
.time {
|
||||||
|
height: 42rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 45rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
transform: rotate(90deg);
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
// width: 694rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 21rpx 21rpx 21rpx 21rpx;
|
||||||
|
opacity: 1;
|
||||||
|
padding: 28rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
.item {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.rest {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.code {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legal_company {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: #72BE53;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
padding: 2rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legal_person {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: #FF8056;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
padding: 2rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-time {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_title {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_money {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #F55726;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_brank {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #737373;
|
||||||
|
line-height: 39rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_time {
|
||||||
|
font-size: 23rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #B3B3B3;
|
||||||
|
line-height: 34rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_status {
|
||||||
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||||||
|
padding: 2rpx 16rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audit {
|
||||||
|
background: rgba(38, 172, 245, .2);
|
||||||
|
color: #26ACF5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trans {
|
||||||
|
background: rgba(245, 87, 38, .2);
|
||||||
|
color: #F55726;
|
||||||
|
}
|
||||||
|
|
||||||
|
.done {
|
||||||
|
display: flex;
|
||||||
|
background: rgba(70, 176, 58, .2);
|
||||||
|
color: #46B03A;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lose {
|
||||||
|
background: rgba(102, 102, 102, .2);
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-title {
|
||||||
|
justify-content: flex-start;
|
||||||
|
|
||||||
|
text {
|
||||||
|
&:nth-child(1) {
|
||||||
|
width: 198rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
font-family: PingFang SC, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 51rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:nth-child(1) {
|
||||||
|
width: 198rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
font-family: PingFang SC, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 51rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.remark {
|
||||||
|
word-wrap: break-word;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #F55726;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
232
pages/quote/bindAccout.vue
Normal file
232
pages/quote/bindAccout.vue
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="action">
|
||||||
|
<view class="">
|
||||||
|
提现至
|
||||||
|
</view>
|
||||||
|
<view style="font-weight: bold;">
|
||||||
|
{{form.is_own?'对公账户':'个人账户'}}
|
||||||
|
</view>
|
||||||
|
<view style="display: flex;align-items: center;color: #20B128;" @click="showPop1=true">
|
||||||
|
<text>账户类型</text> <u-icon color="#20B128" name="arrow-right"></u-icon>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="form">
|
||||||
|
<u-form labelPosition="left" borderBottom :label-style="{fontSize:'30rpx'}" labelWidth='70'>
|
||||||
|
<u-form-item label="开户银行" prop="userInfo.name" borderBottom ref="item1" @click="showPop=true">
|
||||||
|
<text style="padding-left: 20rpx;" v-if="form.bank_name">{{form.bank_name}}</text>
|
||||||
|
<text v-else style="color: #20B128;padding-left: 20rpx;">点击选择开户银行</text>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="账户名称" prop="userInfo.name" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="form.name" placeholder="请输入账户名称" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="银行账号" prop="userInfo.name" borderBottom ref="item1">
|
||||||
|
<u-input maxlength="19" style="border: none;" v-model="form.bank_code" type='number'
|
||||||
|
placeholder="请输入银行账号" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="开户网点" prop="userInfo.name" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="form.bank_branch" placeholder="请输入开户网点" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item v-if="!form.is_own" label="身份证" prop="userInfo.name" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="form.id_card" placeholder="请输入身份证" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item v-if="!form.is_own" label="电话" prop="userInfo.name" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="form.phone" placeholder="请输入电话" />
|
||||||
|
</u-form-item>
|
||||||
|
</u-form>
|
||||||
|
</view>
|
||||||
|
<view class="" style="margin-top: 20rpx;color: red;text-align: center;" v-if="form.is_check==2">
|
||||||
|
审核失败,请重新提交审核
|
||||||
|
</view>
|
||||||
|
<view class="" style="margin-top: 20rpx;color: red;text-align: center;" v-if="form.is_check===0">
|
||||||
|
正在审核中
|
||||||
|
</view>
|
||||||
|
<view class="submit-btn" v-if="form.is_check==='' || form.is_check==2">
|
||||||
|
<u-button text="提交绑定" @click="submit" shape="circle" color="#50C758"></u-button>
|
||||||
|
</view>
|
||||||
|
<u-popup :show="showPop" :round="10" mode="bottom" @close="showPop=false" @open="showPop=true">
|
||||||
|
<view class="popContent">
|
||||||
|
<view style="text-align: center;font-weight: bold;">请选择银行</view>
|
||||||
|
<u-icon name="close" color="#303133" size="24" @click="showPop=false"
|
||||||
|
style="position: absolute;top: 20rpx;right: 20rpx;"></u-icon>
|
||||||
|
<view class="bank-list">
|
||||||
|
<view class="bank-li" v-for="item in bankList" :key='item.id' @click="choseBank(item)">
|
||||||
|
<u-image :show-loading="true" :src="item.image" width="60rpx" height="60rpx"></u-image>
|
||||||
|
<text style="margin-left: 20rpx;">{{item.name}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
<u-popup :show="showPop1" :round="10" mode="bottom" @close="showPop1=false" @open="showPop1=true">
|
||||||
|
<view class="popContent">
|
||||||
|
<view style="text-align: center;font-weight: bold;">请选择提现账户</view>
|
||||||
|
<u-icon name="close" color="#303133" size="24" @click="showPop1=false"
|
||||||
|
style="position: absolute;top: 20rpx;right: 20rpx;"></u-icon>
|
||||||
|
<view class="bank-list">
|
||||||
|
<view class="bank-li" @click="choseAccount(0)">
|
||||||
|
<text>个人账户</text>
|
||||||
|
</view>
|
||||||
|
<view class="bank-li" @click="choseAccount(1)">
|
||||||
|
<text>对公账户</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
bindCradApi,
|
||||||
|
bankListApi,
|
||||||
|
amountAccountApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
import {
|
||||||
|
Modal
|
||||||
|
} from "../../libs/uniApi"
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
"name": "",
|
||||||
|
"bank_id": 1,
|
||||||
|
"bank_name": '',
|
||||||
|
"bank_code": "",
|
||||||
|
"bank_branch": "",
|
||||||
|
"financial_img": "",
|
||||||
|
"is_own": 0,
|
||||||
|
is_check: '', // 0待审核,1通过,2未通过
|
||||||
|
phone: '',
|
||||||
|
"id_card": "",
|
||||||
|
user_type: '2'
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
showPop: false,
|
||||||
|
bankList: [],
|
||||||
|
hasBindAccount: [],
|
||||||
|
showPop1: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async getHasBindBankList() {
|
||||||
|
let res = await amountAccountApi({
|
||||||
|
is_check: 'all' //全部查询
|
||||||
|
})
|
||||||
|
this.hasBindAccount = res.data.bank_list
|
||||||
|
if(res.data.bank_list[0]) this.form = res.data.bank_list[0] || {}
|
||||||
|
},
|
||||||
|
getFormData(form, target) {
|
||||||
|
console.log(target)
|
||||||
|
if (!target) {
|
||||||
|
for (let key in form) {
|
||||||
|
form[key] = ''
|
||||||
|
}
|
||||||
|
console.log('return', form)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log('除了来了')
|
||||||
|
form.name = target.name || ''
|
||||||
|
form.bank_id = target.bank_id || ''
|
||||||
|
form.bank_name = target.bank_name || ''
|
||||||
|
form.bank_code = target.bank_code || ''
|
||||||
|
form.bank_branch = target.bank_branch || ''
|
||||||
|
form.phone = target.phone || ''
|
||||||
|
form.id_card = target.id_card || ''
|
||||||
|
form.is_own = target.is_own
|
||||||
|
form.is_check = target.is_check
|
||||||
|
},
|
||||||
|
choseAccount(type) {
|
||||||
|
let index = this.hasBindAccount.findIndex(item => item.is_own == type)
|
||||||
|
this.form = this.hasBindAccount[index] || {}
|
||||||
|
this.form.is_own = type;
|
||||||
|
if(!this.form.id) this.form.is_check = "";
|
||||||
|
this.showPop1 = false
|
||||||
|
},
|
||||||
|
|
||||||
|
choseBank(item) {
|
||||||
|
this.form.bank_name = item.name
|
||||||
|
this.form.bank_id = item.id
|
||||||
|
this.showPop = false
|
||||||
|
},
|
||||||
|
async getBankList() {
|
||||||
|
let res = await bankListApi()
|
||||||
|
this.bankList = res.data.lists
|
||||||
|
|
||||||
|
},
|
||||||
|
async submit() {
|
||||||
|
await Modal('温馨提示', "确定信息无误,提交绑定")
|
||||||
|
this.form.is_own === 1 ? '' : this.form.is_own = 0
|
||||||
|
await bindCradApi({
|
||||||
|
...this.form
|
||||||
|
})
|
||||||
|
this.form.is_check = 0;
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '提交成功,等待后台审核'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
uni.showTabBar()
|
||||||
|
this.getHasBindBankList()
|
||||||
|
this.getBankList()
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
this.getHasBindBankList()
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popContent {
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.bank-list {
|
||||||
|
overflow-y: auto;
|
||||||
|
position: relative;
|
||||||
|
max-height: 40vh;
|
||||||
|
|
||||||
|
.bank-li {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-bottom: 1px solid #F8F9FA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.action {
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
padding: 28rpx 30rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit-btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 146rpx;
|
||||||
|
width: 710rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
550
pages/quote/financialyDeatil.vue
Normal file
550
pages/quote/financialyDeatil.vue
Normal file
@ -0,0 +1,550 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="head">
|
||||||
|
<view class="head_conent">
|
||||||
|
<view class="sum">
|
||||||
|
<view class="text">已提现金额</view>
|
||||||
|
<u-count-to class="num" style="color: #F84221;" :startVal="0" :endVal="total" :decimals="2" bold
|
||||||
|
font-size="22"></u-count-to>
|
||||||
|
</view>
|
||||||
|
<view class="line"></view>
|
||||||
|
<view class="sum">
|
||||||
|
<view class="text">已提现次数</view>
|
||||||
|
<u-count-to class="num" :startVal="0" :endVal="count" bold font-size="22"></u-count-to>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="margin-top: 20rpx; display: flex;align-items: center;" @click="showDate=true">
|
||||||
|
<text>{{ formatTimestampToYearMonth(nowTimes) }}</text> <u-icon name="arrow-down"></u-icon>
|
||||||
|
</view>
|
||||||
|
<view class="recoder" v-if="lists.length">
|
||||||
|
<view class="card" v-for="(item,index) in lists" :key="index">
|
||||||
|
<view class="right">
|
||||||
|
<view class="item" style="justify-content: flex-start;">
|
||||||
|
<text class="rest">余额提现至</text>
|
||||||
|
<text v-if="item.merchant_bank_info.bank_code"
|
||||||
|
class="code">({{item.merchant_bank_info.bank_code.substring(item.merchant_bank_info.bank_code.length - 4)}})</text>
|
||||||
|
<text class="withdraw-type legal_company">{{ item.merchant_bank_info.is_own?"对公" :"个人"}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="item_title">
|
||||||
|
<text>{{item.merchant_bank_info.bank_info.name }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="item_money">+{{item.amount}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="item-time">{{item.create_time}}</view>
|
||||||
|
{{item.is_check==1?'审核通过':item.is_check==2?"审核不通过":"待审核" }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="remark" v-if="item.fail_msg">{{item.fail_msg}}</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<u-empty v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
|
||||||
|
</u-empty>
|
||||||
|
<u-datetime-picker :show="showDate" @confirm='confirmDate' :maxDate='now' @cancel='showDate=false'
|
||||||
|
@close='showDate=false' v-model="nowTimes" mode="year-month"></u-datetime-picker>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
UserWithdrawListsApi,
|
||||||
|
UserWithdrawIndexApi,
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyword: '',
|
||||||
|
total: "",
|
||||||
|
count: "",
|
||||||
|
nowTimes: new Date().getTime(),
|
||||||
|
now: new Date().getTime(),
|
||||||
|
showDate: false,
|
||||||
|
lists: [{
|
||||||
|
"id": 11,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 297,
|
||||||
|
"amount": "80.00",
|
||||||
|
"is_check": 0,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 0,
|
||||||
|
"arrival_proof": null,
|
||||||
|
"create_time": "2024-05-15 10:56:43",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"id": 297,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"mer_id": 500,
|
||||||
|
"bank_id": 1,
|
||||||
|
"bank_code": "6213362109985515778",
|
||||||
|
"bank_branch": "迎晖路支行",
|
||||||
|
"name": "赵明军",
|
||||||
|
"id_card": "513701200012105613",
|
||||||
|
"phone": "19130550023",
|
||||||
|
"financial_img": "",
|
||||||
|
"is_own": 0,
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": null,
|
||||||
|
"admin_id": 1,
|
||||||
|
"create_time": "2024-05-14 16:49:31",
|
||||||
|
"update_time": "2024-05-14 16:50:04",
|
||||||
|
"delete_time": null,
|
||||||
|
"bank_info": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "中国银行",
|
||||||
|
"image": "https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240510/20240510114142858ca3838.png",
|
||||||
|
"create_time": 0,
|
||||||
|
"update_time": 0,
|
||||||
|
"delete_time": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 297,
|
||||||
|
"amount": "58.00",
|
||||||
|
"is_check": 0,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 0,
|
||||||
|
"arrival_proof": null,
|
||||||
|
"create_time": "2024-05-15 10:55:34",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"id": 297,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"mer_id": 500,
|
||||||
|
"bank_id": 1,
|
||||||
|
"bank_code": "6213362109985515778",
|
||||||
|
"bank_branch": "迎晖路支行",
|
||||||
|
"name": "赵明军",
|
||||||
|
"id_card": "513701200012105613",
|
||||||
|
"phone": "19130550023",
|
||||||
|
"financial_img": "",
|
||||||
|
"is_own": 0,
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": null,
|
||||||
|
"admin_id": 1,
|
||||||
|
"create_time": "2024-05-14 16:49:31",
|
||||||
|
"update_time": "2024-05-14 16:50:04",
|
||||||
|
"delete_time": null,
|
||||||
|
"bank_info": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "中国银行",
|
||||||
|
"image": "https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240510/20240510114142858ca3838.png",
|
||||||
|
"create_time": 0,
|
||||||
|
"update_time": 0,
|
||||||
|
"delete_time": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 297,
|
||||||
|
"amount": "7.00",
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 1,
|
||||||
|
"arrival_proof": "[\"https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240514/20240514112247c16164097.png\", \"https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240514/202405141122478b56c8734.png\", \"https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240514/20240514112247e80105959.png\"]",
|
||||||
|
"create_time": "2024-05-14 21:54:14",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"id": 297,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"mer_id": 500,
|
||||||
|
"bank_id": 1,
|
||||||
|
"bank_code": "6213362109985515778",
|
||||||
|
"bank_branch": "迎晖路支行",
|
||||||
|
"name": "赵明军",
|
||||||
|
"id_card": "513701200012105613",
|
||||||
|
"phone": "19130550023",
|
||||||
|
"financial_img": "",
|
||||||
|
"is_own": 0,
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": null,
|
||||||
|
"admin_id": 1,
|
||||||
|
"create_time": "2024-05-14 16:49:31",
|
||||||
|
"update_time": "2024-05-14 16:50:04",
|
||||||
|
"delete_time": null,
|
||||||
|
"bank_info": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "中国银行",
|
||||||
|
"image": "https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240510/20240510114142858ca3838.png",
|
||||||
|
"create_time": 0,
|
||||||
|
"update_time": 0,
|
||||||
|
"delete_time": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 297,
|
||||||
|
"amount": "12.00",
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 1,
|
||||||
|
"arrival_proof": "[\"https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240514/202405141811330f05a4138.png\", \"https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240514/2024051411224760ab52438.png\"]",
|
||||||
|
"create_time": "2024-05-14 18:20:12",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"id": 297,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"mer_id": 500,
|
||||||
|
"bank_id": 1,
|
||||||
|
"bank_code": "6213362109985515778",
|
||||||
|
"bank_branch": "迎晖路支行",
|
||||||
|
"name": "赵明军",
|
||||||
|
"id_card": "513701200012105613",
|
||||||
|
"phone": "19130550023",
|
||||||
|
"financial_img": "",
|
||||||
|
"is_own": 0,
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": null,
|
||||||
|
"admin_id": 1,
|
||||||
|
"create_time": "2024-05-14 16:49:31",
|
||||||
|
"update_time": "2024-05-14 16:50:04",
|
||||||
|
"delete_time": null,
|
||||||
|
"bank_info": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "中国银行",
|
||||||
|
"image": "https://lihaiim.oss-cn-chengdu.aliyuncs.com/public/uploads/images/20240510/20240510114142858ca3838.png",
|
||||||
|
"create_time": 0,
|
||||||
|
"update_time": 0,
|
||||||
|
"delete_time": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 296,
|
||||||
|
"amount": "100.00",
|
||||||
|
"is_check": 1,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 0,
|
||||||
|
"arrival_proof": null,
|
||||||
|
"create_time": "2024-05-14 17:04:13",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"bank_info": "[]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 296,
|
||||||
|
"amount": "100.00",
|
||||||
|
"is_check": 0,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 0,
|
||||||
|
"arrival_proof": null,
|
||||||
|
"create_time": "2024-05-14 17:02:59",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"bank_info": "[]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 296,
|
||||||
|
"amount": "100.00",
|
||||||
|
"is_check": 0,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 0,
|
||||||
|
"arrival_proof": null,
|
||||||
|
"create_time": "2024-05-14 15:51:02",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"bank_info": "[]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"mer_id": 500,
|
||||||
|
"supplier_id": 0,
|
||||||
|
"merchant_bank_id": 296,
|
||||||
|
"amount": "100.00",
|
||||||
|
"is_check": 0,
|
||||||
|
"fail_msg": "",
|
||||||
|
"is_arrival": 0,
|
||||||
|
"arrival_proof": null,
|
||||||
|
"create_time": "2024-05-14 14:35:47",
|
||||||
|
"merchant_bank_info": {
|
||||||
|
"bank_info": "[]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
formatTimestampToYearMonth(timestamp) {
|
||||||
|
var date = new Date(timestamp);
|
||||||
|
var year = date.getFullYear();
|
||||||
|
var month = date.getMonth() + 1; // 月份是从0开始的,所以需要加1
|
||||||
|
if (month < 10) {
|
||||||
|
month = '0' + month; // 如果月份小于10,则在前面补零
|
||||||
|
}
|
||||||
|
return year + '-' + month;
|
||||||
|
},
|
||||||
|
confirmDate(e) {
|
||||||
|
this.nowTimes = this.formatTimestampToYearMonth(e.value)
|
||||||
|
this.getList()
|
||||||
|
this.showDate = false
|
||||||
|
},
|
||||||
|
|
||||||
|
async getAmount() {
|
||||||
|
let res = await UserWithdrawIndexApi()
|
||||||
|
this.count = res.data.count
|
||||||
|
this.total = res.data.total
|
||||||
|
|
||||||
|
},
|
||||||
|
async getList() {
|
||||||
|
let res = await UserWithdrawListsApi({
|
||||||
|
create_time: this.formatTimestampToYearMonth(this.nowTimes)
|
||||||
|
})
|
||||||
|
this.lists = res.data.lists
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
uni.showTabBar()
|
||||||
|
this.getList()
|
||||||
|
this.getAmount()
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
this.getList()
|
||||||
|
this.getAmount()
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.head {
|
||||||
|
padding: 28rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 24rpx;
|
||||||
|
box-shadow: 0rpx 4rpx 10rpx 2rpx rgba(161, 161, 161, 0.4);
|
||||||
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||||
|
|
||||||
|
.head_conent {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.line {
|
||||||
|
width: 1rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
background-color: #dfdfdf;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sum {
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
color: #737373;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
.num {
|
||||||
|
font-size: 48.06rpx;
|
||||||
|
margin-bottom: 15rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.recoder {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
// padding: 0 28rpx 28rpx 28rpx;
|
||||||
|
|
||||||
|
.time {
|
||||||
|
height: 42rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 45rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
transform: rotate(90deg);
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
// width: 694rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 21rpx 21rpx 21rpx 21rpx;
|
||||||
|
opacity: 1;
|
||||||
|
padding: 28rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.right {
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
.item {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.rest {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.code {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legal_company {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: #72BE53;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
padding: 2rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legal_person {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: #FF8056;
|
||||||
|
border-radius: 6rpx;
|
||||||
|
padding: 2rpx 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-time {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_title {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_money {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #F55726;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_brank {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #737373;
|
||||||
|
line-height: 39rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
&_time {
|
||||||
|
font-size: 23rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #B3B3B3;
|
||||||
|
line-height: 34rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_status {
|
||||||
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||||||
|
padding: 2rpx 16rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audit {
|
||||||
|
background: rgba(38, 172, 245, .2);
|
||||||
|
color: #26ACF5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trans {
|
||||||
|
background: rgba(245, 87, 38, .2);
|
||||||
|
color: #F55726;
|
||||||
|
}
|
||||||
|
|
||||||
|
.done {
|
||||||
|
display: flex;
|
||||||
|
background: rgba(70, 176, 58, .2);
|
||||||
|
color: #46B03A;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lose {
|
||||||
|
background: rgba(102, 102, 102, .2);
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-title {
|
||||||
|
justify-content: flex-start;
|
||||||
|
|
||||||
|
text {
|
||||||
|
&:nth-child(1) {
|
||||||
|
width: 198rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
font-family: PingFang SC, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 51rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:nth-child(1) {
|
||||||
|
width: 198rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
font-family: PingFang SC, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 51rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.remark {
|
||||||
|
word-wrap: break-word;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #F55726;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
393
pages/quote/index.vue
Normal file
393
pages/quote/index.vue
Normal file
@ -0,0 +1,393 @@
|
|||||||
|
<template>
|
||||||
|
<view style="padding: 100rpx 0;min-height: 100vh;">
|
||||||
|
<view class="head">
|
||||||
|
<view class="">
|
||||||
|
<view class="" style="display: flex;justify-content: space-around;margin-top: 24rpx;color:#777777">
|
||||||
|
<view :class="{act: tabIndex==1}" @click="changeTabs(1)">
|
||||||
|
报价列表
|
||||||
|
</view>
|
||||||
|
<view :class="{act: tabIndex==2}" @click="changeTabs(2)">
|
||||||
|
报价记录
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="height: 8rpx;" />
|
||||||
|
<view class="line" :style="{left:tabIndex==1?tabsLeft+'px':tabsRight+'px'}" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<u-loading-page v-if="loading" :loading="loading"></u-loading-page>
|
||||||
|
<view v-else>
|
||||||
|
<view class="card" v-for="(item,index) in lists" :key='index'>
|
||||||
|
<view class="head">
|
||||||
|
</view>
|
||||||
|
<view class="card-content">
|
||||||
|
<view class="card-content-l" style="width: 152rpx;height: 152rpx;">
|
||||||
|
<image style="width: 152rpx;height: 152rpx;" :src="item.goods.imgs" mode=""></image>
|
||||||
|
<view class="status">
|
||||||
|
{{tabIndex==1?"未报价":"已报价" }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-content-r">
|
||||||
|
<view class="title ellipsis">
|
||||||
|
{{item.goods.goods_name}}
|
||||||
|
</view>
|
||||||
|
<view class="need">
|
||||||
|
需求量: {{item.need_num}}{{item.goods.unit_name}}
|
||||||
|
</view>
|
||||||
|
<view class="ipt">
|
||||||
|
<u--input placeholder="输入报价数量" :readonly="tabIndex==2" v-model="item.nums"
|
||||||
|
style="background-color:#F6F6F6;border: none;" type="number" @blur="blur1(item)"></u--input>
|
||||||
|
<view style="width: 10rpx;">
|
||||||
|
</view>
|
||||||
|
<u--input style="background-color: #F6F6F6;border: none;" placeholder="输入产品报价" @blur="blur2(item)"
|
||||||
|
:readonly="tabIndex==2" v-model="item.price" type="number"></u--input>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="status-png" v-if="tabIndex==2">
|
||||||
|
<image v-if="item.is_adopt==0" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/491f6202405281828272606.png" style="width: 108rpx; height: 84rpx;">
|
||||||
|
</image>
|
||||||
|
<image v-else-if="item.is_adopt==1" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/274ad202405111523222891.png" style="width: 108rpx; height: 84rpx;">
|
||||||
|
</image>
|
||||||
|
<image v-else-if="item.is_adopt==2 && item.delivery_name" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/fde75202405281450531427.png" style=" width: 108rpx;
|
||||||
|
height: 84rpx;">
|
||||||
|
</image>
|
||||||
|
<image v-else-if="item.is_adopt==2 && !item.delivery_name" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/dbe43202405281449446456.png" style=" width: 108rpx;
|
||||||
|
height: 84rpx;">
|
||||||
|
</image>
|
||||||
|
<image v-else src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/22059202405281826183468.png" style="width: 108rpx; height: 84rpx;">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="card-footer" v-if="item.nums && item.price">
|
||||||
|
共{{item.nums}}{{item.unit_name}} 合计:<text
|
||||||
|
style="font-size: 28rpx;color: #FC452F;font-weight: 700;">¥{{(item.nums*item.price).toFixed(2)}}</text>
|
||||||
|
</view>
|
||||||
|
<u-line style="margin-top: 30rpx;" color="#F3F3F3"></u-line>
|
||||||
|
</view>
|
||||||
|
<u-empty v-if="lists.length==0" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
|
||||||
|
</u-empty>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="submit-btn" v-show="tabIndex==1 && lists.length > 0">
|
||||||
|
<u-button shape='circle' color='#20B128' @click="submit" text="提交"></u-button>
|
||||||
|
</view>
|
||||||
|
<view class="submit-btn" v-show="tabIndex==2 && deliveryBtnShow">
|
||||||
|
<u-button shape='circle' color='#20B128' @click="showDeliver" text="立即发货"></u-button>
|
||||||
|
</view>
|
||||||
|
<uni-popup ref="deliver" type="center" @click.stop="">
|
||||||
|
<view class="deliver">
|
||||||
|
<view style="font-size: 32rpx;font-weight: bold;text-align: center;">发货</view>
|
||||||
|
<u--form labelPosition="left" style="width: 100%;" labelWidth="auto" :model="model1" :rules="rules"
|
||||||
|
ref="uForm">
|
||||||
|
<u-form-item label="配送方式" borderBottom>
|
||||||
|
<u-radio-group v-model="model_type" placement="row" @change="model1.delivery_name='';model1.delivery_id=''" activeColor="#20B128">
|
||||||
|
<u-radio label="自己配送" :name="2" style="margin-right: 20rpx;"></u-radio>
|
||||||
|
<u-radio label="快递配送" :name="1"></u-radio>
|
||||||
|
</u-radio-group>
|
||||||
|
</u-form-item>
|
||||||
|
<block v-if="model_type==1">
|
||||||
|
<u-form-item label="快递公司" prop="delivery_name" @tap="deliveryNameShow=true" borderBottom>
|
||||||
|
<u--input v-model="model1.delivery_name" readonly border="none" placeholder="请选择快递公司" suffixIcon="arrow-right"></u--input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="物流单号" prop="delivery_id" borderBottom>
|
||||||
|
<u--input v-model="model1.delivery_id" border="none" placeholder="请输入物流单号"></u--input>
|
||||||
|
</u-form-item>
|
||||||
|
</block>
|
||||||
|
<block v-if="model_type==2">
|
||||||
|
<u-form-item label="送货人姓名" prop="delivery_name" borderBottom>
|
||||||
|
<u--input v-model="model1.delivery_name" border="none" placeholder="请输入送货人姓名"></u--input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="送货人电话" prop="delivery_id" borderBottom>
|
||||||
|
<u--input v-model="model1.delivery_id" border="none" placeholder="请输入送货人电话"></u--input>
|
||||||
|
</u-form-item>
|
||||||
|
</block>
|
||||||
|
</u--form>
|
||||||
|
<u-button shape='circle' style="margin-top: 80rpx;" color='#20B128' @click="onExpress" text="确认发货"></u-button>
|
||||||
|
<u-picker
|
||||||
|
:show="deliveryNameShow"
|
||||||
|
:columns="[columns]"
|
||||||
|
title="请选择快递公司"
|
||||||
|
@cancel="deliveryNameShow = false"
|
||||||
|
@confirm="changeName"
|
||||||
|
>
|
||||||
|
</u-picker>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { Toast } from "../../libs/uniApi";
|
||||||
|
import {
|
||||||
|
OpurchaseGoodsOfferApi,
|
||||||
|
OpurchaseGoodsOfferListApi,
|
||||||
|
OpurchaseclassExpressApi,
|
||||||
|
ExpressListApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
tabIndex: 1,
|
||||||
|
tabsLeft: 0,
|
||||||
|
tabsRight: 0,
|
||||||
|
loading: false,
|
||||||
|
lists: [],
|
||||||
|
date: "",
|
||||||
|
ycn: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/739c3202405071458553459.png',
|
||||||
|
wcj: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/04c2c202405071501462462.png',
|
||||||
|
ybj: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/274ad202405111523222891.png',
|
||||||
|
model_type: 2,
|
||||||
|
deliveryNameShow: false,
|
||||||
|
deliveryBtnShow: false,
|
||||||
|
model1: {
|
||||||
|
delivery_name: "",
|
||||||
|
delivery_id: "",
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
delivery_name: {
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '不可为空',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
},
|
||||||
|
delivery_id: {
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
message: '不可为空',
|
||||||
|
trigger: ['change', 'blur']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
columns: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
blur1(item){
|
||||||
|
if(item.nums<0) item.nums=0;
|
||||||
|
if(item.nums>item.need_num) item.nums=item.need_num;
|
||||||
|
},
|
||||||
|
blur2(item){
|
||||||
|
if(item.price<0) item.price=0;
|
||||||
|
item.price = (+item.price).toFixed(2)
|
||||||
|
},
|
||||||
|
getTabsPosi() {
|
||||||
|
const {
|
||||||
|
windowWidth
|
||||||
|
} = uni.getSystemInfoSync();
|
||||||
|
this.tabsLeft = (((windowWidth / 2) - 26) / 2)
|
||||||
|
this.tabsRight = (this.tabsLeft + (windowWidth / 2))
|
||||||
|
},
|
||||||
|
async getLists(type) {
|
||||||
|
let that = this
|
||||||
|
OpurchaseGoodsOfferListApi({
|
||||||
|
type: type || this.tabIndex,
|
||||||
|
date: this.date
|
||||||
|
}).then(res => {
|
||||||
|
this.lists = res.data.lists;
|
||||||
|
this.deliveryBtnShow = res.data.extend.delivery ? true : false;
|
||||||
|
this.lists.forEach(item => {
|
||||||
|
if (!(+item.nums)) {
|
||||||
|
item.nums = ''
|
||||||
|
}
|
||||||
|
if (!(+item.price)) {
|
||||||
|
item.price = ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
that.loading = true
|
||||||
|
setTimeout(() => {
|
||||||
|
that.loading = false
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
changeTabs(num) {
|
||||||
|
let that = this
|
||||||
|
this.tabIndex = num
|
||||||
|
this.getLists()
|
||||||
|
},
|
||||||
|
priceBlur(i) {
|
||||||
|
this.lists[i].price = (+this.lists[i].price).toFixed(2)
|
||||||
|
},
|
||||||
|
async submit() {
|
||||||
|
let data =
|
||||||
|
this.lists.filter(item => {
|
||||||
|
return (+item.price && +item.nums)
|
||||||
|
}).map(item => {
|
||||||
|
if(item.nums > item.need_num) item.nums = item.need_num;
|
||||||
|
return {
|
||||||
|
id: item.id,
|
||||||
|
nums: item.nums,
|
||||||
|
price: item.price
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!data.length) return ;
|
||||||
|
let res = await OpurchaseGoodsOfferApi({
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
this.getLists(1)
|
||||||
|
},
|
||||||
|
showDeliver() {
|
||||||
|
this.getAction();
|
||||||
|
this.$refs.deliver.open()
|
||||||
|
},
|
||||||
|
// 发货
|
||||||
|
onExpress() {
|
||||||
|
this.$refs.uForm.validate().then(res=>{
|
||||||
|
OpurchaseclassExpressApi({
|
||||||
|
...this.model1,
|
||||||
|
// date: this.date
|
||||||
|
}).then(res => {
|
||||||
|
this.getLists(2);
|
||||||
|
this.$refs.deliver.close();
|
||||||
|
Toast('发货成功')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 物流公司列表
|
||||||
|
getAction(){
|
||||||
|
ExpressListApi({
|
||||||
|
page_size: 100
|
||||||
|
}).then(res=>{
|
||||||
|
this.columns = res.data.lists.map(item=>item.name);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeName(e){
|
||||||
|
this.model1.delivery_name = e.value[0];
|
||||||
|
this.deliveryNameShow = false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.date = option.date
|
||||||
|
this.getTabsPosi()
|
||||||
|
this.getLists()
|
||||||
|
// OpurchaseGoodsOfferListApi()
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.head {
|
||||||
|
padding: 20rpx;
|
||||||
|
background-color: white;
|
||||||
|
position: relative;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 100vw;
|
||||||
|
z-index: 10;
|
||||||
|
|
||||||
|
.act {
|
||||||
|
color: #20B128;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
width: 26px;
|
||||||
|
height: 5rpx;
|
||||||
|
background-color: #20B128;
|
||||||
|
border-radius: 50rpx;
|
||||||
|
position: absolute;
|
||||||
|
transition: 300ms;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
padding-bottom: 150rpx;
|
||||||
|
|
||||||
|
.card {
|
||||||
|
width: 710rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.card-content {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.card-content-l {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.status {
|
||||||
|
width: 152rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
background-color: rgba(0, 0, 0, .3);
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-content-r {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
width: 500rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.need {
|
||||||
|
color: #777777;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ipt {
|
||||||
|
display: flex;
|
||||||
|
height: 56rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-png {
|
||||||
|
position: absolute;
|
||||||
|
right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-footer {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #060606;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit-btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 70rpx;
|
||||||
|
width: 710rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ellipsis {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deliver {
|
||||||
|
width: 600rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 14rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
</style>
|
145
pages/quote/list.vue
Normal file
145
pages/quote/list.vue
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
<template>
|
||||||
|
<view class="box">
|
||||||
|
|
||||||
|
<!-- <view class="top">
|
||||||
|
<view class="title" style='padding-top: 100rpx;'>
|
||||||
|
<view>
|
||||||
|
</view>
|
||||||
|
报价订单
|
||||||
|
<text style="color: #20B128;" @click="navgo('/pages/quote/supplierFinancialy')">提现</text>
|
||||||
|
</view>
|
||||||
|
<view style="background-color: white;padding: 20rpx;">
|
||||||
|
<u-search :showAction="true" v-model="keyword" :actionStyle="{color:'#20B128'}" actionText="搜索"
|
||||||
|
placeholder="输入商品分类" :animation="true" @search="getLists" @custom='getLists'></u-search>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view> -->
|
||||||
|
<u-empty v-if="lists.length==0" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
|
||||||
|
</u-empty>
|
||||||
|
<view class="content">
|
||||||
|
<view class="li" v-for="(item,index) in lists" :key="index"
|
||||||
|
@click="navgo(`/pages/quote/index?date=${item.name.substring(0, 10)}`)">
|
||||||
|
<view class="li-head" :class="item.status !=0?'act':'' ">
|
||||||
|
<view style="display: flex;align-items: center;font-size: 28rpx;">
|
||||||
|
<u--image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/90b74202405201510453389.png"
|
||||||
|
width="28rpx" height="28rpx" style="margin-right: 10rpx;"></u--image>
|
||||||
|
<text> {{item.name}}</text>
|
||||||
|
</view>
|
||||||
|
<text v-if="item.status ==0"
|
||||||
|
style="margin-right: 10rpx;color: #20B128;padding:4rpx 10rpx;background-color: #E4F6E5;border-radius: 5rpx;">待报价</text>
|
||||||
|
<text v-else
|
||||||
|
style="margin-right: 10rpx;color: #FC452F;padding:4rpx 10rpx;background-color: #FFEBE3;border-radius: 5rpx;">已报价</text>
|
||||||
|
</view>
|
||||||
|
<view style="padding: 20rpx;">
|
||||||
|
商品分类: <text v-for="items in item.class_arr">{{items}}</text>
|
||||||
|
</view>
|
||||||
|
<view style="padding: 0 20rpx;padding-bottom: 20rpx;">
|
||||||
|
商品数量: 共{{item.nums}}种
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="detail" @click="navgo('/pages/quote/supplierFinancialy')">
|
||||||
|
提现
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
OpurchaseGoodsOfferListApi,
|
||||||
|
UserWithdrawListsdate_listsApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyword: '',
|
||||||
|
lists: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async getLists() {
|
||||||
|
let res = await UserWithdrawListsdate_listsApi({
|
||||||
|
// keyword: this.keyword
|
||||||
|
})
|
||||||
|
this.lists = res.data.lists
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.getLists()
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
uni.showTabBar()
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
this.getLists()
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.box {
|
||||||
|
min-height: 95vh;
|
||||||
|
|
||||||
|
.top {
|
||||||
|
position: fixed;
|
||||||
|
width: 100vw;
|
||||||
|
top: 0;
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
padding: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.li {
|
||||||
|
background-color: white;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.li-head {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: #707070;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 22rpx;
|
||||||
|
background: linear-gradient(92deg, rgba(226, 255, 228, 0.3) 0%, #FFFFFF 100%);
|
||||||
|
padding: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.act {
|
||||||
|
background: linear-gradient(86deg, rgba(255, 222, 212, 0.3) 0%, rgba(255, 255, 255, 0.2) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail {
|
||||||
|
width: 88rpx;
|
||||||
|
height: 88rpx;
|
||||||
|
border-radius: 88rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 88rpx;
|
||||||
|
background-color: #50C758;
|
||||||
|
color: white;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 150px;
|
||||||
|
right: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
217
pages/quote/supplierFinancialy.vue
Normal file
217
pages/quote/supplierFinancialy.vue
Normal file
@ -0,0 +1,217 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="total" @click="navgo('/pages/quote/balanceDetail')">
|
||||||
|
<view class="">
|
||||||
|
账户总余额(元)
|
||||||
|
</view>
|
||||||
|
<view style="font-size: 36rpx;">
|
||||||
|
¥{{balance||0.00}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="action">
|
||||||
|
<view class="">
|
||||||
|
提现至
|
||||||
|
</view>
|
||||||
|
<view style="font-weight: bold;" @click="showPop1=true">
|
||||||
|
{{target_bank.is_own?'对公账户':"个人账户"}}
|
||||||
|
</view>
|
||||||
|
<view style="display: flex;align-items: center;color: #20B128;" @click="navgo('/pages/quote/bindAccout')">
|
||||||
|
<text>更换账户</text> <u-icon color="#20B128" name="arrow-right"></u-icon>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="form" v-if='target_bank.bank_name'>
|
||||||
|
<u-form labelPosition="left" borderBottom :label-style="{fontSize:'30rpx'}" ref="form1" labelWidth='70'>
|
||||||
|
<u-form-item label="银行卡" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="target_bank.bank_name" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="持卡人" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="target_bank.name" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="银行账户" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="target_bank.bank_code" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="开户网点" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="target_bank.bank_branch" />
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="提现金额" borderBottom ref="item1">
|
||||||
|
<u-input style="border: none;" v-model="form.money" placeholder="请输入提现金额" />
|
||||||
|
</u-form-item>
|
||||||
|
<text style="color: #999999;font-size: 24rpx;">
|
||||||
|
说明:用户下单后该订单金额存放在暂存金额中,用户确认收货后次日18:00才可提现该笔订单金额
|
||||||
|
提货付款订单在完成后次日18:00才可提现
|
||||||
|
</text>
|
||||||
|
</u-form>
|
||||||
|
</view>
|
||||||
|
<u-empty mode="data" v-else :text='emptyText'
|
||||||
|
icon="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/89e93202405131146497294.png" />
|
||||||
|
<view class="detail" @click="navgo('/pages/quote/financialyDeatil')">
|
||||||
|
明细
|
||||||
|
</view>
|
||||||
|
<view class="submit-btn">
|
||||||
|
<u-button text="提现" @click="submit" shape="circle" color="#50C758"></u-button>
|
||||||
|
</view>
|
||||||
|
<u-popup :show="showPop1" :round="10" mode="bottom" @close="showPop1=false" @open="showPop1=true">
|
||||||
|
<view class="popContent">
|
||||||
|
<view style="text-align: center;font-weight: bold;">请选择提现账户</view>
|
||||||
|
<u-icon name="close" color="#303133" size="24" @click="showPop1=false"
|
||||||
|
style="position: absolute;top: 20rpx;right: 20rpx;"></u-icon>
|
||||||
|
<view class="bank-list">
|
||||||
|
<view class="bank-li" @click="choseAccount(0)">
|
||||||
|
<text>个人账户</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="bank-li" @click="choseAccount(1)">
|
||||||
|
<text>对公账户</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
hasBindAccount,
|
||||||
|
amountAccountApi,
|
||||||
|
UserWithdrawApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
import {
|
||||||
|
Modal
|
||||||
|
} from "../../libs/uniApi"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
balance: '',
|
||||||
|
target_bank: {},
|
||||||
|
emptyText: "撒大声地",
|
||||||
|
form: {
|
||||||
|
money: ''
|
||||||
|
},
|
||||||
|
hasBindAccount: [],
|
||||||
|
showPop1: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
choseAccount(type) {
|
||||||
|
let index = this.hasBindAccount.findIndex(item => item.is_own == type)
|
||||||
|
this.target_bank = this.hasBindAccount[index] || {}
|
||||||
|
this.target_bank.is_own = type
|
||||||
|
this.showPop1 = false
|
||||||
|
},
|
||||||
|
async getHasBindBankList() {
|
||||||
|
let res = await amountAccountApi({})
|
||||||
|
this.balance = res.data.balance
|
||||||
|
this.hasBindAccount = res.data.bank_list
|
||||||
|
this.target_bank = res.data.bank_list[0] || {}
|
||||||
|
|
||||||
|
},
|
||||||
|
async submit() {
|
||||||
|
await Modal("温馨提示", '确认无误后,确定提现')
|
||||||
|
await UserWithdrawApi({
|
||||||
|
"merchant_bank_id": this.target_bank.id,
|
||||||
|
"amount": this.form.money
|
||||||
|
})
|
||||||
|
uni.showToast({
|
||||||
|
title: '提交成功',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
uni.$u.sleep(1500).then(res => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/quote/financialyDeatil'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
uni.showTabBar()
|
||||||
|
this.getHasBindBankList()
|
||||||
|
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
this.getHasBindBankList()
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
min-height: 100vh;
|
||||||
|
|
||||||
|
.total {
|
||||||
|
background-color: #50C758;
|
||||||
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||||
|
color: white;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 42rpx 30rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action {
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||||
|
padding: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
padding: 28rpx 30rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.popContent {
|
||||||
|
padding: 20rpx;
|
||||||
|
|
||||||
|
.bank-list {
|
||||||
|
overflow-y: auto;
|
||||||
|
position: relative;
|
||||||
|
max-height: 40vh;
|
||||||
|
|
||||||
|
.bank-li {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-bottom: 1px solid #F8F9FA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.detail {
|
||||||
|
width: 88rpx;
|
||||||
|
height: 88rpx;
|
||||||
|
border-radius: 88rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 88rpx;
|
||||||
|
background-color: #50C758;
|
||||||
|
color: white;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 300rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit-btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 146rpx;
|
||||||
|
width: 710rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
@ -141,9 +141,6 @@
|
|||||||
}
|
}
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
this.loading = false
|
this.loading = false
|
||||||
}).catch(() => {
|
|
||||||
uni.hideLoading();
|
|
||||||
this.loading = false
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
navgo() {
|
navgo() {
|
||||||
|
@ -219,10 +219,10 @@
|
|||||||
<u-transition :show="step==3" mode="slide-right">
|
<u-transition :show="step==3" mode="slide-right">
|
||||||
<view class="step3" v-if='step==3'>
|
<view class="step3" v-if='step==3'>
|
||||||
<view style="font-size: 36rpx;margin: 50rpx 0 34rpx 0;text-align:center">
|
<view style="font-size: 36rpx;margin: 50rpx 0 34rpx 0;text-align:center">
|
||||||
{{formData.status==0?'店铺等待审核':'店铺审核完成'}}
|
店铺等待审核
|
||||||
</view>
|
</view>
|
||||||
<view style="font-size: 32rpx;font-family: PFR;margin-bottom: 40rpx;text-align:center">
|
<view style="font-size: 32rpx;font-family: PFR;margin-bottom: 40rpx;text-align:center">
|
||||||
{{formData.status==0?'店铺已提交入驻申请':formData.status == 1?'恭喜您的店铺审核成功':'审核失败'}}
|
店铺已提交入驻申请
|
||||||
</view>
|
</view>
|
||||||
<view class="step3-card">
|
<view class="step3-card">
|
||||||
<view class="" style="display: flex;justify-content: space-between;font-size: 32rpx;">
|
<view class="" style="display: flex;justify-content: space-between;font-size: 32rpx;">
|
||||||
@ -289,6 +289,10 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -614,9 +618,6 @@
|
|||||||
if (option.type == 1) {
|
if (option.type == 1) {
|
||||||
this.step = 1
|
this.step = 1
|
||||||
}
|
}
|
||||||
if (option.step) {
|
|
||||||
this.step = 3
|
|
||||||
}
|
|
||||||
if (this.formData.status == 1) {
|
if (this.formData.status == 1) {
|
||||||
getUnimpInfo().then(res => {
|
getUnimpInfo().then(res => {
|
||||||
this.uniMpInfo = res.data
|
this.uniMpInfo = res.data
|
||||||
|
@ -178,9 +178,11 @@
|
|||||||
<view class="menu-box">
|
<view class="menu-box">
|
||||||
<block v-for="(item,index) in personalMenu" :key="index" :id="'target'+index">
|
<block v-for="(item,index) in personalMenu" :key="index" :id="'target'+index">
|
||||||
<view v-if="item.isShow" class="item ">
|
<view v-if="item.isShow" class="item ">
|
||||||
<view @click="authTo(item.url,item.name)" class="item-count">
|
<view @click="authTo(item.url)" class="item-count">
|
||||||
<image v-if="showSkeleton" class="skeleton_image skeleton-radius"></image>
|
<image v-if="showSkeleton" class="skeleton_image skeleton-radius"></image>
|
||||||
<image v-else :src="item.pic" class="targets"></image>
|
<image v-else :src="item.pic" class="targets"
|
||||||
|
:class="'targets'+ (item.name=='供应入驻'?'1335':item.name=='经销入驻'?'1440':'') ">
|
||||||
|
</image>
|
||||||
<text>{{item.name}}</text>
|
<text>{{item.name}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -308,6 +310,12 @@
|
|||||||
import {
|
import {
|
||||||
showTab
|
showTab
|
||||||
} from "@/utils/showTab.js";
|
} from "@/utils/showTab.js";
|
||||||
|
import {
|
||||||
|
getSTokenApi
|
||||||
|
} from "@/api/supplier.js"
|
||||||
|
import {
|
||||||
|
nextTick
|
||||||
|
} from "vue";
|
||||||
const app = getApp();
|
const app = getApp();
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -475,46 +483,27 @@
|
|||||||
onReady() {
|
onReady() {
|
||||||
// #ifdef APP
|
// #ifdef APP
|
||||||
this.isNodes++;
|
this.isNodes++;
|
||||||
let that = this
|
|
||||||
// setTimeout(() => {
|
|
||||||
// const query = uni.createSelectorQuery().in(this);
|
|
||||||
// query
|
|
||||||
// .select(".targets")
|
|
||||||
// .boundingClientRect((data) => {
|
|
||||||
// that.elInfo = data
|
|
||||||
// // #ifdef APP-PLUS
|
|
||||||
// if (Boolean(uni.getStorageSync('newStore'))) {
|
|
||||||
// that.subNvue = uni.getSubNVueById('userSubnvu')
|
|
||||||
// that.subNvue.show('slide-in-left', 300)
|
|
||||||
// uni.$emit('openUserSubnvue', JSON.stringify(data))
|
|
||||||
// }
|
|
||||||
// // #endif
|
|
||||||
// })
|
|
||||||
// .exec();
|
|
||||||
// }, 500)
|
|
||||||
|
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted: function() {
|
mounted: function() {
|
||||||
this.getVersion()
|
this.getVersion()
|
||||||
},
|
},
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
|
this.isSupplierFn()
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
|
this.openDiver()
|
||||||
|
this.openDistrDiver()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const query = uni.createSelectorQuery().in(this);
|
const query = uni.createSelectorQuery().in(this);
|
||||||
query
|
query
|
||||||
.select(".targets")
|
.select(".targets")
|
||||||
.boundingClientRect((data) => {
|
.boundingClientRect((data) => {
|
||||||
that.elInfo = data
|
that.elInfo = data
|
||||||
// #ifdef APP-PLUS
|
|
||||||
if (Boolean(uni.getStorageSync('newStore'))) {
|
if (Boolean(uni.getStorageSync('newStore'))) {
|
||||||
that.subNvue = uni.getSubNVueById('userSubnvu')
|
that.subNvue = uni.getSubNVueById('userSubnvu')
|
||||||
that.subNvue.show('slide-in-left', 300)
|
that.subNvue.show('slide-in-left', 300)
|
||||||
uni.$emit('openUserSubnvue', JSON.stringify(data))
|
uni.$emit('openUserSubnvue', JSON.stringify(data))
|
||||||
}
|
}
|
||||||
// #endif
|
|
||||||
})
|
})
|
||||||
.exec();
|
.exec();
|
||||||
}, 800)
|
}, 800)
|
||||||
@ -541,16 +530,64 @@
|
|||||||
}, 500)
|
}, 500)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
authTo(url, name) {
|
/*供应商tabbar,token,引导页相关*/
|
||||||
if (this.isLogin) {
|
isSupplierFn() {
|
||||||
let txt = "";
|
if (!this.isLogin || uni.getStorageSync('LOGIN_STATUS_STOKEN')) return;
|
||||||
if (this.userInfo && this.userInfo.service && name == "商家入驻") {
|
getSTokenApi().then(res => {
|
||||||
txt = url + '?step=3'
|
if (res.data?.token) {
|
||||||
} else {
|
uni.setStorageSync('LOGIN_STATUS_STOKEN', (res.data?.token || ''))
|
||||||
txt = url;
|
this.$store.commit('SET_STOKEN', res.data?.token);
|
||||||
}
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.log("获取报错", err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/*新供应商入驻引导页*/
|
||||||
|
openDiver() {
|
||||||
|
let isNewSupplier = Boolean(uni.getStorageSync('newSupplier'));
|
||||||
|
if (!isNewSupplier) return;
|
||||||
|
let that = this
|
||||||
|
this.subNvue = uni.getSubNVueById('userNewSupplier')
|
||||||
|
uni.$on('offnewSupplierSubnvue', () => {
|
||||||
|
this.subNvue.hide('slide-out-right');
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
that.subNvue.show('slide-in-left', 300)
|
||||||
|
const query = uni.createSelectorQuery().in(this);
|
||||||
|
query
|
||||||
|
.select('.targets1335')
|
||||||
|
.boundingClientRect((data) => {
|
||||||
|
uni.$emit('openSupplierSubnvue', (data))
|
||||||
|
})
|
||||||
|
.exec();
|
||||||
|
}, 800)
|
||||||
|
},
|
||||||
|
/*新经销商入驻引导页*/
|
||||||
|
openDistrDiver() {
|
||||||
|
let isNewSupplier = Boolean(uni.getStorageSync('newDistribution'));
|
||||||
|
if (!isNewSupplier) return;
|
||||||
|
let that = this
|
||||||
|
this.subNvue = uni.getSubNVueById('userDistr')
|
||||||
|
uni.$on('offnewSupplierSubnvue', () => {
|
||||||
|
this.subNvue.hide('slide-out-right');
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
that.subNvue.show('slide-in-left', 300)
|
||||||
|
const query = uni.createSelectorQuery().in(this);
|
||||||
|
query
|
||||||
|
.select('.targets1440')
|
||||||
|
.boundingClientRect((data) => {
|
||||||
|
uni.$emit('openSupplierSubnvue', (data))
|
||||||
|
})
|
||||||
|
.exec();
|
||||||
|
}, 800)
|
||||||
|
},
|
||||||
|
|
||||||
|
authTo(url) {
|
||||||
|
if (this.isLogin) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: txt
|
url: url
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.openAuto()
|
this.openAuto()
|
||||||
@ -755,8 +792,9 @@
|
|||||||
*/
|
*/
|
||||||
getMyMenus: function() {
|
getMyMenus: function() {
|
||||||
let that = this;
|
let that = this;
|
||||||
if (this.MyMenus.length) return;
|
getMenuList({
|
||||||
getMenuList().then(res => {
|
type: uni.getStorageSync('userType') || null
|
||||||
|
}).then(res => {
|
||||||
that.personalMenu = []
|
that.personalMenu = []
|
||||||
res.data.menu.forEach((item, index) => {
|
res.data.menu.forEach((item, index) => {
|
||||||
that.filterMenus(item)
|
that.filterMenus(item)
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<view class="tips-box" :style="{left:left-13.5,top:top-154}">
|
<view class="tips-box" :style="{left:left-13.5,top:top-154}">
|
||||||
<view class="tips" style="position: absolute;padding-left: 20px;">
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
<view class="tras" :class="{act:isAct}">
|
<view class="tras" :class="{act:isAct}">
|
||||||
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击商户入驻,轻松开店</text>
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击我的页面,进行商户入驻</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<image src="/static/images/starpng.png" class="start" mode="">
|
<image src="/static/images/starpng.png" class="start" mode="">
|
||||||
|
166
pages/user/subnvue/userDistr.nvue
Normal file
166
pages/user/subnvue/userDistr.nvue
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
<template>
|
||||||
|
<view class="">
|
||||||
|
<view class="jump" @click="next">
|
||||||
|
<text class="font">跳过</text>
|
||||||
|
</view>
|
||||||
|
<view class="next-btn center" :style="{ left:screenWidth/2,top:(screenHeight-96)}">
|
||||||
|
<text class="next-btn-text font" style="line-height: 76rpx;" @click="next">我知道了</text>
|
||||||
|
</view>
|
||||||
|
<view class="target" :style="{left:left-20,top:top-13.5}" @click="next">
|
||||||
|
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/af251202405251345514747.png"
|
||||||
|
class="target-icon"></image>
|
||||||
|
<text class="target-text">经销入驻</text>
|
||||||
|
</view>
|
||||||
|
<view :style="{left:left-20+'px',top:top-70+'px'}" class="trans1">
|
||||||
|
<image src="/static/images/pointer.png" style="width: 254rpx;height: 254rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="tips-box" :style="{left:left-100,top:top-170}">
|
||||||
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
|
<view class="tras" :class="{act:isAct}">
|
||||||
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击我的页面,进行经销商入驻</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/starpng.png" class="start" mode="">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/greenLine.png" class="greenLine" :style="{left:left-3.5,top:top-70}" mode="">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
screenHeight: 0,
|
||||||
|
screenWidth: 0,
|
||||||
|
isAct: false,
|
||||||
|
left: 0,
|
||||||
|
top: 0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
next() {
|
||||||
|
uni.$emit('offnewSupplierSubnvue');
|
||||||
|
uni.setStorageSync("newDistribution", false)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
let that = this
|
||||||
|
uni.$on('openSupplierSubnvue', (data) => {
|
||||||
|
this.left = data.left
|
||||||
|
this.top = data.top
|
||||||
|
})
|
||||||
|
const res = uni.getSystemInfo({
|
||||||
|
success: (res => {
|
||||||
|
this.screenHeight = res.screenHeight
|
||||||
|
this.screenWidth = res.screenWidth
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.jump {
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 80rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: white;
|
||||||
|
lines: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn {
|
||||||
|
position: absolute;
|
||||||
|
width: 240rpx;
|
||||||
|
height: 76rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
border-radius: 38rpx;
|
||||||
|
background: rgba(255, 255, 255, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.target {
|
||||||
|
width: 136rpx;
|
||||||
|
height: 136rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 136rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-icon {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
top: 68rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-text {
|
||||||
|
font-size: 20rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
top: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pointer {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips-box {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 178rpx;
|
||||||
|
position: absolute;
|
||||||
|
padding-top: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start {
|
||||||
|
width: 72rpx;
|
||||||
|
height: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 106rpx;
|
||||||
|
background-color: #5BE157;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.tras {
|
||||||
|
width: 462rpx;
|
||||||
|
transition-property: width;
|
||||||
|
transition-duration: 3s;
|
||||||
|
transition-delay: 0.1s;
|
||||||
|
transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.act {
|
||||||
|
width: 462rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.greenLine {
|
||||||
|
width: 35px;
|
||||||
|
height: 60px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
</style>
|
167
pages/user/subnvue/userNewSupplier.nvue
Normal file
167
pages/user/subnvue/userNewSupplier.nvue
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
<template>
|
||||||
|
<view class="">
|
||||||
|
<view class="jump" @click="next">
|
||||||
|
<text class="font">跳过</text>
|
||||||
|
</view>
|
||||||
|
<view class="next-btn center" :style="{ left:screenWidth/2,top:(screenHeight-96)}">
|
||||||
|
<text class="next-btn-text font" style="line-height: 76rpx;" @click="next">我知道了</text>
|
||||||
|
</view>
|
||||||
|
<view class="target" :style="{left:left-20,top:top-13.5}" @click="next">
|
||||||
|
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/attach/c251a202405251344552292.png"
|
||||||
|
class="target-icon"></image>
|
||||||
|
<text class="target-text">供应入驻</text>
|
||||||
|
</view>
|
||||||
|
<view :style="{left:left-20+'px',top:top-70+'px'}" class="trans1">
|
||||||
|
<image src="/static/images/pointer.png" style="width: 254rpx;height: 254rpx;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="tips-box" :style="{left:left-100,top:top-170}">
|
||||||
|
<view class="tips" style="position: absolute;padding-left: 20px;">
|
||||||
|
<view class="tras" :class="{act:isAct}">
|
||||||
|
<text style="font-size: 28rpx;line-height: 100rpx;color: white;">点击我的页面,进行供应商入驻</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/starpng.png" class="start" mode="">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<image src="/static/images/greenLine.png" class="greenLine" :style="{left:left-3.5,top:top-70}" mode="">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
screenHeight: 0,
|
||||||
|
screenWidth: 0,
|
||||||
|
isAct: false,
|
||||||
|
left: 0,
|
||||||
|
top: 0,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
next() {
|
||||||
|
uni.$emit('offnewSupplierSubnvue');
|
||||||
|
uni.setStorageSync("newSupplier", false)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
let that = this
|
||||||
|
uni.$on('openSupplierSubnvue', (data) => {
|
||||||
|
console.log('接收消息', data.top, data.left)
|
||||||
|
this.left = data.left
|
||||||
|
this.top = data.top
|
||||||
|
})
|
||||||
|
const res = uni.getSystemInfo({
|
||||||
|
success: (res => {
|
||||||
|
this.screenHeight = res.screenHeight
|
||||||
|
this.screenWidth = res.screenWidth
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.jump {
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
top: 80rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: white;
|
||||||
|
lines: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.next-btn {
|
||||||
|
position: absolute;
|
||||||
|
width: 240rpx;
|
||||||
|
height: 76rpx;
|
||||||
|
border: 1px solid white;
|
||||||
|
border-radius: 38rpx;
|
||||||
|
background: rgba(255, 255, 255, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.target {
|
||||||
|
width: 136rpx;
|
||||||
|
height: 136rpx;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 136rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-icon {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
top: 68rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.target-text {
|
||||||
|
font-size: 20rpx;
|
||||||
|
position: absolute;
|
||||||
|
left: 68rpx;
|
||||||
|
transform: translate(-50%, 0);
|
||||||
|
top: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pointer {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips-box {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 178rpx;
|
||||||
|
position: absolute;
|
||||||
|
padding-top: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.start {
|
||||||
|
width: 72rpx;
|
||||||
|
height: 72rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips {
|
||||||
|
width: 462rpx;
|
||||||
|
height: 106rpx;
|
||||||
|
background-color: #5BE157;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.tras {
|
||||||
|
width: 462rpx;
|
||||||
|
transition-property: width;
|
||||||
|
transition-duration: 3s;
|
||||||
|
transition-delay: 0.1s;
|
||||||
|
transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.act {
|
||||||
|
width: 462rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.greenLine {
|
||||||
|
width: 35px;
|
||||||
|
height: 60px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
</style>
|
@ -321,6 +321,7 @@
|
|||||||
wechatAppAuth,
|
wechatAppAuth,
|
||||||
appleAppAuth
|
appleAppAuth
|
||||||
} from '@/api/api.js'
|
} from '@/api/api.js'
|
||||||
|
|
||||||
// #endif
|
// #endif
|
||||||
import attrs, {
|
import attrs, {
|
||||||
required,
|
required,
|
||||||
@ -480,7 +481,6 @@
|
|||||||
});
|
});
|
||||||
that.$store.commit("SETUID", data.user.uid);
|
that.$store.commit("SETUID", data.user.uid);
|
||||||
that.$store.commit('UPDATE_USERINFO', data.user);
|
that.$store.commit('UPDATE_USERINFO', data.user);
|
||||||
|
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
'/pages/goods_cate/goods_cate',
|
'/pages/goods_cate/goods_cate',
|
||||||
@ -600,7 +600,6 @@
|
|||||||
});
|
});
|
||||||
that.$store.commit("SETUID", data.result.user.uid);
|
that.$store.commit("SETUID", data.result.user.uid);
|
||||||
that.$store.commit('UPDATE_USERINFO', data.result.user);
|
that.$store.commit('UPDATE_USERINFO', data.result.user);
|
||||||
|
|
||||||
let method
|
let method
|
||||||
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
let indexPat = ['/pages/index/index', '/pages/order_addcart/order_addcart',
|
||||||
'/pages/goods_cate/goods_cate',
|
'/pages/goods_cate/goods_cate',
|
||||||
@ -1238,10 +1237,9 @@
|
|||||||
|
|
||||||
// 账号密码验证通过后的逻辑
|
// 账号密码验证通过后的逻辑
|
||||||
submitSuccess(data) {
|
submitSuccess(data) {
|
||||||
console.log(data, 'hanshu')
|
|
||||||
let that = this
|
let that = this
|
||||||
this.checkOpenId(data.user)
|
this.checkOpenId(data.user)
|
||||||
let backUrl = that.$Cache.get('login_back_url_weixin') || that.$Cache.get(BACK_URL) ||
|
const backUrl = that.$Cache.get('login_back_url_weixin') || that.$Cache.get(BACK_URL) ||
|
||||||
"/pages/index/index";
|
"/pages/index/index";
|
||||||
that.$store.commit("LOGIN", {
|
that.$store.commit("LOGIN", {
|
||||||
'token': data.token,
|
'token': data.token,
|
||||||
@ -1264,9 +1262,6 @@
|
|||||||
'/pages/goods_cate/goods_cate',
|
'/pages/goods_cate/goods_cate',
|
||||||
'/pages/user/index'
|
'/pages/user/index'
|
||||||
]
|
]
|
||||||
// #ifdef H5
|
|
||||||
backUrl = backUrl.replace('/h5', '')
|
|
||||||
// #endif
|
|
||||||
if (indexPat.includes(this.getPath(backUrl))) {
|
if (indexPat.includes(this.getPath(backUrl))) {
|
||||||
method = 'switchTab'
|
method = 'switchTab'
|
||||||
} else {
|
} else {
|
||||||
@ -1347,6 +1342,7 @@
|
|||||||
phone: this.account,
|
phone: this.account,
|
||||||
jg_register_id: result.registerID
|
jg_register_id: result.registerID
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
|
uni.setStorageSync('jg_id', result.registerID)
|
||||||
console.log("绑定成功", res);
|
console.log("绑定成功", res);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log("绑定失败", err);
|
console.log("绑定失败", err);
|
||||||
@ -1362,7 +1358,6 @@
|
|||||||
uni.preLogin({
|
uni.preLogin({
|
||||||
provider: 'univerify',
|
provider: 'univerify',
|
||||||
success() {
|
success() {
|
||||||
console.log("当前环境支持一键登录")
|
|
||||||
uni.login({
|
uni.login({
|
||||||
provider: 'univerify',
|
provider: 'univerify',
|
||||||
univerifyStyle: oneClickStyle,
|
univerifyStyle: oneClickStyle,
|
||||||
@ -1382,18 +1377,6 @@
|
|||||||
title: '登录失败,请稍后再试'
|
title: '登录失败,请稍后再试'
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
// uniCloud.callFunction({
|
|
||||||
// name: 'oneClickLoginFn',
|
|
||||||
// data: {
|
|
||||||
// 'access_token': res.authResult
|
|
||||||
// .access_token,
|
|
||||||
// 'openid': res.authResult.openid
|
|
||||||
// }
|
|
||||||
// }).then(res => {
|
|
||||||
// console.log(res, '登录成功后的res')
|
|
||||||
// }).catch(err => {
|
|
||||||
// console.log(err, 'ererre')
|
|
||||||
// })
|
|
||||||
},
|
},
|
||||||
fail(res) { // 登录失败
|
fail(res) { // 登录失败
|
||||||
console.log(res.errCode)
|
console.log(res.errCode)
|
||||||
@ -1403,7 +1386,7 @@
|
|||||||
},
|
},
|
||||||
fail(res) {
|
fail(res) {
|
||||||
that.$util.Tips({
|
that.$util.Tips({
|
||||||
title: '当前环境不支持一键登录'
|
title: '登录失败,开起数据流量后重新登录'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -891,8 +891,7 @@
|
|||||||
|
|
||||||
this.loadend = false;
|
this.loadend = false;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.orderList = [];
|
this.$set(this, 'orderList', []);
|
||||||
this.sale_type = type;
|
|
||||||
|
|
||||||
if (this.orderStatus == 4) {
|
if (this.orderStatus == 4) {
|
||||||
this.refundParam.identity = type;
|
this.refundParam.identity = type;
|
||||||
@ -905,6 +904,7 @@
|
|||||||
this.getUserInfo();
|
this.getUserInfo();
|
||||||
this.getpreSellOrderList();
|
this.getpreSellOrderList();
|
||||||
}
|
}
|
||||||
|
this.sale_type = type;
|
||||||
},
|
},
|
||||||
|
|
||||||
// 获取退款列表
|
// 获取退款列表
|
||||||
|
@ -195,7 +195,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<loadmore :type="isLoading" v-if="isLoading || hostProduct.length > 0" style="padding: 12rpx 0;">
|
<loadmore :type="isLoading" v-if="isLoading || hostProduct.length > 0"
|
||||||
|
style="background-color: #fff;padding: 12rpx 0;">
|
||||||
</loadmore>
|
</loadmore>
|
||||||
<view class='pictrue' v-if="!isLoading && hostProduct.length == 0">
|
<view class='pictrue' v-if="!isLoading && hostProduct.length == 0">
|
||||||
<image :src="`${domain}/static/images/noCart.png`"></image>
|
<image :src="`${domain}/static/images/noCart.png`"></image>
|
||||||
@ -350,6 +351,7 @@
|
|||||||
|
|
||||||
onShow() {
|
onShow() {
|
||||||
this.isIndexClick = false;
|
this.isIndexClick = false;
|
||||||
|
this.isSupplierFn()
|
||||||
},
|
},
|
||||||
|
|
||||||
onPageScroll(e) {
|
onPageScroll(e) {
|
||||||
@ -384,6 +386,18 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
/*供应商tabbar,token,引导页相关*/
|
||||||
|
isSupplierFn() {
|
||||||
|
if (!this.isLogin || uni.getStorageSync('LOGIN_STATUS_STOKEN')) return;
|
||||||
|
getSTokenApi().then(res => {
|
||||||
|
if (res.data?.token) {
|
||||||
|
uni.setStorageSync('LOGIN_STATUS_STOKEN', (res.data?.token || ''))
|
||||||
|
this.$store.commit('SET_STOKEN', res.data?.token);
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.log("获取报错", err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
// 下拉加载
|
// 下拉加载
|
||||||
onPulling() {
|
onPulling() {
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.0 KiB |
BIN
static/tabbar_icon/bjd.png
Normal file
BIN
static/tabbar_icon/bjd.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1023 B |
BIN
static/tabbar_icon/bjdact.png
Normal file
BIN
static/tabbar_icon/bjdact.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
@ -13,6 +13,7 @@ import {
|
|||||||
} from "../../api/user.js";
|
} from "../../api/user.js";
|
||||||
import {
|
import {
|
||||||
LOGIN_STATUS,
|
LOGIN_STATUS,
|
||||||
|
LOGIN_STATUS_S,
|
||||||
UID,
|
UID,
|
||||||
USER_INFO
|
USER_INFO
|
||||||
} from '../../config/cache';
|
} from '../../config/cache';
|
||||||
@ -28,6 +29,7 @@ import {
|
|||||||
const state = {
|
const state = {
|
||||||
location: Cache.get('LOCATION_DATA', true) || {},
|
location: Cache.get('LOCATION_DATA', true) || {},
|
||||||
token: Cache.get(LOGIN_STATUS) || null,
|
token: Cache.get(LOGIN_STATUS) || null,
|
||||||
|
s_token: uni.getStorageSync(LOGIN_STATUS_S) || null,
|
||||||
uuid: uni.getStorageSync('uuid') || "",
|
uuid: uni.getStorageSync('uuid') || "",
|
||||||
backgroundColor: "#fff",
|
backgroundColor: "#fff",
|
||||||
userInfo: (typeof Cache.get('USER_INFO') == 'string' ? JSON.parse(Cache.get('USER_INFO')) : Cache.get(
|
userInfo: (typeof Cache.get('USER_INFO') == 'string' ? JSON.parse(Cache.get('USER_INFO')) : Cache.get(
|
||||||
@ -52,6 +54,9 @@ const mutations = {
|
|||||||
Cache.set(LOGIN_STATUS, opt.token, opt.time);
|
Cache.set(LOGIN_STATUS, opt.token, opt.time);
|
||||||
uni.removeStorageSync('auth_token');
|
uni.removeStorageSync('auth_token');
|
||||||
},
|
},
|
||||||
|
SET_STOKEN(state, s_token) {
|
||||||
|
state.s_token = s_token
|
||||||
|
},
|
||||||
SET_USERINFO(state, opt) {
|
SET_USERINFO(state, opt) {
|
||||||
state.userInfo = opt;
|
state.userInfo = opt;
|
||||||
Cache.set(USER_INFO, opt);
|
Cache.set(USER_INFO, opt);
|
||||||
@ -72,6 +77,7 @@ const mutations = {
|
|||||||
state.token = null;
|
state.token = null;
|
||||||
state.uid = null
|
state.uid = null
|
||||||
Cache.clear(LOGIN_STATUS);
|
Cache.clear(LOGIN_STATUS);
|
||||||
|
Cache.clear(LOGIN_STATUS_S);
|
||||||
Cache.clear(UID);
|
Cache.clear(UID);
|
||||||
},
|
},
|
||||||
BACKGROUND_COLOR(state, color) {
|
BACKGROUND_COLOR(state, color) {
|
||||||
|
@ -9,13 +9,17 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import {
|
import {
|
||||||
HTTP_REQUEST_URL,
|
HTTP_REQUEST_URL,
|
||||||
|
HTTP_REQUEST_URL_TWO,
|
||||||
HEADER,
|
HEADER,
|
||||||
TOKENNAME
|
TOKENNAME
|
||||||
} from '@/config/app';
|
} from '@/config/app';
|
||||||
import { checkLogin } from '../libs/login';
|
import {
|
||||||
|
checkLogin
|
||||||
|
} from '../libs/login';
|
||||||
import store from '../store';
|
import store from '../store';
|
||||||
import pako from '../plugin/pako/pako.es5.min.js'
|
import pako from '../plugin/pako/pako.es5.min.js'
|
||||||
function toLogin(){
|
|
||||||
|
function toLogin() {
|
||||||
store.commit("LOGOUT");
|
store.commit("LOGOUT");
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '请登录',
|
title: '请登录',
|
||||||
@ -23,11 +27,13 @@ function toLogin(){
|
|||||||
duration: 1000
|
duration: 1000
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function decompress(str) {
|
function decompress(str) {
|
||||||
return pako.inflateRaw(base64ToUint8Array(str), {
|
return pako.inflateRaw(base64ToUint8Array(str), {
|
||||||
to: 'string'
|
to: 'string'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function base64ToUint8Array(base64String) {
|
function base64ToUint8Array(base64String) {
|
||||||
let padding = '='.repeat((4 - base64String.length % 4) % 4);
|
let padding = '='.repeat((4 - base64String.length % 4) % 4);
|
||||||
let base64 = (base64String + padding)
|
let base64 = (base64String + padding)
|
||||||
@ -40,6 +46,7 @@ function base64ToUint8Array(base64String) {
|
|||||||
}
|
}
|
||||||
return outputArray;
|
return outputArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
function atob(input) {
|
function atob(input) {
|
||||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
||||||
let str = input.replace(/=+$/, '');
|
let str = input.replace(/=+$/, '');
|
||||||
@ -70,7 +77,7 @@ function baseRequest(url, method, data, {
|
|||||||
enLoad = false //终止上一个接口相同类型正在请求的接口, 防止快速切换tab时页面抖动
|
enLoad = false //终止上一个接口相同类型正在请求的接口, 防止快速切换tab时页面抖动
|
||||||
}) {
|
}) {
|
||||||
let Url = HTTP_REQUEST_URL,
|
let Url = HTTP_REQUEST_URL,
|
||||||
header = HEADER;
|
header = uni.$u.deepClone(HEADER);
|
||||||
if (!noAuth) {
|
if (!noAuth) {
|
||||||
//登录过期自动登录
|
//登录过期自动登录
|
||||||
if (!store.state.app.token && !checkLogin()) {
|
if (!store.state.app.token && !checkLogin()) {
|
||||||
@ -81,15 +88,15 @@ function baseRequest(url, method, data, {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
let URL = Url + '/api/' + url
|
let URL = Url + '/api/' + url
|
||||||
if(enLoad) {
|
if (enLoad) {
|
||||||
let http = HTTP_list.get(URL);
|
let http = HTTP_list.get(URL);
|
||||||
if(http){
|
if (http) {
|
||||||
http.abort();
|
http.abort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HTTP_list.delete(URL);
|
HTTP_list.delete(URL);
|
||||||
if (store.state.app.token) header[TOKENNAME] = 'Bearer ' + store.state.app.token;
|
if (store.state.app.token) header[TOKENNAME] = 'Bearer ' + store.state.app.token;
|
||||||
if(store.state.app.uuid) header['uuid'] = store.state.app.uuid
|
if (store.state.app.uuid) header['uuid'] = store.state.app.uuid
|
||||||
return new Promise((reslove, reject) => {
|
return new Promise((reslove, reject) => {
|
||||||
let http = uni.request({
|
let http = uni.request({
|
||||||
url: URL,
|
url: URL,
|
||||||
@ -98,10 +105,9 @@ function baseRequest(url, method, data, {
|
|||||||
data: data || {},
|
data: data || {},
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
if (res.data && res.data.encode) {
|
if (res.data && res.data.encode) {
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
res.data = JSON.parse(decompress(res.data.data));
|
res.data = JSON.parse(decompress(res.data.data));
|
||||||
}catch(e){
|
} catch (e) {
|
||||||
res.data = decompress(decodeURI(res.data.data));
|
res.data = decompress(decodeURI(res.data.data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,7 +135,7 @@ function baseRequest(url, method, data, {
|
|||||||
// if(enLoad) HTTP_list.delete(URL);
|
// if(enLoad) HTTP_list.delete(URL);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if(enLoad) HTTP_list.set(URL, http);
|
if (enLoad) HTTP_list.set(URL, http);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const request = {};
|
const request = {};
|
||||||
|
131
utils/requestSupplier.js
Normal file
131
utils/requestSupplier.js
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import {
|
||||||
|
HTTP_REQUEST_URL_TWO,
|
||||||
|
HEADER,
|
||||||
|
TOKENNAME
|
||||||
|
} from '@/config/app';
|
||||||
|
import {
|
||||||
|
checkLogin
|
||||||
|
} from '../libs/login';
|
||||||
|
import store from '../store';
|
||||||
|
import pako from '../plugin/pako/pako.es5.min.js'
|
||||||
|
import {
|
||||||
|
Tips
|
||||||
|
} from "@/utils/util.js"
|
||||||
|
|
||||||
|
function toLogin() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function decompress(str) {
|
||||||
|
return pako.inflateRaw(base64ToUint8Array(str), {
|
||||||
|
to: 'string'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function base64ToUint8Array(base64String) {
|
||||||
|
let padding = '='.repeat((4 - base64String.length % 4) % 4);
|
||||||
|
let base64 = (base64String + padding)
|
||||||
|
.replace(/\-/g, '+')
|
||||||
|
.replace(/_/g, '/');
|
||||||
|
let rawData = atob(base64);
|
||||||
|
let outputArray = new Uint8Array(rawData.length);
|
||||||
|
for (var i = 0; i < rawData.length; ++i) {
|
||||||
|
outputArray[i] = rawData.charCodeAt(i);
|
||||||
|
}
|
||||||
|
return outputArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
function atob(input) {
|
||||||
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
||||||
|
let str = input.replace(/=+$/, '');
|
||||||
|
let output = '';
|
||||||
|
if (str.length % 4 === 1) {
|
||||||
|
throw new Error('InvalidLengthError');
|
||||||
|
}
|
||||||
|
for (let i = 0, len = str.length; i < len; i += 4) {
|
||||||
|
const a = chars.indexOf(str.charAt(i));
|
||||||
|
const b = chars.indexOf(str.charAt(i + 1));
|
||||||
|
const c = chars.indexOf(str.charAt(i + 2));
|
||||||
|
const d = chars.indexOf(str.charAt(i + 3));
|
||||||
|
const sum = (a << 18) | (b << 12) | (c << 6) | d;
|
||||||
|
output += String.fromCharCode((sum >> 16) & 0xFF, (sum >> 8) & 0xFF, sum & 0xFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
var HTTP_list = new Map();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送请求
|
||||||
|
*/
|
||||||
|
let that = this
|
||||||
|
|
||||||
|
function baseRequest(url, method, data, {
|
||||||
|
noAuth = false,
|
||||||
|
noVerify = false,
|
||||||
|
tokenName = 0, //判断token名称,值的Boolean值为true时为X-token,一般为token
|
||||||
|
enLoad = false //终止上一个接口相同类型正在请求的接口, 防止快速切换tab时页面抖动
|
||||||
|
}) {
|
||||||
|
let Url = HTTP_REQUEST_URL_TWO,
|
||||||
|
header = uni.$u.deepClone(HEADER);
|
||||||
|
let URL = Url + '/api/' + url
|
||||||
|
if (enLoad) {
|
||||||
|
let http = HTTP_list.get(URL);
|
||||||
|
if (http) {
|
||||||
|
http.abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
HTTP_list.delete(URL);
|
||||||
|
|
||||||
|
if (tokenName) {
|
||||||
|
// if (store.state.app.token) header[TOKENNAME] = 'Bearer' + store.state.app.token;
|
||||||
|
if (store.state.app.token) header[TOKENNAME] = 'Bearer ' + store.state.app.token;
|
||||||
|
} else {
|
||||||
|
if (store.state.app.s_token) header['Token'] = store.state.app.s_token;
|
||||||
|
}
|
||||||
|
if (store.state.app.uuid) header['uuid'] = store.state.app.uuid
|
||||||
|
return new Promise((reslove, reject) => {
|
||||||
|
let http = uni.request({
|
||||||
|
url: URL,
|
||||||
|
method: method || 'GET',
|
||||||
|
header: header,
|
||||||
|
data: data || {},
|
||||||
|
success: (res) => {
|
||||||
|
console.log(res.data.show)
|
||||||
|
if (res.data.code == 1) {
|
||||||
|
reslove(res.data, res);
|
||||||
|
}
|
||||||
|
if (res.data.show) {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.data.msg,
|
||||||
|
icon: 'none'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
reslove(res.data, res);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: (message) => {
|
||||||
|
reject('请求失败');
|
||||||
|
},
|
||||||
|
complete: () => {
|
||||||
|
// if(enLoad) HTTP_list.delete(URL);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (enLoad) HTTP_list.set(URL, http);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const request = {};
|
||||||
|
['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
|
||||||
|
request[method] = (api, data, opt) => baseRequest(api, method, data, opt || {})
|
||||||
|
});
|
||||||
|
export default request;
|
@ -1,23 +1,23 @@
|
|||||||
// 控制tabbar是否显示
|
// 控制tabbar是否显示
|
||||||
import store from "@/store/index.js"
|
import store from "@/store/index.js"
|
||||||
|
|
||||||
export const showTab = (data)=>{
|
const setTab = (index, visible) => {
|
||||||
|
uni.setTabBarItem({
|
||||||
|
index,
|
||||||
|
visible,
|
||||||
|
fail: (e) => {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const showTab = (data) => {
|
||||||
|
setTab(4, Boolean(uni.getStorageSync('LOGIN_STATUS_STOKEN')))
|
||||||
|
setTab(3, !Boolean(uni.getStorageSync('LOGIN_STATUS_STOKEN')))
|
||||||
let user = data || store.state.app.userInfo;
|
let user = data || store.state.app.userInfo;
|
||||||
if(user.mer_info&&user.mer_info.mer_settlement_agree_status){
|
if (user.mer_info && user.mer_info.mer_settlement_agree_status) {
|
||||||
uni.setTabBarItem({
|
setTab(1, true)
|
||||||
index: 1,
|
} else {
|
||||||
visible: true,
|
setTab(1, false)
|
||||||
fail:(e)=>{
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}else {
|
|
||||||
uni.setTabBarItem({
|
|
||||||
index: 1,
|
|
||||||
visible: false,
|
|
||||||
fail:(e)=>{
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user