From e876fed618abd4237b9818424b72d01e24f8908c Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期四, 01 八月 2024 16:22:17 +0800
Subject: [PATCH] update
---
sub_pages/customer/trade/list.vue | 12
sub_pages/supplier/supplier-info/supplier-info.vue | 38 ++
pages/user/user-bind-wx/user-bind-wx.vue | 405 +++++++++++++++++++++++++++++++
pages.json | 7
sub_pages/partner/partner-info/partner-info.vue | 16 +
pages/order/order-delivery-detail.vue | 25 +
sub_pages/partner/delivery/delivery-home.vue | 2
sub_pages/supplier/flower-manage/flower-add.vue | 20
sub_pages/supplier/print/print-list.vue | 31 +-
manifest.json | 2
sub_pages/customer/shopping/confirm.vue | 6
pages/order/order.vue | 91 ++++--
pages/order/order-detail.vue | 23 +
pages/user/supplier-user.vue | 74 +++++
14 files changed, 654 insertions(+), 98 deletions(-)
diff --git a/manifest.json b/manifest.json
index f2448bf..2848179 100644
--- a/manifest.json
+++ b/manifest.json
@@ -49,7 +49,7 @@
"quickapp" : {},
/* 快应用特有相关 */
"mp-weixin" : {
- "appid" : "wx3203fd935a6ffe09",
+ "appid" : "wx1441324401626290",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages.json b/pages.json
index dc76b13..094d7e4 100644
--- a/pages.json
+++ b/pages.json
@@ -129,6 +129,13 @@
"style": {
"navigationBarTitleText": "理赔单详情"
}
+ },
+ {
+ "path" : "pages/user/user-bind-wx/user-bind-wx",
+ "style" :
+ {
+ "navigationBarTitleText" : "绑定微信"
+ }
}
],
"subPackages": [{
diff --git a/pages/order/order-delivery-detail.vue b/pages/order/order-delivery-detail.vue
index ab2e6d1..4afbf9d 100644
--- a/pages/order/order-delivery-detail.vue
+++ b/pages/order/order-delivery-detail.vue
@@ -61,6 +61,10 @@
},
async submit(status) {
+ if (!this.dto.arriveImageList || this.dto.arriveImageList.length < 0) {
+ this.$message.showToast('未上传图片')
+ return
+ }
await this.$message.confirm('是否确认入位')
this.$message.showLoading()
const {
@@ -80,9 +84,9 @@
},
printDeliveryOrder(item) {
// this.$message.showToast('敬请期待')
- this.$storage.setItem('cache_delivery_order_print',JSON.stringify(item))
+ this.$storage.setItem('cache_delivery_order_print', JSON.stringify(item))
uni.navigateTo({
- url:'/sub_pages/supplier/print/print-list'
+ url: '/sub_pages/supplier/print/print-list'
})
}
@@ -94,8 +98,7 @@
<view class="list-container order-delivery supplier">
<view class="p15">
<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
- <view v-for="(item,index) in list" :key="index"
- class="m-b-24 order-sale-list list-container">
+ <view v-for="(item,index) in list" :key="index" class="m-b-24 order-sale-list list-container">
<view class="order-sale-item list-item">
<view class="title flex">
<view>订单单号:{{item.orderNo}}</view>
@@ -150,7 +153,7 @@
<view class="button button-1 m-r-0" @click="printDeliveryOrder(item)">打印</view>
</view>
<!-- #endif -->
-
+
@@ -161,7 +164,7 @@
<!-- 提交图片 -->
<view class="delivery-form p20 bg-white br-4">
<view class="form-item flex before-line bottom-border-no">
- <view class="label " style="width: 400rpx;">图片</view>
+ <view class="label required" style="width: 400rpx;">图片</view>
<view class="m-l-a m-r-0 flex">
<view class="component-button-upload" @click="uploadIcon('arriveImageList')">
@@ -213,12 +216,14 @@
background-color: #fff;
margin-bottom: 20rpx;
padding: 22rpx;
- .each-item{
- .label{
+
+ .each-item {
+ .label {
min-width: 120rpx;
-
+
}
- .label:after{
+
+ .label:after {
content: ":";
margin-right: 10rpx;
}
diff --git a/pages/order/order-detail.vue b/pages/order/order-detail.vue
index 21368d0..bad6c50 100644
--- a/pages/order/order-detail.vue
+++ b/pages/order/order-detail.vue
@@ -300,10 +300,10 @@
dto.status === 'SEND' && '商家已发货,正在通知取货'
|| dto.status === 'PENDING' && '订单还未支付,立即去支付'
|| dto.status === 'RECEIVE' && '待签收'
- || ('订单' + dto.statusStr)
+ || ('订单状态: ' + dto.statusStr)
}}
</view>
- <view class="desc-gray">支付时间:{{dto.paymentTime}}</view>
+ <view class="desc-gray">支付时间:{{dto.paymentTime || '-'}}</view>
</view>
</view>
<view class="address-container bg-white br-4 m-t-12" v-if="!showSales">
@@ -313,16 +313,16 @@
<view class="info">
<view class="title">
{{ dto.customer }}
- <view class="tel">{{ dto.customerTel }}</view>
+ <view class="tel">{{ dto.customerTel || ''}}</view>
</view>
- <view class="content">{{ dto.customerAddress }}</view>
+ <view class="content">{{ dto.customerAddress || ''}}</view>
</view>
</view>
</view>
<view class="flower-info m-b-20 m-t-12 br-4" v-for="(item,index) of list" :key="index">
<view class="supplier-name ">
<image class="icon-dp" src="/static/common/icon-dp.png"></image>
- {{ item.supplierName }}
+ {{ item.supplierName || ''}}
</view>
<view class="flex m-t-12">
<radio v-if="showSales" :checked="submitForm.orderItems.indexOf(item.id)>=0" @click="changeSalesOrderItem(item)"></radio>
@@ -331,11 +331,16 @@
</image>
<view class="flex1">
<view class=" flex">
- <view class="title"><span class="level">{{ item.flowerCategory }}</span><span
- class="level">{{ item.flowerLevelStr }}</span>{{ item.flowerName }}
+ <view class="title"><span class="level">{{ item.flowerCategory || ''}}</span><span
+ class="level">{{ item.flowerLevelStr || ''}}</span>{{ item.flowerName || ''}}
</view>
</view>
<view class="each-list">
+ <view class="each-item">
+ <view class="label">货位号</view>
+ <view class="value">{{ item.warehouseLocationCode || dto.warehouseLocationCode || '-' }}</view>
+ </view>
+
<view class="each-item">
<view class="label">颜色</view>
<view class="value">{{ item.flowerColor || '-' }}</view>
@@ -446,11 +451,11 @@
<view class="flex m-t-12">
<view class="flex1 w-fit m-auto icon-view" @click.stop="callTel">
<image src="/static/common/icon-call.png" class="icon icon-call m-r-10 img100"></image>
- 15974805814
+ 拨打15974805814
</view>
<view class="flex1 w-fit m-auto icon-view" open-type="contact">
<image src="/static/common/icon-wx.png" class="icon icon-call m-r-10 img100"></image>
- 在线客服
+ 点击联系在线客服
</view>
</view>
diff --git a/pages/order/order.vue b/pages/order/order.vue
index da85fca..3d4c471 100644
--- a/pages/order/order.vue
+++ b/pages/order/order.vue
@@ -78,7 +78,7 @@
})
this.$message.hideLoading()
if (code === 0) {
- this.$store.dispatch('sign_add','order')
+ this.$store.dispatch('sign_add', 'order')
this.refreshList()
}
}
@@ -123,7 +123,7 @@
console.log('pay success', res)
that.$message.showToast('支付成功')
setTimeout(() => {
- that.$store.dispatch('sign_add','order')
+ that.$store.dispatch('sign_add', 'order')
that.refreshList()
}, 200)
},
@@ -176,8 +176,26 @@
}
})
this.$message.hideLoading()
- if (code === 0) {
- this.$store.dispatch('sign_add','order')
+ if (code === 0) {
+ this.$store.dispatch('sign_add', 'order')
+ this.refreshList()
+ }
+ }
+ break
+ case 'delOrder':{
+ await this.$message.confirm('是否删除此订单')
+ // 发送请求
+ this.$message.showLoading()
+ const {
+ code
+ } = await this.$http.request('get', '/api/customer/order/delete', {
+ params: {
+ id: item.id,
+ }
+ })
+ this.$message.hideLoading()
+ if (code === 0) {
+ // this.$store.dispatch('sign_add', 'order')
this.refreshList()
}
}
@@ -192,7 +210,7 @@
</script>
<template>
<view class="order-container">
- <view class="order-top">
+ <view class="order-top" v-if="false">
<view class="title">订单信息</view>
<view class="flex">
<image class="image img100"
@@ -218,24 +236,24 @@
</view>
<view class="status t-red m-l-a m-r-0">¥{{ dto.paymentAmount || dto.totalAmount || '0'}}</view>
</view>
- <view class="desc flex" v-if="!query.status">
+ <view class=" desc flex" v-if="!query.status">
<view class="label">
订单状态:
</view>
- <view class="value">{{ dto.statusBackendStr }}</view>
+ <view class="value" style="color: #000">{{ dto.statusBackendStr || '-' }}</view>
</view>
<view class="flex">
<view class="desc flex flex1">
<view class="label">
收货人:
</view>
- <view class="value">{{ dto.customer }}</view>
+ <view class="value">{{ dto.customer || '-' }}</view>
</view>
<view class="desc flex flex1">
<view class="label">
收货人手机号码:
</view>
- <view class="value">{{ dto.customerTel }}</view>
+ <view class="value">{{ dto.customerTel || '-' }}</view>
</view>
</view>
<view class="desc flex">
@@ -244,21 +262,22 @@
</view>
<view class="value">{{ dto.customerAddress }}</view>
</view>
- <view class="desc flex" v-if="dto.statusBackend!=='PENDING'">
+ <view class="desc flex" v-if="dto.statusBackend!=='PENDING'&&dto.statusBackend!=='CANCEL'">
<view class="label">
支付时间:
</view>
- <view class="value">{{ dto.paymentTime }}</view>
+ <view class="value">{{ dto.paymentTime || '-' }}</view>
</view>
<view class="flower-info m-b-5 m-t-8 br-4" v-for="(item,index) of dto.items" :key="index">
<view class="line-gray"></view>
-
+
<view class="supplier-name ">
<image class="icon-dp br-4" src="/static/common/icon-dp.png"></image>
{{ item.supplierName }}
</view>
<view class="flex m-t-12 flex-wrap-normal">
- <image class="flower-img img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)">
+ <image class="flower-img img100 m-r-6" :src="item.flowerCover"
+ @click="previewImg(item.flowerCover)">
</image>
<view class="flex1">
<view class=" flex">
@@ -270,42 +289,45 @@
<view class="each-item">
<view class="label">颜色</view>
<view class="value">{{ item.flowerColor || '-' }}</view>
-
+
</view>
<view class="each-item">
<view class="label">规格</view>
<view class="value">{{ item.flowerUnit || '-' }}</view>
</view>
-
+
<view class="each-item">
<view class="label">数量</view>
<view class="value">{{ item.num || 0 }}</view>
-
+
</view>
<view class="each-item">
<view class="label">售价</view>
<view class="value">¥{{ item.price || 0 }}</view>
-
+
</view>
<view class="each-item">
<view class="label">商品总金额</view>
<view class="value">¥{{ item.total || 0 }}</view>
-
+
</view>
</view>
</view>
</view>
-
+
</view>
<view class="line-gray"></view>
-
+
<view class="flex buttons">
+ <view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='CANCEL'"
+ @click="buttonClick(dto,'delOrder')">删除订单</view>
<view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='PENDING'"
@click="buttonClick(dto,'cancelOrder')">取消订单</view>
<view class="button button-1 m-l-15 m-r-15" v-if="dto.statusBackend==='PENDING'"
@click="buttonClick(dto,'payAgain')">重新支付</view>
- <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')" v-if="dto.couldRefund">
+ <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')"
+ v-if="dto.couldRefund">
申请退款
</view>
<view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'confirm')"
@@ -398,12 +420,13 @@
border: 2rpx solid #20613D;
}
}
+
.flower-info {
padding: 0rpx;
-
+
background: #FFFFFF;
border-radius: 8rpx;
-
+
.supplier-name {
border-bottom: 2rpx solid #EEEEEE;
font-weight: 600;
@@ -411,7 +434,7 @@
color: #000000;
padding-bottom: 10rpx;
line-height: 40rpx;
-
+
.icon-dp {
width: 27rpx;
height: 27rpx;
@@ -419,13 +442,13 @@
vertical-align: middle;
}
}
-
+
.title {
font-weight: 600;
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
-
+
.level {
font-weight: 400;
font-size: 28rpx;
@@ -434,19 +457,19 @@
margin-right: 20rpx;
}
}
-
+
.flower-img {
width: 128rpx;
height: 118rpx;
min-width: 128rpx;
min-height: 118rpx;
}
-
+
.each-list {
display: flex;
flex-wrap: wrap;
margin-top: 6rpx;
-
+
.each-item {
min-width: 40%;
max-width: 50%;
@@ -454,7 +477,7 @@
margin-left: 0rpx;
margin-right: auto;
display: flex;
-
+
.label {
font-weight: 400;
font-size: 24rpx;
@@ -462,11 +485,11 @@
text-align: left;
padding-right: 10rpx;
}
-
+
.label::after {
content: ": "
}
-
+
.value {
font-weight: 400;
font-size: 24rpx;
@@ -474,9 +497,9 @@
}
}
}
-
+
}
-
+
}
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index e8020b8..e490fb8 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -19,7 +19,7 @@
<image class="user-icon" v-if="
currentInfo.customerDTO&¤tInfo.customerDTO.cover
- ||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover
+ ||currentInfo.supplierDTO&¤tInfo.supplierDTO.cover
|| currentInfo.picture
" :src="
currentInfo.customerDTO&¤tInfo.customerDTO.cover
@@ -45,7 +45,7 @@
<view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="toCustomerLogin"
style="font-size: 48rpx;margin-top: 16rpx;">
<!-- getUserProfile -->
- {{ '点击登陆' }}
+ {{ '点击登陆/注册' }}
</view>
<image class="icon-setting" @click="toInfo" src="../../static/common/icon-setting.png" mode="aspectFit">
</image>
@@ -181,6 +181,17 @@
</view>
</view>
<!-- #endif -->
+ <!-- #ifdef PUB_CUSTOMER -->
+ <view class="user-util m-t-12 flex"
+ v-if="(selftype==='customer'||!selftype)&¤tInfo.id&¤tInfo.customerDTO&&!currentInfo.customerDTO.partnerId"
+ @click="scanPartnerCode">
+ <view class="title">扫码绑定合伙人</view>
+ <view class="right-icon">
+ <uni-icons type="right"></uni-icons>
+ </view>
+ </view>
+ <!-- #endif -->
+
<view class="user-util m-t-12 flex" v-if="selftype==='supplier'"
@click="goto('/sub_pages/supplier/supplier-info/supplier-info',true)">
<view class="title">店铺信息</view>
@@ -188,11 +199,19 @@
<uni-icons type="right"></uni-icons>
</view>
</view>
+
<view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)">
<view class="title">修改密码</view>
<view class="right-icon">
<uni-icons type="right"></uni-icons>
</view>
+ </view>
+ <view class="user-util m-t-12 flex" v-if="currentInfo&¤tInfo.id"
+ @click="goto('/pages/user/user-bind-wx/user-bind-wx',true)">
+ <view class="title">绑定当前微信</view>
+ <view class="right-icon">
+ <uni-icons type="right"></uni-icons>
+ </view>
</view>
<view class="user-util m-t-12 flex" v-if="selftype==='customer'" @click="clearlogout">
<view class="title">退出登录</view>
@@ -203,12 +222,13 @@
<view class="user-util m-t-12 " v-if="selftype==='supplier'||selftype==='customer' || !selftype">
<view class="title">我的客服</view>
- <view class="flex">
- <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
- <view class="name" @click="callTel">
+ <view class="flex" open-type="contact">
+ <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
+ <!-- @click="callTel" -->
+ <view class="name">
客服电话 : <span class="topic-gray">{{ tel }}</span>
</view>
- <view class="right-icon" open-type="contact">
+ <view class="right-icon" >
<uni-icons type="right"></uni-icons>
</view>
</view>
@@ -325,6 +345,48 @@
uni.stopPullDownRefresh()
},
methods: {
+ async scanPartnerCode() {
+ await this.$message.confirm('确定要绑定合伙人吗?')
+ //扫二维码确认
+ let that = this
+ uni.scanCode({
+ success: async function(res) {
+ console.log('条码内容:' + res.result);
+ var dto = undefined
+ try {
+ dto = JSON.parse(res.result)
+ if (!!dto['userId']) {
+ var partnerName = dto['name'] || ''
+ var partnerId = dto['userId'] || ''
+ //调用接口绑定
+ that.$message.showLoading()
+ const {
+ code,
+ data
+ } = await that.$http.request('post', '/api/customer/bind/partner', {
+ data: {
+ partnerId: partnerId
+ }
+ })
+ that.$message.hideLoading()
+ if (code == 0) {
+ that.$message.showToast(`绑定合伙人${partnerName}成功`)
+ await this.$store.dispatch('getCurrentInfo')
+
+ }
+ } else {
+ that.$message.showToast('二维码格式不正确扫码失败')
+ }
+ } catch (e) {
+ that.$message.showToast('二维码格式不正确扫码失败')
+ }
+ },
+ fail() {
+ that.$message.showToast('扫码失败')
+
+ }
+ });
+ },
toInfo() {
var url = ''
if (this.currentInfo.id) {
diff --git a/pages/user/user-bind-wx/user-bind-wx.vue b/pages/user/user-bind-wx/user-bind-wx.vue
new file mode 100644
index 0000000..20e5c2c
--- /dev/null
+++ b/pages/user/user-bind-wx/user-bind-wx.vue
@@ -0,0 +1,405 @@
+<template>
+ <view class="main-container login-container bg-white img100 relative" style="margin-top: 0rpx;">
+ <view class="t-login top-bg m-t-20">
+ <view class="login" style="padding: 40rpx;">
+ <form class="cl m-t-12">
+ <!-- <view class="t-a titles-top">
+ <view class="title-2 text-center">绑定微信
+ </view>
+ </view> -->
+ <view class="t-a input form-input">
+
+
+ <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
+ <template slot="suffix">
+ <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
+ {{ getCodeText }}
+ </view>
+ </template>
+ </u-input>
+ </view>
+
+
+ <view class="t-a form-input">
+ <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
+
+ </view>
+
+ <view class="t-a form-input">
+ <u-input placeholder="请输入真实姓名" :border="false" v-model="realName"></u-input>
+
+ </view>
+ <view class="t-red">*提醒:未实名或者真实姓名与微信支付实名不一样,可能会导致转账失败</view>
+
+
+ <!-- <button @click="getUserProfile" open-type="getUserInfo" class="bottom-button">绑定当前微信</button> -->
+ <button @click="wxlogin" open-type="getUserInfo" class="bottom-button">绑定当前微信</button>
+
+
+ </form>
+ </view>
+
+ </view>
+ </view>
+</template>
+<script>
+ export default {
+
+ data() {
+ return {
+
+ phoneNumber: '',
+ smsCode: '',
+ realName: '',
+
+ checked: false,
+ loginType: 'code', //pwd和code,密码和验证码登录
+ pcfvalue: undefined,
+ getCodeText: '获取验证码',
+ getCodeBtnColor: "#20613D",
+ getCodeisWaiting: false,
+ Timer: undefined,
+ // #ifdef PUB_SUPPLIER
+ apitype: 'supplier',
+ // #endif
+ // #ifdef PUB_PARTNER
+ apitype: 'partner',
+ // #endif
+ // #ifdef PUB_CUSTOMER
+ apitype: 'customer',
+ // #endif
+ // return 'loginPartner'
+ };
+ },
+ methods: {
+ async getCode() {
+ console.log('getCode')
+ uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+ if (this.getCodeisWaiting) {
+ return;
+ }
+ if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+ this.$message.showToast('请填写正确手机号码')
+ return false;
+ }
+ this.getCodeText = "发送中..." //发送验证码
+ this.getCodeisWaiting = true;
+ this.getCodeBtnColor = "#000" //追加样式,修改颜色
+ //示例用定时器模拟请求效果
+ //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
+ const {
+ code
+ } = await this.$http.request('post', '/api/sms/send/code', {
+ data: {
+ tel: this.phoneNumber,
+ userType: this.apitype.toLowerCase()
+ }
+ })
+ if (code == 0) {
+ uni.showToast({
+ title: '验证码已发送',
+ icon: "none"
+ });
+ this.setTimer(); //调用定时器方法
+ } else {
+ this.getCodeText = "获取验证码" //发送验证码
+ this.getCodeisWaiting = false;
+ this.getCodeBtnColor = "#20613D";
+ }
+
+ },
+ //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
+ setTimer() {
+ let holdTime = 60; //定义变量并赋值
+ this.getCodeText = "重新获取(60)"
+ //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
+ //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
+ this.Timer = setInterval(() => {
+ if (holdTime <= 0) {
+ this.getCodeisWaiting = false;
+ this.getCodeBtnColor = "#20613D";
+ this.getCodeText = "获取验证码"
+ clearInterval(this.Timer); //清除该函数
+ return; //返回前面
+ }
+ this.getCodeText = "重新获取(" + holdTime + ")"
+ holdTime--;
+ }, 1000)
+ },
+ async getUserProfile(e) {
+ const res = await wx.getUserProfile({
+ desc: '用于转账实名验证',
+ });
+ console.log('getUserProfile', res);
+ // this.login_Wx(res.userInfo.avatarUrl, res.userInfo.nickName)
+ },
+ async wxlogin() {
+ var that = this;
+
+ if (!that.realName) {
+ uni.showToast({
+ title: '请输入真实姓名',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.phoneNumber) {
+ uni.showToast({
+ title: '请输入手机号',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.smsCode) {
+ uni.showToast({
+ title: '请输入手机验证码',
+ icon: 'none'
+ });
+ return;
+ }
+ let tmp = this
+ wx.login({
+ success: async res => {
+ console.log(res)
+ if (res.code) {
+ tmp.login(res.code)
+ } else {
+ tmp.$message.showToast('微信登录失败');
+ }
+ },
+ error: res => {
+ console.log('wx.login error', res)
+ tmp.$message.showToast('获取微信信息失败:' + res);
+ }
+ });
+ },
+ async login(wxcode) {
+
+
+ let post = {
+ tel: this.phoneNumber,
+ smsCode: this.smsCode,
+ userType: this.apitype,
+ realName: this.realName,
+ wxCode: wxcode,
+ }
+ this.$message.showLoading()
+ const resp = await this.$http.request('post', '/api/current/bind/wechat', {
+ data: post
+ });
+ this.$message.hideLoading()
+
+ if (resp.code === 0) {
+ this.$message.showToast('操作成功')
+ this.currentInfo.bindWechat = true
+ setTimeout(() => {
+ uni.navigateBack()
+
+ }, 400)
+ } else {
+
+ return;
+ }
+
+ },
+
+ }
+ };
+</script>
+<style lang="scss" scoped>
+ .form-input {
+ background-color: #f8f7fc;
+ border-radius: 50rpx;
+ margin-bottom: 50rpx;
+ border: 1px solid #e9e9e9;
+
+ /deep/ .u-input {
+ padding-left: 60rpx !important;
+ padding-right: 40rpx !important;
+ }
+
+ /deep/ input {
+ height: 70rpx;
+ line-height: 70rpx;
+
+ }
+
+ }
+</style>
+<style lang="scss" scoped>
+ @import '../../login/login.scss';
+
+ .main-container {
+ margin: 20px 0;
+ }
+
+ .img-a {
+ position: absolute;
+ width: 100%;
+ top: -150rpx;
+ right: 0;
+ }
+
+ .img-b {
+ position: absolute;
+ width: 50%;
+ bottom: 0;
+ left: -120rpx;
+ }
+
+ .to-home {
+ margin-top: 30rpx;
+ font-size: 30rpx;
+ color: #5af;
+ display: flex;
+ flex-direction: row-reverse;
+ }
+
+ .t-login {
+ width: 100%;
+ margin: 0 auto;
+ font-size: 28rpx;
+ color: #000;
+ }
+
+ .t-login .bg {
+ width: 100%;
+ position: relative;
+ }
+
+ .t-login .login {
+ width: 650rpx;
+ margin: 60rpx auto;
+ margin-top: 0rpx;
+ font-size: 28rpx;
+ color: #000;
+ }
+
+ .t-login button {
+ font-size: 28rpx;
+ background: #5677fc;
+ color: #fff;
+ height: 90rpx;
+ line-height: 90rpx;
+ border-radius: 50rpx;
+ box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
+ }
+
+ .t-login input {
+ padding: 0 20rpx 0 60rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ margin-bottom: 50rpx;
+ background: #f8f7fc;
+ border: 1px solid #e9e9e9;
+ font-size: 28rpx;
+ border-radius: 50rpx;
+ }
+
+ .t-login .t-a {
+ position: relative;
+
+ .get-code {
+ // position: absolute;
+ // right: 40rpx;
+ // top: 25rpx;
+ }
+ }
+
+ .t-login .t-a .icon {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ left: 24rpx;
+ top: 14rpx;
+ margin-right: 20rpx;
+ }
+
+ .t-login .t-a .line {
+ width: 2rpx;
+ height: 40rpx;
+ background-color: #dedede;
+ position: absolute;
+ top: 28rpx;
+ left: 98rpx;
+ }
+
+ .t-login .t-b {
+ text-align: left;
+ font-size: 46rpx;
+ color: #000;
+ padding: 300rpx 0 30rpx 0;
+ font-weight: bold;
+ }
+
+ .t-login .t-b2 {
+ text-align: left;
+ font-size: 32rpx;
+ color: #aaaaaa;
+ padding: 0rpx 0 120rpx 0;
+ }
+
+ .t-login .t-c {
+ position: absolute;
+ right: 22rpx;
+ top: 22rpx;
+ background: #5677fc;
+ color: #fff;
+ font-size: 24rpx;
+ border-radius: 50rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+ padding: 0 25rpx;
+ z-index: 999;
+ }
+
+ .t-login .t-d {
+ text-align: center;
+ color: #999;
+ margin: 80rpx 0;
+ }
+
+ .t-login .t-e {
+ text-align: center;
+ width: 250rpx;
+ margin: 80rpx auto 0;
+ }
+
+ .t-login .t-g {
+ float: left;
+ width: 50%;
+ }
+
+ .t-login .t-e image {
+ width: 50rpx;
+ height: 50rpx;
+ }
+
+ .t-login .t-f {
+ text-align: center;
+ margin: 200rpx 0 0 0;
+ color: #666;
+ }
+
+ .t-login .t-f text {
+ margin-left: 20rpx;
+ color: #aaaaaa;
+ font-size: 27rpx;
+ }
+
+ // .t-login .uni-input-placeholder {
+ // color: #000;
+ // }
+
+ .cl {
+ zoom: 1;
+ }
+
+ .cl:after {
+ clear: both;
+ display: block;
+ visibility: hidden;
+ height: 0;
+ content: '\20';
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/customer/shopping/confirm.vue b/sub_pages/customer/shopping/confirm.vue
index 25ae013..777dd9a 100644
--- a/sub_pages/customer/shopping/confirm.vue
+++ b/sub_pages/customer/shopping/confirm.vue
@@ -205,8 +205,8 @@
</view>
<view>
<view class="flower-container m-t-12 br-4 p10">
- <view class="shopping-item m-b-20" v-for="(item,index) of dto.flowers" :key="index">
- <u-divider v-if="index>0"></u-divider>
+ <view class="shopping-item " v-for="(item,index) of dto.flowers" :key="index">
+ <!-- <view class="line-gray" v-if></view> -->
<view class="sup-title flex">
<image class="icon-dp img100 m-r-10" src="/static/common/icon-dp.png"></image>
<view>{{ item.supplierName || '-' }}</view>
@@ -352,7 +352,7 @@
background-color: #ffffff;
.shopping-item {
- padding: 28rpx 22rpx;
+ padding: 10rpx 22rpx;
position: relative;
.sup-title {
diff --git a/sub_pages/customer/trade/list.vue b/sub_pages/customer/trade/list.vue
index 19757a0..4924d66 100644
--- a/sub_pages/customer/trade/list.vue
+++ b/sub_pages/customer/trade/list.vue
@@ -270,11 +270,17 @@
updateValue(item, value) {
// item.value = value
// this.$set(item, 'value', value)
- if (item.value.indexOf(value) < 0) {
- item.value.push(value)
+ if (item.name == '优点' || item.name === '缺点') {
+ if (item.value.indexOf(value) < 0) {
+ item.value.push(value)
+ } else {
+ item.value.splice(item.value.indexOf(value), 1)
+ }
} else {
- item.value.splice(item.value.indexOf(value), 1)
+ //单选
+ item.value = [value]
}
+
this.$forceUpdate()
},
closeParamPop() {
diff --git a/sub_pages/partner/delivery/delivery-home.vue b/sub_pages/partner/delivery/delivery-home.vue
index 19a83aa..4b868df 100644
--- a/sub_pages/partner/delivery/delivery-home.vue
+++ b/sub_pages/partner/delivery/delivery-home.vue
@@ -34,7 +34,7 @@
</view>
<view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="toCustomerLogin"
style="font-size: 48rpx;margin-top: 16rpx;">
- {{ '点击登陆' }}
+ {{ '点击登陆/注册' }}
</view>
<image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image>
</view>
diff --git a/sub_pages/partner/partner-info/partner-info.vue b/sub_pages/partner/partner-info/partner-info.vue
index c103c88..698993b 100644
--- a/sub_pages/partner/partner-info/partner-info.vue
+++ b/sub_pages/partner/partner-info/partner-info.vue
@@ -206,8 +206,7 @@
this.dto.city = e.detail.value[0].value
if (!!e.detail.value[1])
this.dto.region = e.detail.value[1].value
- }
- else if(e.detail.value.length <= 3) {
+ } else if (e.detail.value.length <= 3) {
if (!!e.detail.value[0])
this.dto.province = e.detail.value[0].value
if (!!e.detail.value[1])
@@ -305,10 +304,23 @@
return
}
}
+
+ if (this.dto.contactTel.length !== 11 && !this.dto.contactTel.startsWith('1')) {
+ this.$message.showToast(`联系方式需要为11位,且开头为1`)
+ return
+ }
+ if(isNaN(parseInt(this.dto.contactTel))){
+ this.$message.showToast(`联系方式需要为11位手机号,格式错误`)
+ return
+ }
if (this.dto.idCards.length == 0) {
this.$message.showToast(`身份证信息未填写`)
return
}
+ if (this.dto.idCards.length < 2) {
+ this.$message.showToast(`身份证信息需要上传至少2张图片(正反面)`)
+ return
+ }
await this.$message.confirm(`是否确定提交/修改信息`)
if (this.source === 'step') {
diff --git a/sub_pages/supplier/flower-manage/flower-add.vue b/sub_pages/supplier/flower-manage/flower-add.vue
index 0fd1182..185a721 100644
--- a/sub_pages/supplier/flower-manage/flower-add.vue
+++ b/sub_pages/supplier/flower-manage/flower-add.vue
@@ -337,16 +337,20 @@
},
methods: {
- updateValue(item, value) {
- if (item.value.indexOf(value) >= 0) {
- item.value.splice(item.value.indexOf(value), 1)
- } else {
- item.value.push(value)
+ updateValue(item, value) {
+
+ if (item.name == '优点' || item.name === '缺点') {
+ if (item.value.indexOf(value) < 0) {
+ item.value.push(value)
+ } else {
+ item.value.splice(item.value.indexOf(value), 1)
+ }
+ } else {
+ //单选
+ item.value = [value]
}
- // item.value = value
- // this.$set(item, 'value', value)
+
this.$forceUpdate()
- // console.log('updateValue')
},
async updateSearch(search) {
this.columns_categorys_search = search || ''
diff --git a/sub_pages/supplier/print/print-list.vue b/sub_pages/supplier/print/print-list.vue
index d7351d4..66c3832 100644
--- a/sub_pages/supplier/print/print-list.vue
+++ b/sub_pages/supplier/print/print-list.vue
@@ -448,34 +448,37 @@
var that = this;
var command = tsc.jpPrinter.createNew()
- command.setSize(48, 96)
+ command.setSize(48, 60)
command.setGap(0)
command.setCls()
// command.setText(0, 30, "TSS24.BF2", 1, 1, "图片")
// command.setQR(40, 120, "L", 5, "A", "www.smarnet.cc佳博智汇")
- command.setText(60, 20, "TSS24.BF2", 1, 1, "单号:" + (that.item.orderNo || '-'))
+ // command.setText(60, 20, "TSS24.BF2", 1, 1, "单号:" + (that.item.orderNo || '-'))
if (that.item.warehouseName)
- command.setText(10, 60, "TSS24.BF2", 1, 1, "仓库: " + that.item.warehouseName)
+ command.setText(10, 20, "TSS24.BF2", 1, 1, "仓库: " + that.item.warehouseName)
if (that.item.warehouseLocationCode)
- command.setText(200, 60, "TSS24.BF2", 1, 1, "库位: " + that.item.warehouseLocationCode)
+ command.setText(200, 20, "TSS24.BF2", 1, 1, "库位: " + that.item.warehouseLocationCode)
// command.setText(170, 50, "TSS24.BF2", 1, 1, "小程序测试")
// command.setText(170, 90, "TSS24.BF2", 1, 1, "测试数字12345678")
// command.setText(170, 120, "TSS24.BF2", 1, 1, "测试英文abcdefg")
// command.setText(170, 150, "TSS24.BF2", 1, 1, "测试符号/*-+!@#$")
- command.setText(10, 100, "TSS24.BF2", 1, 1, "供应商: " + (that.item.supplierName || '-'))
- command.setText(10, 140, "TSS24.BF2", 1, 1, "商品名称: " + (that.item.flowerName || '-'))
- command.setText(10, 180, "TSS24.BF2", 1, 1, "等级: " + (that.item.flowerLevelStr || '-'))
- command.setText(200, 180, "TSS24.BF2", 1, 1, "颜色: " + (that.item.flowerColor || '-'))
- command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
- command.setText(200, 220, "TSS24.BF2", 1, 1, "数目: x " + (that.item.num || '0'))
- command.setText(10, 260, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
- command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
- command.setText(170, 300, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
+ command.setText(10, 60, "TSS24.BF2", 1, 1, "供应商: " + (that.item.supplierName || '-'))
+ command.setText(10, 100, "TSS24.BF2", 1, 1, "商品名称: " + (that.item.flowerName || '-'))
+ command.setText(10, 140, "TSS24.BF2", 1, 1, "等级: " + (that.item.flowerLevelStr || '-'))
+ command.setText(200, 140, "TSS24.BF2", 1, 1, "颜色: " + (that.item.flowerColor || '-'))
+ // command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
+ command.setText(10, 180, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
+ command.setText(200, 180, "TSS24.BF2", 1, 1, "数目: x " + (that.item.num || '0'))
+ // command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
+ command.setText(100, 220, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
if (that.item.params) {
var addnum = 0
- var hlen = 300
+ var hlen = 220
for (var p of that.item.params) {
+ if (p.name !== '枝长' && p.name !== '成熟度') {
+ continue
+ }
if (p.value) {
var lef = 10
if (addnum % 2 == 1) {
diff --git a/sub_pages/supplier/supplier-info/supplier-info.vue b/sub_pages/supplier/supplier-info/supplier-info.vue
index 2fe3f08..77cc38a 100644
--- a/sub_pages/supplier/supplier-info/supplier-info.vue
+++ b/sub_pages/supplier/supplier-info/supplier-info.vue
@@ -114,19 +114,24 @@
<view class="label required">选择审核方式</view>
<view class="m-l-a m-r-0 flex">
- <u-radio-group v-model="dto.idcardType" placement="row">
+ <!-- <u-radio-group v-model="dto.idcardType" placement="row">
<u-radio :customStyle="{'margin-bottom': '8px','margin-right': '8px','font-size':'28rpx'}"
v-for="(item, index) in shTypeList" :key="index" :label="item.name" :name="item.name">
</u-radio>
- </u-radio-group>
+ </u-radio-group> -->
+ <view>
+ <radio :checked="dto.idcardType==='身份证'" @click="dto.idcardType='身份证'">
+ </radio>身份证
+ </view>
+ <view>
+ <radio :checked="dto.idcardType==='营业执照'" @click="dto.idcardType='营业执照'">
+ </radio>营业执照
+ </view>
</view>
</view>
<view class="form-item bottom-border-no before-line m-t-20 p-b-20" v-if="dto.idcardType=='身份证'">
<view class="label required">身份证正反面</view>
<view class="m-l-a m-r-0 flex">
- <!-- <view class="component-button-upload m-r-15" @click="uploadIcon('idCards')">
-
- </view> -->
<view class="component-button-upload" @click="uploadIcon('idCards')">
</view>
@@ -162,9 +167,16 @@
- <view class="button-green-1 m-t-20 button-fixed-bottom before-line " @click="submit">
+ <view class="button-green-1 m-t-20 button-fixed-bottom before-line " style="font-size: 22rpx;"
+ v-if="currentInfo.supplierDTO&¤tInfo.supplierDTO.status==='P'">
+ 审核已通过,若修改信息请联系客服
+ </view>
+
+ <view class="button-green-1 m-t-20 button-fixed-bottom before-line " v-else @click="submit">
提交审核
</view>
+
+
</view>
@@ -318,7 +330,7 @@
this.dto.city = e.detail.value[0].value
if (!!e.detail.value[1])
this.dto.region = e.detail.value[1].value
- }else if(e.detail.value.length <= 3) {
+ } else if (e.detail.value.length <= 3) {
if (!!e.detail.value[0])
this.dto.province = e.detail.value[0].value
if (!!e.detail.value[1])
@@ -444,10 +456,22 @@
return
}
}
+ if (this.dto.contactTel.length !== 11 && !this.dto.contactTel.startsWith('1')) {
+ this.$message.showToast(`联系方式需要为11位,且开头为1`)
+ return
+ }
+ if (isNaN(parseInt(this.dto.contactTel))) {
+ this.$message.showToast(`联系方式需要为11位手机号,格式错误`)
+ return
+ }
if (this.dto.idcardType == '身份证' && this.dto.idCards.length == 0) {
this.$message.showToast(`${this.dto.idcardType}信息未填写`)
return
}
+ if (this.dto.idcardType == '身份证' && this.dto.idCards.length < 2) {
+ this.$message.showToast(`${this.dto.idcardType}信息未填写完整,至少上传两张图片(正反面)`)
+ return
+ }
if (this.dto.idcardType !== '身份证' && this.dto.pictures.length == 0) {
this.$message.showToast(`${this.dto.idcardType}信息未填写`)
return
--
Gitblit v1.9.3