一键登录

dev
zhouzhenyuan 1 year ago
parent 5ece2d6aad
commit af98d83b3c
  1. 7
      api/help.js
  2. 27
      api/member/index.js
  3. 34
      pages/login/components/mp-weixin-mobile.vue
  4. 25
      pages/login/index.vue
  5. 253
      pages/member/index.vue
  6. 20
      pages/memberInfo/index.vue
  7. 59
      pages/news1/help.vue
  8. 435
      pages/news1/huoyuan.vue
  9. 46
      pages/user/index.vue

@ -3,7 +3,8 @@ import request from '@/utils/request'
// api地址
const api = {
list: 'help/list',
helpList:'article/helpCenter'
helpList:'article/helpCenter',
addGoodsSource:'user/addGoodsSource'
}
// 帮助中心列表
@ -13,4 +14,8 @@ export const list = (param) => {
// 帮助中心列表
export const helpList = (param) => {
return request.get(api.helpList, param)
}
// 我要找货
export const addGoodsSource = (param) => {
return request.post(api.addGoodsSource, param)
}

@ -0,0 +1,27 @@
import request from '@/utils/request'
// api地址
const api = {
info: 'identity/userPriceList',
submit:'identity/submit',
dealerPriceList:'identity/dealerPriceList',
userOpenCardLog:'identity/userOpenCardLog'
}
// 会员信息
export const info = (param) => {
return request.post(api.info, param)
}
// 分销会员信息
export const dealerPriceList = (param) => {
return request.post(api.dealerPriceList, param)
}
// 会员信息
export const submit = (param) => {
return request.post(api.submit, param)
}
//
export const userOpenCardLog = (param) => {
return request.post(api.userOpenCardLog, param)
}

@ -15,23 +15,18 @@
import { isEmpty, inArray } from '@/utils/util'
export default {
props: {
//
isParty: {
type: Boolean,
default: () => false
},
//
partyData: {
type: Object
}
},
data() {
return {
// (code)
// openid
code: ''
code: '',
userInfo:{},
partyData:{
// oauth:'MP-WEIXIN'
},
isParty:true,
}
},
@ -59,7 +54,7 @@
encryptedData: detail.encryptedData,
iv: detail.iv,
isParty: app.isParty,
partyData: app.partyData,
partyData: app.userInfo,
refereeId: store.getters.refereeId
})
.then(result => {
@ -88,11 +83,24 @@
// code
// https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html
getCode() {
const that = this
return new Promise((resolve, reject) => {
uni.login({
provider: 'weixin',
success: res => {
console.log('code', res.code)
uni.getUserInfo({
provider: 'weixin',
success: function(info) {
console.log(info,'用户信息')
that.userInfo.nickName = info.userInfo.nickName
that.userInfo.gender = info.userInfo.gender
that.userInfo.avatarUrl = info.userInfo.avatarUrl
// if(info.userInfo){
// that.isParty = true
// }
}
})
resolve(res.code)
},
fail: reject

@ -10,9 +10,8 @@
<view class="login-bd">
<view class="a">+86<input v-model="phoneNum" type="tel" placeholder="请输入手机号" /></view>
<view class="b">
<input v-model="semCode" placeholder="请输入验证码" />
<text @click="getCode"
v-if="!showCountDown">获取验证码</text>
<input v-model="semCode" placeholder="请输入验证码" />
<text @click="getCode" v-if="!showCountDown">获取验证码</text>
<text v-if="showCountDown">{{countdown}}</text>
</view>
<view class="c">
@ -20,14 +19,23 @@
</view>
</view>
<view class="login-fd login-fd-on" @click="login">登录</view>
<view class="">
<mpWeiXinMobile></mpWeiXinMobile>
</view>
</view>
</template>
<script>
import img from "@/static/news/login-bg.png"
import img from "@/static/news/login-bg.png";
import * as CaptchaApi from '@/api/captcha';
import store from '@/store'
import mpWeiXinMobile from './components/mp-weixin-mobile.vue'
import store from '@/store';
import { isEmpty } from '@/utils/util'
export default {
components:{
mpWeiXinMobile
},
data() {
return {
showCountDown: false,
@ -40,9 +48,14 @@
semCode: '',
countdown: 60,
countDownFun: null,
code: '',
}
},
onShow() {
},
methods: {
validatePhoneNumber(phone) {
//
var regExp = /^1[3456789]\d{9}$/;
@ -71,7 +84,7 @@
that.countdown = 60
clearInterval(that.countDownFun)
}
}, 1000)
CaptchaApi.sendSmsCaptcha({
form: {

@ -5,22 +5,21 @@
:background="background"></u-navbar>
</view>
<view class="khy">
开通Ultra会员人均立省<text>2389</text>
<image src="/static/order/left.png" mode=""></image>
开通<text v-if="type=='fx'">分销</text>会员人均立省<text>2389</text>
</view>
<view class="tips">
<image src="/static/default-logo.png" mode="" class="headIcon"></image>
<view class="meInfo">
<view class="info">
<view class="name">
Deioio
{{userInfo.nick_name}}
</view>
<view class="hy">
v月卡会员
{{userInfo.user_type_text}}
</view>
</view>
<view class="time">
有效期至2024.01.21
有效期至{{userInfo.effective_time}}
</view>
</view>
<view class="buyInfo" @click="goBuyInfo">
@ -30,174 +29,257 @@
</view>
<view class="notVip">
<view class="openVip">
开通Ultra会员获得以下 <text>10</text>特权
开通<text v-if="type=='fx'">分销</text>会员获得以下 <text>10</text>特权
</view>
<view class="vipList">
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<view class="vipInfo">
天天免邮
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/lp.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
超低会员价
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/dz.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
折上95折
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/th.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
退换免运费
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/cx.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
促销福利
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/tq.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
极速售后
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
门店特权
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/cj.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
不回本退差价
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/tg.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
团购优惠券
</view>
</view>
<view class="vipItem">
<image src="/static/member/my.png" mode="" class="itemImg"></image>
<image src="/static/member/jf.png" mode="" class="itemImg"></image>
<view class="vipInfo">
{{item.name}}
双倍积分
</view>
</view>
</view>
<view class="choseType">
<view class="typeTitle">
选择开卡套餐
选择 <text v-if="userInfo.effective_time">续费</text> <text v-if="!userInfo.effective_time">开卡</text> 套餐
</view>
<view class="typeList">
<view class="first common" v-for="(item,index) in 3" :key="index"
:style="{'border':isChose==index?'2rpx solid #F34A40':none}">
<view class="first common" v-for="(item,index) in packageList" :key="index"
:style="{'border':isChose==index?'2rpx solid #F34A40':none}" @click="chosePackage(item,index)">
<view class="limitPrice" v-if="index==0">
限时活动价
</view>
<view class="timeLong" :style="{'marginTop':isChose!=index?'62rpx':0}">
3个月
{{item.month}}个月
</view>
<view class="firPrice">
99
{{item.price}}
</view>
<view class="avePrice">
12/
{{Number(item.price)/Number(item.month)}}/
</view>
</view>
</view>
<view class="payType">
<view class="firLine">
<view class="left">
<image src="/static/order/wChat.png" mode="" class="weChatImg"></image>
<text>微信支付</text>
<view v-for="(item,index) in paymentMethods" :key="index" @click="chosePayType(item,index)">
<view class="firLine">
<view class="left">
<image src="/static/order/wChat.png" mode="" class="weChatImg"
v-if="item.method=='wechat'"></image>
<image src="/static/member/others.png" mode="" class="weChatImg"
v-if="item.method=='balance'"></image>
<text v-if="item.method=='wechat'">微信支付</text>
<text v-if="item.method=='balance'">余额支付</text>
</view>
<image src="../../static/order/right.png" mode="" class="choseImg" v-if="item.is_default">
</image>
</view>
<image src="../../static/order/right.png" mode="" class="choseImg" v-if="payTypeChose"></image>
</view>
<view class="line">
<view class="line">
</view>
<view class="firLine">
<view class="left">
<image src="/static/member/others.png" mode="" class="weChatImg" ></image>
<text>找微信好友代付</text>
</view>
<image src="../../static/order/right.png" mode="" class="choseImg" v-if="!payTypeChose"></image>
</view>
<view class="line">
</view>
</view>
</view>
</view>
<view class="footer">
<view class="fLeft">
<view class="ys">
已省 <text>3.2</text>
已省 <text>{{choseItem.cheap_price}}</text>
</view>
<view class="yj">
原价 30
原价 {{choseItem.price}}
</view>
</view>
<view class="btn">
<text>36</text>开卡3个月
<view class="btn" @click="gotoPay">
<text>{{choseItem.price}}</text>开卡{{choseItem.month}}个月
</view>
</view>
</view>
</template>
<script>
import img from "@/static/member/top.png"
import img from "@/static/member/top.png";
import * as member from '@/api/member/index.js';
import {
Wechat
} from '@/core/payment'
export default {
data() {
return {
equityList:[{
name:'天天免邮',
// url:require('@/static/member/my.png')
},{
name:'超低会员价'
},{
name:'折上95折'
},{
name:'退换免运费'
},{
name:'促销福利'
},{
name:'极速售后'
},{
name:'门店特权'
},{
name:'不回本退差价'
},{
name:'团购优惠券'
},{
name:'双倍积分'
}],
payTypeChose:true,
packageList: [],
userInfo: {},
payTypeChose: true,
isChose: 0,
isVip: false,
background: {
background: 'url(' + img + ') center top no-repeat',
backgroundSize: '100% auto',
},
paymentMethods: [],
choseItem: {},
payType: 'wechat',
type: 'hy',
}
},
methods:{
goBuyInfo(){
onShow() {
this.getMemberInfo()
},
onLoad(options) {
this.type = options.type
},
methods: {
getMemberInfo() {
const that = this
let params = {
client: 'MP-WEIXIN'
}
if (that.type == 'hy') {
member.info(params)
.then(res => {
if (res.status == 200) {
that.userInfo = res.data.list.personal;
that.packageList = res.data.list.list;
that.paymentMethods = res.data.list.paymentMethods;
that.choseItem = that.packageList[0]
}
})
.finally(() => that.isLoading = false)
} else {
member.dealerPriceList(params)
.then(res => {
if (res.status == 200) {
that.userInfo = res.data.list.personal;
that.packageList = res.data.list.list;
that.paymentMethods = res.data.list.paymentMethods;
that.choseItem = that.packageList[0]
}
})
.finally(() => that.isLoading = false)
}
},
chosePackage(item, index) {
this.isChose = index;
this.choseItem = item;
},
goBuyInfo() {
uni.navigateTo({
url:'/pages/memberInfo/index'
url: '/pages/memberInfo/index'
})
},
chosePayType(item, index) {
//
this.paymentMethods[index].is_default = true;
this.payType = item.method;
for (var i = 0; i < this.paymentMethods.length; i++) {
if (i != index) {
this.paymentMethods[i].is_default = false
}
}
},
gotoPay() {
//
if (this.payType == 'wechat') {
this.weChatPay()
} else if (this.payType == 'balance') {
this.balancePay()
}
},
weChatPay() {
//
const that = this
let params = {
identity_id: that.choseItem.identity_id,
method: 'wechat',
client: 'MP-WEIXIN'
}
member.submit(params)
.then(res => {
let paymentData = res.data.payment
Wechat.payment({
orderKey: res.data.payment.out_trade_no,
...paymentData
})
.then((result) => {
console.log(result)
})
.catch(err => {
console.log(err)
})
})
.finally(() => that.isLoading = false)
},
balancePay() {
//
const that = this
let params = {
identity_id: that.choseItem.identity_id,
method: 'balance',
client: 'MP-WEIXIN'
}
member.submit(params)
.then(res => {
that.$toast(res.message)
})
.finally(() => that.isLoading = false)
},
}
}
</script>
@ -252,6 +334,7 @@
height: 114rpx;
margin-right: 30rpx;
margin-top: 12rpx;
border-radius: 50%;
}
.meInfo {
@ -295,7 +378,8 @@
}
}
.buyInfo{
.buyInfo {
// width: 112rpx;
height: 40rpx;
font-size: 28rpx;
@ -303,11 +387,13 @@
font-weight: 400;
color: #785B45;
line-height: 40rpx;
margin-left: 86rpx;
// margin-left: 86rpx;
}
}
.notVip {
padding-bottom: 200rpx;
.openVip {
height: 44rpx;
font-size: 32rpx;
@ -334,6 +420,7 @@
flex-direction: column;
align-items: center;
margin-right: 6rpx;
margin-bottom: 8rpx;
.itemImg {
width: 88rpx;
@ -392,6 +479,7 @@
border-radius: 0rpx 0rpx 0rpx 0rpx;
opacity: 1;
margin: 0 0 20rpx 32rpx;
text-align: center;
}
.timeLong {
@ -414,7 +502,7 @@
width: 100%;
text-align: center;
height: 72rpx;
font-size: 52rpx;
font-size: 36rpx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #F34A40;
@ -475,6 +563,7 @@
}
}
}
.footer {
position: fixed;
bottom: 0rpx;
@ -483,6 +572,8 @@
display: flex;
justify-content: space-between;
align-items: center;
z-index: 99;
background-color: #fff;
.fLeft {
margin: 24rpx 0 0 74rpx;

@ -65,7 +65,8 @@
</template>
<script>
import img from "@/static/member/top.png"
import img from "@/static/member/top.png";
import * as member from '@/api/member/index.js'
export default {
data() {
return {
@ -77,7 +78,22 @@
backgroundSize: '100% auto',
},
}
}
},
onLoad(options){
this.getListInfo()
},
methods:{
getListInfo(){
const that = this
member.info()
.then(res => {
if (res.status == 200) {
}
})
.finally(() => that.isLoading = false)
},
},
}
</script>

@ -5,7 +5,7 @@
<view class="helpItem" v-for="(item,index) in itemList" :key="index">
<view class="helpMain">
<u-icon name="arrow-left" class="zhishi" color="#dfdbdb" size="28"></u-icon>
<image :src="item.icon" class="titleIcon" mode="widthFix"></image>
<image :src="item.img_url" class="titleIcon" mode="widthFix"></image>
<view class="mainText">
<text>{{item.name}}</text>
<u-icon name="arrow-right" v-if="item.name!=''" color="#8B8B8B" size="22"></u-icon>
@ -30,62 +30,7 @@
export default {
data() {
return {
itemList: [{
title: '物流问题',
icon: '/static/news1/n1.png',
children: ['发货失效', '发货时间', '催促物流', '修改收货地址']
},
{
title: '',
icon: '',
children: ['延迟发货', '物流状态不更新', '商品验货与签收', '配送快递']
},
{
title: '售后问题',
icon: '/static/news1/n2.png',
children: ['如何申请退货', '如何申请换货', '退换货运费政策', '退换货何时退款']
},
{
title: '',
icon: '',
children: ['退换货政策', '极速售后服务', '维修政策', '退换货地址如何查看']
},
{
title: '订单问题',
icon: '/static/news1/n3.png',
children: ['修改订单', '取消订单', '价格保护', '发票服务']
},
{
title: '',
icon: '',
children: ['商城理的商品1234567', '商城实物与图片3456768', '违规订单处理123456', '话费充值说明']
},
{
title: '活动问题',
icon: '/static/news1/n4.png',
children: ['余额', '秒杀说明', '预售说明', '积分规则']
},
{
title: '',
icon: '',
children: ['红包说明', 'plus会员', '分销员', '团购说明']
},
{
title: '风控规则',
icon: '/static/news1/n5.png',
children: ['风控规则', '', '', '']
},
{
title: '服务政策',
icon: '/static/news1/n6.png',
children: ['隐私政策', '商务合作', '会员协议', '分销协议']
},
{
title: '',
icon: '',
children: ['常见问题', '', '退换货细则', '争议处理判定标准']
},
],
itemList: [],
}
},

@ -1,111 +1,118 @@
<template>
<view class="huoyuan">
<view style="width:100%;position: fixed;top:0;z-index:99">
<view class="navBarContent">
<u-navbar title="我要货源" :border-bottom="false" :background="background" title-color="#fff"></u-navbar>
<!-- <u-icon name="arrow-left" style="position: absolute;top:50%;left:40upx;transform: translateY(-50%);" color="#ffffff" size="24"></u-icon>
<text>我要货源</text> -->
</view>
</view>
<image src="../../static/news1/walletBg.png" class="bgImg" mode="widthFix"></image>
<view style="border:1px solid transparent;margin-top:-190px;position: relative;z-index: 9;">
<view class="process">
<view class="pItem" v-for="(item,index) in list" :key="index">
<image :src="item.icon" mode="widthFix" class="icon"></image>
<view class="title">{{item.title}}</view>
<view class="subTitle">{{item.subTitle}}</view>
<view class="huoyuan">
<view style="width:100%;position: fixed;top:0;z-index:99">
<view class="navBarContent">
<u-navbar title="我要货源" :border-bottom="false" :background="background" title-color="#fff"></u-navbar>
</view>
</view>
<view class="formContent">
<u-form :model="form" ref="uForm">
<u-form-item label="商品名称" label-width="150"><u-input placeholder="请填写您求购的商品名称" v-model="form.name" /></u-form-item>
<u-form-item label="产品描述" label-width="150"><u-input maxlength="200" placeholder="如品牌、型号、参数 、配置、规格等,可复制电商标题、链接。" v-model="form.intro" type="textarea"/></u-form-item>
<u-form-item label="求购类型" label-width="150" @click="typeShow = true">
<u-input v-model="form.type" type="select" @click="typeShow = true"/>
<u-action-sheet :list="type" :cancel-btn="false" v-model="typeShow" @click="actionSheetCallback"></u-action-sheet>
</u-form-item>
<u-form-item label="交货日期" label-width="150" @click="timeShow = true">
<u-input v-model="form.date" type="select" @click="timeShow = true"/>
<u-picker mode="time" v-model="timeShow" :params="timeParams"></u-picker>
</u-form-item>
<u-form-item label="求购数量" label-width="150"><u-input placeholder="请输入数量及单位" v-model="form.num" /></u-form-item>
<u-form-item label="预估单价" label-width="150">
<view class="">
<view class="qujian">
<u-input placeholder="请输入价格区间" border v-model="form.startNum" />
<text style="margin:0 10upx;">-</text>
<u-input placeholder="请输入价格区间" border v-model="form.endNum" />
<text style="margin-left:10upx"></text>
<image src="../../static/news1/walletBg.png" class="bgImg" mode="widthFix"></image>
<view style="border:1px solid transparent;margin-top:-190px;position: relative;z-index: 9;">
<view class="process">
<view class="pItem" v-for="(item,index) in list" :key="index">
<image :src="item.icon" mode="widthFix" class="icon"></image>
<view class="title">{{item.title}}</view>
<view class="subTitle">{{item.subTitle}}</view>
</view>
</view>
<view class="formContent">
<u-form :model="form" ref="uForm">
<u-form-item label="商品名称" label-width="150"><u-input placeholder="请填写您求购的商品名称"
v-model="form.name" /></u-form-item>
<u-form-item label="产品描述" label-width="150"><u-input maxlength="200"
placeholder="如品牌、型号、参数 、配置、规格等,可复制电商标题、链接。" v-model="form.intro"
type="textarea" /></u-form-item>
<u-form-item label="求购类型" label-width="150" @click="typeShow = true">
<u-input v-model="form.type" type="select" @click="typeShow = true" />
<u-action-sheet :list="type" :cancel-btn="false" v-model="typeShow"
@click="actionSheetCallback"></u-action-sheet>
</u-form-item>
<u-form-item label="交货日期" label-width="150" @click="timeShow = true">
<u-input v-model="form.date" type="select" @click="timeShow = true" />
<u-picker mode="time" v-model="timeShow" :params="timeParams" @confirm="timeChage"></u-picker>
</u-form-item>
<u-form-item label="求购数量" label-width="150"><u-input placeholder="请输入数量及单位"
v-model="form.num" /></u-form-item>
<u-form-item label="预估单价" label-width="150">
<view class="">
<view class="qujian">
<u-input placeholder="请输入价格区间" border v-model="form.startNum" />
<text style="margin:0 10upx;">-</text>
<u-input placeholder="请输入价格区间" border v-model="form.endNum" />
<text style="margin-left:10upx"></text>
</view>
<u-checkbox-group>
<u-checkbox active-color="#FE483B" shape="circle" v-model="form.mianyi"
v-for="(item, index) in radioList" :key="index" :name="item.name">
{{ item.name }}
</u-checkbox>
</u-checkbox-group>
</view>
<u-checkbox-group>
<u-checkbox active-color="#FE483B" shape="circle" v-model="form.mianyi" v-for="(item, index) in radioList" :key="index" :name="item.name">
{{ item.name }}
</u-checkbox>
</u-checkbox-group>
</view>
</u-form-item>
<u-upload
:fileList="finishImageList"
:previewFullImage="true"
@afterRead="afterRead"
:maxCount="8" width="180" height="180"
upload-text="上传照片"
@delete="deletePic"
name="1"
multiple
></u-upload>
<u-form-item label="收货地址" label-width="150" @click="addrshow = true">
<u-input v-model="form.addr" type="select" @click="addrshow = true"/>
<u-picker mode="region" v-model="addrshow"></u-picker>
</u-form-item>
<u-form-item label="备注" label-width="150" label-position="top">
<u-input v-model="form.remark" class="remarkInput" placeholder="请填写您要补充的内容,如规格、包装和运输等要求" type="textarea"/>
</u-form-item>
</u-form>
<button class="submitBtn">确认发布</button>
</u-form-item>
<u-upload :fileList="finishImageList" :previewFullImage="true" @afterRead="afterRead" :maxCount="8"
width="180" height="180" upload-text="上传照片" @delete="deletePic" name="1" multiple></u-upload>
<u-form-item label="收货地址" label-width="150" @click="addrshow = true">
<u-input v-model="form.addr" type="select" @click="addrshow = true" />
<u-picker mode="region" v-model="addrshow"></u-picker>
</u-form-item>
<u-form-item label="备注" label-width="150" label-position="top">
<u-input v-model="form.remark" class="remarkInput" placeholder="请填写您要补充的内容,如规格、包装和运输等要求"
type="textarea" />
</u-form-item>
</u-form>
<button class="submitBtn" @click="sureSubmit">确认发布</button>
</view>
</view>
</view>
</view>
</template>
<script>
import img from "@/static/news1/walletBg.png"
import img from "@/static/news1/walletBg.png";
import * as help from '@/api/help'
export default {
data() {
return {
background: {
background: 'url('+ img+') center top no-repeat',
background: 'url(' + img + ') center top no-repeat',
backgroundSize: '100%',
},
list:[
{icon:'/static/news1/m1.png',title:'发采购询价单',subTitle:'填写所需信息一键发布询价'},
{icon:'/static/news1/m2.png',title:'卖家实时报价',subTitle:'60分钟获取卖家报价'},
{icon:'/static/news1/m3.png',title:'卖家上架商品',subTitle:'采购方案根据需要下单采购'},
list: [{
icon: '/static/news1/m1.png',
title: '发采购询价单',
subTitle: '填写所需信息一键发布询价'
},
{
icon: '/static/news1/m2.png',
title: '卖家实时报价',
subTitle: '60分钟获取卖家报价'
},
{
icon: '/static/news1/m3.png',
title: '卖家上架商品',
subTitle: '采购方案根据需要下单采购'
},
],
form: {
name: '',
intro: '',
type: '',
date:'',
num:'',
startNum:'',
endNum:'',
mianyi:true,
addr:'',
remark:''
date: '',
num: '',
startNum: '',
endNum: '',
mianyi: true,
addr: '',
remark: ''
},
typeShow:false,
timeShow:false,
addrshow:false,
type: [
{
text: '一件代发'
}
],
timeParams:{
typeShow: false,
timeShow: false,
addrshow: false,
type: [{
text: '一件代发'
}],
timeParams: {
year: true,
month: true,
day: true,
@ -113,25 +120,52 @@
minute: false,
second: false
},
radioList: [
{
radioList: [{
name: '面议'
},
],
radio: '',
//
finishImageList:[]
finishImageList: [],
imgage_ids:[10001,10002]
}
},
methods:{
methods: {
timeChage(e) {
//
console.log(e, '时间值')
this.form.date = e.year + '-' + e.month + '-' + e.day
},
sureSubmit() {
// 0000
const that = this;
let params = {
goods_name: that.form.name,
goods_desc: that.form.intro,
type: that.form.type,
deliver_at: that.form.date,
num: that.form.num,
min_price: that.form.startNum,
max_price: that.form.endNum,
is_face: that.form.mianyi,
address_id: '10001',
remark: that.form.remark,
}
help.addGoodsSource(params)
.then(res => {
console.log(res, '确认发布')
})
.finally()
},
actionSheetCallback(index) {
this.form.type = this.type[index].text;
},
//
async afterRead(event) {
let lists = [].concat(event.file)
let fileListLen = this[`fileList${event.name}`].length
lists.map((item) => {
@ -143,8 +177,8 @@
})
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url)
if(JSON.parse(result).code==1){
if (JSON.parse(result).code == 1) {
let item = this[`fileList${event.name}`][fileListLen]
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
status: 'success',
@ -152,12 +186,12 @@
url: result
}))
fileListLen++
}else{
} else {
this[`fileList${event.name}`].splice(fileListLen, 1)
}
}
},
//
uploadFilePromise(url) {
@ -178,7 +212,7 @@
// }, 1000)
// }else{
// uni.$u.toast(JSON.parse(res.data).msg)
// resolve(res.data)
// }
// },
@ -190,7 +224,7 @@
},
//
deletePic(event) {
this.finishImageList.splice(event.index, 1)
},
}
@ -198,110 +232,123 @@
</script>
<style lang="scss" scoped>
page{
min-height:100%;
padding-bottom:100upx;
}
.huoyuan{
.process{
height: 266upx;
background: #FFFFFF;
border-radius: 14upx;
opacity: 1;
display: flex;
align-items: center;
justify-content: space-between;
margin:0 30upx;
// padding:0 28upx;
position: relative;
.pItem{
flex: 1;
height: 100%;
page {
min-height: 100%;
padding-bottom: 100upx;
}
.huoyuan {
.process {
height: 266upx;
background: #FFFFFF;
border-radius: 14upx;
opacity: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
image{
width:56upx;
height: auto;
justify-content: space-between;
margin: 0 30upx;
// padding:0 28upx;
position: relative;
.pItem {
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
image {
width: 56upx;
height: auto;
}
.title {
font-size: 24upx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
color: #2D2D2D;
margin: 16upx 0;
}
.subTitle {
font-size: 24upx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #8A8A8A;
width: 75%;
text-align: center;
}
}
}
.formContent {
margin: 0 30upx;
background-color: #fff;
border-radius: 14upx;
margin-top: 20upx;
padding: 0 38upx;
padding-bottom: 64upx;
::v-deep .u-form-item--left {
align-items: flex-start;
}
.title{
font-size: 24upx;
font-family: PingFang SC, PingFang SC;
font-weight: 600;
::v-deep .u-form-item--left__content__label {
color: #2D2D2D;
margin:16upx 0;
font-size: 28upx;
}
.subTitle{
font-size: 24upx;
font-family: PingFang SC, PingFang SC;
font-weight: 400;
color: #8A8A8A;
width: 75%;
text-align: center;
.qujian {
width: 100%;
display: flex;
align-items: center;
}
}
}
.formContent{
margin:0 30upx;
background-color: #fff;
border-radius: 14upx;
margin-top:20upx;
padding:0 38upx;
padding-bottom: 64upx;
::v-deep .u-form-item--left{
align-items: flex-start;
}
::v-deep .u-form-item--left__content__label{
color: #2D2D2D;
font-size: 28upx;
}
.qujian{
width: 100%;
display: flex;
align-items: center;
}
.remarkInput {
width: 100%;
height: 246upx;
background: #F7F8FA;
border-radius: 3px 3px 3px 3px;
opacity: 1;
padding: 20upx !important;
}
}
.remarkInput{
width: 100%;
height: 246upx;
background: #F7F8FA;
border-radius: 3px 3px 3px 3px;
opacity: 1;
padding:20upx !important;
}
.submitBtn{
height: 88upx;
margin:64upx 0;
margin-bottom: 0;
line-height: 88upx;
// background: #FFAAA4;
background: #FE483B;
border-radius: 36px 36px 36px 36px;
opacity: 1;
font-size: 28upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
text-align: center;
}
.navBarContent{
height:88upx;
line-height: 88upx;
text-align: center;
position: relative;
text{
font-size: 32upx;
.submitBtn {
height: 88upx;
margin: 64upx 0;
margin-bottom: 0;
line-height: 88upx;
// background: #FFAAA4;
background: #FE483B;
border-radius: 36px 36px 36px 36px;
opacity: 1;
font-size: 28upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
text-align: center;
}
.navBarContent {
height: 88upx;
line-height: 88upx;
text-align: center;
position: relative;
text {
font-size: 32upx;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
color: #FFFFFF;
}
}
.bgImg {
width: 100%;
}
}
.bgImg{
width: 100%;
}
</style>

@ -1,7 +1,7 @@
<template>
<view class="page">
<view >
<u-navbar title="" :background="background"></u-navbar>
<view>
<u-navbar title="" :background="background"></u-navbar>
</view>
<view class="section_1">
<view class="box_1">
@ -29,18 +29,22 @@
<image src="/static/user/code.png" class="thumbnail_2"></image>
<text lines="1" class="text_3">会员码</text>
</view>
<view class="group_5" v-if="userInfo.user_type!=20&&userInfo.user_type!=10" @click="lookMemberCode('3')">
<view class="group_5" v-if="userInfo.user_type!=20&&userInfo.user_type!=10"
@click="lookMemberCode('3')">
<image src="/static/user/code.png" class="thumbnail_3"></image>
<text lines="1" class="text_4">分销码</text>
</view>
</view>
<!-- <view class="plus" v-if="userType!=3&&userType!=1" @click="goMember">
<view class="plus" v-if="userInfo.user_type!=40&&userInfo.user_type!=10&&userInfo.effective_time"
@click="goMember(userInfo.user_type==20?'hy':'fx')">
<view class="plusLeft">
<view class="leftTop">
Plus会员
<text v-if="userInfo.user_type==20">Plus</text>
<text v-if="userInfo.user_type==30">分销</text>
会员
</view>
<view class="leftBottom">
2026.7.20到期
{{userInfo.effective_time}}到期
</view>
</view>
<view class="plusLine">
@ -54,9 +58,10 @@
兑换好物别浪费
</view>
</view>
</view> -->
<view class="newplus" v-if="userInfo.user_type!=30&&userInfo.user_type!=40">
<view class="memVip" @click="goMember">
</view>
<!-- v-if="userInfo.user_type!=30&&userInfo.user_type!=40" -->
<view class="newplus" v-if="userInfo.effective_time==''">
<view class="memVip" @click="goMember('hy')">
<view class="vipLine">
<image src="/static/user/vip.png" mode="" class="vipIcon"></image>
<text>Plus会员</text>
@ -67,7 +72,7 @@
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="memVip fxVip">
<view class="memVip fxVip" @click="goMember('fx')">
<view class="vipLine">
<image src="/static/user/vip.png" mode="" class="vipIcon"></image>
<text>分销会员</text>
@ -361,7 +366,8 @@
</view>
</view>
<view class="serveIcon">
<image src="/static/user/complaint.png" mode="" class="icons" @click="goPage('/pages/news1/feedback')"></image>
<image src="/static/user/complaint.png" mode="" class="icons"
@click="goPage('/pages/news1/feedback')"></image>
<view class="serveInfo">
投诉
</view>
@ -396,7 +402,8 @@
会员管理
</view>
</view>
<view class="serveIcon" @click="goPage('/pages/news1/jinqun')" v-if="userInfo.user_type!=10&&userInfo.user_type!=20">
<view class="serveIcon" @click="goPage('/pages/news1/jinqun')"
v-if="userInfo.user_type!=10&&userInfo.user_type!=20">
<image src="/static/user/help.png" mode="" class="icons"></image>
<view class="serveInfo">
进群有礼
@ -459,14 +466,14 @@
data() {
return {
background: {
background: 'url('+ img+') center top no-repeat',
background: 'url(' + img + ') center top no-repeat',
backgroundSize: '100% auto',
},
userType: 2,
memberCode: false,
isLogin: false,
userInfo: {
user_type:40
user_type: 40
},
}
},
@ -477,7 +484,7 @@
//
onRefreshPage() {
this.isLogin = checkLogin()
console.log(this.isLogin,'是否登录')
console.log(this.isLogin, '是否登录')
//
this.getUserInfo()
},
@ -508,9 +515,9 @@
url: '/pages/login/index'
})
},
goMember() {
goMember(type) {
uni.navigateTo({
url: '/pages/member/index'
url: '/pages/member/index?type=' + type
})
},
goOrder() {
@ -587,6 +594,7 @@
.image_2 {
width: 114rpx;
height: 114rpx;
border-radius: 50%;
}
.group_1 {
@ -634,7 +642,7 @@
margin-top: 2rpx;
display: flex;
flex-direction: column;
width: 126rpx;
width: 100rpx;
}
.text_1 {
@ -771,7 +779,7 @@
}
.leftBottom {
width: 162rpx;
// width: 162rpx;
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC, PingFang SC;

Loading…
Cancel
Save