| | |
| | | "quickapp" : {}, |
| | | /* 快应用特有相关 */ |
| | | "mp-weixin" : { |
| | | "appid" : "wx3203fd935a6ffe09", |
| | | "appid" : "wx1441324401626290", |
| | | "setting" : { |
| | | "urlCheck" : false, |
| | | "es6" : true, |
| | |
| | | "style": {
|
| | | "navigationBarTitleText": "理赔单详情"
|
| | | }
|
| | | }, |
| | | { |
| | | "path" : "pages/user/user-bind-wx/user-bind-wx", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "绑定微信" |
| | | } |
| | | }
|
| | | ],
|
| | | "subPackages": [{
|
| | |
| | | |
| | | }, |
| | | async submit(status) { |
| | | if (!this.dto.arriveImageList || this.dto.arriveImageList.length < 0) { |
| | | this.$message.showToast('未上传图片') |
| | | return |
| | | } |
| | | await this.$message.confirm('是否确认入位') |
| | | this.$message.showLoading() |
| | | const { |
| | |
| | | }, |
| | | 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' |
| | | }) |
| | | } |
| | | |
| | |
| | | <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> |
| | |
| | | <view class="button button-1 m-r-0" @click="printDeliveryOrder(item)">打印</view> |
| | | </view> |
| | | <!-- #endif --> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | <!-- 提交图片 --> |
| | | <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')"> |
| | | |
| | |
| | | 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; |
| | | } |
| | |
| | | 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"> |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | }) |
| | | this.$message.hideLoading() |
| | | if (code === 0) { |
| | | this.$store.dispatch('sign_add','order') |
| | | this.$store.dispatch('sign_add', 'order') |
| | | this.refreshList() |
| | | } |
| | | } |
| | |
| | | console.log('pay success', res) |
| | | that.$message.showToast('支付成功') |
| | | setTimeout(() => { |
| | | that.$store.dispatch('sign_add','order') |
| | | that.$store.dispatch('sign_add', 'order') |
| | | that.refreshList() |
| | | }, 200) |
| | | }, |
| | |
| | | } |
| | | }) |
| | | 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() |
| | | } |
| | | } |
| | |
| | | </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" |
| | |
| | | </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"> |
| | |
| | | </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"> |
| | |
| | | <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')" |
| | |
| | | border: 2rpx solid #20613D; |
| | | } |
| | | } |
| | | |
| | | .flower-info { |
| | | padding: 0rpx; |
| | | |
| | | |
| | | background: #FFFFFF; |
| | | border-radius: 8rpx; |
| | | |
| | | |
| | | .supplier-name { |
| | | border-bottom: 2rpx solid #EEEEEE; |
| | | font-weight: 600; |
| | |
| | | color: #000000; |
| | | padding-bottom: 10rpx; |
| | | line-height: 40rpx; |
| | | |
| | | |
| | | .icon-dp { |
| | | width: 27rpx; |
| | | height: 27rpx; |
| | |
| | | vertical-align: middle; |
| | | } |
| | | } |
| | | |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | | color: #000000; |
| | | line-height: 40rpx; |
| | | |
| | | |
| | | .level { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | |
| | | 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%; |
| | |
| | | margin-left: 0rpx; |
| | | margin-right: auto; |
| | | display: flex; |
| | | |
| | | |
| | | .label { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | |
| | | text-align: left; |
| | | padding-right: 10rpx; |
| | | } |
| | | |
| | | |
| | | .label::after { |
| | | content: ": " |
| | | } |
| | | |
| | | |
| | | .value { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | |
| | |
|
| | | <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
|
| | |
| | | <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>
|
| | |
| | | </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>
|
| | |
| | | <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>
|
| | |
| | |
|
| | | <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>
|
| | |
| | | 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) {
|
对比新文件 |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | background-color: #ffffff; |
| | | |
| | | .shopping-item { |
| | | padding: 28rpx 22rpx; |
| | | padding: 10rpx 22rpx; |
| | | position: relative; |
| | | |
| | | .sup-title { |
| | |
| | | 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() {
|
| | |
| | | </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> |
| | |
| | | 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]) |
| | |
| | | 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') { |
| | |
| | | },
|
| | |
|
| | | 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 || ''
|
| | |
| | | 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) { |
| | |
| | | <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>
|
| | |
| | |
|
| | |
|
| | |
|
| | | <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>
|
| | |
|
| | |
| | | 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])
|
| | |
| | | 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
|