xuxueyang
2024-08-01 e876fed618abd4237b9818424b72d01e24f8908c
update
已修改13个文件
已添加1个文件
752 ■■■■ 文件已修改
manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-delivery-detail.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-detail.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order.vue 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/supplier-user.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/user-bind-wx/user-bind-wx.vue 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/confirm.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/list.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/partner/delivery/delivery-home.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/partner/partner-info/partner-info.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/flower-manage/flower-add.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/print/print-list.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/supplier/supplier-info/supplier-info.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json
@@ -49,7 +49,7 @@
    "quickapp" : {},
    /* 快应用特有相关 */
    "mp-weixin" : {
        "appid" : "wx3203fd935a6ffe09",
        "appid" : "wx1441324401626290",
        "setting" : {
            "urlCheck" : false,
            "es6" : true,
pages.json
@@ -129,6 +129,13 @@
            "style": {
                "navigationBarTitleText": "理赔单详情"
            }
        },
        {
            "path" : "pages/user/user-bind-wx/user-bind-wx",
            "style" :
            {
                "navigationBarTitleText" : "绑定微信"
            }
        }
    ],
    "subPackages": [{
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;
                    }
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>
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 @@
                        }
                    }
                }
            }
        }
pages/user/supplier-user.vue
@@ -19,7 +19,7 @@
                <image class="user-icon" v-if="
                    currentInfo.customerDTO&&currentInfo.customerDTO.cover
                    ||currentInfo.supplierDTO&&currentInfo.supplierDTO.cover
                    ||currentInfo.supplierDTO&&currentInfo.supplierDTO.cover
                    || currentInfo.picture
                    " :src="
                    currentInfo.customerDTO&&currentInfo.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)&&currentInfo.id&&currentInfo.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&&currentInfo.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">
                        客服电话 : &nbsp;&nbsp; <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) {
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>
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 {
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() {
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>
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') {
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 || ''
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) {
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&&currentInfo.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